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

📄 labh_t.cpp

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

TfrmLabh_T *frmLabh_T;
TfrmLabd_T *Labd_Tfrm;
//---------------------------------------------------------------------------
__fastcall TfrmLabh_T::TfrmLabh_T(TComponent* Owner)
    : TGenBaseForm(Owner,euSdLabh,"")
{
    AutoCtl=seLabhCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh_T::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);
    ClientGroup->AddComponent(2,true,true,true,scLabdDType,scLabdDType->Name);

    scLabhState->ClearAll();
    scLabhState->AddItems("1-预备","1");
    scLabhState->AddItems("2-确认","2");
    scLabhState->AddItems("3-完成","3");
    scLabdDType->ClearAll();
    scLabdDType->AddItems("0-手工分配","0");
    scLabdDType->AddItems("1-平均分配","1");
    //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_T::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_T::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";
        scLabdDType->ItemIndex=1;
        memLabdDesc->Text="";
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh_T::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(cheLabhCheck->Checked)
        SetCheckToolbarStatus(true);
      else
        SetCheckToolbarStatus(false);
      labChecker->Caption=GetHeadValue(fiLabhChecker);
      labCheckDate->Caption=GetHeadValue(fiLabhCheckDate);
      memLabhDesc->Text=GetHeadValue(fiLabhDesc);
    }
    else{
      seLabdLine->Text=GetDetailValue(fiLabdLine);
      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);
      scLabdDType->LocateKey(GetDetailValue(fiLabdDType));
      memLabdDesc->Text=GetDetailValue(fiLabdDesc);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh_T::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(fiLabdDType,scLabdDType->ItemData[1]);
      SetDetailValue(fiLabdDesc,memLabdDesc->Text);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh_T::WaitUserInput(int Section)
{
    if(Section==1){
      if(CurrentState==caAddHead)
         seLabhCode->SetFocus();
      else
         deLabhDate->SetFocus();
    }
    else
    {
      ChangeToBrowseState(false);
      if(CurrentState!=caNormal)
         seLabdLine->SetFocus();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmLabh_T::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_T::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_T::DisplayBill()
{
    if(comServer->RecordCount>0)
    {
      GetDataFromComObject(1);
      FillGridWithData();
      if(sgLabh->RowCount >1)
      {
         AnsiString Keystr;
         Keystr=sgLabh->Cells[1][sgLabh->Row];

⌨️ 快捷键说明

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