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 7dfe620238712f5ad6c878f92b05175a697f9c4b..74948cdcb221655bd4a69ff8c09c5920fbceec58 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 @@ -345,10 +345,10 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { long betweened = DateUtil.between(DateUtil.parseDate(commonData.getDateStr()), leaveRecord.getEndTime(), DateUnit.DAY); if (betweened > 0) { //鍏ㄥぉ - calLeaveDate(commonData, DateUtil.parseDate(commonData.getDateStr()+" 00:00:00"),DateUtil.parseDate(commonData.getDateStr()+" 23:59:59")); + calLeaveDate(commonData, DateUtil.parseDateTime(commonData.getDateStr()+" 00:00:00"),DateUtil.parseDateTime(commonData.getDateStr()+" 23:59:59")); } else if (betweened == 0) { //鏈€鍚庝竴澶� - calLeaveDate(commonData, DateUtil.parseDate(commonData.getDateStr()+" 00:00:00"),leaveRecord.getEndTime()); + calLeaveDate(commonData, DateUtil.parseDateTime(commonData.getDateStr()+" 00:00:00"),leaveRecord.getEndTime()); } } else if (between == 0) { @@ -385,18 +385,27 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { if (GoWorkResultEnum.姝e父.getValue() != goWorkResult) { //鍒ゆ柇 寮傚父璁板綍鏄惁鍦ㄨ鍋囨椂闂存鍐� // DateUtil.between() - boolean in = DateUtil.isIn(goWorkDate, startLeaveTime, endLeaveTime); - if (in) { + if(ObjectUtils.isEmpty(goWorkDate)){ detail.setGoWorkResult(GoWorkResultEnum.姝e父.getValue()); + }else{ + boolean in = DateUtil.isIn(goWorkDate, startLeaveTime, endLeaveTime); + if (in) { + detail.setGoWorkResult(GoWorkResultEnum.姝e父.getValue()); + } } + } if (GoWorkResultEnum.姝e父.getValue() != offWorkResult) { //鍒ゆ柇 寮傚父璁板綍鏄惁鍦ㄨ鍋囨椂闂存鍐� // DateUtil.between() - boolean in = DateUtil.isIn(offWorkDate, startLeaveTime, endLeaveTime); - if (in) { + if(ObjectUtils.isEmpty(offWorkDate)){ detail.setOffWorkResult(GoWorkResultEnum.姝e父.getValue()); + }else{ + boolean in = DateUtil.isIn(offWorkDate, startLeaveTime, endLeaveTime); + if (in) { + detail.setOffWorkResult(GoWorkResultEnum.姝e父.getValue()); + } } } } @@ -468,7 +477,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { errorEntity.setShiftsName(recordDetailEntity.getShiftsName()); errorEntity.setProcessStatus(YesNoEnum.NO.getValue()); errorEntity.setCreateTime(new Date()); - errorEntity.setCreateUserId(context == null ? 1L : context.getUser().getId()); + errorEntity.setCreateUserId(1L); Date offWorkDate = attendanceClassDetailEntity.getOffWorkDate(); errorEntity.setGoOffDateTime(DateUtil.parseDateTime(dateStr + " " + DateUtil.formatTime(offWorkDate)).toJdkDate()); if (!ObjectUtils.isEmpty(recordDetailEntity.getOffWorkDate())) { 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 b615fd341b2c0f4b8b402ad03ef457b53cd25476..b11349964594a380f3748042896fed38b0ca98b1 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 @@ -4,8 +4,8 @@ POST {{baseUrl}}/login/login Content-Type: application/json { - "loginName":"admin1", - "password":"aA123!@#", + "loginName":"admin", + "password":"admin", "securityCode":"admin" } @@ -39,7 +39,7 @@ Content-Type: application/json { "attendanceDateStart":"2023-12-01", - "attendanceDateEnd":"2024-01-23" + "attendanceDateEnd":"2024-01-24" } ###娴峰悍鑰冨嫟鎵撳崱璁板綍璁$畻1 @@ -48,8 +48,9 @@ Authorization: {{authToken}} Content-Type: application/json { - "attendanceDateStart":"2023-12-01", - "attendanceDateEnd":"2023-12-01" + "attendanceDateStart":"2023-12-04", + "attendanceDateEnd":"2023-12-04", + "staffId": 322 } diff --git a/db/add.sql b/db/add.sql index 8ae492224610a2e42201f4ebe0eb0eb819ec781b..acb46eba369bd06e24641695297a9b756a206f3c 100644 --- a/db/add.sql +++ b/db/add.sql @@ -1119,4 +1119,42 @@ CREATE TABLE mortals_xhx_check_window_workman_perform( `updateTime` datetime COMMENT '鏇存柊鏃堕棿', PRIMARY KEY (`id`) ,KEY `year` (`year`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�'; \ No newline at end of file +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�'; + + +-- ---------------------------- +-- 缁╂晥寮傚父璁板綍淇℃伅琛� +-- ---------------------------- +DROP TABLE IF EXISTS `mortals_xhx_perform_error_record`; +CREATE TABLE mortals_xhx_perform_error_record( + `id` bigint(20) AUTO_INCREMENT COMMENT '搴忓彿锛屼富閿紝鑷闀�', + `staffId` bigint(20) COMMENT '鍛樺伐ID', + `staffName` varchar(64) NOT NULL COMMENT '鍛樺伐濮撳悕', + `workNum` varchar(128) COMMENT '宸ュ彿', + `windowNum` varchar(128) COMMENT '绐楀彛缂栧彿', + `deptId` bigint(20) COMMENT '鎵€灞為儴闂�', + `deptName` varchar(128) COMMENT '鎵€灞為儴闂ㄥ悕绉�', + `irregularType` tinyint(1) COMMENT '杩濊绫诲瀷(1.鑴卞矖,2.绂诲矖,3.鐜╂墜鏈�,4.鐫¤)', + `happenTime` datetime COMMENT '鍙戠敓鏃堕棿', + `duration` int(9) DEFAULT '0' COMMENT '鎸佺画鏃堕棿锛岀', + `alarmTime` datetime COMMENT '鎶ヨ鏃堕棿', + `snapPath` varchar(255) COMMENT '鍥剧墖鍑瘉鍦板潃', + `categoryId` bigint(20) COMMENT '缁╂晥瑙勫垯鍒嗙被id', + `categoryName` varchar(128) COMMENT '瑙勫垯鍚嶇О', + `ruleId` bigint(20) COMMENT '缁╂晥瑙勫垯id', + `ruleName` varchar(128) COMMENT '瑙勫垯鍚嶇О', + `subMethod` tinyint(1) DEFAULT '2' COMMENT '鎵e垎鏂瑰紡(1.绯荤粺鑷姩,2.浜哄伐娣诲姞)', + `deductPerson` varchar(128) COMMENT '鎵e垎浜哄憳', + `deductTime` datetime COMMENT '鎵e垎鏃堕棿', + `subAddType` tinyint(1) DEFAULT '1' COMMENT '澧炲噺绫诲瀷(1.澧炲姞,2.鎵i櫎)', + `score` decimal(10,2) DEFAULT '0.00' COMMENT '鎵e垎鎴栧鍔犲垎鍊�', + `processStatus` tinyint(1) DEFAULT '1' COMMENT '澶勭悊鐘舵€�(1.鏈鐞�,2.宸插鐞�)', + `fileNames` varchar(256) COMMENT '闄勪欢鍚嶇О锛屽涓€楀彿鍒嗗壊', + `filePaths` varchar(512) COMMENT '闄勪欢涓嬭浇鍦板潃锛屽涓€楀彿鍒嗗壊', + `remark` varchar(255) COMMENT '澶囨敞', + `createUserId` bigint(20) NOT NULL COMMENT '鍒涘缓鐢ㄦ埛', + `createTime` datetime NOT NULL COMMENT '鍒涘缓鏃堕棿', + `updateUserId` bigint(20) COMMENT '鏇存柊鐢ㄦ埛', + `updateTime` datetime COMMENT '鏇存柊鏃堕棿', +PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='缁╂晥寮傚父璁板綍淇℃伅';