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

效能监测不发异常消息

parent 203508ec
......@@ -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); //五分钟内不会重复
}
}
}
......
......@@ -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());
......
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