From 2f071fc07c1bcc5f27e8c304c13a5e89f4b24bf4 Mon Sep 17 00:00:00 2001 From: liaoxuwei <5789413@qq.com> Date: Wed, 8 May 2024 15:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=88=E8=83=BD=E7=9B=91=E6=B5=8B=E4=B8=8D?= =?UTF-8?q?=E5=8F=91=E5=BC=82=E5=B8=B8=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AttendanceLeaveRecordServiceImpl.java | 24 +++--- .../impl/CheckEffectRecordServiceImpl.java | 73 ++++++++++--------- 2 files changed, 50 insertions(+), 47 deletions(-) diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java index 2161c0d1..2cfe605b 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceLeaveRecordServiceImpl.java @@ -8,6 +8,7 @@ import com.mortals.framework.common.Rest; import com.mortals.framework.service.ICacheService; import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DateUtils; +import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.ThreadPool; import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.service.UserService; @@ -77,6 +78,9 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At @Autowired private PerformRulesService performRulesService; + /** 鍛樺伐浜嬪亣璇峰亣鏁版嵁key 鍛樺伐id+寮€濮嬫椂闂�+缁撴潫鏃堕棿*/ + private static String LEAVE_REIDS_KEY ="attendance:leave:"; + @Override protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException { super.updateAfter(entity, context); @@ -228,18 +232,16 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At //浠ュ崐澶�4灏忔椂涓鸿绠楀崟浣嶈繘琛屾墸鍒� int multiple = entity.getDuration() / 14400; if (multiple > 0) { - PerformAttendRecordEntity recordEntity = conversionLeaveRecord(entity); - recordEntity.setCreateTime(new Date()); - recordEntity.setCreateUserId(1l); - recordEntity.setErrorTime(entity.getStartTime()); - recordEntity.setScore(recordEntity.getScore().multiply(new BigDecimal(multiple))); - PerformAttendRecordQuery query = new PerformAttendRecordQuery(); - query.setStaffId(recordEntity.getStaffId()); - query.setRuleId(recordEntity.getRuleId()); - query.setErrorTime(recordEntity.getErrorTime()); - PerformAttendRecordEntity temp = performAttendRecordService.selectOne(query); - if (ObjectUtils.isEmpty(temp)) { + String redisKey = entity.getLeavePersonId()+"_"+entity.getLeavePerson()+"_"+DateUtils.getDateTimeStr(entity.getStartTime(),"yyyyMMddHHmmss")+"_"+DateUtils.getDateTimeStr(entity.getEndTime(),"yyyyMMddHHmmss"); + String leaveKey = cacheService.get(LEAVE_REIDS_KEY + redisKey); + if(StringUtils.isEmpty(leaveKey)) { + PerformAttendRecordEntity recordEntity = conversionLeaveRecord(entity); + recordEntity.setCreateTime(new Date()); + recordEntity.setCreateUserId(1l); + recordEntity.setErrorTime(entity.getStartTime()); + recordEntity.setScore(recordEntity.getScore().multiply(new BigDecimal(multiple))); performAttendRecordService.save(recordEntity, context); + cacheService.set(LEAVE_REIDS_KEY + redisKey, redisKey, 300); //浜斿垎閽熷唴涓嶄細閲嶅 } } } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckEffectRecordServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckEffectRecordServiceImpl.java index 6d8e3c48..1014121e 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckEffectRecordServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/service/impl/CheckEffectRecordServiceImpl.java @@ -120,17 +120,17 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE @Override protected void saveAfter(CheckEffectRecordEntity entity, Context context) throws AppException { //娣诲姞缁╂晥寮傚父淇℃伅 - try { - PerformErrorMessageEntity errorMessageEntity = new PerformErrorMessageEntity(); - errorMessageEntity.initAttrValue(); - BeanUtils.copyProperties(entity, errorMessageEntity, BeanUtil.getNullPropertyNames(entity)); - errorMessageEntity.setCheckRecordId(entity.getId()); - errorMessageEntity.setErrorTime(entity.getHappenTime()); - errorMessageEntity.setPerformType(PerformTypeEnum.鏁堣兘缁╂晥.getValue()); - performErrorMessageService.save(errorMessageEntity); - }catch (Exception e) { - log.error("鏂板缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); - } +// try { +// PerformErrorMessageEntity errorMessageEntity = new PerformErrorMessageEntity(); +// errorMessageEntity.initAttrValue(); +// BeanUtils.copyProperties(entity, errorMessageEntity, BeanUtil.getNullPropertyNames(entity)); +// errorMessageEntity.setCheckRecordId(entity.getId()); +// errorMessageEntity.setErrorTime(entity.getHappenTime()); +// errorMessageEntity.setPerformType(PerformTypeEnum.鏁堣兘缁╂晥.getValue()); +// performErrorMessageService.save(errorMessageEntity); +// }catch (Exception e) { +// log.error("鏂板缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); +// } try{ StaffCheckSummaryQuery query = new StaffCheckSummaryQuery(); @@ -147,18 +147,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE @Override protected void removeAfter(Long[] ids, Context context, int result) throws AppException { - try { - PerformErrorMessageQuery query = new PerformErrorMessageQuery(); - query.setPerformType(PerformTypeEnum.鏁堣兘缁╂晥.getValue()); - query.setCheckRecordIdList(Arrays.asList(ids)); - List<PerformErrorMessageEntity> errorList = performErrorMessageService.find(query); - if (CollectionUtils.isNotEmpty(errorList)) { - Long[] deleteIds = errorList.stream().map(i -> i.getId()).toArray(Long[]::new); - performErrorMessageService.remove(deleteIds, context); - } - }catch (Exception e){ - log.error("鍒犻櫎缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); - } + super.removeAfter(ids, context, result); +// try { +// PerformErrorMessageQuery query = new PerformErrorMessageQuery(); +// query.setPerformType(PerformTypeEnum.鏁堣兘缁╂晥.getValue()); +// query.setCheckRecordIdList(Arrays.asList(ids)); +// List<PerformErrorMessageEntity> errorList = performErrorMessageService.find(query); +// if (CollectionUtils.isNotEmpty(errorList)) { +// Long[] deleteIds = errorList.stream().map(i -> i.getId()).toArray(Long[]::new); +// performErrorMessageService.remove(deleteIds, context); +// } +// }catch (Exception e){ +// log.error("鍒犻櫎缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); +// } } private void sendCheckDingTalk(CheckEffectRecordEntity entity) { @@ -210,19 +211,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE entity.setCheckStatus(CheckStatusEnum.宸插鐞�.getValue()); //澶勭悊鐘舵€�(1.鏈鐞�,2.宸插鐞�) dao.update(entity); //鏇存柊缁╂晥寮傚父淇℃伅鏍告煡鐘舵€� - try { - PerformErrorMessageEntity errorMessageEntity = performErrorMessageService.selectOne(new PerformErrorMessageQuery().checkRecordId(entity.getId()).performType(PerformTypeEnum.鏁堣兘缁╂晥.getValue())); - if(errorMessageEntity!=null){ - PerformErrorMessageEntity updateEntity = new PerformErrorMessageEntity(); - updateEntity.setId(errorMessageEntity.getId()); - updateEntity.setCheckStatus(CheckStatusEnum.宸插鐞�.getValue()); - updateEntity.setCheckTime(entity.getCheckTime()); - updateEntity.setUpdateTime(new Date()); - performErrorMessageService.update(updateEntity); - } - }catch (Exception e){ - log.error("鏇存柊缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); - } +// try { +// PerformErrorMessageEntity errorMessageEntity = performErrorMessageService.selectOne(new PerformErrorMessageQuery().checkRecordId(entity.getId()).performType(PerformTypeEnum.鏁堣兘缁╂晥.getValue())); +// if(errorMessageEntity!=null){ +// PerformErrorMessageEntity updateEntity = new PerformErrorMessageEntity(); +// updateEntity.setId(errorMessageEntity.getId()); +// updateEntity.setCheckStatus(CheckStatusEnum.宸插鐞�.getValue()); +// updateEntity.setCheckTime(entity.getCheckTime()); +// updateEntity.setUpdateTime(new Date()); +// performErrorMessageService.update(updateEntity); +// } +// }catch (Exception e){ +// log.error("鏇存柊缁╂晥寮傚父淇℃伅鏍告煡鐘舵€佸嚭閿�", e); +// } try{ if(!ObjectUtils.isEmpty(temp.getRecordId())){ PerformEffectRecordEntity recordEntity = recordService.get(temp.getRecordId()); -- 2.24.3