审批流修改 总部 待办同步

This commit is contained in:
wyw 2025-10-24 15:19:52 +08:00
parent 301464d213
commit 6acfaa4ac0
5 changed files with 59 additions and 20 deletions

View File

@ -301,5 +301,14 @@ namespace APT.BaseData.Domain.IServices.FM
/// <param name="listAllSet">待办限制时间配置信息外部调用不传</param>
/// <returns></returns>
DateTime GetTaskEndTime(FMTASKTYPE TASK_TYPE, Guid OrgId, DateTime? dtNow, int? FREQUENCYE, DateTime? DateTimeLastest, List<T_FM_NOTIFICATION_TASK_TIME_SET> listAllSet = null);
/// <summary>
/// 审批流 待办处理 判断到总部数据
/// </summary>
/// <param name="appdetails">审批明细</param>
/// <param name="taskNext">下一个审批待办</param>
/// <param name="taskLast">上一个审批待办</param>
void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> listModelNext, T_FM_NOTIFICATION_TASK taskLast);
}
}

View File

@ -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

View File

@ -1488,9 +1488,31 @@ namespace APT.BaseData.Services.Services.FM
#region
public void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, T_FM_NOTIFICATION_TASK taskLast)
/// <summary>
/// 审批流 待办处理 判断到总部数据
/// </summary>
/// <param name="appdetails">审批明细</param>
/// <param name="taskNext">下一个审批待办</param>
/// <param name="listModelNext">下一个审批待办</param>
/// <param name="taskLast">上一个审批待办</param>
public void TaskToHead(IEnumerable<T_PF_APPROVE_DETAIL> appdetails, T_FM_NOTIFICATION_TASK taskNext, List<T_FM_NOTIFICATION_TASK> 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<T_FM_NOTIFICATION_TASK> 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) { }

View File

@ -7428,6 +7428,8 @@ namespace APT.BaseData.Services.DomainServices
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;
}

View File

@ -593,7 +593,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI
private void GetDownRiskID(IEnumerable<Guid> listPARENT_ID, ref List<Guid> listResult)
{
List<Guid> ids = new List<Guid>();
var listAreaIDDown = GetEntities<T_HM_RISK_AREA>(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
//var listAreaIDDown = GetEntities<T_HM_RISK_AREA>(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
var listAreaIDDown = GetEntities<T_SK_RISK_AREA>(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
if (listResult == null)
{
listResult = new List<Guid>();