Esempio n. 1
0
        public Response  QCCheckApp(QCCheckModel qccheck)
        {
            Response <QCCheckModel> Response = new Response <QCCheckModel>();
            string sErrorMsg = "";

            //if (!CheckLogin())
            //{
            //    Response.Code = 500;
            //    Response.Status = false;
            //    Response.Message = "请先登录!";
            //    return Response;
            //}

            try
            {
                if (qccheck.IsGood == 0)//如果不合格
                {
                    OrderHeader orderHeader = _unitWork.FindSingle <OrderHeader>(u => u.Code.Equals(qccheck.OrderCode));
                    if (orderHeader == null)
                    {
                        sErrorMsg       += "工单号为:" + qccheck.OrderCode + "不存在,请确认<br>";
                        Response.Message = sErrorMsg;
                    }
                    else
                    {
                        if (_unitWork.IsExist <Repair>(u => u.SerialNumber == qccheck.SerialNumber && u.MaterialCode == qccheck.MaterialCode))
                        {
                            sErrorMsg       += "SN:" + qccheck.SerialNumber + "已经判定过,请勿重复判定<br>";
                            Response.Message = sErrorMsg;
                        }
                        else
                        {
                            Repair repair = new Repair();
                            repair.WONumber     = qccheck.OrderCode;
                            repair.ItemCode     = qccheck.ProductCode;
                            repair.SerialNumber = qccheck.SerialNumber;
                            repair.MaterialCode = qccheck.MaterialCode;
                            repair.NGcode       = qccheck.NGCode;
                            repair.NGMarkUser   = qccheck.NGMarkUser;
                            repair.CreateTime   = DateTime.Now;
                            repair.CreateBy     = "padApi";
                            _unitWork.Add(repair);
                        }
                        if (_unitWork.IsExist <StepTrace>(u => u.SerialNumber == qccheck.SerialNumber))
                        {
                            StepTrace stepTrace = _unitWork.Find <StepTrace>(u => u.SerialNumber == qccheck.SerialNumber).FirstOrDefault();
                            stepTrace.IsNG       = true;
                            stepTrace.NGcode     = qccheck.NGCode;
                            stepTrace.UpdateBy   = qccheck.NGMarkUser;
                            stepTrace.UpdateTime = DateTime.Now;
                            _unitWork.UpdateByTracking(stepTrace);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Response.Code    = 500;
                Response.Status  = false;
                Response.Message = (Response.Message == "操作成功" ? "" : Response.Message) + "\r\n" + "Code:" + qccheck.OrderCode + "判定失败!" + ex.Message;
            }
            return(Response);
        }
 public string QCCheck([FromBody] QCCheckModel qcCheckModel)
 {
     return(JsonHelper.Instance.Serialize(_app.QCCheckApp(qcCheckModel)));
 }