forecasth.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 496 行 · 第 1/2 页

CPP
496
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "ForeCasth.h"
//---------------------------------------------------------------------------
#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"
TfrmForeCasth *frmForeCasth;
//---------------------------------------------------------------------------
__fastcall TfrmForeCasth::TfrmForeCasth(TComponent* Owner, HWND chWnd, AnsiString ClassCode,AnsiString WhereStr)
        : TBillBaseForm(Owner,chWnd,ClassCode,WhereStr)
{
  //AutoCtl=seForeCasthCode;
  SetAutoCodeString(seForeCasthCode,"ACM-034");
  //InitRsGoods();
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::InitEditControl()
{
    ClientGroup->AddComponent(1,false,false,true,fpForeCastHead,fpForeCastHead->Name);
    ClientGroup->AddComponent(1,false,true,false,seForeCasthCode,seForeCasthCode->Name);

    ClientGroup->AddComponent(2,false,false,true,ftForeCastDetail,ftForeCastDetail->Name);
    ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);
    ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
    ClientGroup->AddComponent(2,true,true,true,seForeCastdGoodsName,seForeCastdGoodsName->Name);
    ClientGroup->AddComponent(2,true,true,true,scForeCastdUnit,scForeCastdUnit->Name);
    ClientGroup->AddComponent(2,true,true,true,scForeCastdType,scForeCastdType->Name);
    ClientGroup->AddComponent(2,true,true,true,scForeCastdFrom,scForeCastdFrom->Name);
    ClientGroup->AddComponent(2,true,true,true,seForeCastdEoq,seForeCastdEoq->Name);
    ClientGroup->AddComponent(2,true,true,true,seForeCastdEoi,seForeCastdEoi->Name);
    ClientGroup->AddComponent(2,true,true,true,seForeCastdSafeQty,seForeCastdSafeQty->Name);
    ClientGroup->AddComponent(2,true,true,true,seForeCastdGQty,seForeCastdGQty->Name );

    //ForeCasth
    FillComboBox(Handle,scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
                 "UserName","PlannerCode");
    //ForeCastd
    FillComboBox(Handle,scForeCastdUnit,"select UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::RefreshUpdateData(int MsgSrc,int MsgType)
{
 /*   try
    {
       switch(MsgSrc)
       {
         case euSdPlanner:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(Handle,scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
                            "UserName","PlannerCode");
	           EndWaitForm();
	           break;
           }
         case euSdUnit:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(Handle,scForeCastdUnit,"select UnitName,UnitCode from sdUnit order by UnitCode","UnitName","UnitCode");
	           EndWaitForm();
	           break;
           }
         default:
           break;
       }
    }
    __finally
    {
        //AddCode;
    }        */
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::ClearControl(int Section,bool BringToNext)
{
    if(Section == 1)
    {
       if(!BringToNext)
       {
          seForeCasthCode->Text = "";
          deForeCasthDate->Text = g_sdCurDate;
          scForeCasthPlanner->ItemIndex = -1;
          LabSysDate->Caption = "";
          memForeCasthDesc->Text = "";
          cheCheck->Checked = false;
          labCheckDate->Caption = "";
          labChecker->Caption = "";
       }
       sgForeCasth->RowCount=1;
    }
    else if(Section==2)
    {
        if(!BringToNext)
        {
          if(comServer->ItemCount > 0)
           seForeCastdLine->Text =AnsiString(comServer->ItemCount+1);
          else
           seForeCastdLine->Text ="1";
          seForeCastdGoods->Text="";
          seForeCastdGoodsName->Text="";
          scForeCastdUnit->ItemIndex=-1;
          scForeCastdType->ItemIndex=-1;
          scForeCastdFrom->ItemIndex=-1;
          seForeCastdEoq->Text="0";
          seForeCastdEoi->Text="0";
          seForeCastdSafeQty->Text="0";
          seForeCastdQty->Text ="0";
          deForeCastdDate->Text="";
          seForeCastdGQty->Text="0";
          memForeCastdDesc->Text ="";
        }
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::GetDataFromComObject(int Section)
{
    if(Section==1)
    {
        seForeCasthCode->Text = GetHeadValue("ForeCasthCode");
        deForeCasthDate->Text = GetHeadValue("ForeCasthDate");
        scForeCasthPlanner->LocateKey(GetHeadValue("ForeCasthPlanner"));
        cheCheck->Checked = GetHeadValue("ForeCasthCheck")=="1";
        if(cheCheck->Checked)
           SetCheckToolbarStatus(true);
        else
           SetCheckToolbarStatus(false);
        labCheckDate->Caption = GetHeadValue("ForeCasthCheckDate");
        labChecker->Caption  = GetHeadValue("ForeCasthChecker");
        LabSysDate->Caption  = GetHeadValue("ForeCasthSysDate");
        memForeCasthDesc->Text = GetHeadValue("ForeCasthDesc");
    }
    else
    {
        seForeCastdLine->Text = GetDetailValue("ForeCastdLine");
        AnsiString FTstr=GetDetailValue("ForeCastdGoods");
        seForeCastdGoods->Text = FTstr;
        InitRsGoods(FTstr);
        l_Query->LocateByKey(WideString(FTstr));
        seForeCastdGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
        scForeCastdUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
        scForeCastdType->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsType"))-1;
        scForeCastdFrom->ItemIndex=StrToInt(GetGoodsValue(gtInitRs,"GoodsFrom"))-1;
        seForeCastdEoq->Text=GetGoodsValue(gtInitRs,"GoodsEoq");
        seForeCastdEoi->Text=GetGoodsValue(gtInitRs,"GoodsEoi");
        seForeCastdSafeQty->Text=GetGoodsValue(gtInitRs,"GoodsSafeQty");
        seForeCastdQty->Text = GetDetailValue("ForeCastdQty");
        deForeCastdDate->Text= GetDetailValue("ForeCastdDate");
        seForeCastdGQty->Text= GetDetailValue("ForeCastdGQty");
        memForeCastdDesc->Text = GetDetailValue("ForeCastdDesc");
        seForeCastdGoodsSpce->Text = GetDetailValue("GoodsSpec");
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::SendDataToComObject(int Section)
{
    if(Section==1)
    {
        SetHeadValue("ForeCasthCode",seForeCasthCode->Text);
        SetHeadValue("ForeCasthDate",deForeCasthDate->Text);
        SetHeadValue("ForeCasthPlanner",scForeCasthPlanner->ItemData[1]);
        SetHeadValue("ForeCasthDesc",memForeCasthDesc->Text);
    }
    else
    {
        SetDetailValue("ForeCastdCode",seForeCasthCode->Text);
        SetDetailValue("ForeCastdLine",seForeCastdLine->Text);
        SetDetailValue("ForeCastdGoods",seForeCastdGoods->Text);
        SetDetailValue("ForeCastdQty",seForeCastdQty->Text);
        SetDetailValue("ForeCastdDate",deForeCastdDate->Text);
        SetDetailValue("ForeCastdDesc",memForeCastdDesc->Text);
        SetDetailValue("GoodsName",seForeCastdGoodsName->Text);
        AnsiString l_Spce=seForeCastdGoodsSpce->Text;
        if (l_Spce.IsEmpty())
            l_Spce=" ";
        SetDetailValue("GoodsSpec",l_Spce);     }
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::WaitUserInput(int Section)
{
   if(Section==1){
      if(CurrentState==caAddHead)
         seForeCasthCode->SetFocus();
      else
         deForeCasthDate->SetFocus();
   }
   else
   {
      ChangeToBrowseState(false);
      if(seForeCastdLine->Enabled)
         seForeCastdLine->SetFocus();
   }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmForeCasth::GetDataToGrid()
{
    AnsiString ItemStr,KeyStr;
    KeyStr=GetDetailValue("ForeCastdGoods");
    InitRsGoods(KeyStr);
    l_Query->LocateByKey(WideString(KeyStr));
 //   g_sdRsGoods->LocateByKey(GetDetailValue("ForeCastdGoods"));
    ItemStr=GetDetailValue("ForeCastdLine")+
            "\t" + KeyStr +
            "\t" + GetGoodsValue(gtInitRs,"GoodsName")+
            "\t" + GetGoodsValue(gtInitRs,"GoodsSpec")+
            "\t" + GetGoodsValue(gtInitRs,"GoodsUnitCode")+
            "\t" + GetDetailValue("ForeCastdQty")+
            "\t" + GetDetailValue("ForeCastdDate");
    return ItemStr;
}

//---------------------------------------------------------------------------
void __fastcall TfrmForeCasth::RefreshGridData(int mAction)
{
    int i;
    AnsiString ItemStr=GetDataToGrid();
    switch(mAction)
    {
       case 0: // Append
         sgForeCasth->AddItem(ItemStr);
       //  sgForeCasth->Row=sgForeCasth->RowCount-1;
         break;
       case 1: // Modify
         sgForeCasth->ChangeItem(ItemStr,sgForeCasth->Row);
         break;
       case 2: // Delete
         sgForeCasth->RemoveItem(sgForeCasth->Row);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::FillGridWithData()
{
    int i;
    AnsiString ItemStr;
    sgForeCasth->RowCount = 1;
    if(comServer->RecordCount > 0)
    {

⌨️ 快捷键说明

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