glbmqtyneedget.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 423 行 · 第 1/2 页
CPP
423 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "GlbmQtyNeedGet.h"
#include "GlbmQF_NeedGet.h"
#include "Pzh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmGlbmQtyNeedGet *frmGlbmQtyNeedGet;
TfrmGlbmQF_NeedGet *Tmp_NeedGet;
TfrmPzh *TmpNeedGet;
//---------------------------------------------------------------------------
__fastcall TfrmGlbmQtyNeedGet::TfrmGlbmQtyNeedGet(TComponent* Owner)
: TQueryBaseForm(Owner)
{
//InitGridControl();
RstGlkm=NULL;
labMemory->Caption="";
QueryGrid=sgGlbmQtyNeedGet;
}
//---------------------------------------------------------------------------
__fastcall TfrmGlbmQtyNeedGet::TfrmGlbmQtyNeedGet(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TQueryBaseForm(Owner, chWnd, MidCode, WhereStr)
{
//InitGridControl();
RstGlkm=NULL;
labMemory->Caption="";
QueryGrid=sgGlbmQtyNeedGet;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::InitGridControl()
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::tbQueryClick(TObject *Sender)
{
if(!ShowQueryWindow())
return;
try{
StartWaitForm("正在查询,请稍候...");
if(FGlbQtyAmtSign!=1)
FillRstGlkmWithData();
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
bool __fastcall TfrmGlbmQtyNeedGet::ShowQueryWindow()
{
if(FGlbQtyAmtSign==1)
return true;
Tmp_NeedGet=new TfrmGlbmQF_NeedGet(this);
Tmp_NeedGet->Caption="应收帐款明细查询过滤";
Tmp_NeedGet->FQtyAmtSign="1";
Tmp_NeedGet->ShowModal();
FCancelQuery=Tmp_NeedGet->CancelQuery;
if(FCancelQuery==true)
{
delete Tmp_NeedGet;
return false;
}
FGlbSQLFilStr=Tmp_NeedGet->CreateGlbSQLString;
FPzhSQLFilStr=Tmp_NeedGet->CreatePzhSQLString;
FMfcmonthInfo=Tmp_NeedGet->FmonthInfo;
delete Tmp_NeedGet;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::ClearControl(bool BringToNext)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::GetDataFromComObject()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::WaitUserInput()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::RefreshGridData(int mAction)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::DisplayBill()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::GetBill(AnsiString BillID)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::FillRstGlkmWithData()
{
AnsiString tSQL;
RstGlkm=new TComResultSet(Handle,g_ClientHandle);
if(FGlbSQLFilStr!="")
{
tSQL="select GlbFmonth,GlbGlkm from sdGlb,sdGlkm"; // and GlkmSl=1
tSQL+=" where GlbGlkm Like '113%' and GlbGlkm=GlkmCode and "+ FGlbSQLFilStr+ " order by GlbFmonth,GlbGlkm";
}
else
{
tSQL="select GlbFmonth,GlbGlkm from sdGlb,sdGlkm"; // and GlkmSl=1
tSQL+=" where GlbGlkm Like '113%' and GlbGlkm=GlkmCode order by GlbFmonth,GlbGlkm";
}
RstGlkm->Open(tSQL,"GlbGlkm");
if(RstGlkm->RecordCount==0)
{
sgGlbmQtyNeedGet->RowCount=3;
throw Exception("当前查询条件下的帐目不存在!");
}
else
RstGlkm->MoveFirst();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlbmQtyNeedGet::GetHeadQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
Selectstr="select PzhDate,PzhFvct,FvctName,PzhCode,NoteBookText=IsNULL(NoteBookText,''),PzdDir,PzdGlkm,GlkmName,";
Selectstr+="PzdQty,CurrencyName=IsNULL(CurrencyName,''),UnitName=IsNULL(UnitName,''),PzdAmt,GlkmDir";
Fromstr=" from sdPzh,sdPzd,sdGlkm,sdNoteBook,sdUnit,sdCurrency,sdFvct";
if(FPzhSQLFilStr=="")
{
if(FGlbQtyAmtSign==1)
{
Wherestr=" where PzhCode=PzdCode and PzdZy*=NoteBookCode and PzdUnit*=UnitCode and PzdGlkm=GlkmCode and PzhPost=1";
Wherestr+=" And PzdCurrency*=CurrencyCode And PzhFmonth='"+FQtyAmtFmonth+"' And PzdGlkm Like '113%'";//'"+FQtyAmtGlkm+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '113%')"; //FQtyAmtGlkm
Wherestr+=" And pzhFvct=FvctCode";
}
else
{
Wherestr=" where PzhCode=PzdCode and PzdZy*=NoteBookCode and PzdUnit*=UnitCode and PzdGlkm=GlkmCode and PzhPost=1";
Wherestr+=" And PzdCurrency*=CurrencyCode And PzhFmonth='"+RstGlkm->FieldByName("GlbFmonth")+"' And PzdGlkm Like '113%'";//'"+RstGlkm->FieldByName("GlbGlkm")+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '113%')";//'"+RstGlkm->FieldByName("GlbGlkm")+"%')";
Wherestr+=" And pzhFvct=FvctCode";
}
}
else
{
if(FGlbQtyAmtSign==1)
{
Wherestr=" where PzhCode=PzdCode and PzdZy*=NoteBookCode and PzdUnit*=UnitCode and PzdGlkm=GlkmCode and PzhPost=1";
Wherestr+=" And PzdCurrency*=CurrencyCode And PzhFmonth='"+FQtyAmtFmonth+"' And PzdGlkm Like '113%'";//'"+FQtyAmtGlkm+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '113%')";//'"+FQtyAmtGlkm+"%')";
Wherestr+=" And pzhFvct=FvctCode";
}
else
{
Wherestr=" where PzhCode=PzdCode and PzdZy*=NoteBookCode and PzdUnit*=UnitCode and PzdGlkm=GlkmCode and PzhCheck=1";
Wherestr+=" And PzdCurrency*=CurrencyCode And PzhFmonth='"+RstGlkm->FieldByName("GlbFmonth")+"' And PzdGlkm Like '113%'";//'"+RstGlkm->FieldByName("GlbGlkm")+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode And PzdGlkm Like '113%')";//'"+RstGlkm->FieldByName("GlbGlkm")+"%')";
Wherestr+=" And pzhFvct=FvctCode";
}
Wherestr=Wherestr+" And "+FPzhSQLFilStr;
}
Orderstr=" order by PzhDate,PzdGlkm";
sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(sSQL);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlbmQtyNeedGet::GetSpace(int iNum)
{
AnsiString strSpace;
for(int i=1;i<iNum;i++)
strSpace=strSpace+AnsiString(" ");
return strSpace;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyNeedGet::FillGridWithData()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
sSql=GetHeadQueryStr(); //取Head查询的SQL语句
if(sSql=="")
return;
sgGlbmQtyNeedGet->RowCount=1;
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
ItemStr="";
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?