📄 wrg.cpp
字号:
m_ItemStr=GetDataToGrid();
switch(mAction)
{
case 0: //Add
sgWrg->AddItem(m_ItemStr);
sgWrg->Row=sgWrg->RowCount-1;
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(fiWrgWc);
scWrgWc->LocateKey(s1);
m_ItemStr = GetFieldValue(fiWrgNo)+
"\t" +GetFieldValue(fiWrgProcess)+
"\t" +scWrgWc->ItemData[2]+
"\t" +GetFieldValue(fiWrgPQty)+
"\t" +GetFieldValue(fiWrgRlt);
return(m_ItemStr);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormShow(TObject *Sender)
{
InitEditControl();
labWrgWo->Caption=FWrgWoCode;
SetControlState(caSave);
FillGridWithData();
comServer->MoveFirst();
GetDataFromComObject();
if(FWrgWoFrom==1) //按工艺路线表跟踪
{
tbAddHead->Enabled=false;
tbDeleteHead->Enabled=false;
sbtWrgCopy->Enabled=false;
}
else //按工单路线表跟踪
tbGenrate->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormClose(TObject *Sender,
TCloseAction &Action)
{
SetInifileValue(this->Name,"AutoQuery","1",ExtractFileDir(Application->ExeName)+"\\sdFormSet.dat");
TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::FormCreate(TObject *Sender)
{
//FormIniFile="D:\Test.Ini";
//SetGridWidth(Name,sgWrg,FormIniFile);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::scWrgProcessClick(TObject *Sender)
{
AnsiString s;
s = Trim(scWrgProcess->ItemData[cbItem2]);
SetFieldValue(fiWrgWo,labWrgWo->Caption);
SetFieldValue(fiWrgProcess,s);
//给标准工序赋值
seWrgName->Text=GetFieldValue(fiWrgName);
cheChkFlg->Checked=GetFieldValue(fiWrgChkFlg)=="1";
cheWxFlg->Checked=GetFieldValue(fiWrgWxFlg)=="1";
scWrgWc->LocateKey(GetFieldValue(fiWrgWc));
scWrgLoc->LocateKey(GetFieldValue(fiWrgLoc));
scWrgState->ItemIndex=StrToInt(GetFieldValue(fiWrgState))-1;
scWrgType->ItemIndex=StrToInt(GetFieldValue(fiWrgType))-1;
seWrgWxAmt->Text=GetFieldValue(fiWrgWxAmt);
seWrgQlt->Text=GetFieldValue(fiWrgQlt);
seWrgSlt->Text=GetFieldValue(fiWrgSlt);
seWrgRlt->Text=GetFieldValue(fiWrgRlt);
seWrgWlt->Text=GetFieldValue(fiWrgWlt);
seWrgMlt->Text=GetFieldValue(fiWrgMlt);
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWpeClick(TObject *Sender)
{
if(comServer->RecordCount==0){
ShowMessage("没有加工工序的记录,不能调用加工单工序员工维护!");
return;
}
try{
StartWaitForm("正在启动<工序员工维护>界面...");
AnsiString t_WrgProcess=GetFieldValue(fiWrgProcess);
Wpefrm=new TfrmWpe(this,FWrgWoCode,t_WrgProcess,FWrgWoCheck,FWrgWoCancel);
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);
FillGridWithData();
GetDataFromComObject();
}
__finally
{
EndWaitForm();
}
}
}
else
{
FParam=FWrgWoCode+'\t'+FWrgWoRoute+'\t'+g_sdUserCode;
try
{
StartWaitForm("正在生成工单工艺路线,请稍候...");
comServer->Execute(FParam);
FillGridWithData();
GetDataFromComObject();
}
__finally
{
EndWaitForm();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sgWrgClick(TObject *Sender)
{
int ARow;
ARow=sgWrg->Row;
if(ARow > 0)
comServer->LocateByKey(WideString(labWrgWo->Caption+sgWrg->TextMatrix[ARow][1]));
if(!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbtWrgCopyClick(TObject *Sender)
{
//保存复制前的RecordCount
int BefoCount=comServer->RecordCount;
try{
StartWaitForm("正在启动<工艺路线表复制>界面...");
AnsiString t_WrgWo=GetFieldValue(fiWrgWo);
WrgCopyfrm = new TfrmWrgCopy(this,t_WrgWo);
WrgCopyfrm->SetcomServer(comServer);
EndWaitForm();
WrgCopyfrm->ShowModal();
if(comServer->RecordCount>BefoCount){
FillGridWithData();
SetControlState(caSave);
}
else
CancelChange();
}
__finally
{
delete WrgCopyfrm;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmWrg::sbWmdClick(TObject *Sender)
{
TfrmWmd *p;
if(sgWrg->RowCount>1)
{
StartWaitForm("正在启动工单工序物料列表,请稍候...");
p=new TfrmWmd(this,FWrgWoCode,sgWrg->Cells[1][sgWrg->Row]);
EndWaitForm();
p->ShowModal();
delete p;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -