Example #1
0
        public ActionResult Query(BoxQueryViewModel model)
        {
            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    OrderBy = "Key.PackageNo,ItemNo",
                    Where   = GetQueryCondition(model)
                };
                MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);

                if (result.Code == 0)
                {
                    ViewBag.PagingConfig = cfg;
                    ViewBag.List         = result.Data;
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ListPartial", new PackageViewModel()));
            }
            else
            {
                return(View("Index", model));
            }
        }
        public async Task <ActionResult> Query(LotPackageSEModulesViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "Key",
                            Where   = GetQueryCondition(model)
                        };
                        MethodReturnResult <IList <Package> > result = client.Get(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ListPartial", new LotPackageSEModulesViewModel()));
            }
            else
            {
                return(View("Index", model));
            }
        }
Example #3
0
        public async Task<ActionResult> QueryPackage(IVTestDataForPackageQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "Key.PackageNo,ItemNo",
                            Where = GetQueryCondition(model)
                        };
                        MethodReturnResult<IList<PackageDetail>> result = client.GetDetail(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List = result.Data;
                        }
                    });
                }
            }
            if (Request.IsAjaxRequest())
            {
                return PartialView("_ListPartialPackage", new IVTestDataForPackageViewModel());
            }
            else
            {
                return View("IndexPackage", model);
            }
        }
Example #4
0
        public MethodReturnResult GetPackage(string packageNo)
        {
            MethodReturnResult           result = new MethodReturnResult();
            MethodReturnResult <Package> rst    = null;
            Package obj = null;

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                rst = client.Get(packageNo);
                if (rst.Code <= 0 && rst.Data != null)
                {
                    obj = rst.Data;
                }
                else
                {
                    result.Code    = rst.Code;
                    result.Message = rst.Message;
                    result.Detail  = rst.Detail;
                    return(result);
                }
            }
            if (obj == null || obj.Quantity <= 0)
            {
                result.Code    = 2001;
                result.Message = string.Format("包装 {0} 不存在。", packageNo);
                return(result);
            }
            return(rst);
        }
Example #5
0
        public ActionResult Query(string boxNo)
        {
            if (!string.IsNullOrEmpty(boxNo))
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        OrderBy  = "ItemNo",
                        Where    = string.Format(@"Key.PackageNo='{0}' 
                                                AND EXISTS(FROM Package as p
                                                           WHERE p.Key=self.Key.PackageNo
                                                           AND PackageState='{1}' 
                                                           AND PackageType='{2}')"
                                                 , boxNo
                                                 , Convert.ToInt32(EnumPackageState.Packaging)
                                                 , Convert.ToInt32(EnumPackageType.Box))
                    };
                    MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PackageDetailList = result.Data;
                    }
                }
            }
            return(PartialView("_ListPartial", new PackageViewModel()));
        }
Example #6
0
        /// <summary>
        /// 获取装箱信息。
        /// </summary>
        /// <param name="boxNo"></param>
        /// <returns></returns>
        public ActionResult GetBoxInfo(string boxNo)
        {
            double currentQuantity = 0;

            if (!string.IsNullOrEmpty(boxNo))
            {
                //获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst2 = client.Get(boxNo);
                    if (rst2.Code == 1000)
                    {
                        return(Json(rst2));
                    }
                    if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState == EnumPackageState.Packaging)
                    {
                        currentQuantity = rst2.Data.Quantity;
                    }
                }
            }

            return(Json(new{
                CurrentQuantity = currentQuantity
            }, JsonRequestBehavior.AllowGet));
        }
Example #7
0
        public ActionResult QueryPackageNo(String packageNo)
        {
            if (!string.IsNullOrEmpty(packageNo))
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> result2 = client.Get(packageNo.Trim().ToUpper());
                    if (result2.Code == 0)
                    {
                        ViewBag.Package = result2.Data;
                    }
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        Where    = string.Format(@"Key.PackageNo='{0}'", packageNo.Trim().ToUpper()),
                        OrderBy  = "ItemNo"
                    };
                    MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PackageDetailList = result.Data;
                    }
                }
            }
            return(PartialView("_ListPackageQuery", new ZPVMLotPackageViewModel()));
        }
Example #8
0
        public ActionResult PagingQueryPackage(string where, string orderBy, int? currentPageNo, int? currentPageSize)
        {
            if (ModelState.IsValid)
            {
                int pageNo = currentPageNo ?? 0;
                int pageSize = currentPageSize ?? 20;
                if (Request["PageNo"] != null)
                {
                    pageNo = Convert.ToInt32(Request["PageNo"]);
                }
                if (Request["PageSize"] != null)
                {
                    pageSize = Convert.ToInt32(Request["PageSize"]);
                }

                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {

                    PagingConfig cfg = new PagingConfig()
                    {
                        PageNo = pageNo,
                        PageSize = pageSize,
                        Where = where ?? string.Empty,
                        OrderBy = orderBy ?? string.Empty
                    };
                    MethodReturnResult<IList<PackageDetail>> result = client.GetDetail(ref cfg);
                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List = result.Data;
                    };
                }
            }
            return PartialView("_ListPartialPackage", new IVTestDataForPackageViewModel());
        }
Example #9
0
 public Package GetPackage(string packageNo)
 {
     using (PackageQueryServiceClient client = new PackageQueryServiceClient())
     {
         MethodReturnResult <Package> result = client.Get(packageNo);
         return(result.Data);
     }
 }
Example #10
0
        public ActionResult UnPackage(string packageNo, int itemNo, string lotNumber)
        {

            MethodReturnResult result = new MethodReturnResult();
            //进行批次包装作业。
            PackageParameter p = new PackageParameter()
            {
                Creator = User.Identity.Name,             
                LotNumbers = new List<string>(),
                OperateComputer = Request.UserHostAddress,
                Operator = User.Identity.Name,
                PackageNo = packageNo.ToUpper(),
            };
            p.LotNumbers.Add(lotNumber.ToUpper());

            try
            {
                //获取包装记录
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult<Package> rst1 = client.Get(packageNo);
                    if (rst1.Code > 0 || rst1.Data == null)
                    {
                        return Json(rst1);
                    }
                    //判断包装记录目前是否处于包装中状态。
                    //if (rst1.Data.PackageState != EnumPackageState.Packaging)
                    //{
                    //    result.Code = 1001;
                    //    result.Message = string.Format("包装{0}为非{1}状态,不能删除。"
                    //                                    , packageNo
                    //                                    , EnumPackageState.Packaging.GetDisplayName());
                    //    return Json(result);
                    //}
                }

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

                    if (result.Code == 0 )
                    {
                        result.Message = string.Format("拆包({1})成功。"
                                                       , p.PackageNo);
                    }
                 
                }
                return Json(result);
            }
            catch (Exception ex)
            {
                result.Code = 1000;
                result.Message = ex.Message;
                result.Detail = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return Json(result);
        }
Example #11
0
 public ActionResult TrackOutPackage(LotPackageViewModel model)
 {
     MethodReturnResult result = new MethodReturnResult();
     try
     {
         //如果包装号为空。
         if (string.IsNullOrEmpty(model.PackageNo))
         {
             result.Code = 1001;
             result.Message = string.Format("包装号不能为空。");
             return Json(result);
         }
         Package obj = null;
         //如果当前数量为空,获取当前数量
         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 = Package(model);
         //返回包装结果。
         if (result.Code <= 0)
         {
             MethodReturnResult<LotPackageViewModel> rstFinal = new MethodReturnResult<LotPackageViewModel>()
             {
                 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);
 }
Example #12
0
        public ActionResult Query(string packageNo)
        {
            //获取需要录入的批次号自定义特性
            IList <BaseAttribute> lstAttribute = new List <BaseAttribute>();

            using (BaseAttributeServiceClient client = new BaseAttributeServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format("Key.CategoryName='{0}'", "LotPackageAttribute")
                };

                MethodReturnResult <IList <BaseAttribute> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    lstAttribute = result.Data;
                }
            }
            ViewBag.AttributeList = lstAttribute;

            if (!string.IsNullOrEmpty(packageNo))
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        OrderBy  = "ItemNo",
                        Where    = string.Format(@"Key.PackageNo='{0}' 
                                                AND EXISTS(FROM Package as p
                                                           WHERE p.Key=self.Key.PackageNo
                                                           AND ( PackageState='{1}'  or  PackageState='{2}')
                                                           AND PackageType='{3}')"
                                                 , packageNo.ToUpper()
                                                 , Convert.ToInt32(EnumPackageState.Packaging)
                                                 , Convert.ToInt32(EnumPackageState.Packaged)
                                                 , Convert.ToInt32(EnumPackageType.Packet))
                    };

                    MethodReturnResult <Package> result2 = client.Get(packageNo.ToUpper());
                    if (result2.Code == 0)
                    {
                        ViewBag.Package = result2.Data;
                    }

                    MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);


                    if (result.Code == 0)
                    {
                        ViewBag.PackageDetailList = result.Data;
                    }
                }
            }
            return(PartialView("_ListPartial", new ZPVMLotViewModel()));
        }
Example #13
0
        /// <summary>
        /// 获取包装信息。
        /// </summary>
        /// <param name="packageNo"></param>
        /// <returns></returns>
        public ActionResult GetPackageInfo(string packageNo)
        {
            double currentQuantity = 0;
            double fullQuantity = 25;
            string orderNumber = string.Empty;
            bool isLastestPackage = false;

            if (!string.IsNullOrEmpty(packageNo))
            {
                //获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult<Package> rst2 = client.Get(packageNo);
                    if (rst2.Code == 1000)
                    {
                        return Json(rst2);
                    }
                    if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState==EnumPackageState.Packaging)
                    {
                        currentQuantity = rst2.Data.Quantity;
                        orderNumber = rst2.Data.OrderNumber;
                        isLastestPackage = rst2.Data.IsLastPackage;
                    }
                }

                if (!string.IsNullOrEmpty(orderNumber))
                {
                    //获取满包数量
                    using (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient())
                    {
                        MethodReturnResult<WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey()
                        {
                            OrderNumber = orderNumber,
                            AttributeName = "FullPackageQuantity"
                        });
                        if (rst1.Code == 1000)
                        {
                            return Json(rst1);
                        }

                        if (rst1.Data != null
                            && !string.IsNullOrEmpty(rst1.Data.AttributeValue))
                        {
                            double.TryParse(rst1.Data.AttributeValue, out fullQuantity);
                        }
                    }
                }
            }

            return Json(new{ 
                              CurrentQuantity = currentQuantity,
                              FullQuantity = fullQuantity,
                              IsLastestPackage = isLastestPackage
                            }, JsonRequestBehavior.AllowGet);
            
        }
Example #14
0
        /// <summary>
        /// 获取包装信息。
        /// </summary>
        /// <param name="packageNo"></param>
        /// <returns></returns>
        public ActionResult GetPackageInfo(string packageNo)
        {
            double currentQuantity = 0;
            double fullPackageQty  = 0;
            string orderNumber     = string.Empty;
            string materialCode    = string.Empty;
            bool   isLatestPackage = false;
            int    nPackageState   = 0;

            if (!string.IsNullOrEmpty(packageNo))
            {
                //获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst2 = client.Get(packageNo);
                    if (rst2.Code == 1000)
                    {
                        return(Json(rst2));
                    }
                    if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState == EnumPackageState.Packaging)
                    {
                        currentQuantity = rst2.Data.Quantity;
                        orderNumber     = rst2.Data.OrderNumber;
                        materialCode    = rst2.Data.MaterialCode;
                        isLatestPackage = rst2.Data.IsLastPackage;
                        nPackageState   = Convert.ToInt32(rst2.Data.PackageState);
                    }
                }

                if (!string.IsNullOrEmpty(orderNumber))
                {
                    //获取满包数量
                    using (WorkOrderRuleServiceClient client = new WorkOrderRuleServiceClient())
                    {
                        MethodReturnResult <WorkOrderRule> rst1 = client.Get(new WorkOrderRuleKey()
                        {
                            OrderNumber  = orderNumber,
                            MaterialCode = materialCode
                        });
                        if (rst1.Code == 0 &&
                            rst1.Data != null)
                        {
                            fullPackageQty = rst1.Data.FullPackageQty;
                        }
                    }
                }
            }
            return(Json(new{
                CurrentQuantity = currentQuantity,
                FullPackageQty = fullPackageQty,
                IsLastestPackage = isLatestPackage,
                PackageState = nPackageState
            }, JsonRequestBehavior.AllowGet));
        }
Example #15
0
 //获取托数据
 public Package GetPackage(string PackageNo)
 {
     using (PackageQueryServiceClient client = new PackageQueryServiceClient())
     {
         MethodReturnResult <Package> result = client.Get(PackageNo);
         if (result.Code <= 0 && result.Data != null)
         {
             return(result.Data);
         }
     }
     return(null);
 }
Example #16
0
        private bool SetPrintObject(Package obj, ref dynamic d)
        {
            //获取箱第一包的数据
            string      packageNo   = string.Empty;
            PackageInfo packageInfo = new PackageInfo();

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    PageNo   = 0,
                    PageSize = 1,
                    Where    = string.Format("Key.PackageNo='{0}' AND Key.ObjectType='{1}'"
                                             , obj.Key
                                             , Convert.ToInt32(EnumPackageObjectType.Packet)),
                    OrderBy = "ItemNo"
                };
                MethodReturnResult <IList <PackageDetail> > rst = client.GetDetail(ref cfg);
                if (rst.Code <= 0 && rst.Data != null && rst.Data.Count > 0)
                {
                    packageNo = rst.Data[0].Key.ObjectNumber;
                }
            }
            if (string.IsNullOrEmpty(packageNo))
            {
                return(false);
            }

            using (PackageInfoServiceClient client = new PackageInfoServiceClient())
            {
                MethodReturnResult <PackageInfo> rst = client.Get(packageNo);
                if (rst.Code <= 0 && rst.Data != null)
                {
                    packageInfo = rst.Data;
                }
                else
                {
                    return(false);
                }
            }

            d.CartonNo = obj.Key.ToUpper();
            d.Color    = packageInfo.Color;
            d.Date     = obj.CreateTime.Value.ToString("yyyy.MM.dd");
            d.Eff      = packageInfo.EfficiencyName;
            d.Grade    = packageInfo.Grade;
            d.PartNo   = packageInfo.ConfigCode;
            d.PNType   = packageInfo.PNType;
            d.ProdID   = packageInfo.ProductId;
            d.Qty      = string.Format("{0}PCS", obj.Quantity);

            return(true);
        }
Example #17
0
        public MethodReturnResult GetBox(BoxPrintViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();
            MethodReturnResult <IList <Package> > rst = null;
            IList <Package> lst = null;

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    OrderBy  = "Key"
                };


                cfg.Where = string.Format("PackageType='{0}'", Convert.ToInt32(EnumPackageType.Box));

                if (!string.IsNullOrEmpty(model.BoxNo1) && !string.IsNullOrEmpty(model.BoxNo))
                {
                    cfg.Where += string.Format(" AND Key>='{0}' AND Key<='{1}'", model.BoxNo, model.BoxNo1);
                }
                else
                {
                    cfg.Where += string.Format(" AND Key='{0}'", model.BoxNo);
                }


                rst = client.Get(ref cfg);
                if (rst.Code <= 0 && rst.Data != null)
                {
                    lst = rst.Data;
                }
                else
                {
                    result.Code    = rst.Code;
                    result.Message = rst.Message;
                    result.Detail  = rst.Detail;
                    return(result);
                }
            }

            if (lst == null || lst.Count == 0)
            {
                result.Code = 2001;
                string message = string.Format("{0}-{1}", model.BoxNo, model.BoxNo1);
                result.Message = string.Format("电池箱数据 {0} 不存在。", message);
                return(result);
            }
            return(rst);
        }
        public ActionResult Detail(string packageNo)
        {
            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                MethodReturnResult <DataSet> result = client.GetPackageTransaction(packageNo);

                if (result.Code == 0)
                {
                    ViewBag.List = result.Data.Tables[0];
                }
                ;
            }
            return(View("DetailPartial"));
        }
Example #19
0
        // 获取托号信息
        private MethodReturnResult GetPackage(string packageNo)
        {
            MethodReturnResult           result = new MethodReturnResult();
            MethodReturnResult <Package> rst    = null;
            Package obj = null;

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                rst = client.Get(packageNo);
                if (rst.Code <= 0 && rst.Data != null)
                {
                    obj = rst.Data;
                }
                else
                {
                    result.Code    = rst.Code;
                    result.Message = rst.Message;
                    result.Detail  = rst.Detail;
                    return(result);
                }
            }
            if (obj == null)
            {
                result.Code    = 2001;
                result.Message = string.Format(@"包装号[{0}]不存在。", packageNo);
                return(result);
            }
            else if (obj.ContainerNo != null && obj.ContainerNo != "")
            {
                result.Code    = 2002;
                result.Message = string.Format("包装号[{0}]已入柜[{1}]。", packageNo, obj.ContainerNo);
                return(result);
            }
            //else if (obj.PackageState != EnumPackageState.ToWarehouse && obj.PackageState != EnumPackageState.Shipped)
            //{
            //    result.Code = 2003;
            //    result.Message = string.Format("包装号[{0}]未入库。", packageNo);
            //    return result;
            //}
            else if (obj.PackageState == EnumPackageState.Packaging ||
                     obj.PackageState == EnumPackageState.InFabStore ||
                     obj.PackageState == EnumPackageState.Shipped)
            {
                result.Code    = 2003;
                result.Message = string.Format("包装号[{0}]当前状态[{1}],不可入柜!", packageNo, obj.PackageState.GetDisplayName());
                return(result);
            }
            return(rst);
        }
Example #20
0
 /// <summary>
 /// 获取包装号数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public ActionResult GetRPTPackageNoInfo(PackageNoAddDesViewModel model)
 {
     using (PackageQueryServiceClient client = new PackageQueryServiceClient())
     {
         RPTpackagelistParameter param = new RPTpackagelistParameter();
         param.PackageNo = model.PackageNo;
         MethodReturnResult <DataSet> result = client.GetRPTPackageNoInfo(param);
         if (result.Code == 0)
         {
             ViewBag.List = result.Data.Tables[0];
         }
         ;
     }
     return(PartialView("_ListPartial"));
 }
Example #21
0
 //获取托明细
 public PackageDetail GetPackageDetail(string PackageNo)
 {
     using (PackageQueryServiceClient client = new PackageQueryServiceClient())
     {
         PagingConfig cfg = new PagingConfig()
         {
             IsPaging = false,
             Where    = string.Format("Key.PackageNo ='{0}' and ItemNo=1", PackageNo)
         };
         MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg);
         if (result.Code <= 0 && result.Data != null)
         {
             return(result.Data[0]);
         }
     }
     return(null);
 }
Example #22
0
        private MethodReturnResult GetPackage(string packageNo)
        {
            //如果本次请求有成功获取到电池小包对象,直接返回。
            if (ViewBag.Package != null)
            {
                return(ViewBag.Package);
            }

            MethodReturnResult           result = new MethodReturnResult();
            MethodReturnResult <Package> rst    = null;
            Package obj = null;

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                rst = client.Get(packageNo);
                if (rst.Code <= 0 && rst.Data != null)
                {
                    obj             = rst.Data;
                    ViewBag.Package = rst;
                }
                else
                {
                    result.Code    = rst.Code;
                    result.Message = rst.Message;
                    result.Detail  = rst.Detail;
                    return(result);
                }
            }
            if (obj == null)
            {
                result.Code    = 2001;
                result.Message = string.Format("电池小包 {0} 不存在。", packageNo);
                return(result);
            }
            else if (obj.PackageState == EnumPackageState.Packaged)
            {
                result.Code    = 2002;
                result.Message = string.Format("电池小包 {0} 已装箱。", packageNo);
                return(result);
            }
            return(rst);
        }
Example #23
0
        public ActionResult CleanBin(CleanBinViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (PackageQueryServiceClient client = new PackageQueryServiceClient())
            {
                result = client.CleanBin(model.LineCode, model.BinNo);
                if (result.Code == 0)
                {
                    if (model.BinNo == null)
                    {
                        result.Message = string.Format("清{0}线Bin成功!", model.LineCode);
                    }
                    else
                    {
                        result.Message = string.Format("清{0}线{1}号Bin成功!", model.LineCode, model.BinNo);
                    }
                }
                ;
            }
            return(Json(result));
        }
Example #24
0
 public ActionResult SaveModify(PackageNoAddDesViewModel model)
 {
     using (PackageQueryServiceClient client = new PackageQueryServiceClient())
     {
         MethodReturnResult <Package> result = client.Get(model.PackageNo);
         if (result.Code == 0)
         {
             result.Data.Description = model.Description;
             MethodReturnResult rst = client.UpdateAdd(result.Data, model.Action);
             if (rst.Code == 0)
             {
                 rst.Message = string.Format("包装号{0}添加描述成功"
                                             , result.Data.Key);
             }
             return(Json(rst));
         }
         else
         {
             result.Message = string.Format("包装号{0}不存在于当前库,已归档", model.PackageNo);
             return(Json(result));
         }
     }
 }
        //public ActionResult GetPackageTransaction(PackageTransactionQueryViewModel model)
        //{
        //    using (PackageQueryServiceClient client = new PackageQueryServiceClient())
        //    {

        //            MethodReturnResult<DataSet> result = client.GetPackageTransaction(model.PackageNo);

        //            if (result.Code == 0)
        //            {
        //                ViewBag.List = result.Data.Tables[0];
        //            };
        //    }
        //    return PartialView("_ListPartial");

        //}
        /// <summary>包装历史记录数据查询(存储过程获取数据) </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult GetPackageTransaction(PackageTransactionViewModel model)
        {
            string strErrorMessage = string.Empty;
            MethodReturnResult <DataSet> result = new MethodReturnResult <DataSet>();

            try
            {
                RPTpackagelistParameter param = GetQueryConditionP(model);
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <DataSet> ds = client.GetPackageTransactionQueryDb(ref param);
                    ViewBag.ListData     = ds.Data.Tables[0];
                    ViewBag.PagingConfig = new PagingConfig()
                    {
                        PageNo   = model.PageNo,
                        PageSize = model.PageSize,
                        Records  = param.TotalRecords
                    };
                    model.TotalRecords = param.TotalRecords;
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_ListPartial", model));
            }
            else
            {
                return(View("Index", model));
            }
        }
        public async Task <ActionResult> PagingQuery(string where, string orderBy, int?currentPageNo, int?currentPageSize)
        {
            if (ModelState.IsValid)
            {
                int pageNo   = currentPageNo ?? 0;
                int pageSize = currentPageSize ?? 20;
                if (Request["PageNo"] != null)
                {
                    pageNo = Convert.ToInt32(Request["PageNo"]);
                }
                if (Request["PageSize"] != null)
                {
                    pageSize = Convert.ToInt32(Request["PageSize"]);
                }

                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <Package> > result = client.Get(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial", new LotPackageSEModulesViewModel()));
        }
Example #27
0
        public ActionResult Save(LotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                //获取批次数据。
                string lotNumber = model.LotNumber.ToUpper();
                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;
                        }
                    }
                }
                //重新获取当前数量。
                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 (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient())
                    {
                        MethodReturnResult <WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey()
                        {
                            OrderNumber   = obj.OrderNumber,
                            AttributeName = "FullPackageQuantity"
                        });
                        double fullQuantity = 25;
                        if (rst1.Code == 1000)
                        {
                            return(Json(rst1));
                        }

                        if (rst1.Data != null &&
                            !string.IsNullOrEmpty(rst1.Data.AttributeValue))
                        {
                            double.TryParse(rst1.Data.AttributeValue, out fullQuantity);
                        }
                        model.FullQuantity = fullQuantity;
                    }
                }


                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);
                //返回包装结果。
                if (result.Code <= 0)
                {
                    MethodReturnResult <LotPackageViewModel> rstFinal = new MethodReturnResult <LotPackageViewModel>()
                    {
                        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));
        }
Example #28
0
        public ActionResult Delete(string packageNo, int itemNo, string lotNumber)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                //获取包装记录
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst1 = client.Get(packageNo);
                    if (rst1.Code > 0 || rst1.Data == null)
                    {
                        return(Json(rst1));
                    }
                    //判断包装记录目前是否处于包装中状态。
                    if (rst1.Data.PackageState != EnumPackageState.Packaging)
                    {
                        result.Code    = 1001;
                        result.Message = string.Format("包装{0}为非{1}状态,不能删除。"
                                                       , packageNo
                                                       , EnumPackageState.Packaging.GetDisplayName());
                        return(Json(result));
                    }
                }
                //获取最后一笔包装记录。
                IList <string> lstTransactionKey = new List <string>();
                using (LotQueryServiceClient client = new LotQueryServiceClient())
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        IsPaging = false,
                        Where    = string.Format("LotNumber='{0}' AND UndoFlag=0"
                                                 , lotNumber)
                    };

                    MethodReturnResult <IList <LotTransaction> > rst1 = client.GetTransaction(ref cfg);
                    if (rst1.Code <= 0 && rst1.Data != null)
                    {
                        var lnq = from item in rst1.Data
                                  orderby item.CreateTime descending
                                  select item;
                        foreach (LotTransaction item in lnq)
                        {
                            lstTransactionKey.Add(item.Key);
                            if (item.Activity == EnumLotActivity.Package)
                            {
                                break;
                            }
                        }
                    }
                    else
                    {
                        return(Json(rst1));
                    }
                }
                //可撤销操作主键不为空。
                if (lstTransactionKey.Count > 0)
                {
                    UndoParameter p = new UndoParameter()
                    {
                        Creator             = User.Identity.Name,
                        LotNumbers          = new List <string>(),
                        OperateComputer     = Request.UserHostAddress,
                        Operator            = User.Identity.Name,
                        UndoTransactionKeys = new Dictionary <string, IList <string> >()
                    };

                    p.LotNumbers.Add(lotNumber);
                    p.UndoTransactionKeys.Add(lotNumber, lstTransactionKey);

                    using (LotUndoServiceClient client = new LotUndoServiceClient())
                    {
                        result = client.Undo(p);
                        if (result.Code == 0)
                        {
                            result.Message = string.Format("删除 ({0}:{1}:{2}) 成功。"
                                                           , packageNo, itemNo, lotNumber);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }
            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(Json(result));
        }
Example #29
0
        public ActionResult Finish(LotPackageViewModel model)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                //如果包装号为空。
                if (string.IsNullOrEmpty(model.PackageNo))
                {
                    result.Code    = 1001;
                    result.Message = string.Format("包装号不能为空。");
                    return(Json(result));
                }
                Package obj = null;
                //如果当前数量为空,获取当前数量
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    MethodReturnResult <Package> rst2 = client.Get(model.PackageNo);
                    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()
                                                       , 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 (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient())
                    {
                        MethodReturnResult <WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey()
                        {
                            OrderNumber   = obj.OrderNumber,
                            AttributeName = "FullPackageQuantity"
                        });
                        double fullQuantity = 25;
                        if (rst1.Code == 1000)
                        {
                            return(Json(rst1));
                        }

                        if (rst1.Data != null &&
                            !string.IsNullOrEmpty(rst1.Data.AttributeValue))
                        {
                            double.TryParse(rst1.Data.AttributeValue, out fullQuantity);
                        }
                        model.FullQuantity = fullQuantity;
                    }
                }
                //非尾包,不能完成包装并过站
                if (model.IsFinishPackage == true &&
                    model.IsLastestPackage == 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 = Package(model);
                //返回包装结果。
                if (result.Code <= 0)
                {
                    MethodReturnResult <LotPackageViewModel> rstFinal = new MethodReturnResult <LotPackageViewModel>()
                    {
                        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));
        }
Example #30
0
        public ActionResult UnCheck(string chestNo, string packageNo)
        {
            MethodReturnResult result = new MethodReturnResult();

            try
            {
                using (PackageQueryServiceClient client = new PackageQueryServiceClient())
                {
                    //判断托号是否已检验
                    MethodReturnResult <Package> rst1 = client.Get(packageNo);
                    if (rst1.Code > 0)
                    {
                        return(Json(rst1));
                    }
                    else
                    {
                        if (rst1.Data.PackageState != EnumPackageState.Checked)
                        {
                            result.Code    = 2000;
                            result.Message = string.Format(@"托号{0}未检验", packageNo);
                        }
                        else
                        {
                            using (PackageInChestServiceClient clientOfChest = new PackageInChestServiceClient())
                            {
                                result = clientOfChest.UnCheckPackageInChest(packageNo, chestNo, User.Identity.Name);
                                if (result.Code > 0)
                                {
                                    return(Json(result));
                                }
                            }
                        }
                    }
                }
                ChestViewModel model = new ChestViewModel()
                {
                    PackageNo = packageNo,
                    ChestNo   = chestNo
                };

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