// Added end //扩展一个带ActionCheckStatus和OPBOMDetail参数的方法 public Messages Execute(ActionEventArgs actionEventArgs, ActionCheckStatus actionCheckStatus, object[] OPBOMDetail) { Messages messages = new Messages(); DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect"); dataCollectDebug.WhenFunctionIn(messages); Messages msgAutoGoMO = new Messages(); // Added by Icyer 2007/03/09 try { // Added by Icyer 2007/03/09 // 检测自动归属工单 ActionGoToMO actionGoToMO = new ActionGoToMO(this.DataProvider); msgAutoGoMO = actionGoToMO.AutoGoMO(actionEventArgs, actionCheckStatus); // Added end ActionOnLineHelper dataCollect = new ActionOnLineHelper(this.DataProvider); //填写SIMULATION 检查工单、ID、途程、操作 messages.AddMessages(dataCollect.CheckID(actionEventArgs, actionCheckStatus)); if (messages.IsSuccess()) { //上料检查 分INNO、KEYPARTS TODO //if (actionEventArgs.ActionType ==ActionType.DataCollectAction_CollectINNO) if (actionCheckStatus.NeedUpdateSimulation == true) { messages.AddMessages(dataCollect.Execute(actionEventArgs)); } else { messages.AddMessages(dataCollect.Execute(actionEventArgs, actionCheckStatus)); } BenQGuru.eMES.Material.WarehouseFacade wfacade = null; if (messages.IsSuccess()) { DataCollectFacade dataCollectFacade = new DataCollectFacade(this.DataProvider); #region 填写上料信息表 分INNO、KEYPARTS if (actionEventArgs.ActionType == ActionType.DataCollectAction_CollectINNO) { if (System.Configuration.ConfigurationSettings.AppSettings["NeedMaterialModule"].Trim() == "1") { wfacade = ((CINNOActionEventArgs)actionEventArgs).Warehouse; } messages.AddMessages(InsertLotOnWipItem(actionEventArgs, dataCollectFacade, OPBOMDetail)); if (!messages.IsSuccess()) { return(messages); } } #endregion } // Added by Icyer 2005/08/16 // 上料扣库存 // 暂时屏蔽 FOR 夏新P3版本 MARK LEE 2005/08/22 // 取消屏蔽 Icyer 2005/08/23 //Laws Lu,2005/10/20,新增 使用配置文件来控制物料模块是否使用 if (System.Configuration.ConfigurationSettings.AppSettings["NeedMaterialModule"].Trim() == "1") { //BenQGuru.eMES.Material.WarehouseFacade wfacade = new WarehouseFacade(this.DataProvider); if (wfacade != null) { wfacade.CollectMaterialStock(actionEventArgs.ProductInfo.NowSimulation.LotCode, actionEventArgs.ProductInfo.NowSimulation.LotSeq.ToString(), actionEventArgs.ProductInfo.NowSimulation.MOCode); } } // Added end //将Action加入列表 actionCheckStatus.ActionList.Add(actionEventArgs); } } catch (Exception e) { messages.Add(new Message(e)); } dataCollectDebug.WhenFunctionOut(messages); //return messages; if (msgAutoGoMO.Count() < 1 || (msgAutoGoMO.IsSuccess() == true && messages.IsSuccess() == false)) { return(messages); } else { msgAutoGoMO.IgnoreError(); msgAutoGoMO.AddMessages(messages); return(msgAutoGoMO); } }