diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java index bd79025dd4ae9da7b1d1200b0d69ad11e21ac8b7..68a108a3c380adccfef524c464ae0cbcd4c5f038 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/h5/web/PerformApiController.java @@ -336,9 +336,9 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { if (bool) { performInfo.setAppealStatus(AppealStatusEnum.鏈敵璇�.getValue()); } else { - if(ObjectUtils.isEmpty(entity.getAppealResult())){ + if (ObjectUtils.isEmpty(entity.getAppealResult())) { performInfo.setAppealStatus(AppealStatusEnum.鐢宠瘔涓�.getValue()); - }else{ + } else { if (AppealResultEnum.閫氳繃.getValue() == entity.getAppealResult()) { performInfo.setAppealStatus(AppealStatusEnum.鐢宠瘔閫氳繃.getValue()); } else if (AppealResultEnum.涓嶉€氳繃.getValue() == entity.getAppealResult()) { @@ -433,7 +433,7 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { PerformRulesEntity rulesEntity = rulesService.getCache(performDetailInfo.getRuleId().toString()); - performDetailInfo.setRuleDesc(rulesEntity.getContent()); + performDetailInfo.setRuleDesc(rulesEntity == null ? "" : rulesEntity.getContent()); rest.setData(performDetailInfo); log.info("rspperformDetailInfo:{}", JSON.toJSONString(performDetailInfo)); diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java index 03240c91662126a4b1e217418417741f176a9e7d..4352a417823f28280f44b77144d19307b56dd0e1 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java @@ -1,5 +1,7 @@ package com.mortals.xhx.module.attendance.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.mortals.framework.service.IUser; import com.mortals.framework.util.StringUtils; import com.mortals.xhx.base.system.upload.service.UploadService; @@ -9,12 +11,14 @@ import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.staff.model.StaffEntity; import com.mortals.xhx.module.staff.model.StaffQuery; import com.mortals.xhx.module.staff.service.StaffService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao; import com.mortals.framework.model.Context; +import org.springframework.util.ObjectUtils; import java.text.SimpleDateFormat; @@ -31,6 +35,7 @@ import java.util.stream.Collectors; * @date 2023-04-08 */ @Service("attendanceRecordHikService") +@Slf4j public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<AttendanceRecordHikDao, AttendanceRecordHikEntity, Long> implements AttendanceRecordHikService { @Autowired @@ -69,8 +74,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte for (String workNum : workNumSet) { List<AttendanceRecordHikEntity> attendanceRecordHikEntities1 = listMap.get(workNum); //瀵规寜鐓у伐鍙峰垎缁勪簡鐨勬暟鎹產ttendanceRecordHikEntities杩涜鏃堕棿鍒嗙粍 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - Map<String, List<AttendanceRecordHikEntity>> map = attendanceRecordHikEntities1.stream().collect(Collectors.groupingBy(hikEntity -> hikEntity.getAttendanceDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().format(formatter))); + // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // Map<String, List<AttendanceRecordHikEntity>> map = attendanceRecordHikEntities1.stream().collect(Collectors.groupingBy(hikEntity -> hikEntity.getAttendanceDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().format(formatter))); + Map<String, List<AttendanceRecordHikEntity>> map = attendanceRecordHikEntities1.stream().collect(Collectors.groupingBy(hikEntity -> DateUtil.formatDate(hikEntity.getAttendanceDate()))); Set<String> dateSet = map.keySet(); for (String s : dateSet) { List<AttendanceRecordHikEntity> attendanceRecordHikEntities = map.get(s); @@ -81,7 +87,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte for (AttendanceRecordHikEntity item : attendanceRecordHikEntities) { //瀵逛富琛ㄧ殑瀵硅薄杩涜璧嬪€� if (StringUtils.isNull(attendanceRecordEntity) || StringUtils.isEmpty(attendanceRecordEntity.getStaffName())) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); attendanceRecordEntity.setStaffId(item.getStaffId()); attendanceRecordEntity.setStaffName(item.getStaffName()); attendanceRecordEntity.setDeptId(item.getDeptId()); @@ -89,14 +95,20 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte attendanceRecordEntity.setPositionId(item.getPositionId()); attendanceRecordEntity.setPositionName(item.getPositionName()); attendanceRecordEntity.setWorkNum(item.getWorkNum()); - attendanceRecordEntity.setAttendanceDate(sdf.parse(sdf.format(item.getAttendanceDate()))); + //attendanceRecordEntity.setAttendanceDate(sdf.parse(sdf.format(item.getAttendanceDate()))); + attendanceRecordEntity.setAttendanceDate(item.getAttendanceDate()); attendanceRecordEntity.setCreateTime(new Date()); attendanceRecordEntity.setCreateUserId(this.getContextUserId(context)); } //鑾峰彇鑰冨嫟鎵撳崱鏃堕棿 Date attendanceDate = item.getAttendanceDate(); //閫氳繃宸ュ彿鏌ヨ鍛樺伐淇℃伅 - StaffEntity staffEntity = staffService.selectOne(new StaffQuery().workNum(item.getWorkNum())); + //StaffEntity staffEntity = staffService.selectOne(new StaffQuery().workNum(item.getWorkNum())); + StaffEntity staffEntity = staffService.getExtCache(StrUtil.padPre(item.getWorkNum(), 8, "0")); + if (ObjectUtils.isEmpty(staffEntity)) { + log.info("staffEntity is null ,workNum:{}", StrUtil.padPre(item.getWorkNum(), 8, "0")); + continue; + } //閫氳繃鍛樺伐id鏌ヨ鑰冨嫟浜哄憳淇℃伅 List<AttendanceGroupStaffEntity> attendanceGroupStaffEntities = attendanceGroupStaffService.find(new AttendanceGroupStaffQuery().staffId(staffEntity.getId())); //鏌ヨ璇ヨ€冨嫟浜哄憳,濡傛灉鏌ュ嚭鏉ョ殑鑰冨嫟浜哄憳淇℃伅list闀垮害涓�1 鍒欒鑰冨嫟浜哄憳鍙湁涓€涓€冨嫟缁� diff --git a/db/add.sql b/db/add.sql index 450956daf184fd58afe9473274d9908d40199fa8..397dc5719de58b6d14523841646d0d797f363dca 100644 --- a/db/add.sql +++ b/db/add.sql @@ -805,6 +805,3 @@ ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `signOutResult` tinyint ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `attendType` varchar(128) DEFAULT '0' COMMENT '鑰冨嫟绫诲瀷'; ALTER TABLE mortals_xhx_attendance_record_hik ADD COLUMN `punchResult` tinyint(2) DEFAULT '0' COMMENT '鎵撳崱缁撴灉(0.鍚�,1.鏄�)'; -ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `goTimes` int(9) DEFAULT '0' COMMENT '鍑哄嫟澶╂暟'; -ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN`morningTimes` int(9) DEFAULT '0' COMMENT '涓婂崍缂哄崱娆℃暟'; -ALTER TABLE mortals_xhx_attendance_stat ADD COLUMN `afternoonTimes` int(9) DEFAULT '0' COMMENT '涓嬪崍缂哄崱娆℃暟';