Commit 3f78af01 authored by daijunxiong's avatar daijunxiong

定时任务考勤汇总新增关联

parent b5b610a3
......@@ -10,8 +10,8 @@ import com.mortals.xhx.busiz.rsp.DeptHikData;
import com.mortals.xhx.busiz.rsp.ListDept;
import com.mortals.xhx.busiz.rsp.ListItem;
import com.mortals.xhx.busiz.rsp.PersonHikData;
import com.mortals.xhx.module.attendance.dao.ibatis.AttendanceStatDaoImpl;
import com.mortals.xhx.module.attendance.dao.ibatis.AttendanceVacationBalanceDaoImpl;
import com.mortals.xhx.module.attendance.dao.ibatis.*;
import com.mortals.xhx.module.attendance.model.AttendanceRecordEntity;
import com.mortals.xhx.module.attendance.model.AttendanceStatEntity;
import com.mortals.xhx.module.attendance.model.AttendanceVacationBalanceEntity;
import com.mortals.xhx.module.dept.dao.ibatis.DeptDaoImpl;
......@@ -24,6 +24,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;
......@@ -53,6 +54,15 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
@Autowired
private AttendanceVacationBalanceDaoImpl balanceDao;
@Autowired
private AttendanceRecordDaoImpl attendanceRecordDao;
@Autowired
private AttendanceRecordDetailDaoImpl attendanceRecordDetailDao;
@Autowired
private AttendanceRecordErrorDaoImpl attendanceRecordErrorDao;
@Override
public void excuteTask(ITask task) throws AppException {
log.info("同步用户--部门");
......@@ -184,10 +194,16 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
}
//同步人员的考勤汇总信息
AttendanceVacationBalanceEntity balanceEntity = balanceDao.queryEntity(staffEntity1.getId());
//通过员工id获取考勤数据
AttendanceRecordEntity attendanceRecordEntity = attendanceRecordDao.get(staffEntity1.getId());
//通过考勤id统计上班迟到次数
int goWorkCountDele = attendanceRecordDetailDao.goWorkCount(attendanceRecordEntity.getId());
//员工id获取异常打卡所有记录
int errorAttendaceCount = attendanceRecordErrorDao.errorAttendance(attendanceRecordEntity.getId());
AttendanceVacationBalanceEntity balanceEntity = balanceDao.queryEntity(attendanceRecordEntity.getId());
AttendanceStatEntity statEntity = attendanceStatDao.queryEntity(staffEntity1.getId());
//为空执行新增
if (Objects.nonNull(statEntity)){
if (Objects.isNull(statEntity)){
statEntity.initAttrValue();
statEntity.setStaffId(staffEntity1.getId());
statEntity.setStaffName(staffEntity1.getName());
......@@ -215,6 +231,8 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
statEntity.setTransferBack(balanceEntity.getTransferBack());
statEntity.setHomeLeave(balanceEntity.getHomeLeave());
statEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays());
statEntity.setLateTimes(goWorkCountDele);
statEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount));
attendanceStatDao.insert(statEntity);
}
//不为空执行修改
......@@ -246,6 +264,8 @@ public class SyncUserTaskImpl implements ITaskExcuteService {
statEntity.setTransferBack(balanceEntity.getTransferBack());
statEntity.setHomeLeave(balanceEntity.getHomeLeave());
statEntity.setPersonalLeave(balanceEntity.getPersonalLeaveDays());
statEntity.setLateTimes(goWorkCountDele);
statEntity.setNonCompliancePunch(BigDecimal.valueOf(errorAttendaceCount));
attendanceStatDao.update(statEntity);
}
}
......
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