From cd60b76c7d6f9d4e0994322b45b3d3d2c9bf9bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 09:56:38 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E5=BA=93=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BasicLibraryController.cs | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index 5aa3a00..b7f0b06 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -2258,9 +2258,26 @@ namespace APT.SK.WebApi.Controllers { Msg = Msg + "第" + (i + 3) + "行管控层级格式不确,请修改" + controlLevel + ";"; } + if (!string.IsNullOrEmpty(dtSource.Rows[i][10].ToString().Trim())) + { + var lists = dtSource.Rows[i][10].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][11].ToString().Trim())) { - var lists = dtSource.Rows[i][11].ToString().Trim().Split("。").ToList(); + var lists = dtSource.Rows[i][11].ToString().Trim().Split("?").ToList(); if (lists != null && lists.Any()) { foreach (var item in lists) @@ -2285,11 +2302,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 + "格式不正确,请检查修改;"; } } } @@ -2380,14 +2393,14 @@ namespace APT.SK.WebApi.Controllers con.MEASURES_NAME = name; 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); - } + //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); + //} } } } @@ -2415,7 +2428,7 @@ namespace APT.SK.WebApi.Controllers 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 +2457,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); } } From 30826e97397423a88d44aa324b853238abdc578e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 11:37:44 +0800 Subject: [PATCH 02/12] 2 --- .../APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index b7f0b06..7b203d6 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -2373,6 +2373,7 @@ namespace APT.SK.WebApi.Controllers default: break; } libList.Add(lib); + List libDetTemp = new List(); if (!string.IsNullOrEmpty(mesList)) { var lists = mesList.Split("。").ToList(); @@ -2392,6 +2393,7 @@ 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 //{ @@ -2421,7 +2423,7 @@ 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) { From 37f20ed6c6dd537e18406d0e861f3bb22e3b0d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 12:09:21 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APT.SK.WebApi/Controllers/Api/CheckContentsController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs index 4161863..13be413 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/CheckContentsController.cs @@ -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 { From 2ba01d1f3bd59b775a9dc546e6286ae2cac0cb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 24 Mar 2026 17:42:33 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 44 +++++++++++-------- .../Controllers/Api/BasicLibraryController.cs | 2 +- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index d04bccb..1a5cfcd 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -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 => (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 => 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 => t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME; + //} string taskName = approveTaskName; if (string.IsNullOrEmpty(taskName)) @@ -563,11 +563,19 @@ 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; + //发消息 + notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime, + endTime, (int)FMNoticeTypeEnum.审批, "PF119"); + } + } + } } } } diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index 7b203d6..d645e90 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -971,7 +971,7 @@ namespace APT.SK.WebApi.Controllers pageFilter.SelectField.Add("Nav_Details.NUM"); pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME"); pageFilter.SelectField.Add("Nav_Details.Nav_DetailContents.Nav_Contents.CHECKCONTENT"); - var result = WitOrderPaged(null, pageFilter); + var result = GetOrderPageEntities(null, pageFilter); if (result != null && result.Data != null && result.Data.Any()) { foreach (var item in result.Data) From a249ebb4dcb25b57effc35031fa7219668201563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 11:16:57 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=BA=93=E3=80=81=E5=8F=8C=E6=8E=A7=E5=9F=BA=E7=A1=80=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/OperationLinkController.cs | 66 ++++++++++++--- .../Controllers/Api/BasicLibraryController.cs | 80 ++++++++++++------- 2 files changed, 103 insertions(+), 43 deletions(-) diff --git a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs index 45cddcc..99ff692 100644 --- a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs +++ b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs @@ -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 stepList = new List(); + List typeList = new List(); List linkList = new List(); List linkPostList = new List(); List linkConList = new List(); @@ -426,23 +428,59 @@ 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.MODIFY_TYPE = HMModifyEnum.导入; @@ -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()) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index d645e90..d61f949 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -2184,10 +2184,9 @@ 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()) ) { - Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称,风险描述,风险类别,风险评价L,风险评价E,风险评价C,风险等级,管控层级不能为空,请先检查所有字段内容;"; + Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称,风险描述,风险类别,风险评价L,风险评价E,风险评价C不能为空,请先检查所有字段内容;"; } } if (!string.IsNullOrEmpty(Msg)) @@ -2246,18 +2245,18 @@ 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][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 + ";"; + //} if (!string.IsNullOrEmpty(dtSource.Rows[i][10].ToString().Trim())) { var lists = dtSource.Rows[i][10].ToString().Trim().Split("。").ToList(); @@ -2337,8 +2336,8 @@ 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 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(); @@ -2352,26 +2351,45 @@ 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 libDetTemp = new List(); if (!string.IsNullOrEmpty(mesList)) From c0420dc78fb38ba9cdadba2607ee76e4f7fbbbf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 12:24:28 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E5=80=BCD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BasicLibraryController.cs | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index d61f949..872d44b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -970,6 +970,7 @@ 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 = GetOrderPageEntities(null, pageFilter); if (result != null && result.Data != null && result.Data.Any()) @@ -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,6 +2185,9 @@ 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][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不能为空,请先检查所有字段内容;"; @@ -2245,21 +2249,21 @@ namespace APT.SK.WebApi.Controllers Msg = Msg + "第" + (i + 3) + "行风险评价C" + libC + "不存在,请先到系统管理维护;"; } } - //var riskLevel = dtSource.Rows[i][7].ToString().Trim(); + //var riskLevel = dtSource.Rows[i][8].ToString().Trim(); //if (riskLevel != "重大风险" && riskLevel != "较大风险" && riskLevel != "一般风险" && riskLevel != "低风险") //{ // Msg = Msg + "第" + (i + 3) + "行风险等级只能填写重大风险、较大风险、一般风险、低风险,请修改" + riskLevel + ";"; //} - //var controlLevel = dtSource.Rows[i][8].ToString().Trim(); + //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][10].ToString().Trim())) + if (!string.IsNullOrEmpty(dtSource.Rows[i][11].ToString().Trim())) { - var lists = dtSource.Rows[i][10].ToString().Trim().Split("。").ToList(); + var lists = dtSource.Rows[i][11].ToString().Trim().Split("。").ToList(); if (lists != null && lists.Any()) { foreach (var item in lists) @@ -2274,9 +2278,9 @@ namespace APT.SK.WebApi.Controllers } } } - if (!string.IsNullOrEmpty(dtSource.Rows[i][11].ToString().Trim())) + if (!string.IsNullOrEmpty(dtSource.Rows[i][12].ToString().Trim())) { - var lists = dtSource.Rows[i][11].ToString().Trim().Split("?").ToList(); + var lists = dtSource.Rows[i][12].ToString().Trim().Split("?").ToList(); if (lists != null && lists.Any()) { foreach (var item in lists) @@ -2336,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; From abc49bb29e73dbcc4be21cd26722394438d07254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 15:09:50 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E8=B7=91=E6=89=B9?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/SKController.cs | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index c25ec21..2c7b389 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -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 updateNotices = new List(); List tasks = new List(); List noticeTasks = new List(); List records = new List(); @@ -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> 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> 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 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 => 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 => 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 => 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; From e780ad70bb4aaf9eb230e573243e4866edb9f511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 15:16:26 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APT.MicroApi/APT.PF.WebApi/Controllers/Api/ApproveController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PF.WebApi/Controllers/Api/ApproveController.cs b/APT.MicroApi/APT.PF.WebApi/Controllers/Api/ApproveController.cs index 7f888a4..81eaa0a 100644 --- a/APT.MicroApi/APT.PF.WebApi/Controllers/Api/ApproveController.cs +++ b/APT.MicroApi/APT.PF.WebApi/Controllers/Api/ApproveController.cs @@ -961,7 +961,7 @@ baseFilter.IgnoreDataRule = true; baseFilter.IgnoreOrgRule = true; baseFilter.OrgId = null; - var dbApprove = this.GetEntities(expression, baseFilter, new string[] { "Nav_ApproveDetails.Nav_ApproveUser" }).OrderByDescending(t => t.CREATE_TIME).ToList(); + var dbApprove = this.GetEntities(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; From f208b9e25a13df686a4d5066be4c277fdd972434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 16:27:35 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/SecurityInspectionNoticeController.cs | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs index 9bad54b..8284034 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -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; @@ -2175,13 +2177,14 @@ namespace APT.SK.WebApi.Controllers.Api start1.CREATE_TIME = item.CREATE_TIME; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0; recordSumLog.logList.Add(start1); + var recordSumUser = users.FirstOrDefault(t => t.ID == recordSum.APPLY_USER_ID); //归档 if (recordSum.STATUS == PFStandardStatus.Archived) { 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; From 6ff6764e3bf23c73a886ccecbc8d51defbd37684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 17:48:26 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=B9=B6=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/FM/FMFlowPermitService.cs | 17 ++++++++++------- .../Api/SecurityInspectionNoticeController.cs | 6 +++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index 1a5cfcd..18e33f5 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -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 notices = new List(); T_FM_NOTIFICATION_TASK curentTask = null; //细表 List appdetails = new List(); @@ -571,8 +571,9 @@ namespace APT.BaseData.Services.Services.FM { var sendUserName = users.FirstOrDefault(i => i.ID == sendUserId)?.NAME; //发消息 - notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime, + var notice = NotificationTaskService.InsertUserNoticeTaskModel(taskName, approve.ID, approve.ORG_ID, (Guid)sendUserId, sendUserName, startTime, endTime, (int)FMNoticeTypeEnum.审批, "PF119"); + notices.Add(notice); } } } @@ -629,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()) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs index 8284034..bd5fe3c 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionNoticeController.cs @@ -2106,6 +2106,7 @@ namespace APT.SK.WebApi.Controllers.Api recordSumLog.logList = new List(); 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(); @@ -2141,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; @@ -2154,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; @@ -2177,7 +2178,6 @@ namespace APT.SK.WebApi.Controllers.Api start1.CREATE_TIME = item.CREATE_TIME; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0; recordSumLog.logList.Add(start1); - var recordSumUser = users.FirstOrDefault(t => t.ID == recordSum.APPLY_USER_ID); //归档 if (recordSum.STATUS == PFStandardStatus.Archived) { From 2f25f52f42693590ec29cef19b23b7a6fecc9f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 18:08:27 +0800 Subject: [PATCH 11/12] 1 --- .../FM/IFMNotificationTaskService.cs | 10 ++- .../Services/FM/FMFlowPermitService.cs | 2 +- .../Services/FM/FMNotificationTaskService.cs | 70 +++++++++++++++++++ 3 files changed, 79 insertions(+), 3 deletions(-) diff --git a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs index 4f81a10..cc2e58a 100644 --- a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs +++ b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs @@ -308,7 +308,13 @@ namespace APT.BaseData.Domain.IServices.FM /// 审批明细 /// 下一个审批待办 /// 上一个审批待办 - void TaskToHead(IEnumerable appdetails, T_FM_NOTIFICATION_TASK taskNext, List listModelNext, T_FM_NOTIFICATION_TASK taskLast); - + void TaskToHead(IEnumerable appdetails, T_FM_NOTIFICATION_TASK taskNext, List listModelNext, T_FM_NOTIFICATION_TASK taskLast); + /// + /// 审批流 待办处理 判断到总部数据 + /// + /// 审批明细 + /// 下一个审批待办 + /// 上一个审批待办 + void TaskToHeads(IEnumerable appdetails, List taskNexts, List listModelNext, T_FM_NOTIFICATION_TASK taskLast); } } diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs index 18e33f5..a12a5ff 100644 --- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs +++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs @@ -643,7 +643,7 @@ namespace APT.BaseData.Services.Services.FM #region //涉及到总部的人员 待办 直接把数据传到总部去 //待办同步 - NotificationTaskService.TaskToHead(appdetails, notice, null, finishNotice); + NotificationTaskService.TaskToHeads(appdetails, notices, null, finishNotice); #endregion diff --git a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs index 6bc4fa4..9c19432 100644 --- a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs +++ b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs @@ -1562,6 +1562,76 @@ namespace APT.BaseData.Services.Services.FM catch (Exception ex) { } } } + } + + #endregion + #region 总部待办处理 + + /// + /// 审批流 待办处理 判断到总部数据 + /// + /// 审批明细 + /// 下一个审批待办 + /// 下一个审批待办 + /// 上一个审批待办 + public void TaskToHeads(IEnumerable appdetails, List taskNexts, List 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 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 From af762f0ebc53b05b50927db4c58b3bd9f7949d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Wed, 25 Mar 2026 18:32:55 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=BA=93=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APT.HM.WebApi/Controllers/Api/OperationLinkController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs index 99ff692..df13e23 100644 --- a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs +++ b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs @@ -482,7 +482,7 @@ namespace APT.HM.WebApi.Controllers.Api 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)