Exemplo n.º 1
0
        /// <summary>
        /// TrackoutPackageNo
        /// </summary>
        /// <param name="obj">批次对象。</param>
        /// <param name="model">包装模型对象。</param>
        /// <returns>返回结果。</returns>
        private MethodReturnResult TrackOutPackageNo(ZPVMLotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();
            //进行批次包装作业。
            PackageParameter p = new PackageParameter()
            {
                Creator            = User.Identity.Name,
                EquipmentCode      = model.EquipmentCode,
                IsFinishPackage    = model.IsFinishPackage,
                IsLastestPackage   = model.IsLastestPackage,
                LineCode           = model.LineCode,
                LotNumbers         = new List <string>(),
                OperateComputer    = Request.UserHostAddress,
                Operator           = User.Identity.Name,
                PackageNo          = model.PackageNo.ToUpper(),
                Remark             = model.Description,
                RouteOperationName = model.RouteOperationName
            };

            using (LotPackageServiceClient client = new LotPackageServiceClient())
            {
                result = client.TrackOutPackage(p);
                if (result.Code == 0)
                {
                    result.Message = string.Format("包装号 {0} 过账成功。"
                                                   , model.PackageNo);
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        private MethodReturnResult Package(ZPVMLotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();
            //进行批次包装作业。
            PackageParameter p = new PackageParameter()
            {
                Creator            = User.Identity.Name,
                EquipmentCode      = model.EquipmentCode,
                IsFinishPackage    = model.IsFinishPackage,
                IsLastestPackage   = model.IsLastestPackage,
                LineCode           = model.LineCode,
                LotNumbers         = new List <string>(),
                OperateComputer    = Request.UserHostAddress,
                Operator           = User.Identity.Name,
                Remark             = model.Description,
                RouteOperationName = model.RouteOperationName
            };

            if (model.PackageNo != null && model.PackageNo != "")
            {
                p.PackageNo = model.PackageNo.ToUpper().Trim();
            }
            else
            {
                p.PackageNo = model.PackageNo.ToUpper();
            }

            if (model.IsFinishPackage == false)
            {
                p.LotNumbers.Add(model.LotNumber.ToUpper());
            }

            if (p.IsFinishPackage == false &&
                model.CurrentQuantity == model.FullQuantity)
            {
                p.IsFinishPackage     = true;
                model.IsFinishPackage = true;
            }

            using (LotPackageServiceClient client = new LotPackageServiceClient())
            {
                result = client.Package(p);

                if (result.Code == 0 && model.IsFinishPackage == false)
                {
                    result.Message = string.Format("批次 {0} 成功包装到({1})。"
                                                   , model.LotNumber
                                                   , model.PackageNo.ToUpper().Trim());
                }
                else if (result.Code == 0 && model.IsFinishPackage == true)
                {
                    result.Message = string.Format("包 {0} 已完成。"
                                                   , model.PackageNo.ToUpper().Trim());
                }
            }
            return(result);
        }
Exemplo n.º 3
0
        public ActionResult TrackOutPackage(ZPVMLotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                //如果包装号为空。
                if (string.IsNullOrEmpty(model.PackageNo))
                {
                    result.Code    = 1001;
                    result.Message = string.Format("包装号不能为空。");
                    return(Json(result));
                }

                //如果当前数量为空,获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst2 = client.Get(model.PackageNo);
                    if (rst2.Code > 0)
                    {
                        return(Json(rst2));
                    }
                    //检查包装状态
                    if (rst2.Data.PackageState != EnumPackageState.Packaged)
                    {
                        result.Code    = 1001;
                        result.Message = string.Format("包 {0} 非{1}状态,不能操作。"
                                                       , model.PackageNo.ToUpper()
                                                       , EnumPackageState.Packaged.GetDisplayName());
                        return(Json(result));
                    }
                }
                result = TrackOutPackageNo(model);
                //返回包装结果。
                if (result.Code <= 0)
                {
                    MethodReturnResult <ZPVMLotPackageViewModel> rstFinal = new MethodReturnResult <ZPVMLotPackageViewModel>()
                    {
                        Code     = result.Code,
                        Data     = model,
                        Detail   = result.Detail,
                        HelpLink = result.HelpLink,
                        Message  = result.Message
                    };
                    return(Json(rstFinal));
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(Json(result));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> ExportToExcel(LotPackageQueryViewModel model)
        {
            IList <PackageDetail> lstLotPackage = new List <PackageDetail>();

            ZPVMLotPackageViewModel m = new ZPVMLotPackageViewModel();

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        OrderBy  = "Key.PackageNo,ItemNo",
                        Where    = GetQueryCondition(model)
                    };
                    MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);

                    if (result.Code == 0)
                    {
                        lstLotPackage = result.Data;
                    }
                });
            }
            //创建工作薄。
            IWorkbook wb = new HSSFWorkbook();
            //设置EXCEL格式
            ICellStyle style = wb.CreateCellStyle();

            style.FillForegroundColor = 10;
            //有边框
            style.BorderBottom = BorderStyle.Thin;
            style.BorderLeft   = BorderStyle.Thin;
            style.BorderRight  = BorderStyle.Thin;
            style.BorderTop    = BorderStyle.Thin;
            IFont font = wb.CreateFont();

            font.Boldweight = 10;
            style.SetFont(font);

            ISheet ws = null;

            for (int j = 0; j < lstLotPackage.Count; j++)
            {
                if (j % 65535 == 0)
                {
                    ws = wb.CreateSheet();
                    IRow row = ws.CreateRow(0);
                    #region //列名
                    ICell cell = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue(StringResource.ItemNo);  //项目号

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("包装号");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("项目号");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("批次号");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("工单号");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("物料编码");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("等级");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("花色");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("功率");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("电流");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("最大电流");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("电压");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("最大电压");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("填充因子");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("分档名称");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("子分档代码");

                    cell           = row.CreateCell(row.Cells.Count);
                    cell.CellStyle = style;
                    cell.SetCellValue("包装日期");
                    #endregion
                    font.Boldweight = 5;
                }
                PackageDetail obj     = lstLotPackage[j];
                IRow          rowData = ws.CreateRow(j + 1);
                Lot           lot     = m.GetLotData(obj.Key.ObjectNumber);
                IVTestData    ivtest  = m.GetIVTestData(obj.Key.ObjectNumber);
                List <string> dic     = null;
                string        ff      = "";
                OemData       oemData = m.GetOemData(obj.Key.ObjectNumber);
                if (oemData != null)
                {
                    dic = m.GetCodeAndItemNo(oemData);
                    ff  = (oemData.FF * 100).ToString("F4");
                }
                else
                {
                    lot    = m.GetLotData(obj.Key.ObjectNumber);
                    ivtest = m.GetIVTestData(obj.Key.ObjectNumber);
                }

                #region //数据
                ICell cellData = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(j + 1);

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(obj.Key.PackageNo);

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(obj.ItemNo);

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(obj.Key.ObjectNumber);

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(obj.OrderNumber);

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(obj.MaterialCode);

                if (oemData != null)
                {
                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.Grade);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.Color);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.PMAX);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.ISC);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.IPM);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.VOC);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.VPM);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ff);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.PnName == null ? string.Empty : oemData.PnName);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(oemData.PsSubCode);
                }
                else
                {
                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(lot != null ? lot.Grade : string.Empty);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(lot != null ? lot.Color : string.Empty);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefPM : 0);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefISC : 0);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefIPM : 0);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefVOC : 0);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefVPM : 0);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.CoefFF : 0);

                    string powerName = string.Empty;
                    if (ivtest != null &&
                        !string.IsNullOrEmpty(ivtest.PowersetCode) &&
                        ivtest.PowersetItemNo != null)
                    {
                        powerName = m.GetPowersetName(ivtest.Key.LotNumber, ivtest.PowersetCode, ivtest.PowersetItemNo.Value);
                    }
                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(powerName);

                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;
                    cellData.SetCellValue(ivtest != null ? ivtest.PowersetSubCode : string.Empty);
                }

                cellData           = rowData.CreateCell(rowData.Cells.Count);
                cellData.CellStyle = style;
                cellData.SetCellValue(string.Format("{0:yyyy-MM-dd}", obj.CreateTime));
                #endregion
            }

            MemoryStream ms = new MemoryStream();
            wb.Write(ms);
            ms.Flush();
            ms.Position = 0;
            return(File(ms, "application/vnd.ms-excel", "LotPackageData.xls"));
        }
Exemplo n.º 5
0
        public ActionResult Finish(ZPVMLotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                //如果包装号为空。
                if (string.IsNullOrEmpty(model.PackageNo))
                {
                    result.Code    = 1001;
                    result.Message = string.Format("包装号不能为空。");
                    return(Json(result));
                }
                else
                {
                    model.PackageNo = model.PackageNo.ToUpper().Trim();
                }
                Package obj = null;
                //如果当前数量为空,获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst2 = client.Get(model.PackageNo.ToUpper().Trim());
                    if (rst2.Code > 0)
                    {
                        return(Json(rst2));
                    }
                    //检查包装状态
                    if (rst2.Data.PackageState != EnumPackageState.Packaging)
                    {
                        result.Code    = 1001;
                        result.Message = string.Format("包 {0} 非{1}状态,不能操作。"
                                                       , model.PackageNo.ToUpper().Trim()
                                                       , EnumPackageState.Packaging.GetDisplayName());
                        return(Json(result));
                    }
                    //设置当前数量。
                    if (rst2.Code <= 0 && rst2.Data != null)
                    {
                        obj = rst2.Data;
                        model.CurrentQuantity = rst2.Data.Quantity;
                    }
                }
                //如果满包数量为空,获取满包数量
                if (model.FullQuantity == 0)
                {
                    using (WorkOrderRuleServiceClient client = new WorkOrderRuleServiceClient())
                    {
                        MethodReturnResult <WorkOrderRule> rst1 = client.Get(new WorkOrderRuleKey()
                        {
                            OrderNumber  = obj.OrderNumber,
                            MaterialCode = obj.MaterialCode
                        });
                        if (rst1.Code == 0 &&
                            rst1.Data != null)
                        {
                            model.FullQuantity = rst1.Data.FullPackageQty;
                        }
                    }
                }
                //非尾包,不能完成包装并过站
                if (model.IsFinishPackage == true &&
                    (model.IsLastestPackage == false && obj.IsLastPackage == false) &&
                    model.CurrentQuantity != model.FullQuantity)
                {
                    result.Code    = 1;
                    result.Message = string.Format("包({0})非尾包,包装数量未达到满包数量,不能完成包装。"
                                                   , model.PackageNo);
                    return(Json(result));
                }
                //判断批次所在车间和当前线所在车间是否匹配。
                //获取线别车间。
                string locationName = string.Empty;
                using (ProductionLineServiceClient client = new ProductionLineServiceClient())
                {
                    MethodReturnResult <ProductionLine> r = client.Get(model.LineCode);
                    if (r.Code <= 0)
                    {
                        locationName = r.Data.LocationName;
                    }
                }
                if (!string.IsNullOrEmpty(locationName))
                {
                    using (LocationServiceClient client = new LocationServiceClient())
                    {
                        MethodReturnResult <Location> r = client.Get(locationName);
                        if (r.Code <= 0)
                        {
                            locationName = r.Data.ParentLocationName;
                        }
                    }
                }
                //获取包装号所在车间。
                string currentLocationName = string.Empty;
                using (WorkOrderServiceClient client = new WorkOrderServiceClient())
                {
                    MethodReturnResult <WorkOrder> rst1 = client.Get(obj.OrderNumber);
                    if (rst1.Code <= 0 && rst1.Data != null)
                    {
                        currentLocationName = rst1.Data.LocationName;
                    }
                }
                //检查包所在车间和线别车间是否匹配。
                if (currentLocationName != locationName)
                {
                    result.Code    = 3;
                    result.Message = string.Format("包({0})属于({1})车间,不能在({2})车间线别上操作。"
                                                   , obj.Key
                                                   , currentLocationName
                                                   , locationName);
                    return(Json(result));
                }

                result = FinishPackage(model);
                //result = Package(model);

                //返回包装结果。
                if (result.Code <= 0)
                {
                    MethodReturnResult <ZPVMLotPackageViewModel> rstFinal = new MethodReturnResult <ZPVMLotPackageViewModel>()
                    {
                        Code     = result.Code,
                        Data     = model,
                        Detail   = result.Detail,
                        HelpLink = result.HelpLink,
                        Message  = result.Message
                    };
                    return(Json(rstFinal));
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(Json(result));
        }
Exemplo n.º 6
0
        public ActionResult Save(ZPVMLotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                PackageParameter p = new PackageParameter()
                {
                    LineCode           = model.LineCode,
                    RouteOperationName = model.RouteOperationName,
                    EquipmentCode      = model.EquipmentCode,
                    LotNumbers         = new List <string>(),
                    IsLastestPackage   = model.IsLastestPackage,
                    Operator           = User.Identity.Name,
                    OperateComputer    = Request.UserHostAddress
                };
                if (model.PackageNo != null && model.PackageNo != "")
                {
                    p.PackageNo = model.PackageNo.ToUpper().Trim();
                }
                else
                {
                    p.PackageNo = model.PackageNo;
                }

                p.LotNumbers.Add(model.LotNumber.ToString().Trim().ToUpper());

                using (LotPackageServiceClient client = new LotPackageServiceClient())
                {
                    result = client.Package(p);

                    if (result.Code == 0)
                    {
                        if (result.Detail == "1")
                        {
                            model.PackageNo = "";
                        }
                        else
                        {
                            model.PackageNo = result.ObjectNo;
                        }

                        MethodReturnResult <ZPVMLotPackageViewModel> rstFinal = new MethodReturnResult <ZPVMLotPackageViewModel>()
                        {
                            Code    = result.Code,
                            Data    = model,
                            Message = string.Format("批次[{0}]包装到托[{1}]。"
                                                    , model.LotNumber
                                                    , result.ObjectNo)
                        };

                        return(Json(rstFinal));
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }

            return(Json(result));

            #region 注释
            //model.LotNumber = model.LotNumber.ToUpper();
            //if (!string.IsNullOrEmpty(model.PackageNo))
            //{
            //    model.PackageNo = model.PackageNo.ToUpper();
            //}
            ////获取批次数据。
            //string lotNumber = model.LotNumber;
            //result = GetLot(lotNumber);
            //if (result.Code > 0)
            //{
            //    return Json(result);
            //}
            //MethodReturnResult<Lot> rst = result as MethodReturnResult<Lot>;
            //Lot obj = rst.Data;

            ////如果包装号为空。生成包装号。
            //if (string.IsNullOrEmpty(model.PackageNo))
            //{
            //    using (LotPackageServiceClient client = new LotPackageServiceClient())
            //    {
            //        MethodReturnResult<string> rst1 = client.Generate(model.LotNumber, model.IsLastestPackage);
            //        if (rst1.Code > 0)
            //        {
            //            return Json(rst1);
            //        }
            //        else
            //        {
            //            model.PackageNo = rst1.Data;
            //        }
            //    }
            //}

            //if (model.PackageNo.Length < 12 || model.PackageNo.Length > 13)
            //{
            //    result.Code = 1001;
            //    result.Message = string.Format("包装托号{0}系统生成异常,请联系IT。"
            //                                    , model.PackageNo.ToUpper());
            //    return Json(result);
            //}

            ////重新获取当前数量。
            //using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            //{
            //    MethodReturnResult<Package> rst2 = client.Get(model.PackageNo);
            //    if (rst2.Code == 1000)
            //    {
            //        return Json(rst2);
            //    }
            //    //检查包装状态
            //    if (rst2.Data != null && rst2.Data.PackageState != EnumPackageState.Packaging)
            //    {
            //        result.Code = 1001;
            //        result.Message = string.Format("包 {0} 非 [{1}] 状态,不能包装。"
            //                                        , model.PackageNo.ToUpper()
            //                                        , EnumPackageState.Packaging.GetDisplayName());
            //        return Json(result);
            //    }
            //    //设置当前数量。
            //    if (rst2.Code <= 0 && rst2.Data != null)
            //    {
            //        model.CurrentQuantity = rst2.Data.Quantity;
            //    }
            //}
            ////如果满包数量为空,获取满包数量
            //if (model.FullQuantity == 0)
            //{
            //    using (WorkOrderRuleServiceClient client = new WorkOrderRuleServiceClient())
            //    {
            //        MethodReturnResult<WorkOrderRule> rst1 = client.Get(new WorkOrderRuleKey()
            //        {
            //            OrderNumber = obj.OrderNumber,
            //            MaterialCode = obj.MaterialCode
            //        });
            //        if (rst1.Code == 0
            //            && rst1.Data != null)
            //        {
            //            model.FullQuantity = rst1.Data.FullPackageQty;
            //        }
            //    }
            //}

            //double newCurrentQuantity = model.CurrentQuantity + obj.Quantity;
            ////当前数量超过满包数量,不能继续包装。
            //if (newCurrentQuantity > model.FullQuantity)
            //{
            //    result.Code = 1;
            //    result.Message = string.Format("包({0}) 当前数量({1})加上批次({2})数量({3}),超过满包数量。"
            //                                    , model.PackageNo.ToUpper()
            //                                    , model.CurrentQuantity
            //                                    , obj.Key
            //                                    , obj.Quantity);
            //    return Json(result);
            //}
            //model.CurrentQuantity = newCurrentQuantity;

            ////判断批次工序是否在当前工序。
            //if (obj.RouteStepName != model.RouteOperationName)
            //{
            //    result.Code = 2;
            //    result.Message = string.Format("批次({0})当前所在工序({1}),不能在({2})工序上操作。"
            //                                    , obj.Key
            //                                    , obj.RouteStepName
            //                                    , model.RouteOperationName);
            //    return Json(result);
            //}
            ////判断批次所在车间和当前线所在车间是否匹配。
            ////获取线别车间。
            //string locationName = string.Empty;
            //using (ProductionLineServiceClient client = new ProductionLineServiceClient())
            //{
            //    MethodReturnResult<ProductionLine> r = client.Get(model.LineCode);
            //    if (r.Code <= 0)
            //    {
            //        locationName = r.Data.LocationName;
            //    }
            //}
            //if (!string.IsNullOrEmpty(locationName))
            //{
            //    using (LocationServiceClient client = new LocationServiceClient())
            //    {
            //        MethodReturnResult<Location> r = client.Get(locationName);
            //        if (r.Code <= 0)
            //        {
            //            locationName = r.Data.ParentLocationName;
            //        }
            //    }
            //}
            ////检查批次车间和线别车间是否匹配。
            //if (obj.LocationName != locationName)
            //{
            //    result.Code = 3;
            //    result.Message = string.Format("批次({0})属于({1})车间,不能在({2})车间线别上操作。"
            //                                    , lotNumber.ToUpper()
            //                                    , obj.LocationName
            //                                    , locationName);
            //    return Json(result);
            //}
            //    result = Package(model);
            //    model.PackageNo = result.ObjectNo;

            //    //返回包装结果。
            //    if (result.Code <= 0)
            //    {
            //        MethodReturnResult<ZPVMLotPackageViewModel> rstFinal = new MethodReturnResult<ZPVMLotPackageViewModel>()
            //        {
            //            Code = result.Code,
            //            Data = model,
            //            Detail = result.Detail,
            //            HelpLink = result.HelpLink,
            //            Message = result.Message
            //        };
            //        return Json(rstFinal);
            //    }
            //}
            //catch (Exception ex)
            //{
            //    result.Code = 1000;
            //    result.Message = ex.Message;
            //    result.Detail = ex.ToString();
            //}
            //// 如果我们进行到这一步时某个地方出错,则重新显示表单
            //return Json(result);
            #endregion
        }