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

📄 wc.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wc.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDEdit"
#pragma link "SDComboBox"
#pragma link "DateEdit"
#pragma resource "*.dfm"

TfrmWc *frmWc;
//---------------------------------------------------------------------------
__fastcall TfrmWc::TfrmWc(TComponent* Owner)
        : TRecBaseForm(Owner,euSdWc,"")
{
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWc::GetFieldValue(int iFieldIndex)
{
    return ReadFieldValue(comServer,iFieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::SetFieldValue(int iFieldIndex,AnsiString sFieldValue)
{
    WriteFieldValue(comServer,iFieldIndex,sFieldValue);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::RefreshGridData(int mAction)
{
    int i;
    AnsiString m_ItemStr;
    m_ItemStr=GetDataToGrid();
    switch(mAction)
    {
      case 0:  //Add
          sgWc->AddItem(m_ItemStr);
          sgWc->Row=sgWc->RowCount-1;
          break;
      case 1:  //Edit
          sgWc->ChangeItem(m_ItemStr,sgWc->Row);
          break;
      case 2:  //Del
          sgWc->RemoveItem(sgWc->Row);
          break;
    }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWc::GetDataToGrid()
{
     AnsiString m_ItemStr;
     m_ItemStr = GetFieldValue(fiWcCode)+
                 "\t" +GetFieldValue(fiWcName);
     return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::ClearControl(bool BringToNext)
{
     if(!BringToNext)
     {
        seWcCode->Text = "";
        seWcName->Text = "";
        memWcDesc->Text="";
        seWcRepWc->ItemIndex=-1;
        cheWcKey->Checked=false;
        cheWcWxFlg->Checked=false;
        seWcPow->Text="0";
        seWcWod->Text="0";
        seWcHow->Text="0";
        seWcMow->Text="0";
        seWcEffi->Text="1";      //效率
        seWcUseRate->Text="1";   //利用率
        scWcCalFlg->ItemIndex=0;
        scWcCc->ItemIndex=-1;
        scWcWoe->ItemIndex=0;
        seWcPer->Text="0";
        seWcFer->Text="0";
        seWcMer->Text="0";
        seWcVer->Text="0";
        seWcMhr->Text="0";
        seWcPrate->Text="0";
        seWcPeor->Text="0";
     }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::SendDataToComObject()
{
    SetFieldValue(fiWcCode,seWcCode->Text);
    SetFieldValue(fiWcKey,cheWcKey->Checked ? "1":"0");
    SetFieldValue(fiWcWxFlg,cheWcWxFlg->Checked ? "1":"0");
    SetFieldValue(fiWcName,seWcName->Text);
    SetFieldValue(fiWcDesc,memWcDesc->Text);
    SetFieldValue(fiWcReplWc,seWcRepWc->ItemData[1]);
    SetFieldValue(fiWcShopCode,scWcShopCode->ItemData[cbItem2]);
    SetFieldValue(fiWcPow,seWcPow->Text);
    SetFieldValue(fiWcWod,seWcWod->Text);
    SetFieldValue(fiWcHow,seWcHow->Text);
    SetFieldValue(fiWcMow,seWcMow->Text);
    SetFieldValue(fiWcEffi,seWcEffi->Text);
    SetFieldValue(fiWcUseRate,seWcUseRate->Text);
    SetFieldValue(fiWcUser,g_sdUserCode);
    SetFieldValue(fiWcCalFlg,IntToStr(scWcCalFlg->ItemIndex+1));
    SetFieldValue(fiWcCc,scWcCc->ItemData[cbItem2]);
    SetFieldValue(fiWcWoe,IntToStr(scWcWoe->ItemIndex+1));
    SetFieldValue(fiWcPer,seWcPer->Text);
    SetFieldValue(fiWcFer,seWcFer->Text);
    SetFieldValue(fiWcMer,seWcMer->Text);
    SetFieldValue(fiWcVer,seWcVer->Text);
    SetFieldValue(fiWcMhr,seWcMhr->Text);
    SetFieldValue(fiWcPrate,seWcPrate->Text);
    SetFieldValue(fiWcPeor,seWcPeor->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::GetDataFromComObject()
{
    seWcCode->Text=GetFieldValue(fiWcCode);
    //MoveFirst,MovePrority,MoveNext,MoveLast
    sgWc->LocateGrid(0,GetFieldValue(fiWcCode));
    cheWcKey->Checked=(GetFieldValue(fiWcKey)=="1");
    cheWcWxFlg->Checked=(GetFieldValue(fiWcWxFlg)=="1");
    seWcName->Text=GetFieldValue(fiWcName);
    memWcDesc->Text=GetFieldValue(fiWcDesc);

    seWcRepWc->LocateKey(GetFieldValue(fiWcReplWc));
    scWcShopCode->LocateKey(GetFieldValue(fiWcShopCode));

    seWcPow->Text=GetFieldValue(fiWcPow);
    seWcWod->Text=GetFieldValue(fiWcWod);
    seWcHow->Text=GetFieldValue(fiWcHow);
    seWcMow->Text=GetFieldValue(fiWcMow);
    seWcEffi->Text=GetFieldValue(fiWcEffi);
    seWcUseRate->Text=GetFieldValue(fiWcUseRate);
    scWcCalFlg->ItemIndex=StrToInt(GetFieldValue(fiWcCalFlg)-1);
    scWcCc->LocateKey(GetFieldValue(fiWcCc));
    scWcWoe->ItemIndex=StrToInt(GetFieldValue(fiWcWoe)-1);
    seWcPer->Text=GetFieldValue(fiWcPer);
    seWcFer->Text=GetFieldValue(fiWcFer);
    seWcMer->Text=GetFieldValue(fiWcMer);
    seWcVer->Text=GetFieldValue(fiWcVer);
    seWcMhr->Text=GetFieldValue(fiWcMhr);
    seWcPrate->Text=GetFieldValue(fiWcPrate);
    seWcPeor->Text=GetFieldValue(fiWcPeor);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::WaitUserInput()
{
    PageControl1->ActivePage=BaseInfo;
    if(seWcCode->Enabled)
       seWcCode->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::InitEditControl()
{
    PageControl1->ActivePage=BaseInfo;
    ClientGroup->AddComponent(2,false,false,true, PageControl1,PageControl1->Name);
    ClientGroup->AddComponent(2,true,true,false, sgWc,sgWc->Name);

    FillEdit(seWcRepWc,"SELECT WcCode,WcName FROM sdWc order by WcCode","WcName","WcCode");
    FillComboBox(scWcCc,"SELECT CcCode,CcName FROM sdCc order by CcCode","CcName","CcCode");
    FillComboBox(scWcShopCode,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::RefreshUpdateData(int MsgSrc,int MsgType)
{
    try
    {
       switch (MsgSrc)
       {
         case euSdCc:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
              FillComboBox(scWcCc,"SELECT CcCode,CcName FROM sdCc order by CcCode","CcName","CcCode");
	           EndWaitForm();
	           break;
           }
         case euSdWc:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
              FillEdit(seWcRepWc,"SELECT WcCode,WcName FROM sdWc order by WcCode","WcName","WcCode");
	           EndWaitForm();
	           break;
           }
         case euSdShop:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
              FillComboBox(scWcShopCode,"SELECT ShopCode,ShopName FROM sdShop order by ShopCode","ShopName","ShopCode");
	           EndWaitForm();
	           break;
           }
         default:
           break;
       }
    }
    __finally
    {
       //AddCode;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgWc->RowCount = 1;
    while(comServer->Eof == 0)
    {
      ItemStr = GetDataToGrid();
      sgWc->AddItem(ItemStr);
      comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::FormShow(TObject *Sender)
{
     if(comServer->RecordCount>0)
     {
        FillGridWithData();
        comServer->MoveFirst();
        GetDataFromComObject();
     }
     else
     {
        ClearControl(false);
        sgWc->RowCount=1;
     }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::FormCreate(TObject *Sender)
{
     FormIniFile="D:\Test.Ini";
     SetGridWidth(Name,sgWc,FormIniFile);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::FormClose(TObject *Sender, TCloseAction &Action)
{
     TRecBaseForm::FormClose(Sender,Action);
     WriteGridWidth(Name,sgWc,FormIniFile);
}
//---------------------------------------------------------------------------

void __fastcall TfrmWc::sgWcClick(TObject *Sender)
{
     int ARow;
     ARow=sgWc->Row;
     if(ARow > 0)
        comServer->LocateByKey(sgWc->TextMatrix[ARow][0]);
     if(!comServer->Eof)
        GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWc::seWcRepWcButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    SqlStr="003[工作中心代码][工作中心名称][关键工作中心]SELECT WcCode,WcName,WcKey FROM sdWc ";
    SqlStr=SqlStr+"ORDER BY WcCode";
    TfrmWnQuery *p;
    try
    {
       StartWaitForm("正在查询,请稍候...");
       p=new TfrmWnQuery(this,"工作中心资料查询",SqlStr);
    }
    __finally
    {
       EndWaitForm();
    }
    if(p->ShowModal()==mrOk)
    {
       seWcRepWc->LocateKey(p->ColData[1]);
    }
    delete p;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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