代码同步 SPS=>SMS

This commit is contained in:
wyw 2024-05-23 13:49:45 +08:00
parent 2dcb1eaaea
commit 07b47b5399
14 changed files with 935 additions and 201 deletions

View File

@ -52,7 +52,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// <param name="dicApproveDepartMentID">自定义审批流程人员部门信息</param>
/// <param name="approveTaskName">审批流名称</param>
/// <returns></returns>
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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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);
/// <summary>
/// 发布审批流
@ -84,7 +84,7 @@ namespace APT.BaseData.Domain.IServices.FM
/// <param name="listApproveId">审批流ID主表如果有存传值进来 </param>
/// <param name="approveUserId">审批用户(主表如果有存传值进来 </param>
/// <exception cref="Exception"></exception>
void InsertApproveRisk(List<string> listSerialCode, string fromCode, List<Guid> listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List<string> listParam = null, List<Guid> listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List<Guid> ListDepIDNone = null, Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null);
void InsertApproveRisk(List<string> listSerialCode, string fromCode, List<Guid> listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List<string> listParam = null, List<Guid> listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List<Guid> ListDepIDNone = null, Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null, Guid? RiskID = null, List<int> listLevel = null, Dictionary<int, List<Guid>> dicLevelSubID = null);
/// <summary>
/// 获取流水码
/// </summary>

View File

@ -316,7 +316,7 @@ namespace APT.BaseData.Services.Services.FM
/// <param name="operaterID"></param>
/// <param name="approveTaskName">审批流名称</param>
/// <returns></returns>
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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<Guid> ListUserID = new List<Guid>();
List<string> ListUserName = new List<string>();
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<T_FM_USER>(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
/// <param name="operaterID">发起者 用户ID 如未传参 默认当前登陆者 如果审批流包含此人 默认审批流从他开始 他所在节点默认审批通过</param>
/// <param name="ListDepIDNone">审批流未找到审批人默认组织安全员</param>
/// <exception cref="Exception"></exception>
public void InsertApproveRisk(List<string> listSerialCode, string fromCode, List<Guid> listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List<string> listParam = null, List<Guid> listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List<Guid> ListDepIDNone = null, FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null)
public void InsertApproveRisk(List<string> listSerialCode, string fromCode, List<Guid> listID, string approveCode, Guid? finishNoticeId, bool isSendMessage, Action action, List<string> listParam = null, List<Guid> listApproveId = null, Guid? approveUserId = null, string taskSourceFormCode = "", Guid? operaterID = null, List<Guid> ListDepIDNone = null, FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null, Guid? RiskID = null, List<int> listLevel = null, Dictionary<int, List<Guid>> dicLevelSubID = null) //List<Guid> listDataID_Sub
{
#region
@ -1111,6 +1089,7 @@ namespace APT.BaseData.Services.Services.FM
#endregion
List<T_PF_APPROVE> listApprove = new List<T_PF_APPROVE>();
List<T_BS_OPERATE_LOG> listBSLog = new List<T_BS_OPERATE_LOG>();
List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>();
List<T_PF_APPROVE_DETAIL> appdetailsTemp = null;
IEnumerable<T_PF_APPROVAL_ROLE> iEnumApprovalRole = null;
@ -1349,6 +1328,24 @@ namespace APT.BaseData.Services.Services.FM
}
appdetails.AddRange(appdetailsTemp);
listApprove.Add(approve);
List<Guid> 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<Guid> 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;
}
/// <summary>
/// 根据部门树查找审核人
/// </summary>
@ -1985,10 +2003,120 @@ namespace APT.BaseData.Services.Services.FM
//#endregion
private List<T_BS_OPERATE_LOG> GetOperateLogInfo(Guid? dataId, Guid? ORG_ID, List<T_PF_APPROVE_DETAIL> appdetails, int? iBSOperateEnum, T_FM_NOTIFICATION_TASK finishNotice, Guid? DATA_ID_SUB = null)
{
List<T_BS_OPERATE_LOG> listOperateLog = null;
if (iBSOperateEnum.HasValue && dataId.HasValue)
{
List<Guid> ListUserIDDone = new List<Guid>();
try
{
OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
List<Guid> ListUserID = new List<Guid>();
List<string> ListUserName = new List<string>();
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<T_FM_USER>(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;
}
/// <summary>
/// 更新某个 日志 并且添加多组带操作日志
/// </summary>
/// <param name="dataId"></param>
/// <param name="ORG_ID"></param>
/// <param name="appdetails"></param>
/// <param name="iBSOperateEnum"></param>
/// <param name="finishNotice"></param>
/// <param name="DATA_ID_SUB"></param>
/// <returns></returns>
private List<T_BS_OPERATE_LOG> GetOperateLogInfo(Guid? dataId, Guid? ORG_ID, List<T_PF_APPROVE_DETAIL> appdetails, int? iBSOperateEnum, T_FM_NOTIFICATION_TASK finishNotice, List<Guid> ListDATA_ID_SUB)
{
List<T_BS_OPERATE_LOG> listOperateLog = null;
if (iBSOperateEnum.HasValue && dataId.HasValue)
{
List<Guid> ListUserIDDone = new List<Guid>();
try
{
OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
List<Guid> ListUserID = new List<Guid>();
List<string> ListUserName = new List<string>();
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<T_FM_USER>(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<T_BS_OPERATE_LOG>();
//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<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true)
public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
{
List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
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
/// <param name="UserName"></param>
/// <param name="ORG_ID"></param>
/// <returns></returns>
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
/// <param name="DATA_ID"></param>
/// <param name="UserID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <param name="TASK_ENDDT"></param>
/// <returns></returns>
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<Func<T_BS_OPERATE_LOG, bool>> 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

View File

@ -23,6 +23,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Security.Cryptography;
@ -6352,6 +6353,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", () =>
{
@ -6371,7 +6380,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);
}
@ -6692,9 +6702,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
@ -6801,6 +6817,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<Guid>() { entity.USERID_DOPLAN.Value }, new List<string>() { 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<Guid>() { entity.USERID_DOPLAN.Value }, new List<string>() { 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)
@ -6827,11 +6852,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(() =>
@ -6856,6 +6885,8 @@ namespace APT.BaseData.Services.DomainServices
BantchUpdateEntityNoCommit(listCheckDetail);
if (listUpdateMain != null && listUpdateMain.Any())//安全检查库修改不可用
BantchUpdateEntityNoCommit(listUpdateMain);
if (listOperateLog != null && listOperateLog.Any())//操作记录
BantchSaveEntityNoCommit(listOperateLog);
});
}
}
@ -6864,6 +6895,7 @@ namespace APT.BaseData.Services.DomainServices
/// <summary>
/// 隐患上报 审核通过 给每个通知负责人发送通知
/// </summary>
@ -7356,15 +7388,28 @@ namespace APT.BaseData.Services.DomainServices
//}
#endregion
}
List<T_BS_OPERATE_LOG> listOperateLog = new List<T_BS_OPERATE_LOG>();
//更新日期
//给隐患上报隐患通知责任人 发送待办
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<Guid>() { listUserID[j] }, new List<string>() { listUserName[j] }, entity.ORG_ID, item.ID, null, false, taskFinish?.TASK_ENDDT));
break;
}
}
}
}
else
{
@ -7403,12 +7448,17 @@ namespace APT.BaseData.Services.DomainServices
BantchSaveEntityNoCommit(listMainConbinQuestionAdd);
if (listSafecheckDetail.Count > 0)//确定检查问题 添加安全检查记录
BantchUpdateEntityNoCommit(listSafecheckDetail);
if (listOperateLog != null && listOperateLog.Any())//操作记录
BantchSaveEntityNoCommit(listOperateLog);
});
}
return true;
}
/// <summary>
/// 隐患上报 完成 修改各种状态 完善隐患库
/// </summary>
@ -7722,9 +7772,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)//添加组合数据 修改的安全库、隐患库
@ -7744,6 +7795,8 @@ namespace APT.BaseData.Services.DomainServices
UpdateEntityNoCommit(modelCheck);
if (mainDep != null)
UpdateEntityNoCommit(mainDep);
if (listOperateLog != null && listOperateLog.Any())//操作记录
BantchSaveEntityNoCommit(listOperateLog);
});
}
return true;
@ -8062,5 +8115,214 @@ namespace APT.BaseData.Services.DomainServices
//}
//#endregion
#region BSOperateLogService
public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
{
List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
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;
}
/// <summary>
/// 获取新记录
/// </summary>
/// <param name="OPERATEPOINT"></param>
/// <param name="DATA_ID"></param>
/// <param name="UserID"></param>
/// <param name="UserName"></param>
/// <param name="ORG_ID"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取需要修改的Model
/// </summary>
/// <param name="OPERATEPOINT">操作节点</param>
/// <param name="DATA_ID"></param>
/// <param name="UserID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <param name="TASK_ENDDT"></param>
/// <returns></returns>
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<Func<T_BS_OPERATE_LOG, bool>> 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
}
}

View File

@ -49,7 +49,8 @@ builder.HasOne(t => t.Nav_CheckProject).WithMany().HasForeignKey(t => t.CHECK_PR
public override void Configure(EntityTypeBuilder<T_BS_CHECK_CONTENTS> builder)
{
base.Configure(builder);
builder.Property(t => t.CHECKCONTENT).HasMaxLength(500);
builder.Ignore(t => t.StrCheckObject);
builder.Property(t => t.CHECKCONTENT).HasMaxLength(500);
}
}
#endregion

View File

@ -21,6 +21,13 @@ namespace APT.MS.Domain.Entities.BS
[FormFieldEdit]
public BSMineTypeEnum CHECKOBJECT { get; set; }
/// <summary>
/// 检查对象
/// </summary>
[Description("检查对象")]
[DataFieldIngore]
public virtual string StrCheckObject { get; set; }
/// <summary>
/// 检查内容
/// </summary>

View File

@ -63,9 +63,9 @@ namespace APT.MS.Domain.Entities.BS
public DateTime? OPERTETIME { get; set; }
/// <summary>
/// 是否
/// 是否
/// </summary>
[Description("是否时")]
[Description("是否时")]
public bool? ISINTTIME { get; set; }
}
}

View File

@ -134,19 +134,19 @@ namespace APT.MS.Domain.Enums
/// <summary>
/// 选矿
/// </summary>
[Description("选矿")]
[Description("选矿")]
MineChoose = 10,
/// <summary>
/// 尾矿
/// </summary>
[Description("尾矿")]
[Description("尾矿")]
Minelast = 20,
/// <summary>
/// 矿山
/// </summary>
[Description("")]
[Description("露天矿")]
Mine = 30,
/// <summary>
@ -1425,6 +1425,12 @@ namespace APT.MS.Domain.Enums
[Description("检查任务确认")]
CheckerCheck = 40,
/// <summary>
/// 跑批检查登记 48
/// </summary>
[Description("跑批检查登记")]
CheckRegisterRun = 48,
/// <summary>
/// 检查登记 50
/// </summary>
@ -1472,12 +1478,66 @@ namespace APT.MS.Domain.Enums
[Description("隐患待上报")]
RiskGet = 120,
///// <summary>
///// 隐患上报 130 (弃用)
///// </summary>
//[Description("隐患上报")]
//RiskSend = 130,
/// <summary>
/// 隐患上报 130
/// 隐患上报审批 130
/// </summary>
[Description("隐患上报")]
RiskSend =130,
[Description("隐患上报审批")]
RiskSendAudit = 130,
/// <summary>
/// 整改责任人指定落实人 140
/// </summary>
[Description("指定落实人")]
RiskAssignActure = 140,
/// <summary>
/// 验收人确认 150
/// </summary>
[Description("验收人确认")]
RiskNoticeCheckerCheck = 150,
/// <summary>
/// 整改落实人确认 160
/// </summary>
[Description("整改落实人确认")]
RiskNoticeActureCheck = 160,
//延期申请
/// <summary>
/// 整改落实人确认 180
/// </summary>
[Description("整改落实人整改")]
RiskDeal = 180,
/// <summary>
/// 整改责任人确认 190
/// </summary>
[Description("整改责任人确认")]
RiskDealDealCheck = 190,
/// <summary>
/// 整改验收人确认 200
/// </summary>
[Description("整改验收人确认")]
RiskDealCheckerCheck = 200,
/// <summary>
/// 整改审批 210
/// </summary>
[Description("整改审批")]
RiskDealAudit = 210,
/// <summary>
/// 整改结束 220
/// </summary>
[Description("整改结束")]
RiskEnd = 220,
}
}

View File

@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace APT.BaseData.Domain.IServices
{
public interface IBSOperateLogService
public interface IBSOperateLogService
{
/// <summary>
/// 直接添加多个操作
@ -23,6 +23,6 @@ namespace APT.BaseData.Domain.IServices
/// <param name="ListUserIDDone">默认操作通过的</param>
/// <param name="isEnd"></param>
/// <returns></returns>
List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true);
List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null);
}
}

View File

@ -35,14 +35,14 @@ namespace APT.BaseData.Services.DomainServices
/// <param name="DATA_ID">SafeCheckID RiskSubmitID</param>
/// <param name="UserIDLogin">登入人ID</param>
/// <param name="ListDATA_ID">可为null与 DATA_ID 只有一个</param>
/// <param name="ListUserID">可为null</param>
/// <param name="ListUserName">可为null</param>
/// <param name="ListUserID">可为null 需要添加下一个节点的人员ID</param>
/// <param name="ListUserName">可为null需要添加下一个节点的人员姓名</param>
/// <param name="ORG_ID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <param name="ListUserIDDone">默认操作通过的</param>
/// <param name="isEnd"></param>
/// <returns></returns>
public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true)
public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = false, DateTime? TASK_ENDDT = null)
{
List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
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
/// <param name="UserID"></param>
/// <param name="UserName"></param>
/// <param name="ORG_ID"></param>
/// <param name="ORDERNO"></param>
/// <param name="isAddLog">是否添加记录 比如没找到记录 直接添加记录</param>
/// <returns></returns>
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
/// <param name="UserID"></param>
/// <param name="DATA_ID_SUB"></param>
/// <returns></returns>
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<Func<T_BS_OPERATE_LOG, bool>> 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;
}
///// <summary>
///// 关闭上一个操作,添加新的操作
///// </summary>
///// <param name="OPERATEPOINT">当前操作节点</param>
///// <param name="DATA_ID"></param>
///// <param name="UserID"></param>
///// <param name="UserName"></param>
///// <returns></returns>
//public List<T_BS_OPERATE_LOG> 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<T_BS_OPERATE_LOG>() { modelLogAdd ?? modelLogAdd, modelLogUpdate ?? modelLogUpdate };
//}
}
}

View File

@ -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<string> 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;
});
}

View File

@ -252,6 +252,8 @@ namespace APT.BS.WebApi.Controllers.Api
//第一行是标题 跳过
int rowAll = dtSource.Rows.Count;
List<EnumsResult> 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

View File

@ -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; }
///// <summary>
///// 回调
@ -38,7 +39,7 @@ namespace APT.BS.WebApi.Controllers.Api
///// <param name="DATA_ID"></param>
//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<T_FM_USER>(e => listUserID.Contains(e.ID), null);
}
}
DateTime? TASK_ENDDT = null;
if (task != null)
{
TASK_ENDDT = task.TASK_ENDDT;
}
List<T_BS_OPERATE_LOG> listLog = new List<T_BS_OPERATE_LOG>();
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<Guid>() { entity.ACTUAL_DEAL_USER_ID.Value }, new List<string>() { 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<Guid>() { entity.DEAL_USER_ID.Value }, new List<string>() { 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<Guid>() { entity.CHECK_USER_ID.Value }, new List<string>() { 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<T_BS_RISK_SUBMIT_CONTENT_REASON> listSubmitContentReason = new List<T_BS_RISK_SUBMIT_CONTENT_REASON>();
List<Guid> listApproveId = new List<Guid>();
List<Guid> listId = new List<Guid>();
List<Guid> listDataID_Sub = new List<Guid>();
List<string> listParam = new List<string>();
List<Guid> ListDepIDNone = new List<Guid>(); //责任部门ID
//通知表单
List<T_BS_RISK_SUBMIT_NOTICE> listSubmitNotice = new List<T_BS_RISK_SUBMIT_NOTICE>();
int rowIndex = 0;
Dictionary<int, List<Guid>> dicLevelSubID = new Dictionary<int, List<Guid>>();
List<int> listLevel = new List<int>();
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<Guid>() { 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<T_BS_OPERATE_LOG> 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<Guid>() { UserId }, new List<string>() { 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<T_BS_RISK_SUBMIT>(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<int> listLevel = new List<int>() { entityContent.QUESTION_LEVEL };
Dictionary<int, List<Guid>> dic = new Dictionary<int, List<Guid>>();
dic.Add(entityContent.QUESTION_LEVEL, new List<Guid>() { 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<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE> listDealF = new List<T_BS_RISK_SUBMIT_CONTENT_DEAL_FILE>();
List<T_FM_NOTIFICATION_TASK> listNoticeDeal = new List<T_FM_NOTIFICATION_TASK>();
T_BS_RISK_SUBMIT_CONTENT_DEAL dealTemp = null;
List<T_BS_OPERATE_LOG> listLog = new List<T_BS_OPERATE_LOG>();
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<Guid>() { dealTemp.ACTUAL_DEAL_USER_ID.Value }, new List<string>() { 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");
});

View File

@ -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<int> listIndex = new List<int>();
@ -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<Guid> ListNoticeAll = new List<Guid>();
List<string> ListNoticeAllNAME = new List<string>();
List<T_BS_OPERATE_LOG> listOperateLog = new List<T_BS_OPERATE_LOG>();
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");
});

View File

@ -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<T_BS_SAFE_CHECK_PROJECT_CATEGORY>(listDelCategoryID);
if (listDelUserIDs != null)
BantchDeleteEntityNoCommit<T_BS_SAFE_CHECK_DETAIL_USER>(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<Guid> listUserID = new List<Guid>();
@ -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<Guid> listUserIDLog = new List<Guid>();
List<string> listUserNameLog = new List<string>();
foreach (var item in listDetail)
{
IEnumerable<Guid> listUserLogID = null;
Func<T_BS_SAFE_CHECK_DETAIL_USER, bool> 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<T_FM_USER>(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<T_BS_OPERATE_LOG> 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<T_BS_SAFE_CHECK_DETAIL_USER>(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<T_BS_OPERATE_LOG>();
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<T_BS_SAFE_CHECK_DETAIL_QUESTION>(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