Commit 2f071fc0 authored by 廖旭伟's avatar 廖旭伟

效能监测不发异常消息

parent 203508ec
...@@ -8,6 +8,7 @@ import com.mortals.framework.common.Rest; ...@@ -8,6 +8,7 @@ import com.mortals.framework.common.Rest;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.util.DataUtil; import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.DateUtils; import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.util.ThreadPool; import com.mortals.framework.util.ThreadPool;
import com.mortals.xhx.base.system.user.model.UserEntity; import com.mortals.xhx.base.system.user.model.UserEntity;
import com.mortals.xhx.base.system.user.service.UserService; import com.mortals.xhx.base.system.user.service.UserService;
...@@ -77,6 +78,9 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -77,6 +78,9 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
@Autowired @Autowired
private PerformRulesService performRulesService; private PerformRulesService performRulesService;
/** 员工事假请假数据key 员工id+开始时间+结束时间*/
private static String LEAVE_REIDS_KEY ="attendance:leave:";
@Override @Override
protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException { protected void updateAfter(AttendanceLeaveRecordEntity entity, Context context) throws AppException {
super.updateAfter(entity, context); super.updateAfter(entity, context);
...@@ -228,18 +232,16 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -228,18 +232,16 @@ public class AttendanceLeaveRecordServiceImpl extends AbstractCRUDServiceImpl<At
//以半天4小时为计算单位进行扣分 //以半天4小时为计算单位进行扣分
int multiple = entity.getDuration() / 14400; int multiple = entity.getDuration() / 14400;
if (multiple > 0) { if (multiple > 0) {
PerformAttendRecordEntity recordEntity = conversionLeaveRecord(entity); String redisKey = entity.getLeavePersonId()+"_"+entity.getLeavePerson()+"_"+DateUtils.getDateTimeStr(entity.getStartTime(),"yyyyMMddHHmmss")+"_"+DateUtils.getDateTimeStr(entity.getEndTime(),"yyyyMMddHHmmss");
recordEntity.setCreateTime(new Date()); String leaveKey = cacheService.get(LEAVE_REIDS_KEY + redisKey);
recordEntity.setCreateUserId(1l); if(StringUtils.isEmpty(leaveKey)) {
recordEntity.setErrorTime(entity.getStartTime()); PerformAttendRecordEntity recordEntity = conversionLeaveRecord(entity);
recordEntity.setScore(recordEntity.getScore().multiply(new BigDecimal(multiple))); recordEntity.setCreateTime(new Date());
PerformAttendRecordQuery query = new PerformAttendRecordQuery(); recordEntity.setCreateUserId(1l);
query.setStaffId(recordEntity.getStaffId()); recordEntity.setErrorTime(entity.getStartTime());
query.setRuleId(recordEntity.getRuleId()); recordEntity.setScore(recordEntity.getScore().multiply(new BigDecimal(multiple)));
query.setErrorTime(recordEntity.getErrorTime());
PerformAttendRecordEntity temp = performAttendRecordService.selectOne(query);
if (ObjectUtils.isEmpty(temp)) {
performAttendRecordService.save(recordEntity, context); performAttendRecordService.save(recordEntity, context);
cacheService.set(LEAVE_REIDS_KEY + redisKey, redisKey, 300); //五分钟内不会重复
} }
} }
} }
......
...@@ -120,17 +120,17 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE ...@@ -120,17 +120,17 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE
@Override @Override
protected void saveAfter(CheckEffectRecordEntity entity, Context context) throws AppException { protected void saveAfter(CheckEffectRecordEntity entity, Context context) throws AppException {
//添加绩效异常信息 //添加绩效异常信息
try { // try {
PerformErrorMessageEntity errorMessageEntity = new PerformErrorMessageEntity(); // PerformErrorMessageEntity errorMessageEntity = new PerformErrorMessageEntity();
errorMessageEntity.initAttrValue(); // errorMessageEntity.initAttrValue();
BeanUtils.copyProperties(entity, errorMessageEntity, BeanUtil.getNullPropertyNames(entity)); // BeanUtils.copyProperties(entity, errorMessageEntity, BeanUtil.getNullPropertyNames(entity));
errorMessageEntity.setCheckRecordId(entity.getId()); // errorMessageEntity.setCheckRecordId(entity.getId());
errorMessageEntity.setErrorTime(entity.getHappenTime()); // errorMessageEntity.setErrorTime(entity.getHappenTime());
errorMessageEntity.setPerformType(PerformTypeEnum.效能绩效.getValue()); // errorMessageEntity.setPerformType(PerformTypeEnum.效能绩效.getValue());
performErrorMessageService.save(errorMessageEntity); // performErrorMessageService.save(errorMessageEntity);
}catch (Exception e) { // }catch (Exception e) {
log.error("新增绩效异常信息核查状态出错", e); // log.error("新增绩效异常信息核查状态出错", e);
} // }
try{ try{
StaffCheckSummaryQuery query = new StaffCheckSummaryQuery(); StaffCheckSummaryQuery query = new StaffCheckSummaryQuery();
...@@ -147,18 +147,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE ...@@ -147,18 +147,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
try { super.removeAfter(ids, context, result);
PerformErrorMessageQuery query = new PerformErrorMessageQuery(); // try {
query.setPerformType(PerformTypeEnum.效能绩效.getValue()); // PerformErrorMessageQuery query = new PerformErrorMessageQuery();
query.setCheckRecordIdList(Arrays.asList(ids)); // query.setPerformType(PerformTypeEnum.效能绩效.getValue());
List<PerformErrorMessageEntity> errorList = performErrorMessageService.find(query); // query.setCheckRecordIdList(Arrays.asList(ids));
if (CollectionUtils.isNotEmpty(errorList)) { // List<PerformErrorMessageEntity> errorList = performErrorMessageService.find(query);
Long[] deleteIds = errorList.stream().map(i -> i.getId()).toArray(Long[]::new); // if (CollectionUtils.isNotEmpty(errorList)) {
performErrorMessageService.remove(deleteIds, context); // Long[] deleteIds = errorList.stream().map(i -> i.getId()).toArray(Long[]::new);
} // performErrorMessageService.remove(deleteIds, context);
}catch (Exception e){ // }
log.error("删除绩效异常信息核查状态出错", e); // }catch (Exception e){
} // log.error("删除绩效异常信息核查状态出错", e);
// }
} }
private void sendCheckDingTalk(CheckEffectRecordEntity entity) { private void sendCheckDingTalk(CheckEffectRecordEntity entity) {
...@@ -210,19 +211,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE ...@@ -210,19 +211,19 @@ public class CheckEffectRecordServiceImpl extends AbstractCRUDServiceImpl<CheckE
entity.setCheckStatus(CheckStatusEnum.已处理.getValue()); //处理状态(1.未处理,2.已处理) entity.setCheckStatus(CheckStatusEnum.已处理.getValue()); //处理状态(1.未处理,2.已处理)
dao.update(entity); dao.update(entity);
//更新绩效异常信息核查状态 //更新绩效异常信息核查状态
try { // try {
PerformErrorMessageEntity errorMessageEntity = performErrorMessageService.selectOne(new PerformErrorMessageQuery().checkRecordId(entity.getId()).performType(PerformTypeEnum.效能绩效.getValue())); // PerformErrorMessageEntity errorMessageEntity = performErrorMessageService.selectOne(new PerformErrorMessageQuery().checkRecordId(entity.getId()).performType(PerformTypeEnum.效能绩效.getValue()));
if(errorMessageEntity!=null){ // if(errorMessageEntity!=null){
PerformErrorMessageEntity updateEntity = new PerformErrorMessageEntity(); // PerformErrorMessageEntity updateEntity = new PerformErrorMessageEntity();
updateEntity.setId(errorMessageEntity.getId()); // updateEntity.setId(errorMessageEntity.getId());
updateEntity.setCheckStatus(CheckStatusEnum.已处理.getValue()); // updateEntity.setCheckStatus(CheckStatusEnum.已处理.getValue());
updateEntity.setCheckTime(entity.getCheckTime()); // updateEntity.setCheckTime(entity.getCheckTime());
updateEntity.setUpdateTime(new Date()); // updateEntity.setUpdateTime(new Date());
performErrorMessageService.update(updateEntity); // performErrorMessageService.update(updateEntity);
} // }
}catch (Exception e){ // }catch (Exception e){
log.error("更新绩效异常信息核查状态出错", e); // log.error("更新绩效异常信息核查状态出错", e);
} // }
try{ try{
if(!ObjectUtils.isEmpty(temp.getRecordId())){ if(!ObjectUtils.isEmpty(temp.getRecordId())){
PerformEffectRecordEntity recordEntity = recordService.get(temp.getRecordId()); PerformEffectRecordEntity recordEntity = recordService.get(temp.getRecordId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment