diff --git a/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs b/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
index b07e2f5..18f78a7 100644
--- a/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
+++ b/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
@@ -52,7 +52,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// 自定义审批流程人员部门信息
/// 审批流名称
///
- void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? BSOperateEnum = null);
+ void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? BSOperateEnum = null, Guid? DATA_ID_LOG = null, Guid? DATA_ID_SUB = null);
///
/// 发布审批流
@@ -84,7 +84,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// 审批流ID(主表如果有存传值进来 )
/// 审批用户(主表如果有存传值进来 )
///
- void InsertApproveRisk(List listSerialCode, string fromCode, List listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List listParam = null, List listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List ListDepIDNone = null, Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null);
+ void InsertApproveRisk(List listSerialCode, string fromCode, List listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List listParam = null, List listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List ListDepIDNone = null, Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null, Guid? RiskID = null, List listLevel = null, Dictionary> dicLevelSubID = null);
///
/// 获取流水码
///
diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
index afb2752..1d89105 100644
--- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
+++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
@@ -316,7 +316,7 @@ namespace APT.BaseData.Services.Services.FM
///
/// 审批流名称
///
- public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null)
+ public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null, Guid? DATA_ID_LOG = null, Guid? DATA_ID_SUB = null)
{
T_PF_APPROVE approve = null;
//上个消息
@@ -564,33 +564,14 @@ namespace APT.BaseData.Services.Services.FM
});
}
- if (iBSOperateEnum.HasValue && appdetails != null && appdetails.Any())
+ if (iBSOperateEnum == 200 || iBSOperateEnum == 20 || iBSOperateEnum == 60)
{
- try
- {
- OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
-
- List ListUserID = new List();
- List ListUserName = new List();
- foreach (var item in appdetails)
- {
- if (item.APPROVE_USER_ID.HasValue)
- {
- ListUserID.Add(item.APPROVE_USER_ID.Value);
- }
- }
- if (ListUserID.Count > 0)
- {
- var listUser = GetEntities(e => ListUserID.Contains(e.ID));
- for (int i = 0; i < ListUserID.Count; i++)
- {
- ListUserName.Add(listUser.FirstOrDefault(e => e.ID == ListUserID[i])?.NAME);
- }
- }
-
- listBSLog = GetListOperateLog(OPERATEPOINT, id, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, approve.ORG_ID, null, null);
- }
- catch { }
+ listBSLog = GetOperateLogInfo(DATA_ID_LOG, approve.ORG_ID, appdetails, iBSOperateEnum, finishNotice, DATA_ID_SUB);//验收人确认整改
+ }
+ else
+ {
+ //修改参数到 if (iBSOperateEnum == 200)
+ listBSLog = GetOperateLogInfo(id, approve.ORG_ID, appdetails, iBSOperateEnum, finishNotice, approve.DATA_ID);
}
}
this.UnifiedCommit(() =>
@@ -608,9 +589,6 @@ namespace APT.BaseData.Services.Services.FM
if (listBSLog != null && listBSLog.Any())
BantchSaveEntityNoCommit(listBSLog);//有修改和新增
});
-
- //如果 审批流需要执行默认审批 调用 回调方法
- //回调方法写在之后 不然之前数据都没有保存到数据库 原有的方法不能使用
if (!string.IsNullOrEmpty(CALLBACK_INTERFACE))
{
if (CALLBACK_INTERFACE.EndsWith("New"))
@@ -1088,7 +1066,7 @@ namespace APT.BaseData.Services.Services.FM
/// 发起者 用户ID 如未传参 默认当前登陆者 如果审批流包含此人 默认审批流从他开始 他所在节点默认审批通过
/// 审批流未找到审批人默认组织安全员
///
- public void InsertApproveRisk(List listSerialCode, string fromCode, List listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List listParam = null, List listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List ListDepIDNone = null, FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null)
+ public void InsertApproveRisk(List listSerialCode, string fromCode, List listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List listParam = null, List listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List ListDepIDNone = null, FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null, Guid? RiskID = null, List listLevel = null, Dictionary> dicLevelSubID = null) //List listDataID_Sub
{
#region 参数判断
@@ -1111,6 +1089,7 @@ namespace APT.BaseData.Services.Services.FM
#endregion
List listApprove = new List();
+ List listBSLog = new List();
List appdetails = new List();
List appdetailsTemp = null;
IEnumerable iEnumApprovalRole = null;
@@ -1349,6 +1328,24 @@ namespace APT.BaseData.Services.Services.FM
}
appdetails.AddRange(appdetailsTemp);
listApprove.Add(approve);
+
+
+ List listLevelSubID = null;
+ if (dicLevelSubID != null)
+ {
+ if (dicLevelSubID.ContainsKey(listLevel[i]))
+ {
+ listLevelSubID = dicLevelSubID[listLevel[i]];
+ }
+ if (listLevelSubID != null && listLevelSubID.Any())
+ {
+ listBSLog.AddRange(GetOperateLogInfo(RiskID, approve.ORG_ID, appdetailsTemp, iBSOperateEnum, finishNotice, listLevelSubID));
+ }
+ else
+ {
+ listBSLog.AddRange(GetOperateLogInfo(RiskID, approve.ORG_ID, appdetailsTemp, iBSOperateEnum, finishNotice, approve.DATA_ID));
+ }
+ }
}
else
{
@@ -1458,6 +1455,22 @@ namespace APT.BaseData.Services.Services.FM
}
}
listApprove.Add(approve);
+
+ List listLevelSubID = null;
+ if (dicLevelSubID.ContainsKey(listLevel[0]))
+ {
+ listLevelSubID = dicLevelSubID[listLevel[0]];
+ }
+ if (listLevelSubID != null && listLevelSubID.Any())
+ {
+ listBSLog = GetOperateLogInfo(RiskID, approve.ORG_ID, appdetailsTemp, iBSOperateEnum, finishNotice, listLevelSubID);
+ }
+ else
+ {
+ listBSLog = GetOperateLogInfo(RiskID, approve.ORG_ID, appdetailsTemp, iBSOperateEnum, finishNotice, approve.DATA_ID);
+ }
+
+ //listBSLog = GetOperateLogInfo(RiskID, approve.ORG_ID, appdetailsTemp, iBSOperateEnum, finishNotice, ((listDataID_Sub != null && listDataID_Sub.Any()) ? listDataID_Sub[0] : approve.DATA_ID));
}
else
{
@@ -1471,6 +1484,8 @@ namespace APT.BaseData.Services.Services.FM
throw new Exception("方法不知以什么方式来添加多个审批流!");
}
+
+
this.UnifiedCommit(() =>
{
if (action != null)
@@ -1479,6 +1494,8 @@ namespace APT.BaseData.Services.Services.FM
BantchAddEntityNoCommit(listApprove);
if (appdetails != null && appdetails.Any())
BantchAddEntityNoCommit(appdetails);
+ if (listBSLog != null && listBSLog.Any())
+ BantchSaveEntityNoCommit(listBSLog);
if (finishNotice != null)
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (listNotice.Count > 0)
@@ -1659,6 +1676,7 @@ namespace APT.BaseData.Services.Services.FM
}
return approveId;
}
+
///
/// 根据部门树查找审核人
///
@@ -1985,10 +2003,120 @@ namespace APT.BaseData.Services.Services.FM
//#endregion
+ private List GetOperateLogInfo(Guid? dataId, Guid? ORG_ID, List appdetails, int? iBSOperateEnum, T_FM_NOTIFICATION_TASK finishNotice, Guid? DATA_ID_SUB = null)
+ {
+ List listOperateLog = null;
+ if (iBSOperateEnum.HasValue && dataId.HasValue)
+ {
+ List ListUserIDDone = new List();
+ try
+ {
+ OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
+ List ListUserID = new List();
+ List ListUserName = new List();
+ if (appdetails != null && appdetails.Any())
+ {
+ foreach (var item in appdetails)
+ {
+ if (item.APPROVE_USER_ID.HasValue)
+ {
+ ListUserID.Add(item.APPROVE_USER_ID.Value);
+ if (item.NODE_APPROVE_STATUS == 10)
+ ListUserIDDone.Add(item.APPROVE_USER_ID.Value);
+ }
+ }
+ if (ListUserID.Count > 0)
+ {
+ var listUser = GetEntities(e => ListUserID.Contains(e.ID));
+ for (int i = 0; i < ListUserID.Count; i++)
+ {
+ ListUserName.Add(listUser.FirstOrDefault(e => e.ID == ListUserID[i])?.NAME);
+ }
+ }
+ }
+
+ DateTime? taskEnd = null;
+ if (finishNotice != null)
+ taskEnd = finishNotice.TASK_ENDDT;
+ listOperateLog = GetListOperateLog(OPERATEPOINT, dataId.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, ORG_ID, DATA_ID_SUB, ListUserIDDone, false, taskEnd);
+ }
+ catch { }
+ }
+ return listOperateLog;
+ }
+
+ ///
+ /// 更新某个 日志 并且添加多组带操作日志
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private List GetOperateLogInfo(Guid? dataId, Guid? ORG_ID, List appdetails, int? iBSOperateEnum, T_FM_NOTIFICATION_TASK finishNotice, List ListDATA_ID_SUB)
+ {
+ List listOperateLog = null;
+ if (iBSOperateEnum.HasValue && dataId.HasValue)
+ {
+ List ListUserIDDone = new List();
+ try
+ {
+ OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
+ List ListUserID = new List();
+ List ListUserName = new List();
+ if (appdetails != null && appdetails.Any())
+ {
+ foreach (var item in appdetails)
+ {
+ if (item.APPROVE_USER_ID.HasValue)
+ {
+ ListUserID.Add(item.APPROVE_USER_ID.Value);
+ if (item.NODE_APPROVE_STATUS == 10)
+ ListUserIDDone.Add(item.APPROVE_USER_ID.Value);
+ }
+ }
+ if (ListUserID.Count > 0)
+ {
+ var listUser = GetEntities(e => ListUserID.Contains(e.ID));
+ for (int i = 0; i < ListUserID.Count; i++)
+ {
+ ListUserName.Add(listUser.FirstOrDefault(e => e.ID == ListUserID[i])?.NAME);
+ }
+ }
+ }
+ var LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
+ DateTime? taskEnd = null;
+ if (finishNotice != null)
+ taskEnd = finishNotice.TASK_ENDDT;
+ listOperateLog = new List();
+
+ //OPERATEPOINT_Enums.CheckResultAudit => //(int)OPERATEPOINT_Enums.RiskGet
+ if (OPERATEPOINT == OPERATEPOINT_Enums.RiskInfoCompleteSD)
+ {
+ //手动隐患上报
+ listOperateLog.Add(GetUpdateDeal(OPERATEPOINT, dataId.Value, LoginID, ListDATA_ID_SUB[0], taskEnd));
+ }
+ else
+ {
+ //看看 是不是可以改到上面方法
+ listOperateLog.Add(GetUpdateDeal(OPERATEPOINT, dataId.Value, LoginID, null, taskEnd));
+ }
+ foreach (var item in ListDATA_ID_SUB)
+ {
+ for (int i = 0; i < ListUserID.Count; i++)
+ listOperateLog.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, dataId.Value, ListUserID[i], ListUserName[i], ORG_ID, i, false, item));
+ }
+ }
+ catch { }
+ }
+ return listOperateLog;
+ }
#region 方法重复写 如有修改 需同步修改 BSOperateLogService 对应方法
- public List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = true)
+ public List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
{
List listResult = new List();
T_BS_OPERATE_LOG modelLogUpdate = null;
@@ -1996,56 +2124,66 @@ namespace APT.BaseData.Services.Services.FM
{
case OPERATEPOINT_Enums.GotCheck:
//系统触发 只是新增
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckForm:
//BS032保存并发送 到审批流
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin);
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin, null, TASK_ENDDT);
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));//OPERATEPOINT => OPERATEPOINT_Enums.CheckAudit
break;
case OPERATEPOINT_Enums.CheckAudit:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的待办日志
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)//最后一个审批人 添加 通知
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckerCheck:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
break;
case OPERATEPOINT_Enums.CheckRegister:
//检查登记
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++) //发起检查结果确认
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckAgree:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++) //检查结果确认完 直接到审批
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckResultAudit:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (isEnd) //最后一个审批就归档
{
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID));
+ var logEnd = AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID);
+ logEnd.OPERTETIME = DateTime.Now;
+ if (modelLogUpdate != null)
+ logEnd.ISINTTIME = modelLogUpdate.ISINTTIME;
+ listResult.Add(logEnd);
+ }
+ else if (DATA_ID_SUB != null)
+ {
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskGet, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
}
break;
case OPERATEPOINT_Enums.CheckEnd:
@@ -2058,16 +2196,55 @@ namespace APT.BaseData.Services.Services.FM
case OPERATEPOINT_Enums.RiskInfoCompleteSD:
break;
case OPERATEPOINT_Enums.RiskGet:
- //审批结束后 如果有隐患
- if (ListUserID != null && ListUserName != null)
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
- case OPERATEPOINT_Enums.RiskSend:
+ //case OPERATEPOINT_Enums.RiskSend:
+ // modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ // if (modelLogUpdate != null)
+ // listResult.Add(modelLogUpdate);
+ // if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ // for (int i = 0; i < ListUserID.Count; i++)
+ // listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ // break;
+ case OPERATEPOINT_Enums.RiskSendAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskAssignActure, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskAssignActure:
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeCheckerCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeActureCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskDeal:
+ break;
+ case OPERATEPOINT_Enums.RiskDealDealCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskDealCheckerCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskDealAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskDealAudit:
+ break;
+ case OPERATEPOINT_Enums.RiskEnd:
break;
default:
break;
}
+
if (ListUserIDDone != null && ListUserIDDone.Count > 0)
{
//除了登陆者 需要默认操作的
@@ -2090,7 +2267,7 @@ namespace APT.BaseData.Services.Services.FM
///
///
///
- private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0)
+ private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0, bool isAddLog = false, Guid? DATA_ID_SUB = null)
{
T_BS_OPERATE_LOG ModelAdd = new T_BS_OPERATE_LOG()
{
@@ -2098,17 +2275,17 @@ namespace APT.BaseData.Services.Services.FM
ORG_ID = ORG_ID,
LOGTYPE = ((int)OPERATEPOINT) > 80 ? LOGTYPE_Enums.RiskSubmit : LOGTYPE_Enums.SafeCheck,
DATA_ID = DATA_ID,
- //DATA_ID_SUB = null,
+ DATA_ID_SUB = DATA_ID_SUB,
OPERATEPOINT = OPERATEPOINT,
USER_ID = UserID,
USRTNAME = UserName,
ORDERNO = ORDERNO,
//OPERTETIME = null,
- ISINTTIME = false,
+ //ISINTTIME = false,
CREATE_TIME = DateTime.Now,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID
};
- if (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID)
+ if (isAddLog || (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID))
{
ModelAdd.OPERTETIME = DateTime.Now;//默认通过
}
@@ -2122,15 +2299,24 @@ namespace APT.BaseData.Services.Services.FM
///
///
///
+ ///
///
- private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null)
+ private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null, DateTime? TASK_ENDDT = null)
{
+ if (UserID == Guid.Empty)
+ {
+ return null;
+ }
Expression> expression = e => e.DATA_ID == DATA_ID && e.OPERATEPOINT == OPERATEPOINT && e.USER_ID == UserID;
if (DATA_ID_SUB.HasValue)
expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
var model = GetEntity(expression);
if (model != null)
+ {
model.OPERTETIME = DateTime.Now;
+ if (TASK_ENDDT != null)
+ model.ISINTTIME = (model.OPERTETIME > TASK_ENDDT.Value ? false : true);
+ }
return model;
}
#endregion
diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
index 4ba0df9..e1cf4e4 100644
--- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
+++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
@@ -25,6 +25,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Linq.Expressions;
using System.Reflection;
using System.Security.Cryptography;
@@ -6565,6 +6566,14 @@ namespace APT.BaseData.Services.DomainServices
}
+ #region 修改操作日志 添加 下一步待操作日志
+ DateTime? dtTaskEnd = null;
+ dtTaskEnd = taskFinish?.TASK_ENDDT;
+
+ var listOperateLog = GetListOperateLog(OPERATEPOINT_Enums.CheckAudit, entity.ID, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, listUserId, listUserName, entity.ORG_ID, null, listUserIDDone, false, dtTaskEnd);
+
+ #endregion
+
//BS034_SHOWPRINT=> BS032_SHOWPRINT
NotificationTaskService.SendNotificationTask((entity.NAME + "-确认"), entity.ID, orgId, listUserId, listUserName, DateTime.Now, dtTimeOut, 0, "BS032_SHOWPRINT", () =>
{
@@ -6584,7 +6593,8 @@ namespace APT.BaseData.Services.DomainServices
UpdateEntityNoCommit(taskFinish);
if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
BantchSaveEntityNoCommit(listTaskNext);
-
+ if (listOperateLog != null && listOperateLog.Count > 0)//操作记录
+ BantchSaveEntityNoCommit(listOperateLog);
}, "", listUserIDDone);
}
@@ -6905,9 +6915,15 @@ namespace APT.BaseData.Services.DomainServices
#endregion
}
entity.STATECHECK = STATECHECK.Archived;
+
+ DateTime? dtTaskEnd = null;
+ dtTaskEnd = taskFinish?.TASK_ENDDT;
+
+
//给制表人发送待办
if (entity.RISKSTATE == 10 && entity.USERID_DOPLAN.HasValue)
{
+ //结束 + 上报
#region 隐患上报信息 发隐患上报信息 出去 流程各时间也对应
@@ -7014,6 +7030,15 @@ namespace APT.BaseData.Services.DomainServices
// });
// entity.ID 被 modelSub.ID 替换
+
+
+
+ var listOperateLog = GetListOperateLog(OPERATEPOINT_Enums.CheckResultAudit, entity.ID, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { entity.USERID_DOPLAN.Value }, new List() { entity.Nav_User.NAME }, entity.ORG_ID, modelSub.ID, null, false, dtTaskEnd);
+
+ //modelSubOPERATEPOINT_Enums.RiskGet
+ //var listOperateLogRisk = GetListOperateLog(OPERATEPOINT_Enums.RiskGet, modelSub.ID, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { entity.USERID_DOPLAN.Value }, new List() { entity.Nav_User.NAME }, entity.ORG_ID, null, null, false, dtTaskEnd);
+
+
NotificationTaskService.SendNotificationTask("隐患待上报:" + entity.NAME.Replace("安全检查:", ""), modelSub.ID, entity.ORG_ID, entity.USERID_DOPLAN.Value, entity.Nav_User.NAME, DateTime.Now, dtTimeOut, 0, "BS006", () =>
{
if (modelApp != null)
@@ -7040,11 +7065,15 @@ namespace APT.BaseData.Services.DomainServices
BantchSaveEntityNoCommit(Nav_Files);
if (ListRiskSubmitContent != null && ListRiskSubmitContent.Any())
BantchSaveEntityNoCommit(ListRiskSubmitContent);
+ if (listOperateLog != null && listOperateLog.Any())
+ BantchSaveEntityNoCommit(listOperateLog);//安全检查操作记录//隐患待上报操作记录
});
}
else
{
+ var listOperateLog = GetListOperateLog(OPERATEPOINT_Enums.CheckResultAudit, entity.ID, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, null, null, entity.ORG_ID, null, null, true, dtTaskEnd);
+ //直接结束
entity.ISNEEDTOUP = true;
//检查没问题 直接结束 安全检查
this.UnifiedCommit(() =>
@@ -7069,6 +7098,8 @@ namespace APT.BaseData.Services.DomainServices
BantchUpdateEntityNoCommit(listCheckDetail);
if (listUpdateMain != null && listUpdateMain.Any())//安全检查库修改不可用
BantchUpdateEntityNoCommit(listUpdateMain);
+ if (listOperateLog != null && listOperateLog.Any())//操作记录
+ BantchSaveEntityNoCommit(listOperateLog);
});
}
}
@@ -7077,6 +7108,7 @@ namespace APT.BaseData.Services.DomainServices
+
///
/// 隐患上报 审核通过 给每个通知负责人发送通知
///
@@ -7569,15 +7601,28 @@ namespace APT.BaseData.Services.DomainServices
//}
#endregion
}
-
+ List listOperateLog = new List();
//更新日期
//给隐患上报隐患通知责任人 发送待办
if (isNoticeCheck)
{
-
//listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");
//整改责任人 指定 整改落实人
listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS074");
+ //整改责任人指定落实人:车间级巡回检查D级隐患
+
+ foreach (var item in listContent)
+ {
+ for (int j = 0; j < listUserID.Count; j++)
+ {
+ if (item.DEAL_USER_ID.HasValue && item.DEAL_USER_ID.Value == listUserID[j])
+ {
+ //给每个检查内容 发送 整改责任人确认 操作明细
+ listOperateLog.AddRange(GetListOperateLog(OPERATEPOINT_Enums.RiskSendAudit, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { listUserID[j] }, new List() { listUserName[j] }, entity.ORG_ID, item.ID, null, false, taskFinish?.TASK_ENDDT));
+ break;
+ }
+ }
+ }
}
else
{
@@ -7616,12 +7661,17 @@ namespace APT.BaseData.Services.DomainServices
BantchSaveEntityNoCommit(listMainConbinQuestionAdd);
if (listSafecheckDetail.Count > 0)//确定检查问题 添加安全检查记录
BantchUpdateEntityNoCommit(listSafecheckDetail);
+
+ if (listOperateLog != null && listOperateLog.Any())//操作记录
+ BantchSaveEntityNoCommit(listOperateLog);
});
}
return true;
}
+
+
///
/// 隐患上报 完成 修改各种状态 完善隐患库
///
@@ -7935,9 +7985,10 @@ namespace APT.BaseData.Services.DomainServices
modelCheck.CHECKOBJECT = (int)deal.Nav_Submit.CHECKOBJECT.Value;
}
+ var listOperateLog = GetListOperateLog(OPERATEPOINT_Enums.RiskDealAudit, deal.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, null, null, deal.ORG_ID, deal.RISK_SUBMIT_CONTENT_ID, null, true, taskFinish?.TASK_ENDDT);
+
UnifiedCommit(() =>
{
-
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
if (listAppDetail != null && listAppDetail.Count > 0)//添加组合数据 修改的安全库、隐患库
@@ -7957,6 +8008,8 @@ namespace APT.BaseData.Services.DomainServices
UpdateEntityNoCommit(modelCheck);
if (mainDep != null)
UpdateEntityNoCommit(mainDep);
+ if (listOperateLog != null && listOperateLog.Any())//操作记录
+ BantchSaveEntityNoCommit(listOperateLog);
});
}
return true;
@@ -8275,5 +8328,214 @@ namespace APT.BaseData.Services.DomainServices
//}
//#endregion
+
+ #region 方法重复写 如有修改 需同步修改 BSOperateLogService 对应方法
+
+ public List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
+ {
+ List listResult = new List();
+ T_BS_OPERATE_LOG modelLogUpdate = null;
+ switch (OPERATEPOINT)
+ {
+ case OPERATEPOINT_Enums.GotCheck:
+ //系统触发 只是新增
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.CheckForm:
+ //BS032保存并发送 到审批流
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin, null, TASK_ENDDT);
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));// OPERATEPOINT => OPERATEPOINT_Enums.CheckAudit
+ break;
+ case OPERATEPOINT_Enums.CheckAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的待办日志
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)//最后一个审批人 添加 通知
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.CheckerCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ break;
+ case OPERATEPOINT_Enums.CheckRegister:
+ //检查登记
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++) //发起检查结果确认
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.CheckAgree:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++) //检查结果确认完 直接到审批
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.CheckResultAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (isEnd) //最后一个审批就归档
+ {
+ var logEnd = AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID);
+ logEnd.OPERTETIME = DateTime.Now;
+ if (modelLogUpdate != null)
+ logEnd.ISINTTIME = modelLogUpdate.ISINTTIME;
+ listResult.Add(logEnd);
+ }
+ else if (DATA_ID_SUB != null)
+ {
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ //listResult.Add(AddModel(OPERATEPOINT_Enums.RiskGet, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskGet, DATA_ID_SUB.Value, ListUserID[i], ListUserName[i], ORG_ID, i, false, null));//注意 入参把 隐患上报ID 传给参数 DATA_ID_SUB
+ }
+ break;
+ case OPERATEPOINT_Enums.CheckEnd:
+ //此处没操作
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeSD:
+ break;
+ case OPERATEPOINT_Enums.RiskUpSD:
+ break;
+ case OPERATEPOINT_Enums.RiskInfoCompleteSD:
+ break;
+ case OPERATEPOINT_Enums.RiskGet:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//隐患待上报 不需要传递 子表ID
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));//子表拆分记录
+ break;
+ //case OPERATEPOINT_Enums.RiskSend:
+ // modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);
+ // if (modelLogUpdate != null)
+ // listResult.Add(modelLogUpdate);
+ // if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ // for (int i = 0; i < ListUserID.Count; i++)
+ // listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ // break;
+ case OPERATEPOINT_Enums.RiskSendAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//分子表处理
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskAssignActure, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskAssignActure:
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeCheckerCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeActureCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskDeal:
+ break;
+ case OPERATEPOINT_Enums.RiskDealDealCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskDealCheckerCheck:
+ break;
+ case OPERATEPOINT_Enums.RiskDealAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ var logEndRisk = AddModel(OPERATEPOINT_Enums.RiskEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID);
+ logEndRisk.OPERTETIME = DateTime.Now;
+ if (modelLogUpdate != null)
+ logEndRisk.ISINTTIME = modelLogUpdate.ISINTTIME;
+ listResult.Add(logEndRisk);
+ break;
+ case OPERATEPOINT_Enums.RiskEnd:
+ break;
+ default:
+ break;
+ }
+ if (ListUserIDDone != null && ListUserIDDone.Count > 0)
+ {
+ //除了登陆者 需要默认操作的
+ listResult.ForEach(e =>
+ {
+ if (ListUserIDDone.Contains(e.USER_ID))
+ e.OPERTETIME = DateTime.Now;
+ });
+ }
+ return listResult;
+ }
+
+
+ ///
+ /// 获取新记录
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0, bool isAddLog = false, Guid? DATA_ID_SUB = null)
+ {
+ T_BS_OPERATE_LOG ModelAdd = new T_BS_OPERATE_LOG()
+ {
+ ID = Guid.NewGuid(),
+ ORG_ID = ORG_ID,
+ LOGTYPE = ((int)OPERATEPOINT) > 80 ? LOGTYPE_Enums.RiskSubmit : LOGTYPE_Enums.SafeCheck,
+ DATA_ID = DATA_ID,
+ DATA_ID_SUB = DATA_ID_SUB,
+ OPERATEPOINT = OPERATEPOINT,
+ USER_ID = UserID,
+ USRTNAME = UserName,
+ ORDERNO = ORDERNO,
+ //OPERTETIME = null,
+ //ISINTTIME = false,
+ CREATE_TIME = DateTime.Now,
+ CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID
+ };
+ if (isAddLog || (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID))
+ {
+ ModelAdd.OPERTETIME = DateTime.Now;//默认通过
+ }
+ return ModelAdd;
+ }
+
+ ///
+ /// 获取需要修改的Model
+ ///
+ /// 操作节点
+ ///
+ ///
+ ///
+ ///
+ ///
+ private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null, DateTime? TASK_ENDDT = null)
+ {
+ if (UserID == Guid.Empty)
+ {
+ return null;
+ }
+ Expression> expression = e => e.DATA_ID == DATA_ID && e.OPERATEPOINT == OPERATEPOINT && e.USER_ID == UserID;
+ if (DATA_ID_SUB.HasValue)
+ expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
+ var model = GetEntity(expression);
+ if (model != null)
+ {
+ model.OPERTETIME = DateTime.Now;
+ if (TASK_ENDDT != null)
+ model.ISINTTIME = (model.OPERTETIME > TASK_ENDDT.Value ? false : true);
+ }
+ return model;
+ }
+ #endregion
}
}
diff --git a/APT.MS.Data/Mapping/T4/T4Map.cs b/APT.MS.Data/Mapping/T4/T4Map.cs
index 6e47d8b..8b4340a 100644
--- a/APT.MS.Data/Mapping/T4/T4Map.cs
+++ b/APT.MS.Data/Mapping/T4/T4Map.cs
@@ -49,7 +49,8 @@ builder.HasOne(t => t.Nav_CheckProject).WithMany().HasForeignKey(t => t.CHECK_PR
public override void Configure(EntityTypeBuilder builder)
{
base.Configure(builder);
- builder.Property(t => t.CHECKCONTENT).HasMaxLength(500);
+ builder.Ignore(t => t.StrCheckObject);
+builder.Property(t => t.CHECKCONTENT).HasMaxLength(500);
}
}
#endregion
diff --git a/APT.MS.Domain/Entities/BS/T_BS_CHECK_CONTENTS.cs b/APT.MS.Domain/Entities/BS/T_BS_CHECK_CONTENTS.cs
index 89f24f9..f400a2a 100644
--- a/APT.MS.Domain/Entities/BS/T_BS_CHECK_CONTENTS.cs
+++ b/APT.MS.Domain/Entities/BS/T_BS_CHECK_CONTENTS.cs
@@ -21,6 +21,13 @@ namespace APT.MS.Domain.Entities.BS
[FormFieldEdit]
public BSMineTypeEnum CHECKOBJECT { get; set; }
+ ///
+ /// 检查对象
+ ///
+ [Description("检查对象")]
+ [DataFieldIngore]
+ public virtual string StrCheckObject { get; set; }
+
///
/// 检查内容
///
diff --git a/APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs b/APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
index 350181f..5122ab6 100644
--- a/APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
+++ b/APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
@@ -63,9 +63,9 @@ namespace APT.MS.Domain.Entities.BS
public DateTime? OPERTETIME { get; set; }
///
- /// 是否超时
+ /// 是否按时
///
- [Description("是否超时")]
+ [Description("是否按时")]
public bool? ISINTTIME { get; set; }
}
}
\ No newline at end of file
diff --git a/APT.MS.Domain/Enums/BS/BSEnums.cs b/APT.MS.Domain/Enums/BS/BSEnums.cs
index 4163887..952bb7d 100644
--- a/APT.MS.Domain/Enums/BS/BSEnums.cs
+++ b/APT.MS.Domain/Enums/BS/BSEnums.cs
@@ -134,19 +134,19 @@ namespace APT.MS.Domain.Enums
///
/// 选矿
///
- [Description("选矿")]
+ [Description("选矿厂")]
MineChoose = 10,
///
/// 尾矿
///
- [Description("尾矿")]
+ [Description("尾矿库")]
Minelast = 20,
///
/// 矿山
///
- [Description("矿山")]
+ [Description("露天矿")]
Mine = 30,
///
@@ -1425,6 +1425,12 @@ namespace APT.MS.Domain.Enums
[Description("检查任务确认")]
CheckerCheck = 40,
+ ///
+ /// 跑批检查登记 48
+ ///
+ [Description("跑批检查登记")]
+ CheckRegisterRun = 48,
+
///
/// 检查登记 50
///
@@ -1472,12 +1478,66 @@ namespace APT.MS.Domain.Enums
[Description("隐患待上报")]
RiskGet = 120,
+ /////
+ ///// 隐患上报 130 (弃用)
+ /////
+ //[Description("隐患上报")]
+ //RiskSend = 130,
+
///
- /// 隐患上报 130
+ /// 隐患上报审批 130
///
- [Description("隐患上报")]
- RiskSend =130,
+ [Description("隐患上报审批")]
+ RiskSendAudit = 130,
+ ///
+ /// 整改责任人指定落实人 140
+ ///
+ [Description("指定落实人")]
+ RiskAssignActure = 140,
+ ///
+ /// 验收人确认 150
+ ///
+ [Description("验收人确认")]
+ RiskNoticeCheckerCheck = 150,
+
+ ///
+ /// 整改落实人确认 160
+ ///
+ [Description("整改落实人确认")]
+ RiskNoticeActureCheck = 160,
+
+ //延期申请
+
+ ///
+ /// 整改落实人确认 180
+ ///
+ [Description("整改落实人整改")]
+ RiskDeal = 180,
+
+ ///
+ /// 整改责任人确认 190
+ ///
+ [Description("整改责任人确认")]
+ RiskDealDealCheck = 190,
+
+ ///
+ /// 整改验收人确认 200
+ ///
+ [Description("整改验收人确认")]
+ RiskDealCheckerCheck = 200,
+
+ ///
+ /// 整改审批 210
+ ///
+ [Description("整改审批")]
+ RiskDealAudit = 210,
+
+ ///
+ /// 整改结束 220
+ ///
+ [Description("整改结束")]
+ RiskEnd = 220,
}
}
\ No newline at end of file
diff --git a/APT.MS.Domain/IServices/BS/IBSOperateLogService.cs b/APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
index e25767e..cb8e54c 100644
--- a/APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
+++ b/APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace APT.BaseData.Domain.IServices
{
- public interface IBSOperateLogService
+ public interface IBSOperateLogService
{
///
/// 直接添加多个操作
@@ -23,6 +23,6 @@ namespace APT.BaseData.Domain.IServices
/// 默认操作通过的
///
///
- List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = true);
+ List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null);
}
}
diff --git a/APT.MS.Services/Services/BS/BSOperateLogService.cs b/APT.MS.Services/Services/BS/BSOperateLogService.cs
index 2ca3dea..abdd457 100644
--- a/APT.MS.Services/Services/BS/BSOperateLogService.cs
+++ b/APT.MS.Services/Services/BS/BSOperateLogService.cs
@@ -35,14 +35,14 @@ namespace APT.BaseData.Services.DomainServices
/// SafeCheckID RiskSubmitID
/// 登入人ID
/// 可为null与 DATA_ID 只有一个
- /// 可为null
- /// 可为null
+ /// 可为null 需要添加下一个节点的人员ID
+ /// 可为null需要添加下一个节点的人员姓名
///
///
/// 默认操作通过的
///
///
- public List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = true)
+ public List GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List ListDATA_ID, List ListUserID, List ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
{
List listResult = new List();
T_BS_OPERATE_LOG modelLogUpdate = null;
@@ -50,56 +50,72 @@ namespace APT.BaseData.Services.DomainServices
{
case OPERATEPOINT_Enums.GotCheck:
//系统触发 只是新增
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckForm:
//BS032保存并发送 到审批流
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin);
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin, null, TASK_ENDDT);
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckAudit:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的待办日志
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的待办日志
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)//最后一个审批人 添加 通知
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckerCheck:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
break;
+ case OPERATEPOINT_Enums.CheckRegisterRun:
+ //检查登记
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++) //发起检查登记
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckRegister, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
case OPERATEPOINT_Enums.CheckRegister:
//检查登记
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++) //发起检查结果确认
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckAgree:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
- if (ListUserID != null && ListUserName != null)
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++) //检查结果确认完 直接到审批
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.CheckResultAudit:
- modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
if (modelLogUpdate != null)
listResult.Add(modelLogUpdate);
if (isEnd) //最后一个审批就归档
{
- listResult.Add(AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID));
+ var logEnd = AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID);
+ logEnd.OPERTETIME = DateTime.Now;
+ if (modelLogUpdate != null)
+ logEnd.ISINTTIME = modelLogUpdate.ISINTTIME;
+ listResult.Add(logEnd);
+ }
+ else if (DATA_ID_SUB != null)
+ {
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskGet, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
}
break;
case OPERATEPOINT_Enums.CheckEnd:
@@ -108,16 +124,99 @@ namespace APT.BaseData.Services.DomainServices
case OPERATEPOINT_Enums.RiskNoticeSD:
break;
case OPERATEPOINT_Enums.RiskUpSD:
+ //有用
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskUpSD, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID, 1, true, DATA_ID_SUB));
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskInfoCompleteSD, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
case OPERATEPOINT_Enums.RiskInfoCompleteSD:
break;
case OPERATEPOINT_Enums.RiskGet:
- //审批结束后 如果有隐患
- if (ListUserID != null && ListUserName != null)
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
for (int i = 0; i < ListUserID.Count; i++)
- listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
break;
- case OPERATEPOINT_Enums.RiskSend:
+ //case OPERATEPOINT_Enums.RiskSend:
+ // modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ // if (modelLogUpdate != null)
+ // listResult.Add(modelLogUpdate);
+ // if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ // for (int i = 0; i < ListUserID.Count; i++)
+ // listResult.Add(AddModel(OPERATEPOINT_Enums.RiskSendAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ // break;
+ case OPERATEPOINT_Enums.RiskSendAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, null, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskAssignActure, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskAssignActure:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskNoticeCheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeCheckerCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskNoticeActureCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskNoticeActureCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskDeal, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskDeal:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskDealDealCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskDealDealCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskDealCheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskDealCheckerCheck:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+ if (ListUserID != null && ListUserName != null && ListUserID.Any())
+ for (int i = 0; i < ListUserID.Count; i++)
+ listResult.Add(AddModel(OPERATEPOINT_Enums.RiskDealAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i, false, DATA_ID_SUB));
+ break;
+ case OPERATEPOINT_Enums.RiskDealAudit:
+ modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin, DATA_ID_SUB, TASK_ENDDT);//处理自己的
+ if (modelLogUpdate != null)
+ listResult.Add(modelLogUpdate);
+
+ var logEndRisk = AddModel(OPERATEPOINT_Enums.RiskEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID);
+ logEndRisk.OPERTETIME = DateTime.Now;
+ if (modelLogUpdate != null)
+ logEndRisk.ISINTTIME = modelLogUpdate.ISINTTIME;
+ listResult.Add(logEndRisk);
+
+ break;
+ case OPERATEPOINT_Enums.RiskEnd:
break;
default:
break;
@@ -144,8 +243,10 @@ namespace APT.BaseData.Services.DomainServices
///
///
///
+ ///
+ /// 是否添加记录 比如没找到记录 直接添加记录
///
- private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0)
+ private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0, bool isAddLog = false, Guid? DATA_ID_SUB = null)
{
T_BS_OPERATE_LOG ModelAdd = new T_BS_OPERATE_LOG()
{
@@ -153,17 +254,17 @@ namespace APT.BaseData.Services.DomainServices
ORG_ID = ORG_ID,
LOGTYPE = ((int)OPERATEPOINT) > 80 ? LOGTYPE_Enums.RiskSubmit : LOGTYPE_Enums.SafeCheck,
DATA_ID = DATA_ID,
- //DATA_ID_SUB = null,
+ DATA_ID_SUB = DATA_ID_SUB,
OPERATEPOINT = OPERATEPOINT,
USER_ID = UserID,
USRTNAME = UserName,
ORDERNO = ORDERNO,
//OPERTETIME = null,
- ISINTTIME = false,
+ //ISINTTIME = false,
CREATE_TIME = DateTime.Now,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID
};
- if (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID)
+ if (isAddLog || (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID))
{
ModelAdd.OPERTETIME = DateTime.Now;//默认通过
}
@@ -178,69 +279,24 @@ namespace APT.BaseData.Services.DomainServices
///
///
///
- private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null)
+ private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null, DateTime? TASK_ENDDT = null)
{
+ if (UserID == Guid.Empty)
+ {
+ return null;
+ }
Expression> expression = e => e.DATA_ID == DATA_ID && e.OPERATEPOINT == OPERATEPOINT && e.USER_ID == UserID;
if (DATA_ID_SUB.HasValue)
expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
var model = GetEntity(expression);
if (model != null)
+ {
model.OPERTETIME = DateTime.Now;
+ if (TASK_ENDDT != null)
+ model.ISINTTIME = (model.OPERTETIME > TASK_ENDDT.Value ? false : true);
+ }
return model;
}
-
- /////
- ///// 关闭上一个操作,添加新的操作
- /////
- ///// 当前操作节点
- /////
- /////
- /////
- /////
- //public List GetOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, Guid? DATA_ID_SUB, bool isNext = true)
- //{
- // T_BS_OPERATE_LOG modelLogUpdate = null;
- // T_BS_OPERATE_LOG modelLogAdd = null;
- // switch (OPERATEPOINT)
- // {
- // case OPERATEPOINT_Enums.GotCheck:
- // //系统触发 只是新增
- // modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
- // break;
- // case OPERATEPOINT_Enums.CheckForm:
- // modelLogUpdate = GetUpdate(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserID, DATA_ID_SUB);
- // modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
-
- // break;
- // case OPERATEPOINT_Enums.CheckAudit:
- // break;
- // case OPERATEPOINT_Enums.CheckerCheck:
- // break;
- // case OPERATEPOINT_Enums.CheckRegister:
- // break;
- // case OPERATEPOINT_Enums.CheckAgree:
- // break;
- // case OPERATEPOINT_Enums.CheckResultAudit:
- // break;
- // case OPERATEPOINT_Enums.CheckEnd:
- // break;
- // case OPERATEPOINT_Enums.RiskNotice:
- // break;
- // case OPERATEPOINT_Enums.RiskUp:
- // break;
- // case OPERATEPOINT_Enums.RiskInfoComplete:
- // break;
- // case OPERATEPOINT_Enums.RiskGet:
- // break;
- // case OPERATEPOINT_Enums.RiskSend:
- // break;
- // default:
- // break;
- // }
-
- // return new List() { modelLogAdd ?? modelLogAdd, modelLogUpdate ?? modelLogUpdate };
- //}
-
}
}
\ No newline at end of file
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckContentsController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckContentsController.cs
index 52cad85..9b8f3ab 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckContentsController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckContentsController.cs
@@ -173,15 +173,49 @@ namespace APT.BS.WebApi.Controllers.Api
{
return SafeExecute(() =>
{
+ if (entity.Nav_ListCheckQuestion == null || !entity.Nav_ListCheckQuestion.Any())
+ {
+ throw new Exception("检查问题不能为空!");
+ }
var listQuestions = entity.Nav_ListCheckQuestion;
entity.Nav_ListCheckQuestion = null;
- this.UnifiedCommit(() =>
+ if (!string.IsNullOrEmpty(entity.StrCheckObject))
{
- if (entity != null)
- UpdateEntityNoCommit(entity);
- if (listQuestions != null && listQuestions.Any())
- BantchSaveEntityNoCommit(listQuestions);
- });
+ List list = entity.StrCheckObject.Split('_', StringSplitOptions.RemoveEmptyEntries).ToList();
+ for (int i = 0; i < list.Count; i++)
+ {
+ try
+ {
+ entity.CHECKOBJECT = (BSMineTypeEnum)int.Parse(list[i]);
+ if (i > 0)
+ {
+ entity.ID = Guid.NewGuid();
+ foreach (var item in listQuestions)
+ {
+ item.CHECK_CONTENTS_ID = entity.ID;
+ }
+ }
+ this.UnifiedCommit(() =>
+ {
+ if (entity != null)
+ UpdateEntityNoCommit(entity);
+ if (listQuestions != null && listQuestions.Any())
+ BantchSaveEntityNoCommit(listQuestions);
+ });
+ }
+ catch { }
+ }
+ }
+ else
+ {
+ this.UnifiedCommit(() =>
+ {
+ if (entity != null)
+ UpdateEntityNoCommit(entity);
+ if (listQuestions != null && listQuestions.Any())
+ BantchSaveEntityNoCommit(listQuestions);
+ });
+ }
return true;
});
}
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckMainController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckMainController.cs
index 2e6c37d..bb88bec 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckMainController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSCheckMainController.cs
@@ -252,6 +252,8 @@ namespace APT.BS.WebApi.Controllers.Api
//第一行是标题 跳过
int rowAll = dtSource.Rows.Count;
+ List list = DataHelper.GetEnum("BSMineTypeEnum");
+ EnumsResult? enumCheck = null;
for (int i = 0; i < rowAll; i++)
{
#region 不能为空
@@ -280,26 +282,13 @@ namespace APT.BS.WebApi.Controllers.Api
strCheckObject = dtSource.Rows[i][0].ToString().Trim();
ICheckObject = 0;
- switch (strCheckObject)
+
+ enumCheck = list.FirstOrDefault(e => e.NAME == strCheckObject);
+ if (enumCheck != null)
{
- case "全公司":
- ICheckObject = 0;
- break;
- case "选矿":
- ICheckObject = 10;
- break;
- case "尾矿":
- ICheckObject = 20;
- break;
- case "矿山":
- ICheckObject = 30;
- break;
- case "地下矿":
- ICheckObject = 40;
- break;
- default:
- break;
+ ICheckObject = enumCheck.ID;
}
+
#endregion
#region 检查区域 1
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs
index bac1665..ee08ae9 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs
@@ -30,6 +30,7 @@ namespace APT.BS.WebApi.Controllers.Api
IPFCodeRuleService CodeRuleService { get; set; }
IPFSysLogService SysLogService { get; set; }
IFMDepartmentService DepartmentService { get; set; }
+ IBSOperateLogService OperateLogService { get; set; }
/////
///// 回调
@@ -38,7 +39,7 @@ namespace APT.BS.WebApi.Controllers.Api
/////
//public delegate void DelegateCallBack(string CALLBACK_INTERFACE, string DATA_ID);
- public BSRiskSubmitController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService)
+ public BSRiskSubmitController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IBSOperateLogService operateLogService)
{
NotificationTaskService = notificationTaskService;
MFlowPermitService = mFlowPermitService;
@@ -46,6 +47,7 @@ namespace APT.BS.WebApi.Controllers.Api
SysLogService = sysLogService;
ApproveCallBackService = approveCallBackService;
DepartmentService = departmentService;
+ OperateLogService = operateLogService;
//DelegateCallBack callBack = new DelegateCallBack(CallBACK);
//callBack += CallBACK;
}
@@ -106,8 +108,14 @@ namespace APT.BS.WebApi.Controllers.Api
modelSub = new T_BS_RISK_SUBMIT();
modelSub.ID = Guid.NewGuid();
modelSub.CODE = entity.CODE;//替换成同一个
-
-
+ if (entity.CHECKOBJECT.HasValue)
+ {
+ try
+ {
+ modelSub.CHECKOBJECT = (BSMineTypeEnum)entity.CHECKOBJECT;
+ }
+ catch { }
+ }
modelSub.NAME = entity.Nav_CheckTypeLevel.Nav_Enums.NAME + entity.Nav_CheckType.NAME;
modelSub.Nav_Check = entity;
modelSub.Nav_CheckType = entity.Nav_CheckType;
@@ -2966,13 +2974,21 @@ namespace APT.BS.WebApi.Controllers.Api
listUser = GetEntities(e => listUserID.Contains(e.ID), null);
}
}
-
+ DateTime? TASK_ENDDT = null;
+ if (task != null)
+ {
+ TASK_ENDDT = task.TASK_ENDDT;
+ }
+ List listLog = new List();
foreach (var item in entityDeal)
{
var entity = item.Nav_SubmitContent;
listContents.Add(entity);
entity.RiskContentState = (int)RiskContentState.ActualDealCheck;
listTask.Add(NotificationTaskService.InsertUserNoticeTaskModel("隐患整改单:" + entity.NAME.Replace("隐患整改通知:", ""), item.ID, entity.ORG_ID, entity.ACTUAL_DEAL_USER_ID.Value, listUser.FirstOrDefault(e => e.ID == entity.ACTUAL_DEAL_USER_ID.Value)?.NAME, DateTime.Now, item.Nav_SubmitContent.LastDateUser.Value, (int)FMNoticeTypeEnum.消息, "BS044"));
+
+
+ listLog.AddRange(OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskNoticeActureCheck, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { entity.ACTUAL_DEAL_USER_ID.Value }, new List() { listUser.FirstOrDefault(e => e.ID == entity.ACTUAL_DEAL_USER_ID.Value)?.NAME }, entity.ORG_ID, item.RISK_SUBMIT_CONTENT_ID, null, false, TASK_ENDDT));
}
this.UnifiedCommit(() =>
@@ -2982,6 +2998,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listContents);
if (listTask != null && listTask.Any())
BantchSaveEntityNoCommit(listTask);
+ if (listLog != null && listLog.Any())
+ BantchSaveEntityNoCommit(listLog);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
@@ -3174,6 +3192,12 @@ namespace APT.BS.WebApi.Controllers.Api
T_FM_NOTIFICATION_TASK task = null;
GetEntityTask(entity.TaskID, ref task, "BS044_SHOWPRINT");
+ DateTime? TASK_ENDDT = null;
+ if (task != null)
+ {
+ TASK_ENDDT = task.TASK_ENDDT;
+ }
+ var listLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskDeal, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { entity.DEAL_USER_ID.Value }, new List() { userDealName }, entity.ORG_ID, entity.RISK_SUBMIT_CONTENT_ID, null, false, TASK_ENDDT);
//修改 model
UnifiedCommit(() =>
@@ -3188,6 +3212,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(files);
if (filesAfter != null && filesAfter.Any())//检查后附件
BantchSaveEntityNoCommit(filesAfter);
+ if (listLog != null && listLog.Any())//日志
+ BantchSaveEntityNoCommit(listLog);
//if (signDeal != null && signDeal.Any())//整改人签名
// BantchSaveEntityNoCommit(signDeal);
});
@@ -3821,13 +3847,15 @@ namespace APT.BS.WebApi.Controllers.Api
// throw new Exception("改整改记录验收人已验收,操作失败!");
//}
}
+ DateTime? TASK_ENDDT = null;
+ if (task != null)
+ TASK_ENDDT = task.TASK_ENDDT;
if (entity.DEALSITUATION == (int)DealSituation.OK)
{
//通过
if (content.RiskContentState == (int)RiskContentState.DealSend)//整改落实人 提交整改记录 整改责任人 验收
{
-
#region 整改责任人验收通过 给验收人发送审核待办
content.RiskContentState = (int)RiskContentState.DealSign;//整改责任人已经签名
@@ -3836,6 +3864,8 @@ namespace APT.BS.WebApi.Controllers.Api
DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_Checker_Check, entity.ORG_ID.Value, DateTime.Now, null, content.LastDateUser);
var notice = NotificationTaskService.InsertUserNoticeTaskModel("验收人确认整改:" + entity.NAME, entity.ID, entity.ORG_ID, entity.CHECK_USER_ID.Value, entity.Nav_UserCheck.NAME, DateTime.Now, dtEnd, (int)FMNoticeTypeEnum.消息, "BS044_CHECK");//隐患整改验收单
+ var listLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskDealDealCheck, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { entity.CHECK_USER_ID.Value }, new List() { entity.Nav_UserCheck.NAME }, entity.ORG_ID, content.ID, null, false, TASK_ENDDT);
+
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);//审核信息 验收状态修改 审批意见 完成情况
@@ -3843,6 +3873,8 @@ namespace APT.BS.WebApi.Controllers.Api
UpdateEntityNoCommit(notice);//给验收人发送整改单通知
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
+ if (listLog != null && listLog.Any())
+ BantchSaveEntityNoCommit(listLog);
});
#endregion
@@ -3898,7 +3930,7 @@ namespace APT.BS.WebApi.Controllers.Api
UpdateEntityNoCommit(entity); //保存主表 NoCommit
//BantchSaveEntityNoCommit(sign); //验收人签名
UpdateEntityNoCommit(content);//上报明细 修改状态
- }, entity.APPROVE_ID, approveUserId, null, null, listCode[1], "", null, "", FMTASKTYPE.BS_RiskUp_DealAudit);
+ }, entity.APPROVE_ID, approveUserId, null, null, listCode[1], "", null, "", FMTASKTYPE.BS_RiskUp_DealAudit, null, null, (int)OPERATEPOINT_Enums.RiskDealCheckerCheck, content.RISK_SUBMIT_ID, content.ID);
#endregion
}
@@ -5629,12 +5661,15 @@ namespace APT.BS.WebApi.Controllers.Api
List listSubmitContentReason = new List();
List listApproveId = new List();
List listId = new List();
+ List listDataID_Sub = new List();
List listParam = new List();
List ListDepIDNone = new List(); //责任部门ID
//通知表单
List listSubmitNotice = new List();
int rowIndex = 0;
+ Dictionary> dicLevelSubID = new Dictionary>();
+ List listLevel = new List();
if (listRiskSubminContentl.Any() && listRiskSubminContentl.Count > 0)
{
foreach (var item in listRiskSubminContentl)
@@ -5688,15 +5723,25 @@ namespace APT.BS.WebApi.Controllers.Api
item.RISK_SUBMIT_NOTICE_ID = modelNotice.ID;
listId.Add(modelNotice.ID);
+ //listDataID_Sub.Add(item.ID);
+ listLevel.Add(item.QUESTION_LEVEL);
listParam.Add(modelNotice.QUESTION_LEVEL.ToString());
listApproveId.Add(modelNotice.APPROVE_ID.Value);
+ dicLevelSubID.Add(item.QUESTION_LEVEL, new List() { item.ID });
}
else
{
item.APPROVE_ID = subTemp.APPROVE_ID;
item.RISK_SUBMIT_NOTICE_ID = subTemp.ID;
+
+ var subIDs = dicLevelSubID[item.QUESTION_LEVEL];
+ subIDs.Add(item.ID);
+ //回头看看是否正常
}
+ //listDataID_Sub.Add(item.ID);//每条明细都要添加记录
+
+
//if (!listParam.Contains(item.QUESTION_LEVEL.ToString()) && !item.RISK_SUBMIT_NOTICE_ID.HasValue)//&& !item.RISK_SUBMIT_NOTICE_ID.HasValue 通知不能重复 2023-04-26(概率发生 看反馈 没得验证)
//{
// #region 不包含此等级 添加通知
@@ -5905,7 +5950,7 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listRiskSubminContentl);
if (listSubmitContentReason.Any())
BantchSaveEntityNoCommit(listSubmitContentReason);
- }, listParam, listApproveId, ApproveIDDependUserID, "BS006_VIEW", null, ListDepIDNone, FMTASKTYPE.BS_RiskUp_Audit);// null =>ApproveIDDependUserID
+ }, listParam, listApproveId, ApproveIDDependUserID, "BS006_VIEW", null, ListDepIDNone, FMTASKTYPE.BS_RiskUp_Audit, null, null, (int)OPERATEPOINT_Enums.RiskGet, entity.ID, listLevel, dicLevelSubID);// null =>ApproveIDDependUserID
}
return true;
});
@@ -6008,7 +6053,7 @@ namespace APT.BS.WebApi.Controllers.Api
}
T_FM_NOTIFICATION_TASK taskMaster = null;
T_FM_NOTIFICATION_TASK taskEnd = null;
-
+ List listLog = null;
//手动上报 保存并发送 通知安全员
if (risk.SUBMIT_STATUS == (int)BSSubmitStatusEnum.Temp)
{
@@ -6083,6 +6128,7 @@ namespace APT.BS.WebApi.Controllers.Api
{
taskEnd = NotificationTaskService.GetEntityTask(entity.TaskID, "BS072_SHOWPRINT");
}
+ listLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskUpSD, risk.ID, risk.USER_ID.Value, null, new List() { UserId }, new List() { userName }, risk.ORG_ID, entity.ID);
}
entity.RiskContentState = null;
@@ -6098,6 +6144,8 @@ namespace APT.BS.WebApi.Controllers.Api
UpdateEntityNoCommit(taskMaster);
if (taskEnd != null)
UpdateEntityNoCommit(taskEnd);
+ if (listLog != null && listLog.Any())
+ BantchSaveEntityNoCommit(listLog);
});
return true;
@@ -6243,12 +6291,15 @@ namespace APT.BS.WebApi.Controllers.Api
var entity = entityContent.Nav_Submit;
if (entity == null)
{
+ //页面传值过来是null
entity = GetEntity(entityContent.RISK_SUBMIT_ID.Value);
entity.SUBMIT_STATUS = entityContent.SUBMIT_STATUS;
if (entityContent.CHECK_TYPE_ID.HasValue)
entity.CHECK_TYPE_ID = entityContent.CHECK_TYPE_ID;
if (entityContent.CHECK_TYPE_LEVEL_ID.HasValue)
entity.CHECK_TYPE_LEVEL_ID = entityContent.CHECK_TYPE_LEVEL_ID;
+ if (entityContent.CHECKOBJECT.HasValue)
+ entity.CHECKOBJECT = entityContent.CHECKOBJECT;
}
var files = entityContent.Nav_Files;
entityContent.Nav_Files = null;
@@ -6260,6 +6311,8 @@ namespace APT.BS.WebApi.Controllers.Api
if (entity.SUBMIT_STATUS != (int)BSSubmitStatusEnum.Temp)
{
//手动上报
+ if (!entity.CHECKOBJECT.HasValue)
+ throw new Exception("请选择检查区域!");
if (!entity.CHECK_TYPE_ID.HasValue)
throw new Exception("请选择检查类型!");
if (!entity.CHECK_TYPE_LEVEL_ID.HasValue)
@@ -6529,7 +6582,9 @@ namespace APT.BS.WebApi.Controllers.Api
//如果是手动隐患上报 根据明细的 整改责任人 来走审批流 20240118
Guid? ApproveIDDependUserID = entityContent.DEAL_USER_ID;
-
+ List listLevel = new List() { entityContent.QUESTION_LEVEL };
+ Dictionary> dic = new Dictionary>();
+ dic.Add(entityContent.QUESTION_LEVEL, new List() { entityContent.ID });
//??????
////给通知责任人 发送通知
////通知责任人 确定 后 走审批流
@@ -6547,7 +6602,7 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(files);
if (listRiskQuestionReason != null && listRiskQuestionReason.Any())
BantchSaveEntityNoCommit(listRiskQuestionReason);
- }, listParam, listApproveId, ApproveIDDependUserID, "BS073_SHOWPRINT", null, ListDepIDNone, FMTASKTYPE.BS_RiskUp_Audit);// null =>ApproveIDDependUserID
+ }, listParam, listApproveId, ApproveIDDependUserID, "BS073_SHOWPRINT", null, ListDepIDNone, FMTASKTYPE.BS_RiskUp_Audit, null, null, ((int)OPERATEPOINT_Enums.RiskInfoCompleteSD), entity.ID, listLevel, dic);// null =>ApproveIDDependUserID
}
return true;
});
@@ -6593,7 +6648,7 @@ namespace APT.BS.WebApi.Controllers.Api
List listDealF = new List();
List listNoticeDeal = new List();
T_BS_RISK_SUBMIT_CONTENT_DEAL dealTemp = null;
-
+ List listLog = new List();
listRiskSubminContentl.ForEach(item =>
{
if (item.CHECK_USER_ID == LoginID)
@@ -6607,7 +6662,13 @@ namespace APT.BS.WebApi.Controllers.Api
}
});
-
+ T_FM_NOTIFICATION_TASK task = null;
+ GetEntityTask(TaskID, ref task);
+ DateTime? TASK_ENDDT = null;
+ if (task != null)
+ {
+ TASK_ENDDT = task.TASK_ENDDT;
+ }
//给验收人 发送通知
DateTime dtEnd = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.BS_RiskUp_ActualDealNotice, entity.ORG_ID.Value, DateTime.Now, null, null);
foreach (var item in listRiskSubminContentl)
@@ -6674,11 +6735,12 @@ namespace APT.BS.WebApi.Controllers.Api
notice.CREATE_TIME = dtNow;
listNoticeDeal.Add(notice);
+
+
+ listLog.AddRange(OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskNoticeCheckerCheck, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, new List() { dealTemp.ACTUAL_DEAL_USER_ID.Value }, new List() { item.Nav_UserActualDeal.NAME }, entity.ORG_ID, item.ID, null, false, TASK_ENDDT));
}
}
- T_FM_NOTIFICATION_TASK task = null;
- GetEntityTask(TaskID, ref task);
/// 整改落实人 确认整改通知单 系统发送整改单给整改落实人
//UpdateActualDealRecord
@@ -6701,6 +6763,9 @@ namespace APT.BS.WebApi.Controllers.Api
}
+ //OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskAssignActure, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListNoticeAll, ListNoticeAllNAME, entity.ORG_ID, item.ID, null, false, TASK_ENDDT);
+
+
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);//保存状态
@@ -6712,6 +6777,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntity(listRiskSubminContentl); //保存子表
if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
BantchSaveEntity(listNoticeDeal);
+ if (listLog != null && listLog.Any())//操作日志
+ BantchSaveEntity(listLog);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitNoticePersonController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitNoticePersonController.cs
index 9ce94a6..7aaad49 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitNoticePersonController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitNoticePersonController.cs
@@ -26,13 +26,15 @@ namespace APT.BS.WebApi.Controllers.Api
IPFCodeRuleService CodeRuleService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; }
IFMDepartmentService DepartmentService { get; set; }
- public BSRiskSubmitNoticePersonController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService)
+ IBSOperateLogService OperateLogService { get; set; }
+ public BSRiskSubmitNoticePersonController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IBSOperateLogService operateLogService)
{
NotificationTaskService = notificationTaskService;
MFlowPermitService = mFlowPermitService;
CodeRuleService = codeRuleService;
ApproveCallBackService = approveCallBackService;
DepartmentService = departmentService;
+ OperateLogService = operateLogService;
}
@@ -169,6 +171,7 @@ namespace APT.BS.WebApi.Controllers.Api
// throw new Exception("您不是此单的整改责任人,不能处理此单据!");
//}
T_FM_NOTIFICATION_TASK task = null;
+ DateTime? TASK_ENDDT = null;
if (entity.OPERATETYPE == OperateType.Save)
{
List listIndex = new List();
@@ -194,6 +197,8 @@ namespace APT.BS.WebApi.Controllers.Api
}
task = NotificationTaskService.GetEntityTask(entity.TaskID, "BS074_SHOWPRINT");
+ if (task != null)
+ TASK_ENDDT = task.TASK_ENDDT;
}
//审核人 同意
@@ -202,7 +207,9 @@ namespace APT.BS.WebApi.Controllers.Api
//entity.Nav_ListRiskSubmitContent = null;//不能有 不然 对应外键 会被清空
List ListNoticeAll = new List();
List ListNoticeAllNAME = new List();
+ List listOperateLog = new List();
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;//整改落实人默认 整改责任人
@@ -219,10 +226,11 @@ namespace APT.BS.WebApi.Controllers.Api
//给责任人 发送通知
listNoticeDeal.AddRange(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("隐患整改通知:", "")
+
+ listOperateLog.AddRange(OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.RiskAssignActure, entity.RISK_SUBMIT_ID.Value, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListNoticeAll, ListNoticeAllNAME, entity.ORG_ID, item.ID, null, false, TASK_ENDDT));
}
});
-
this.UnifiedCommit(() =>
{
UpdateEntityNoCommit(entity);//保存状态
@@ -230,6 +238,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntity(listRiskSubminContentl); //保存子表
if (listNoticeDeal != null && listNoticeDeal.Any())//整改责任人 按条数 收到整改单
BantchSaveEntity(listNoticeDeal);
+ if (listOperateLog != null && listOperateLog.Any())//日志
+ BantchSaveEntity(listOperateLog);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs
index 4a79776..8aae82a 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs
@@ -33,7 +33,8 @@ namespace APT.BS.WebApi.Controllers.Api
IFMDepartmentService DepartmentService { get; set; }
IPFSysLogService SysLogService { get; set; }
IFMUserService UserService { get; set; }
- public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService, IFMUserService userService)
+ IBSOperateLogService OperateLogService { get; set; }
+ public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService, IFMUserService userService, IBSOperateLogService operateLogService)
{
NotificationTaskService = notificationTaskService;
MFlowPermitService = mFlowPermitService;
@@ -42,6 +43,7 @@ namespace APT.BS.WebApi.Controllers.Api
DepartmentService = departmentService;
SysLogService = sysLogService;
UserService = userService;
+ OperateLogService = operateLogService;
}
#region 安全检查表单设计
@@ -1268,7 +1270,7 @@ namespace APT.BS.WebApi.Controllers.Api
#region 数据验证 表单数据处理 listDetail listUser
//string FORM_CODE = "";
- if (entity.Nav_ListSafeCheckDetail == null || entity.Nav_ListSafeCheckDetail.Count < 1)
+ if (entity.Nav_ListSafeCheckDetail == null || !entity.Nav_ListSafeCheckDetail.Any())
{
this.ThrowError("010001", "检查明细不能为空【选择检查项目分类,系统会自动带出检查明细】!");
}
@@ -2099,7 +2101,7 @@ namespace APT.BS.WebApi.Controllers.Api
BantchDeleteEntityNoCommit(listDelCategoryID);
if (listDelUserIDs != null)
BantchDeleteEntityNoCommit(listDelUserIDs);
- }, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME, (int)OPERATEPOINT_Enums.CheckForm);//, entity.LIMITDATETIME
+ }, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME, (int)OPERATEPOINT_Enums.CheckForm, entity.ID);//, entity.LIMITDATETIME
#endregion
}
@@ -2206,6 +2208,8 @@ namespace APT.BS.WebApi.Controllers.Api
}
catch { }
}
+ var listOperateLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.CheckerCheck, entity.ID, LoginID, null, null, null, entity.ORG_ID, null, null, false, task.TASK_ENDDT);
+
if (isLast)
{
//最后一个检查 给检查主要负责人 发送待办
@@ -2220,6 +2224,8 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listDetailUser);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
+ if (listOperateLog != null && listOperateLog.Any())
+ BantchSaveEntityNoCommit(listOperateLog);
});
//List listUserID = new List();
@@ -2267,6 +2273,8 @@ namespace APT.BS.WebApi.Controllers.Api
{
if (listDetailUser.Count > 0)
BantchSaveEntityNoCommit(listDetailUser);
+ if (listOperateLog != null && listOperateLog.Any())
+ BantchSaveEntityNoCommit(listOperateLog);
if (task != null)//代办消息 清除
UpdateEntityNoCommit(task, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
});
@@ -4375,6 +4383,37 @@ namespace APT.BS.WebApi.Controllers.Api
}
else
{
+ List listUserIDLog = new List();
+ List listUserNameLog = new List();
+ foreach (var item in listDetail)
+ {
+ IEnumerable listUserLogID = null;
+ Func predicate = e => e.USER_ID != UserID && !listUserIDLog.Contains(e.USER_ID);
+ if (!isSign)
+ {
+ //别人 且不是登记人
+ listUserLogID = item.Nav_ListCheckDetailUser.Where(e => e.USER_ID != UserID && !listUserIDLog.Contains(e.USER_ID) && !e.ISMAINCHECK).Select(e => e.USER_ID);
+ }
+ else
+ {
+ //别人
+ listUserLogID = item.Nav_ListCheckDetailUser.Where(e => e.USER_ID != UserID && !listUserIDLog.Contains(e.USER_ID)).Select(e => e.USER_ID);
+ }
+
+ if (listUserLogID != null && listUserLogID.Any())
+ {
+ listUserIDLog.AddRange(listUserLogID);
+ }
+ }
+ if (listUserIDLog != null && listUserIDLog.Any())
+ {
+ var listUserLog = GetEntities(e => listUserIDLog.Contains(e.ID), null, null);
+ foreach (var item in listUserIDLog)
+ {
+ listUserNameLog.Add(listUserLog.FirstOrDefault(e => e.ID == item)?.NAME);
+ }
+ }
+
string FORM_CODE = "BS034";
//代办
T_FM_NOTIFICATION_TASK task = null;
@@ -4384,6 +4423,7 @@ namespace APT.BS.WebApi.Controllers.Api
task = NotificationTaskService.GetTaskFinishModel(entity.TaskID, "BS034_VIEW");
}
+ List listOpLog = null;
//检查确认记录
T_BS_SAFE_CHECK_RECORD Record = null;
if (!isSign)
@@ -4415,6 +4455,8 @@ namespace APT.BS.WebApi.Controllers.Api
{
taskCheck.NOTICE_STATUS = 2;
}
+
+ listOpLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.CheckerCheck, entity.ID, UserID, null, listUserIDLog, listUserNameLog, entity.ORG_ID, null, null, false, taskCheck.TASK_ENDDT);//检查记录确认 默认 处理 检查通知确认
}
}
@@ -4432,11 +4474,23 @@ namespace APT.BS.WebApi.Controllers.Api
// FORM_CODE = "BS034";
//}
+
+
#region 查看是否都审批完成 新版 (如果中途添加审批流 可能直接就是审批人 会默认过(其实多组人填单,还有人没填就走了一个审批流) 最后一个确认人 还是给第一个审批人 发送待办)
var UserUnSignCheck = this.GetEntities(e => e.SAFE_CHECK_ID == entity.ID && e.USER_ID != UserID && e.SAFECHECKSTATE.HasValue && e.SAFECHECKSTATE != 80, null, null);//&& !e.ISCHECK = > ISSAMEMAINCHECKOK && !e.ISCHECK
if (UserUnSignCheck != null && UserUnSignCheck.Count() > 0)
{
+ listOpLog = new List();
+ if (isSign)
+ {
+ listOpLog.AddRange(OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.CheckRegister, entity.ID, UserID, null, listUserIDLog, listUserNameLog, entity.ORG_ID, null, null, false, (task != null ? task.TASK_ENDDT : null)));//操作记录
+ }
+ else
+ {
+ listOpLog.AddRange(OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.CheckAgree, entity.ID, UserID, null, listUserIDLog, listUserNameLog, entity.ORG_ID, null, null, false, (task != null ? task.TASK_ENDDT : null)));//操作记录
+ }
+
//如果还有人没有填单或者确认
//如果是主要检查人 判断 给次要检查人 添加 待办
@@ -4588,10 +4642,16 @@ namespace APT.BS.WebApi.Controllers.Api
BantchSaveEntityNoCommit(listCheckRecordDetail);//确认 明细
if (Record != null)
UpdateEntityNoCommit(Record); //保存主表
+ if (listOpLog != null && listOpLog.Any())
+ BantchSaveEntityNoCommit(listOpLog);//日志
});
}
else
{
+ ////最后一个人确认 、 发送审批流
+ //listOpLog = OperateLogService.GetListOperateLog(OPERATEPOINT_Enums.CheckAgree, entity.ID, UserID, null, listUserIDLog, listUserNameLog, entity.ORG_ID, null, null, false, (task != null ? task.TASK_ENDDT : null));//操作记录
+
+
if (entity.STATECHECK == STATECHECK.Approving && entity.APPROVE_CHECKAUDIT_ID.HasValue)
{
if (entity.TaskID != Guid.Empty)
@@ -4772,7 +4832,9 @@ namespace APT.BS.WebApi.Controllers.Api
// BantchDeleteEntityNoCommit(listIDDel);
if (Record != null)//检查记录
UpdateEntityNoCommit(Record);
- }, entity.APPROVE_CHECKAUDIT_ID, entity.USERID_DOPLAN, null, null, null, "BS034_VIEW", null, entity.NAME.Replace("任务表", "记录表") + "-审批", FMTASKTYPE.BS_SafeCheck_Audit, null, entity.LIMITDATETIME);
+ if (listOpLog != null && listOpLog.Count > 0)
+ BantchSaveEntityNoCommit(listOpLog);//日志
+ }, entity.APPROVE_CHECKAUDIT_ID, entity.USERID_DOPLAN, null, null, null, "BS034_VIEW", null, entity.NAME.Replace("任务表", "记录表") + "-审批", FMTASKTYPE.BS_SafeCheck_Audit, null, entity.LIMITDATETIME, ((int)OPERATEPOINT_Enums.CheckAgree), entity.ID);
#endregion
diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckDetailRejectController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckDetailRejectController.cs
index fd6c6a5..764648c 100644
--- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckDetailRejectController.cs
+++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckDetailRejectController.cs
@@ -187,8 +187,14 @@ namespace APT.BS.WebApi.Controllers.Api
}
modelResult.Nav_Reject = modelReject;
- T_FM_USER modelUser = GetEntity(modelResult.USERID_REJECT.Value);//.CREATER_ID APP显示退回人 修改 riskSumbitDetailBack
- modelReject.Nav_User = modelUser;
+ var userID = modelReject.CREATER_ID;
+ if (userID == null)
+ userID = modelResult.USERID_REJECT;
+ if (userID.HasValue)
+ {
+ T_FM_USER modelUser = GetEntity(userID.Value);//.CREATER_ID APP显示退回人 修改 riskSumbitDetailBack
+ modelReject.Nav_User = modelUser;
+ }
if (DataHelper.GetRequestType(Request.Headers) == 2 && modelResult.Nav_ListCheckDetailQuestion != null && modelResult.Nav_ListCheckDetailQuestion.Any())
{
modelResult.Nav_ListCheckDetailQuestion.ForEach(e =>
@@ -306,12 +312,13 @@ namespace APT.BS.WebApi.Controllers.Api
//检查明细 IS_REJECTING false USERID_REJECT 置空
//如果有修改 修改之前的检查详情 修改之前的检查明细问题
List listTaskToday = new List();
+ var safeCheck = GetEntity(entity.SAFE_CHECK_ID);
if (Reject.RESULT == RejectResult.ResultSame)
{
//相同
var UserReject = GetEntity(entity.USERID_REJECT.Value);
- listTaskToday.Add(NotificationTaskService.InsertUserNoticeTaskModel("检查退回结果保持不变", entity.ID, entity.ORG_ID, UserReject.ID, UserReject.NAME, DateTime.Now, 2, "", FMTASKTYPE.Default));
+ listTaskToday.Add(NotificationTaskService.InsertUserNoticeTaskModel("检查退回结果保持不变【编号:" + safeCheck.CODE + ",序号:" + entity.ROW_NO + "】", entity.ID, entity.ORG_ID, UserReject.ID, UserReject.NAME, DateTime.Now, 2, "", FMTASKTYPE.Default));
}
else
@@ -333,7 +340,6 @@ namespace APT.BS.WebApi.Controllers.Api
}
});
- var safeCheck = GetEntity(entity.SAFE_CHECK_ID);
listTaskToday.AddRange(NotificationTaskService.InsertUserNoticeTaskModels("检查明细结果修改【编号:" + safeCheck.CODE + ",序号:" + entity.ROW_NO + "】", entity.ID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, 2, "", FMTASKTYPE.Default));
}
}