// Added by Icyer 2005/10/28 //扩展一个带ActionCheckStatus参数的方法 public Messages Execute(ActionEventArgs actionEventArgs, ActionCheckStatus actionCheckStatus) { ((GoToMOActionEventArgs)actionEventArgs).MOCode = ((GoToMOActionEventArgs)actionEventArgs).MOCode.Trim().ToUpper(); actionEventArgs.ProductInfo.NowSimulation.EAttribute1 = (actionEventArgs as GoToMOActionEventArgs).Memo; //actionEventArgs.ProductInfo.NowSimulation.RMABillCode = (actionEventArgs as GoToMOActionEventArgs).ProductInfo.CurrentMO.mor; actionEventArgs.LotCode = actionEventArgs.LotCode.Trim().ToUpper(); Messages messages = new Messages(); DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect"); dataCollectDebug.WhenFunctionIn(messages); if (((GoToMOActionEventArgs)actionEventArgs).MOCode.Trim() == String.Empty) { messages.Add(new UserControl.Message(MessageType.Error, "$CS_Please_Input_MOCode")); } if (((GoToMOActionEventArgs)actionEventArgs).LotCode.Trim() == String.Empty) { messages.Add(new UserControl.Message(MessageType.Error, "$CS_Please_Input_RunningCard")); } DataCollectFacade dataCollectFacade = new DataCollectFacade(this.DataProvider); MOFacade moFacade = new MOFacade(this.DataProvider); try { if (messages.IsSuccess()) { //调用含有ActionCheckStatus参数的CheckIn方法 messages.AddMessages(this.CheckIn(actionEventArgs, actionCheckStatus)); // Added by Icyer 2006/12/05 TakeDownCarton(actionEventArgs); // Added end if (!((GoToMOActionEventArgs)actionEventArgs).PassCheck) { throw new Exception("$CS_ID_Has_Already_Belong_To_This_MO $CS_Param_ID=" + actionEventArgs.LotCode + " $Domain_MO=" + ((GoToMOActionEventArgs)actionEventArgs).MOCode); } if (messages.IsSuccess()) { // 拆箱和拆Pallet actionEventArgs.ProductInfo.NowSimulation.EAttribute1 = (actionEventArgs as GoToMOActionEventArgs).Memo; if (actionCheckStatus.NeedUpdateSimulation) { ActionOnLineHelper dataCollect = new ActionOnLineHelper(this.DataProvider); messages.AddMessages(dataCollect.Execute(actionEventArgs)); } else { ActionOnLineHelper dataCollect = new ActionOnLineHelper(this.DataProvider); messages.AddMessages(dataCollect.Execute(actionEventArgs, actionCheckStatus)); } if (messages.IsSuccess()) { moFacade.UpdateMOInPutQty(actionEventArgs.ProductInfo.NowSimulation.MOCode, actionEventArgs.CurrentMO, (int)actionEventArgs.ProductInfo.NowSimulation.LotQty); //是否执行过updateItem2Route操作 if (actionCheckStatus.IsUpdateRefItem2Route == false) { this.updateItem2Route(actionEventArgs.ProductInfo.NowSimulation.ItemCode, actionEventArgs.ProductInfo.NowSimulation.RouteCode, actionEventArgs.UserCode); actionCheckStatus.IsUpdateRefItem2Route = true; } MORunningCardFacade cardFacade = new MORunningCardFacade(this.DataProvider); MORunningCard card = cardFacade.CreateNewMORunningCard(); card.MOCode = ((GoToMOActionEventArgs)actionEventArgs).MOCode.ToString(); card.MORunningCardStart = actionEventArgs.LotCode; card.MORunningCardEnd = actionEventArgs.LotCode; card.MaintainUser = actionEventArgs.UserCode; DBDateTime dbDateTime; //Laws Lu,2006/11/13 uniform system collect date //Laws Lu,2006/11/13 uniform system collect date if (actionEventArgs.ProductInfo.WorkDateTime != null) { dbDateTime = actionEventArgs.ProductInfo.WorkDateTime; } else { dbDateTime = FormatHelper.GetNowDBDateTime(DataProvider); actionEventArgs.ProductInfo.WorkDateTime = dbDateTime; } card.MaintainDate = dbDateTime.DBDate; card.MaintainTime = dbDateTime.DBTime; // Added by Icyer 2007/07/02 MO mo = (MO)moFacade.GetMO(card.MOCode); card.MOSeq = mo.MOSeq; // Added end //将Action加入列表 actionCheckStatus.ActionList.Add(actionEventArgs); } } } } catch (Exception e) { messages.Add(new Message(e)); } dataCollectDebug.WhenFunctionOut(messages); return(messages); }