From 826d34a31f7486b60b6ecaf36ee5ed40aa95bf6d Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Tue, 26 May 2026 14:54:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E9=80=9A=E7=9F=A5=20?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E5=9F=B9=E8=AE=AD=E5=BC=80=E5=A7=8B=E6=97=B6?= =?UTF-8?q?=E9=97=B4=20=E5=A6=82=E6=9E=9C=E5=B7=B2=E5=BC=80=E5=A7=8B=20?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=90=8E=E7=9B=B4=E6=8E=A5=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=20=20=E5=A6=82=E6=9E=9C=E6=98=AF=E8=AF=B7?= =?UTF-8?q?=E5=81=87=20=E5=A4=84=E7=90=86=E7=AD=BE=E5=88=B0=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=20=E5=B9=B6=E5=A4=84=E7=90=86=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=E8=AF=B7=E5=81=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SEController/5SETTrainNotifyController.cs | 54 +++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/5SETTrainNotifyController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/5SETTrainNotifyController.cs index b3908b2..e4e62cc 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/5SETTrainNotifyController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/5SETTrainNotifyController.cs @@ -359,22 +359,43 @@ namespace APT.SC.WebApi.Controllers.Api.SE { return SafeExecute(() => { - var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; + //var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId; T_FM_NOTIFICATION_TASK finishTask = null; + T_FM_NOTIFICATION_TASK finishTaskSign = null; T_SE_TRAIN_NOTIFY model = null; - var allUsers = GetEntities(t => t.NOTIFY_ID == entity.NOTIFY_ID, new BaseFilter(orgId)); + T_SE_TRAIN_RECORD_USER modelRU = null; + var allUsers = GetEntities(t => t.NOTIFY_ID == entity.NOTIFY_ID, null, "Nav_Notify"); + if (allUsers == null || allUsers.Count() < 1) + { + throw new Exception("获取培训通知信息失败,请刷新页面后重试!"); + } + model = allUsers.First(e => true).Nav_Notify; + if (model.TRAIN_START_TIME.HasValue && model.TRAIN_START_TIME.Value < DateTime.Now) + { + if (entity.TaskID != Guid.Empty) + { + finishTask = NotificationTaskService.GetTaskFinishModel(entity.TaskID); + UnifiedCommit(() => + { + if (finishTask != null) + UpdateEntityNoCommit(finishTask); + }); + } + throw new Exception("操作失败,该培训已开始!"); + } var updateUsers = allUsers.Where(t => t.USER_ID == entity.USER_ID); foreach (var updateUser in updateUsers) { updateUser.IS_LEAVE = entity.IS_LEAVE; updateUser.LEAVE_REASON = entity.LEAVE_REASON; updateUser.MODIFY_TIME = DateTime.Now; + updateUser.Nav_Notify = null; } finishTask = NotificationTaskService.GetTaskFinishModel(entity.TaskID); var todoCount = allUsers.Count(t => t.IS_LEAVE == SETrainYesNoEnum.未签到); if (todoCount == 0) { - model = GetEntity(entity.NOTIFY_ID); + //model = GetEntity(entity.NOTIFY_ID); if (model.CREATE_NOTIFY_RECORD && model.STATUS != SETrainNotifyStatus.归档) { model.STATUS = SETrainNotifyStatus.签到完成; @@ -386,6 +407,29 @@ namespace APT.SC.WebApi.Controllers.Api.SE model.MODIFY_TIME = DateTime.Now; } + if (entity.IS_LEAVE == SETrainYesNoEnum.请假 && model.ISSENDSIGN) + { + //查看是否有培训签到单子 如果有 处理掉 + var recordModel = GetEntity(e => e.NOTIFY_ID == entity.NOTIFY_ID); + if (recordModel != null && !recordModel.ISSTOPSIGN) + { + //已发送签到 但是未 停止签到 + finishTaskSign = GetEntity(e => e.SOURCE_DATA_ID.HasValue && e.SOURCE_DATA_ID.Value == recordModel.ID && e.NOTICE_STATUS == 0 && e.USER_ID == entity.USER_ID && e.SOURCE_FORMCODE == "SE017_SHOWPRINT"); + if (finishTaskSign != null) + { + finishTaskSign.NOTICE_STATUS = 4; + finishTaskSign.MODIFY_TIME = DateTime.Now; + + modelRU = GetEntity(e => e.USER_ID == entity.USER_ID && e.RECORD_ID == recordModel.ID); + if (modelRU != null) + { + modelRU.STATUS = SETrainRecordUserStatusEnum.请假; + modelRU.MODIFY_TIME = DateTime.Now; + } + } + } + } + UnifiedCommit(() => { if (updateUsers != null) @@ -394,6 +438,10 @@ namespace APT.SC.WebApi.Controllers.Api.SE UpdateEntityNoCommit(model, "STATUS", "MODIFY_TIME"); if (finishTask != null) UpdateEntityNoCommit(finishTask); + if (finishTaskSign != null) + UpdateEntityNoCommit(finishTaskSign); + if (modelRU != null) + UpdateEntityNoCommit(modelRU); }); return true; });