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

📄 wpe.cpp

📁 一个以前收集的基于C/S架构的ERP客户端源代码
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wpe.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmWpe *frmWpe;
__fastcall TfrmWpe::TfrmWpe(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
    : TRecBaseForm(Owner,chWnd,MidCode,"")
{
}
//---------------------------------------------------------------------------
__fastcall TfrmWpe::TfrmWpe(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr,AnsiString ParamString)
    : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    int iPos;
    iPos=ParamString.Pos("\t");
    FWpeWo=ParamString.SubString(1,iPos-1);
    ParamString=ParamString.SubString(iPos+1,ParamString.Length());

    iPos=ParamString.Pos("\t");
    FWpeProcess=ParamString.SubString(1,iPos-1);
    ParamString=ParamString.SubString(iPos+1,ParamString.Length());

    iPos=ParamString.Pos("\t");
    FWpeWoCheck=StrToInt(ParamString.SubString(1,iPos-1));
    FWpeWoCancel=StrToInt(ParamString.SubString(iPos+1,ParamString.Length()));
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
        scWpeShop->ItemIndex    = -1;
        scWpeTeam->ClearAll();
        scWpeTeam->ItemIndex    = -1;
        scWpeEmployee->ClearAll();
        scWpeEmployee->ItemIndex= -1;
        seWpeEmployeeName->Text = "";
        scWpeEmployeeSex->ItemIndex = -1;
        seWpeEmployeeTow->Text  = "";
        scWpeWageType->ItemIndex= -1;
        seWpeLabRate->Text      = "0.00";
        seWpePieceRate->Text    = "0.00";
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::GetDataFromComObject()
{
    scWpeShop->LocateKey(GetFieldValue("WpeShop"));
    scWpeShopClick(this);
    scWpeTeam->LocateKey(GetFieldValue("WpeTeam"));
    if(scWpeTeam->ItemIndex!=-1)
       scWpeTeamClick(this);
    scWpeEmployee->LocateKey(GetFieldValue("WpeEmployee"));
    //MoveFirst,MovePrority,MoveNext,MoveLast
    sgWpe->LocateGrid(0,GetFieldValue("WpeEmployee"));
    seWpeEmployeeName->Text = scWpeEmployee->ItemData[cbItem3];
    if(!scWpeEmployee->ItemData[cbItem4].IsEmpty())
        scWpeEmployeeSex->ItemIndex =StrToInt(scWpeEmployee->ItemData[cbItem4]);
    else
        scWpeEmployeeSex->Text ="";
    seWpeEmployeeTow->Text  = scWpeEmployee->ItemData[cbItem5];

    scWpeWageType->ItemIndex= StrToInt(GetFieldValue("WpeWageType"))-1;
    if(GetFieldValue("WpeWageType")==1)
    {
       seWpeLabRate->Text      = GetFieldValue("WpeLabRate");
       seWpePieceRate->Text    = "0.00";
    }
    else if(GetFieldValue("WpeWageType")==2)
    {
       seWpeLabRate->Text      = "0.00";
       seWpePieceRate->Text    = GetFieldValue("WpePieceRate");
    }
    else
    {
       seWpeLabRate->Text      = "0.00";
       seWpePieceRate->Text    = "0.00";
    }
    //
    SetToolBarEnable();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::SendDataToComObject()
{
    SetFieldValue("WpeWo",labWpeWo->Caption);
    SetFieldValue("WpeProcess",scWpeProcess->ItemData[cbItem2]);
    SetFieldValue("WpeEmployee",scWpeEmployee->ItemData[cbItem2]);
    SetFieldValue("WpeShop",scWpeShop->ItemData[cbItem2]);
    SetFieldValue("WpeTeam",scWpeTeam->ItemData[cbItem2]);
    SetFieldValue("WpeWageType",IntToStr(scWpeWageType->ItemIndex+1));
    SetFieldValue("WpeLabRate",seWpeLabRate->Text);
    SetFieldValue("WpePieceRate",seWpePieceRate->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::SetToolBarEnable()
{
    if(FWpeWoCheck==1 || FWpeWoCancel==1)
    {
      tbAddHead->Enabled=false;
      tbEditHead->Enabled=false;
      tbDeleteHead->Enabled=false;
      muAddDetail->Enabled=false;
      muEditDetail->Enabled=false;
      muDeleteDetail->Enabled=false;
      muCancel->Enabled =false;
      muSave->Enabled =false;
    }
    else
    {
      tbAddHead->Enabled=true;
      tbEditHead->Enabled=true;
      tbDeleteHead->Enabled=true;
      muAddDetail->Enabled=true;
      muEditDetail->Enabled=true;
      muDeleteDetail->Enabled=true;
      muCancel->Enabled =true;
      muSave->Enabled =true;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::WaitUserInput()
{
    if(scWpeShop->Enabled)
       scWpeShop->SetFocus();
    AnsiString FWageType;
    FWageType=GetFieldValue("WpeWageType");
    if(FWageType==1)
    {
       seWpeLabRate->Enabled=true;
       seWpePieceRate->Enabled=false;
    }
    else
    {
       seWpeLabRate->Enabled=false;
       seWpePieceRate->Enabled=true;
    }
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmWpe::GetDataToGrid()
{
    AnsiString FWageType,s_STR;
    s_STR = GetFieldValue("WpeEmployee");
    FWageType=GetFieldValue("WpeWageType");
    if(FWageType==1)
       s_STR= s_STR + "\t" + "计时工资"+"\t"+GetFieldValue("WpeLabRate");
    else
       s_STR= s_STR + "\t" + "计件工资"+"\t"+GetFieldValue("WpePieceRate");
    return(s_STR);
}
//---------------------------------------------------------------------------

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

void __fastcall TfrmWpe::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgWpe->RowCount = 1;
    while(comServer->Eof == 0)
    {
       ItemStr = GetDataToGrid();
       sgWpe->AddItem(ItemStr);
       comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::InitEditControl()
{
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,true,true,false, scWpeProcess,scWpeProcess->Name);
    ClientGroup->AddComponent(2,true,true,false, sgWpe,sgWpe->Name);
    ClientGroup->AddComponent(2,true,true,true, scWpeProcess,scWpeProcess->Name);
    ClientGroup->AddComponent(2,true,true,true, Panel1,Panel1->Name);
    ClientGroup->AddComponent(2,true,true,true, seWpeLabRate,seWpeLabRate->Name);
    ClientGroup->AddComponent(2,true,true,true, seWpePieceRate,seWpePieceRate->Name);
    scWpeWageType->ClearAll();
    scWpeWageType->AddItems("1-计时工资","1");
    scWpeWageType->AddItems("2-计件工资","2");
    FillComboBox(Handle,scWpeShop,"SELECT ShopCode,memo=ShopCode+space(1)+'('+ShopName+')' FROM sdShop order by ShopCode","memo","ShopCode");
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::RefreshUpdateData(int MsgSrc,int MsgType)
{
/*
    try
    {
       switch (MsgSrc)
       {
         case euSdShop:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(Handle,scWpeShop,"SELECT ShopCode,memo=ShopCode+space(1)+'('+ShopName+')' FROM sdShop order by ShopCode","memo","ShopCode");
	           EndWaitForm();
	           break;
           }
       }
    }
    __finally
    {
        //AddCode;
    }
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::FormShow(TObject *Sender)
{
    AnsiString tempS;
    ClearControl(false);
    tbGenrate->Visible=false;
    labWpeWo->Caption=FWpeWo;
    FillComboBox(Handle,scWpeProcess,"SELECT WrgProcess+Space(1)+'('+WrgName+')' memo,WrgProcess FROM sdWrg where WrgWo='"+FWpeWo+"' order by WrgProcess",
                 "memo","WrgProcess");
    scWpeProcess->LocateKey(FWpeProcess);
    scWpeProcess->Text=scWpeProcess->ItemData[cbItem1];

    //---填充Grid---
    FillGridWithData();
    if(comServer->RecordCount>0)
    {
       comServer->MoveFirst();
       GetDataFromComObject();
    }
    else
       ClearControl(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWpe::scWpeEmployeeClick(TObject *Sender)
{
    AnsiString tempS;
    tempS=Trim(scWpeEmployee->ItemData[1]);
    if(scWpeTeam->ItemIndex==-1)
    {
       ::MessageBox(Handle,"员工对应的班组不能为空!","操作错误",MB_OK|MB_ICONSTOP);
       if(scWpeTeam->Enabled)
          scWpeTeam->SetFocus();
       scWpeEmployee->ClearAll();
       return;
    }
    if(!tempS.IsEmpty())
    {
       seWpeEmployeeName->Text = scWpeEmployee->ItemData[cbItem3];
       if(!scWpeEmployee->ItemData[cbItem4].IsEmpty())
          scWpeEmployeeSex->ItemIndex =StrToInt(scWpeEmployee->ItemData[cbItem4]);
       else
          scWpeEmployeeSex->Text ="";
       seWpeEmployeeTow->Text  = scWpeEmployee->ItemData[cbItem5];
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::sgWpeClick(TObject *Sender)
{
    int ARow;
    ARow=sgWpe->Row;
    if(ARow > 0)
      comServer->LocateByKey(labWpeWo->Caption+"\t"+scWpeProcess->ItemData[cbItem2]+"\t"+sgWpe->TextMatrix[ARow][0]);
    if(comServer->RecordCount>0)
      GetDataFromComObject();
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::scWpeShopClick(TObject *Sender)
{
    if(scWpeShop->ItemIndex!=-1)
       FillComboBox(Handle,scWpeTeam,"SELECT TeamCode,memo=TeamCode+space(1)+'('+TeamName+')' FROM sdTeam where TeamShopCode='"+scWpeShop->ItemData[1]+"' order by TeamCode",
                    "memo","TeamCode");
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::scWpeTeamClick(TObject *Sender)
{
    if(scWpeShop->ItemIndex==-1)
    {
       ::MessageBox(Handle,"班组对应的车间不能为空!","操作错误",MB_OK|MB_ICONSTOP);
       if(scWpeShop->Enabled)
          scWpeShop->SetFocus();
       return;
    }
    if(scWpeTeam->ItemIndex!=-1)
       FillComboBox(Handle,scWpeEmployee,"Select memo=TeEmployee+space(1)+'('+EmployeeName+')',TeEmployee,EmployeeName,EmployeeSex,EmployeeTow from sdTe,sdEmployee where TeEmployee=EmployeeCode and TeTeam='"+scWpeTeam->ItemData[1]+"' order by EmployeeCode",
                    "memo","TeEmployee","EmployeeName","EmployeeSex","EmployeeTow");
}
//---------------------------------------------------------------------------

void __fastcall TfrmWpe::scWpeWageTypeClick(TObject *Sender)
{
    AnsiString FItemData;
    FItemData=scWpeWageType->ItemData[1];
    if(FItemData==1)
    {
       seWpeLabRate->Enabled=true;
       seWpePieceRate->Enabled=false;
       seWpePieceRate->Text="0.00";
    }
    else
    {
       seWpeLabRate->Enabled=false;
       seWpePieceRate->Enabled=true;
       seWpeLabRate->Text="0.00";
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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