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

📄 labh.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Labh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "BillBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmLabh *frmLabh;
//---------------------------------------------------------------------------
__fastcall TfrmLabh::TfrmLabh(TComponent* Owner)
    : TBillBaseForm(Owner,euSdLabh,"")
{
    AutoCtl=seLabhCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::InitEditControl()
{
    ClientGroup->AddComponent(1,true,true,false,sgLabh,sgLabh->Name);
    ClientGroup->AddComponent(1,false,false,true,FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(1,false,true,false,seLabhCode,seLabhCode->Name);
    ClientGroup->AddComponent(1,true,true,true,cheLabhCheck,cheLabhCheck->Name);
    ClientGroup->AddComponent(1,true,true,true,scLabhState,scLabhState->Name);
    ClientGroup->AddComponent(1,false,true,true,scLabhShop,scLabhShop->Name);
    ClientGroup->AddComponent(1,false,true,true,seLabhTeam,seLabhTeam->Name);
    ClientGroup->AddComponent(1,true,true,true,scLabhFmon,scLabhFmon->Name);
    ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
    ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);
    ClientGroup->AddComponent(2,true,true,true,Panel1,Panel1->Name);
    scLabhState->ClearAll();
    scLabhState->AddItems("1-预备","1");
    scLabhState->AddItems("2-确认","2");
    scLabhState->AddItems("3-完成","3");
    //Labh
    FillComboBox(scLabhFmon,"SELECT FcMonth from sdFc Order by FcMonth","FcMonth");
    FillComboBox(scLabhShop,"SELECT ShopCode,ShopName from sdShop order by ShopCode","ShopName","ShopCode");
    FillEdit(seLabhTeam,"SELECT TeamCode,TeamName from sdTeam order by TeamCode","TeamName","TeamCode");
    //Labd
    FillEdit(seLabdEmployee,"SELECT EmployeeCode,EmployeeName,EmployeeSex,EmployeeDept,EmployeeTow,EmployeeRank FROM sdEmployee order by EmployeeCode",
            "EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeTow","EmployeeRank");
    FillComboBox(scEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept where DeptEnd=1 order by DeptCode","DeptName","DeptCode");
    FillEdit(seLabdProcess,"SELECT ProcessCode,ProcessName FROM sdProcess order by ProcessCode","ProcessName","ProcessCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::RefreshUpdateData(int MsgSrc,int MsgType)
{
    try
    {
       switch (MsgSrc)
       {
         case euSdFc:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(scLabhFmon,"select FcMonth from sdFc Order by FcMonth","FcMonth");
	           EndWaitForm();
	           break;
           }
         case euSdShop:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(scLabhShop,"SELECT ShopCode,ShopName from sdShop order by ShopCode","ShopName","ShopCode");
	           EndWaitForm();
	           break;
           }
         case euSdTeam:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillEdit(seLabhTeam,"SELECT TeamCode,TeamName from sdTeam order by TeamCode","TeamName","TeamCode");
	           EndWaitForm();
	           break;
           }
         case euSdEmployee:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillEdit(seLabdEmployee,"SELECT EmployeeCode,EmployeeName,EmployeeSex,EmployeeDept,EmployeeTow,EmployeeRank FROM sdEmployee order by EmployeeCode",
                        "EmployeeCode","EmployeeName","EmployeeSex","EmployeeDept","EmployeeTow","EmployeeRank");
	           EndWaitForm();
	           break;
           }
         case euSdDept:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(scEmployeeDept,"SELECT DeptCode,DeptName FROM sdDept where DeptEnd=1 order by DeptCode","DeptName","DeptCode");
	           EndWaitForm();
	           break;
           }
         case euSdProcess:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillEdit(seLabdProcess,"SELECT ProcessCode,ProcessName FROM sdProcess order by ProcessCode","ProcessName","ProcessCode");
	           EndWaitForm();
	           break;
           }
         default:
           break;
       }
    }
    __finally
    {
      //AddCode;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::ClearControl(int Section,bool BringToNext)
{
    if(Section==1){
      if(!BringToNext){
        seLabhCode->Text ="";
        deLabhDate->Text =g_sdCurDate;
        scLabhFmon->LocateKey(g_sdMMonth);
        scLabhShop->ItemIndex = -1;
        seLabhTeam->ItemIndex = -1;
        scLabhState->ItemIndex= 0;
        labUserCode->Caption=g_sdUserCode;
        cheLabhCheck->Checked=false;
        labChecker->Caption = "";
        labCheckDate->Caption = "";
        memLabhDesc->Text="";
      }
      sgLabh->RowCount=1;
    }
    else if(Section==2){
      if(!BringToNext){
        seLabdLine->Text=AnsiString(comServer->ItemCount+1);
        seLabdEmployee->ItemIndex=-1;
        seEmployeeName->Text ="";
        seEmployeeSex->Text="";
        scEmployeeDept->ItemIndex=-1;
        seEmployeeTow->Text ="";
        seEmployeeRank->Text ="";
        seLabdWo->Text="";
        seLabdProcess->ItemIndex=-1;
        seLabdTime->Text="0.00";
        seLabdPrice->Text="0.00";
        memLabdDesc->Text="";
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::GetDataFromComObject(int Section)
{
    if(Section==1)
    {
       seLabhCode->Text=GetHeadValue(fiLabhCode);
       deLabhDate->Text=GetHeadValue(fiLabhDate);
       scLabhFmon->LocateKey(GetHeadValue(fiLabhFmonth));
       scLabhShop->LocateKey(GetHeadValue(fiLabhShop));
       seLabhTeam->LocateKey(GetHeadValue(fiLabhTeam));
       scLabhState->LocateKey(GetHeadValue(fiLabhState));
       labUserCode->Caption=GetHeadValue(fiLabhUser);
       cheLabhCheck->Checked=GetHeadValue(fiLabhCheck)=="1";
       //设置审核的操作权限
       if(GetHeadValue(fiLabhCheck)=="1")
          SetCheckToolbarStatus(true);
       else
          SetCheckToolbarStatus(false);
       labChecker->Caption=GetHeadValue(fiLabhChecker);
       labCheckDate->Caption=GetHeadValue(fiLabhCheckDate);
       memLabhDesc->Text=GetHeadValue(fiLabhDesc);
    }
    else
    {
       seLabdLine->Text=GetDetailValue(fiLabdLine);
       seLabdEmployee->Text=GetDetailValue(fiLabdEmployee);
       //取员工相应的资料
       seLabdEmployee->LocateKey(GetDetailValue(fiLabdEmployee));
       seEmployeeName->Text=seLabdEmployee->ItemData[1];
       if(!seLabdEmployee->ItemData[2].IsEmpty())
          seEmployeeSex->Text=seLabdEmployee->ItemData[2]=="0"? "男":"女";
       else
          seEmployeeSex->Text="";
       scEmployeeDept->LocateKey(seLabdEmployee->ItemData[3]);
       seEmployeeTow->Text=seLabdEmployee->ItemData[4];
       seEmployeeRank->Text=seLabdEmployee->ItemData[5];
       //
       seLabdWo->Text=GetDetailValue(fiLabdWo);
       seLabdProcess->LocateKey(GetDetailValue(fiLabdProcess));
       seLabdTime->Text =GetDetailValue(fiLabdTime);
       seLabdPrice->Text=GetDetailValue(fiLabdPrice);
       memLabdDesc->Text=GetDetailValue(fiLabdDesc);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::SendDataToComObject(int Section)
{
    if(Section==1){
      SetHeadValue(fiLabhCode,seLabhCode->Text);
      SetHeadValue(fiLabhDate,deLabhDate->Text);
      SetHeadValue(fiLabhFmonth,scLabhFmon->Text);
      SetHeadValue(fiLabhShop,scLabhShop->ItemData[1]);
      SetHeadValue(fiLabhTeam,seLabhTeam->ItemData[1]);
      SetHeadValue(fiLabhState,scLabhState->ItemData[1]);
      SetHeadValue(fiLabhUser,labUserCode->Caption);
      SetHeadValue(fiLabhCheck,cheLabhCheck->Checked ? "1":"0");
      if(cheLabhCheck->Checked)
      {
         SetHeadValue(fiLabhChecker,labChecker->Caption);
         SetHeadValue(fiLabhCheckDate,labCheckDate->Caption);
      }
      SetHeadValue(fiLabhDesc,memLabhDesc->Text);
    }
    else{
      //计时单号(LabdCode)赋值
      SetDetailValue(fiLabdCode,seLabhCode->Text);
      SetDetailValue(fiLabdLine,seLabdLine->Text);
      SetDetailValue(fiLabdEmployee,seLabdEmployee->Text);
      SetDetailValue(fiLabdWo,seLabdWo->Text);
      SetDetailValue(fiLabdProcess,seLabdProcess->ItemData[1]);
      SetDetailValue(fiLabdTime,seLabdTime->Text);
      SetDetailValue(fiLabdPrice,seLabdPrice->Text);
      SetDetailValue(fiLabdDesc,memLabdDesc->Text);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh::WaitUserInput(int Section)
{
    if(Section ==1){
      if(seLabhCode->Enabled)
         seLabhCode->SetFocus();
      else
         deLabhDate->SetFocus();
    }
    else
    {
      ChangeToBrowseState(false);
      if(seLabdLine->Enabled)
         seLabdLine->SetFocus();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmLabh::RefreshGridData(int mAction)
{
    int i;
    AnsiString ItemStr=GetItemStringToGrid();
    switch(mAction)
    {
       case 0:
         sgLabh->AddItem(ItemStr);
         sgLabh->Row=sgLabh->RowCount-1;
         break;
       case 1:
         sgLabh->ChangeItem(ItemStr,sgLabh->Row);
         break;
       case 2:
         sgLabh->RemoveItem(sgLabh->Row);
    }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmLabh::GetItemStringToGrid()
{
    AnsiString s_ItemStr,s;
    s_ItemStr=GetDetailValue(fiLabdLine)+
              "\t"+GetDetailValue(fiLabdEmployee)+
              "\t"+GetDetailValue(fiLabdWo)+
              "\t"+GetDetailValue(fiLabdProcess)+
              "\t"+GetDetailValue(fiLabdTime)+
              "\t"+GetDetailValue(fiLabdPrice);
    return s_ItemStr;
}
//---------------------------------------------------------------------------

void __fastcall TfrmLabh::DisplayBill()

⌨️ 快捷键说明

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