pzhquery.cpp

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

CPP
224
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Pzh.h"
#include "PzhQuery.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmPzh  *tPzhfrm;
TfrmPzhQuery *frmPzhQuery;
//---------------------------------------------------------------------------
__fastcall TfrmPzhQuery::TfrmPzhQuery(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
   : TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    FilterStr="";
    sSQL="";
    RecentBillCode="";
    QueryGrid=sgPzhQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::tbQueryClick(TObject *Sender)
{
    try
    {
       StartWaitForm("正在查询,请稍候...");
       FillGridWithData();
    }
    __finally
    {
      EndWaitForm();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::ClearControl(bool BringToNext)
{
    return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::GetDataFromComObject()
{
    return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::WaitUserInput()
{
    return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::RefreshGridData(int mAction)
{
    return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::DisplayBill()
{
    return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::GetBill(AnsiString BillID)
{
    return;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmPzhQuery::GetHeadQueryStr()
{
    AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
    Selectstr="select Distinct "
            +AnsiString("PzhDate, ")
            +AnsiString("PzhFmonth, ")
            +AnsiString("PzhCode, ")
            +AnsiString("PzhFvct, ")
            +AnsiString("PzhUser1, ")
            +AnsiString("PzhChecker, ")
            +AnsiString("PzhPoster, ")
            +AnsiString("PzdLine, ")
            +AnsiString("PzdZy, ")
            +AnsiString("PzdGlkm, ")
            +AnsiString("PzdDir, ")
            +AnsiString("PzdGlkmName, ")
            +AnsiString("PzdCurrency, ")
            +AnsiString("PzdWbAmt, ")
            +AnsiString("PzdAmt, ")
            +AnsiString("PzdSettleMode, ")
            +AnsiString("PzdSettleNo, ")
            +AnsiString("PzdQty, ")
            +AnsiString("PzdPrice ");

    Fromstr=" from SDVW_Pzh ";
    if(FilterStr=="")
       Wherestr="";
    else
       Wherestr=" where "+FilterStr;
    Orderstr=" order by PzhDate,PzhCode,PzdLine";
    sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
    return(sSQL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::FillGridWithData()
{
    TComResultSet *RsQuery;
    AnsiString ItemStr,TempStr,sSql;
    sSql=GetHeadQueryStr();  //取Head查询的SQL语句
    if(sSql=="")
      return;
    sgPzhQuery->RowCount=1;
    RecentBillCode="";
    RsQuery=new  TComResultSet(Handle,g_ClientHandle);
    RsQuery->Open(sSql,"");
    RsQuery->MoveFirst();
    ItemStr="";
    TempStr="";
    while(RsQuery->Eof == 0)
    {
       ItemStr = RsQuery->FieldByName("PzhDate")+
            "\t"+RsQuery->FieldByName("PzhFmonth")+
            "\t"+RsQuery->FieldByName("PzhCode");
       if(ItemStr!=TempStr)
       {
          TempStr=ItemStr;
          ItemStr=ItemStr+"\t"+RsQuery->FieldByName("PzdZy")+
            "\t"+RsQuery->FieldByName("PzdGlkm")+
            "\t"+RsQuery->FieldByName("PzdGlkmName")+
            "\t"+RsQuery->FieldByName("PzdCurrency")+
            "\t"+RsQuery->FieldByName("PzdWbAmt");
       }
       else
          ItemStr=AnsiString("")+"\t"+AnsiString("")+"\t"+AnsiString("")+
            "\t"+RsQuery->FieldByName("PzdZy")+
            "\t"+RsQuery->FieldByName("PzdGlkm")+
            "\t"+RsQuery->FieldByName("PzdGlkmName")+
            "\t"+RsQuery->FieldByName("PzdCurrency")+
            "\t"+RsQuery->FieldByName("PzdWbAmt");
       if(RsQuery->FieldByName("PzdDir")=="1")
         ItemStr=ItemStr+"\t"+RsQuery->FieldByName("PzdAmt")+"\t"+"";
       else
         ItemStr=ItemStr+"\t"+""+"\t"+RsQuery->FieldByName("PzdAmt");
       ItemStr=ItemStr+"\t"+RsQuery->FieldByName("PzhUser1")+
                       "\t"+RsQuery->FieldByName("PzhChecker")+
                       "\t"+RsQuery->FieldByName("PzhPoster")+
                       "\t"+RsQuery->FieldByName("PzdSettleMode")+
                       "\t"+RsQuery->FieldByName("PzdSettleNo")+
                       "\t"+RsQuery->FieldByName("PzdQty")+
                       "\t"+RsQuery->FieldByName("PzdPrice");
       sgPzhQuery->AddItem(ItemStr);
       RsQuery->MoveNext();
    }
    RsQuery->Close();
    delete RsQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::muFirstClick(TObject *Sender)
{
    if(sgPzhQuery->RowCount > 1)
      sgPzhQuery->Row=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::muNextClick(TObject *Sender)
{
    if(sgPzhQuery->RowCount > 1 && sgPzhQuery->Row < sgPzhQuery->RowCount-1)
       sgPzhQuery->Row=sgPzhQuery->Row+1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::muLastClick(TObject *Sender)
{
    if(sgPzhQuery->RowCount > 1)
       sgPzhQuery->Row=sgPzhQuery->RowCount-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::tbRefreshClick(TObject *Sender)
{
    if(sSQL=="")
       return;
    FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::muPreviousClick(TObject *Sender)
{
    if(sgPzhQuery->RowCount > 1 && sgPzhQuery->Row > 1)
       sgPzhQuery->Row=sgPzhQuery->Row-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::sgPzhQueryDblClick(TObject *Sender)
{
    int iRow;
    AnsiString tPzhCode;
    iRow=sgPzhQuery->Row;
    for(int i=iRow;i>0;i--)
    {
      tPzhCode=Trim(sgPzhQuery->Cells[2][i]);
      if(tPzhCode!="")
      {
        try
        {
          StartWaitForm("请稍候,正在调阅凭证......");
          tPzhfrm=new TfrmPzh(this,g_ClientHandle,"1100302","");
          tPzhfrm->comServer->FilterString="PzhCode='"+tPzhCode+"'";
          tPzhfrm->comServer->Query();
          EndWaitForm();
          tPzhfrm->Transfered=1;
          tPzhfrm->ShowModal();
        }
        catch (Exception &e)
        {
          delete tPzhfrm;
          EndWaitForm();
          throw Exception(e.Message);
        }
        delete tPzhfrm;
        break;
      }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPzhQuery::FormShow(TObject *Sender)
{
  tbQueryClick(Sender);
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

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