📄 wephreport.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "WephReport.h"
#include "VW_Wepd.h"
#include "WnQuery.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "GroupBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmWephReport *frmWephReport;
//---------------------------------------------------------------------------
__fastcall TfrmWephReport::TfrmWephReport(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TGroupBaseForm(Owner,chWnd,MidCode,WhereStr)
{
OwGrid=sgWephReport;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWephReport::InitEditControl()
{
AddGroupItem(edWephCodeBox,edWephCode,"WephCode","WephCode","\t单据编号");
AddGroupItem(cbWephFMonthBox,cbWephFMonth,"WephFmonth","WephFmonth","\t财务月份");
AddGroupItem(cbWephStateBox,cbWephState,"WephState1","WephState1","\t状态");
AddGroupItem(cbWephPosTypeBox,cbWephPosType,"WephPosType","WephPosType","\t收发类型");
l_SumField ="";
l_SumField+="";
l_SumDisp="";
l_DefField="WephCode,WephFmonth,WephDate,WephState1,WephPosType,WephCheck1,WephChecker,WephCheckDate,WephUser1 from SDVW_Weph ";
l_DefDisp="\t单据编号\t财务月份\t制单日期\t状态\t收发类型\t审核\t审核日期\t审核人\t制单人";
s_DateField="WephDate";
FillComboBox(Handle,cbWephFMonth,"SELECT FcMonth FROM sdFc order by FcMonth","FcMonth");
FillComboBox(Handle,cbWephState,"SELECT DISTINCT WephState1=case WephState when 1 then '已登记' when 2 then '已审核' when 3 then '已入库' end from sdWeph","WephState1","WephState1");
FillComboBox(Handle,cbWephPosType,"SELECT DISTINCT WephPosType=(select PosTypeName from sdPosType where PosTypeCode=WephPosType) FROM sdWeph","WephPosType","WephPosType");
}
//---------------------------------------------------------------------------
void __fastcall TfrmWephReport::edWephCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="004[单据编号][财务月份][制单日期][状态]select WephCode,WephFmonth,WephDate,WephState1 from SDVW_Weph order by WephDate DESC,WephCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"完成品入库单号查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
edWephCode->Text=(p->ColData[1]);
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWephReport::dtDateEnChange(TObject *Sender)
{
dtDateBg->Text=dtDateEn->Text;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWephReport::sgWephDblClick(TObject *Sender)
{
int ARow=sgWephReport->Row;
if(ARow>0)
FillGridWithDetail();
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWephReport::GetDetailQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr;
if(sgWephReport->RowCount < 2)
return("");
if(sgWephReport->Row == 1)
return("");
Selectstr="select "
+AnsiString("WepdLine, ")
+AnsiString("WepdWo, ")
+AnsiString("WepdGoods, ")
+AnsiString("WepdLoc, ")
+AnsiString("WepdIQty, ") //入库数量
+AnsiString("WepdCQty, ") //完工数量
+AnsiString("WepdEQty, ") //合格数量
+AnsiString("WepdWQty, ") //返修数量
+AnsiString("WepdRQty, ") //次品数量
+AnsiString("WepdSQty, ") //废品数量
+AnsiString("WepdSod, ")
+AnsiString("WepdSodLine, ")
+AnsiString("WepdBatch, ")
+AnsiString("WepdWsr ");
Fromstr=" from SDVW_Wepd ";
Wherestr=" where WepdCode='"+sgWephReport->Cells[1][sgWephReport->Row]+"'";
Orderstr=" order by WepdLine ";
return(Selectstr+Fromstr+Wherestr+Orderstr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWephReport::FillGridWithDetail()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
TfrmVW_Wepd *VW_Wepd;
sSql=GetDetailQueryStr(); //取Detail查询的SQL语句
if(sSql=="")
return;
try
{
VW_Wepd=new TfrmVW_Wepd(this);
int ARow=sgWephReport->Row;
VW_Wepd->seWephCode->Text=sgWephReport->Cells[1][ARow];
VW_Wepd->deWephDate->Text=sgWephReport->Cells[3][ARow];
VW_Wepd->scWephFmonth->Text=sgWephReport->Cells[2][ARow];
VW_Wepd->scWephPosType->Text=sgWephReport->Cells[5][ARow];
VW_Wepd->sgWepd->RowCount=1;
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
while(RsQuery->Eof == 0)
{
ItemStr= RsQuery->FieldByName("WepdLine")+
"\t"+RsQuery->FieldByName("WepdWo")+
"\t"+RsQuery->FieldByName("WepdGoods")+
"\t"+RsQuery->FieldByName("WepdLoc")+
"\t"+RsQuery->FieldByName("WepdIQty")+
"\t"+RsQuery->FieldByName("WepdCQty")+
"\t"+RsQuery->FieldByName("WepdEQty")+
"\t"+RsQuery->FieldByName("WepdWQty")+
"\t"+RsQuery->FieldByName("WepdRQty")+
"\t"+RsQuery->FieldByName("WepdSQty")+
"\t"+RsQuery->FieldByName("WepdSod")+
"\t"+RsQuery->FieldByName("WepdSodLine")+
"\t"+RsQuery->FieldByName("WepdBatch")+
"\t"+RsQuery->FieldByName("WepdWsr");
VW_Wepd->sgWepd->AddItem(ItemStr);
RsQuery->MoveNext();
}
RsQuery->Close();
delete RsQuery;
if(VW_Wepd->sgWepd->RowCount > 1)
VW_Wepd->ShowModal();
}
__finally
{
delete VW_Wepd;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -