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