From 10766c0c562176d4143c4918ca60d1eb2f42b41e 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, 15 Apr 2026 11:40:57 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E9=87=8D=E5=A4=8D=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index d7fdc99..679e57b 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -5559,6 +5559,7 @@ namespace APT.PP.WebApi.Controllers.Api } if (userInfo != null) { + bool send = true; var setTime = setList.FirstOrDefault(t => t.PRODUCTION_UNIT_ID == item.PRODUCTION_UNIT_ID && t.CHECK_CYCLE == item.Cycle); //判断是否重复触发 var exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.DEPARTMENT_TYPE == item.DepartType && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle && t.CREATE_TIME.Value.Date == dt.Date); @@ -5573,8 +5574,12 @@ namespace APT.PP.WebApi.Controllers.Api var startTime = sche.START_TIME.AddHours(-1.5); exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.DEPARTMENT_TYPE == item.DepartType && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle && t.CREATE_TIME > startTime && (t.CREATE_TIME.Value.Date == dt.Date || t.CREATE_TIME.Value.Date == dt.AddDays(-1).Date)); } + else + { + send = false; + } } - if ((exist == null && item.CheckPost == "班组负责人") || (exist == null && item.CheckPost != "班组负责人" && setTime != null && dt.Hour == setTime.CHECKTIME.Value.Hour)) + if ((send && exist == null && item.CheckPost == "班组负责人") || (send && exist == null && item.CheckPost != "班组负责人" && setTime != null && dt.Hour == setTime.CHECKTIME.Value.Hour)) { T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE(); safeNotice.ORG_ID = filter.OrgId; From 517584dc8e1bf9572a14cd54497aa3e9e72c1d13 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, 15 Apr 2026 11:58:58 +0800 Subject: [PATCH 2/4] 1 --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs index 679e57b..4914ed9 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SKController.cs @@ -5572,7 +5572,10 @@ namespace APT.PP.WebApi.Controllers.Api if (sche != null) { var startTime = sche.START_TIME.AddHours(-1.5); - exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.DEPARTMENT_TYPE == item.DepartType && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle && t.CREATE_TIME > startTime && (t.CREATE_TIME.Value.Date == dt.Date || t.CREATE_TIME.Value.Date == dt.AddDays(-1).Date)); + if (sche.START_TIME.Date != sche.END_TIME.Date) + { + exist = noticeExsiss.FirstOrDefault(t => t.APPLY_DEPARTMENT_ID == userInfo.DEPARTMENT_ID && t.DEPARTMENT_TYPE == item.DepartType && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle && t.CREATE_TIME >= startTime && (t.CREATE_TIME.Value.Date == sche.START_TIME.Date || t.CREATE_TIME.Value.Date == sche.START_TIME.Date.AddDays(-1))); + } } else { From a10cebd1387df791e6394fa61865ca2535d0e105 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, 15 Apr 2026 16:08:14 +0800 Subject: [PATCH 3/4] =?UTF-8?q?1=E3=80=81=E6=AF=8F=E6=97=A5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=8F=AD=E7=BB=84=E5=8F=8A=E6=88=90=E5=91=98=202?= =?UTF-8?q?=E3=80=81=E8=BE=A8=E8=AF=86=E5=8C=BA=E5=9F=9F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/FMController.cs | 150 ++++++++++++++---- .../Controllers/Api/RiskAreaController.cs | 33 +++- 2 files changed, 153 insertions(+), 30 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index e25f16e..6c89f24 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -1,39 +1,40 @@ -using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Entities; +using APT.BaseData.Domain.Entities.FM; +using APT.BaseData.Domain.Entities.OP; using APT.BaseData.Domain.Enums; -using APT.BaseData.Domain.Entities; +using APT.BaseData.Domain.Enums.PF; using APT.BaseData.Domain.IServices; +using APT.BaseData.Domain.IServices.FM; +using APT.Infrastructure.Api; using APT.Infrastructure.Core; +using APT.Migrations; +using APT.MS.Domain.Entities.BI; +using APT.MS.Domain.Entities.BS; using APT.MS.Domain.Entities.FO; +using APT.MS.Domain.Entities.HM; +using APT.MS.Domain.Entities.SC.PT; +using APT.MS.Domain.Entities.SE; +using APT.MS.Domain.Enums; using APT.Utility; +using APT.WebApi.Models; +using Castle.Core.Internal; +using Google.Protobuf.Collections; +using ICSharpCode.SharpZipLib.Core; +using InfluxData.Net.InfluxDb.Enums; using Microsoft.AspNetCore.Mvc; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using Microsoft.Extensions.Logging; +using MySqlX.XDevAPI.Common; +using NPOI.SS.Formula.Functions; +using NPOI.Util; +using Org.BouncyCastle.Utilities; using System; using System.Collections.Generic; -using System.Linq; -using APT.BaseData.Domain.IServices.FM; -using APT.MS.Domain.Entities.HM; -using APT.MS.Domain.Enums; using System.Drawing; -using APT.MS.Domain.Entities.BS; -using APT.MS.Domain.Entities.SC.PT; -using Castle.Core.Internal; -using ICSharpCode.SharpZipLib.Core; -using APT.MS.Domain.Entities.SE; -using APT.BaseData.Domain.Enums.PF; -using APT.MS.Domain.Entities.BI; -using Google.Protobuf.Collections; -using InfluxData.Net.InfluxDb.Enums; -using NPOI.Util; -using APT.BaseData.Domain.Entities.OP; -using APT.Migrations; -using APT.Infrastructure.Api; -using Org.BouncyCastle.Utilities; +using System.Linq; using System.Linq.Expressions; -using MySqlX.XDevAPI.Common; using System.Threading.Tasks; -using NPOI.SS.Formula.Functions; -using APT.WebApi.Models; -using Microsoft.Extensions.Logging; -using Microsoft.CodeAnalysis.CSharp.Syntax; +using static NPOI.HSSF.Util.HSSFColor; namespace APT.PP.WebApi.Controllers.Api.PP { @@ -2763,11 +2764,104 @@ namespace APT.PP.WebApi.Controllers.Api.PP return true; }); - } - + } + #endregion + + /// + /// 每天更新人员及班组管理表 + /// + /// + /// + [HttpPost, Route("UpdateTeamInfoSync")] + public JsonActionResult UpdateTeamInfoSync([FromBody] KeywordFilter filter) + { + return SafeExecute(() => + { + try + { + var teamLists = new List(); + var teamPersonLists = new List(); + var teamPersonIds = new List(); + var departs = this.GetEntities(t => t.ENABLE_STATUS == 0 && t.CATEGORY == FMCATEGORY.ACTURE && t.DEPARTMENT_TYPE == (int)FMDepartmentType.Class,new BaseFilter(filter.OrgId)); + var departIds = departs.Select(t => t.ID).ToList(); + var teams = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)); + var teamPersons = this.GetEntities< T_FM_TEAM_PERSON> (t =>true, new BaseFilter(filter.OrgId)); + var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID != null && departIds.Contains((Guid)t.DEPARTMENT_ID),new BaseFilter(filter.OrgId)); + if (departIds != null && departIds.Any()) + { + foreach (var item in departIds) + { + var departInfo = departs.FirstOrDefault(t => t.ID == item); + var userInfo = users.FirstOrDefault(t => t.ID == departInfo?.USER_ID); + var persons = users.Where(t => t.DEPARTMENT_ID == item && t.PERSON_ID != null).ToList(); + var teamInfo = teams.FirstOrDefault(t => t.DEPARTMENT_ID == item); + if (teamInfo == null) + { + T_FM_TEAM team = new T_FM_TEAM(); + team.ORG_ID = filter.OrgId; + team.CHARGE_PERSON_ID = userInfo?.ID; + team.NAME = departInfo.NAME; + team.ENABLE_STATUS = 0; + team.DEPARTMENT_ID = item; + teamLists.Add(team); + if (persons != null && persons.Any()) + { + foreach (var per in persons) + { + T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON(); + person.ORG_ID = filter.OrgId; + person.TEAM_ID = team.ID; + person.PERSON_ID = (Guid)per.PERSON_ID; + teamPersonLists.Add(person); + } + } + } + else + { + teamInfo.CHARGE_PERSON_ID = userInfo?.ID; + teamLists.Add(teamInfo); + var personIds = teamPersons.Where(t => t.TEAM_ID == teamInfo.ID).Select(m=>m.PERSON_ID).ToList(); + if (persons != null && persons.Any()) + { + foreach (var per in persons) + { + if (!personIds.Contains((Guid)per.PERSON_ID)) + { + T_FM_TEAM_PERSON person = new T_FM_TEAM_PERSON(); + person.ORG_ID = filter.OrgId; + person.TEAM_ID = teamInfo.ID; + person.PERSON_ID = (Guid)per.PERSON_ID; + teamPersonLists.Add(person); + } + } + } + var deletePersonIds = users.Where(t => personIds.Contains((Guid)t.PERSON_ID) && t.DEPARTMENT_ID != teamInfo.DEPARTMENT_ID).Select(m=>m.PERSON_ID).ToList(); + teamPersonIds = teamPersons.Where(t => deletePersonIds.Contains(t.PERSON_ID)).Select(m => m.ID).ToList(); + } + } + } + UnifiedCommit(() => + { + if (teamLists != null && teamLists.Any()) + BantchSaveEntityNoCommit(teamLists); + if (teamPersonLists != null && teamPersonLists.Any()) + BantchSaveEntityNoCommit(teamPersonLists); + if (teamPersonIds != null && teamPersonIds.Any()) + BantchDeleteEntityNoCommit(teamPersonIds); + }); + } + catch (Exception ex) + { + if (!string.IsNullOrEmpty(ex.StackTrace)) + throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); + else + throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } - + return true; + }); + } } public class RiskInfo diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs index 7ce8628..6c9a69b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/RiskAreaController.cs @@ -1,4 +1,5 @@ -using APT.Infrastructure.Core; +using APT.BaseData.Domain.Entities; +using APT.Infrastructure.Core; using APT.MS.Domain.Entities.HM; using APT.MS.Domain.Entities.SK; using APT.MS.Domain.Enums; @@ -6,8 +7,8 @@ using APT.Utility; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; -using System.Linq.Expressions; using System.Linq; +using System.Linq.Expressions; namespace APT.SK.WebApi.Controllers.Api { @@ -85,6 +86,34 @@ namespace APT.SK.WebApi.Controllers.Api result.Data = info.Data; result.IsSuccessful = info.IsSuccessful; }); + } + /// + /// 根据主键删除数据 + /// + /// 主键ID + /// + [HttpGet, Route("SKDelete")] + public JsonActionResult SKDelete(string id) + { + return SafeExecute(() => + { + if (string.IsNullOrEmpty(id)) + this.ThrowError("060010"); + var area = this.GetEntity(id); + var areas = new List(); + if (area != null) + { + area.IS_DELETED = true; + areas.Add(area); + } + UnifiedCommit(() => + { + if (area != null) + this.BantchUpdateEntity_noneBase(areas); + + }); + return true; + }); } } } \ No newline at end of file From 5cfc45b09b4198b8c766c406e574d522f0d0aba4 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, 15 Apr 2026 17:00:19 +0800 Subject: [PATCH 4/4] 1 --- APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs index 6c89f24..ae6f65d 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FMController.cs @@ -2800,7 +2800,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP { T_FM_TEAM team = new T_FM_TEAM(); team.ORG_ID = filter.OrgId; - team.CHARGE_PERSON_ID = userInfo?.ID; + team.CHARGE_PERSON_ID = userInfo?.PERSON_ID; team.NAME = departInfo.NAME; team.ENABLE_STATUS = 0; team.DEPARTMENT_ID = item; @@ -2819,7 +2819,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP } else { - teamInfo.CHARGE_PERSON_ID = userInfo?.ID; + teamInfo.CHARGE_PERSON_ID = userInfo?.PERSON_ID; teamLists.Add(teamInfo); var personIds = teamPersons.Where(t => t.TEAM_ID == teamInfo.ID).Select(m=>m.PERSON_ID).ToList(); if (persons != null && persons.Any())