コード例 #1
0
        public ActionResult Save(LotDefectViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                DefectParameter p = new DefectParameter()
                {
                    Creator         = User.Identity.Name,
                    OperateComputer = Request.UserHostAddress,
                    Operator        = User.Identity.Name,
                    ReasonCodes     = new Dictionary <string, IList <DefectReasonCodeParameter> >(),
                    Remark          = model.Description,
                    LotNumbers      = new List <string>()
                };
                //获取批值。
                string lotNumber = model.LotNumber.ToUpper();
                result = GetLot(lotNumber);
                if (result.Code > 0)
                {
                    return(Json(result));
                }
                p.LotNumbers.Add(lotNumber);

                //组织不良原因代码
                if (!p.ReasonCodes.ContainsKey(lotNumber))
                {
                    p.ReasonCodes.Add(lotNumber, new List <DefectReasonCodeParameter>());
                }

                p.ReasonCodes[lotNumber].Add(new DefectReasonCodeParameter()
                {
                    Description            = model.ReasonDescription,
                    Quantity               = model.DefectQuantity,
                    ReasonCodeCategoryName = model.ReasonCodeCategoryName,
                    ReasonCodeName         = model.ReasonCodeName,
                    ResponsiblePerson      = model.ResponsiblePerson,
                    RouteOperationName     = model.RouteOperationName,
                });

                //批次不良操作。
                using (LotDefectServiceClient client = new LotDefectServiceClient())
                {
                    result = client.Defect(p);
                }
                if (result.Code == 0)
                {
                    result.Message = string.Format("批次 {0} 不良操作成功。", model.LotNumber);
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(Json(result));
        }
コード例 #2
0
ファイル: LotDefectController.cs プロジェクト: 88886/jnmmes
        public ActionResult Save(LotDefectViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                DefectParameter p = new DefectParameter()
                {
                    Grade           = model.Grade,
                    Creator         = User.Identity.Name,
                    OperateComputer = Request.UserHostAddress,
                    Operator        = User.Identity.Name,
                    ReasonCodes     = new Dictionary <string, IList <DefectReasonCodeParameter> >(),
                    Remark          = model.Description,
                    LotNumbers      = new List <string>()
                };
                //获取批值。
                string lotNumber = model.LotNumber.ToUpper();
                result = GetLot(lotNumber);
                if (result.Code > 0)
                {
                    return(Json(result));
                }
                p.LotNumbers.Add(lotNumber);

                //组织不良原因代码
                if (!p.ReasonCodes.ContainsKey(lotNumber))
                {
                    p.ReasonCodes.Add(lotNumber, new List <DefectReasonCodeParameter>());
                }



                List <DefectPOSParameter> lstDefectPos = new List <DefectPOSParameter>();
                lstDefectPos.Clear();
                if (model.Position != null)
                {
                    for (int i = 0; i < model.Position.Count; i++)
                    {
                        DefectPOSParameter dPOS = new DefectPOSParameter();
                        dPOS.POS_X = model.Position[i].Split(':')[0];
                        dPOS.POS_Y = model.Position[i].Split(':')[1];
                        lstDefectPos.Add(dPOS);
                    }
                }


                DefectReasonCodeParameter defectCodeParam = new DefectReasonCodeParameter()
                {
                    Description            = model.ReasonDescription,
                    Quantity               = model.DefectQuantity,
                    ReasonCodeCategoryName = model.ReasonCodeCategoryName,
                    ReasonCodeName         = model.ReasonCodeName,
                    ResponsiblePerson      = model.ResponsiblePerson,
                    RouteOperationName     = model.RouteOperationName,
                    ListDefectPOSParameter = lstDefectPos
                };

                p.ReasonCodes[lotNumber].Add(defectCodeParam);

                //批次不良操作。
                using (LotDefectServiceClient client = new LotDefectServiceClient())
                {
                    result = client.Defect(p);
                }
                if (result.Code == 0)
                {
                    result.Message = string.Format("批次 {0} 不良操作成功。", model.LotNumber);
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(Json(result));
        }