/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, TransferrecordEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// 转交短消息 /// </summary> /// <param name="keyValue"></param> public void TransformSendMessage(TransferrecordEntity entity) { //1、判断当前是措施确认还是审批阶段 Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); HighRiskCommonApplyEntity commonEntity = service.GetEntity(entity.RecId); string moduleName = GetModuleName(commonEntity); PushMessageData pushdata = new PushMessageData(); if (commonEntity.FlowName == "确认中") { //措施确认转交 pushdata.SendCode = "ZY001"; } else { //审核转交 pushdata.SendCode = "ZY002"; } //极光推送 pushdata.EntityId = commonEntity.Id; pushdata.UserAccount = entity.InTransferUserAccount; PushMessageForCommon(pushdata); }
/// <summary> /// 获取单条事故事件处理信息完整流程图 /// </summary> /// <param name="keyValue"></param> /// <returns></returns> public List <CheckFlowData> GetAppFullFlowList(string keyValue) { List <CheckFlowData> nodelist = new List <CheckFlowData>(); Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); PowerplanthandledetailEntity entity = powerplanthandledetailservice.GetEntity(keyValue); string deptname = DepartmentService.GetEntityByCode(entity.CreateUserDeptCode).FullName; string deptid = DepartmentService.GetEntityByCode(entity.CreateUserDeptCode).DepartmentId; DataTable dt = GetAuditInfo(entity.PowerPlantHandleId, "(事故事件处理记录)审核"); if (dt != null) { for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; //审核记录 if (dr["auditdept"] != null && !string.IsNullOrEmpty(dr["auditdept"].ToString())) { CheckFlowData checkdata = new CheckFlowData(); DateTime auditdate; DateTime.TryParse(dr["audittime"].ToString(), out auditdate); checkdata.auditdate = auditdate.ToString("yyyy-MM-dd HH:mm"); checkdata.auditdeptname = dr["auditdept"].ToString(); checkdata.auditusername = dr["auditpeople"].ToString(); checkdata.auditstate = dr["auditresult"].ToString() == "0" ? "同意" : "不同意"; checkdata.isapprove = "1"; checkdata.isoperate = "0"; nodelist.Add(checkdata); } else { CheckFlowData checkdata = new CheckFlowData(); checkdata.auditdate = ""; //部门,人员 var checkDeptId = dr["checkdeptid"].ToString(); var checkremark = dr["remark"].ToString(); string type = checkremark != "1" ? "0" : "1"; if (checkDeptId == "-3" || checkDeptId == "-1") { checkDeptId = deptid; checkdata.auditdeptname = deptname; } else { checkdata.auditdeptname = dr["checkdeptname"].ToString(); } string userNames = GetUserName(checkDeptId, dr["checkrolename"].ToString()).Split('|')[0]; checkdata.auditusername = !string.IsNullOrEmpty(userNames) ? userNames : "无"; checkdata.auditremark = ""; checkdata.isapprove = "0"; checkdata.isoperate = entity.FlowId == dr["id"].ToString() ? "1" : "0"; checkdata.auditstate = "审核(批)中"; nodelist.Add(checkdata); } } } #region 签收节点 Boolean HaveSignNode = entity.IsAssignPerson == "1" ? true : false; if (entity.IsAssignPerson == "1") { //审核记录 if (!string.IsNullOrEmpty(entity.RealSignPersonName)) { CheckFlowData checkdata = new CheckFlowData(); DateTime auditdate; DateTime.TryParse(entity.RealSignDate.ToString(), out auditdate); checkdata.auditdate = auditdate.ToString("yyyy-MM-dd HH:mm"); checkdata.auditdeptname = entity.RealSignPersonDept; checkdata.auditusername = entity.RealSignPersonName; checkdata.auditstate = "已签收"; checkdata.isapprove = "1"; checkdata.isoperate = "0"; nodelist.Add(checkdata); } else { CheckFlowData checkdata = new CheckFlowData(); checkdata.auditdate = ""; checkdata.auditdeptname = entity.SignDeptName; checkdata.auditusername = entity.SignPersonName; checkdata.auditremark = ""; checkdata.isapprove = "0"; checkdata.isoperate = "1"; checkdata.auditstate = "签收中"; nodelist.Add(checkdata); } } #endregion #region 整改节点 if (!string.IsNullOrEmpty(entity.RectificationDutyPerson)) { PowerplantreformEntity reformentity = PowerplantreformService.GetList("").Where(t => t.PowerPlantHandleDetailId == keyValue && t.Disable == 0).FirstOrDefault(); if (reformentity != null) { CheckFlowData checkdata = new CheckFlowData(); DateTime auditdate; DateTime.TryParse(reformentity.CreateDate.ToString(), out auditdate); checkdata.auditdate = auditdate.ToString("yyyy-MM-dd HH:mm"); checkdata.auditdeptname = DepartmentService.GetEntityByCode(reformentity.CreateUserDeptCode).FullName; checkdata.auditusername = reformentity.RectificationPerson; checkdata.auditstate = "已整改"; checkdata.isapprove = "1"; checkdata.isoperate = "0"; nodelist.Add(checkdata); } else { CheckFlowData checkdata = new CheckFlowData(); checkdata.auditdate = ""; string approveuserid = entity.RectificationDutyPersonId; string[] accounts = UserService.GetUserTable(approveuserid.Split(',')).AsEnumerable().Select(e => e.Field <string>("ACCOUNT")).ToArray(); string accountstr = accounts.Length > 0 ? string.Join(",", accounts) + "," : ""; TransferrecordEntity transfer = TransferrecordService.GetList(t => t.RecId == entity.Id && t.Disable == 0).FirstOrDefault(); string outtransferuseraccount = transfer == null ? "" : transfer.OutTransferUserAccount; //转交申请人 string intransferuseraccount = transfer == null ? "" : transfer.InTransferUserAccount; //转交接收人 string[] outtransferuseraccountlist = outtransferuseraccount.Split(','); string[] intransferuseraccountlist = intransferuseraccount.Split(','); foreach (var item in intransferuseraccountlist) { if (!item.IsEmpty() && !accountstr.Contains(item + ",")) { accountstr += (item + ",");//将转交接收人加入审核账号中 } } foreach (var item in outtransferuseraccountlist) { if (!item.IsEmpty() && accountstr.Contains(item + ",")) { accountstr = accountstr.Replace(item + ",", "");//将转交申请人从审核账号中移除 } } DataTable dtuser = UserService.GetUserTable(accountstr.Split(',')); string[] usernames = dtuser.AsEnumerable().Select(d => d.Field <string>("realname")).ToArray(); string[] deptnames = dtuser.AsEnumerable().Select(d => d.Field <string>("deptname")).ToArray().GroupBy(t => t).Select(p => p.Key).ToArray(); checkdata.auditusername = usernames.Length > 0 ? string.Join(",", usernames) : "无"; checkdata.auditdeptname = deptnames.Length > 0 ? string.Join(",", deptnames) : "无"; checkdata.auditremark = ""; checkdata.isapprove = "0"; checkdata.isoperate = "1"; checkdata.auditstate = "整改中"; nodelist.Add(checkdata); } #region 事故事件验收节点 if (reformentity != null) { DataTable dtCheckNodes = GetCheckInfo(keyValue, "事故事件处理记录-验收"); if (dtCheckNodes != null && dtCheckNodes.Rows.Count > 0) { for (int j = 0; j < dtCheckNodes.Rows.Count; j++) { DataRow drtemp = dtCheckNodes.Rows[j]; //审核记录 if (drtemp["auditdept"] != null && !string.IsNullOrEmpty(drtemp["auditdept"].ToString())) { CheckFlowData checkdata = new CheckFlowData(); DateTime auditdate; DateTime.TryParse(drtemp["audittime"].ToString(), out auditdate); checkdata.auditdate = auditdate.ToString("yyyy-MM-dd HH:mm"); checkdata.auditdeptname = drtemp["auditdept"].ToString(); checkdata.auditusername = drtemp["auditpeople"].ToString(); checkdata.auditstate = drtemp["auditresult"].ToString() == "0" ? "通过" : "不通过"; checkdata.auditremark = ""; checkdata.isapprove = "1"; checkdata.isoperate = "0"; nodelist.Add(checkdata); } else { CheckFlowData checkdata = new CheckFlowData(); checkdata.auditdate = ""; //部门,人员 var checkDeptId = drtemp["checkdeptid"].ToString(); var checkremark = drtemp["remark"].ToString(); string type = checkremark != "1" ? "0" : "1"; if (checkDeptId == "-3" || checkDeptId == "-1") { checkDeptId = entity.RealReformDeptId; checkdata.auditdeptname = entity.RealReformDept; } else { checkdata.auditdeptname = drtemp["checkdeptname"].ToString(); } string userNames = GetUserName(checkDeptId, drtemp["checkrolename"].ToString()).Split('|')[0]; checkdata.auditusername = !string.IsNullOrEmpty(userNames) ? userNames : "无"; checkdata.auditremark = ""; checkdata.isapprove = "0"; checkdata.isoperate = entity.FlowId == drtemp["flowid"].ToString() ? "1" : "0"; checkdata.auditstate = "验收中"; nodelist.Add(checkdata); } } } } #endregion } #endregion return(nodelist); }
/// <summary> /// 保存表单(先将相关业务ID跟流程节点ID的数据设置失效,接着在插入一条整体转交的数据) /// </summary> /// <param name="keyValue"></param> /// <param name="entity"></param> public void SaveRealForm(string keyValue, TransferrecordEntity entity) { try { TransferrecordEntity realentity = service.GetList(t => t.RecId == entity.RecId && t.FlowId == entity.FlowId && t.Disable == 0).FirstOrDefault(); if (realentity != null) { realentity.InTransferUserAccount += (entity.InTransferUserAccount + ","); realentity.InTransferUserId += (entity.InTransferUserId + ","); realentity.InTransferUserName += (entity.InTransferUserName + ","); //当实际转交接收人中存在当前申请人时,转交接收人剔除当前申请转交的账号 realentity.InTransferUserAccount = realentity.InTransferUserAccount.Contains(entity.OutTransferUserAccount) ? realentity.InTransferUserAccount.Replace(entity.OutTransferUserAccount + ",", "") : realentity.InTransferUserAccount; realentity.InTransferUserId = realentity.InTransferUserId.Contains(entity.OutTransferUserId) ? realentity.InTransferUserId.Replace(entity.OutTransferUserId + ",", "") : realentity.InTransferUserId; realentity.InTransferUserName = realentity.InTransferUserName.Contains(entity.OutTransferUserName) ? realentity.InTransferUserName.Replace(entity.OutTransferUserName + ",", "") : realentity.InTransferUserName; realentity.OutTransferUserAccount += (entity.OutTransferUserAccount + ","); realentity.OutTransferUserId += (entity.OutTransferUserId + ","); realentity.OutTransferUserName += (entity.OutTransferUserName + ","); //当当前转交接收人存在于实际转交申请人时(及当前当前转交接收人以前做过转交申请),将实际转交申请人中的这个账号剔除 string[] InTransferUserAccountList = entity.InTransferUserAccount.Split(','); foreach (var item in InTransferUserAccountList) { if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserAccount.Contains(item + ",")) { realentity.OutTransferUserAccount = realentity.OutTransferUserAccount.Replace(item + ",", ""); } } string[] InTransferUserIdList = entity.InTransferUserId.Split(','); foreach (var item in InTransferUserIdList) { if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserId.Contains(item + ",")) { realentity.OutTransferUserId = realentity.OutTransferUserId.Replace(item + ",", ""); } } string[] InTransferUserNameList = entity.InTransferUserName.Split(','); foreach (var item in InTransferUserNameList) { if (!string.IsNullOrWhiteSpace(item) && realentity.OutTransferUserName.Contains(item + ",")) { realentity.OutTransferUserName = realentity.OutTransferUserName.Replace(item + ",", ""); } } //当转交申请人存在于转交接收人时,将转交申请人中的这个账号剔除 string[] OutTransferUserAccountList = realentity.OutTransferUserAccount.Split(','); foreach (var item in OutTransferUserAccountList) { if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserAccount.Contains(item + ",")) { realentity.InTransferUserAccount = realentity.InTransferUserAccount.Replace(item + ",", ""); } } string[] OutTransferUserIdList = realentity.OutTransferUserId.Split(','); foreach (var item in OutTransferUserIdList) { if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserId.Contains(item + ",")) { realentity.InTransferUserId = realentity.InTransferUserId.Replace(item + ",", ""); } } string[] OutTransferUserNameList = realentity.OutTransferUserName.Split(','); foreach (var item in OutTransferUserNameList) { if (!string.IsNullOrWhiteSpace(item) && realentity.InTransferUserName.Contains(item + ",")) { realentity.InTransferUserName = realentity.InTransferUserName.Replace(item + ",", ""); } } service.SaveForm(realentity.Id, realentity); entity.Disable = 1; service.SaveForm(keyValue, entity); } else { entity.Disable = 1; entity.OutTransferUserAccount += ","; entity.OutTransferUserId += ","; entity.OutTransferUserName += ","; entity.InTransferUserAccount += ","; entity.InTransferUserId += ","; entity.InTransferUserName += ","; service.SaveForm(keyValue, entity); entity.Disable = 0; entity.Id = ""; service.SaveForm(keyValue, entity); } } catch (Exception ex) { throw ex; } }