예제 #1
0
 private IList <RouteStepParameter> GetParameterList(string routeName, string routeStepName, EnumLotState stateFlag)
 {
     if (stateFlag != EnumLotState.WaitTrackIn && stateFlag != EnumLotState.WaitTrackOut)
     {
         return(null);
     }
     using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
     {
         PagingConfig cfg = new PagingConfig()
         {
             IsPaging = false,
             OrderBy  = "ParamIndex",
             Where    = string.Format(@"DataFrom='{0}' AND DCType='{1}' AND IsDeleted=0
                                    AND Key.RouteName='{2}'
                                    AND Key.RouteStepName='{3}'"
                                      , Convert.ToInt32(EnumDataFrom.Manual)
                                      , stateFlag == EnumLotState.WaitTrackIn
                                         ? Convert.ToInt32(EnumDataCollectionAction.TrackIn)
                                         : Convert.ToInt32(EnumDataCollectionAction.TrackOut)
                                      , routeName
                                      , routeStepName)
         };
         MethodReturnResult <IList <RouteStepParameter> > result = client.Get(ref cfg);
         if (result.Code <= 0 && result.Data != null)
         {
             return(result.Data);
         }
     }
     return(null);
 }
예제 #2
0
        /// <summary> 取得工序需扣料清单 </summary>
        /// <param name="routeName">工艺流程</param>
        /// <param name="routeStepName">工序</param>
        /// <returns></returns>
        public IEnumerable <SelectListItem> GetMaterialName(string routeName, string routeStepName)
        {
            IList <RouteStepParameter> lstRouteStepParameter = new List <RouteStepParameter>();

            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                PagingConfig cfg = new PagingConfig()
                {
                    IsPaging = false,
                    OrderBy  = "ParamIndex",
                    Where    = string.Format(@"DataFrom='{0}' AND IsDeleted=0
                                           AND Key.RouteName='{1}'
                                           AND Key.RouteStepName='{2}'"
                                             , Convert.ToInt32(EnumDataFrom.Manual)
                                             , routeName
                                             , routeStepName)
                };

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

                if (result.Code <= 0 && result.Data != null)
                {
                    lstRouteStepParameter = result.Data;
                }
            }

            return(from item in lstRouteStepParameter
                   select new SelectListItem()
            {
                Text = item.Key.ParameterName,
                //Value = item.Key.ParameterName
                Value = item.MaterialType
            });
        }
예제 #3
0
        public async Task <ActionResult> Query(RouteStepParameterQueryViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
                {
                    await Task.Run(() =>
                    {
                        StringBuilder where = new StringBuilder();
                        if (model != null)
                        {
                            where.AppendFormat(" {0} Key.RouteName = '{1}'"
                                               , where.Length > 0 ? "AND" : string.Empty
                                               , model.RouteName);

                            where.AppendFormat(" {0} Key.RouteStepName = '{1}'"
                                               , where.Length > 0 ? "AND" : string.Empty
                                               , model.RouteStepName);

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

                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial", new RouteStepParameterViewModel()
            {
                RouteName = model.RouteName,
                RouteStepName = model.RouteStepName
            }));
        }
예제 #4
0
        //
        // GET: /FMM/RouteStepParameter/Modify
        public async Task <ActionResult> Modify(string routeName, string routeStepName, string parameterName)
        {
            RouteStepParameterViewModel viewModel = new RouteStepParameterViewModel();

            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                MethodReturnResult <RouteStepParameter> result = await client.GetAsync(new RouteStepParameterKey()
                {
                    RouteName     = routeName,
                    RouteStepName = routeStepName,
                    ParameterName = parameterName
                });

                if (result.Code == 0)
                {
                    viewModel = new RouteStepParameterViewModel()
                    {
                        RouteName             = result.Data.Key.RouteName,
                        RouteStepName         = result.Data.Key.RouteStepName,
                        ParameterName         = result.Data.Key.ParameterName,
                        DataFrom              = result.Data.DataFrom,
                        DataType              = result.Data.DataType,
                        DCType                = result.Data.DCType,
                        IsDeleted             = result.Data.IsDeleted,
                        MaterialType          = result.Data.MaterialType,
                        IsMustInput           = result.Data.IsMustInput,
                        IsReadOnly            = result.Data.IsReadOnly,
                        IsUsePreValue         = result.Data.IsUsePreValue,
                        ParamIndex            = result.Data.ParamIndex,
                        ValidateFailedMessage = result.Data.ValidateFailedMessage,
                        ValidateFailedRule    = result.Data.ValidateFailedRule,
                        ValidateRule          = result.Data.ValidateRule,
                        Editor                = result.Data.Editor,
                        EditTime              = result.Data.EditTime
                    };
                    return(PartialView("_ModifyPartial", viewModel));
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            return(PartialView("_ModifyPartial"));
        }
예제 #5
0
        //
        // GET: /FMM/RouteStepParameter/
        public async Task <ActionResult> Index(string routeName, string routeStepName)
        {
            using (RouteStepServiceClient client = new RouteStepServiceClient())
            {
                MethodReturnResult <RouteStep> result = await client.GetAsync(new RouteStepKey()
                {
                    RouteName     = routeName,
                    RouteStepName = routeStepName
                });

                if (result.Code > 0 || result.Data == null)
                {
                    return(RedirectToAction("Index", "RouteStep", new { @RouteName = routeName }));
                }
                ViewBag.RouteStep = result.Data;
            }

            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                await Task.Run(() =>
                {
                    PagingConfig cfg = new PagingConfig()
                    {
                        Where = string.Format(" Key.RouteName='{0}' AND Key.RouteStepName = '{1}'"
                                              , routeName
                                              , routeStepName),
                        OrderBy = "ParamIndex"
                    };
                    MethodReturnResult <IList <RouteStepParameter> > result = client.Get(ref cfg);

                    if (result.Code == 0)
                    {
                        ViewBag.PagingConfig = cfg;
                        ViewBag.List         = result.Data;
                    }
                });
            }
            return(View(new RouteStepParameterQueryViewModel()
            {
                RouteName = routeName, RouteStepName = routeStepName
            }));
        }
예제 #6
0
 public ActionResult GetMaxParamterIndex(string routeName, string routeStepName)
 {
     using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
     {
         PagingConfig cfg = new PagingConfig()
         {
             PageNo   = 0,
             PageSize = 1,
             OrderBy  = "ParamIndex Desc",
             Where    = string.Format("Key.RouteName='{0}' AND Key.RouteStepName='{1}'"
                                      , routeName
                                      , routeStepName)
         };
         MethodReturnResult <IList <RouteStepParameter> > result = client.Get(ref cfg);
         if (result.Code <= 0 && result.Data != null && result.Data.Count > 0)
         {
             return(Json(result.Data[0].ParamIndex + 1, JsonRequestBehavior.AllowGet));
         }
     }
     return(Json(1, JsonRequestBehavior.AllowGet));
 }
예제 #7
0
        public async Task <ActionResult> Delete(string routeName, string routeStepName, string parameterName)
        {
            MethodReturnResult result = new MethodReturnResult();

            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                result = await client.DeleteAsync(new RouteStepParameterKey()
                {
                    RouteName     = routeName,
                    RouteStepName = routeStepName,
                    ParameterName = parameterName
                });

                if (result.Code == 0)
                {
                    result.Message = string.Format(FMMResources.StringResource.RouteStepParameter_Delete_Success
                                                   , parameterName);
                }
                return(Json(result));
            }
        }
예제 #8
0
        public async Task <ActionResult> SaveModify(RouteStepParameterViewModel model)
        {
            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                MethodReturnResult <RouteStepParameter> result = await client.GetAsync(new RouteStepParameterKey()
                {
                    RouteName     = model.RouteName,
                    RouteStepName = model.RouteStepName,
                    ParameterName = model.ParameterName
                });

                if (result.Code == 0)
                {
                    result.Data.DataFrom              = model.DataFrom;
                    result.Data.DataType              = model.DataType;
                    result.Data.DCType                = model.DCType;
                    result.Data.IsDeleted             = model.IsDeleted;
                    result.Data.IsMustInput           = model.IsMustInput;
                    result.Data.IsReadOnly            = model.IsReadOnly;
                    result.Data.MaterialType          = model.MaterialType;
                    result.Data.IsUsePreValue         = model.IsUsePreValue;
                    result.Data.ParamIndex            = model.ParamIndex;
                    result.Data.ValidateFailedMessage = model.ValidateFailedMessage;
                    result.Data.ValidateFailedRule    = model.ValidateFailedRule;
                    result.Data.ValidateRule          = model.ValidateRule;
                    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(FMMResources.StringResource.RouteStepParameter_SaveModify_Success
                                                    , result.Data.Key);
                    }
                    return(Json(rst));
                }
                return(Json(result));
            }
        }
예제 #9
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 (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
                {
                    await Task.Run(() =>
                    {
                        PagingConfig cfg = new PagingConfig()
                        {
                            PageNo   = pageNo,
                            PageSize = pageSize,
                            Where    = where ?? string.Empty,
                            OrderBy  = orderBy ?? string.Empty
                        };
                        MethodReturnResult <IList <RouteStepParameter> > result = client.Get(ref cfg);
                        if (result.Code == 0)
                        {
                            ViewBag.PagingConfig = cfg;
                            ViewBag.List         = result.Data;
                        }
                    });
                }
            }
            return(PartialView("_ListPartial", new RouteStepParameterViewModel()
            {
            }));
        }
예제 #10
0
        public async Task <ActionResult> Save(RouteStepParameterViewModel model)
        {
            using (RouteStepParameterServiceClient client = new RouteStepParameterServiceClient())
            {
                RouteStepParameter obj = new RouteStepParameter()
                {
                    Key = new RouteStepParameterKey()
                    {
                        RouteName     = model.RouteName,
                        RouteStepName = model.RouteStepName,
                        ParameterName = model.ParameterName
                    },
                    MaterialType          = model.MaterialType,
                    DataFrom              = model.DataFrom,
                    DataType              = model.DataType,
                    DCType                = model.DCType,
                    IsDeleted             = model.IsDeleted,
                    IsMustInput           = model.IsMustInput,
                    IsReadOnly            = model.IsReadOnly,
                    IsUsePreValue         = model.IsUsePreValue,
                    ParamIndex            = model.ParamIndex,
                    ValidateFailedMessage = model.ValidateFailedMessage,
                    ValidateFailedRule    = model.ValidateFailedRule,
                    ValidateRule          = model.ValidateRule,
                    Editor                = User.Identity.Name,
                    EditTime              = DateTime.Now,
                };
                MethodReturnResult rst = await client.AddAsync(obj);

                if (rst.Code == 0)
                {
                    rst.Message = string.Format(FMMResources.StringResource.RouteStepParameter_Save_Success
                                                , obj.Key);
                }
                return(Json(rst));
            }
        }
예제 #11
0
        public async Task <ActionResult> SaveCopy(RouteViewModel model)
        {
            Route obj = new Route()
            {
                Key         = model.Name,
                RouteType   = model.RouteType,
                Status      = model.Status,
                Description = model.Description,
                Creator     = User.Identity.Name,
                CreateTime  = DateTime.Now,
                Editor      = User.Identity.Name,
                EditTime    = DateTime.Now
            };
            MethodReturnResult result = new MethodReturnResult();

            using (RouteServiceClient client = new RouteServiceClient())
            {
                result = await client.AddAsync(obj);

                if (result.Code == 0)
                {
                    result.Message      = "复制工艺流程主体成功";
                    StringBuilder where = new StringBuilder();

                    using (RouteStepServiceClient routeStepServiceClient = new RouteStepServiceClient())
                    {
                        where.AppendFormat(" Key.RouteName ='{0}'",
                                           model.ParentName);


                        PagingConfig cfg = new PagingConfig()
                        {
                            IsPaging = false,
                            OrderBy  = "SortSeq",
                            Where    = where.ToString()
                        };
                        MethodReturnResult <IList <RouteStep> > routeStep = routeStepServiceClient.Get(ref cfg);
                        if (routeStep.Code == 0)
                        {
                            List <RouteStep> listOfRouteStep = routeStep.Data.ToList <RouteStep>();
                            foreach (RouteStep itemOfRouteStep in listOfRouteStep)
                            {
                                #region  制工步信息
                                RouteStep objRouteStep = new RouteStep()
                                {
                                    Key = new RouteStepKey()
                                    {
                                        RouteName     = model.Name,
                                        RouteStepName = itemOfRouteStep.Key.RouteStepName
                                    },
                                    DefectReasonCodeCategoryName = itemOfRouteStep.DefectReasonCodeCategoryName,
                                    Duration = itemOfRouteStep.Duration,
                                    ScrapReasonCodeCategoryName = itemOfRouteStep.ScrapReasonCodeCategoryName,
                                    SortSeq            = itemOfRouteStep.SortSeq,
                                    RouteOperationName = itemOfRouteStep.RouteOperationName,
                                    Description        = itemOfRouteStep.Description,
                                    Editor             = User.Identity.Name,
                                    EditTime           = DateTime.Now,
                                    CreateTime         = DateTime.Now,
                                    Creator            = User.Identity.Name
                                };
                                MethodReturnResult rstOfRouteStep = await routeStepServiceClient.AddAsync(objRouteStep);

                                if (rstOfRouteStep.Code != 0)
                                {
                                    result.Code    = 1001;
                                    result.Message = "复制工步信息失败" + rstOfRouteStep.Message;
                                    return(Json(result));
                                }
                                #endregion

                                #region  制工步参数
                                using (RouteStepParameterServiceClient routeStepParameterServiceClient = new RouteStepParameterServiceClient())
                                {
                                    #region  除新增工艺流程工步带过来的工步参数
                                    cfg = new PagingConfig()
                                    {
                                        Where = string.Format(" Key.RouteName='{0}' AND Key.RouteStepName = '{1}'"
                                                              , model.Name
                                                              , itemOfRouteStep.Key.RouteStepName),
                                        OrderBy = "ParamIndex"
                                    };
                                    MethodReturnResult <IList <RouteStepParameter> > routeStepParameterNewAdd = routeStepParameterServiceClient.Get(ref cfg);
                                    if (routeStepParameterNewAdd.Code == 0)
                                    {
                                        List <RouteStepParameter> listOfRouteStepParameterNewAdd = routeStepParameterNewAdd.Data.ToList <RouteStepParameter>();
                                        foreach (RouteStepParameter itemOfRouteStepParameterNewAdd in listOfRouteStepParameterNewAdd)
                                        {
                                            MethodReturnResult rstOfRouteStepParameterNewAdd = routeStepParameterServiceClient.Delete(itemOfRouteStepParameterNewAdd.Key);
                                            if (rstOfRouteStepParameterNewAdd.Code != 0)
                                            {
                                                result.Code    = 1001;
                                                result.Message = "删除初始工步参数信息失败" + rstOfRouteStepParameterNewAdd.Message;
                                                return(Json(result));
                                            }
                                        }
                                    }
                                    #endregion

                                    #region  制工步参数
                                    cfg = new PagingConfig()
                                    {
                                        Where = string.Format(" Key.RouteName='{0}' AND Key.RouteStepName = '{1}'"
                                                              , model.ParentName
                                                              , itemOfRouteStep.Key.RouteStepName),
                                        OrderBy = "ParamIndex"
                                    };
                                    MethodReturnResult <IList <RouteStepParameter> > routeStepParameter = routeStepParameterServiceClient.Get(ref cfg);
                                    if (routeStepParameter.Code == 0)
                                    {
                                        List <RouteStepParameter> listOfRouteStepParameter = routeStepParameter.Data.ToList <RouteStepParameter>();
                                        foreach (RouteStepParameter itemOfRouteStepParameter in listOfRouteStepParameter)
                                        {
                                            RouteStepParameter objRouteStepParameter = new RouteStepParameter()
                                            {
                                                Key = new RouteStepParameterKey()
                                                {
                                                    RouteName     = model.Name,
                                                    RouteStepName = itemOfRouteStepParameter.Key.RouteStepName,
                                                    ParameterName = itemOfRouteStepParameter.Key.ParameterName
                                                },
                                                MaterialType          = itemOfRouteStepParameter.MaterialType,
                                                DataFrom              = itemOfRouteStepParameter.DataFrom,
                                                DataType              = itemOfRouteStepParameter.DataType,
                                                DCType                = itemOfRouteStepParameter.DCType,
                                                IsDeleted             = itemOfRouteStepParameter.IsDeleted,
                                                IsMustInput           = itemOfRouteStepParameter.IsMustInput,
                                                IsReadOnly            = itemOfRouteStepParameter.IsReadOnly,
                                                IsUsePreValue         = itemOfRouteStepParameter.IsUsePreValue,
                                                ParamIndex            = itemOfRouteStepParameter.ParamIndex,
                                                ValidateFailedMessage = itemOfRouteStepParameter.ValidateFailedMessage,
                                                ValidateFailedRule    = itemOfRouteStepParameter.ValidateFailedRule,
                                                ValidateRule          = itemOfRouteStepParameter.ValidateRule,
                                                Editor                = User.Identity.Name,
                                                EditTime              = DateTime.Now,
                                            };
                                            MethodReturnResult rstOfRouteStepParameter = await routeStepParameterServiceClient.AddAsync(objRouteStepParameter);

                                            if (rstOfRouteStepParameter.Code != 0)
                                            {
                                                result.Code    = 1001;
                                                result.Message = "复制工步参数信息失败" + rstOfRouteStepParameter.Message;
                                                return(Json(result));
                                            }
                                        }
                                    }
                                    #endregion
                                }
                                #endregion

                                #region  制工步属性
                                using (RouteStepAttributeServiceClient routeStepAttributeServiceClient = new RouteStepAttributeServiceClient())
                                {
                                    #region  除新增工艺流程工步带过来的工步属性
                                    cfg = new PagingConfig()
                                    {
                                        Where = string.Format(" Key.RouteName='{0}' AND Key.RouteStepName = '{1}'"
                                                              , model.Name
                                                              , itemOfRouteStep.Key.RouteStepName),
                                        OrderBy = "Key.AttributeName"
                                    };
                                    MethodReturnResult <IList <RouteStepAttribute> > routeStepAttributeNewAdd = routeStepAttributeServiceClient.Get(ref cfg);
                                    if (routeStepAttributeNewAdd.Code == 0)
                                    {
                                        List <RouteStepAttribute> listOfRouteStepAttributeNewAdd = routeStepAttributeNewAdd.Data.ToList <RouteStepAttribute>();
                                        foreach (RouteStepAttribute itemOfRouteStepAttributeNewAdd in listOfRouteStepAttributeNewAdd)
                                        {
                                            MethodReturnResult rstOfRouteStepAttributeNewAdd = routeStepAttributeServiceClient.Delete(itemOfRouteStepAttributeNewAdd.Key);
                                            if (rstOfRouteStepAttributeNewAdd.Code != 0)
                                            {
                                                result.Code    = 1001;
                                                result.Message = "删除初始工步属性信息失败" + rstOfRouteStepAttributeNewAdd.Message;
                                                return(Json(result));
                                            }
                                        }
                                    }
                                    #endregion

                                    #region  制工步属性
                                    cfg = new PagingConfig()
                                    {
                                        Where = string.Format(" Key.RouteName='{0}' AND Key.RouteStepName = '{1}'"
                                                              , model.ParentName
                                                              , itemOfRouteStep.Key.RouteStepName),
                                        OrderBy = "Key.AttributeName"
                                    };
                                    MethodReturnResult <IList <RouteStepAttribute> > routeStepAttribute = routeStepAttributeServiceClient.Get(ref cfg);
                                    if (routeStepAttribute.Code == 0)
                                    {
                                        List <RouteStepAttribute> listOfRouteStepAttribute = routeStepAttribute.Data.ToList <RouteStepAttribute>();
                                        foreach (RouteStepAttribute itemOfRouteStepAttribute in listOfRouteStepAttribute)
                                        {
                                            RouteStepAttribute objRouteStepAttribute = new RouteStepAttribute()
                                            {
                                                Key = new RouteStepAttributeKey()
                                                {
                                                    RouteName     = model.Name,
                                                    RouteStepName = itemOfRouteStepAttribute.Key.RouteStepName,
                                                    AttributeName = itemOfRouteStepAttribute.Key.AttributeName
                                                },
                                                Value    = itemOfRouteStepAttribute.Value,
                                                Editor   = User.Identity.Name,
                                                EditTime = DateTime.Now,
                                            };
                                            MethodReturnResult rstOfRouteStepAttribute = await routeStepAttributeServiceClient.AddAsync(objRouteStepAttribute);

                                            if (rstOfRouteStepAttribute.Code != 0)
                                            {
                                                result.Code    = 1001;
                                                result.Message = "复制工步属性信息失败" + rstOfRouteStepAttribute.Message;
                                                return(Json(result));
                                            }
                                        }
                                    }
                                    #endregion
                                }
                                #endregion
                            }
                            result.Message += " \r\n 复制工艺流程工步参数及工步属性成功";
                        }
                    }
                }
            }
            return(Json(result));
        }