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

📄 transfer.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Transfer.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmTransfer *frmTransfer;
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmTransfer::GetFieldValue(int FieldIndex)
{
    WideString S;
    S  = ReadFieldValue(comServer,FieldIndex);
    return(S);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
       seTransferCode->Text="";
       memTransferDesc->Text="";
       scTransferEmployee->Text="";
       scTransferMgr->Text="";
       deTransferDate->Text=g_sdCurDate;
       deTransferEdate->Text="";
       scTransferState->ItemIndex=1;
       lbTransferUser->Caption=g_sdUserCode;
       lbTransferSysDate->Caption="";
       seTransferODept->Text="";
       seTransferOShop->Text="";
       seTransferOTeam->Text="";
       scTransferIDept->ItemIndex=-1;
       scTransferIShop->ItemIndex=-1;
       scTransferITeam->ItemIndex=-1;
     }
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::GetDataFromComObject()
{
       seTransferCode->Text=GetFieldValue(fiTransferCode);
       scTransferEmployee->LocateKey(GetFieldValue(fiTransferEmployee));
       scTransferEmployee->Text=scTransferEmployee->ItemData[cbItem1];
       scTransferMgr->Text=GetFieldValue(fiTransferMgr);
       deTransferDate->Text=GetFieldValue(fiTransferDate);
       deTransferEdate->Text=GetFieldValue(fiTransferEdate);
       scTransferState->LocateKey(GetFieldValue(fiTransState));
       lbTransferUser->Caption=GetFieldValue(fiTransferUser);
       lbTransferSysDate->Caption=GetFieldValue(fiTransferSysDate);
       seTransferODept->LocateKey(GetFieldValue(fiTransferODept));
       seTransferOShop->LocateKey(GetFieldValue(fiTransferOShop));
       seTransferOTeam->LocateKey(GetFieldValue(fiTransferTeam));
       scTransferIDept->LocateKey(GetFieldValue(fiTransIDept));
       scTransferIShop->LocateKey(GetFieldValue(fiTransferIShop));
       scTransferITeam->LocateKey(GetFieldValue(fiTransferITeam));
       memTransferDesc->Text=GetFieldValue(fiTransferDesc);
       sgTransfer->LocateGrid(1,seTransferCode->Text);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::SendDataToComObject()
{
   if(scTransferIDept->Text.IsEmpty())
      throw Exception("调入部门不能为空");
 if(seTransferODept->ItemData[cbItem2]==scTransferIDept->ItemData[cbItem2]&&
   seTransferOShop->ItemData[cbItem2]==scTransferIShop->ItemData[cbItem2]&&
   seTransferOTeam->ItemData[cbItem2]==scTransferITeam->ItemData[cbItem2])
    throw Exception("该调动单没意义");
    WriteFieldValue(comServer,fiTransferCode,WideString(seTransferCode->Text));
    WriteFieldValue(comServer,fiTransferEmployee,WideString(scTransferEmployee->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferMgr,WideString(scTransferMgr->Text));
    WriteFieldValue(comServer,fiTransferDate,WideString(deTransferDate->Text));
    WriteFieldValue(comServer,fiTransferEdate,WideString(deTransferEdate->Text));
    WriteFieldValue(comServer,fiTransState,WideString(scTransferState->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferUser,WideString(g_sdUserCode/*lbTransferUser->Caption*/));
//    WriteFieldValue(comServer,fiTransferSysDate,WideString(seTransferSysDate->Text));
    WriteFieldValue(comServer,fiTransferODept,WideString(seTransferODept->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferOShop,WideString(seTransferOShop->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferTeam,WideString(seTransferOTeam->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransIDept,WideString(scTransferIDept->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferIShop,WideString(scTransferIShop->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferITeam,WideString(scTransferITeam->ItemData[cbItem2]));
    WriteFieldValue(comServer,fiTransferDesc,WideString(memTransferDesc->Text));

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

void __fastcall TfrmTransfer::WaitUserInput()
{
    if(seTransferCode->Enabled)
      seTransferCode->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmTransfer::GetDataToGrid()
{
    AnsiString  s;
    s = "\t" + GetFieldValue(fiTransferCode)+
        "\t" + GetFieldValue(fiTransferEmployee)+
        "\t" + GetFieldValue(fiTransferODept)+
        "\t" + GetFieldValue(fiTransIDept);
    return(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::RefreshGridData(int mAction)
{
    AnsiString ItemStr;

    ItemStr =   GetDataToGrid();
    // 新增
    if (mAction ==  0)
    {
        sgTransfer->AddItem(ItemStr);
        sgTransfer->Row=sgTransfer->RowCount-1;
    }
    // 修改
    else if(mAction ==  1)
    {
       sgTransfer->ChangeItem(ItemStr,sgTransfer->Row);
    }
    // 删除
    else if(mAction ==  2)
    {
        sgTransfer->RemoveItem(sgTransfer->Row);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::FillGridWithData()
{
    AnsiString ItemStr;

    comServer->MoveFirst();
    sgTransfer->RowCount = 1;
    while (comServer->Eof == 0)
    {
        ItemStr =   GetDataToGrid();
        sgTransfer->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::InitEditControl()
{
    ClientGroup->AddComponent(2,true,true,false, sgTransfer,sgTransfer->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,false,true,true, scTransferEmployee,scTransferEmployee->Name);
    ClientGroup->AddComponent(2,false,true,false, seTransferCode,seTransferCode->Name);
    ClientGroup->AddComponent(2,true,true,true, seTransferODept,seTransferODept->Name);
    ClientGroup->AddComponent(2,true,true,true, seTransferOShop,seTransferOShop->Name);
    ClientGroup->AddComponent(2,true,true,true, seTransferOTeam,seTransferOTeam->Name);
    ClientGroup->AddComponent(2,true,true,true, scTransferState,scTransferState->Name);
    FillComboBox(scTransferEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
    scTransferState->ClearAll();
    scTransferState->AddItems("预备","1");
    scTransferState->AddItems("确认","2");
    scTransferState->AddItems("待下达","3");
    scTransferState->AddItems("已下达","4");
    scTransferState->AddItems("已完成","5");
    FillEdit(seTransferODept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
    FillComboBox(scTransferIDept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
    FillEdit(seTransferOShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
    FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
    FillEdit(seTransferOTeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
    FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");

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

__fastcall TfrmTransfer::TfrmTransfer(TComponent* Owner)
    : TRecBaseForm(Owner,euSdTransfer,"")
{
 AutoCtl=seTransferCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::FormShow(TObject *Sender)
{
    FillGridWithData();
    ClearControl(false);
    comServer->MoveFirst();
    GetDataFromComObject();
}

//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::scTransferEmployeeClick(TObject *Sender)
{
 try
 {
  WriteFieldValue(comServer,fiTransferEmployee,scTransferEmployee->ItemData[cbItem2]);
  seTransferODept->LocateKey(GetFieldValue(fiTransferODept));
  seTransferOShop->LocateKey(GetFieldValue(fiTransferOShop));
  seTransferOTeam->LocateKey(GetFieldValue(fiTransferTeam));
  }
  catch(...)
  {
   CancelChange();
  }
}
//---------------------------------------------------------------------------
void __fastcall TfrmTransfer::sgTransferClick(TObject *Sender)
{
    if (sgTransfer->Row > 0)
       comServer->LocateByKey(WideString(sgTransfer->TextMatrix[sgTransfer->Row][1]));
    if (!comServer->Eof)
       GetDataFromComObject();

}
//---------------------------------------------------------------------------
void  __fastcall TfrmTransfer::RefreshUpdateData(int MsgSrc,int MsgType)
{
switch(MsgSrc)
  {
  case euSdEmployee:
      if(ShowUpdateMessage(MsgSrc,MsgType))
      {
       KeyCode=scTransferEmployee->ItemData[cbItem2];
        FillComboBox(scTransferEmployee,"select Employee=EmployeeCode+'|'+EmployeeName,EmployeeCode from sdEmployee","Employee","EmployeeCode");
       scTransferEmployee->LocateKey(KeyCode);
       }
      break;
  case euSdDept:
      if(ShowUpdateMessage(MsgSrc,MsgType))
       {
       KeyCode=scTransferIDept->ItemData[cbItem2];
       FillComboBox(scTransferIDept,"select DeptCode,DeptName from sdDept","DeptName","DeptCode");
       scTransferIDept->LocateKey(KeyCode);
       }
      break;
  case euSdShop:
      if(ShowUpdateMessage(MsgSrc,MsgType))
        {
         KeyCode=scTransferIShop->ItemData[cbItem2];
         if(CurrentState==caNormal)
            FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
         else
            FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
         scTransferIShop->LocateKey(KeyCode);
         }
      break;
  case euSdTeam:
      if(ShowUpdateMessage(MsgSrc,MsgType))
       {
       KeyCode=scTransferITeam->ItemData[cbItem2];
       if(CurrentState==caNormal)
          FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
       else
          FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
       scTransferITeam->LocateKey(KeyCode);
       }
      break;
  }
}
void __fastcall TfrmTransfer::scTransferIDeptClick(TObject *Sender)
{
   KeyCode=scTransferIShop->ItemData[cbItem2];
   FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
   scTransferIShop->LocateKey(KeyCode);
   scTransferIShopClick(Sender);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::scTransferIShopClick(TObject *Sender)
{
     KeyCode=scTransferITeam->ItemData[cbItem2];
     FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
     scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::muSaveClick(TObject *Sender)
{
   TRecBaseForm::muSaveClick(Sender);
   KeyCode=scTransferIShop->ItemData[cbItem2];
   FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
   scTransferIShop->LocateKey(KeyCode);
   KeyCode=scTransferITeam->ItemData[cbItem2];
   FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
   scTransferITeam->LocateKey(KeyCode);

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

void __fastcall TfrmTransfer::muCancelClick(TObject *Sender)
{
   TRecBaseForm::muCancelClick(Sender);
   KeyCode=scTransferIShop->ItemData[cbItem2];
   FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop","ShopName","ShopCode");
   scTransferIShop->LocateKey(KeyCode);
   KeyCode=scTransferITeam->ItemData[cbItem2];
   FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam","TeamName","TeamCode");
   scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------

void __fastcall TfrmTransfer::seTransferCodeKeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{
     if(Key==13 && CurrentState==caNormal)
    {
      comServer->LocateByKey(WideString(seTransferCode->Text));
      GetDataFromComObject();
    }

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

void __fastcall TfrmTransfer::muEditDetailClick(TObject *Sender)
{
      TRecBaseForm::muEditDetailClick(Sender);
      KeyCode=scTransferIShop->ItemData[cbItem2];
      FillComboBox(scTransferIShop,"Select ShopCode,ShopName from sdShop where ShopDeptCode='"+scTransferIDept->ItemData[cbItem2]+"'","ShopName","ShopCode");
      scTransferIShop->LocateKey(KeyCode);
      KeyCode=scTransferITeam->ItemData[cbItem2];
      FillComboBox(scTransferITeam,"select TeamCode,TeamName from sdTeam where TeamShopCode='"+scTransferIShop->ItemData[cbItem2]+"'","TeamName","TeamCode");
      scTransferITeam->LocateKey(KeyCode);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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