📄 wrg.cpp
字号:
break;
case 1: //Edit
sgWrg->ChangeItem(m_ItemStr,sgWrg->Row);
break;
case 2: //Del
sgWrg->RemoveItem(sgWrg->Row);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FillGridWithData()
{
AnsiString m_ItemStr;
comServer->MoveFirst();
sgWrg->RowCount = 1;
while(comServer->Eof == 0)
{
m_ItemStr =GetDataToGrid();
sgWrg->AddItem(m_ItemStr);
comServer->MoveNext();
}
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmWrg::GetDataToGrid()
{
AnsiString m_ItemStr,s1;
s1=GetFieldValue("WrgWc");
scWrgWc->LocateKey(s1);
m_ItemStr = GetFieldValue("WrgNo")+
"\t" +GetFieldValue("WrgProcess")+
"\t" +scWrgWc->ItemData[2]+
"\t" +GetFieldValue("WrgPQty")+
"\t" +GetFieldValue("WrgRlt");
return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormShow(TObject *Sender)
{
InitEditControl();
labWrgWo->Caption=FWrgWoCode;
SetControlState(caSave);
if(comServer->RecordCount>0)
{
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
}
else
{
sgWrg->RowCount=1;
ClearControl(false);
}
tbControl->Enabled=false;
if(FWrgWoFrom==1) //按工艺路线表跟踪
{
tbAddHead->Enabled=false;
tbDeleteHead->Enabled=false;
sbtWrgCopy->Enabled=false;
}
else //按工单路线表跟踪
tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormClose(TObject *Sender,
TCloseAction &Action)
{
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::scWrgProcessClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="select ProcessCode,ProcessName,ProcessWc,ProcessLoc,ProcessType,ProcessState,ProcessChkFlg,ProcessWxFlg,";
SqlStr+=" ProcessWxAmt,ProcessQlt,ProcessSlt,ProcessRlt,ProcessWlt,ProcessMlt,ProcessSpec ";
SqlStr+=" FROM sdProcess where ProcessCode='"+scWrgProcess->ItemData[1]+"' order by ProcessCode";
Query->Close();
// Query->SQL->Clear();
// Query->SQL->Add(SqlStr);
// Query->Open();
Query->Open(SqlStr,"");
if(Query->RecordCount>0)
{
seWrgName->Text=Query->FieldByName("ProcessName");
cheChkFlg->Checked=Query->FieldByName("ProcessChkFlg")==1;
cheWxFlg->Checked=Query->FieldByName("ProcessWxFlg")==1;
scWrgWc->LocateKey(Query->FieldByName("ProcessWc"));
scWrgLoc->LocateKey(Query->FieldByName("ProcessLoc"));
scWrgState->ItemIndex=StrToInt(Query->FieldByName("ProcessState"))-1;
scWrgType->ItemIndex=StrToInt(Query->FieldByName("ProcessType"))-1;
seWrgWxAmt->Text=Query->FieldByName("ProcessWxAmt");
seWrgQlt->Text=Query->FieldByName("ProcessQlt");
seWrgSlt->Text=Query->FieldByName("ProcessSlt");
seWrgRlt->Text=Query->FieldByName("ProcessRlt");
seWrgWlt->Text=Query->FieldByName("ProcessWlt");
seWrgMlt->Text=Query->FieldByName("ProcessMlt");
Query->Close();
}
else
{
Query->Close();
throw Exception("输入的工序编码不存在!");
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWpeClick(TObject *Sender)
{
TfrmWpe *Wpefrm;
if(comServer->RecordCount==0){
ShowMessage("没有加工工序的记录,不能调用加工单工序员工维护!");
return;
}
try{
StartWaitForm("正在启动<工序员工维护>界面...");
AnsiString FParameter,FWhereString;
FParameter=FWrgWoCode+"\t"+GetFieldValue("WrgProcess")+"\t"+FWrgWoCheck+"\t"+FWrgWoCancel;
FWhereString="WpeWo='"+FWrgWoCode+"' and WpeProcess='"+GetFieldValue("WrgProcess")+"'";
Wpefrm=new TfrmWpe(this,g_ClientHandle,"1061107",FWhereString,FParameter);
EndWaitForm();
Wpefrm->ShowModal();
}
__finally
{
delete Wpefrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muSaveClick(TObject *Sender)
{
TRecBaseForm::muSaveClick(Sender);
if(FWrgWoFrom==1)
{
tbAddHead->Enabled=false;
tbDeleteHead->Enabled=false;
sbtWrgCopy->Enabled=false;
}
else
tbGenrate->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muCancelClick(TObject *Sender)
{
TRecBaseForm::muCancelClick(Sender);
if(FWrgWoFrom==1)
{
tbAddHead->Enabled=false;
tbDeleteHead->Enabled=false;
sbtWrgCopy->Enabled=false;
}
else
tbGenrate->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::muEditDetailClick(TObject *Sender)
{
TRecBaseForm::muEditDetailClick(Sender);
if(FWrgWoFrom==1)
{
scWrgLoc->Enabled=true;
deWrgEdate->Enabled=true;
deWrgIdate->Enabled=true;
scWrgLoc->SetFocus();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::GenrateDoc()
{
AnsiString FParam;
int FErrNum;
if(FWrgWoFrom!=1)
{
ShowMessage("非工艺路线方式不能生成!");
return;
}
if(comServer->RecordCount>0)
{
if(MessageDlg("是否重新生成工艺路线?", mtWarning, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
{
try
{
StartWaitForm("正在生成工单工艺路线,请稍候...");
/*
FParam=FWrgWoCode+'\t'+FWrgWoRoute+'\t'+g_sdUserCode;
comServer->Execute(FParam);
*/
Query->Close();
Query->Execute("exec sdWrg_Genrate '"+FWrgWoCode+"','"+FWrgWoRoute+"','"+g_sdUserCode+"'");
comServer->Query();
FillGridWithData();
GetDataFromComObject();
}
__finally
{
EndWaitForm();
}
}
}
else
{
try
{
StartWaitForm("正在生成工单工艺路线,请稍候...");
Query->Close();
Query->Execute("exec sdWrg_Genrate '"+FWrgWoCode+"','"+FWrgWoRoute+"','"+g_sdUserCode+"'");
comServer->Query();
FillGridWithData();
GetDataFromComObject();
}
__finally
{
EndWaitForm();
}
}
} //---------------------------------------------------------------------------
void __fastcall TfrmWrg::sgWrgClick(TObject *Sender)
{
int ARow;
ARow=sgWrg->Row;
if(ARow > 0)
comServer->LocateByKey(labWrgWo->Caption+"\t"+sgWrg->TextMatrix[ARow][1]);
if(comServer->RecordCount>0)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWrgCopyClick(TObject *Sender)
{
//保存复制前的RecordCount
int BefoCount=comServer->RecordCount;
try{
StartWaitForm("正在启动<工艺路线表复制>界面...");
WrgCopyfrm = new TfrmWrgCopy(this);
WrgCopyfrm->FWrgCopyWo=FWrgWoCode;
WrgCopyfrm->SetcomServer(comServer);
EndWaitForm();
WrgCopyfrm->ShowModal();
if(comServer->RecordCount>BefoCount){
FillGridWithData();
SetControlState(caSave);
}
else
CancelChange();
}
__finally
{
delete WrgCopyfrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbWmdClick(TObject *Sender)
{
if(sgWrg->RowCount>1)
{
StartWaitForm("正在启动工单工序物料列表,请稍候...");
AnsiString FParameter;
FParameter=FWrgWoCode+"\t"+Trim(sgWrg->Cells[1][sgWrg->Row]);
ShowClientFormModal(g_ClientHandle,1060311,FParameter);
EndWaitForm();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -