Ejemplo n.º 1
0
 public void Delete(AscmGenerateTaskRule ascmGenerateTaskRule)
 {
     try
     {
         YnDaoHelper.GetInstance().nHibernateHelper.Delete<AscmGenerateTaskRule>(ascmGenerateTaskRule);
     }
     catch (Exception ex)
     {
         YnBaseClass2.Helper.LogHelper.GetLog().Error("删除失败(Delete AscmGenerateTaskRule)", ex);
         throw ex;
     }
 }
Ejemplo n.º 2
0
        public ContentResult LogisticsGenerateTaskRuleSave(AscmGenerateTaskRule ascmGenerateTaskRule_Model, int? id)
        {
            JsonObjectResult jsonObjectReuslt = new JsonObjectResult();

            try
            {
                string userName = string.Empty;
                if (User.Identity.IsAuthenticated)
                {
                    userName = User.Identity.Name;
                }

                AscmGenerateTaskRule ascmGenerateTaskRule = null;
                if (id.HasValue)
                {
                    ascmGenerateTaskRule = AscmGenerateTaskRuleService.GetInstance().Get(id.Value);
                    ascmGenerateTaskRule.modifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
                    ascmGenerateTaskRule.modifyUser = userName;
                }
                else
                {
                    ascmGenerateTaskRule = new AscmGenerateTaskRule();
                    int maxId = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmGenerateTaskRule");
                    ascmGenerateTaskRule.id = ++maxId;
                    ascmGenerateTaskRule.createUser = userName;
                    ascmGenerateTaskRule.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
                    ascmGenerateTaskRule.modifyUser = userName;
                    ascmGenerateTaskRule.modifyTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
                }

                if (ascmGenerateTaskRule == null)
                    throw new Exception("保存生成任务规则失败!");

                ascmGenerateTaskRule.identificationId = ascmGenerateTaskRule_Model.identificationId;
                ascmGenerateTaskRule.ruleType = ascmGenerateTaskRule_Model.ruleType;
                ascmGenerateTaskRule.ruleCode = ascmGenerateTaskRule_Model.ruleCode;
                ascmGenerateTaskRule.generateMode = ascmGenerateTaskRule_Model.generateMode;
                ascmGenerateTaskRule.isEnable = ascmGenerateTaskRule_Model.isEnable;
                ascmGenerateTaskRule.relatedRanker = ascmGenerateTaskRule_Model.relatedRanker;
                ascmGenerateTaskRule.others = ascmGenerateTaskRule_Model.others;
                ascmGenerateTaskRule.tip = ascmGenerateTaskRule_Model.tip;
                ascmGenerateTaskRule.isEnable = "是";
                ascmGenerateTaskRule.personName2 = ascmGenerateTaskRule_Model.personName2;
                ascmGenerateTaskRule.description = ascmGenerateTaskRule_Model.description;

                switch (ascmGenerateTaskRule.ruleType)
                {
                    case "TYPEOFPRESTOCK":
                        {
                            ascmGenerateTaskRule.generateMode = "PRODUCTLINE,SUBINVENTORY,TASKTIME,MATERIAL";
                            ascmGenerateTaskRule.description = "按同一产线,同一子库,同一时间,同一物料合并";
                            ascmGenerateTaskRule.priority = 3;
                        }
                        break;
                    case "TYPEOFMIXSTOCK":
                        {
                            ascmGenerateTaskRule.generateMode = "PRODUCTLINE,SUBINVENTORY,TASKTIME";
                            ascmGenerateTaskRule.description = "按同一产线,同一子库,同一时间合并";
                            ascmGenerateTaskRule.priority = 3;
                        }
                        break;
                    case "TYPEOFWAREHOUSE":
                        {
                            if (ascmGenerateTaskRule.identificationId == 1)
                            {
                                ascmGenerateTaskRule.generateMode = "SUBINVENTORY,PRODUCTLINE,TASKTIME";
                                ascmGenerateTaskRule.description = "按指定子库,同一产线,同一时间合并";

                            }
                            else if (ascmGenerateTaskRule.identificationId == 2)
                            {
                                ascmGenerateTaskRule.generateMode = "SUBINVENTORY";
                                ascmGenerateTaskRule.description = "按同一子库合并";
                            }
                            ascmGenerateTaskRule.priority = 2;
                        }
                        break;
                    case "TYPEOFMATERIAL":
                        {
                            ascmGenerateTaskRule.generateMode = "MATERIAL,PRODUCTLINE,SUBINVENTORY,TASKTIME,";
                            ascmGenerateTaskRule.description = "按指定物料,同一产线,同一子库,同一时间合并";
                            ascmGenerateTaskRule.priority = 1;
                        }
                        break;
                    default:
                        {
                            ascmGenerateTaskRule.generateMode = "MATERIAL,PRODUCTLINE,SUBINVENTORY,TASKTIME,";
                            ascmGenerateTaskRule.description = "按指定物料,同一产线,同一子库,同一时间合并";
                        }
                        break;
                }

                AscmGenerateTaskRuleService.GetInstance().Save(ascmGenerateTaskRule);

                jsonObjectReuslt.result = true;
                jsonObjectReuslt.message = "";
                jsonObjectReuslt.id = ascmGenerateTaskRule.id.ToString();
                jsonObjectReuslt.entity = ascmGenerateTaskRule;
            }
            catch (Exception ex)
            {
                jsonObjectReuslt.result = false;
                jsonObjectReuslt.message = ex.Message;
            }

            string sReturn = JsonConvert.SerializeObject(jsonObjectReuslt);
            return Content(sReturn);
        }
Ejemplo n.º 3
0
        //判断规则及指定关系人
        public bool IsJudgeCodeAndRanker(AscmGenerateTaskRule ascmGenerateTaskRule, AscmGetMaterialTask ascmGetMaterialTask, string warehouseId, string docnumber, bool isRule, bool isRaner)
        {
            if (!string.IsNullOrEmpty(ascmGenerateTaskRule.ruleCode))
            {
                string[] myArray = ascmGenerateTaskRule.ruleCode.Split('&');
                string warehouseString = myArray[0].Substring(myArray[0].IndexOf("(") + 1, myArray[0].IndexOf(")") - myArray[0].IndexOf("(") - 1);
                string materialString = myArray[1].Substring(myArray[1].IndexOf("(") + 1, myArray[1].IndexOf(")") - myArray[1].IndexOf("(") - 1);

                if (warehouseString.Length > 0 && warehouseString.IndexOf(warehouseId) > -1)
                {
                    #region
                    if (materialString.Length > 0)
                    {
                        if (materialString.IndexOf("|") > -1)
                        {
                            string[] mtlArray = materialString.Split('|');
                            foreach (string mtl in mtlArray)
                            {
                                if (mtl.IndexOf(warehouseId) > -1)
                                {
                                    string material = mtl.Substring(mtl.IndexOf(":") + 1, mtl.Length - mtl.IndexOf(":") - 1);
                                    if (material.IndexOf("%") > -1)
                                    {
                                        string[] materialArray = material.Split('%');
                                        foreach (string item in materialArray)
                                        {
                                            if (item == docnumber.Substring(0, item.Length))
                                            {
                                                isRule = true;
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        if (material == docnumber.Substring(0, material.Length))
                                        {
                                            isRule = true;
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (materialString.IndexOf(warehouseId) > -1)
                            {
                                string material = materialString.Substring(materialString.IndexOf(":") + 1, materialString.Length - materialString.IndexOf(":") - 1);
                                if (material.IndexOf("%") > -1)
                                {
                                    string[] materialArray = material.Split('%');
                                    foreach (string item in materialArray)
                                    {
                                        if (item == docnumber.Substring(0, item.Length))
                                        {
                                            isRule = true;
                                            break;
                                        }
                                    }
                                }
                                else
                                {
                                    if (material == docnumber.Substring(0, material.Length))
                                    {
                                        isRule = true;
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        isRule = true;
                    }
                    #endregion
                }
            }
            else
            {
                isRule = true;
            }

            if (!string.IsNullOrEmpty(ascmGenerateTaskRule.relatedRanker))
            {
                if (ascmGenerateTaskRule.relatedRanker == ascmGetMaterialTask.rankerId)
                    isRaner = true;
            }
            else
            {
                isRaner = true;
            }

            return (isRule && isRaner);
        }
Ejemplo n.º 4
0
 public void Update(AscmGenerateTaskRule ascmGenerateTaskRule)
 {
     try
     {
         using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction())
         {
             try
             {
                 YnDaoHelper.GetInstance().nHibernateHelper.Update<AscmGenerateTaskRule>(ascmGenerateTaskRule);
                 tx.Commit();//正确执行提交
             }
             catch (Exception ex)
             {
                 tx.Rollback();//回滚
                 YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmGenerateTaskRule)", ex);
                 throw ex;
             }
         }
     }
     catch (Exception ex)
     {
         YnBaseClass2.Helper.LogHelper.GetLog().Error("修改失败(Update AscmGenerateTaskRule)", ex);
         throw ex;
     }
 }