コード例 #1
0
ファイル: LotTrackViewModels.cs プロジェクト: 88886/jnmmes
        /// <summary>
        /// 取得物料消耗量
        /// </summary>
        /// <param name="materialcode"></param>
        /// <param name="orderNumber"></param>
        /// <returns></returns>
        public decimal GetMaterialBOMUseLevel(string materialcode, string orderNumber)
        {
            //IList<WorkOrderBOM> lstWorkOrderBOM = new List<WorkOrderBOM>();

            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@"Key.OrderNumber='{0}' 
                                        AND MaterialCode LIKE '{1}%'",
                                             orderNumber,
                                             materialcode)
                };

                MethodReturnResult <IList <WorkOrderBOM> > result = client.Get(ref cfg);

                if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
                {
                    return((decimal)result.Data[0].Qty);       //BOM消耗量
                }
                else
                {
                    return(0);
                }
            }
        }
コード例 #2
0
        public async Task <ActionResult> SaveModify(WorkOrderBOMViewModel model)
        {
            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                MethodReturnResult <WorkOrderBOM> result = await client.GetAsync(new WorkOrderBOMKey()
                {
                    OrderNumber = model.OrderNumber.ToUpper(),
                    ItemNo      = model.ItemNo
                });

                if (result.Code == 0)
                {
                    result.Data.MaterialCode  = model.MaterialCode.ToUpper();
                    result.Data.MaterialUnit  = model.MaterialUnit;
                    result.Data.Qty           = model.Qty;
                    result.Data.StoreLocation = model.StoreLocation;
                    result.Data.WorkCenter    = model.WorkCenter;
                    result.Data.Description   = model.Description;
                    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.WorkOrderBOM_SaveModify_Success
                                                    , result.Data.Key);
                    }
                    return(Json(rst));
                }
                return(Json(result));
            }
        }
コード例 #3
0
        public async Task <ActionResult> Save(WorkOrderBOMViewModel model)
        {
            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                WorkOrderBOM obj = new WorkOrderBOM()
                {
                    Key = new WorkOrderBOMKey()
                    {
                        OrderNumber = model.OrderNumber.ToUpper(),
                        ItemNo      = model.ItemNo
                    },
                    MaterialCode  = model.MaterialCode.ToUpper(),
                    MaterialUnit  = model.MaterialUnit,
                    Qty           = model.Qty,
                    StoreLocation = model.StoreLocation,
                    WorkCenter    = model.WorkCenter,
                    Description   = model.Description,
                    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.WorkOrderBOM_Save_Success
                                                , obj.Key);
                }
                return(Json(rst));
            }
        }
コード例 #4
0
        public ActionResult GetMaterialCode(string q, string orderNumber, string lineStoreName)
        {
            string routeOperationName = string.Empty;

            using (LineStoreServiceClient client = new LineStoreServiceClient())
            {
                MethodReturnResult <LineStore> result = client.Get(lineStoreName);
                if (result.Code <= 0 && result.Data != null)
                {
                    routeOperationName = result.Data.RouteOperationName;
                }
            }

            IList <WorkOrderBOM> lstBOM = new List <WorkOrderBOM>();

            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@"MaterialCode LIKE '{0}%' AND Key.OrderNumber='{1}'"
                                             , q
                                             , orderNumber),
                    OrderBy = "Key.ItemNo"
                };
                //工作中心为空的可以领到任何线边仓。
                //线边仓对应工序为空的可以领任何料。
                if (!string.IsNullOrEmpty(routeOperationName))
                {
                    cfg.Where += string.Format(" AND (WorkCenter='' OR WorkCenter IS NULL Or WorkCenter='{0}')", routeOperationName);
                }

                MethodReturnResult <IList <WorkOrderBOM> > result = client.Get(ref cfg);
                if (result.Code <= 0 && result.Data != null)
                {
                    lstBOM = result.Data;
                }
            }

            return(Json(from item in lstBOM
                        select new
            {
                @label = string.Format("{0}[{1}]", item.MaterialCode, item.Description),
                @value = item.MaterialCode,
                @desc = item.Description
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
 public ActionResult GetMaxItemNo(string orderNumber)
 {
     using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
     {
         PagingConfig cfg = new PagingConfig()
         {
             PageNo   = 0,
             PageSize = 1,
             Where    = string.Format("Key.OrderNumber='{0}'", orderNumber),
             OrderBy  = "Key.ItemNo Desc"
         };
         MethodReturnResult <IList <WorkOrderBOM> > 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));
 }
コード例 #6
0
        public async Task <ActionResult> Query(WorkOrderBOMQueryViewModel model)
        {
            //if (ModelState.IsValid)
            //{
            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                await Task.Run(() =>
                {
                    StringBuilder where = new StringBuilder();
                    if (model != null)
                    {
                        where.AppendFormat(" {0} Key.OrderNumber = '{1}'"
                                           , where.Length > 0 ? "AND" : string.Empty
                                           , model.OrderNumber);

                        if (!string.IsNullOrEmpty(model.MaterialCode))
                        {
                            where.AppendFormat(" {0} MaterialCode LIKE '{1}%'"
                                               , where.Length > 0 ? "AND" : string.Empty
                                               , model.MaterialCode);
                        }
                    }
                    PagingConfig cfg = new PagingConfig()
                    {
                        OrderBy = "Key.ItemNo",
                        Where   = where.ToString()
                    };
                    MethodReturnResult <IList <WorkOrderBOM> > result = client.Get(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }
            //}
            return(PartialView("_ListPartial", new WorkOrderBOMViewModel()
            {
                OrderNumber = model.OrderNumber
            }));
        }
コード例 #7
0
        public async Task <ActionResult> Delete(string orderNumber, int itemNo)
        {
            MethodReturnResult result = new MethodReturnResult();

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

                if (result.Code == 0)
                {
                    result.Message = string.Format(PPMResources.StringResource.WorkOrderBOM_Delete_Success
                                                   , itemNo);
                }
                return(Json(result));
            }
        }
コード例 #8
0
        //
        // GET: /PPM/WorkOrderBOM/Detail
        public async Task <ActionResult> Detail(string orderNumber, int itemNo)
        {
            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                WorkOrderBOMViewModel viewModel = new WorkOrderBOMViewModel();

                MethodReturnResult <WorkOrderBOM> result = await client.GetAsync(new WorkOrderBOMKey()
                {
                    OrderNumber = orderNumber,
                    ItemNo      = itemNo
                });

                if (result.Code == 0)
                {
                    viewModel = new WorkOrderBOMViewModel()
                    {
                        OrderNumber     = result.Data.Key.OrderNumber,
                        ItemNo          = result.Data.Key.ItemNo,
                        WorkCenter      = result.Data.WorkCenter,
                        StoreLocation   = result.Data.StoreLocation,
                        Qty             = Convert.ToDouble(result.Data.Qty),
                        MaterialUnit    = result.Data.MaterialUnit,
                        MaterialCode    = result.Data.MaterialCode,
                        MaterialName    = viewModel.GetMaterialName(result.Data.MaterialCode).ToString(),
                        MinUnit         = Convert.ToDouble(result.Data.MinUnit),
                        ReplaceMaterial = result.Data.ReplaceMaterial,
                        Description     = result.Data.Description,
                        Creator         = result.Data.Creator,
                        CreateTime      = result.Data.CreateTime,
                        Editor          = result.Data.Editor,
                        EditTime        = result.Data.EditTime
                    };
                    return(PartialView("_InfoPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_InfoPartial"));
        }
コード例 #9
0
        //
        // GET: /PPM/WorkOrderBOM/
        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 (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        Where = string.Format(" Key.OrderNumber = '{0}'"
                                              , orderNumber),
                        OrderBy = "Key.ItemNo"
                    };
                    MethodReturnResult <IList <WorkOrderBOM> > result = client.Get(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }

            //return View(new WorkOrderBOMViewModel() { OrderNumber = orderNumber });
            return(View(new WorkOrderBOMQueryViewModel()
            {
                OrderNumber = orderNumber
            }));
        }
コード例 #10
0
        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 (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        PageNo   = pageNo,
                        PageSize = pageSize,
                        Where    = where ?? string.Empty,
                        OrderBy  = orderBy ?? string.Empty
                    };
                    MethodReturnResult <IList <WorkOrderBOM> > result = client.Get(ref cfg);
                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }
            //}

            return(PartialView("_ListPartial"));
        }
コード例 #11
0
        //
        // GET: /PPM/WorkOrderBOM/Modify
        public async Task <ActionResult> Modify(string orderNumber, int itemNo)
        {
            WorkOrderBOMViewModel viewModel = new WorkOrderBOMViewModel();

            using (WorkOrderBOMServiceClient client = new WorkOrderBOMServiceClient())
            {
                MethodReturnResult <WorkOrderBOM> result = await client.GetAsync(new WorkOrderBOMKey()
                {
                    OrderNumber = orderNumber,
                    ItemNo      = itemNo
                });

                if (result.Code == 0)
                {
                    viewModel = new WorkOrderBOMViewModel()
                    {
                        OrderNumber   = result.Data.Key.OrderNumber,
                        ItemNo        = result.Data.Key.ItemNo,
                        MaterialCode  = result.Data.MaterialCode,
                        WorkCenter    = result.Data.WorkCenter,
                        StoreLocation = result.Data.StoreLocation,
                        Qty           = result.Data.Qty,
                        MaterialUnit  = result.Data.MaterialUnit,
                        Description   = result.Data.Description,
                        CreateTime    = result.Data.CreateTime,
                        Creator       = result.Data.Creator,
                        Editor        = result.Data.Editor,
                        EditTime      = result.Data.EditTime
                    };
                    return(PartialView("_ModifyPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_ModifyPartial"));
        }