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

📄 wn.cpp

📁 科思ERP部分源码及控件
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Wn.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmWn *frmWn;
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
  : TRecBaseForm(Owner,chWnd,MidCode,"")
{
}
//---------------------------------------------------------------------------
__fastcall TfrmWn::TfrmWn(TComponent* Owner,HWND chWnd, AnsiString MidCode,AnsiString WhereStr,AnsiString ParamString)
  : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    int iPos;
    iPos=ParamString.Pos("\t");
    FWnWoCode=ParamString.SubString(1,iPos-1);
    ParamString=ParamString.SubString(iPos+1,ParamString.Length());

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

    SetCheckToolbarStatus(FWnWoCheck);
//    InitRsGoods();
    tbQuery->Visible=false;
}
//---------------------------------------------------------------------------
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);
          comServer->Query();
          FillGridWithData();
        }
        catch(Exception &e)
        {
          EndWaitForm();
          throw Exception(e.Message);
        }
        EndWaitForm();
      }
    }
    else
    {
      FParam=FWnWoCode;
      try
      {
      /*
        StartWaitForm("正在生成工票,请稍候...");
        comServer->Execute(FParam);
        comServer->Query();
        FillGridWithData();
      */
        StartWaitForm("正在生成工票,请稍候...");
        Query->Close();
        Query->Execute("exec sdWn_Genrate '"+FParam+"'");
        comServer->Query();
        FillGridWithData();
        GetDataFromComObject();
      }
      catch(Exception &e)
      {
        EndWaitForm();
        throw Exception(e.Message);
      }
      EndWaitForm();
    }
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWn::GetDataToGrid()
{
    AnsiString m_ItemStr;
    m_ItemStr = GetFieldValue("WnCode")+
               "\t" +GetFieldValue("WnRsDate")+
               "\t" +GetFieldValue("WnPQty")+
               "\t" +GetFieldValue("WnPwt");
    return(m_ItemStr);
}
//---------------------------------------------------------------------------
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(Handle,scWnProcess,"Select ProcessCode,ProcessName FROM sdProcess order by ProcessCode",
                 "ProcessName","ProcessCode");
    FillComboBox(Handle,scWnUnit,"Select UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
    FillComboBox(Handle,scWnLoc,"Select LocCode,LocName FROM sdLoc order by LocCode","LocName","LocCode");
    FillComboBox(Handle,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("WnCode");

    sgWn->LocateGrid(0,GetFieldValue("WnCode"));

    seWnWo->Text=GetFieldValue("WnWo");
    deWnDate->Text=GetFieldValue("WnDate");
    cbWnChkFlg->Checked=GetFieldValue("WnChkFlg")=="1";
    cbWnWxFlg->Checked=GetFieldValue("WnWxFlg")=="1";
    scWnProcess->LocateKey(GetFieldValue("WnProcess"));
    seWnGoods->Text=GetFieldValue("WnGoods");
    InitRsGoods(seWnGoods->Text);
    if(l_Query->LocateByKey(WideString(GetFieldValue("WnGoods")))==0)
      seWnGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
    else
      seWnGoodsName->Text="";

    scWnUnit->LocateKey(GetFieldValue("WnUnit"));

    seWnPQty->Text=GetFieldValue("WnPQty");
    seWnPwt->Text=GetFieldValue("WnPwt");

    scWnLoc->LocateKey(GetFieldValue("WnLoc"));

    scWnBatch->LocateKey(GetFieldValue("WnBatch"));

    deWnPsDate->Text=GetFieldValue("WnPsDate");
    deWnPeDate->Text=GetFieldValue("WnPeDate");
    deWnRsDate->Text=GetFieldValue("WnRsDate");
    deWnReDate->Text=GetFieldValue("WnReDate");
    seWnPer->Text=GetFieldValue("WnPer");
    seWnPrate->Text=GetFieldValue("WnPrate");
    seWnPeor->Text=GetFieldValue("WnPeor");
    seWnWxAmt->Text=GetFieldValue("WnWxAmt");

    seWnFwt->Text=GetFieldValue("WnFwt");
    seWnRwt->Text=GetFieldValue("WnRwt");
    seWnDwt->Text=GetFieldValue("WnDwt");
    seWnWwt->Text=GetFieldValue("WnWwt");
    seWnSwt->Text=GetFieldValue("WnSwt");
    seWnOwt->Text=GetFieldValue("WnOwt");

    seWnCQty->Text=GetFieldValue("WnCQty");
    seWnEQty->Text=GetFieldValue("WnEQty");
    seWnWQty->Text=GetFieldValue("WnWQty");
    seWnRQty->Text=GetFieldValue("WnRQty");
    seWnSQty->Text=GetFieldValue("WnSQty");

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

    memWnDesc->Text=GetFieldValue("WnDesc");
    SetCheckToolbarStatus(FWnWoCheck);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::SendDataToComObject()
{
    SetFieldValue("WnDesc",memWnDesc->Text);
    SetFieldValue("WnPsDate",deWnPsDate->Text);
    SetFieldValue("WnPeDate",deWnPeDate->Text);
    SetFieldValue("WnRsDate",deWnRsDate->Text);
    SetFieldValue("WnReDate",deWnReDate->Text);
    SetFieldValue("WnPwt",seWnPwt->Text);
    SetFieldValue("WnPer",seWnPer->Text);
    SetFieldValue("WnPeor",seWnPeor->Text);
    SetFieldValue("WnPrate",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)
{
    tbControl->Enabled=false;
    if(comServer->RecordCount>0){
       FillGridWithData();
       comServer->MoveFirst();
       GetDataFromComObject();
    }
    else{
       ClearControl(false);
       sgWn->RowCount=1;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWn::sgWnClick(TObject *Sender)
{
    int ARow=sgWn->Row;
    if(ARow > 0)
    {
      comServer->LocateByIndex(ARow);
      // comServer->LocateByKey(WideString(sgWn->TextMatrix[ARow][0]));
      GetDataFromComObject();
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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