------------------------使用页面-----------------------
public Action<WorkStepArgs> DoAddWorkStep;
public Action<int, DataTable> DoPasteWorkStep;
public static Action rbForBomClick;
public static Action<bool, bool> CreateNewBomVersion;
public void InitWorkStep(int aPart_ID, string bomPath)
{
rbForBomClick = new Action(ForBomCheckClick);
CreateNewBomVersion = new Action<bool, bool>(NewBomVersion);
}
private void tsbtnAddProcess_Click(object sender, EventArgs e)
{
if (DoAddWorkStep == null)
return;
WorkStepArgs args = new WorkStepArgs();
if (this._ProcessData == null || this._ProcessData.Rows.Count == 0)
{
args.ProcessFlowID = Guid.Empty;
}
else
{
args.ProcessFlowID = new Guid(_ProcessData.Rows[0]["ProcessFlowID"].ToString());
}
args.IsCommonProcess = rbForPart.Checked;
DoAddWorkStep(args);
}
private void tsbtnPastPI_Click(object sender, EventArgs e)
{
if (DoPasteWorkStep != null)
DoPasteWorkStep(PartId, dt_PI);
}
private void ForBomCheckClick()
{
this._ProcessData = BomDal.GetProcessing(this.BomPath);
btnSaveToBom.Visible = false;
btnSaveToPart.Visible = true;
_wfForBom = true;
LoadSteps(this._ProcessData);
}
private void NewBomVersion(bool copyMaterialChk, bool createAllChildChk)
{
try
{
if (createAllChildChk)
{
Control.CheckForIllegalCrossThreadCalls = false;
bgWork.RunWorkerAsync();
}
else
{
BomDal.AddBomVersion(this.BomPath, copyMaterialChk);
if (AfterNewBomVersion != null)
AfterNewBomVersion(PartId, BomPath);
}
}
catch (Exception ex)
{
lblInfo.Text = ex.Message;
}
}
------------------------调用页面-----------------------
private void frmBomInfo_Load(object sender, EventArgs e)
{
ucWorkStep.DoAddWorkStep = AddWorkStep;
ucWorkStep.DoSetWorkStep = s => SetWorkStep(s);
ucWorkStep.DoMountMaterial = (s, t) => MountMaterial(s, t);
ucWorkStep.DoPasteWorkStep = (s, dt) => PasteWorkStep(s, dt);
}
private void AddWorkStep(WorkStepArgs args)
{
string bomPath = this.tlOldBom.FocusedNode["BomPath"].ToString();
if (args.ProcessFlowID == Guid.Empty)
{
int type = addProcess1(args);
if (type == 3)
return;
}
frmNewProcessFlow2 frm = new frmNewProcessFlow2();
frm.ProcessFlowItems.MID = PFItems.MID;
_ProcessLogicID = -1;
if (frm.ShowDialog() == DialogResult.OK)
{
InitProcessLogicTL();
}
}
private void PasteWorkStep(int partID, DataTable dt_PI)
{
if (partID > 0 && dt_PI == null)
{
dt_PI = BLL_MPM.GetInstance(Loginer.CurrentUser).getCopyedProcessFlowItemsInfo();
}
if (dt_PI != null)
{
dt_PFP = BLL_MPM.GetInstance(Loginer.CurrentUser).getCopyedPartFormulaProcessInfo();
foreach (DataRow dr in dt_PFP.Rows)
{
string FormulaName = dr["FormulaName"].ToString().Trim();
if (!pfList.Contains(FormulaName))
pfList.Add(dr["FormulaName"].ToString());
}
}
}
private void SaveCraft(IButtonInfo sender)
{
frmSaveCraft frm = new frmSaveCraft();
if (frm.ShowDialog() == DialogResult.OK)
{
if (frm.RbName == "rbForBom")
{
WorkStepUC.rbForBomClick();
}
}
}
private void CreateBomVersion(IButtonInfo sender)
{
frmCreateBomVersion frm = new frmCreateBomVersion();
if (frm.ShowDialog() == DialogResult.OK)
{
bool matChk = frm.ChkMaterial;
bool allChild = frm.AllChild;
WorkStepUC.CreateNewBomVersion(matChk, allChild);
}
}
浙公网安备 33010602011771号