📄 wogen.cpp
字号:
//--------------------------------------------------------------------------
#include <vcl.h>
#include "WoGen.h"
#include "Wo.h"
#include "wnquery.h"
#include "func.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();
}
//--------------------------------------------------------------------------
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(fiWoCode,"$frmWo");
SetFieldValue(fiWoStatus,"2");
SetFieldValue(fiWoType,"1");
SetFieldValue(fiWoConsume,"1");
SetFieldValue(fiWoTrace,"2");
SetFieldValue(fiWoFrom,"2");
SetFieldValue(fiWoGoods,sgWo->Cells[1][i]);
SetFieldValue(fiWoRoute,"");
SetFieldValue(fiWoBatch,"");
SetFieldValue(fiWoProducter,g_sdUserCode);
SetFieldValue(fiWoUser,g_sdUserCode);
SetFieldValue(fiWoChkFlg,"0");
if(sgWo->Cells[6][i].IsEmpty())
throw Exception("加工数量不能为空");
SetFieldValue(fiWoQty,sgWo->Cells[6][i]);
SetFieldValue(fiWoDate,g_sdCurDate);
SetFieldValue(fiWoRdate,sgWo->Cells[7][i]);
SetFieldValue(fiWoMDate,sgWo->Cells[7][i]);
SetFieldValue(fiWoSdate,sgWo->Cells[7][i]);
SetFieldValue(fiWoDesc,"");
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;
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 mrpdtype=6 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";
sgWo->RowCount=1;
TComResultSet *RsWo;
try
{
StartWaitForm("正在查询数据,请稍候......");
RsWo=NewResultSet();
RsWo->Open(SqlStr,"");
sgWo->RowCount=1;
while(RsWo->Eof == 0)
{
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");
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::SetFieldValue(int Index,AnsiString Value)
{
WriteFieldValue(comServer,Index,Value);
}
//---------------------------------------------------------------------------
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)
{
FillGridWithData();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -