prepbgen.cpp

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

CPP
207
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "PrePbGen.h"
#include "PrePb.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma link "fpanel"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma resource "*.dfm"
TfrmPrePbGen *frmPrePbGen;
//---------------------------------------------------------------------------
__fastcall TfrmPrePbGen::TfrmPrePbGen(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    InitControlGroup();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::InitControlGroup()
{
    sgPrePb->RowCount = 1;
    btnOK->Enabled=false;
    FillComboBox(Handle,scPrePbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
    scPrePbFmonth->Text=g_sdFMonth;
    sePrePbFbbSupply->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::GetComObject(TComServer *comServerPtr)
{
    comServer=comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::sgPrePbDblClick(TObject *Sender)
{
    AnsiString SqlStr;
    int ARow=sgPrePb->Row;
    if (ARow >0)
    {
      if(sgPrePb->Col==1)
      {
        if (sgPrePb->Cells[1][ARow] == "√")
        {
         sgPrePb->Cells[1][ARow] =  "";
         for (int i=1;i<sgPrePb->RowCount;i++)
         {
            if(sgPrePb->Cells[1][i]=="√")
            {
               btnOK->Enabled=true;
               break;
            }
            else
               btnOK->Enabled=false;
         }
        }
        else
        {
          sgPrePb->Cells[1][ARow] =  "√";
          btnOK->Enabled=true;
        }
      }
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPrePbGen::bbSelAllClick(TObject *Sender)
{
    if(sgPrePb->RowCount <=1)
      return;
    for(int i=1;i<sgPrePb->RowCount;i++)
      sgPrePb->Cells[1][i] = "√";
    btnOK->Enabled=true;
}
//---------------------------------------------------------------------------

void __fastcall TfrmPrePbGen::bbSelNoneClick(TObject *Sender)
{
    for(int i=1;i<sgPrePb->RowCount;i++)
      sgPrePb->Cells[1][i] = "";
    btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::btnCancelClick(TObject *Sender)
{
     Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::btnOKClick(TObject *Sender)
{
    int ErrNum;
    try
    {
     StartWaitForm("正在生成工单,请稍候...");
     if(sgPrePb->RowCount>1)
     {
       try
       {
         for(int i=1;i<sgPrePb->RowCount;i++)
         {
          if(sgPrePb->Cells[1][i]=="√")
          {
            comServer->AddNew();
            SetHeadValue("PrePbCode","$frmPrePb");
            SetHeadValue("PrePbFmonth",g_sdFMonth);
            SetHeadValue("PrePbDate",g_sdCurDate);
            SetHeadValue("PrePbSupply",sgPrePb->Cells[4][i]);
            SetHeadValue("PrePbCurrency",sgPrePb->Cells[5][i]);
            frmPrePb->scPrePbCurrency->LocateKey(sgPrePb->Cells[5][i]);
            SetHeadValue("PrePbEnrate",frmPrePb->scPrePbCurrency->ItemData[2]);
            SetHeadValue("PrePbAmt",sgPrePb->Cells[8][i]);
            SetHeadValue("PrePbFrom","2");
            SetHeadValue("PrePbSettleMode",sgPrePb->Cells[6][i]);
            SetHeadValue("PrePbSettleCode",sgPrePb->Cells[7][i]);
            SetHeadValue("PrePbDesc",sgPrePb->Cells[9][i]);
            SetHeadValue("PrePbCAmt","0");
            SetHeadValue("PrePbFbbCac",sgPrePb->Cells[3][i]);
            SetHeadValue("PrePbFbbNo",sgPrePb->Cells[2][i]);
            SetHeadValue("PrePbState","1");
            SetHeadValue("PrePbUser",g_sdUserCode);
            comServer->Post();
            frmPrePb->RefreshGridData(0);
          }
         }
       }
       catch(Exception &e)
       {
        comServer->Cancel();
        this->ModalResult=0;
        throw Exception(e.Message);
       }
      }
     }
     __finally
     {
       EndWaitForm();
     }
     Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::bbQueryClick(TObject *Sender)
{
    AnsiString  ItemStr,SqlStr;
    TComResultSet *RsPrePb;
    SqlStr="Select FbbNo,FbbCac,FbbSupply,FbbCurrency,FbbSettleMode,FbbSettleNo,FbbAmt ";
    SqlStr+=" from sdfbb where FbbFmonth='"+scPrePbFmonth->Text+"' and FbbSupply='"+sePrePbFbbSupply->Text+"'";
    SqlStr+="  and FbbCancel =0 and FbbDir=-1 and FbbType=3   order by fbbNo ";
    try
    {
      StartWaitForm("正在查询数据,请稍候......");
      RsPrePb=new  TComResultSet(Handle,g_ClientHandle);
      RsPrePb->Open(SqlStr,"");
      sgPrePb->RowCount=1;
      while(RsPrePb->Eof == 0)
      {
        ItemStr= "\t"+AnsiString("") +
                 "\t"+RsPrePb->FieldByName("FbbNo")+
                 "\t"+RsPrePb->FieldByName("FbbCac")+
                 "\t"+RsPrePb->FieldByName("FbbSupply")+
                 "\t"+RsPrePb->FieldByName("FbbCurrency")+
                 "\t"+RsPrePb->FieldByName("FbbSettleMode")+
                 "\t"+RsPrePb->FieldByName("FbbSettleNo")+
                 "\t"+RsPrePb->FieldByName("FbbAmt");
        sgPrePb->AddItem(ItemStr);
        RsPrePb->MoveNext();
      }
      RsPrePb->Close();
    }
    __finally
    {
      delete RsPrePb;
      EndWaitForm();
    }
    if(sgPrePb->RowCount>1)
        btnOK->Enabled=true;
    else
        btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPrePbGen::sePrePbFbbSupplyButtonClick(TObject *Sender)
{
    AnsiString SqlStr;
    TfrmWnQuery *p;
    try
    {
        StartWaitForm("正在查询,请稍候...");
        SqlStr="002[供应商代码][供应商名称]";
        SqlStr+=" select distinct Supplycode,SupplyName from sdfbb,sdsupply  ";
        SqlStr+=" where Supplycode=FbbSupply and FbbCancel =0 and FbbDir=-1 and FbbType=3 order by  Supplycode";
        p=new TfrmWnQuery(this,"供应商查询",SqlStr);
     }
     __finally
     {
       EndWaitForm();
     }
     if(p->ShowModal()==mrOk)
     {
      sePrePbFbbSupply->Text=p->ColData[1];
     }
     delete p;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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