From 6e0166b6bb6f92a5a4cdb093aef5c08f282d831f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Sat, 3 Jan 2026 01:31:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E5=AF=BC=E5=B8=A6=E7=8F=AD=E4=B8=8B?= =?UTF-8?q?=E4=BA=95=E8=AE=B0=E5=BD=95=E8=B7=91=E6=89=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/FOController.cs | 41 +++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs index fc4c20a..0118fb8 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/FOController.cs @@ -2003,8 +2003,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP var company = this.GetEntity(t => t.PARENT_ID == null && t.ENABLE_STATUS == 0); var fmClass = this.GetEntities(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_ClassDetail"); var users = this.GetEntities(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin"), new BaseFilter(filter.OrgId),"Nav_Department"); - var jobs = this.GetEntities(t => t.DATE.Date == dt.Date, new BaseFilter(filter.OrgId), "Nav_User"); - var records = this.GetEntities(t => t.JOB_START_DATE.Value.Date == dt.Date, new BaseFilter(filter.OrgId)); + var jobs = this.GetEntities(t => t.DATE.Date == dt.Date || t.DATE.Date == dt.AddDays(1).Date, new BaseFilter(filter.OrgId), "Nav_User"); + var records = this.GetEntities(t => t.JOB_START_DATE.Value.Date == dt.Date || t.JOB_START_DATE.Value.Date == dt.AddDays(1).Date, new BaseFilter(filter.OrgId)); if (jobs != null && jobs.Any()) { foreach (var item in jobs) @@ -2012,9 +2012,10 @@ namespace APT.PP.WebApi.Controllers.Api.PP var classFisrt = fmClass.FirstOrDefault(t => t.ID == item.CLASS_ID); if (classFisrt != null && classFisrt.Nav_ClassDetail != null && classFisrt.Nav_ClassDetail.Any()) { - var firstRecord = records.FirstOrDefault(t => t.CLASS_ID == item.CLASS_ID); + var firstRecord = records.FirstOrDefault(t =>t.JOB_START_DATE.Value.Date == dt.Date && t.CLASS_ID == item.CLASS_ID && t.APPLY_USER_ID == item.USER_ID); + var secondRecord = records.FirstOrDefault(t => t.JOB_START_DATE.Value.Date == dt.AddDays(1).Date && t.CLASS_ID == item.CLASS_ID && t.APPLY_USER_ID == item.USER_ID); var firstTime = classFisrt.Nav_ClassDetail.OrderBy(t => t.NUM).FirstOrDefault(); - if (firstTime.STARTTIME.Hour == dt.AddHours(1).Hour && firstRecord == null) + if (firstTime.STARTTIME.Hour != 0 && firstTime.STARTTIME.Hour == dt.AddHours(1).Hour && firstRecord == null && dt.Date == item.DATE) { var sendUser = users.FirstOrDefault(t => t.ID == item.USER_ID); if (sendUser != null) @@ -2023,8 +2024,8 @@ namespace APT.PP.WebApi.Controllers.Api.PP record.ORG_ID = item.ORG_ID; record.APPLY_USER_ID = sendUser.ID; record.APPLY_DEPARTMENT_ID = sendUser.DEPARTMENT_ID; - record.JOB_START_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() +" "+ firstTime.STARTTIME.ToShortTimeString()); - record.JOB_END_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() +" "+ firstTime.ENDTIME.ToShortTimeString()); + record.JOB_START_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() + " " + firstTime.STARTTIME.ToShortTimeString()); + record.JOB_END_DATE = Convert.ToDateTime(dt.Date.ToShortDateString() + " " + firstTime.ENDTIME.ToShortTimeString()); record.APPLY_DEPARTMENT_ID = sendUser.DEPARTMENT_ID; record.COMPANY_ID = company?.ID; record.CLASS_ID = item.CLASS_ID; @@ -2035,7 +2036,33 @@ namespace APT.PP.WebApi.Controllers.Api.PP ledUser.LEADER_WELL_RECORD_ID = record.ID; ledUser.USER_ID = sendUser.ID; wellRecordUsers.Add(ledUser); - var notice = NotificationTaskService.InsertUserNoticeTaskModel("领导带班下井记录"+dt.Month.PadLeft(2,'0')+ dt.Day.PadLeft(2, '0') + "("+classFisrt.NAME+")", record.ID, item.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now, + var notice = NotificationTaskService.InsertUserNoticeTaskModel("领导带班下井记录" + dt.Month.PadLeft(2, '0') + dt.Day.PadLeft(2, '0') + "(" + classFisrt.NAME + ")", record.ID, item.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now, + DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO041"); + notices.Add(notice); + } + } + else if (firstTime.STARTTIME.Hour == 0 && dt.Hour == 23 && secondRecord == null && dt.AddDays(1).Date == item.DATE) + { + var sendUser = users.FirstOrDefault(t => t.ID == item.USER_ID); + if (sendUser != null) + { + T_FO_LEADER_WELL_RECORD record = new T_FO_LEADER_WELL_RECORD(); + record.ORG_ID = item.ORG_ID; + record.APPLY_USER_ID = sendUser.ID; + record.APPLY_DEPARTMENT_ID = sendUser.DEPARTMENT_ID; + record.JOB_START_DATE = Convert.ToDateTime(dt.AddDays(1).Date.ToShortDateString() + " " + firstTime.STARTTIME.ToShortTimeString()); + record.JOB_END_DATE = Convert.ToDateTime(dt.AddDays(1).Date.ToShortDateString() + " " + firstTime.ENDTIME.ToShortTimeString()); + record.APPLY_DEPARTMENT_ID = sendUser.DEPARTMENT_ID; + record.COMPANY_ID = company?.ID; + record.CLASS_ID = item.CLASS_ID; + record.PRODUCTION_UNIT_ID = sendUser?.Nav_Department?.PRODUCTION_UNIT_ID; + wellRecords.Add(record); + T_FO_LEADER_WELL_RECORD_USER ledUser = new T_FO_LEADER_WELL_RECORD_USER(); + ledUser.ORG_ID = item.ORG_ID; + ledUser.LEADER_WELL_RECORD_ID = record.ID; + ledUser.USER_ID = sendUser.ID; + wellRecordUsers.Add(ledUser); + var notice = NotificationTaskService.InsertUserNoticeTaskModel("领导带班下井记录" + dt.AddDays(1).Month.PadLeft(2, '0') + dt.AddDays(1).Day.PadLeft(2, '0') + "(" + classFisrt.NAME + ")", record.ID, item.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "FO041"); notices.Add(notice); }