From 323061b0d7f945ae778ed8892d4460e90fc118c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com> Date: Tue, 20 Aug 2024 15:46:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=B7=E5=81=87=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E8=80=83=E5=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AttendanceRecordErrorServiceImpl.java | 36 +++++++++++++++++-- .../impl/AttendanceRecordServiceImpl.java | 2 +- .../service/work/FixWorkOtherAttendance.java | 2 +- .../java/com/mortals/httpclient/system.http | 8 ++--- 4 files changed, 40 insertions(+), 8 deletions(-) diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java index 82db63d4..ce6a7256 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordErrorServiceImpl.java @@ -430,7 +430,39 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At //褰撳ぉ // 1.鍒ゆ柇寮傚父鏃堕棿涓庤鍋囧紑濮嬫椂闂撮偅涓ぇ銆� int compare = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getStartTime()); + int compare1 = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getEndTime()); + int compare2 = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getEndTime()); + boolean in = DateUtil.isIn(goOffDateTime, leaveRecord.getStartTime(), leaveRecord.getEndTime()); + + if (in) { + //涓婄彮鎵撳崱鏃堕棿鍦ㄨ鍋囨椂闂磋寖鍥村唴锛岃繜鍒板垎閽熸寜鐓ц鍋囩粨鏉熸椂闂翠笌寮傚父鏃堕棿鍋氬樊鍊� + long tempLate = DateUtil.between(leaveRecord.getEndTime(), entity.getErrorDateTime(), DateUnit.MINUTE, false); + if (tempLate > 0L) { + lateMinList.add(tempLate); + } + } else { + //涓嶅寘鍚紝鍒欒澶氫釜鍒ゆ柇 + //1.璇峰亣寮€濮嬫椂闂� 澶т簬涓婄彮鏃堕棿鏃跺€� + int rightBig = DateUtil.compare(goOffDateTime, leaveRecord.getStartTime()); + long leftRange = 0L; + if (rightBig <= 0) { + //澶氭鍊� 宸︽鍊� + leftRange = DateUtil.between(goOffDateTime, leaveRecord.getStartTime(), DateUnit.MINUTE, false); + } + //鍙虫鍊� + long leftRange1 = 0; + int rightBig1 = DateUtil.compare(leaveRecord.getEndTime(), entity.getErrorDateTime()); + if (rightBig1 < 0) { + leftRange1 = DateUtil.between(leaveRecord.getEndTime(), entity.getErrorDateTime(), DateUnit.MINUTE, false); + } + leftRange = leftRange + leftRange1; + if(leftRange>0){ + lateMinList.add(leftRange); + } + } + +/* if (compare < 0) { //寮傚父鏃堕棿灏忎簬璇峰亣缁撴潫鏃堕棿,杩熷埌鍒欒绠楀紓甯告椂闂翠笌鐝鐝鐝椂闂磋繕鏈夊墠缃椂闂村樊鍊� long tempLate = DateUtil.between(goOffDateTime, entity.getErrorDateTime(), DateUnit.MINUTE, false); @@ -444,7 +476,7 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At if (tempLate > 0L) { lateMinList.add(tempLate); } - } + }*/ } @@ -458,7 +490,7 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At } else { lateMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE); } - }else{ + } else { lateMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE); } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java index 3a0386fd..55a4e073 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordServiceImpl.java @@ -77,7 +77,7 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda @Override protected void updateAfter(AttendanceRecordEntity entity, Context context) throws AppException { - if (!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) { + if (!ObjectUtils.isEmpty(entity)&&!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) { Long[] attendanceRecordDetailIds = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(entity.getId())).stream().map(AttendanceRecordDetailEntity::getId).toArray(Long[]::new); attendanceRecordDetailService.remove(attendanceRecordDetailIds, context); entity.getAttendanceRecordDetailList().stream().peek(item -> { diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java index b5a8eda5..0157ea2e 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkOtherAttendance.java @@ -560,7 +560,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) { errorService.save(errorEntity, context); }else { - log.info("寮傚父璁板綍宸插瓨鍦紝涓嶆坊鍔�"); + //log.info("寮傚父璁板綍宸插瓨鍦紝涓嶆坊鍔�"); } } } diff --git a/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http b/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http index 05c2ebf2..24a29866 100644 --- a/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http +++ b/attendance-performance-manager/src/test/java/com/mortals/httpclient/system.http @@ -37,8 +37,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord Content-Type: application/json { - "attendanceDateStart": "2024-07-08", - "attendanceDateEnd": "2024-07-10" + "attendanceDateStart": "2024-07-01", + "attendanceDateEnd": "2024-07-31" } ###娴峰悍鑰冨嫟鎵撳崱璁板綍璁$畻1 @@ -78,8 +78,8 @@ POST {{baseUrl}}/attendance/stat/summary Content-Type: application/json { - "summaryTimeStart": "2024-03-01", - "summaryTimeEnd": "2024-03-31" + "summaryTimeStart": "2024-07-01", + "summaryTimeEnd": "2024-07-31" } -- 2.24.3