📄 wmu.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Wmu.h"
#include "wnquery.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmWmu *frmWmu;
//---------------------------------------------------------------------------
__fastcall TfrmWmu::TfrmWmu(TComponent* Owner,HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TStdBaseForm(Owner,chWnd,MidCode,WhereStr)
{
int iPos;
iPos=WhereStr.Pos("\t");
FChecked=WhereStr.SubString(1,iPos-1);
WhereStr=WhereStr.SubString(iPos+1,WhereStr.Length());
iPos=WhereStr.Pos("\t");
FWmuPdrCode=WhereStr.SubString(1,iPos-1);
WhereStr=WhereStr.SubString(iPos+1,WhereStr.Length());
iPos=WhereStr.Pos("\t");
FWmuPdrdLine=StrToInt(WhereStr.SubString(1,iPos-1));
WhereStr=WhereStr.SubString(iPos+1,WhereStr.Length());
iPos=WhereStr.Pos("\t");
FWmuWoCode=WhereStr.SubString(1,iPos-1);
FWmuProcess=WhereStr.SubString(iPos+1,WhereStr.Length());
}
//---------------------------------------------------------------------------
void __fastcall TfrmWmu::FormShow(TObject *Sender)
{
AnsiString SqlStr,ItemStr;
TComResultSet *RsWmu;
SqlStr="select WmdGoods,GoodsName,WmdLoc,WmdQty,WmdUQty,WmdBQty,WmdLQty,WmuUQty=Coalesce(WmuUQty,0),WmuDQty=Coalesce(WmuDQty,0),WmuUdr=coalesce(WmuUdr,'') from sdWmd,sdGoods,sdWmu where WmdGoods=GoodsCode ";
SqlStr+=" and WmdWoCode='"+FWmuWoCode+"' and WmdProcess='"+FWmuProcess+"' and WmdWoCode*=WmuWo and WmdProcess*=WmuProcess and WmdGoods*=WmuGoods and WmuPdrCode='"+FWmuPdrCode+"'";
SqlStr+=" and WmuPdrdLine="+FWmuPdrdLine+" order by WmdGoods";
seWmuPdrCode->Text=FWmuPdrCode;
seWmuPdrdLine->Text=FWmuPdrdLine;
seWmuWoCode->Text=FWmuWoCode;
seWmuProcess->Text=FWmuProcess;
GroupBox1->Enabled=false;
RsWmu=new TComResultSet(Handle,g_ClientHandle);
RsWmu->Open(SqlStr,"");
RsWmu->MoveFirst();
sgWmu->RowCount=1;
while(RsWmu->Eof==0)
{
ItemStr = RsWmu->FieldByName("WmdGoods")+
"\t" +RsWmu->FieldByName("Goodsname")+
"\t" +RsWmu->FieldByName("WmdLoc")+
"\t" +RsWmu->FieldByName("WmdQty")+
"\t" +RsWmu->FieldByName("WmdUQty")+
"\t" +RsWmu->FieldByName("WmdBQty")+
"\t" +RsWmu->FieldByName("WmdLQty")+
"\t" +RsWmu->FieldByName("WmuUQty")+
"\t" +RsWmu->FieldByName("WmuDQty")+
"\t" +RsWmu->FieldByName("WmuUdr");
sgWmu->AddItem(ItemStr);
RsWmu->MoveNext();
}
RsWmu->Close();
delete RsWmu;
if(FChecked==1)
{
bbOK->Enabled=false;
stWmuCheck->Visible=true;
sgWmu->ReadOnly=true;
}
else
{
bbOK->Enabled=true;
stWmuCheck->Visible=false;
sgWmu->ReadOnly=false;
}
if(sgWmu->RowCount<2)
bbOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWmu::sgWmuDblClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
if(sgWmu->Col==9 && sgWmu->Row>0)
{
if(FChecked!=1)
{
SqlStr="002[原因代码][损坏原因]SELECT UdrCode,UdrDesc from sdUdr order by UdrCode";
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"损坏原因查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
sgWmu->Cells[9][sgWmu->Row]=p->ColData[1];
}
delete p;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWmu::bbOKClick(TObject *Sender)
{
int ErrNum;
try
{
StartWaitForm("正在保存工序材料消耗数据,请稍候...");
if(sgWmu->RowCount>1)
{
try
{
comServer=new TComServer(Handle,g_ClientHandle,"1061108");
for(int i=1;i<sgWmu->RowCount;i++)
{
comServer->AddNew();
SetFieldValue("WmuPdrCode",FWmuPdrCode);
SetFieldValue("WmuPdrdLine",FWmuPdrdLine);
SetFieldValue("WmuWo",FWmuWoCode);
SetFieldValue("WmuProcess",FWmuProcess);
SetFieldValue("WmuGoods",sgWmu->Cells[0][i]);
SetFieldValue("WmuLoc",sgWmu->Cells[2][i]);
if(sgWmu->Cells[7][i]!="")
SetFieldValue("WmuUQty",sgWmu->Cells[7][i]);
else
SetFieldValue("WmuUQty","0");
if(sgWmu->Cells[8][i]!="")
SetFieldValue("WmuDQty",sgWmu->Cells[8][i]);
else
SetFieldValue("WmuDQty","0");
SetFieldValue("WmuUdr",sgWmu->Cells[9][i]);
SetFieldValue("WmuDate",g_sdCurDate);
SetFieldValue("WmuUser",g_sdUserCode);
comServer->Post();
}
}
catch(Exception &e)
{
this->ModalResult=0;
throw Exception(e.Message);
}
}
}
__finally
{
EndWaitForm();
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWmu::bbCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -