⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mir.cpp

📁 一个以前收集的基于C/S架构的ERP客户端源代码
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Mir.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmMir *frmMir;
//---------------------------------------------------------------------------
__fastcall TfrmMir::TfrmMir(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
 IsUserCheck =true;
 tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false, sgMir,sgMir->Name);
    ClientGroup->AddComponent(2,true,true,false,  FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,true,true,true, seMirGQty,seMirGQty->Name);
    ClientGroup->AddComponent(2,true,true,true, gbCheck,gbCheck->Name);
    FillComboBox(Handle,scMirPlanner,"select PlannerCode,Username from sdPlanner,sdUser where UserCode=PlannerCode order by PlannerCode ","UserName","PlannerCode");
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmMir::GetDataToGrid()
{
    AnsiString  s;
    s = GetFieldValue("MirRDate");
    s = s + "\t" + GetFieldValue("MirRQty");
    s = s + "\t" + GetFieldValue("MirGQty");
    s = s + "\t" + GetFieldValue("MirPlanner");
  
    return(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::ClearControl(bool BringToNext)
{
    if(BringToNext)
    {
       return;
    }
    deMirRDate->Text       =   g_sdCurDate;
    seMirRQty->Text        =   "0";
    seMirGQty->Text        =   "0";
    deMirDate->Text        =   g_sdCurDate;
    scMirPlanner->Text     =   "";
    scMirPlanner->LocateKey(g_sdUserCode);
    memMirDesc->Text       =   "";
    chkMirCheck->Checked   =   false;
    seMirChecker->Text     =   "";
    deMirCheckDate->Text   =   "";
    lblMirSysDate->Caption     =   "";
    //新增,工具栏使能
    SetCheckToolbarStatus(false);
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::GetDataFromComObject()
{
    deMirRDate->Text       =   GetFieldValue("MirRDate");
    seMirGoods->Text       =   GetFieldValue("MirGoods");
    sgMir->LocateGrid(0,GetFieldValue("MirRDate"));
    seMirRQty->Text        =   GetFieldValue("MirRQty");
    seMirGQty->Text        =   GetFieldValue("MirGQty");
    deMirDate->Text        =   GetFieldValue("MirDate");
    chkMirCheck->Checked   =   GetFieldValue("MirCheck")=="1";
    seMirChecker->Text     =   GetFieldValue("MirChecker");
    deMirCheckDate->Text   =   GetFieldValue("MirCheckDate");
    scMirPlanner->LocateKey(GetFieldValue("MirPlanner"));
    memMirDesc->Text       =   GetFieldValue("MirDesc");
    lblMirSysDate->Caption     =   GetFieldValue("MirSysDate");
     //根据审核、取消状态,设置工具栏
     if(GetFieldValue("MirCheck")=="1")
      SetCheckToolbarStatus(true);
     else
      SetCheckToolbarStatus(false);
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::SendDataToComObject()
{
    SetFieldValue("MirGoods",seMirGoods->Text);
    SetFieldValue("MirRDate",FormatDateTime("yyyy-mm-dd",deMirRDate->Text));
    if(seMirRQty->Text == "")
     throw Exception("请输入需求数量");
    SetFieldValue("MirRQty",seMirRQty->Text);
    if(seMirGQty->Text == "")
     throw Exception("请输入生成数量");
    SetFieldValue("MirGQty",seMirGQty->Text);
    SetFieldValue("MirDate",FormatDateTime("yyyy-mm-dd",deMirDate->Text));
    SetFieldValue("MirPlanner",scMirPlanner->ItemData[1]);
    SetFieldValue("MirDesc",memMirDesc->Text);
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::WaitUserInput()
{
    deMirRDate->SetFocus();
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr = GetDataToGrid();
    if (mAction ==  0)
    {
        sgMir->AddItem(ItemStr);
    }
    else if(mAction ==  1)
    {
        int i   =   sgMir->Row;
        sgMir->ChangeItem(ItemStr,i);
    }
    else if(mAction ==  2)
    {
        sgMir->RemoveItem(sgMir->Row);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgMir->RowCount = 1;
    while (comServer->Eof   ==  0)
    {
       if(seMirGoods->Text== GetFieldValue("MirGoods"))
       {
        ItemStr =   GetDataToGrid();
        sgMir->AddItem(ItemStr);
        }
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::RefreshUpdateData(int MsgSrc,int MsgType)
{
}
//---------------------------------------------------------------------------
bool __fastcall TfrmMir::BeforeCheck()
{
  SetFieldValue("MirCheck",1);
  SetFieldValue("MirChecker",g_sdUserCode);
  SetFieldValue("MirCheckDate",g_sdCurDate);
  return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmMir::BeforeUnCheck()
{
  SetFieldValue("MirCheck",0);
  SetFieldValue("MirChecker","");
  SetFieldValue("MirCheckDate",NULL);
  return true;
}

//---------------------------------------------------------------------------
void __fastcall TfrmMir::deMirRDateKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key==13 && CurrentState==caNormal)
    {
      AnsiString sFilter;
      sFilter=seMirGoods->Text;
      sFilter+=deMirRDate->Text;
      comServer->LocateByKey(WideString(sFilter));
      GetDataFromComObject();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::seMirGoodsExit(TObject *Sender)
{
    if(seMirGoods->Text!="")
    {
      InitRsGoods(seMirGoods->Text);
      if(l_Query->LocateByKey(WideString(seMirGoods->Text))==0)
      {
        lblMirGoodsName->Caption=GetGoodsValue(gtInitRs,"GoodsName");
        if(CurrentState!=caNormal)
           FiltGoods();
      }
      else
        MessageDlg("货物编码:'"+seMirGoods->Text+"'不存在!",mtWarning,TMsgDlgButtons()<<mbOK,0);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::seMirGoodsButtonClick(TObject *Sender)
{
   AnsiString l_goods;
  if(OpenGoodsForm(" GoodsState=2 and GoodsCancel=0 " ))
  {
      l_goods = GetGoodsValue(gtOpenForm,"GoodsCode");
      seMirGoods->Text= l_goods;
      FiltGoods();
      seMirGoods->Text= l_goods;
      lblMirGoodsName->Caption =GetGoodsValue(gtOpenForm,"GoodsName");
   }

}
//---------------------------------------------------------------------------


void __fastcall TfrmMir::muAddDetailClick(TObject *Sender)
{
  comServer->CurStatus;
  TRecBaseForm::AddDetailRecord();
  comServer->CurStatus;
}
//---------------------------------------------------------------------------

void __fastcall TfrmMir::FormShow(TObject *Sender)
{
    ClearControl(false);
    seMirGoods->SetFocus();

}
//---------------------------------------------------------------------------
void __fastcall TfrmMir::FiltGoods()
{
    AnsiString s;
    if(Trim(seMirGoods->Text) == "")
     return;
    s=Trim(seMirGoods->Text);
    s=" MirGoods='"+s+"'";
    comServer->FilterString = WideString(s);
    comServer->Query();
    FillGridWithData();
    comServer->MoveFirst();
    GetDataFromComObject();
}
//----------------------------------------------------
void __fastcall TfrmMir::sgMirClick(TObject *Sender)
{
    int ARow=sgMir->Row;
    if (ARow > 0)
    {
      AnsiString sFilter;
      sFilter=seMirGoods->Text;
      sFilter+="\t"+Trim(sgMir->TextMatrix[ARow][0]);
      comServer->LocateByKey(WideString(sFilter));
    }
    if (!comServer->Eof)
         GetDataFromComObject();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -