This commit is contained in:
wyw 2026-03-26 11:30:32 +08:00
commit a8af673dc8
9 changed files with 307 additions and 118 deletions

View File

@ -308,7 +308,13 @@ namespace APT.BaseData.Domain.IServices.FM
/// <param name="appdetails">审批明细</param>
/// <param name="taskNext">下一个审批待办</param>
/// <param name="taskLast">上一个审批待办</param>
void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast);
void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast);
/// <summary>
/// 审批流 待办处理 判断到总部数据
/// </summary>
/// <param name="appdetails">审批明细</param>
/// <param name="taskNext">下一个审批待办</param>
/// <param name="taskLast">上一个审批待办</param>
void TaskToHeads(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, List<T_FM_NOTIFICATION_TASK> taskNexts, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast);
}
}

View File

@ -321,9 +321,9 @@ namespace APT.BaseData.Services.Services.FM
{
T_PF_APPROVE approve = null;
//上个消息
T_FM_NOTIFICATION_TASK finishNotice = null;
//发消息
T_FM_NOTIFICATION_TASK notice = null;
T_FM_NOTIFICATION_TASK finishNotice = null;
//发消息
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
T_FM_NOTIFICATION_TASK curentTask = null;
//细表
List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>();
@ -464,7 +464,7 @@ namespace APT.BaseData.Services.Services.FM
if (detail.APPROVE_USER_ID != null)
appdetails.Add(detail);
});
appdetails = appdetails.OrderBy(t => t.NUM).GroupBy(m=>m.APPROVE_USER_ID).Select(n=>n.LastOrDefault()).ToList();
//appdetails = appdetails.OrderBy(t => t.NUM).GroupBy(m=>m.APPROVE_USER_ID).Select(n=>n.LastOrDefault()).ToList();
//var loginUser = users.FirstOrDefault(t => t.ID == loginUserId);
//var departUser = this.GetEntity<T_FM_DEPARTMENT>(t => (t.USER_ID == loginUserId || t.CHARGEUSER_ID == loginUserId) && (t.NAME.Contains("安全环保") || t.NAME.Contains("安环部")));
//if (departUser != null || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部负责人")) || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部安全员")))
@ -482,7 +482,7 @@ namespace APT.BaseData.Services.Services.FM
// appdetails.Remove(tempCharge);
// }
//}
appdetails.ForEach(i => i.Nav_ApproveRole = null);
appdetails.OrderBy(t => t.NUM).ForEach(i => i.Nav_ApproveRole = null);
appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM)).ForEach(i => i.IS_CURRENT = true);
//当前节点
@ -511,18 +511,18 @@ namespace APT.BaseData.Services.Services.FM
LogApproveDetailReduce(approve, loginUserId.Value, JsonApproveDetail, appdetails);
}
var sendUserId = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).FirstOrDefault();
var sendUserIds = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).ToList();
//var sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
var ue = users.Where(i => i.ID == sendUserId).FirstOrDefault();
string sendUserName = string.Empty;
if (ue != null)
{
sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
}
else
{
sendUserName = GetEntity<T_FM_USER>(t => t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
}
//var ue = users.Where(i => i.ID == sendUserId).FirstOrDefault();
//string sendUserName = string.Empty;
//if (ue != null)
//{
// sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
//}
//else
//{
// sendUserName = GetEntity<T_FM_USER>(t => t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
//}
string taskName = approveTaskName;
if (string.IsNullOrEmpty(taskName))
@ -563,11 +563,20 @@ namespace APT.BaseData.Services.Services.FM
default: break;
}
}
//发消息
notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime,
endTime, (int)FMNoticeTypeEnum., "PF119");
if (sendUserIds != null && sendUserIds.Any())
{
foreach (var sendUserId in sendUserIds)
{
if (sendUserId != null)
{
var sendUserName = users.FirstOrDefault(i => i.ID == sendUserId)?.NAME;
//发消息
var notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime,
endTime, (int)FMNoticeTypeEnum., "PF119");
notices.Add(notice);
}
}
}
}
}
}
@ -621,9 +630,11 @@ namespace APT.BaseData.Services.Services.FM
if (appdetails != null && appdetails.Any())
BantchAddEntityNoCommit(appdetails);
if (finishNotice != null && finishNotice.ID != Guid.Empty)
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (notice != null)
AddEntityNoCommit(notice);
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (notices != null && notices.Any())
BantchAddEntityNoCommit(notices);
//if (notice != null)
// AddEntityNoCommit(notice);
if (curentTask != null)
AddEntityNoCommit(curentTask);
if (listBSLog != null && listBSLog.Any())
@ -632,7 +643,7 @@ namespace APT.BaseData.Services.Services.FM
#region //涉及到总部的人员 待办 直接把数据传到总部去
//待办同步
NotificationTaskService.TaskToHead(appdetails, notice, null, finishNotice);
NotificationTaskService.TaskToHeads(appdetails, notices, null, finishNotice);
#endregion

View File

@ -1562,6 +1562,76 @@ namespace APT.BaseData.Services.Services.FM
catch (Exception ex) { }
}
}
}
#endregion
#region
/// <summary>
/// 审批流 待办处理 判断到总部数据
/// </summary>
/// <param name="appdetails">审批明细</param>
/// <param name="taskNext">下一个审批待办</param>
/// <param name="listModelNext">下一个审批待办</param>
/// <param name="taskLast">上一个审批待办</param>
public void TaskToHeads(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, List<T_FM_NOTIFICATION_TASK> taskNexts, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast)
{
if (appdetails != null)
{
var checkAdd = appdetails.FirstOrDefault(e => e.ISHEAD && e.IS_CURRENT);
if (checkAdd == null)
{
//审批的最后一步 IS_CURRENT =false
if ((taskNexts == null || taskNexts.Count() < 1) && (listModelNext == null || listModelNext.Count() < 1) && taskLast != null)
{
checkAdd = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID.HasValue && e.ISHEAD && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
if (checkAdd != null)
{
if (checkAdd.NUM != appdetails.Max(e => e.NUM))
{
checkAdd = null;
}
}
}
}
if (checkAdd != null)
{
var isLastDeal = false;//上一个是审批相关
if (taskLast != null)
{
var checkLast = appdetails.FirstOrDefault(e => e.ISHEAD && e.APPROVE_USER_ID.HasValue && e.APPROVE_USER_ID.Value == taskLast.USER_ID);
if (checkLast != null)
isLastDeal = true;
}
try
{
IEnumerable<T_FM_NOTIFICATION_TASK> listSync = null;
if (listModelNext != null && listModelNext.Any())
{
var userids = appdetails.Where(e => e.ISHEAD && e.IS_CURRENT && e.APPROVE_USER_ID.HasValue).Select(e => e.APPROVE_USER_ID.Value);
if (userids != null && userids.Any())
{
listSync = listModelNext.Where(e => userids.Contains(e.USER_ID));
}
}
if (isLastDeal && taskLast != null)
{
this.UpdateEntityByTenant(taskLast, HeadHelper.HeadtelnetCode);
}
if (taskNexts != null && taskNexts.Any())
{
this.AddEntitiesByTenant(taskNexts, HeadHelper.HeadtelnetCode);
}
if (listSync != null && listSync.Count() > 0)
{
this.AddEntitiesByTenant(listSync, HeadHelper.HeadtelnetCode);
}
}
catch (Exception ex) { }
}
}
}
#endregion

View File

@ -321,9 +321,9 @@ namespace APT.HM.WebApi.Controllers.Api
if (string.IsNullOrEmpty(dtSource.Rows[i][0].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][1].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][2].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][3].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][4].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][5].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][6].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()))
|| string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()))
{
Msg = Msg + "第" + (i + 3) + "行生产单元,作业环节,任务类型,是否关键作业,作业周期,作业许可审批层级,作业许可类别,作业等级存在空数据,请先检查所有字段内容;";
Msg = Msg + "第" + (i + 3) + "行生产单元,作业环节,任务类型,是否关键作业,作业周期,作业许可审批层级,作业等级存在空数据,请先检查所有字段内容;";
}
}
if (!string.IsNullOrEmpty(Msg))
@ -343,7 +343,7 @@ namespace APT.HM.WebApi.Controllers.Api
var stepFirst = steps.FirstOrDefault(t => t.NAME == step);
if (stepFirst == null)
{
Msg = Msg + "第" + (i + 3) + "行作业环节" + step + "不存在,请先到系统管理维护;";
//Msg = Msg + "第" + (i + 3) + "行作业环节" + step + "不存在,请先到系统管理维护;";
}
else
{
@ -374,12 +374,12 @@ namespace APT.HM.WebApi.Controllers.Api
{
Msg = Msg + "第" + (i + 3) + "行作业审批层级只能填写无审批层级、一级审批、二级审批、三级审批、四级审批、特级审批、临时用电,请修改" + approveLevel + "";
}
var workType = dtSource.Rows[i][6].ToString().Trim();
var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
if (workTypeFirst == null)
{
Msg = Msg + "第" + (i + 3) + "行作业许可类别"+ workType + "不存在,请先到系统管理维护;";
}
//var workType = dtSource.Rows[i][6].ToString().Trim();
//var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
//if (workTypeFirst == null)
//{
// Msg = Msg + "第" + (i + 3) + "行作业许可类别"+ workType + "不存在,请先到系统管理维护;";
//}
var workLevel = dtSource.Rows[i][7].ToString().Trim();
if (workLevel != "重大风险" && workLevel != "较大风险" && workLevel != "一般风险" && workLevel != "低风险")
{
@ -415,6 +415,8 @@ namespace APT.HM.WebApi.Controllers.Api
throw new Exception(Msg);
}
//导入
List<T_HM_OPERATION_STEP> stepList = new List<T_HM_OPERATION_STEP>();
List<T_HM_WORK_PERMIT_TYPE> typeList = new List<T_HM_WORK_PERMIT_TYPE>();
List<T_HM_OPERATION_LINK> linkList = new List<T_HM_OPERATION_LINK>();
List<T_HM_OPERATION_LINK_POST> linkPostList = new List<T_HM_OPERATION_LINK_POST>();
List<T_HM_OPERATION_TASK_SAFE_CONFIRM> linkConList = new List<T_HM_OPERATION_TASK_SAFE_CONFIRM>();
@ -426,25 +428,61 @@ namespace APT.HM.WebApi.Controllers.Api
var proUnitFirst = proUnits.FirstOrDefault(t => t.NAME == proUnit);
var step = dtSource.Rows[i][1].ToString().Trim();
var stepFirst = steps.FirstOrDefault(t => t.NAME == step);
var stepTemp = stepFirst;
var taskType = dtSource.Rows[i][2].ToString().Trim();
var isNeed = dtSource.Rows[i][3].ToString().Trim();
var workCycle = dtSource.Rows[i][4].ToString().Trim();
var approveLevel = dtSource.Rows[i][5].ToString().Trim();
var workType = dtSource.Rows[i][6].ToString().Trim();
var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
var typeTemp = workTypeFirst;
var workLevel = dtSource.Rows[i][7].ToString().Trim();
var status = dtSource.Rows[i][8].ToString().Trim();
var postList = dtSource.Rows[i][9].ToString().Trim();
var conList = dtSource.Rows[i][10].ToString().Trim();
var mesList = dtSource.Rows[i][11].ToString().Trim();
var delList = dtSource.Rows[i][12].ToString().Trim();
if (stepFirst == null)
{
var steList = stepList.FirstOrDefault(t => t.NAME == step);
if (steList == null)
{
T_HM_OPERATION_STEP stepNew = new T_HM_OPERATION_STEP();
stepNew.ORG_ID = orgId;
stepNew.CODE = step;
stepNew.NAME = step;
stepList.Add(stepNew);
stepTemp = stepNew;
}
else
{
stepTemp = steList;
}
}
if (!string.IsNullOrEmpty(workType) && workTypeFirst == null)
{
var steList = typeList.FirstOrDefault(t => t.NAME == workType);
if (steList == null)
{
T_HM_WORK_PERMIT_TYPE typeNew = new T_HM_WORK_PERMIT_TYPE();
typeNew.ORG_ID = orgId;
typeNew.CODE = workType;
typeNew.NAME = workType;
typeList.Add(typeNew);
typeTemp = typeNew;
}
else
{
typeTemp = steList;
}
}
T_HM_OPERATION_LINK link = new T_HM_OPERATION_LINK();
link.ORG_ID = orgId;
link.UNIT_ID = proUnitFirst.ID;
link.OPERATION_STEP_ID = stepFirst.ID;
link.WORK_PERMIT_TYPE_ID = workTypeFirst.ID;
link.OPERATION_STEP_ID = stepTemp.ID;
link.WORK_PERMIT_TYPE_ID = typeTemp?.ID;
link.CODE = DateTime.Now.ToString("yyyyMMddHH") + i.ToString().PadLeft(4, '0');
link.NAME = stepFirst.NAME;
link.NAME = stepTemp.NAME;
link.MODIFY_TYPE = HMModifyEnum.;
link.IS_RUN = DisableStatusEnum.;
switch (taskType)
@ -649,7 +687,11 @@ namespace APT.HM.WebApi.Controllers.Api
}
}
UnifiedCommit(() =>
{
{
if (stepList != null && stepList.Any())
BantchAddEntityNoCommit(stepList);
if (typeList != null && typeList.Any())
BantchAddEntityNoCommit(typeList);
if (linkList != null && linkList.Any())
BantchAddEntityNoCommit(linkList);
if (linkPostList != null && linkPostList.Any())

View File

@ -961,7 +961,7 @@
baseFilter.IgnoreDataRule = true;
baseFilter.IgnoreOrgRule = true;
baseFilter.OrgId = null;
var dbApprove = this.GetEntities<T_PF_APPROVE>(expression, baseFilter, new string[] { "Nav_ApproveDetails.Nav_ApproveUser" }).OrderByDescending(t => t.CREATE_TIME).ToList();
var dbApprove = this.GetEntities<T_PF_APPROVE>(expression, baseFilter, new string[] { "Nav_ApproveDetails.Nav_ApproveUser", "Nav_ApproveDetails.Nav_ApproveRole" }).OrderByDescending(t => t.CREATE_TIME).ToList();
if (!dbApprove.Any())
return null;
return dbApprove;

View File

@ -579,8 +579,9 @@ namespace APT.PP.WebApi.Controllers.Api
if (filter.Parameter1 != null)
{
dtNow = DateTime.Parse(filter.Parameter1);
}
//filter.IgnoreDataRule = false;
}
//filter.IgnoreDataRule = false;
List<T_SK_SECURITY_INSPECTION_NOTICE> updateNotices = new List<T_SK_SECURITY_INSPECTION_NOTICE>();
List<T_FM_NOTIFICATION_TASK> tasks = new List<T_FM_NOTIFICATION_TASK>();
List<T_FM_NOTIFICATION_TASK> noticeTasks = new List<T_FM_NOTIFICATION_TASK>();
List<T_SK_SECURITY_INSPECTION_RECORD> records = new List<T_SK_SECURITY_INSPECTION_RECORD>();
@ -598,7 +599,7 @@ namespace APT.PP.WebApi.Controllers.Api
baseFilter.SelectField = new string[] { "ID", "PRODUCTION_UNIT_ID","NOTICE_CODE", "CHECK_TYPE_ID","APPLY_DEPARTMENT_ID","APPLY_USER_ID","PLANCHECKFREQUENCY","DEPARTMENT_TYPE","CHECK_TIME","CHECK_PERSON",
"Nav_CheckNoticeDetails.RISK_AREA_ID","Nav_CheckNoticeDetails.CHECK_CONTENTS_ID","Nav_CheckNoticeDetails.CHECKCONTENT","Nav_CheckNoticeDetails.CHECKPROOF","Nav_CheckNoticeDetails.CHECKSTANDARD",
"Nav_CheckNoticeFiles.IMG_FILE_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailUsers.USER_ID", "Nav_CheckNoticeDetails.Nav_CheckNoticeDetailBasics.LAW_ID" }; //指定字段,包括导航属性
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == DateTime.Now.Date && i.CHECK_TIME.Value.Hour == dtNow.Hour && i.STATUS == PFStandardStatus.Archived;
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CHECK_TIME != null && i.CHECK_TIME.Value.Date == dtNow.Date && i.CHECK_TIME <= dtNow && (i.STATUS == PFStandardStatus.Archived || i.STATUS == PFStandardStatus.Sign);
List<T_SK_SECURITY_INSPECTION_NOTICE> notices = this.GetOrderEntities(expression, baseFilter).ToList();
var noticeExsisIds = notices.Select(t => t.ID).ToList();
baseFilter.SelectField = new string[] { "ID", "SECURITY_INSPECTION_NOTICE_ID" }; //指定字段,包括导航属性
@ -720,16 +721,29 @@ namespace APT.PP.WebApi.Controllers.Api
var noticeIds = notices.Select(i => i.ID).ToList();
tasks = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => noticeIds.Contains((Guid)t.SOURCE_DATA_ID) && t.NOTICE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList();
tasks.ForEach(t => t.NOTICE_STATUS = 4);
var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList();
notices.ForEach(m => {
m.Nav_CheckNoticeDetails = null;
m.Nav_CheckNoticeFiles = null;
});
var newFilter = new BaseFilter(filter.GetOrgId());
newFilter.IgnoreDataRule = true;
updateNotices = this.GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(t => noticeIds.Contains(t.ID) && t.STATUS == PFStandardStatus.Sign, newFilter).ToList();
updateNotices.ForEach(t => t.STATUS = PFStandardStatus.Close);
//var sourceIds = tasks.Select(i => i.SOURCE_DATA_ID).ToList();
//notices.ForEach(m => {
// m.Nav_CheckNoticeDetails = null;
// m.Nav_CheckNoticeFiles = null;
//});
//notices.Where(t => sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Close);
//notices.Where(t => !sourceIds.Contains(t.ID)).ForEach(m => m.STATUS = PFStandardStatus.Archived);
}
else
{
var newFilter = new BaseFilter(filter.GetOrgId());
newFilter.IgnoreDataRule = true;
updateNotices = this.GetEntities<T_SK_SECURITY_INSPECTION_NOTICE>(t => recordExsisIds.Contains(t.ID) && t.STATUS == PFStandardStatus.Sign, newFilter).ToList();
updateNotices.ForEach(t => t.STATUS = PFStandardStatus.Close);
}
UnifiedCommit(() =>
{
{
if (updateNotices != null && updateNotices.Any())
BantchSaveEntityNoCommit(updateNotices);
//if (notices != null && notices.Any())
// BantchSaveEntityNoCommit(notices);
if (tasks != null && tasks.Any())
@ -828,6 +842,7 @@ namespace APT.PP.WebApi.Controllers.Api
sum.ORG_ID = noticeFirst.ORG_ID;
sum.SECURITY_INSPECTION_NOTICE_ID = id;
sum.APPLY_DEPARTMENT_ID = noticeFirst.APPLY_DEPARTMENT_ID;
sum.PRODUCTION_UNIT_ID = noticeFirst.PRODUCTION_UNIT_ID;
sum.APPLY_USER_ID = noticeFirst.APPLY_USER_ID;
sum.CHECK_PERSON = noticeFirst.CHECK_PERSON;
sum.CHECK_TIME = noticeFirst.CHECK_TIME;

View File

@ -970,8 +970,9 @@ namespace APT.SK.WebApi.Controllers
pageFilter.Include.Add("Nav_ProductionUnit");
pageFilter.SelectField.Add("Nav_Details.NUM");
pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME");
pageFilter.SelectField.Add("Nav_Details.Nav_DetailContents.NUM");
pageFilter.SelectField.Add("Nav_Details.Nav_DetailContents.Nav_Contents.CHECKCONTENT");
var result = WitOrderPaged(null, pageFilter);
var result = GetOrderPageEntities<T_SK_BASIC_LIBRARY>(null, pageFilter);
if (result != null && result.Data != null && result.Data.Any())
{
foreach (var item in result.Data)
@ -984,7 +985,7 @@ namespace APT.SK.WebApi.Controllers
{
if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME))
{
var temp = item2.NUM + "" + item2.MEASURES_NAME + "。";
var temp = item2.NUM + "*" + item2.MEASURES_NAME + "。";
item.MINE_NAME = item.MINE_NAME + temp;
item.MEASURE = item.MEASURE + temp;
var conListTemp = "";
@ -2184,10 +2185,12 @@ namespace APT.SK.WebApi.Controllers
{
if (string.IsNullOrEmpty(dtSource.Rows[i][0].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][1].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][2].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][3].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][8].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][4].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][5].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][6].ToString().Trim())
)
{
Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称风险描述风险类别风险评价L风险评价E风险评价C,风险等级,管控层级不能为空,请先检查所有字段内容;";
Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称风险描述风险类别风险评价L风险评价E风险评价C不能为空,请先检查所有字段内容;";
}
}
if (!string.IsNullOrEmpty(Msg))
@ -2246,22 +2249,39 @@ namespace APT.SK.WebApi.Controllers
Msg = Msg + "第" + (i + 3) + "行风险评价C" + libC + "不存在,请先到系统管理维护;";
}
}
var riskLevel = dtSource.Rows[i][7].ToString().Trim();
if (riskLevel != "重大风险" && riskLevel != "较大风险" && riskLevel != "一般风险" && riskLevel != "低风险")
{
Msg = Msg + "第" + (i + 3) + "行风险等级只能填写重大风险、较大风险、一般风险、低风险,请修改" + riskLevel + "";
}
var controlLevel = dtSource.Rows[i][8].ToString().Trim();
if (controlLevel != "_5_" && controlLevel != "_10_" && controlLevel != "_15_" && controlLevel != "_20_"
&& controlLevel != "_5_10_" && controlLevel != "_10_15_" && controlLevel != "_15_20_" && controlLevel != "_5_10_15_"
&& controlLevel != "_10_15_20_" && controlLevel != "_5_10_15_20_")
{
Msg = Msg + "第" + (i + 3) + "行管控层级格式不确,请修改" + controlLevel + "";
}
//var riskLevel = dtSource.Rows[i][8].ToString().Trim();
//if (riskLevel != "重大风险" && riskLevel != "较大风险" && riskLevel != "一般风险" && riskLevel != "低风险")
//{
// Msg = Msg + "第" + (i + 3) + "行风险等级只能填写重大风险、较大风险、一般风险、低风险,请修改" + riskLevel + "";
//}
//var controlLevel = dtSource.Rows[i][9].ToString().Trim();
//if (controlLevel != "_5_" && controlLevel != "_10_" && controlLevel != "_15_" && controlLevel != "_20_"
// && controlLevel != "_5_10_" && controlLevel != "_10_15_" && controlLevel != "_15_20_" && controlLevel != "_5_10_15_"
// && controlLevel != "_10_15_20_" && controlLevel != "_5_10_15_20_")
//{
// Msg = Msg + "第" + (i + 3) + "行管控层级格式不确,请修改" + controlLevel + "";
//}
if (!string.IsNullOrEmpty(dtSource.Rows[i][11].ToString().Trim()))
{
var lists = dtSource.Rows[i][11].ToString().Trim().Split("。").ToList();
if (lists != null && lists.Any())
{
foreach (var item in lists)
{
if (!string.IsNullOrEmpty(item))
{
if (!item.Contains("*"))
{
Msg = Msg + "第" + (i + 3) + "行管控措施" + item + "格式不正确,请检查修改;";
}
}
}
}
}
if (!string.IsNullOrEmpty(dtSource.Rows[i][12].ToString().Trim()))
{
var lists = dtSource.Rows[i][12].ToString().Trim().Split("").ToList();
if (lists != null && lists.Any())
{
foreach (var item in lists)
{
@ -2285,11 +2305,7 @@ namespace APT.SK.WebApi.Controllers
}
else
{
var conFirst = checkCons.FirstOrDefault(t => t.CHECKCONTENT == con);
if (conFirst == null)
{
Msg = Msg + "第" + (i + 3) + "行检查内容" + con + "不存在,请先到系统管理维护;";
}
Msg = Msg + "第" + (i + 3) + "行检查内容" + con + "格式不正确,请检查修改;";
}
}
}
@ -2324,11 +2340,11 @@ namespace APT.SK.WebApi.Controllers
var libEFirst = string.IsNullOrEmpty(libE) ? null:libEs.FirstOrDefault(t => t.SCORE == decimal.Parse(libE));
var libC = dtSource.Rows[i][6].ToString().Trim();
var libCFirst = string.IsNullOrEmpty(libC) ? null : libCs.FirstOrDefault(t => t.SCORE == decimal.Parse(libC));
var riskLevel = dtSource.Rows[i][7].ToString().Trim();
var controlLevel = dtSource.Rows[i][8].ToString().Trim();
var emerg = dtSource.Rows[i][9].ToString().Trim();
var mesList = dtSource.Rows[i][10].ToString().Trim();
var conList = dtSource.Rows[i][11].ToString().Trim();
//var riskLevel = dtSource.Rows[i][8].ToString().Trim();
//var controlLevel = dtSource.Rows[i][9].ToString().Trim();
var emerg = dtSource.Rows[i][10].ToString().Trim();
var mesList = dtSource.Rows[i][11].ToString().Trim();
var conList = dtSource.Rows[i][12].ToString().Trim();
T_SK_BASIC_LIBRARY lib = new T_SK_BASIC_LIBRARY();
lib.ORG_ID = orgId;
lib.PRODUCTION_UNIT_ID = proUnitFirst.ID;
@ -2339,27 +2355,47 @@ namespace APT.SK.WebApi.Controllers
lib.SCOREE_ID = libEFirst?.ID;
lib.SCOREC_ID = libCFirst?.ID;
lib.EVALUATE_SCORE = (lib.SCOREL_ID!=null && lib.SCOREE_ID!=null && lib.SCOREC_ID!=null)? Math.Round(libLFirst.SCORE * libEFirst.SCORE* libCFirst.SCORE,2):0;
lib.DEPARTMENT_TYPE = controlLevel;
lib.CODE = DateTime.Now.ToString("yyyyMMddHH") + i.ToString().PadLeft(4, '0');
lib.EMERGENCY = emerg;
lib.ENABLE_STATUS = FMEnableStatusEnum.;
switch (riskLevel)
if (lib.EVALUATE_SCORE > 320)
{
case "重大风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "较大风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "一般风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "低风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
default: break;
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_5_10_15_20_";
}
else if (lib.EVALUATE_SCORE >= 160 && lib.EVALUATE_SCORE < 320)
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_10_15_20_";
}
else if (lib.EVALUATE_SCORE >= 70 && lib.EVALUATE_SCORE < 160)
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_15_20_";
}
else
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_20_";
}
//switch (riskLevel)
//{
// case "重大风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.重大风险;
// break;
// case "较大风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.较大风险;
// break;
// case "一般风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.一般风险;
// break;
// case "低风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.低风险;
// break;
// default: break;
//}
libList.Add(lib);
List<T_SK_BASIC_LIBRARY_DETAIL> libDetTemp = new List<T_SK_BASIC_LIBRARY_DETAIL>();
if (!string.IsNullOrEmpty(mesList))
{
var lists = mesList.Split("。").ToList();
@ -2379,15 +2415,16 @@ namespace APT.SK.WebApi.Controllers
con.NUM = string.IsNullOrEmpty(num) ? null : int.Parse(num);
con.MEASURES_NAME = name;
libDetList.Add(con);
libDetTemp.Add(con);
}
else
{
T_SK_BASIC_LIBRARY_DETAIL con = new T_SK_BASIC_LIBRARY_DETAIL();
con.ORG_ID = orgId;
con.BASIC_LIBRARY_ID = lib.ID;
con.MEASURES_NAME = item;
libDetList.Add(con);
}
//else
//{
// T_SK_BASIC_LIBRARY_DETAIL con = new T_SK_BASIC_LIBRARY_DETAIL();
// con.ORG_ID = orgId;
// con.BASIC_LIBRARY_ID = lib.ID;
// con.MEASURES_NAME = item;
// libDetList.Add(con);
//}
}
}
}
@ -2408,14 +2445,14 @@ namespace APT.SK.WebApi.Controllers
if (num.Contains("."))
{
var numTemp = int.Parse(num.Split(".")[0]);
var detFirst = libDetList.FirstOrDefault(t => t.NUM != null && t.NUM == numTemp);
var detFirst = libDetTemp.FirstOrDefault(t => t.NUM != null && t.NUM == numTemp);
var conFirst = checkCons.FirstOrDefault(t => t.CHECKCONTENT == name);
if (detFirst != null && conFirst != null)
{
T_SK_BASIC_LIBRARY_DETAIL_CONTENT con = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT();
con.ORG_ID = orgId;
con.BASIC_LIBRARY_DETAIL_ID = detFirst.ID;
con.NUM = numTemp;
con.NUM = int.Parse(num.Split(".")[1]);
con.CHECK_CONTENT = name;
con.CHECK_CONTENTS_ID = conFirst.ID;
con.CHECK_STANDARD = conFirst.CHECK_STANDARD;
@ -2444,6 +2481,7 @@ namespace APT.SK.WebApi.Controllers
hi.CHECK_QUESTION_ID = hid.ID;
hi.HIDDEN_LEVEL = hid.QUESTION_LEVEL;
hi.RECTIFICATION_MEASURES = hid.DEMAND;
hi.NUM = hid.NUM;
libHidList.Add(hi);
}
}

View File

@ -195,7 +195,7 @@ namespace APT.SK.WebApi.Controllers.Api
startRowIndexs.Add(0, 1);//根据Excel格式数据赋值
var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs);
string Msg = string.Empty;
isOK = InsertModel3(dataTables.Tables[0], orgId, ref Msg);
isOK = InsertModel2(dataTables.Tables[0], orgId, ref Msg);
try
{

View File

@ -1925,7 +1925,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start = new OperateLogList();
start.ID = safeNoticeId;
start.CODE = "SK006_SHOWPRINT";
start.USER_NAME = temp1.USER_NAME;
start.USER_NAME = checkUser.NAME;
start.NAME = "安全检查通知归档";
start.DEAL_DATE = check.MODIFY_TIME;
start.CREATE_TIME = check.CREATE_TIME;
@ -1976,13 +1976,14 @@ namespace APT.SK.WebApi.Controllers.Api
var record = safeRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (record != null)
{
var recordUser = users.FirstOrDefault(t => t.ID == record.APPLY_USER_ID);
//归档
if (record.STATUS == PFStandardStatus.Archived || record.STATUS == PFStandardStatus.Close)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = recordUser.NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
@ -1995,7 +1996,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = recordUser.NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
@ -2022,13 +2023,14 @@ namespace APT.SK.WebApi.Controllers.Api
var record = safeRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (record != null)
{
var recordUser = users.FirstOrDefault(t => t.ID == record.APPLY_USER_ID);
//归档
if (record.STATUS == PFStandardStatus.Archived || record.STATUS == PFStandardStatus.Close)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = recordUser.NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
@ -2041,7 +2043,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = recordUser.NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
@ -2104,6 +2106,7 @@ namespace APT.SK.WebApi.Controllers.Api
recordSumLog.logList = new List<OperateLogList>();
if (safeRecordSumId != null)
{
var recordSumUser = users.FirstOrDefault(t => t.ID == recordSum.APPLY_USER_ID);
//发起
var temp1 = tasks.FirstOrDefault(t => t.SOURCE_DATA_ID == safeRecordSumId && !t.NOTICE_TITLE.Contains("确认"));
OperateLogList start = new OperateLogList();
@ -2139,7 +2142,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.USER_NAME = recordSumUser.NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
@ -2152,7 +2155,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.USER_NAME = recordSumUser.NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
@ -2181,7 +2184,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.USER_NAME = recordSumUser.NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
@ -2193,7 +2196,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.USER_NAME = recordSumUser.NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
@ -2407,13 +2410,14 @@ namespace APT.SK.WebApi.Controllers.Api
start3.STATUS = 0;
hiddenReportLog.logList.Add(start3);
}
var dangerReportUser = users.FirstOrDefault(t => t.ID == dangerReport.APPLY_USER_ID);
//归档
if (dangerReport.STATUS == PFStandardStatus.Archived)
{
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.USER_NAME = dangerReportUser.NAME;
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = dangerReport.MODIFY_TIME;
start3.CREATE_TIME = dangerReport.CREATE_TIME;
@ -2425,7 +2429,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.USER_NAME = dangerReportUser.NAME;
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = dangerReport.MODIFY_TIME;
start3.CREATE_TIME = dangerReport.CREATE_TIME;
@ -2621,11 +2625,12 @@ namespace APT.SK.WebApi.Controllers.Api
start2.STATUS = 0;
confirmLog.logList.Add(start2);
}
var confirmUser = users.FirstOrDefault(t => t.ID == confirm.APPLY_USER_ID);
//归档
OperateLogList start4 = new OperateLogList();
start4.ID = null;
start4.CODE = "SK018_SHOWPRINT";
start4.USER_NAME = "整改责任人";
start4.USER_NAME = confirmUser.NAME;
start4.NAME = "隐患确认单归档";
start4.DEAL_DATE = confirm.MODIFY_TIME;
start4.CREATE_TIME = confirm.CREATE_TIME;
@ -2746,12 +2751,13 @@ namespace APT.SK.WebApi.Controllers.Api
}
//归档
var rectifyNotice = rectifyNotices.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
var rectifyNoticeUser = users.FirstOrDefault(t => t.ID == rectifyNotice.APPLY_USER_ID);
if (rectifyNotice != null && rectifyNotice.STATUS == PFStandardStatus.Archived)
{
OperateLogList start2 = new OperateLogList();
start2.ID = temp1.SOURCE_DATA_ID;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = temp1.USER_NAME;
start2.USER_NAME = rectifyNoticeUser.NAME;
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = rectifyNotice.MODIFY_TIME;
start2.CREATE_TIME = rectifyNotice.CREATE_TIME;
@ -2763,7 +2769,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start2 = new OperateLogList();
start2.ID = temp1.SOURCE_DATA_ID;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = temp1.USER_NAME;
start2.USER_NAME = rectifyNoticeUser.NAME;
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = rectifyNotice.MODIFY_TIME;
start2.CREATE_TIME = rectifyNotice.CREATE_TIME;
@ -2948,12 +2954,13 @@ namespace APT.SK.WebApi.Controllers.Api
}
//归档
var rectifyRecord= rectifyRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
var rectifyRecordUser = users.FirstOrDefault(t => t.ID == rectifyRecord.APPLY_USER_ID);
if (rectifyRecord != null && rectifyRecord.STATUS == PFStandardStatus.Archived)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK022_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = rectifyRecordUser.NAME;
start1.NAME = "隐患整改记录归档";
start1.DEAL_DATE = rectifyRecord.MODIFY_TIME;
start1.CREATE_TIME = rectifyRecord.CREATE_TIME;
@ -2965,7 +2972,7 @@ namespace APT.SK.WebApi.Controllers.Api
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK022_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.USER_NAME = rectifyRecordUser.NAME;
start1.NAME = "隐患整改记录归档";
start1.DEAL_DATE = rectifyRecord.MODIFY_TIME;
start1.CREATE_TIME = rectifyRecord.CREATE_TIME;