public IList <CV_QM_INFRA_RETURNSTEP_CONFIG> updateReturnStepConfig(QM_INFRA_RETURNSTEP_CONFIG param)
        {
            IList <CV_QM_INFRA_RETURNSTEP_CONFIG> retList = null;

            param.UpdatedOn = SSGlobalConfig.Now;//数据库时间
            using (TransactionScope ts = new TransactionScope())
            {
                retStep_configbo.UpdateSome(param);
                retList = cv_retStep_configbo.GetEntitiesByQueryParam(param);
                ts.Complete();
            }
            return(retList);
        }
 public IList <CV_QM_INFRA_RETURNSTEP_CONFIG> getCVReturnStepConfig(QM_INFRA_RETURNSTEP_CONFIG param)
 {
     return(cv_retStep_configbo.GetEntitiesByQueryParam(param));
 }
예제 #3
0
        public CV_QM_REPAIR_TOP_INFO submitRepairDetails(QM_Repair_Detail_SubmitParam param)
        {
            CV_QM_REPAIR_TOP_INFO cv_top = null;
            DateTime nowTime             = SSGlobalConfig.Now;

            //不良现象维修结果
            using (TransactionScope ts = new TransactionScope())
            {
                CV_QM_REPAIR_TOP_INFO repair = param.repairOrder;
                //不良现象维修结果
                foreach (QM_REPAIR_DETAILS detail in param.detailList)
                {
                    if (!string.IsNullOrEmpty(detail.RepairResult))
                    {
                        repair_detailsbo.UpdateSome(detail);
                    }
                }

                //报修单维修结果
                QM_REPAIR_TOP top = new QM_REPAIR_TOP()
                {
                    TGuid         = repair.TGuid,
                    Status        = param.status,
                    Result        = param.result,
                    Repairer      = param.repairer,
                    RepairFinTime = nowTime
                };

                //获得返回工序
                if (param.result.Equals("OK"))
                {
                    //判断报修工序是否为空
                    if (string.IsNullOrEmpty(repair.ReportStep))
                    {
                        log.Info(repair.TGuid.ToString() + "报修工序为空");
                    }
                    else
                    {
                        QM_INFRA_RETURNSTEP_CONFIG retStepParam = new QM_INFRA_RETURNSTEP_CONFIG()
                        {
                            ReportStepID = repair.ReportStep
                        };
                        IList <QM_INFRA_RETURNSTEP_CONFIG> retStepConfigs = retStep_configbo.GetEntitiesByQueryParam(retStepParam);
                        if (retStepConfigs == null || retStepConfigs.Count == 0)
                        {
                            log.Info(repair.TGuid.ToString() + "不存在对应的返回工序");
                        }
                        else
                        {
                            top.ReturnStep = retStepConfigs[0].ReturnStepID;
                        }
                    }
                    //需要更改SN状态
                    int type = 3;
                    if (repair.ReportWorkshop.Equals("SMT"))
                    {
                        type = 1;
                    }
                    else if (repair.ReportWorkshop.Equals("DIP"))
                    {
                        type = 2;
                    }
                    //更改良品标识和locPK
                    modifyLotStatusLoc(repair.AbnormalitySN, param.repairOrder.ReportLine, type, 2);
                }

                repair_topbo.UpdateSome(top);
                //重新查询获得
                CV_QM_REPAIR_TOP_INFO cv_param = new CV_QM_REPAIR_TOP_INFO()
                {
                    TGuid = repair.TGuid
                };
                cv_top = cv_repair_infobo.GetEntitiesByQueryParam(cv_param)[0];
                ts.Complete();
            }
            return(cv_top);
        }