wogen.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 240 行
CPP
240 行
//--------------------------------------------------------------------------
#include <vcl.h>
#include "WoGen.h"
#include "Wo.h"
//--------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "SDComboBox"
#pragma link "DateEdit"
#pragma resource "*.dfm"
TfrmWoGen *frmWoGen;
//--------------------------------------------------------------------------
__fastcall TfrmWoGen::TfrmWoGen(TComponent* Owner)
: TStdBaseForm(Owner)
{
InitControlGroup();
dFrom="Mrp";
}
//--------------------------------------------------------------------------
void __fastcall TfrmWoGen::btnOKClick(TObject *Sender)
{
int ErrNum;
try
{
StartWaitForm("正在生成工单,请稍候...");
if(sgWo->RowCount>1)
{
try
{
for(int i=1;i<sgWo->RowCount;i++)
{
if(sgWo->Cells[0][i]=="√")
{
comServer->AddNew();
SetFieldValue("WoCode","$frmWo");
SetFieldValue("WoStatus","2");
SetFieldValue("WoType","1");
SetFieldValue("WoConsume","1");
SetFieldValue("WoTrace","2");
if(dFrom=="Mrp")
SetFieldValue("WoFrom","2");
else
SetFieldValue("WoFrom","3");
SetFieldValue("WoGoods",sgWo->Cells[1][i]);
SetFieldValue("WoRoute","");
SetFieldValue("WoBatch","");
SetFieldValue("WoProducter",g_sdUserCode);
SetFieldValue("WoUser",g_sdUserCode);
SetFieldValue("WoProducter","rhdcS2"); ////------/////
SetFieldValue("WoUser","rhdcS2"); ////------/////
SetFieldValue("WoChkFlg","0");
if(sgWo->Cells[6][i].IsEmpty())
throw Exception("加工数量不能为空");
SetFieldValue("WoQty",sgWo->Cells[6][i]);
SetFieldValue("WoDate",g_sdCurDate);
SetFieldValue("WoDate",sgWo->Cells[7][i]); ////------///////
SetFieldValue("WoRdate",sgWo->Cells[7][i]);
SetFieldValue("WoMDate",sgWo->Cells[7][i]);
SetFieldValue("WoSdate",sgWo->Cells[7][i]);
SetFieldValue("WoDesc","");
comServer->Post();
frmWo->RefreshGridData(0);
}
}
}
catch(Exception &e)
{
comServer->Cancel();
this->ModalResult=0;
throw Exception(e.Message);
}
}
}
__finally
{
EndWaitForm();
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::btnCancelClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::InitControlGroup()
{
sgWo->RowCount = 1;
deBegin->Text=g_sdCurDate;
deEnd->Text="";
chkList->Checked=false;
btnOK->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::FillGridWithData()
{
AnsiString ItemStr,SqlStr;
if(dFrom=="Mrp")
{
SqlStr="Select mrpdgoods,goodsname,goodsunitcode,mrpdqty,mrpdgqty,mrpdcqty=mrpdqty-mrpdgqty,mrpdrdate from sdmrpd,sdgoods,sdmrp";
SqlStr+=" where mrpgoods=mrpdgoods and mrpdgoods=goodscode and mrpfrom=2 and convert(varchar(10),mrpdtype)='"+mType+"' and mrpdqty>mrpdgqty ";
if(!chkList->Checked)
SqlStr+=" and mrpdrdate>convert(varchar(10),getdate(),21)";
if(deBegin->Text!="")
SqlStr+=" and mrpdrdate>='"+deBegin->Text+"'";
if(deEnd->Text!="")
SqlStr+=" and mrpdrdate<='"+deEnd->Text+"'";
SqlStr+=" order by mrpdrdate,mrpdgoods";
}
else
{
SqlStr="Select Srewdgoods,goodsname,goodsunitcode,Srewdqty,Srewdgqty=0,Srewdcqty=0,Srewhdate from sdSrewh,sdSrewd,sdgoods";
SqlStr+=" where Srewhcode=Srewdcode and Srewdgoods=goodscode ";
if(!chkList->Checked)
SqlStr+=" and Srewhdate>convert(varchar(10),getdate(),21)";
if(deBegin->Text!="")
SqlStr+=" and Srewhdate>='"+deBegin->Text+"'";
if(deEnd->Text!="")
SqlStr+=" and Srewhdate<='"+deEnd->Text+"'";
SqlStr+=" order by Srewhdate,Srewdgoods";
}
sgWo->RowCount=1;
TComResultSet *RsWo;
try
{
StartWaitForm("正在查询数据,请稍候......");
RsWo=new TComResultSet(Handle,g_ClientHandle);
RsWo->Open(SqlStr,"");
sgWo->RowCount=1;
while(RsWo->Eof == 0)
{
if(dFrom=="Mrp")
{
ItemStr=AnsiString("√") +
"\t"+RsWo->FieldByName("mrpdgoods")+
"\t"+RsWo->FieldByName("goodsname")+
"\t"+RsWo->FieldByName("goodsunitcode")+
"\t"+RsWo->FieldByName("mrpdqty")+
"\t"+RsWo->FieldByName("mrpdgqty")+
"\t"+RsWo->FieldByName("mrpdcQty")+
"\t"+RsWo->FieldByName("mrpdrdate");
}
else
{
ItemStr=AnsiString("√") +
"\t"+RsWo->FieldByName("Srewdgoods")+
"\t"+RsWo->FieldByName("goodsname")+
"\t"+RsWo->FieldByName("goodsunitcode")+
"\t"+RsWo->FieldByName("Srewdqty")+
"\t"+RsWo->FieldByName("Srewdgqty")+
"\t"+RsWo->FieldByName("SrewdcQty")+
"\t"+RsWo->FieldByName("Srewhdate");
}
sgWo->AddItem(ItemStr);
RsWo->MoveNext();
}
RsWo->Close();
delete RsWo;
}
__finally
{
if(sgWo->RowCount>1)
btnOK->Enabled=true;
else
btnOK->Enabled=false;
EndWaitForm();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::GetComObject(TComServer *comServerPtr)
{
comServer = comServerPtr;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::sgWoDblClick(TObject *Sender)
{
AnsiString SqlStr;
int ARow=sgWo->Row;
if (ARow >0)
{
if(sgWo->Col==0)
{
if (sgWo->Cells[0][ARow] == "√")
sgWo->Cells[0][ARow] = "";
else
sgWo->Cells[0][ARow] = "√";
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::bbSelAllClick(TObject *Sender)
{
for(int i=1;i<sgWo->RowCount;i++)
sgWo->Cells[0][i] = "√";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::bbSelNoneClick(TObject *Sender)
{
for(int i=1;i<sgWo->RowCount;i++)
sgWo->Cells[0][i] = "";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::btnQueryClick(TObject *Sender)
{
if(RadioPln->Checked==true)
mType='6';
if(RadioGQty->Checked==true)
mType='1';
FillGridWithData();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::SetFieldValue(AnsiString FieldName,Variant Value)
{
comServer->DataSet->SetMasterValue(FieldName,Value);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::RadioSrewClick(TObject *Sender)
{
GroupBox1->Enabled=false;
sgWo->Cells[4][0] = "返修数";
dFrom="Srew";
}
//---------------------------------------------------------------------------
void __fastcall TfrmWoGen::RadioMrpClick(TObject *Sender)
{
GroupBox1->Enabled=true;
sgWo->Cells[4][0] = "MRP需求数";
dFrom="Mrp";
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?