📄 wo.cpp
字号:
EndWaitForm();
break;
}
case euSdProducter:
if(ShowUpdateMessage(MsgSrc,MsgType)){
StartWaitForm("正在刷新引用数据!");
FillComboBox(Handle,scWoProducter,"select ProducterCode,memo=ProducterCode+space(1)+'('+UserName+')' from sdProducter,sdUser where ProducterCode=UserCode Order by ProducterCode",
"memo","ProducterCode");
EndWaitForm();
break;
}
default:
break;
}
}
__finally{
//AddCode;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::FormShow(TObject *Sender)
{
tbClose->Visible=true;
//当需要质检时
//if(g_sdQuality==1)
// cheWoChkFlg->Checked=true;
//else
// cheWoChkFlg->Checked=false;
if(comServer->RecordCount>0)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
else
{
ClearControl(false);
sgWo->RowCount=1;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::seWoGoodsButtonClick(TObject *Sender)
{
/* AnsiString SqlStr;
SqlStr="007[产品编码][产品名称][版本号][型号][类型][计量单位][批量]";
SqlStr+="Select GoodsCode,GoodsName,GoodsVer,GoodsModel,GoodsType,GoodsUnitCode,GoodsEoq from sdGoods where (GoodsType=1 or GoodsType=2) and GoodsFrom=2 order by GoodsCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"产品数据查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seWoGoods->Text=p->ColData[1];
InitRsGoods(seWoGoods->Text);
if(l_RsGoods->LocateByKey(seWoGoods->Text)==0)
{
seWoGoodsName->Text=GetGoodsValue(gtInitRs,"GoodsName");
scWoUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
if(GetGoodsValue(gtInitRs,"GoodsBatch")=="0")
{
scWoBatch->ItemIndex=-1;
scWoBatch->Enabled=false;
}
if(GetGoodsValue(gtInitRs,"GoodsTrackSo")=="0")
{
seWoSoCode->Text="";
seWoSodLine->Text="0";
seWoSoCode->Enabled=false;
}
}
}
delete p; */
if(OpenGoodsForm(" (GoodsType=1 or GoodsType=2) and GoodsFrom=2 ")) //过滤条件
{
seWoGoods->Text=GetGoodsValue(gtOpenForm,"GoodsCode");
seWoGoodsName->Text=GetGoodsValue(gtOpenForm,"GoodsName");
scWoUnit->LocateKey(GetGoodsValue(gtOpenForm,"GoodsUnitCode"));
if(GetGoodsValue(gtOpenForm,"GoodsBatch")=="0")
{
scWoBatch->ItemIndex=-1;
scWoBatch->Enabled=false;
}
if(GetGoodsValue(gtOpenForm,"GoodsTrackSo")=="0")
{
seWoSoCode->Text="";
seWoSodLine->Text="0";
seWoSoCode->Enabled=false;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::sbtWsgmClick(TObject *Sender)
{
TfrmWsgm *Wsgmfrm;
if(comServer->RecordCount==0)
{
ShowMessage("当前没有加工单的记录,不能调用工单配套表!");
return;
}
try
{
StartWaitForm("正在启动<工单配套表>界面...");
t_WoCode=GetFieldValue("WoCode");
t_WoGoods=GetFieldValue("WoGoods");
t_WoFrom=scWoConsume->ItemIndex+1;
t_WoCheck=GetFieldValue("WoCheck").ToInt();
t_WoCancel=GetFieldValue("WoCancel").ToInt();
AnsiString FParameter,FWhereString;
FParameter=t_WoCode+"\t"+t_WoGoods+"\t"+AnsiString(t_WoCheck);
FParameter+="\t"+AnsiString(t_WoCancel)+"\t"+AnsiString(t_WoFrom);
FWhereString="WsgmWo='"+t_WoCode+"'";
Wsgmfrm=new TfrmWsgm(this,g_ClientHandle,"1061106",FWhereString,FParameter);
EndWaitForm();
Wsgmfrm->ShowModal();
}
__finally
{
delete Wsgmfrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::sbtWrgClick(TObject *Sender)
{
TfrmWrg *Wrgfrm;
if(comServer->RecordCount==0 )
{
ShowMessage("当前没有加工单的记录,不能调用工单工艺路线表!");
return;
}
try
{
StartWaitForm("正在启动<工单工艺路线表>界面...");
t_WoCode=GetFieldValue("WoCode");
t_WoRoute=seWoRoute->ItemData[1];
t_WoFrom=scWoTrace->ItemIndex+1;
t_WoCheck=GetFieldValue("WoCheck").ToInt();
t_WoCancel=GetFieldValue("WoCancel").ToInt();
AnsiString FParameter;
AnsiString FWhereString;
FWhereString="WrgWo='"+t_WoCode+"'";
if(t_WoRoute.IsEmpty())
FParameter=t_WoCode+"\t"+AnsiString("")+"\t"+AnsiString(t_WoCheck);
else
FParameter=t_WoCode+"\t"+t_WoRoute+"\t"+AnsiString(t_WoCheck);
FParameter+="\t"+AnsiString(t_WoCancel)+"\t"+AnsiString(t_WoFrom);
Wrgfrm=new TfrmWrg(this,g_ClientHandle,"1061105",FWhereString,FParameter);
EndWaitForm();
Wrgfrm->ShowModal();
}
__finally
{
delete Wrgfrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::sbtWnClick(TObject *Sender)
{
TfrmWn *Wnfrm;
if(comServer->RecordCount==0 )
{
ShowMessage("当前没有加工单的记录,不能调用工票!");
return;
}
try
{
StartWaitForm("正在启动<工票维护>界面...");
t_WoCode=GetFieldValue("WoCode");
t_WoCheck=GetFieldValue("WoCheck").ToInt();
t_WoCancel=GetFieldValue("WoCancel").ToInt();
AnsiString FParameter,FWhereString;
FParameter=t_WoCode+"\t"+AnsiString(t_WoCheck)+"\t"+AnsiString(t_WoCancel);
FWhereString="WnWo='"+t_WoCode+"'";
Wnfrm=new TfrmWn(this,g_ClientHandle,"1061104",FWhereString,FParameter);
EndWaitForm();
Wnfrm->ShowModal();
}
__finally
{
delete Wnfrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::sgWoClick(TObject *Sender)
{
int ARow;
ARow=sgWo->Row;
if(ARow > 0)
{
comServer->LocateByKey(Trim(sgWo->TextMatrix[ARow][0]));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::seWoGoodsExit(TObject *Sender)
{
AnsiString tempS;
tempS=seWoGoods->Text;
if(!tempS.IsEmpty())
{
InitRsGoods(seWoGoods->Text);
if(l_Query->LocateByKey(tempS)==0)
{
seWoGoodsName->Text = GetGoodsValue(gtInitRs,"GoodsName");
scWoUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
//对批号的处理
if(GetGoodsValue(gtInitRs,"GoodsBatch")=="1")
scWoBatch->Enabled=true;
else
scWoBatch->Enabled=false;
//对订单跟踪的处理
if(GetGoodsValue(gtInitRs,"GoodsTrackSo")=="1")
seWoSoCode->Enabled=true;
else
seWoSoCode->Enabled=false;
scWoBatch->ItemIndex=-1;
seWoSoCode->Text="";
seWoSodLine->Text="";
}
else
::MessageBox(Handle,"输入的物料编码不存在!","错误提示",MB_OK|MB_ICONSTOP);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::seWoCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
AnsiString p_WoCode=seWoCode->Text;
if(Key==13 && !p_WoCode.IsEmpty() && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(p_WoCode));
GetDataFromComObject();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::seWoSoCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="006[订单单号][订单行号][货物编码][计量单位][订单要求数][要求交货日]Select SohCode,";
SqlStr=SqlStr+"SodLine,SodGoods,SodUnit,SodQty,SodRecDate from sdSod,sdSoh WHERE SodGoods=";
SqlStr=SqlStr+"'"+seWoGoods->Text+"' and SohCheck=1 and SohClose=0 and SohCode=SodCode order ";
SqlStr=SqlStr+"by SohCode,SodLine";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"客户订单资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seWoSoCode->Text=p->ColData[1];
seWoSodLine->Text=p->ColData[2];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::seWoRouteButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="004[工艺路线代码][工艺路线名称][货物编码][货物名称]SELECT RoutehCode,RoutehName,RoutehGoods,GoodsName FROM sdRouteh,";
SqlStr=SqlStr+"sdGoods where GoodsCode=RoutehGoods and RoutehGoods='"+seWoGoods->Text+"' ORDER BY RoutehCode,RoutehGoods";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"工艺路线资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seWoRoute->LocateKey(p->ColData[1]);
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::scWoTraceClick(TObject *Sender)
{
if(CurrentState==caNormal)
return;
if(scWoTrace->ItemIndex==0)
seWoRoute->Enabled=true;
else
{
seWoRoute->Enabled=false;
seWoRoute->Text="";
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWo::GenrateDoc()
{
int FCurNo,FRecordCount;
FCurNo=comServer->CurRecNo;
FRecordCount=comServer->RecordCount;
TfrmWoGen *p=new TfrmWoGen(this);
try
{
p->GetComObject(comServer);
p->ShowModal();
comServer->LocateByIndex(FCurNo);
if(FRecordCount<comServer->RecordCount)
comServer->MoveNext();
GetDataFromComObject();
}
catch(Exception &e)
{
delete p;
throw Exception(e.Message);
}
delete p;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmWo::BeforeCheck()
{
SetFieldValue("WoCheck",1);
SetFieldValue("WoChecker",g_sdUserCode);
SetFieldValue("WoCheckDate",g_sdCurDate);
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TfrmWo::BeforeUnCheck()
{
SetFieldValue("WoCheck",0);
SetFieldValue("WoChecker","");
SetFieldValue("WoCheckDate",NULL);
return true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -