From b3510238daca4b74741250e38db323606fb75daa Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Tue, 25 Nov 2025 11:40:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E5=BA=A6=E5=9F=B9=E8=AE=AD=E8=AE=A1?= =?UTF-8?q?=E5=88=92=20=E8=A7=A6=E5=8F=91=E4=BF=AE=E6=94=B9=20=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E6=84=8F=E8=AF=86=E8=B0=83=E6=9F=A5=20=E5=9C=A8?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4=E5=88=B0=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entities/SC/SE/11T_SE_SAFE_SURVEY.cs | 2 +- .../Controllers/Api/SEController.cs | 51 +++++++++++++++---- 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/APT.MS.Domain/Entities/SC/SE/11T_SE_SAFE_SURVEY.cs b/APT.MS.Domain/Entities/SC/SE/11T_SE_SAFE_SURVEY.cs index a3257da..7249ea4 100644 --- a/APT.MS.Domain/Entities/SC/SE/11T_SE_SAFE_SURVEY.cs +++ b/APT.MS.Domain/Entities/SC/SE/11T_SE_SAFE_SURVEY.cs @@ -97,7 +97,7 @@ namespace APT.MS.Domain.Entities.SE [FormFieldQuery] public SESafeSurveyStatus STATUS { get; set; } /// - /// 发起人报表发送 + /// 公司报表通知 /// [Description("公司报表通知")] [FormFieldEdit] diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SEController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SEController.cs index 9892269..4b768e5 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SEController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SEController.cs @@ -160,7 +160,7 @@ namespace APT.PP.WebApi.Controllers.Api.PP //安全意识调查结束部门汇总 CheckSafeSuveyDepartReport(filter, dtNow); //安全意识调查所有结束公司汇总 - CheckSafeSuveyCompanyReport(filter, dtNow); + CheckSafeSuveyCompanyReport(filter, dtNow); //安全意识调查 非草稿时间到了 或者已经到截止时间了 汇总给 部门安全员/负责人 公司:安环安全员/安环负责人/安环总监 //培训需求调查结束汇总 CheckTrainSuveyFinishByDepartment(filter, dtNow); #endregion @@ -1396,11 +1396,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP if (mm == dtNow.Month && dd == dtNow.Day) { int year = int.Parse(dtNow.Year.ToString()); - if (mm > 9) + if (mm > 10) { year++;//超过9月算 制定 明年的代办 } - var yearPlan = this.GetEntity(e => e.YEAR == year); + var yearPlan = this.GetEntity(e => e.YEAR == year && e.TYPE == PlanType.Company && !e.IS_DELETED); if (yearPlan != null) { return true; @@ -1704,17 +1704,19 @@ namespace APT.PP.WebApi.Controllers.Api.PP BantchAddEntityNoCommit(sendNotices); }); } + /// /// 安全意识调查完成后 /// - /// - /// - + /// + /// private void CheckSafeSuveyCompanyReport(KeywordFilter filter, DateTime dt) { //安全意识调查全部完成后发送给安环部负责人 - var surveysAll = GetEntities(t => t.LAUNCH_TIME.Value.Year == dt.Year && - t.STATUS == SESafeSurveyStatus.完成 && !t.COMPNAY_REPORT && t.TASK_ID != null, new BaseFilter(filter.GetOrgId())).ToList(); + // 安全意识调查全部完成 或者 截止时间到了 并且没给公司 发送意识调查 触发 意识调查 公司汇总 给安环负责人/总监 或者 安环安全员 + var surveysAll = GetEntities(t => ((t.LAUNCH_TIME.Value.Year == dt.Year && + t.STATUS == SESafeSurveyStatus.完成) || (t.STATUS != SESafeSurveyStatus.草稿 && t.END_TIME.HasValue && t.END_TIME.Value <= dt)) && t.LAUNCH_DEPARTMENT_ID.HasValue && !t.COMPNAY_REPORT && t.TASK_ID != null, new BaseFilter(filter.GetOrgId())).ToList(); + if (surveysAll == null || surveysAll.Count == 0) { return; @@ -1722,13 +1724,44 @@ namespace APT.PP.WebApi.Controllers.Api.PP List notices = new List(); var taskids = surveysAll.Select(t => t.TASK_ID).Distinct(); var chargeUser = GetEntity(t => t.Nav_ApproveRole.NAME == "安环部负责人" && t.ENABLE_STATUS == 0); + if (chargeUser == null) + { + chargeUser = GetEntity(t => t.Nav_ApproveRole.NAME == "安全总监" && t.ENABLE_STATUS == 0); + } + var chargeUserSafe = GetEntity(t => t.Nav_ApproveRole.NAME == "安环部安全员" && t.ENABLE_STATUS == 0); foreach (var taskid in taskids) { var surveys = surveysAll.Where(t => t.TASK_ID == taskid).ToList(); + if (surveys != null && surveys.Count() > 0) + { + if (chargeUser != null) + { + notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("意识调查-" + surveys[0].LAUNCH_TIME + "-公司汇总", (Guid)taskid, filter.GetOrgId(), chargeUser.ID, chargeUser.NAME, DateTime.Now, (int)FMFormTypeEnum.计划任务通知, "SE005_ALLREPORT", FMTASKTYPE.Default)); + } + if (chargeUserSafe != null) + notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("意识调查-" + surveys[0].LAUNCH_TIME + "-公司汇总", (Guid)taskid, filter.GetOrgId(), chargeUserSafe.ID, chargeUserSafe.NAME, DateTime.Now, (int)FMFormTypeEnum.计划任务通知, "SE005_ALLREPORT", FMTASKTYPE.Default)); + } + foreach (var survey in surveys) { survey.COMPNAY_REPORT = true; - notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("意识调查-" + surveys[0].LAUNCH_TIME + "-公司汇总", (Guid)taskid, filter.GetOrgId(), chargeUser.ID, chargeUser.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMFormTypeEnum.计划任务通知, "SE005_ALLREPORT")); + //发起部门 负责人 或者安全员 + if ((chargeUser != null && chargeUser.DEPARTMENT_ID.HasValue && chargeUser.DEPARTMENT_ID.Value == survey.LAUNCH_DEPARTMENT_ID.Value) || (chargeUserSafe != null && chargeUserSafe.DEPARTMENT_ID.HasValue && chargeUserSafe.DEPARTMENT_ID.Value == survey.LAUNCH_DEPARTMENT_ID.Value)) + { + continue; + } + + //发起组织的 安全员和负责人 有此确认单 + var depcharge = GetEntity(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID.HasValue && t.DEPARTMENT_ID.Value == survey.LAUNCH_DEPARTMENT_ID.Value && t.Nav_ApproveRole.NAME.Contains("部门负责人")); + var depSafe = GetEntity(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID.HasValue && t.DEPARTMENT_ID.Value == survey.LAUNCH_DEPARTMENT_ID.Value && t.Nav_ApproveRole.NAME.Contains("部门安全员")); + if (depcharge != null) + { + notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("意识调查-" + surveys[0].LAUNCH_TIME + "-部门汇总", survey.ID, survey.ORG_ID, depcharge.ID, depcharge.NAME, DateTime.Now, (int)FMFormTypeEnum.计划任务通知, "SE005_ALLREPORT", FMTASKTYPE.Default)); + } + if (depSafe != null) + { + notices.Add(NotificationTaskService.InsertUserNoticeTaskModel("意识调查-" + surveys[0].LAUNCH_TIME + "-部门汇总", survey.ID, survey.ORG_ID, depSafe.ID, depSafe.NAME, DateTime.Now, (int)FMFormTypeEnum.计划任务通知, "SE005_ALLREPORT", FMTASKTYPE.Default)); + } } } UnifiedCommit(() =>