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

📄 wn.cpp

📁 速达开源ERP系统
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wn.h"
#include "func.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma resource "*.dfm"

TfrmWn *frmWn;
//---------------------------------------------------------------------------

__fastcall TfrmWn::TfrmWn(TComponent* Owner)
  : TRecBaseForm(Owner,euSdWn,"")
{
}
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,AnsiString FWoCode,int FWoCheck,int FWoCancel)
  : TRecBaseForm(Owner,euSdWn,"WnWo='"+FWoCode+"'")
{
    FWnWoCode=FWoCode;
    FWnWoCheck=FWoCheck;
    FWnWoCancel=FWoCancel;
    SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GenrateDoc()
{
    AnsiString FParam;
    int FErrNum;
    if(comServer->RecordCount>0)
    {
      if(Application->MessageBox("是否重新生成工票?",NULL,MB_YESNO)==IDYES)
      {
        try
        {
          StartWaitForm("正在生成工票,请稍候...");
          FParam=FWnWoCode;
          comServer->Execute(FParam);
          FillGridWithData();
        }
        __finally
        {
          EndWaitForm();
        }
      }
    }
    else
    {
      FParam=FWnWoCode;
      try
      {
        StartWaitForm("正在生成工票,请稍候...");
        comServer->Execute(FParam);
        FillGridWithData();
      }
      __finally
      {
        EndWaitForm();
      }
    }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWn::GetDataToGrid()
{
    AnsiString m_ItemStr;
    m_ItemStr = GetFieldValue(fiWnCode)+
               "\t" +GetFieldValue(fiWnRsDate)+
               "\t" +GetFieldValue(fiWnPQty)+
               "\t" +GetFieldValue(fiWnPwt);
    return(m_ItemStr);
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmWn::GetFieldValue(int FieldIndex)
{
     return ReadFieldValue(comServer,FieldIndex);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SetFieldValue(int FieldIndex,AnsiString Value)
{
     WriteFieldValue(comServer,FieldIndex,Value);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::InitEditControl()
{
    ClientGroup->AddComponent(2,false,true,true, pgWn,pgWn->Name);
    ClientGroup->AddComponent(2,true,true,false, sgWn,sgWn->Name);
    ClientGroup->AddComponent(2,true,false,true, deWnPsDate,deWnPsDate->Name);
    ClientGroup->AddComponent(2,true,false,true, deWnPeDate,deWnPeDate->Name);
    ClientGroup->AddComponent(2,true,false,true, deWnRsDate,deWnRsDate->Name);
    ClientGroup->AddComponent(2,true,false,true, deWnReDate,deWnReDate->Name);
    ClientGroup->AddComponent(2,true,false,true, memWnDesc,memWnDesc->Name);
    ClientGroup->AddComponent(2,true,false,true, seWnPwt,seWnPwt->Name);
    ClientGroup->AddComponent(2,true,false,true, seWnPer,seWnPer->Name);
    ClientGroup->AddComponent(2,true,false,true, seWnPeor,seWnPeor->Name);
    ClientGroup->AddComponent(2,true,false,true, seWnPrate,seWnPrate->Name);

    FillComboBox(scWnProcess,"Select ProcessCode,ProcessName FROM sdProcess order by ProcessCode",
                 "ProcessName","ProcessCode");
    FillComboBox(scWnUnit,"Select UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
    FillComboBox(scWnLoc,"Select LocCode,LocName FROM sdLoc order by LocCode","LocName","LocCode");
    FillComboBox(scWnBatch,"Select BatchCode,BatchDesc FROM sdBatch order by BatchCode","BatchDesc","BatchCode");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::ClearControl(bool BringToNext)
{
    if (!BringToNext)
    {
        seWnCode->Text="";
        seWnWo->Text="";
        deWnDate->Text=g_sdCurDate;
        cbWnChkFlg->Checked=false;
        cbWnWxFlg->Checked=false;
        scWnProcess->ItemIndex=-1;
        seWnGoods->Text="";
        seWnGoodsName->Text="";
        scWnUnit->ItemIndex=-1;
        seWnPQty->Text="0.00";
        seWnPwt->Text="0.00";
        scWnLoc->ItemIndex=-1;
        scWnBatch->ItemIndex=-1;

        deWnPsDate->Text="";
        deWnPeDate->Text="";
        deWnRsDate->Text="";
        deWnReDate->Text="";
        seWnPer->Text="0.00";
        seWnPrate->Text="0.00";
        seWnPeor->Text="0.00";
        seWnWxAmt->Text="0.00";

        seWnFwt->Text="0.00";
        seWnRwt->Text="0.00";
        seWnDwt->Text="0.00";
        seWnWwt->Text="0.00";
        seWnSwt->Text="0.00";
        seWnOwt->Text="0.00";

        seWnCQty->Text="0";
        seWnEQty->Text="0";
        seWnWQty->Text="0";
        seWnRQty->Text="0";
        seWnSQty->Text="0";

        chkWnFshFlg->Checked=false;
        deWnFshDate->Text="";

        memWnDesc->Text="";
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::GetDataFromComObject()
{
    seWnCode->Text=GetFieldValue(fiWnCode);

    sgWn->LocateGrid(0,GetFieldValue(fiWnCode));

    seWnWo->Text=GetFieldValue(fiWnWo);
    deWnDate->Text=GetFieldValue(fiWnDate);
    cbWnChkFlg->Checked=GetFieldValue(fiWnChkFlg)=="1";
    cbWnWxFlg->Checked=GetFieldValue(fiWnWxFlg)=="1";
    scWnProcess->LocateKey(GetFieldValue(fiWnProcess));
    seWnGoods->Text=GetFieldValue(fiWnGoods);
    if(g_sdRsGoods->LocateByKey(WideString(GetFieldValue(fiWnGoods)))==0)
      seWnGoodsName->Text=GetGoodsValue("GoodsName");
    else
      seWnGoodsName->Text="";

    scWnUnit->LocateKey(GetFieldValue(fiWnUnit));

    seWnPQty->Text=GetFieldValue(fiWnPQty);
    seWnPwt->Text=GetFieldValue(fiWnPwt);

    scWnLoc->LocateKey(GetFieldValue(fiWnLoc));

    scWnBatch->LocateKey(GetFieldValue(fiWnBatch));

    deWnPsDate->Text=GetFieldValue(fiWnPsDate);
    deWnPeDate->Text=GetFieldValue(fiWnPeDate);
    deWnRsDate->Text=GetFieldValue(fiWnRsDate);
    deWnReDate->Text=GetFieldValue(fiWnReDate);
    seWnPer->Text=GetFieldValue(fiWnPer);
    seWnPrate->Text=GetFieldValue(fiWnPrate);
    seWnPeor->Text=GetFieldValue(fiWnPeor);
    seWnWxAmt->Text=GetFieldValue(fiWnWxAmt);

    seWnFwt->Text=GetFieldValue(fiWnFwt);
    seWnRwt->Text=GetFieldValue(fiWnRwt);
    seWnDwt->Text=GetFieldValue(fiWnDwt);
    seWnWwt->Text=GetFieldValue(fiWnWwt);
    seWnSwt->Text=GetFieldValue(fiWnSwt);
    seWnOwt->Text=GetFieldValue(fiWnOwt);

    seWnCQty->Text=GetFieldValue(fiWnCQty);
    seWnEQty->Text=GetFieldValue(fiWnEQty);
    seWnWQty->Text=GetFieldValue(fiWnWQty);
    seWnRQty->Text=GetFieldValue(fiWnRQty);
    seWnSQty->Text=GetFieldValue(fiWnSQty);

    chkWnFshFlg->Checked=GetFieldValue(fiWnFshFlg)=="1";
    deWnFshDate->Text=GetFieldValue(fiWnFshDate);
    if(chkWnFshFlg->Checked)
       SetCloseToolbarStatus(true);
    else
       SetCloseToolbarStatus(false);

    memWnDesc->Text=GetFieldValue(fiWnDesc);
    SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SendDataToComObject()
{
    SetFieldValue(fiWnDesc,memWnDesc->Text);
    SetFieldValue(fiWnPsDate,deWnPsDate->Text);
    SetFieldValue(fiWnPeDate,deWnPeDate->Text);
    SetFieldValue(fiWnRsDate,deWnRsDate->Text);
    SetFieldValue(fiWnReDate,deWnReDate->Text);
    SetFieldValue(fiWnPwt,seWnPwt->Text);
    SetFieldValue(fiWnPer,seWnPer->Text);
    SetFieldValue(fiWnPeor,seWnPeor->Text);
    SetFieldValue(fiWnPrate,seWnPrate->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::WaitUserInput()
{
    pgWn->ActivePage=tsWnBase;
    if(deWnRsDate->Enabled)
      deWnRsDate->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::RefreshGridData(int mAction)
{
    int i;
    AnsiString m_ItemStr;
    m_ItemStr=GetDataToGrid();
    switch(mAction)
    {
      case 0:   //Add
        sgWn->AddItem(m_ItemStr);
        sgWn->Row=sgWn->RowCount-1;
        break;
      case 1:  //Edit
        i = sgWn->Row;
        sgWn->ChangeItem(m_ItemStr,i);
        break;
      case 2:  //Del
        sgWn->RemoveItem(sgWn->Row);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FillGridWithData()
{
     AnsiString m_ItemStr;
     comServer->MoveFirst();
     sgWn->RowCount=1;
     while(comServer->Eof == 0)
     {
        m_ItemStr =GetDataToGrid();
        sgWn->AddItem(m_ItemStr);
        comServer->MoveNext();
     }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormShow(TObject *Sender)
{
    if(comServer->RecordCount>0){
       FillGridWithData();
       comServer->MoveFirst();
       GetDataFromComObject();
    }
    else{
       ClearControl(false);
       sgWn->RowCount=1;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormClose(TObject *Sender, TCloseAction &Action)
{
    SetInifileValue(this->Name,"AutoQuery","1",ExtractFileDir(Application->ExeName)+"\\sdFormSet.dat");
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::sgWnClick(TObject *Sender)
{
    int ARow=sgWn->Row;
    if(ARow > 0)
       comServer->LocateByKey(WideString(sgWn->TextMatrix[ARow][0]));
    if(!comServer->Eof)
       GetDataFromComObject();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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