From e3065f59f4a73afb1f1aa49d1d0ee64631b6d1fc Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Mon, 17 Mar 2025 10:29:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E5=81=87=E5=90=8C=E4=B8=80=E5=A4=A9?= =?UTF-8?q?=E7=9A=84=E5=8D=8A=E5=A4=A9=E6=9C=89=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/att/service/AttCalServiceImpl.java | 37 +++++++++++++------ .../mapper/att/AttSourceDataMapper.xml | 2 +- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java index 8f629ff..2b022cd 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttCalServiceImpl.java @@ -836,9 +836,9 @@ public class AttCalServiceImpl implements AttCalService { */ private void threadLeaveData(LeaveBean c) { //1.将请假区间变成日期集合 -// if(c.getUserId() == 263){ -// System.out.println("米娜"); -// } + if(c.getUserId() == 1){ + System.out.println("米娜"); + } List dateLists = AttTimeUtil.getStrDateListBetween(c.getLeaveStartDate(), c.getLeaveEndDate()); if (!dateLists.isEmpty()) { // //根据开始时间、结束时间获取节假日的日期集合 @@ -848,21 +848,34 @@ public class AttCalServiceImpl implements AttCalService { c.getUserId()); AttDataBean offWorkBean = new AttDataBean(v, c.getAttStatus(), "2", c.getUserId()); - //开始和结束的那天是否只请了半天 - if (c.getLeaveStartDate().equals(v)) { - if ("2".equals(c.getLeaveStartInterval())) { - attSourceDataDao.updateLeaveData(offWorkBean); + //开始和结束的那天是否只请假了一天 + if (dateLists.size() == 1 ) { + if (c.getLeaveStartInterval().equals(c.getLeaveEndInterval())) { + if ("2".equals(c.getLeaveStartInterval())) { + attSourceDataDao.updateLeaveData(offWorkBean); + }else if ("1".equals(c.getLeaveEndInterval())) { + attSourceDataDao.updateLeaveData(toWorkBean); + } } else { tf = true; } - } else if (c.getLeaveEndDate().equals(v)) { - if ("1".equals(c.getLeaveEndInterval())) { - attSourceDataDao.updateLeaveData(toWorkBean); + }else{ + //开始和结束的那天是否只请了半天 + if (c.getLeaveStartDate().equals(v)) { + if ("2".equals(c.getLeaveStartInterval())) { + attSourceDataDao.updateLeaveData(offWorkBean); + } else { + tf = true; + } + } else if (c.getLeaveEndDate().equals(v)) { + if ("1".equals(c.getLeaveEndInterval())) { + attSourceDataDao.updateLeaveData(toWorkBean); + } else { + tf = true; + } } else { tf = true; } - } else { - tf = true; } if (tf) { attSourceDataDao.updateLeaveData(toWorkBean); diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml index 484893f..f22fe1a 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml @@ -363,7 +363,7 @@ AND la.examine_status = 1 AND sdd.dict_value IS NOT NULL AND - (leave_start_date BETWEEN #{pushDate} - INTERVAL 1 DAY + (leave_start_date BETWEEN #{pushDate} - INTERVAL 5 DAY and #{pushDate} or #{pushDate} between leave_start_date and leave_end_date )