コード例 #1
0
        // GET: /PPM/WorkOrderGroupDetail/Detail
        public async Task <ActionResult> Detail(string WorkOrderGroupNo, string orderNumber, string productCode)
        {
            using (WorkOrderGroupDetailServiceClient client = new WorkOrderGroupDetailServiceClient())
            {
                WorkOrderGroupDetailKey key = new WorkOrderGroupDetailKey()
                {
                    WorkOrderGroupNo = WorkOrderGroupNo,
                    OrderNumber      = orderNumber,
                    ProductCode      = productCode
                };
                MethodReturnResult <WorkOrderGroupDetail> result = await client.GetAsync(key);

                if (result.Code == 0)
                {
                    WorkOrderGroupDetailViewModel viewModel = new WorkOrderGroupDetailViewModel()
                    {
                        WorkOrderGroupNo = result.Data.Key.WorkOrderGroupNo,
                        OrderNumber      = result.Data.Key.OrderNumber,
                        ProductCode      = result.Data.Key.ProductCode,
                        ItemNo           = result.Data.ItemNo,
                        CreateTime       = result.Data.CreateTime,
                        Creator          = result.Data.Creator,
                        Editor           = result.Data.Editor,
                        EditTime         = result.Data.EditTime,
                        Description      = result.Data.Description
                    };
                    return(PartialView("_InfoPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_InfoPartial"));
        }
コード例 #2
0
        //

        public async Task <ActionResult> Modify(string workOrderGroupNo, string orderNumber, string productCode)
        {
            WorkOrderGroupDetailViewModel viewModel = new WorkOrderGroupDetailViewModel();

            using (WorkOrderGroupDetailServiceClient client = new WorkOrderGroupDetailServiceClient())
            {
                MethodReturnResult <WorkOrderGroupDetail> result = await client.GetAsync(new WorkOrderGroupDetailKey()
                {
                    WorkOrderGroupNo = workOrderGroupNo,
                    OrderNumber      = orderNumber,
                    ProductCode      = productCode
                });

                if (result.Code == 0)
                {
                    viewModel = new WorkOrderGroupDetailViewModel()
                    {
                        WorkOrderGroupNo = result.Data.Key.WorkOrderGroupNo,
                        ProductCode      = result.Data.Key.ProductCode,
                        OrderNumber      = result.Data.Key.OrderNumber,
                        Description      = result.Data.Description
                    };
                    return(PartialView("_ModifyPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_ModifyPartial", viewModel));
        }
コード例 #3
0
        public async Task <ActionResult> SaveModify(WorkOrderGroupDetailViewModel model)
        {
            using (WorkOrderGroupDetailServiceClient client = new WorkOrderGroupDetailServiceClient())
            {
                WorkOrderGroupDetailKey key = new WorkOrderGroupDetailKey()
                {
                    WorkOrderGroupNo = model.WorkOrderGroupNo.ToString().Trim().ToUpper(),
                    ProductCode      = model.ProductCode.ToString().Trim().ToUpper(),
                    OrderNumber      = model.OrderNumber.ToString().Trim().ToUpper()
                };
                MethodReturnResult <WorkOrderGroupDetail> result = await client.GetAsync(key);

                if (result.Code == 0)
                {
                    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("混工单组{0}规则修改成功!", model.WorkOrderGroupNo);
                    }
                    return(Json(rst));
                }
                return(Json(result));
            }
        }
コード例 #4
0
        public async Task <ActionResult> Save(WorkOrderGroupDetailViewModel model)
        {
            DateTime           now = DateTime.Now;
            MethodReturnResult rst = new MethodReturnResult();

            if (model.WorkOrderGroupNo == "" || model.WorkOrderGroupNo == null)
            {
                rst.Code    = 1000;
                rst.Message = "混工单组号不可为空!";
                return(Json(rst));
            }
            if (model.OrderNumber == "" || model.OrderNumber == null)
            {
                rst.Code    = 1000;
                rst.Message = "工单不可为空!";
                return(Json(rst));
            }
            if (model.ProductCode == "" || model.ProductCode == null)
            {
                rst.Code    = 1000;
                rst.Message = "产品编码不可为空!";
                return(Json(rst));
            }

            using (WorkOrderServiceClient client0 = new WorkOrderServiceClient())
            {
                PagingConfig cfg0 = new PagingConfig()
                {
                    IsPaging = false,
                    Where    = string.Format(@"Key LIKE '{0}%' AND OrderState='0' AND CloseType=0"
                                             , model.OrderNumber.Trim().ToUpper()),
                    OrderBy = "Key"
                };

                MethodReturnResult <IList <WorkOrder> > result0 = client0.Get(ref cfg0);
                if (result0.Code <= 0 && result0.Data != null)
                {
                    if (model.ProductCode.Trim().ToUpper() == result0.Data[0].MaterialCode.ToString())
                    {
                        #region 新增规则
                        using (WorkOrderGroupDetailServiceClient client = new WorkOrderGroupDetailServiceClient())
                        {
                            //获取混工单组规则中该组的最大序列号
                            StringBuilder where = new StringBuilder();
                            if (model != null)
                            {
                                if (!string.IsNullOrEmpty(model.WorkOrderGroupNo))
                                {
                                    where.AppendFormat(" {0} Key.WorkOrderGroupNo LIKE '{1}%'"
                                                       , where.Length > 0 ? "AND" : string.Empty
                                                       , model.WorkOrderGroupNo.ToString().Trim().ToUpper());
                                }
                            }
                            PagingConfig cfg = new PagingConfig()
                            {
                                OrderBy = "ItemNo Desc",
                                Where   = where.ToString()
                            };
                            MethodReturnResult <IList <WorkOrderGroupDetail> > result = client.Gets(ref cfg);
                            if (result != null && result.Data.Count > 0)
                            {
                                //判断新增工单是否已存在至混工单组
                                StringBuilder where1 = new StringBuilder();
                                if (model != null)
                                {
                                    if (!string.IsNullOrEmpty(model.WorkOrderGroupNo))
                                    {
                                        where1.AppendFormat(" {0} Key.OrderNumber = '{1}'"
                                                            , where1.Length > 0 ? "AND" : string.Empty
                                                            , model.OrderNumber.ToString().Trim().ToUpper());
                                    }
                                }
                                PagingConfig cfg1 = new PagingConfig()
                                {
                                    //OrderBy = "ItemNo Desc",
                                    Where = where1.ToString()
                                };
                                MethodReturnResult <IList <WorkOrderGroupDetail> > result1 = client.Gets(ref cfg1);
                                if (result1 != null && result1.Data.Count > 0)
                                {
                                    rst.Code    = 1000;
                                    rst.Message = string.Format("新增工单{0}已存在至混工单组{1}中!"
                                                                , model.OrderNumber.Trim().ToUpper()
                                                                , result1.Data[0].Key.WorkOrderGroupNo.ToString());
                                    return(Json(rst));
                                }

                                if (model.ProductCode.Trim().ToUpper() == result.Data[0].Key.ProductCode.ToString())
                                {
                                    int i = 1;
                                    if (result.Code == 0 && result.Data.Count > 0)
                                    {
                                        i = Convert.ToInt32(result.Data[0].ItemNo.ToString()) + 1;
                                    }

                                    string n = model.WorkOrderGroupNo.ToString().Trim().ToUpper();
                                    WorkOrderGroupDetail obj = new WorkOrderGroupDetail()
                                    {
                                        Key = new WorkOrderGroupDetailKey()
                                        {
                                            WorkOrderGroupNo = model.WorkOrderGroupNo.ToString().Trim().ToUpper(),
                                            OrderNumber      = model.OrderNumber.ToString().Trim().ToUpper(),
                                            ProductCode      = model.ProductCode.ToString().Trim().ToUpper()
                                        },
                                        Nums        = Convert.ToInt32(n.Substring(5, n.Length - 5)),
                                        ItemNo      = i,
                                        CreateTime  = DateTime.Now,
                                        Creator     = User.Identity.Name,
                                        Editor      = User.Identity.Name,
                                        EditTime    = DateTime.Now,
                                        Description = result.Data[0].Description
                                    };
                                    rst = await client.AddAsync(obj);

                                    if (rst.Code == 0)
                                    {
                                        rst.Message = string.Format(PPMResources.StringResource.WorkOrderGroupDetail_Save_Success, obj.Key.ToString());
                                    }
                                    return(Json(rst));
                                }
                                else
                                {
                                    rst.Code    = 1000;
                                    rst.Message = string.Format("新增工单{0}的产品编码{1}与混工单组的产品编码{2}不一致!"
                                                                , model.OrderNumber.Trim().ToUpper()
                                                                , model.ProductCode.Trim().ToUpper()
                                                                , result.Data[0].Key.ProductCode.ToString());
                                    return(Json(rst));
                                }
                            }
                            else
                            {
                                //获取混工单组规则中该组的最大序列号
                                StringBuilder where1 = new StringBuilder();
                                if (model != null)
                                {
                                    if (!string.IsNullOrEmpty(model.WorkOrderGroupNo))
                                    {
                                        where1.AppendFormat(" {0} Key.OrderNumber = '{1}'"
                                                            , where1.Length > 0 ? "AND" : string.Empty
                                                            , model.OrderNumber.ToString().Trim().ToUpper());
                                    }
                                }
                                PagingConfig cfg1 = new PagingConfig()
                                {
                                    //OrderBy = "ItemNo Desc",
                                    Where = where1.ToString()
                                };
                                MethodReturnResult <IList <WorkOrderGroupDetail> > result1 = client.Gets(ref cfg1);
                                if (result1 != null && result1.Data.Count > 0)
                                {
                                    rst.Code    = 1000;
                                    rst.Message = string.Format("新增工单{0}已存在至混工单组{1}中!"
                                                                , model.OrderNumber.Trim().ToUpper()
                                                                , result1.Data[0].Key.WorkOrderGroupNo.ToString());
                                    return(Json(rst));
                                }
                                else
                                {
                                    int    i = 1;
                                    string n = model.WorkOrderGroupNo.ToString().Trim().ToUpper();
                                    WorkOrderGroupDetail obj = new WorkOrderGroupDetail()
                                    {
                                        Key = new WorkOrderGroupDetailKey()
                                        {
                                            WorkOrderGroupNo = model.WorkOrderGroupNo.ToString().Trim().ToUpper(),
                                            OrderNumber      = model.OrderNumber.ToString().Trim().ToUpper(),
                                            ProductCode      = model.ProductCode.ToString().Trim().ToUpper()
                                        },
                                        Nums        = Convert.ToInt32(n.Substring(5, n.Length - 5)),
                                        ItemNo      = i,
                                        CreateTime  = DateTime.Now,
                                        Creator     = User.Identity.Name,
                                        Editor      = User.Identity.Name,
                                        EditTime    = DateTime.Now,
                                        Description = model.Description,
                                    };
                                    rst = await client.AddAsync(obj);

                                    if (rst.Code == 0)
                                    {
                                        rst.Message = string.Format(PPMResources.StringResource.WorkOrderGroupDetail_Save_Success, obj.Key.ToString());
                                    }
                                    return(Json(rst));
                                }
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        rst.Code    = 1000;
                        rst.Message = string.Format("工单号{0}对应的产品编码{1}与界面上的产品编码{2}不一致!"
                                                    , model.OrderNumber.Trim().ToUpper()
                                                    , result0.Data[0].MaterialCode.ToString()
                                                    , model.ProductCode.Trim().ToUpper());
                        return(Json(rst));
                    }
                }
                else
                {
                    rst.Code    = 1000;
                    rst.Message = string.Format("工单号{0}不存在或已关闭!", model.OrderNumber.Trim().ToUpper());
                    return(Json(rst));
                }
            }
        }