glbmqtyamt.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 440 行 · 第 1/2 页
CPP
440 行
//---------------------------------------------------------------------------
#include <vcl.h>
#include "GlbmQtyAmt.h"
#include "GlbmQF.h"
#include "Pzh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmGlbmQtyAmt *frmGlbmQtyAmt;
TfrmGlbmQF *GlbmQtyAmtF;
TfrmPzh *GlbmQtyAmtP;
//---------------------------------------------------------------------------
__fastcall TfrmGlbmQtyAmt::TfrmGlbmQtyAmt(TComponent* Owner)
: TQueryBaseForm(Owner)
{
InitGridControl();
RstGlkm=NULL;
labMemory->Caption="";
QueryGrid=sgGlbmQtyAmt;
}
//---------------------------------------------------------------------------
__fastcall TfrmGlbmQtyAmt::TfrmGlbmQtyAmt(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TQueryBaseForm(Owner, chWnd, MidCode, WhereStr)
{
InitGridControl();
RstGlkm=NULL;
labMemory->Caption="";
QueryGrid=sgGlbmQtyAmt;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::InitGridControl()
{
sgGlbmQtyAmt->Cells[0][0]="日期"; sgGlbmQtyAmt->Cells[0][1]="日期";
sgGlbmQtyAmt->Cells[1][0]="凭证编号"; sgGlbmQtyAmt->Cells[1][1]="凭证编号";
sgGlbmQtyAmt->Cells[2][0]="科目代码"; sgGlbmQtyAmt->Cells[2][1]="科目代码";
sgGlbmQtyAmt->Cells[3][0]="摘要"; sgGlbmQtyAmt->Cells[3][1]="摘要";
sgGlbmQtyAmt->Cells[4][0]="单位"; sgGlbmQtyAmt->Cells[4][1]="单位";
sgGlbmQtyAmt->Cells[5][0]="币种"; sgGlbmQtyAmt->Cells[5][1]="币种";
sgGlbmQtyAmt->Cells[6][0]="本期收入"; sgGlbmQtyAmt->Cells[6][1]="数量";
sgGlbmQtyAmt->Cells[7][0]="本期收入"; sgGlbmQtyAmt->Cells[7][1]="金额";
sgGlbmQtyAmt->Cells[8][0]="本期发出"; sgGlbmQtyAmt->Cells[8][1]="数量";
sgGlbmQtyAmt->Cells[9][0]="本期发出"; sgGlbmQtyAmt->Cells[9][1]="金额";
sgGlbmQtyAmt->Cells[10][0]="期末结存"; sgGlbmQtyAmt->Cells[10][1]="数量";
sgGlbmQtyAmt->Cells[11][0]="期末结存"; sgGlbmQtyAmt->Cells[11][1]="金额";
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::tbQueryClick(TObject *Sender)
{
if(!ShowQueryWindow())
return;
try{
StartWaitForm("正在查询,请稍候...");
if(FGlbQtyAmtSign!=1)
FillRstGlkmWithData();
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
bool __fastcall TfrmGlbmQtyAmt::ShowQueryWindow()
{
if(FGlbQtyAmtSign==1)
return true;
GlbmQtyAmtF=new TfrmGlbmQF(this);
GlbmQtyAmtF->Caption="数量金额明细帐查询过滤";
GlbmQtyAmtF->FQtyAmtSign="1";
GlbmQtyAmtF->ShowModal();
FCancelQuery=GlbmQtyAmtF->CancelQuery;
if(FCancelQuery==true)
{
delete GlbmQtyAmtF;
return false;
}
FGlbSQLFilStr=GlbmQtyAmtF->CreateGlbSQLString;
FPzhSQLFilStr=GlbmQtyAmtF->CreatePzhSQLString;
FMfcmonthInfo=GlbmQtyAmtF->FmonthInfo;
delete GlbmQtyAmtF;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::ClearControl(bool BringToNext)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::GetDataFromComObject()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::WaitUserInput()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::RefreshGridData(int mAction)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::DisplayBill()
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::GetBill(AnsiString BillID)
{
return;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::FillRstGlkmWithData()
{
AnsiString tSQL;
RstGlkm=new TComResultSet(Handle,g_ClientHandle);
if(FGlbSQLFilStr!="")
{
tSQL="select GlbFmonth,GlbGlkm from sdGlb,sdGlkm";
tSQL+=" where GlbGlkm=GlkmCode and GlkmSl=1 and "+ FGlbSQLFilStr+ " order by GlbFmonth,GlbGlkm";
}
else
{
tSQL="select GlbFmonth,GlbGlkm from sdGlb,sdGlkm";
tSQL+=" where GlbGlkm=GlkmCode and GlkmSl=1 order by GlbFmonth,GlbGlkm";
}
RstGlkm->Open(tSQL,"GlbGlkm");
if(RstGlkm->RecordCount==0)
{
sgGlbmQtyAmt->RowCount=3;
throw Exception("当前查询条件下的帐目不存在!");
}
else
RstGlkm->MoveFirst();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlbmQtyAmt::GetHeadQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
Selectstr="select PzhDate,PzhFvct,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";
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 '"+FQtyAmtGlkm+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '"+FQtyAmtGlkm+"%')";
}
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 '"+RstGlkm->FieldByName("GlbGlkm")+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '"+RstGlkm->FieldByName("GlbGlkm")+"%')";
}
}
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 '"+FQtyAmtGlkm+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode and PzdGlkm Like '"+FQtyAmtGlkm+"%')";
}
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 '"+RstGlkm->FieldByName("GlbGlkm")+"%'";
Wherestr+=" And exists(select * from sdPzd where PzdCode=sdPzh.PzhCode And PzdGlkm Like '"+RstGlkm->FieldByName("GlbGlkm")+"%')";
}
Wherestr=Wherestr+" And "+FPzhSQLFilStr;
}
Orderstr=" order by PzhDate,PzdGlkm";
sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(sSQL);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmGlbmQtyAmt::GetSpace(int iNum)
{
AnsiString strSpace;
for(int i=1;i<iNum;i++)
strSpace=strSpace+AnsiString(" ");
return strSpace;
}
//---------------------------------------------------------------------------
void __fastcall TfrmGlbmQtyAmt::FillGridWithData()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
sSql=GetHeadQueryStr(); //取Head查询的SQL语句
if(sSql=="")
return;
sgGlbmQtyAmt->RowCount=2;
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?