更新
This commit is contained in:
@@ -26,6 +26,9 @@ public class LaborCostData extends BaseEntity {
|
||||
// 当月的所有签到信息
|
||||
private List<SysOaAttendanceVo> attendances;
|
||||
|
||||
// 小时计时长
|
||||
private Double hourWorkTime;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -79,4 +79,7 @@ public class SysOaAttendanceVo extends SysOaAttendance {
|
||||
|
||||
private String projectName;
|
||||
|
||||
// 小时计单个工作时间
|
||||
private Double hourWorkTimes;
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
<result property="count" column="count"/>
|
||||
<result property="workTimes" column="work_times"/>
|
||||
<result property="hourWorkTimes" column="hour_work_times"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
@@ -37,11 +38,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
ANY_VALUE(remark),
|
||||
ANY_VALUE(del_flag),
|
||||
count(*) as count,
|
||||
sum(day_length) as work_times
|
||||
sum(day_length) as work_times,
|
||||
sum(hour) as hour_work_times
|
||||
from sys_oa_attendance soa
|
||||
where user_id = #{userId}
|
||||
and #{lastDay} > create_time
|
||||
and create_time > #{firstDay}
|
||||
and del_flag = '0'
|
||||
group by soa.project_id
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user