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())