From 6acfaa4ac0bfac530b0eb63a656de4481ca1b2cf Mon Sep 17 00:00:00 2001
From: wyw <571921741@qq.com>
Date: Fri, 24 Oct 2025 15:19:52 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=B5=81=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=20=20=E6=80=BB=E9=83=A8=20=20=E5=BE=85=E5=8A=9E=E5=90=8C?=
=?UTF-8?q?=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../FM/IFMNotificationTaskService.cs | 9 ++++
.../Services/FM/FMFlowPermitService.cs | 10 +---
.../Services/FM/FMNotificationTaskService.cs | 51 +++++++++++++++----
.../Services/PF/PFApproveCallBackService.cs | 6 ++-
.../Api/BIController/H5Controller.cs | 3 +-
5 files changed, 59 insertions(+), 20 deletions(-)
diff --git a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
index dc52943..4f81a10 100644
--- a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
+++ b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
@@ -301,5 +301,14 @@ namespace APT.BaseData.Domain.IServices.FM
/// 待办限制时间配置信息外部调用不传
///
DateTime GetTaskEndTime(FMTASKTYPE TASK_TYPE, Guid OrgId, DateTime? dtNow, int? FREQUENCYE, DateTime? DateTimeLastest, List listAllSet = null);
+
+ ///
+ /// 审批流 待办处理 判断到总部数据
+ ///
+ /// 审批明细
+ /// 下一个审批待办
+ /// 上一个审批待办
+ void TaskToHead(IEnumerable appdetails, T_FM_NOTIFICATION_TASK taskNext, 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 3b9b804..522457d 100644
--- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
+++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
@@ -627,15 +627,9 @@ namespace APT.BaseData.Services.Services.FM
});
#region //涉及到总部的人员 待办 直接把数据传到总部去
- var checkAdd = appdetails.FirstOrDefault(e => e.ISHEAD && e.IS_CURRENT);
- if (checkAdd != null)
- {
- try
- {
+ //待办同步
+ NotificationTaskService.TaskToHead(appdetails, notice, null, finishNotice);
- }
- catch (Exception ex) { }
- }
#endregion
diff --git a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
index cb7d554..ddb46c2 100644
--- a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
+++ b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
@@ -1488,9 +1488,31 @@ namespace APT.BaseData.Services.Services.FM
#region 总部待办处理
- public void TaskToHead(IEnumerable appdetails, T_FM_NOTIFICATION_TASK taskNext, T_FM_NOTIFICATION_TASK taskLast)
+ ///
+ /// 审批流 待办处理 判断到总部数据
+ ///
+ /// 审批明细
+ /// 下一个审批待办
+ /// 下一个审批待办
+ /// 上一个审批待办
+ public void TaskToHead(IEnumerable appdetails, T_FM_NOTIFICATION_TASK taskNext, List listModelNext, T_FM_NOTIFICATION_TASK taskLast)
{
var checkAdd = appdetails.FirstOrDefault(e => e.ISHEAD && e.IS_CURRENT);
+ if (checkAdd == null)
+ {
+ //审批的最后一步 IS_CURRENT =false
+ if (taskNext == null && (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;//上一个是审批相关
@@ -1503,18 +1525,27 @@ namespace APT.BaseData.Services.Services.FM
try
{
- string conn = "Server=121.41.2.71;Database=mh_jy_head;uid=sa;pwd=mhsafe!2021;";
- using (var context = new MigrationContext(conn))
+ IEnumerable listSync = null;
+ if (listModelNext != null && listModelNext.Any())
{
- if (isLastDeal && taskLast != null)
+ 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())
{
- this.UpdateEntityByConn(taskLast, conn);
+ listSync = listModelNext.Where(e => userids.Contains(e.USER_ID));
}
- if (taskNext != null)
- {
- this.AddEntityByConn(taskNext, conn);
- }
- context.SaveChanges();
+ }
+
+ if (isLastDeal && taskLast != null)
+ {
+ this.UpdateEntityByTenant(taskLast, "003");
+ }
+ if (taskNext != null)
+ {
+ this.AddEntityByTenant(taskNext, "003");
+ }
+ if (listSync != null && listSync.Count() > 0)
+ {
+ this.AddEntitiesByTenant(listSync, "003");
}
}
catch (Exception ex) { }
diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
index 8ad0f29..1d6caa1 100644
--- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
+++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
@@ -7427,7 +7427,9 @@ namespace APT.BaseData.Services.DomainServices
BantchSaveEntityNoCommit(listTaskNext);
if (listLog != null && listLog.Any())//本节点操作记录
BantchSaveEntityNoCommit(listLog);
- });
+ });
+ //待办同步
+ NotificationTaskService.TaskToHead(listAppDetail, null, listTaskNext, taskFinish);
}
else
{
@@ -12716,6 +12718,8 @@ namespace APT.BaseData.Services.DomainServices
if (resultDetail != null && resultDetail.Count > 0)
BantchSaveEntityNoCommit(resultDetail);
});
+ //待办同步
+ NotificationTaskService.TaskToHead(listAppDetail, null, null, taskFinish);
}
return true;
}
diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/H5Controller.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/H5Controller.cs
index 612567d..75de746 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/H5Controller.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/H5Controller.cs
@@ -593,7 +593,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
private void GetDownRiskID(IEnumerable listPARENT_ID, ref List listResult)
{
List ids = new List();
- var listAreaIDDown = GetEntities(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
+ //var listAreaIDDown = GetEntities(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
+ var listAreaIDDown = GetEntities(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
if (listResult == null)
{
listResult = new List();