📄 bomlist.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "BomList.h"
#include "CBomList.h"
#include "WBomList.h"
#include "WhereForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "QueryBaseForm"
#pragma link "SDGrid"
#pragma link "Line"
#pragma link "KSAdvReport"
#pragma resource "*.dfm"
TfrmBomList *frmBomList;
//---------------------------------------------------------------------------
__fastcall TfrmBomList::TfrmBomList(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TQueryBaseForm(Owner,chWnd,MidCode,WhereStr)
{
PWhereStr=WhereStr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::FillGridWithData()
{
TComResultSet *RsQuery;
AnsiString ItemStr,sSql;
//获取查询语句
sSql=GetQueryStr();
if(sSql=="")
return;
gBomList->RowCount=1;
// RsQuery=NewResultSet();
RsQuery=new TComResultSet(Handle,g_ClientHandle);
RsQuery->Open(sSql,"");
RsQuery->MoveFirst();
while( RsQuery->Eof == 0)
{
ItemStr=AnsiString(RsQuery->FieldByName("BomListLevel"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListGoods"))+
"\t"+AnsiString(RsQuery->FieldByName("GoodsName"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListFrom"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListUnit"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListQty"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListCQty"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListShl"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListGQty"))+
"\t"+AnsiString(RsQuery->FieldByName("BomListProduct"));
gBomList->AddItem(ItemStr);
RsQuery->MoveNext();
}
RsQuery->Close();
delete RsQuery;
}
//---------------------------------------------------------------------------
//获取查询语句
AnsiString __fastcall TfrmBomList::GetQueryStr()
{
AnsiString Selectstr,Fromstr,Wherestr,Orderstr,sSQL;
Selectstr="select "
+AnsiString("BomListLevel, ") //层次
+AnsiString("BomListGoods, ") //物料编号
+AnsiString("GoodsName, ") // 物料名称
+AnsiString("BomListFrom, ") //物料来源
+AnsiString("BomListUnit, ") //单位
+AnsiString("BomListQty, ") //消耗定额
+AnsiString("BomListCQty, ") //累计消耗
+AnsiString("BomListShl, ") //损耗率
+AnsiString("BomListGQty, ") //毛需求
+AnsiString("BomListProduct"); //所属产品
Fromstr=" from ksBomList,sdGoods ";
if(FilterStr=="")
Wherestr=" where ksBomList.BomListGoods = sdGoods.GoodsCode "+PWhereStr;
// Wherestr=" sdBomd.BomdGoods = sdGoods.GoodsCode ";
else
Wherestr=" where ksBomList.BomListGoods = sdGoods.GoodsCode "+FilterStr+PWhereStr;
Orderstr=" " ;//order by BomdPgoods desc,Bomdgoods desc ";
sSQL=Selectstr+Fromstr+Wherestr+Orderstr;
return(sSQL);
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::tbQueryClick(TObject *Sender)
{
if(!ShowQueryWindow())
return;
try{
StartWaitForm("正在查询,请稍候...");
FillGridWithData();
}
__finally
{
EndWaitForm();
}
}
//---------------------------------------------------------------------------
bool __fastcall TfrmBomList::ShowQueryWindow()
{
// TfrmQuForm *FQuery=new TfrmQuForm(this,this->Name);
TWhereStrForm *FQuery=new TWhereStrForm(this,comServer->DataSet,"");
FQuery->ShowModal();
// if(FQuery->CancelQuery)
if(FQuery->ModalResult!=1)
return false;
// FilterStr=FQuery->CreateSqlString;
FilterStr=FQuery->WhereStr;
delete FQuery;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bCBomClick(TObject *Sender)
{
TfrmCBomList *p;
p=new TfrmCBomList(this);
p->ShowModal();
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bWBomClick(TObject *Sender)
{
TfrmWBomList *p;
p=new TfrmWBomList(this);
p->ShowModal();
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bPurchClick(TObject *Sender)
{
FilterStr=" and BomListFrom=1";
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bManuClick(TObject *Sender)
{
FilterStr=" and BomListFrom=2";
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bWprodClick(TObject *Sender)
{
FilterStr=" and BomListFrom=3";
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::FormShow(TObject *Sender)
{
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::bAllgoodsClick(TObject *Sender)
{
FilterStr=" ";
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::muPreviousClick(TObject *Sender)
{
if(gBomList->RowCount > 1 && gBomList->Row >1)
gBomList->Row=gBomList->Row-1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::muNextClick(TObject *Sender)
{
if(gBomList->RowCount > 1 && gBomList->Row < gBomList->RowCount-1)
gBomList->Row=gBomList->Row+1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::muFirstClick(TObject *Sender)
{
if(gBomList->RowCount > 1)
gBomList->Row=1;
}
//---------------------------------------------------------------------------
void __fastcall TfrmBomList::muLastClick(TObject *Sender)
{
if(gBomList->RowCount > 1)
gBomList->Row=gBomList->RowCount-1;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -