Commit 2c9be544 authored by 赵啸非's avatar 赵啸非

考勤异常添加绩效考核

parent d895158e
package com.mortals.xhx.module.attendance.service.impl; package com.mortals.xhx.module.attendance.service.impl;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.busiz.h5.req.AttendSaveReq;
import com.mortals.xhx.busiz.h5.web.ApiWebPerformController; import com.mortals.xhx.busiz.h5.web.ApiWebPerformController;
import com.mortals.xhx.common.code.ErrorStatusEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity; import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
import com.mortals.xhx.module.attendance.model.AttendanceClassEntity; import com.mortals.xhx.module.attendance.model.AttendanceClassEntity;
import com.mortals.xhx.module.attendance.service.AttendanceClassDetailService; import com.mortals.xhx.module.attendance.service.AttendanceClassDetailService;
import com.mortals.xhx.module.attendance.service.AttendanceClassService; import com.mortals.xhx.module.attendance.service.AttendanceClassService;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
...@@ -37,6 +43,8 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -37,6 +43,8 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
@Autowired @Autowired
private ApiWebPerformController apiWebPerformController; private ApiWebPerformController apiWebPerformController;
@Autowired
private StaffService staffService;
@Override @Override
...@@ -68,6 +76,69 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At ...@@ -68,6 +76,69 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
@Override @Override
protected void updateAfter(AttendanceRecordErrorEntity entity, Context context) throws AppException { protected void updateAfter(AttendanceRecordErrorEntity entity, Context context) throws AppException {
if (YesNoEnum.YES.getValue() == entity.getProcessStatus()) {
//判断后打绩效
String ruleCode = "";
if (ErrorStatusEnum.早退.getValue() == entity.getErrorStatus()) {
//判断时间差定义
Long earlyMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE);
if (earlyMin >= 0L && earlyMin < 5L) {
//早退5分钟内
ruleCode = "ATTEND1002";
}
if (earlyMin >= 5L && earlyMin < 60L) {
//早退5分钟内
ruleCode = "ATTEND1004";
}
if (earlyMin >= 60L) {
//早退5分钟内
ruleCode = "ATTEND1006";
}
} else if (ErrorStatusEnum.迟到.getValue() == entity.getErrorStatus()) {
Long lateMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE);
if (lateMin >= 0L && lateMin < 5L) {
//迟到5分钟内
ruleCode = "ATTEND1001";
}
if (lateMin >= 5L && lateMin < 60L) {
//迟到5-60
ruleCode = "ATTEND1003";
}
if (lateMin >= 60L) {
//迟到60分钟以上
ruleCode = "ATTEND1005";
}
} else if (ErrorStatusEnum.缺卡.getValue() == entity.getErrorStatus()) {
ruleCode = "ATTEND1007";
}
if (!ObjectUtils.isEmpty(ruleCode)) {
StaffEntity staffEntity = staffService.getCache(entity.getStaffId().toString());
AttendSaveReq attendSaveReq = new AttendSaveReq();
attendSaveReq.setAttendanceGroupId(entity.getAttendanceGroupId());
attendSaveReq.setAttendanceGroupName(entity.getAttendanceGroupName());
attendSaveReq.setAttendanceDate(entity.getActualAttendanceDateTime());
attendSaveReq.setErrorTime(entity.getErrorDateTime());
attendSaveReq.setGoOffTimeStr(entity.getGoOrOff());
attendSaveReq.setActualAttendTime(entity.getActualAttendanceDateTime());
attendSaveReq.setErrorResult(entity.getRemark());
attendSaveReq.setWorkNum(staffEntity.getWorkNum());
attendSaveReq.setTitle("考勤:" + ErrorStatusEnum.getByValue(entity.getErrorStatus()).getDesc());
attendSaveReq.setHappenTime(entity.getErrorDateTime());
attendSaveReq.setRuleCode(ruleCode);
attendSaveReq.setPhone(staffEntity.getPhoneNumber());
attendSaveReq.setStaffId(entity.getStaffId());
apiWebPerformController.attendSave(attendSaveReq);
}
}
} }
} }
\ No newline at end of file
...@@ -153,12 +153,6 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont ...@@ -153,12 +153,6 @@ public class AttendanceRecordErrorController extends BaseCRUDJsonBodyMappingCont
updateEntity.setUpdateUserId(this.getContextUserId(getContext())); updateEntity.setUpdateUserId(this.getContextUserId(getContext()));
this.service.update(recordErrorEntity, getContext()); this.service.update(recordErrorEntity, getContext());
} }
/*
if(!ObjectUtils.isEmpty(entity.getRecordErrorEntities())){
this.batchSave(entity.getRecordErrorEntities());
}
*/
for (AttendanceRecordErrorEntity item : entity.getRecordErrorEntities()) { for (AttendanceRecordErrorEntity item : entity.getRecordErrorEntities()) {
DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd); DateUtils.convertTime2Str(item.getErrorDateTime().getTime(), DateUtils.P_yyyy_MM_dd);
......
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