Example #1
0
        /// <summary>
        /// 新增预警条件
        /// </summary>
        /// <param name="EarylWarningInfo"></param>
        /// <returns></returns>
        public AjaxResult AddEarylWarning(string EarylWarningInfo)
        {
            DbTrans trans = null;

            try
            {
                using (trans = Db.Context.BeginTransaction())
                {
                    //添加预警信息
                    JObject NodeObj              = (JObject)JsonConvert.DeserializeObject(EarylWarningInfo);
                    string  FlowCode             = Convert.ToString(NodeObj["FlowCode"]);
                    string  FlowNodeCode         = Convert.ToString(NodeObj["FlowNodeCode"]);
                    string  EarlyWarningCode     = Convert.ToString(NodeObj["EarlyWarningCode"]);
                    string  EarlyWarningName     = Convert.ToString(NodeObj["EarlyWarningName"]);
                    int     EarlyWarningTime     = Convert.ToInt32(NodeObj["EarlyWarningTime"]);
                    string  EarlyWarningTimeType = Convert.ToString(NodeObj["EarlyWarningTimeType"]);
                    int     EarlyWarningOrder    = Convert.ToInt32(NodeObj["EarlyWarningOrder"]);
                    string  Remark  = Convert.ToString(NodeObj["Remark"]);
                    int     App     = Convert.ToInt32(NodeObj["App"]);
                    int     Pc      = Convert.ToInt32(NodeObj["Pc"]);
                    int     IsStart = Convert.ToInt32(NodeObj["IsStart"]);
                    JArray  array   = (JArray)NodeObj["SPLIST"];
                    TbFlowEarlyWarningCondition model = new TbFlowEarlyWarningCondition();
                    model.EarlyWarningCode     = EarlyWarningCode;
                    model.FlowCode             = FlowCode;
                    model.FlowNodeCode         = FlowNodeCode;
                    model.EarlyWarningName     = EarlyWarningName;
                    model.EarlyWarningTime     = EarlyWarningTime;
                    model.EarlyWarningTimeType = EarlyWarningTimeType;
                    model.EarlyWarningOrder    = EarlyWarningOrder;
                    model.Remark   = Remark;
                    model.FlowType = "New";
                    model.App      = App;
                    model.Pc       = Pc;
                    model.IsStart  = IsStart;
                    List <TbFlowNodeEarlyWarningPersonnel> plist = new List <TbFlowNodeEarlyWarningPersonnel>();
                    if (array.Count > 0 && Convert.ToString(array[0]) != "[]")
                    {
                        for (int j = 0; j < array.Count; j++)
                        {
                            JObject objuser = (JObject)array[j];
                            TbFlowNodeEarlyWarningPersonnel modeluser = new TbFlowNodeEarlyWarningPersonnel();
                            modeluser.FlowCode     = Convert.ToString(FlowCode);
                            modeluser.FlowNodeCode = Convert.ToString(FlowNodeCode);
                            modeluser.ActionType   = 6;
                            string PersonnelCode = "";
                            if (objuser["UserTypeId"] != null)
                            {
                                PersonnelCode = Convert.ToString(objuser["UserTypeId"]);
                            }
                            else
                            {
                                PersonnelCode = Convert.ToString(objuser["PersonnelCode"]);
                            }
                            modeluser.PersonnelCode = PersonnelCode;
                            string source = string.Empty;
                            switch (Convert.ToString(array[j]["TypeName"]))
                            {
                            case "部门":
                                source = "Department";
                                break;

                            case "角色":
                                source = "Role";
                                break;

                            case "人员":
                                source = "Personnel";
                                break;
                            }
                            modeluser.PersonnelSource  = source;
                            modeluser.EarlyWarningCode = EarlyWarningCode;
                            modeluser.DeptId           = Convert.ToString(objuser["DeptId"]);
                            modeluser.RoleId           = Convert.ToString(objuser["RoleId"]);
                            modeluser.ProjectId        = Convert.ToString(objuser["ProjectId"]);
                            modeluser.OrgId            = Convert.ToString(objuser["OrgId"]);
                            modeluser.OrgType          = Convert.ToString(objuser["OrgType"]);
                            plist.Add(modeluser);
                        }
                    }
                    //添加预警条件
                    Repository <TbFlowEarlyWarningCondition> .Insert(trans, model);

                    //添加预警人员
                    Repository <TbFlowNodeEarlyWarningPersonnel> .Insert(trans, plist);

                    trans.Commit();//提交事务
                }
                return(AjaxResult.Success("预警条件添加成功"));
            }
            catch (Exception)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }
                return(AjaxResult.Error("预警条件添加失败"));
            }
        }
Example #2
0
        /// <summary>
        /// 新增、修改预警条件
        /// </summary>
        /// <param name="EarylWarningInfo"></param>
        /// <param name="FlowCode"></param>
        /// <param name="FlowNodeCode"></param>
        /// <returns></returns>
        public AjaxResult AddEarylWarning(string EarylWarningInfo, string FlowCode, string FlowNodeCode)
        {
            DbTrans trans = null;

            try
            {
                using (trans = Db.Context.BeginTransaction())
                {
                    //添加预警信息
                    JObject json  = (JObject)JsonConvert.DeserializeObject(EarylWarningInfo);
                    JArray  array = (JArray)json["jclist"];
                    if (!array.ToString().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "").Equals("[[]]"))
                    {
                        List <TbFlowEarlyWarningCondition>     list     = new List <TbFlowEarlyWarningCondition>();
                        List <TbFlowNodeEarlyWarningPersonnel> listuser = new List <TbFlowNodeEarlyWarningPersonnel>();
                        for (int i = 0; i < array.Count; i++)
                        {
                            JObject obj = (JObject)array[i];
                            TbFlowEarlyWarningCondition model = new TbFlowEarlyWarningCondition();
                            model.EarlyWarningCode     = Convert.ToString(obj["EarlyWarningCode"]);
                            model.FlowCode             = Convert.ToString(obj["FlowCode"]);
                            model.FlowNodeCode         = Convert.ToString(obj["FlowNodeCode"]);
                            model.EarlyWarningName     = Convert.ToString(obj["EarlyWarningName"]);
                            model.EarlyWarningTime     = Convert.ToInt32(obj["EarlyWarningTime"]);
                            model.EarlyWarningTimeType = Convert.ToString(obj["EarlyWarningTimeType"]);
                            model.EarlyWarningOrder    = Convert.ToInt32(obj["EarlyWarningOrder"]);
                            model.Remark = Convert.ToString(obj["Remark"]);
                            list.Add(model);
                            if (obj["EarlyWarningUser"].ToString() == "[[]]")
                            {
                                return(AjaxResult.Error("保存预警条件失败,请先添加预警人员"));
                            }
                            //添加预警人员
                            var    userjson  = JsonConvert.DeserializeObject(obj["EarlyWarningUser"].ToString());
                            JArray arrayuser = (JArray)userjson;
                            for (int j = 0; j < arrayuser.Count; j++)
                            {
                                JObject objuser = (JObject)arrayuser[j];
                                TbFlowNodeEarlyWarningPersonnel modeluser = new TbFlowNodeEarlyWarningPersonnel();
                                modeluser.FlowCode     = Convert.ToString(obj["FlowCode"]);
                                modeluser.FlowNodeCode = Convert.ToString(obj["FlowNodeCode"]);
                                modeluser.ActionType   = 6;
                                string PersonnelCode = "";
                                if (objuser["UserTypeId"] != null)
                                {
                                    PersonnelCode = Convert.ToString(objuser["UserTypeId"]);
                                }
                                else
                                {
                                    PersonnelCode = Convert.ToString(objuser["PersonnelCode"]);
                                }
                                modeluser.PersonnelCode = PersonnelCode;
                                string PersonnelSource = "";
                                if (objuser["TypeName"] != null)
                                {
                                    switch (objuser["TypeName"].ToString())//用户输入的值,和下面的case匹配
                                    {
                                    case "部门":
                                        PersonnelSource = "Department";
                                        break;

                                    case "角色":
                                        PersonnelSource = "Role";
                                        break;

                                    case "操作员":
                                        PersonnelSource = "Personnel";
                                        break;

                                    default:     //如果匹配全不成功则执行下面的代码
                                        break;
                                    }
                                }
                                else
                                {
                                    PersonnelSource = objuser["PersonnelSource"].ToString();
                                }
                                modeluser.PersonnelSource  = PersonnelSource;
                                modeluser.EarlyWarningCode = Convert.ToString(obj["EarlyWarningCode"]);
                                modeluser.DeptId           = Convert.ToString(objuser["DeptId"]);
                                modeluser.RoleId           = Convert.ToString(objuser["RoleId"]);
                                modeluser.ProjectId        = Convert.ToString(objuser["ProjectId"]);
                                modeluser.OrgId            = Convert.ToString(objuser["OrgId"]);
                                listuser.Add(modeluser);
                            }
                        }
                        //先删除改预警信息下的预警人员
                        Repository <TbFlowNodeEarlyWarningPersonnel> .Delete(trans, p => p.FlowCode == FlowCode && p.FlowNodeCode == FlowNodeCode && p.ActionType == 6);

                        //添加预警人员
                        Repository <TbFlowNodeEarlyWarningPersonnel> .Insert(trans, listuser);

                        //先删除预警条件
                        Repository <TbFlowEarlyWarningCondition> .Delete(trans, p => p.FlowCode == FlowCode && p.FlowNodeCode == FlowNodeCode);

                        //添加预警条件
                        Repository <TbFlowEarlyWarningCondition> .Insert(trans, list);
                    }
                    else
                    {
                        //先删除改预警信息下的预警人员
                        Repository <TbFlowNodeEarlyWarningPersonnel> .Delete(trans, p => p.FlowCode == FlowCode && p.FlowNodeCode == FlowNodeCode && p.ActionType == 6);

                        //先删除预警条件
                        Repository <TbFlowEarlyWarningCondition> .Delete(trans, p => p.FlowCode == FlowCode && p.FlowNodeCode == FlowNodeCode);
                    }
                    trans.Commit();//提交事务
                }
                return(AjaxResult.Success("预警条件添加成功"));
            }
            catch (Exception)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }
                return(AjaxResult.Error("预警条件添加失败"));
            }
        }