Ejemplo n.º 1
0
        protected override Infragistics.WebUI.UltraWebGrid.UltraGridRow GetGridRow(object obj)
        {
            if (_facade == null)
            {
                _facade = new ReworkFacadeFactory(base.DataProvider).Create();
            }
            Reject2ErrorCode reject2ErrorCode = (Reject2ErrorCode)this._facade.GetReject2ErrorCode(
                ((Reject)obj).RunningCard,
                ((Reject)obj).RunningCardSequence
                );

            string errorCode = string.Empty;

            if (reject2ErrorCode != null)
            {
                errorCode = reject2ErrorCode.ErrorCode;
            }


            return(new Infragistics.WebUI.UltraWebGrid.UltraGridRow(
                       new object[] { "false",
                                      ((Reject)obj).RunningCard.ToString(),
                                      ((Reject)obj).RunningCardSequence.ToString(),
                                      ((Reject)obj).LOTNO,
                                      ((Reject)obj).MOCode,
                                      ((Reject)obj).ItemCode,
                                      ((Reject)obj).ModelCode,
                                      ((Reject)obj).OPCode,
                                      FormatHelper.ToDateString(((Reject)obj).RejectDate),
                                      FormatHelper.ToTimeString(((Reject)obj).RejectTime),
                                      ((Reject)obj).RejectUser,
                                      errorCode }
                       ));
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="actionEventArgs"> </param> params (0,lotno)
        /// <returns></returns>
        public Messages Execute(ActionEventArgs actionEventArgs)
        {
            Messages         messages         = new Messages();
            DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect");

            dataCollectDebug.WhenFunctionIn(messages);
            OQCRejectEventArgs oqcRejectEventArgs = actionEventArgs as OQCRejectEventArgs;

            try
            {
                ActionOnLineHelper dataCollect  = new ActionOnLineHelper(this.DataProvider);
                ActionOQCHelper    oqcHelper    = new ActionOQCHelper(this.DataProvider);
                OQCFacade          oqcFacade    = new OQCFacade(this.DataProvider);
                ReworkFacade       reworkFacade = new ReworkFacade(this.DataProvider);
                TSFacade           tsFacade     = new TSFacade(this.DataProvider);

                //check oqcStatus
                #region CheckOQCLotStatus
                //				object objOQClot = oqcFacade.GetOQCLot(oqcRejectEventArgs.OQCLotNO,OQCFacade.Lot_Sequence_Default);
                //				if(objOQClot == null)
                //				{
                //					throw new Exception("$Error_OQCLotNotExisted");
                //				}
                //				if( ((OQCLot)objOQClot).LOTStatus == OQCLotStatus.OQCLotStatus_Initial)
                //				{
                //					throw new Exception("$Error_OQCLotNO_Cannot_Initial");
                //				}
                //				if( ((OQCLot)objOQClot).LOTStatus == OQCLotStatus.OQCLotStatus_NoExame)
                //				{
                //					throw new Exception("$Error_OQCLotNO_Cannot_NoExame");
                //				}
                //				if( (((OQCLot)objOQClot).LOTStatus == OQCLotStatus.OQCLotStatus_Reject)||((((OQCLot)objOQClot).LOTStatus == OQCLotStatus.OQCLotStatus_Pass)  ))
                //				{
                //					throw new Exception("$Error_OQCLotNO_HasComplete");
                //				}
                #endregion

                if (!oqcRejectEventArgs.IsForceReject)
                {
                    //必须要有NG而且在送修状态的板子
                    if (tsFacade.HaveNewStatusCardInOQCLot(oqcRejectEventArgs.OQCLotNO, String.Empty))
                    {
                        throw new Exception("$Error_OQCLotNo_HasNoTS");
                    }
                }

                object objLot = null;
                if (oqcRejectEventArgs.Lot == null)
                {
                    objLot = oqcFacade.GetExamingOQCLot(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default);
                }
                else
                {
                    objLot = oqcRejectEventArgs.Lot;
                }

                //update each running card reject
                #region 取得每个板子进行批退,填充reject,Reject2ErrorCode信息
                //reject
                object[] RCards = null;

                if (oqcRejectEventArgs.CardOfLot != null)
                {
                    RCards = oqcRejectEventArgs.CardOfLot;
                }
                else
                {
                    RCards = oqcHelper.QueryCardOfLot(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default);
                }

                if (!oqcRejectEventArgs.IsForceReject)
                {
                    int iNGCount = 0;
                    for (int j = 0; j < RCards.Length; j++)
                    {
                        if (((Simulation)RCards[j]).ProductStatus == ProductStatus.NG)
                        {
                            iNGCount = 1;
                            break;
                        }
                    }
                    int funcNGCount = 0;
                    funcNGCount = oqcFacade.QueryFuncTesCount(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default.ToString(), ProductStatus.NG);
                    if (iNGCount == 0 && funcNGCount == 0)
                    {
                        throw new Exception("$CS_LOT_NOT_EXIST_NG");
                    }
                }

                #region reject errorCodes
                object[]         objs             = oqcFacade.ExtraQueryOQCLotCard2ErrorCode(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default.ToString());
                Reject2ErrorCode reject2ErrorCode = reworkFacade.CreateNewReject2ErrorCode();
                //Reject2ErrorCode
                if (objs != null)
                {
                    for (int i = 0; i < objs.Length; i++)
                    {
                        bool needInsert = false;
                        foreach (Simulation sim in RCards)
                        {
                            if (sim.RunningCard == ((OQCLotCard2ErrorCode)objs[i]).RunningCard &&
                                sim.RunningCardSequence == ((OQCLotCard2ErrorCode)objs[i]).RunningCardSequence)
                            {
                                needInsert = true;
                            }
                        }
                        if (needInsert)
                        {
                            reject2ErrorCode.ErrorCode           = ((OQCLotCard2ErrorCode)objs[i]).ErrorCode;
                            reject2ErrorCode.ErrorCodeGroup      = ((OQCLotCard2ErrorCode)objs[i]).ErrorCodeGroup;
                            reject2ErrorCode.MaintainUser        = actionEventArgs.UserCode;
                            reject2ErrorCode.RunningCard         = ((OQCLotCard2ErrorCode)objs[i]).RunningCard;
                            reject2ErrorCode.RunningCardSequence = ((OQCLotCard2ErrorCode)objs[i]).RunningCardSequence + 1;
                            reject2ErrorCode.MOCode = ((OQCLotCard2ErrorCode)objs[i]).MOCode;
                            reject2ErrorCode.LotNo  = ((OQCRejectEventArgs)actionEventArgs).OQCLotNO;
                            reject2ErrorCode.MOSeq  = ((OQCLotCard2ErrorCode)objs[i]).MOSeq;        // Added by Icyer 2007/07/03

                            if (reworkFacade.GetReject2ErrorCode(reject2ErrorCode.ErrorCode, reject2ErrorCode.RunningCard, reject2ErrorCode.RunningCardSequence, reject2ErrorCode.ErrorCodeGroup) == null)
                            {
                                reworkFacade.AddReject2ErrorCode(reject2ErrorCode);
                            }
                        }
                    }
                }
                #endregion

                #endregion

                #region OQCLotCheckList
                object objLotCheckList = oqcFacade.GetOQCLOTCheckList(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default);
                if (objLotCheckList != null)
                {
                    OQCLOTCheckList oqcLotCheckList = objLotCheckList as OQCLOTCheckList;
                    oqcLotCheckList.Result = OQCLotStatus.OQCLotStatus_Reject;
                    oqcFacade.UpdateOQCLOTCheckList(oqcLotCheckList);
                }
                #endregion

                //把整个lot中的ID全变成reject
                #region 整个lot中的ID全变成reject
                object[] objsInTS = oqcFacade.GetOQCLot2CardInTS(string.Empty, string.Empty, string.Empty, string.Empty, oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default.ToString());
                if (objsInTS == null)
                {
                    oqcFacade.UpdateOQCLot2CardByOQCResult(oqcRejectEventArgs.OQCLotNO, OQCFacade.Lot_Sequence_Default.ToString(), string.Empty, string.Empty, ProductStatus.Reject, true);
                }
                else
                {
                    string tmpString = string.Empty;
                    for (int i = 0; i < objsInTS.Length; i++)
                    {
                        tmpString += ": " + ((OQCLot2Card)objsInTS[i]).RunningCard;
                    }
                    throw new Exception(String.Format("$Error_RunningCardInTS: {0}", tmpString));
                }
                #endregion

                messages.AddMessages(SetReworkInformation(messages, RCards, oqcRejectEventArgs, dataCollect, reworkFacade));

                #region updateOQCLot

                DBDateTime dbDateTime;

                dbDateTime = FormatHelper.GetNowDBDateTime(DataProvider);

                OQCLot oqcLot = objLot as OQCLot;
                oqcLot.LOTStatus = OQCLotStatus.OQCLotStatus_Reject;
                oqcLot.DealDate  = dbDateTime.DBDate;
                oqcLot.DealTime  = dbDateTime.DBTime;
                oqcLot.DealUser  = actionEventArgs.UserCode;
                oqcLot.Memo      = oqcRejectEventArgs.Memo;
                oqcFacade.UpdateOQCLotStatus(oqcLot);
                #endregion

                if (oqcRejectEventArgs.IsAutoGenerateReworkSheet)
                {
                    //ReworkSheet reworkSheet = reworkFacade.GetMaxReworkSheet(dbDateTime.DBDate);
                    //reworkSheet.ReworkCode = reworkSheet.ReworkCode.Substring(0, 9) + Convert.ToString(int.Parse(reworkSheet.ReworkCode.Substring(9, 3)) + 1).PadLeft(3, '0');
                    ReworkSheet reworkSheet = new ReworkSheet();
                    reworkSheet.ReworkCode       = oqcLot.LOTNO;
                    reworkSheet.CreateDate       = dbDateTime.DBDate;
                    reworkSheet.CreateTime       = dbDateTime.DBTime;
                    reworkSheet.CreateUser       = actionEventArgs.UserCode;
                    reworkSheet.Department       = "";
                    reworkSheet.EAttribute1      = "";
                    reworkSheet.ItemCode         = (RCards[0] as Simulation).ItemCode;
                    reworkSheet.LotList          = oqcRejectEventArgs.OQCLotNO;
                    reworkSheet.MaintainDate     = dbDateTime.DBDate;
                    reworkSheet.MaintainTime     = dbDateTime.DBTime;
                    reworkSheet.MaintainUser     = actionEventArgs.UserCode;
                    reworkSheet.MOCode           = "";
                    reworkSheet.NeedCheck        = "N";
                    reworkSheet.NewMOCode        = "";
                    reworkSheet.NewOPBOMCode     = "";
                    reworkSheet.NewOPBOMVersion  = "";
                    reworkSheet.NewOPCode        = "";
                    reworkSheet.NewRouteCode     = "";
                    reworkSheet.ReasonAnalyse    = "";
                    reworkSheet.ReworkContent    = "";
                    reworkSheet.ReworkDate       = 0;
                    reworkSheet.ReworkHC         = 0;
                    reworkSheet.ReworkMaxQty     = 0;
                    reworkSheet.ReworkQty        = RCards.Length;
                    reworkSheet.ReworkRealQty    = 0;
                    reworkSheet.ReworkReason     = oqcRejectEventArgs.Memo;
                    reworkSheet.ReworkSourceCode = " ";
                    reworkSheet.ReworkTime       = 0;
                    reworkSheet.ReworkType       = ReworkType.REWORKTYPE_ONLINE;
                    reworkSheet.Soluation        = "";
                    reworkSheet.Status           = ReworkStatus.REWORKSTATUS_RELEASE;
                    reworkSheet.AutoLot          = oqcRejectEventArgs.IsCreateNewLot ? "Y" : "";

                    reworkFacade.AddReworkSheetWithOutTrans(reworkSheet);
                }

                //add by roger.xue 2008/10/27
                if (oqcRejectEventArgs.IsUnFrozen)
                {
                    oqcFacade.UpdateUnFrozenOnLot(oqcRejectEventArgs.OQCLotNO, oqcRejectEventArgs.UnFrozenReason,
                                                  dbDateTime.DBDate, dbDateTime.DBTime, oqcRejectEventArgs.UserCode, OQCFacade.Lot_Sequence_Default);

                    oqcFacade.UnFreezeFrozen(oqcRejectEventArgs.OQCLotNO, oqcRejectEventArgs.UnFrozenReason,
                                             dbDateTime.DBDate, dbDateTime.DBTime, oqcRejectEventArgs.UserCode, OQCFacade.Lot_Sequence_Default);
                }
                //end add

                AlertFacade alertFacade = new AlertFacade(this.DataProvider);
                alertFacade.AlertOQCReject(oqcLot.ItemCode, oqcLot.SSCode, oqcLot.LOTNO, oqcLot.Memo);
            }
            catch (Exception e)
            {
                messages.Add(new Message(e));
            }
            dataCollectDebug.WhenFunctionOut(messages);
            return(messages);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 不良品采集
        /// </summary>
        /// <param name="domainDataProvider"></param>
        /// <param name="iD"></param>
        /// <param name="actionType"></param>
        /// <param name="resourceCode"></param>
        /// <param name="userCode"></param>
        /// <param name="product"></param>
        /// <param name="datas1"></param>
        /// <param name="datas2"></param>
        /// <returns></returns>
        public Messages Execute(ActionEventArgs actionEventArgs)
        {
            Messages         messages         = new Messages();
            DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect");

            dataCollectDebug.WhenFunctionIn(messages);
            try
            {
                //检查ErrorCode,ErrorGroup是否正确 TODO
                //如果CS能确保ErrorCode,ErrorGroup是正确的,此处逻辑可以去掉


                ActionOnLineHelper dataCollect = new ActionOnLineHelper(this.DataProvider);
                //填写SIMULATION 检查工单、ID、途程、操作
                messages.AddMessages(this.CheckIDIn(actionEventArgs));
                if (messages.IsSuccess())
                {
                    messages.AddMessages(dataCollect.Execute(actionEventArgs));
                    if (messages.IsSuccess())
                    {
                        //填写Reject报表 TODO
                        ReworkFacade rework = new ReworkFacade(this.DataProvider);
                        Reject       reject = rework.CreateNewReject();
                        reject.ItemCode              = actionEventArgs.ProductInfo.NowSimulationReport.ItemCode;
                        reject.MaintainDate          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainDate;
                        reject.MaintainTime          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainTime;
                        reject.MaintainUser          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainUser;
                        reject.MOCode                = actionEventArgs.ProductInfo.NowSimulationReport.MOCode;
                        reject.ModelCode             = actionEventArgs.ProductInfo.NowSimulationReport.ModelCode;
                        reject.OPCode                = actionEventArgs.ProductInfo.NowSimulationReport.OPCode;
                        reject.RejectDate            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainDate;
                        reject.RejectStatus          = RejectStatus.Reject;
                        reject.RejectTime            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainTime;
                        reject.RejectUser            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainUser;
                        reject.ResourceCode          = actionEventArgs.ProductInfo.NowSimulationReport.ResourceCode;
                        reject.RouteCode             = actionEventArgs.ProductInfo.NowSimulationReport.RouteCode;
                        reject.RunningCard           = actionEventArgs.ProductInfo.NowSimulationReport.RunningCard;
                        reject.RunningCardSequence   = actionEventArgs.ProductInfo.NowSimulationReport.RunningCardSequence;
                        reject.SegmentCode           = actionEventArgs.ProductInfo.NowSimulationReport.SegmentCode;
                        reject.SourceCard            = actionEventArgs.ProductInfo.NowSimulationReport.SourceCard;
                        reject.SourceCardSequence    = actionEventArgs.ProductInfo.NowSimulationReport.SourceCardSequence;
                        reject.StepSequenceCode      = actionEventArgs.ProductInfo.NowSimulationReport.StepSequenceCode;
                        reject.TranslateCard         = actionEventArgs.ProductInfo.NowSimulationReport.TranslateCard;
                        reject.TranslateCardSequence = actionEventArgs.ProductInfo.NowSimulationReport.TranslateCardSequence;
                        //reject.LOTNO  ="~";
                        reject.OPId        = "~";
                        reject.EAttribute1 = ((TSActionEventArgs)actionEventArgs).Memo;
                        reject.MOSeq       = actionEventArgs.ProductInfo.NowSimulationReport.MOSeq; // Added by Icyer 2007/07/02
                        rework.AddReject(reject);


                        //reject errorcode TODO
                        //填写测试报表 TODO
                        object[] obj = ((TSActionEventArgs)actionEventArgs).ErrorCodes;
                        if (obj != null)
                        {
                            Reject2ErrorCode reject2ErrorCode = rework.CreateNewReject2ErrorCode();
                            for (int i = 0; i < obj.Length; i++)
                            {
                                reject2ErrorCode.ErrorCode           = ((ErrorCodeGroup2ErrorCode)obj[i]).ErrorCode;
                                reject2ErrorCode.ErrorCodeGroup      = ((ErrorCodeGroup2ErrorCode)obj[i]).ErrorCodeGroup;
                                reject2ErrorCode.MaintainDate        = reject.MaintainDate;
                                reject2ErrorCode.MaintainTime        = reject.MaintainTime;
                                reject2ErrorCode.MaintainUser        = reject.MaintainUser;
                                reject2ErrorCode.MOCode              = reject.MOCode;
                                reject2ErrorCode.RunningCard         = reject.RunningCard;
                                reject2ErrorCode.RunningCardSequence = reject.RunningCardSequence;
                                reject2ErrorCode.MOSeq = reject.MOSeq;  // Added by Icyer 2007/07/03
                                rework.AddReject2ErrorCode(reject2ErrorCode);
                            }
                        }
                    }

                    //ReportHelper reportCollect= new ReportHelper(this.DataProvider);
                    //messages.AddMessages(reportCollect.ReportLineQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                    ////messages.AddMessages(reportCollect.ReportResQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                    //messages.AddMessages(reportCollect.ReportLineECOQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo,((TSActionEventArgs)actionEventArgs).ErrorCodes));
                }
            }
            catch (Exception e)
            {
                messages.Add(new Message(e));
            }
            dataCollectDebug.WhenFunctionOut(messages);
            return(messages);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 不良品采集
        /// </summary>
        /// <param name="domainDataProvider"></param>
        /// <param name="iD"></param>
        /// <param name="actionType"></param>
        /// <param name="resourceCode"></param>
        /// <param name="userCode"></param>
        /// <param name="product"></param>
        /// <param name="datas1"></param>
        /// <param name="datas2"></param>
        /// <returns></returns>
        public Messages Execute(ActionEventArgs actionEventArgs)
        {
            Messages         messages         = new Messages();
            DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect");

            dataCollectDebug.WhenFunctionIn(messages);
            try
            {
                if (((TSActionEventArgs)actionEventArgs).OPCode == string.Empty)
                {
                    throw new Exception("$CS_Sys_OutLine_LostOPParam");
                }

                string opCode = ((TSActionEventArgs)actionEventArgs).OPCode;



                messages.AddMessages(this.CheckIDIn(actionEventArgs));
                if (messages.IsSuccess())
                {
                    ActionOnLineHelper dataCollect = new ActionOnLineHelper(this.DataProvider);
                    //补充SIMULATION 不良信息
                    if (actionEventArgs.ActionType == ActionType.DataCollectAction_OutLineReject)
                    {
                        actionEventArgs.ProductInfo.NowSimulation.ProductStatus = ProductStatus.Reject;
                        actionEventArgs.ProductInfo.NowSimulation.NGTimes       = actionEventArgs.ProductInfo.NowSimulation.NGTimes + 1;

                        //2006/01/10,新增	OQCNG后将产品脱离批
                        actionEventArgs.ProductInfo.NowSimulation.LOTNO = String.Empty;
                    }

                    messages.AddMessages(dataCollect.Execute(actionEventArgs));
                    if (messages.IsSuccess())
                    {
                        //填写Reject报表 TODO
                        ReworkFacade rework = new ReworkFacade(this.DataProvider);
                        Reject       reject = rework.CreateNewReject();
                        reject.ItemCode              = actionEventArgs.ProductInfo.NowSimulationReport.ItemCode;
                        reject.MaintainDate          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainDate;
                        reject.MaintainTime          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainTime;
                        reject.MaintainUser          = actionEventArgs.ProductInfo.NowSimulationReport.MaintainUser;
                        reject.MOCode                = actionEventArgs.ProductInfo.NowSimulationReport.MOCode;
                        reject.ModelCode             = actionEventArgs.ProductInfo.NowSimulationReport.ModelCode;
                        reject.OPCode                = actionEventArgs.ProductInfo.NowSimulationReport.OPCode;
                        reject.RejectDate            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainDate;
                        reject.RejectStatus          = RejectStatus.Reject;
                        reject.RejectTime            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainTime;
                        reject.RejectUser            = actionEventArgs.ProductInfo.NowSimulationReport.MaintainUser;
                        reject.ResourceCode          = actionEventArgs.ProductInfo.NowSimulationReport.ResourceCode;
                        reject.RouteCode             = ((ExtendSimulation)actionEventArgs.ProductInfo.LastSimulation).NextRouteCode;
                        reject.RunningCard           = actionEventArgs.ProductInfo.NowSimulationReport.RunningCard;
                        reject.RunningCardSequence   = actionEventArgs.ProductInfo.NowSimulationReport.RunningCardSequence;
                        reject.SegmentCode           = actionEventArgs.ProductInfo.NowSimulationReport.SegmentCode;
                        reject.SourceCard            = actionEventArgs.ProductInfo.NowSimulationReport.SourceCard;
                        reject.SourceCardSequence    = actionEventArgs.ProductInfo.NowSimulationReport.SourceCardSequence;
                        reject.StepSequenceCode      = actionEventArgs.ProductInfo.NowSimulationReport.StepSequenceCode;
                        reject.TranslateCard         = actionEventArgs.ProductInfo.NowSimulationReport.TranslateCard;
                        reject.TranslateCardSequence = actionEventArgs.ProductInfo.NowSimulationReport.TranslateCardSequence;
                        //reject.LOTNO  ="~";
                        reject.OPId        = "~";
                        reject.EAttribute1 = ((TSActionEventArgs)actionEventArgs).Memo;
                        reject.MOSeq       = actionEventArgs.ProductInfo.NowSimulation.MOSeq; // Added by Icyer 2007/07/02
                        rework.AddReject(reject);


                        //reject errorcode TODO
                        //填写测试报表 TODO
                        object[] obj = ((TSActionEventArgs)actionEventArgs).ErrorCodes;
                        if (obj != null)
                        {
                            Reject2ErrorCode reject2ErrorCode = rework.CreateNewReject2ErrorCode();
                            for (int i = 0; i < obj.Length; i++)
                            {
                                reject2ErrorCode.ErrorCode           = ((ErrorCodeGroup2ErrorCode)obj[i]).ErrorCode;
                                reject2ErrorCode.ErrorCodeGroup      = ((ErrorCodeGroup2ErrorCode)obj[i]).ErrorCodeGroup;
                                reject2ErrorCode.MaintainDate        = reject.MaintainDate;
                                reject2ErrorCode.MaintainTime        = reject.MaintainTime;
                                reject2ErrorCode.MaintainUser        = reject.MaintainUser;
                                reject2ErrorCode.MOCode              = reject.MOCode;
                                reject2ErrorCode.RunningCard         = reject.RunningCard;
                                reject2ErrorCode.RunningCardSequence = reject.RunningCardSequence;
                                reject2ErrorCode.LotNo = reject.LOTNO;
                                //reject2ErrorCode.LotSeq = reject.l
                                reject2ErrorCode.MOSeq = reject.MOSeq;  // Added by Icyer 2007/07/03
                                rework.AddReject2ErrorCode(reject2ErrorCode);
                            }
                        }


                        //ReportHelper reportCollect= new ReportHelper(this.DataProvider);
                        //messages.AddMessages(reportCollect.ReportLineQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                        ////messages.AddMessages(reportCollect.ReportResQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                        //messages.AddMessages(reportCollect.ReportLineECOQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo,((TSActionEventArgs)actionEventArgs).ErrorCodes));

                        //				}
                        //					if (messages.IsSuccess())
                        //					{
                        //						actionEventArgs.ProductInfo.ECG2ErrCodes =  ActionTS.ParseECG2Errs(((OutLineActionEventArgs)actionEventArgs).ErrorCodes,actionEventArgs.ActionType);
                        //						//							//填写测试报表 TODO
                        //						ReportHelper reportCollect= new ReportHelper(this.DataProvider);
                        //						messages.AddMessages(reportCollect.ReportLineQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                        //						messages.AddMessages(reportCollect.ReportResQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo));
                        //
                        //						if (actionEventArgs.ActionType == ActionType.DataCollectAction_OutLineReject)
                        //						{
                        //							messages.AddMessages( dataCollect.CollectErrorInformation(this.DataProvider, actionEventArgs.ActionType,
                        //								actionEventArgs.ProductInfo,
                        //								((OutLineActionEventArgs)actionEventArgs).ErrorCodes, null,
                        //								((OutLineActionEventArgs)actionEventArgs).Memo));
                        //							messages.AddMessages(reportCollect.ReportLineECOQuanMaster(this.DataProvider,actionEventArgs.ActionType,actionEventArgs.ProductInfo,((OutLineActionEventArgs)actionEventArgs).ErrorCodes));
                        //						}
                        //
                        //					}
                        //
                    }
                }
            }
            catch (Exception e)
            {
                messages.Add(new Message(e));
            }
            dataCollectDebug.WhenFunctionOut(messages);
            return(messages);
        }