修改拷贝

This commit is contained in:
wyw 2024-02-02 11:14:29 +08:00
parent 1530c56654
commit 4888f66b02
5 changed files with 636 additions and 27 deletions

View File

@ -95,6 +95,12 @@ namespace APT.BS.WebApi.Controllers.Api
{
CHECK_TYPE_ID = new Guid(item.Value.ToString());
}
else if (item.Field == "RISK_SUBMIT_ID")
{
var sub = GetEntity<T_BS_RISK_SUBMIT>(new Guid(item.Value.ToString()));
if (sub != null && sub.CHECK_TYPE_ID.HasValue)
CHECK_TYPE_ID = sub.CHECK_TYPE_ID.Value;
}
}
if (CHECK_TYPE_ID != Guid.Empty)

View File

@ -1515,34 +1515,569 @@ namespace APT.BS.WebApi.Controllers.Api
});
}
#region
/// <summary>
/// 验收人 确定/驳回 确定(给责任人 发送通知 驳回 (隐患通知责任人)发送通知 BS042
/// 整改责任人、验收人 确定(给责任人 发送通知 驳回 (隐患通知责任人)发送通知 BS042
/// 原: 整改责任人、验收人 确定 后面确定 的人 添加 待办给 整改责任人(设置整改落实人)
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
[HttpPost, Route("UserCheckAndSend")]
public JsonActionResult<bool> UserCheckAndSend([FromBody] KeywordFilter filter)
{
return SafeExecute<bool>(() =>
{
Guid id = new Guid(filter.Keyword);
var LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
var TaskID = new Guid(filter.Parameter1);
//var entity = GetEntity<T_BS_RISK_SUBMIT_NOTICE_PERSON>(id, new string[] { "Nav_ListRiskSubmitContent.Nav_UserDeal", "Nav_ListRiskSubmitContent.Nav_User" });
//var listRiskSubminContentl = entity.Nav_ListRiskSubmitContent;
//if (listRiskSubminContentl != null && listRiskSubminContentl.Count() > 1)
//{
// listRiskSubminContentl = listRiskSubminContentl.FindAll(e => e.DEAL_USER_ID == LoginID);
// if (listRiskSubminContentl == null || !listRiskSubminContentl.Any())
// {
// throw new Exception("只有整改责任人才能验收!");
// }
//}
//else if (listRiskSubminContentl[0].DEAL_USER_ID != LoginID)
//{
// throw new Exception("只有整改责任人才能验收!");
//}
var entity = GetEntity<T_BS_RISK_SUBMIT_NOTICE_PERSON>(id, new string[] { "Nav_ListRiskSubmitContent.Nav_UserCheck" });//Nav_UserDeal
if (entity.Nav_ListRiskSubmitContent[0].DEAL_USER_ID != LoginID)//.CHECK_USER_ID
{
throw new Exception("只有整改责任人才能确认!");//只有整改责任人才能验收 验收人
}
if (filter.Parameter4 == "1")
{
entity.OPERATETYPE = OperateType.Save;
//审核人 同意
List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
var listRiskSubminContentl = entity.Nav_ListRiskSubmitContent;
//entity.Nav_ListRiskSubmitContent = null;//不能有 不然 对应外键 会被清空
List<Guid> ListNoticeAll = new List<Guid>();
List<string> ListNoticeAllNAME = new List<string>();
DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_Deal, entity.ORG_ID.Value, DateTime.Now, null, null);
listRiskSubminContentl.ForEach(item =>
{
//item.ACTUAL_DEAL_USER_ID = item.DEAL_USER_ID;//整改落实人默认 整改责任人
item.RiskContentState = (int)RiskContentState.CheckerCheck;//CheckerCheck CheckerCheck
if (string.IsNullOrEmpty(filter.Parameter3))
{
item.CHECK_USER_REFUSED_REASON = filter.Parameter3;
}
else
{
item.CHECK_USER_REFUSED_REASON = null;
}
if (item.DEAL_USER_ID == LoginID)//CHECK_USER_ID
{
item.ISDEALUSERCHECK = true;//.ISCHECKERCHECK
}
else
{
throw new Exception("只有整改责任人才能确认!");
//throw new Exception("只有验收人才能验收!");
}
if (!ListNoticeAll.Contains(item.CHECK_USER_ID.Value))//DEAL_USER_ID
{
//整改责任人
ListNoticeAll.Add(item.CHECK_USER_ID.Value);//DEAL_USER_ID
//数量少 每次获取 页面能选 这边就不会报错
ListNoticeAllNAME.Add(item.Nav_UserCheck.NAME);//Nav_UserDeal
//给责任人 发送通知
listNoticeDeal = NotificationTaskService.InsertUserNoticeTaskModels("验收人确认:" + entity.NAME.Replace("隐患整改通知:", ""), entity.ID, entity.ORG_ID, ListNoticeAll, ListNoticeAllNAME, DateTime.Now, ((item.LastDateUser.HasValue && item.LastDateUser.Value < dtEnd) ? item.LastDateUser.Value : dtEnd), (int)FMNoticeTypeEnum., "BS042_SHOWPRINT");//HM001_SHOWPRINT "整改责任人确认:" + entity.NAME.Replace("隐患整改通知:", "")
}
});
T_FM_NOTIFICATION_TASK task = null;
GetEntityTask(TaskID, ref task);
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);//保存状态
if (listRiskSubminContentl != null && listRiskSubminContentl.Any())//隐患上报明细表
BantchSaveEntity(listRiskSubminContentl); //保存子表
if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
BantchSaveEntity(listNoticeDeal);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
#region ///
////同意
//List<T_BS_RISK_SUBMIT_CONTENT_DEAL> listContentDeal = new List<T_BS_RISK_SUBMIT_CONTENT_DEAL>();
//List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
//T_BS_RISK_SUBMIT_CONTENT_DEAL dealTemp = null;
//DateTime dtNow = DateTime.Now;
////entity.Nav_ListRiskSubmitContent = null;//不能有 不然 对应外键 会被清空
//listRiskSubminContentl.ForEach(item =>
//{
// item.ACTUAL_DEAL_USER_ID = item.DEAL_USER_ID;//整改落实人默认 整改责任人
// if (item.DEAL_USER_ID == LoginID)
// {
// item.ISDEALUSERCHECK = true;
// }
// else if (item.CHECK_USER_ID == LoginID)
// {
// item.ISCHECKERCHECK = true;
// }
// if (item.ISDEALUSERCHECK && item.ISCHECKERCHECK)
// {
// item.RiskContentState = (int)RiskContentState.ArrangeDeal;
// }
//});
////整改责任人 和验收人 都确定后
//if (listRiskSubminContentl[0].RiskContentState == (int)RiskContentState.ArrangeDeal)
//{
// DateTime dtTsakEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_ActualDeal, entity.ORG_ID.Value, DateTime.Now, null, null);
// foreach (var item in listRiskSubminContentl)
// {
// //数据处理
// CodeTemp++;
// #region 隐患整改通知
// dealTemp = new T_BS_RISK_SUBMIT_CONTENT_DEAL();
// dealTemp.ID = Guid.NewGuid();
// dealTemp.ORG_ID = item.ORG_ID;
// dealTemp.RISK_SUBMIT_ID = item.RISK_SUBMIT_ID;
// dealTemp.RISK_SUBMIT_NOTICE_ID = item.RISK_SUBMIT_NOTICE_ID;
// dealTemp.RISK_SUBMIT_NOTICE_PERSON_ID = item.RISK_SUBMIT_NOTICE_PERSON_ID;
// dealTemp.RISK_SUBMIT_CONTENT_ID = item.ID;
// dealTemp.CODE = item.CODE + "_" + CodeTemp;
// dealTemp.NAME = item.NAME.Replace("隐患整改通知:", "");
// //dealTemp.ENDDATE = item.LastDateUser;//整改结束时间
// dealTemp.QUESTION_LEVEL = item.QUESTION_LEVEL;
// dealTemp.DEALSITUATION = (int)DealSituation.Temp;
// dealTemp.DEAL_USER_ID = item.DEAL_USER_ID;
// dealTemp.ACTUAL_DEAL_USER_ID = item.ACTUAL_DEAL_USER_ID;
// dealTemp.CHECK_USER_ID = item.CHECK_USER_ID;
// listContentDeal.Add(dealTemp);
// #endregion
// ////每个整改责任人 收到待办
// //var notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改单:" + dealTemp.NAME, dealTemp.ID, entity.ORG_ID, item.DEAL_USER_ID.Value, item.Nav_User.NAME, dtNow, item.LastDateUser.Value, (int)FMNoticeTypeEnum.消息, "BS044");
// //每个整改责任人 收到待办
// var notice = NotificationTaskService.InsertUserNoticeTaskModel("指定整改落实人:" + dealTemp.NAME, item.ID, entity.ORG_ID, item.DEAL_USER_ID.Value, item.Nav_UserDeal.NAME, dtNow, (dtTsakEnd > item.LastDateUser.Value ? item.LastDateUser.Value : dtTsakEnd), (int)FMNoticeTypeEnum.消息, "BS049");
// notice.CREATE_TIME = dtNow;
// listNoticeDeal.Add(notice);
// }
//}
//T_FM_NOTIFICATION_TASK task = null;
//GetEntityTask(TaskID, ref task);
//this.UnifiedCommit(() =>
//{
// UpdateEntityNoCommit(entity);//保存状态
// if (listContentDeal.Count > 0)
// BantchSaveEntity(listContentDeal);//保存待整改明细
// if (listRiskSubminContentl != null && listRiskSubminContentl.Any())//隐患上报明细表
// BantchSaveEntity(listRiskSubminContentl); //保存子表
// if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
// BantchSaveEntity(listNoticeDeal);
// if (task != null)//代办消息 清除
// UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
//});
#endregion
}
else
{
//驳回
//给通知责任人 发送 待办 指定 整改责任人、验收人 BS042
if (string.IsNullOrEmpty(filter.Parameter3))
{
throw new Exception("请填写驳回意见!");
}
//var sysFilter = new SystemCodeFilter();
//sysFilter.CodeType = (int)PFCodeRuleType.消息通知;
//sysFilter.Count = 1;
//sysFilter.OrgId = entity.ORG_ID;
//var codes = CodeRuleService.NewGenSerial(sysFilter);
//var codeList = codes.Split(new char[] { ',' });
var content = GetEntity<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_NOTICE_PERSON_ID == entity.ID, "Nav_User");
content.DEAL_USER_REFUSED_REASON = filter.Parameter3;//回到验收人已确定上一个状态 (不需要 就是这个状态)//CHECK_USER_REFUSED_REASON
//var taskAdd = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, entity.ID, entity.ORG_ID, content.USER_ID.Value, entity.Nav_User.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "BS042"); //驳回 传入 隐患上报明细ID 否则不明确
DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.Default, entity.ORG_ID.Value, DateTime.Now, null, null);
//如果是手动隐患上报 应该是 BS061
var risk = GetEntity<T_BS_RISK_SUBMIT>(entity.RISK_SUBMIT_ID.Value, "Nav_User");
T_FM_NOTIFICATION_TASK taskAdd = null;
if (risk.SUBMIT_TYPE == (int)APT.MS.Domain.Enums.SUBMIT_TYPE.User)
{
taskAdd = NotificationTaskService.InsertUserNoticeTaskModel("指定责任单位", entity.RISK_SUBMIT_ID.Value, entity.ORG_ID, risk.USER_ID.Value, risk.Nav_User.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum., "BS061");
}
else
{
taskAdd = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, content.ID, entity.ORG_ID, content.USER_ID.Value, content.Nav_User.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum., "BS042");
}
T_FM_NOTIFICATION_TASK task = null;
GetEntityTask(TaskID, ref task);
this.UnifiedCommit(() =>
{
if (content != null)//填写验收人拒绝原因
UpdateEntityNoCommit(content);
if (taskAdd != null)//整改责任人 按条数 收到整改单
UpdateEntityNoCommit(taskAdd);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
#region ///
////驳回
//if (string.IsNullOrEmpty(filter.Parameter3))
//{
// throw new Exception("请填写驳回意见!");
//}
////整改责任人驳回
////验收人 已经审批过 整改责任人是自己 自己没审批过
//var listContent = entity.Nav_ListRiskSubmitContent.FindAll(e => e.DEAL_USER_ID == LoginID && !e.ISDEALUSERCHECK && e.ISCHECKERCHECK);
//List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
//T_FM_NOTIFICATION_TASK taskTemp = null;
//int countTh = 0;
//DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.Default, filter.OrgId.Value, DateTime.Now, null, null);
//foreach (var item in listContent)
//{
// item.ISCHECKERCHECK = false;
// item.DEAL_USER_REFUSED_REASON = filter.Parameter3;
// item.CHECK_USER_REFUSED_REASON = null;
// item.RiskContentState = (int)RiskContentState.Notice;
// taskTemp = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, item.ID, entity.ORG_ID, item.USER_ID.Value, entity.Nav_User.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "BS042");
// listNoticeDeal.Add(taskTemp);
// countTh++;
//}
//T_FM_NOTIFICATION_TASK task = null;
//GetEntityTask(TaskID, ref task);
//this.UnifiedCommit(() =>
//{
// if (listContent != null)//填写整改责任人拒绝原因
// BantchUpdateEntityNoCommit(listContent);
// if (listNoticeDeal.Count > 0)//发送通知 给通知责任人
// BantchSaveEntityNoCommit(listNoticeDeal);
// if (task != null)//代办消息 清除
// UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
//});
#endregion
}
return true;
});
}
/// <summary>
/// 验收人 确定/驳回 确定 整改责任人(设置整改落实人)
/// 原: 验收人 确定/驳回 确定(给责任人 发送通知 驳回 (隐患通知责任人)发送通知 BS042
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
[HttpPost, Route("CheckerCheck")]
public JsonActionResult<bool> CheckerCheck([FromBody] KeywordFilter filter)
{
//#region
return SafeExecute<bool>(() =>
{
//确定 / 驳回 确定(给责任人 BS042_SHOWPRINT 发送通知 驳回 (隐患通知责任人)发送通知 BS042
Guid id = new Guid(filter.Keyword);
DateTime dtNow = DateTime.Now;
var LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
var TaskID = new Guid(filter.Parameter1);
//int count = 0;
//try
//{
// count = int.Parse(filter.Parameter2);
//}
//catch
//{
// count = 200;
//}
var entity = GetEntity<T_BS_RISK_SUBMIT_NOTICE_PERSON>(id, new string[] { "Nav_ListRiskSubmitContent.Nav_UserDeal", "Nav_ListRiskSubmitContent.Nav_User" });
var listRiskSubminContentl = entity.Nav_ListRiskSubmitContent;
if (listRiskSubminContentl != null && listRiskSubminContentl.Count() > 1)
{
listRiskSubminContentl = listRiskSubminContentl.FindAll(e => e.CHECK_USER_ID == LoginID);//DEAL_USER_ID
if (listRiskSubminContentl == null || !listRiskSubminContentl.Any())
{
throw new Exception("只有验收人才能验收!");
}
}
else if (listRiskSubminContentl[0].CHECK_USER_ID != LoginID)//DEAL_USER_ID
{
throw new Exception("只有验收人才能验收!");
}
if (filter.Parameter2 == "10")
{
int CodeTemp = 0;
//同意
List<T_BS_RISK_SUBMIT_CONTENT_DEAL> listContentDeal = new List<T_BS_RISK_SUBMIT_CONTENT_DEAL>();
List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
T_BS_RISK_SUBMIT_CONTENT_DEAL dealTemp = null;
//var sysFilter = new SystemCodeFilter();
//sysFilter.CodeType = (int)PFCodeRuleType.消息通知;
//sysFilter.Count = count;
//sysFilter.OrgId = filter.OrgId;
//var codes = CodeRuleService.NewGenSerial(sysFilter);
//var codeList = codes.Split(new char[] { ',' });
//entity.Nav_ListRiskSubmitContent = null;//不能有 不然 对应外键 会被清空
//#endregion
listRiskSubminContentl.ForEach(item =>
{
item.ACTUAL_DEAL_USER_ID = item.DEAL_USER_ID;//整改落实人默认 整改责任人
if (item.CHECK_USER_ID == LoginID)
{
item.ISCHECKERCHECK = true;
}
else if (item.DEAL_USER_ID == LoginID)
{
item.ISDEALUSERCHECK = true;
}
if (item.ISDEALUSERCHECK && item.ISCHECKERCHECK)
{
item.RiskContentState = (int)RiskContentState.ArrangeDeal;
}
});
//整改责任人 和验收人 都确定后
if (listRiskSubminContentl[0].RiskContentState == (int)RiskContentState.ArrangeDeal)
{
DateTime dtTsakEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_ActualDeal, entity.ORG_ID.Value, DateTime.Now, null, null);
foreach (var item in listRiskSubminContentl)
{
//数据处理
CodeTemp++;
#region
dealTemp = new T_BS_RISK_SUBMIT_CONTENT_DEAL();
dealTemp.ID = Guid.NewGuid();
dealTemp.ORG_ID = item.ORG_ID;
dealTemp.RISK_SUBMIT_ID = item.RISK_SUBMIT_ID;
dealTemp.RISK_SUBMIT_NOTICE_ID = item.RISK_SUBMIT_NOTICE_ID;
dealTemp.RISK_SUBMIT_NOTICE_PERSON_ID = item.RISK_SUBMIT_NOTICE_PERSON_ID;
dealTemp.RISK_SUBMIT_CONTENT_ID = item.ID;
dealTemp.CODE = item.CODE + "_" + CodeTemp;
dealTemp.NAME = item.NAME.Replace("隐患整改通知:", "");
//dealTemp.ENDDATE = item.LastDateUser;//整改结束时间
dealTemp.QUESTION_LEVEL = item.QUESTION_LEVEL;
dealTemp.DEALSITUATION = (int)DealSituation.Temp;
dealTemp.DEAL_USER_ID = item.DEAL_USER_ID;
dealTemp.ACTUAL_DEAL_USER_ID = item.ACTUAL_DEAL_USER_ID;
dealTemp.CHECK_USER_ID = item.CHECK_USER_ID;
listContentDeal.Add(dealTemp);
#endregion
////每个整改责任人 收到待办
//var notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患整改单:" + dealTemp.NAME, dealTemp.ID, entity.ORG_ID, item.DEAL_USER_ID.Value, item.Nav_User.NAME, dtNow, item.LastDateUser.Value, (int)FMNoticeTypeEnum.消息, "BS044");
//每个整改责任人 收到待办
var notice = NotificationTaskService.InsertUserNoticeTaskModel("指定整改落实人:" + dealTemp.NAME, item.ID, entity.ORG_ID, item.DEAL_USER_ID.Value, item.Nav_UserDeal.NAME, dtNow, (dtTsakEnd > item.LastDateUser.Value ? item.LastDateUser.Value : dtTsakEnd), (int)FMNoticeTypeEnum., "BS049");
notice.CREATE_TIME = dtNow;
listNoticeDeal.Add(notice);
}
}
T_FM_NOTIFICATION_TASK task = null;
GetEntityTask(TaskID, ref task);
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);//保存状态
if (listContentDeal.Count > 0)
BantchSaveEntity(listContentDeal);//保存待整改明细
if (listRiskSubminContentl != null && listRiskSubminContentl.Any())//隐患上报明细表
BantchSaveEntity(listRiskSubminContentl); //保存子表
if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
BantchSaveEntity(listNoticeDeal);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
#region ///
//entity.OPERATETYPE = OperateType.Save;
////审核人 同意
//List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
//var listRiskSubminContentl = entity.Nav_ListRiskSubmitContent;
////entity.Nav_ListRiskSubmitContent = null;//不能有 不然 对应外键 会被清空
//List<Guid> ListNoticeAll = new List<Guid>();
//List<string> ListNoticeAllNAME = new List<string>();
//DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_Deal, entity.ORG_ID.Value, DateTime.Now, null, null);
//listRiskSubminContentl.ForEach(item =>
//{
// //item.ACTUAL_DEAL_USER_ID = item.DEAL_USER_ID;//整改落实人默认 整改责任人
// item.RiskContentState = (int)RiskContentState.CheckerCheck;
// if (string.IsNullOrEmpty(filter.Parameter3))
// {
// item.CHECK_USER_REFUSED_REASON = filter.Parameter3;
// }
// else
// {
// item.CHECK_USER_REFUSED_REASON = null;
// }
// if (item.CHECK_USER_ID == LoginID)
// {
// item.ISCHECKERCHECK = true;
// }
// else
// {
// throw new Exception("只有验收人才能验收!");
// }
// if (!ListNoticeAll.Contains(item.DEAL_USER_ID.Value))
// {
// //整改责任人
// ListNoticeAll.Add(item.DEAL_USER_ID.Value);
// //数量少 每次获取 页面能选 这边就不会报错
// ListNoticeAllNAME.Add(item.Nav_UserDeal.NAME);
// //给责任人 发送通知
// listNoticeDeal = NotificationTaskService.InsertUserNoticeTaskModels("整改责任人确认:" + entity.NAME.Replace("隐患整改通知:", ""), entity.ID, entity.ORG_ID, ListNoticeAll, ListNoticeAllNAME, dtNow, ((item.LastDateUser.HasValue && item.LastDateUser.Value < dtEnd) ? item.LastDateUser.Value : dtEnd), (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");//HM001_SHOWPRINT
// }
//});
//T_FM_NOTIFICATION_TASK task = null;
//GetEntityTask(TaskID, ref task);
//this.UnifiedCommit(() =>
//{
// UpdateEntityNoCommit(entity);//保存状态
// if (listRiskSubminContentl != null && listRiskSubminContentl.Any())//隐患上报明细表
// BantchSaveEntity(listRiskSubminContentl); //保存子表
// if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
// BantchSaveEntity(listNoticeDeal);
// if (task != null)//代办消息 清除
// UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
//});
#endregion
}
else
{
//驳回
if (string.IsNullOrEmpty(filter.Parameter3))
{
throw new Exception("请填写驳回意见!");
}
//整改责任人驳回
//验收人 已经审批过 整改责任人是自己 自己没审批过
var listContent = entity.Nav_ListRiskSubmitContent.FindAll(e => e.CHECK_USER_ID == LoginID && e.ISDEALUSERCHECK && !e.ISCHECKERCHECK);//DEAL_USER_ID
List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
T_FM_NOTIFICATION_TASK taskTemp = null;
int countTh = 0;
DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.Default, filter.OrgId.Value, DateTime.Now, null, null);
Guid? UserID = null;
string UserName = string.Empty;
foreach (var item in listContent)
{
item.ISCHECKERCHECK = false;
item.CHECK_USER_REFUSED_REASON = filter.Parameter3;//DEAL_USER_REFUSED_REASON
item.CHECK_USER_REFUSED_REASON = null;
item.RiskContentState = (int)RiskContentState.Notice;
UserID = item.CREATER_ID.HasValue ? item.CREATER_ID.Value : item.DEAL_USER_ID.Value;
UserName = GetEntity<T_FM_USER>(UserID.Value)?.NAME;
//taskTemp = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, item.ID, entity.ORG_ID, item.USER_ID.Value, entity.Nav_User.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "BS042");
taskTemp = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, item.ID, entity.ORG_ID, UserID.Value, UserName, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum., "BS042");// item.USER_ID.Value, entity.Nav_User.NAME
listNoticeDeal.Add(taskTemp);
countTh++;
}
T_FM_NOTIFICATION_TASK task = null;
GetEntityTask(TaskID, ref task);
this.UnifiedCommit(() =>
{
if (listContent != null)//填写整改责任人拒绝原因
BantchUpdateEntityNoCommit(listContent);
if (listNoticeDeal.Count > 0)//发送通知 给通知责任人
BantchSaveEntityNoCommit(listNoticeDeal);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
#region ///
////驳回
////给通知责任人 发送 待办 指定 整改责任人、验收人 BS042
//if (string.IsNullOrEmpty(filter.Parameter3))
//{
// throw new Exception("请填写驳回意见!");
//}
//var sysFilter = new SystemCodeFilter();
//sysFilter.CodeType = (int)PFCodeRuleType.消息通知;
//sysFilter.Count = 1;
//sysFilter.OrgId = entity.ORG_ID;
//var codes = CodeRuleService.NewGenSerial(sysFilter);
//var codeList = codes.Split(new char[] { ',' });
//var content = GetEntity<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_NOTICE_PERSON_ID == entity.ID, "Nav_User");
//content.CHECK_USER_REFUSED_REASON = filter.Parameter3;//回到验收人已确定上一个状态 (不需要 就是这个状态)
////var taskAdd = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, entity.ID, entity.ORG_ID, content.USER_ID.Value, entity.Nav_User.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "BS042"); //驳回 传入 隐患上报明细ID 否则不明确
//DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.Default, entity.ORG_ID.Value, DateTime.Now, null, null);
//var taskAdd = NotificationTaskService.InsertUserNoticeTaskModel(entity.NAME, content.ID, entity.ORG_ID, content.USER_ID.Value, content.Nav_User.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "BS042");
//T_FM_NOTIFICATION_TASK task = null;
//GetEntityTask(TaskID, ref task);
//this.UnifiedCommit(() =>
//{
// if (content != null)//填写验收人拒绝原因
// UpdateEntityNoCommit(content);
// if (taskAdd != null)//整改责任人 按条数 收到整改单
// UpdateEntityNoCommit(taskAdd);
// if (task != null)//代办消息 清除
// UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
//});
#endregion
}
return true;
});
}
/// <summary>
/// 验收人 确定/驳回 确定(给责任人 发送通知 驳回 (隐患通知责任人)发送通知 BS042
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
[HttpPost, Route("CheckerCheckOld")]
public JsonActionResult<bool> CheckerCheckOld([FromBody] KeywordFilter filter)
{
return SafeExecute<bool>(() =>
{
//确定 / 驳回 确定(给责任人 BS042_SHOWPRINT 发送通知 驳回 (隐患通知责任人)发送通知 BS042
@ -1663,8 +2198,8 @@ namespace APT.BS.WebApi.Controllers.Api
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
[HttpPost, Route("UserCheckAndSend")]
public JsonActionResult<bool> UserCheckAndSend([FromBody] KeywordFilter filter)
[HttpPost, Route("UserCheckAndSendOld")]
public JsonActionResult<bool> UserCheckAndSendOld([FromBody] KeywordFilter filter)
{
return SafeExecute<bool>(() =>
{
@ -1825,6 +2360,7 @@ namespace APT.BS.WebApi.Controllers.Api
});
}
#endregion
///// <summary>
///// 验收人、整改责任人 验收
@ -4554,6 +5090,19 @@ namespace APT.BS.WebApi.Controllers.Api
{
throw new Exception("行【" + (i + 1) + "】整改责任人和验收人不能同一个人!");
}
if (DataHelper.GetRequestType(HttpContext.Request.Headers) != 2 || (DataHelper.GetRequestType(HttpContext.Request.Headers) == 2 && DateTime.Now.Month > 2))
{
//移动端 修改 版本兼容
if (!listRiskSubminContentl[i].CHECK_PROJECT_ID.HasValue)
{
throw new Exception("请选择行【" + (i + 1) + "】的检查项目!");
}
if (!listRiskSubminContentl[i].CHECK_PROJECT_CATEGORY_ID.HasValue)
{
throw new Exception("请选择行【" + (i + 1) + "】的检查项目分类!");
}
}
}
}
@ -4631,6 +5180,18 @@ namespace APT.BS.WebApi.Controllers.Api
{
throw new Exception("行【" + (i + 1) + "】整改责任人和验收人不能同一个人!");
}
//移动端 修改 版本兼容
if (!listRiskSubminContentl[i].CHECK_PROJECT_ID.HasValue)
{
throw new Exception("请选择行【" + (i + 1) + "】的检查项目!");
}
if (!listRiskSubminContentl[i].CHECK_PROJECT_CATEGORY_ID.HasValue)
{
throw new Exception("请选择行【" + (i + 1) + "】的检查项目分类!");
}
}
}
}
@ -4906,7 +5467,6 @@ namespace APT.BS.WebApi.Controllers.Api
ApproveIDDependUserID = listRiskSubminContentl[0].DEAL_USER_ID;
}
}
//??????
////给通知责任人 发送通知
////通知责任人 确定 后 走审批流

View File

@ -59,7 +59,8 @@ namespace APT.BS.WebApi.Controllers.Api
}
}
var Nitoce = GetEntity<T_BS_RISK_SUBMIT_NOTICE>(e => e.ID == ID, new string[] { "Nav_Submit.Nav_CheckType", "Nav_Submit.Nav_CheckTypeLevel.Nav_Enums", "Nav_Submit.Nav_Files.Nav_ImgFile.Nav_File", "Nav_Approve.Nav_ApproveDetails.Nav_ApproveUser.Nav_UserSignFiles.Nav_ImgFile.Nav_File" });
var listRiskSubmitContentT = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_NOTICE_ID == ID, null, new string[] { "Nav_SafeCheckDetail", "Nav_Question", "Nav_ListRiskQuestionReason.Nav_RiskReason", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_DepartmentDeal", "Nav_UserDeal", "Nav_UserCheck" });//"Nav_User", "Nav_Department", 不需要了 BS006ShowPrint 隐患通知责任人 责任单位
var listRiskSubmitContentT = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_NOTICE_ID == ID, null, new string[] { "Nav_SafeCheckDetail", "Nav_Question", "Nav_ListRiskQuestionReason.Nav_RiskReason", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_DepartmentDeal", "Nav_UserDeal", "Nav_UserCheck", "Nav_User", "Nav_Department" });//"Nav_User", "Nav_Department", 不需要了 BS006ShowPrint 隐患通知责任人 责任单位
//DOTO 等移动端升级后 再取消 "Nav_User", "Nav_Department"
if (listRiskSubmitContentT != null && listRiskSubmitContentT.Any())
{
Nitoce.Nav_ListRiskSubmitContent = listRiskSubmitContentT.ToList();

View File

@ -82,7 +82,7 @@ namespace APT.BS.WebApi.Controllers.Api
expression = expression.And(e => e.DEAL_USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID || e.ACTUAL_DEAL_USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID || e.CHECK_USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID);
}
var nitocePerson = GetEntity<T_BS_RISK_SUBMIT_NOTICE_PERSON>(e => e.ID == ID, new string[] { "Nav_Submit.Nav_Check", "Nav_User.Nav_Department" });
var listRiskSubmitContentT = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(expression, null, new string[] { "Nav_Question", "Nav_ListRiskQuestionReason.Nav_RiskReason", "Nav_User", "Nav_Department", "Nav_DepartmentDeal", "Nav_UserDeal", "Nav_UserCheck", "Nav_UserActualDeal" });
var listRiskSubmitContentT = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(expression, null, new string[] { "Nav_Question", "Nav_ListRiskQuestionReason.Nav_RiskReason", "Nav_User", "Nav_Department", "Nav_DepartmentDeal", "Nav_UserDeal", "Nav_UserCheck", "Nav_UserActualDeal", "Nav_Files.Nav_ImgFile.Nav_File" });
nitocePerson.Nav_ListRiskSubmitContent = listRiskSubmitContentT.ToList();
if (nitocePerson.Nav_ListRiskSubmitContent != null && nitocePerson.Nav_ListRiskSubmitContent.Any() && DataHelper.GetRequestType(Request.Headers) == 2)
{

View File

@ -10,6 +10,7 @@ using APT.Migrations;
using APT.MS.Domain.ApiModel.BS;
using APT.MS.Domain.Entities.BS;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.LR;
using APT.MS.Domain.Entities.SC.SC;
using APT.MS.Domain.Enums;
using APT.Utility;
@ -1877,6 +1878,23 @@ namespace APT.BS.WebApi.Controllers.Api
item.Nav_Standard = null;
}
}
if (DataHelper.GetRequestType(HttpContext.Response.Headers) == 2)
{
foreach (var item in listDetail)
{
if (item.Nav_SafeCheck != null)
{
item.Nav_SafeCheck = null;
}
}
if (listDetailLaw != null && listDetailLaw.Count > 0)
{
foreach (var item in listDetailLaw)
{
item.Nav_Standard = null;
}
}
}
if (entity.STATUSPLAN == 0)
{
@ -3891,6 +3909,7 @@ namespace APT.BS.WebApi.Controllers.Api
List<int> Set555 = new List<int>();//没问题 但是有填写的
List<int> OtherNoRemarkResult = new List<int>();//需要登录者填,但是登录者选择其他,但是没选问题等级或者备注
List<int> NeedCheckResult = new List<int>();//需要确认但是没有确认的
List<int> NeedCheckQuestionMore = new List<int>();//检查问题多选
List<int> listEmptyAddress = new List<int>();//有问题 没写隐患位置
@ -3907,6 +3926,7 @@ namespace APT.BS.WebApi.Controllers.Api
//登录检查人员登记检查
List<T_BS_SAFE_CHECK_DETAIL_USER> listDetailUserEdit = new List<T_BS_SAFE_CHECK_DETAIL_USER>();
List<T_BS_SAFE_CHECK_DETAIL_USER> listDetailUserAdd = new List<T_BS_SAFE_CHECK_DETAIL_USER>();//检查登记 如果有多个检查问题 会自动新增行 新增检查人 存在这边
List<T_BS_SAFE_CHECK_DETAIL_QUESTION> listDetailQuestion = new List<T_BS_SAFE_CHECK_DETAIL_QUESTION>();
List<T_BS_SAFE_CHECK_DETAIL_FILE> listDetailFile = new List<T_BS_SAFE_CHECK_DETAIL_FILE>();
@ -3927,7 +3947,20 @@ namespace APT.BS.WebApi.Controllers.Api
for (int i = 0; i < listDetail.Count; i++)
{
detailLoginUserEdit = listDetail[i].Nav_ListCheckDetailUser.FirstOrDefault(e => e.USER_ID == UserID);
//如果是自动新增行 的人
foreach (var item in listDetail[i].Nav_ListCheckDetailUser)
{
if (item.USER_ID == UserID)
{
detailLoginUserEdit = item;
}
else if (item.USER_ID != UserID && item.FLOW_STATUS == 1 && !item.ISMAINCHECK)
{
item.FLOW_STATUS = 0;
listDetailUserAdd.Add(item);
}
}
//detailLoginUserEdit = listDetail[i].Nav_ListCheckDetailUser.FirstOrDefault(e => e.USER_ID == UserID);
if (detailLoginUserEdit == null)
continue;//如果该检查记录和登录者无关跳过
detailLoginUserEdit.SAFECHECKSTATE = SAFECHECKSTATE;//状态修改
@ -3955,12 +3988,11 @@ namespace APT.BS.WebApi.Controllers.Api
if (listCheckDetailQuestion == null || !listCheckDetailQuestion.Any())
{
//没有选择问题描述
emptyResult.Add(i);
emptyResult.Add(i + 1);
}
else
{
listCheckDetailQuestion = listDetail[i].Nav_ListCheckDetailQuestion.Where(e => !e.IS_DELETED).ToList();
var listDel = listDetail[i].Nav_ListCheckDetailQuestion.Where(e => e.IS_DELETED).ToList();
if (listDel != null && listDel.Count > 0)
{
@ -3980,7 +4012,7 @@ namespace APT.BS.WebApi.Controllers.Api
if (listDetail[i].QUESTION_LEVEL.HasValue && listDetail[i].QUESTION_LEVEL > 0)
{
Set555.Add(i);
Set555.Add(i + 1);
}
}
else if (item.SAFE_CHECK_QUESTION_ID == guid7)
@ -4027,6 +4059,10 @@ namespace APT.BS.WebApi.Controllers.Api
listDetailQuestion.AddRange(listCheckDetailQuestion);
if (listCheckDetailQuestion.Count > 1)
{
NeedCheckQuestionMore.Add(i + 1);
}
// 无 10 // 与问题描述一致 20 // 其它 30
//如果因为前端 没有赋值到检查问题等级
if (listDetail[i].CHECKRESULT.HasValue)
@ -4314,6 +4350,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listDetailEdit);
if (listDetailUserEdit.Count > 0)//明细检查人信息修改
BantchSaveEntityNoCommit(listDetailUserEdit);
if (listDetailUserAdd.Count > 0)//明细检查人信息新增
BantchSaveEntityNoCommit(listDetailUserAdd);
if (listDetailQuestion.Count > 0)//明细检查问题修改
BantchSaveEntityNoCommit(listDetailQuestion);
if (listDetailReason != null && listDetailReason.Count > 0)//明细问题
@ -4512,6 +4550,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listDetailEdit);
if (listDetailUserEdit.Count > 0)//明细检查人信息修改
BantchSaveEntityNoCommit(listDetailUserEdit);
if (listDetailUserAdd.Count > 0)//明细检查人信息新增
BantchSaveEntityNoCommit(listDetailUserAdd);
if (files != null && files.Any())
BantchSaveEntityNoCommit(files); //保存子表'
if (listLoginSign.Any())//签名
@ -4703,6 +4743,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listDetailEdit);
if (listDetailUserEdit.Count > 0)//明细检查人信息修改
BantchSaveEntityNoCommit(listDetailUserEdit);
if (listDetailUserAdd.Count > 0)//明细检查人信息新增
BantchSaveEntityNoCommit(listDetailUserAdd);
if (files != null && files.Any())
BantchSaveEntityNoCommit(files); //保存子表'
if (listLoginSign.Any())//签名