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