appbgen.cpp

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

CPP
229
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Appb.h"
#include "AppbGen.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "StdBaseForm"
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma resource "*.dfm"
TfrmAppbGen *frmAppbGen;
//---------------------------------------------------------------------------
__fastcall TfrmAppbGen::TfrmAppbGen(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    InitControlGroup();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::InitControlGroup()
{
    sgAppb->RowCount = 1;
    btnOK->Enabled=false;
    FillComboBox(Handle,scAppbFmonth,"SELECT Fcmonth FROM sdFc","Fcmonth");
    scAppbFmonth->Text=g_sdFMonth;
    seAppbFbbSupply->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::GetComObject(TComServer *comServerPtr)
{
    comServer=comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::sgAppbDblClick(TObject *Sender)
{
    AnsiString SqlStr;
    int ARow=sgAppb->Row;
    if (ARow >0)
    {
      if(sgAppb->Col==1)
      {
        if (sgAppb->Cells[1][ARow] == "√")
        {
         sgAppb->Cells[1][ARow] =  "";
         for (int i=1;i<sgAppb->RowCount;i++)
         {
            if(sgAppb->Cells[1][i]=="√")
            {
               btnOK->Enabled=true;
               break;
            }
            else
               btnOK->Enabled=false;
         }
        }
        else
        {
          sgAppb->Cells[1][ARow] =  "√";
          btnOK->Enabled=true;
        }
      }
      else if(sgAppb->Col==2 && sgAppb->Cells[1][ARow] == "√")
      {
        SqlStr="002[付款类型编码][付款类型名称]select Pbtcode,Pbtname from sdPbt order by Pbtcode";
        TfrmWnQuery *p;
        try
        {
          StartWaitForm("正在查询,请稍候...");
          p=new TfrmWnQuery(this,"付款类型查询",SqlStr);
        }
        __finally
        {
          EndWaitForm();
        }
        if(p->ShowModal()==mrOk)
        {
          sgAppb->Cells[2][ARow]=p->ColData[1];
        }
        delete p;
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbSelAllClick(TObject *Sender)
{
    if(sgAppb->RowCount <=1)
      return;
    for(int i=1;i<sgAppb->RowCount;i++)
      sgAppb->Cells[1][i] = "√";
    btnOK->Enabled=true;

}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbSelNoneClick(TObject *Sender)
{
    for(int i=1;i<sgAppb->RowCount;i++)
      sgAppb->Cells[1][i] = "";
    btnOK->Enabled=false;

}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::btnOKClick(TObject *Sender)
{
    int ErrNum;
    try
    {
     StartWaitForm("正在生成工单,请稍候...");
     if(sgAppb->RowCount>1)
     {
       try
       {
         for(int i=1;i<sgAppb->RowCount;i++)
         {
          if(sgAppb->Cells[1][i]=="√")
          {
            comServer->AddNew();
            SetHeadValue("AppbCode","$frmAppb");
            SetHeadValue("AppbFmonth",g_sdFMonth);
            SetHeadValue("AppbDate",g_sdCurDate);
            SetHeadValue("AppbSupply",sgAppb->Cells[5][i]);
            SetHeadValue("AppbCurrency",sgAppb->Cells[6][i]);
            frmAppb->scAppbCurrency->LocateKey(sgAppb->Cells[6][i]);
            SetHeadValue("AppbEnrate",frmAppb->scAppbCurrency->ItemData[2]);
            SetHeadValue("AppbAmt",sgAppb->Cells[9][i]);
            SetHeadValue("AppbFrom","2");
            SetHeadValue("AppbSettleMode",sgAppb->Cells[7][i]);
            SetHeadValue("AppbSettleCode",sgAppb->Cells[8][i]);
            SetHeadValue("AppbType",sgAppb->Cells[2][i]);
            SetHeadValue("AppbDesc",sgAppb->Cells[10][i]);
            SetHeadValue("AppbCAmt","0");
            SetHeadValue("AppbFbbCac",sgAppb->Cells[4][i]);
            SetHeadValue("AppbFbbNo",sgAppb->Cells[3][i]);
            SetHeadValue("AppbState","1");
            SetHeadValue("AppbUser",g_sdUserCode);
            comServer->Post();
            frmAppb->RefreshGridData(0);
          }
         }
       }
       catch(Exception &e)
       {
        comServer->Cancel();
        this->ModalResult=0;
        throw Exception(e.Message);
       }
      }
     }
     __finally
     {
       EndWaitForm();
     }
     Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::btnCancelClick(TObject *Sender)
{
     Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::seAppbFbbSupplyButtonClick(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)
     {
      seAppbFbbSupply->Text=p->ColData[1];
     }
     delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmAppbGen::bbQueryClick(TObject *Sender)
{
    AnsiString  ItemStr,SqlStr;
    TComResultSet *RsAppb;
    SqlStr="Select FbbNo,FbbCac,FbbSupply,FbbCurrency,FbbSettleMode,FbbSettleNo,FbbAmt ";
    SqlStr+=" from sdfbb where FbbFmonth='"+scAppbFmonth->Text+"' and FbbSupply='"+seAppbFbbSupply->Text+"'";
    SqlStr+="  and FbbCancel =0 and FbbDir=-1 and FbbType=3   order by fbbNo ";
    try
    {
      StartWaitForm("正在查询数据,请稍候......");
      RsAppb=new  TComResultSet(Handle,g_ClientHandle);
      RsAppb->Open(SqlStr,"");
      sgAppb->RowCount=1;
      while(RsAppb->Eof == 0)
      {
        ItemStr= "\t"+AnsiString("") +
                 "\t"+" "+
                 "\t"+RsAppb->FieldByName("FbbNo")+
                 "\t"+RsAppb->FieldByName("FbbCac")+
                 "\t"+RsAppb->FieldByName("FbbSupply")+
                 "\t"+RsAppb->FieldByName("FbbCurrency")+
                 "\t"+RsAppb->FieldByName("FbbSettleMode")+
                 "\t"+RsAppb->FieldByName("FbbSettleNo")+
                 "\t"+RsAppb->FieldByName("FbbAmt");
        sgAppb->AddItem(ItemStr);
        RsAppb->MoveNext();
      }
      RsAppb->Close();
    }
    __finally
    {
      delete RsAppb;
      EndWaitForm();
    }
    if(sgAppb->RowCount>1)
       btnOK->Enabled=true;
    else
       btnOK->Enabled=false;

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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