//
        // GET: /PPM/WorkOrderRoute/Detail
        public async Task <ActionResult> Detail(string orderNumber, int itemNo)
        {
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                MethodReturnResult <WorkOrderRoute> result = await client.GetAsync(new WorkOrderRouteKey()
                {
                    OrderNumber = orderNumber,
                    ItemNo      = itemNo
                });

                if (result.Code == 0)
                {
                    WorkOrderRouteViewModel viewModel = new WorkOrderRouteViewModel()
                    {
                        OrderNumber         = result.Data.Key.OrderNumber,
                        ItemNo              = result.Data.Key.ItemNo,
                        RouteEnterpriseName = result.Data.RouteEnterpriseName,
                        RouteName           = result.Data.RouteName,
                        RouteStepName       = result.Data.RouteStepName,
                        IsRework            = result.Data.IsRework,
                        CreateTime          = result.Data.CreateTime,
                        Creator             = result.Data.Creator,
                        Editor              = result.Data.Editor,
                        EditTime            = result.Data.EditTime
                    };
                    return(PartialView("_InfoPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_InfoPartial"));
        }
Beispiel #2
0
        public ActionResult GetRouteEnterpriseNames(string orderNumber)
        {
            IList <WorkOrderRoute> lstWorkOrderRoute = new List <WorkOrderRoute>();

            //获取工单工艺信息。
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format("Key.OrderNumber='{0}' AND IsRework = false", orderNumber),
                    OrderBy  = "Key.ItemNo"
                };

                MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    lstWorkOrderRoute = result.Data;
                }
            }
            var lnq = from item in lstWorkOrderRoute
                      select new
            {
                RouteEnterpriseName = item.RouteEnterpriseName,
                RouteName           = item.RouteName,
                RouteStepName       = item.RouteStepName
            };

            return(Json(lnq, JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> Query(WorkOrderRouteQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
                {
                    await Task.Run(() =>
                    {
                        StringBuilder where = new StringBuilder();
                        if (model != null)
                        {
                            where.AppendFormat(" {0} Key.OrderNumber = '{1}'"
                                               , where.Length > 0 ? "AND" : string.Empty
                                               , model.OrderNumber);
                        }
                        PagingConfig cfg = new PagingConfig()
                        {
                            OrderBy = "Key",
                            Where   = where.ToString()
                        };
                        MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
        public async Task <ActionResult> SaveModify(WorkOrderRouteViewModel model)
        {
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                MethodReturnResult <WorkOrderRoute> result = await client.GetAsync(new WorkOrderRouteKey()
                {
                    OrderNumber = model.OrderNumber.ToUpper(),
                    ItemNo      = model.ItemNo
                });

                if (result.Code == 0)
                {
                    result.Data.RouteEnterpriseName = model.RouteEnterpriseName;
                    result.Data.RouteName           = model.RouteName;
                    result.Data.RouteStepName       = model.RouteStepName;
                    result.Data.IsRework            = model.IsRework;
                    result.Data.Editor   = User.Identity.Name;
                    result.Data.EditTime = DateTime.Now;
                    MethodReturnResult rst = await client.ModifyAsync(result.Data);

                    if (rst.Code == 0)
                    {
                        rst.Message = string.Format(PPMResources.StringResource.WorkOrderRoute_SaveModify_Success
                                                    , result.Data.Key);
                    }
                    return(Json(rst));
                }
                return(Json(result));
            }
        }
        public async Task <ActionResult> Save(WorkOrderRouteViewModel model)
        {
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                WorkOrderRoute obj = new WorkOrderRoute()
                {
                    Key = new WorkOrderRouteKey()
                    {
                        OrderNumber = model.OrderNumber.ToUpper(),
                        ItemNo      = model.ItemNo
                    },
                    RouteEnterpriseName = model.RouteEnterpriseName,
                    RouteName           = model.RouteName,
                    RouteStepName       = model.RouteStepName,
                    IsRework            = model.IsRework,
                    CreateTime          = DateTime.Now,
                    Creator             = User.Identity.Name,
                    Editor   = User.Identity.Name,
                    EditTime = DateTime.Now,
                };

                MethodReturnResult rst = await client.AddAsync(obj);

                if (rst.Code == 0)
                {
                    rst.Message = string.Format(PPMResources.StringResource.WorkOrderRoute_Save_Success
                                                , obj.Key);
                }

                return(Json(rst));
            }
        }
 public ActionResult GetMaxItemNo(string orderNumber)
 {
     using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
     {
         PagingConfig cfg = new PagingConfig()
         {
             PageNo   = 0,
             PageSize = 1,
             Where    = string.Format("Key.OrderNumber='{0}'", orderNumber),
             OrderBy  = "Key.ItemNo Desc"
         };
         MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);
         if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
         {
             return(Json(result.Data[0].Key.ItemNo + 1, JsonRequestBehavior.AllowGet));
         }
     }
     return(Json(1, JsonRequestBehavior.AllowGet));
 }
        public async Task <ActionResult> Delete(string orderNumber, int itemNo)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                result = await client.DeleteAsync(new WorkOrderRouteKey()
                {
                    OrderNumber = orderNumber,
                    ItemNo      = itemNo
                });

                if (result.Code == 0)
                {
                    result.Message = string.Format(PPMResources.StringResource.WorkOrderRoute_Delete_Success
                                                   , itemNo);
                }
                return(Json(result));
            }
        }
Beispiel #8
0
        public IEnumerable <SelectListItem> GetRouteEnterpriseNameList(string orderNumber, EnumLotType lotType)
        {
            IList <WorkOrderRoute> lstWorkOrderRoute = new List <WorkOrderRoute>();

            //获取工单工艺信息。
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format("Key.OrderNumber='{0}'", orderNumber),
                    OrderBy  = "Key.ItemNo"
                };
                if (lotType == EnumLotType.Rework)
                {
                    cfg.Where += " AND IsRework=1";
                }
                else
                {
                    cfg.Where += " AND IsRework=0";
                }

                MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    lstWorkOrderRoute = result.Data;
                }
            }
            var lnq = from item in lstWorkOrderRoute
                      select item.RouteEnterpriseName;

            return(from item in lnq.Distinct()
                   select new SelectListItem
            {
                Text = item,
                Value = item
            });
        }
        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 (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial"));
        }
        //
        // GET: /PPM/WorkOrderRoute/
        public async Task <ActionResult> Index(string orderNumber)
        {
            using (WorkOrderServiceClient client = new WorkOrderServiceClient())
            {
                MethodReturnResult <WorkOrder> result = await client.GetAsync(orderNumber ?? string.Empty);

                if (result.Code > 0 || result.Data == null)
                {
                    return(RedirectToAction("Index", "WorkOrder"));
                }
                ViewBag.WorkOrder = result.Data;
            }

            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        Where = string.Format(" Key.OrderNumber = '{0}'"
                                              , orderNumber)
                    };
                    MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }
            return(View(new WorkOrderRouteQueryViewModel()
            {
                OrderNumber = orderNumber
            }));
        }
        //
        // POST: /WIP/LotCreate/Detail
        public ActionResult Detail(LotCreateMainViewModel model)
        {
            LotCreateDetailViewModel viewModel = new LotCreateDetailViewModel()
            {
                LineStoreName       = model.LineStoreName,
                MaterialLot         = model.MaterialLot,
                MaterialCode        = model.MaterialCode,
                LotType             = model.LotType,
                OrderNumber         = model.OrderNumber,
                Count               = model.Count,
                Description         = string.Empty,
                MaterialQty         = 0,
                ProductCode         = string.Empty,
                Quantity            = 0,
                RawQuantity         = 0,
                RouteEnterpriseName = string.Empty,
                RouteName           = string.Empty,
                RouteStepName       = string.Empty,
                SupplierCode        = string.Empty
            };

            if (string.IsNullOrEmpty(model.MaterialLot))
            {
                return(View(viewModel));
            }

            //获取工单信息。
            using (WorkOrderServiceClient client = new WorkOrderServiceClient())
            {
                MethodReturnResult <WorkOrder> result = client.Get(model.OrderNumber);
                if (result.Code <= 0 && result.Data != null)
                {
                    result.Code    = 1000;
                    result.Message = "工单号错误!";

                    return(Json(result));

                    //viewModel.ProductCode = result.Data.MaterialCode;
                }
            }

            //获取工单工艺信息。
            using (WorkOrderRouteServiceClient client = new WorkOrderRouteServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    PageNo   = 0,
                    PageSize = 1,
                    Where    = string.Format("Key.OrderNumber='{0}'", model.OrderNumber),
                    OrderBy  = "Key.ItemNo"
                };
                if (model.LotType == EnumLotType.Rework)
                {
                    cfg.Where += " AND IsRework=1";
                }
                else
                {
                    cfg.Where += " AND IsRework=0";
                }
                MethodReturnResult <IList <WorkOrderRoute> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    viewModel.RouteEnterpriseName = result.Data[0].RouteEnterpriseName;
                    viewModel.RouteName           = result.Data[0].RouteName;
                    viewModel.RouteStepName       = result.Data[0].RouteStepName;
                }
            }
            //获取线边仓物料信息
            using (LineStoreMaterialServiceClient client = new LineStoreMaterialServiceClient())
            {
                LineStoreMaterialDetailKey key = new LineStoreMaterialDetailKey()
                {
                    LineStoreName = model.LineStoreName,
                    OrderNumber   = model.OrderNumber,
                    MaterialCode  = model.MaterialCode,
                    MaterialLot   = model.MaterialLot
                };
                MethodReturnResult <LineStoreMaterialDetail> result = client.GetDetail(key);
                if (result.Code <= 0 && result.Data != null)
                {
                    viewModel.MaterialQty  = result.Data.CurrentQty;
                    viewModel.SupplierCode = result.Data.SupplierCode;
                }
            }
            //根据物料获取每批原材料建议数量和每批产品建议数量。
            using (MaterialServiceClient client = new MaterialServiceClient())
            {
                MethodReturnResult <Material> result = client.Get(viewModel.ProductCode);
                if (result.Code <= 0 && result.Data != null)
                {
                    viewModel.RawQuantity = result.Data.MainRawQtyPerLot;
                    viewModel.Quantity    = result.Data.MainProductQtyPerLot;
                }
            }
            //根据工单号和批次个数生成批次号。
            IList <string> lstLot = new List <string>();

            using (LotCreateServiceClient client = new LotCreateServiceClient())
            {
                MethodReturnResult <IList <string> > result = client.Generate(model.LotType, model.OrderNumber, model.Count, model.LineCode);
                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    lstLot = result.Data;
                }
            }
            ViewBag.LotList = lstLot;
            //获取需要录入的批次号自定义特性
            IList <BaseAttribute> lstAttribute = new List <BaseAttribute>();

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

                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;

            return(View(viewModel));
        }