/// <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("预警条件添加失败")); } }
/// <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("预警条件添加失败")); } }