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

📄 forecasth.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "ForeCasth.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"

TfrmForeCasth *frmForeCasth;
//---------------------------------------------------------------------------
__fastcall TfrmForeCasth::TfrmForeCasth(TComponent* Owner)
    : TBillBaseForm(Owner,euSdForeCasth,"")
{
    AutoCtl=seForeCasthCode;
}
//---------------------------------------------------------------------------
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(scForeCasthPlanner,"SELECT PlannerCode,UserName FROM sdPlanner,sdUser where PlannerCode=UserCode order by PlannerCode",
                 "UserName","PlannerCode");
    //ForeCastd
    FillComboBox(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(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(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)
        {
          seForeCastdLine->Text =AnsiString(comServer->ItemCount+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(fiForeCasthCode);
        deForeCasthDate->Text = GetHeadValue(fiForeCasthDate);
        scForeCasthPlanner->LocateKey(GetHeadValue(fiForeCasthPlanner));
        cheCheck->Checked = GetHeadValue(fiForeCasthCheck)=="1";
        if(cheCheck->Checked)
           SetCheckToolbarStatus(true);
        else
           SetCheckToolbarStatus(false);
        labCheckDate->Caption = GetHeadValue(fiForeCasthCheckDate);
        labChecker->Caption  = GetHeadValue(fiForeCasthChecker);
        LabSysDate->Caption  = GetHeadValue(fiForeCasthSysDate);
        memForeCasthDesc->Text = GetHeadValue(fiForeCasthDesc);
    }
    else
    {
        seForeCastdLine->Text = GetDetailValue(fiForeCastdLine);
        AnsiString FTstr=GetDetailValue(fiForeCastdGoods);
        seForeCastdGoods->Text = FTstr;
        g_sdRsGoods->LocateByKey(WideString(FTstr));
        seForeCastdGoodsName->Text=GetGoodsValue("GoodsName");
        scForeCastdUnit->LocateKey(GetGoodsValue("GoodsUnitCode"));
        scForeCastdType->ItemIndex=StrToInt(GetGoodsValue("GoodsType"))-1;
        scForeCastdFrom->ItemIndex=StrToInt(GetGoodsValue("GoodsFrom"))-1;
        seForeCastdEoq->Text=GetGoodsValue("GoodsEoq");
        seForeCastdEoi->Text=GetGoodsValue("GoodsEoi");
        seForeCastdSafeQty->Text=GetGoodsValue("GoodsSafeQty");
        seForeCastdQty->Text = GetDetailValue(fiForeCastdQty);
        deForeCastdDate->Text= GetDetailValue(fiForeCastdDate);
        seForeCastdGQty->Text= GetDetailValue(fiForeCastdGQty);
        memForeCastdDesc->Text = GetDetailValue(fiForeCastdDesc);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmForeCasth::SendDataToComObject(int Section)
{
    if(Section==1)
    {
        SetHeadValue(fiForeCasthCode,seForeCasthCode->Text);
        SetHeadValue(fiForeCasthDate,deForeCasthDate->Text);
        SetHeadValue(fiForeCasthPlanner,scForeCasthPlanner->ItemData[1]);
        SetHeadValue(fiForeCasthDesc,memForeCasthDesc->Text);
    }
    else
    {
        SetDetailValue(fiForeCastdCode,seForeCasthCode->Text);
        SetDetailValue(fiForeCastdLine,seForeCastdLine->Text);
        SetDetailValue(fiForeCastdGoods,seForeCastdGoods->Text);
        SetDetailValue(fiForeCastdQty,seForeCastdQty->Text);
        SetDetailValue(fiForeCastdDate,deForeCastdDate->Text);
        SetDetailValue(fiForeCastdDesc,memForeCastdDesc->Text);
    }
}
//---------------------------------------------------------------------------

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(fiForeCastdGoods);
    g_sdRsGoods->LocateByKey(WideString(KeyStr));
    ItemStr=GetDetailValue(fiForeCastdLine)+
            "\t" + KeyStr +
            "\t" + GetGoodsValue("GoodsName")+
            "\t" + GetGoodsValue("GoodsUnitCode")+
            "\t" + GetDetailValue(fiForeCastdQty)+
            "\t" + GetDetailValue(fiForeCastdDate);
    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

⌨️ 快捷键说明

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