This commit is contained in:
2024-12-04 13:45:45 +08:00
parent b443c006a7
commit 9fd16697d5
7 changed files with 135 additions and 71 deletions

View File

@@ -26,6 +26,9 @@ public class LaborCostData extends BaseEntity {
// 当月的所有签到信息
private List<SysOaAttendanceVo> attendances;
// 小时计时长
private Double hourWorkTime;
}

View File

@@ -79,4 +79,7 @@ public class SysOaAttendanceVo extends SysOaAttendance {
private String projectName;
// 小时计单个工作时间
private Double hourWorkTimes;
}

View File

@@ -166,9 +166,12 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
List<SysOaProjectVo> projectVos = new ArrayList<>();
for (SysOaAttendanceVo oaAttendanceVo : sysOaAttendanceVos) {
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
oaAttendanceVo.setColor(sysOaProjectVo.getColor());
projectVos.add(sysOaProjectVo);
// 当projectId等于0时代表 当前为出差状态
if(oaAttendanceVo.getProjectId()!=0){
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
oaAttendanceVo.setColor(sysOaProjectVo.getColor());
projectVos.add(sysOaProjectVo);
}
}
sysUser.setProjects(projectVos);
sysUser.setAttendances(sysOaAttendanceVos);
@@ -212,15 +215,19 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
List<SysOaAttendanceVo> sysOaAttendanceVos = baseMapper.selectVoListAndTime(userId, firstDay,lastDay);
List<SysOaProjectVo> projectVos = new ArrayList<>();
Double workTimes = 0.0;
Double hourWorkTimes = 0.0;
for (SysOaAttendanceVo oaAttendanceVo : sysOaAttendanceVos) {
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
oaAttendanceVo.setColor(sysOaProjectVo.getColor());
oaAttendanceVo.setSysOaProjectVo(sysOaProjectVo);
oaAttendanceVo.setProjectName(sysOaProjectVo.getProjectName());
projectVos.add(sysOaProjectVo);
workTimes+=oaAttendanceVo.getWorkTimes();
// 出差问题解决
if (oaAttendanceVo.getProjectId()!=0){
SysOaProjectVo sysOaProjectVo = projectService.queryById(oaAttendanceVo.getProjectId());
oaAttendanceVo.setColor(sysOaProjectVo.getColor());
oaAttendanceVo.setSysOaProjectVo(sysOaProjectVo);
oaAttendanceVo.setProjectName(sysOaProjectVo.getProjectName());
projectVos.add(sysOaProjectVo);
workTimes+=oaAttendanceVo.getWorkTimes();
hourWorkTimes += oaAttendanceVo.getHourWorkTimes();
}
}
projectVos.stream().distinct().collect(Collectors.toList());
LaborCostData laborCostData = new LaborCostData();
@@ -228,6 +235,7 @@ public class SysOaAttendanceServiceImpl implements ISysOaAttendanceService {
laborCostData.setAttendances(sysOaAttendanceVos);
laborCostData.setSysUser(sysUser);
laborCostData.setWorkTimes(workTimes);
laborCostData.setHourWorkTime(hourWorkTimes);
costDataList.add(laborCostData);
}