package com.ruoyi.performance.service.impl;
|
|
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.ExcelWriter;
|
import com.alibaba.excel.write.metadata.WriteSheet;
|
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.core.domain.entity.User;
|
import com.ruoyi.common.utils.EasyExcelUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto;
|
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursDto;
|
import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
|
import com.ruoyi.performance.mapper.AuxiliaryCorrectionHoursMapper;
|
import com.ruoyi.performance.mapper.AuxiliaryOriginalHoursMapper;
|
import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
|
import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursDayMapper;
|
import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours;
|
import com.ruoyi.performance.service.AuxiliaryOriginalHoursService;
|
import com.ruoyi.system.domain.SysUserRole;
|
import com.ruoyi.system.mapper.SysRoleMapper;
|
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
import com.ruoyi.system.mapper.UserMapper;
|
import org.apache.commons.math3.analysis.function.Power;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.net.URLEncoder;
|
import java.text.DecimalFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
public class AuxiliaryOriginalHoursServiceImpl implements AuxiliaryOriginalHoursService {
|
|
|
|
@Resource
|
UserMapper userMapper;
|
|
|
@Resource
|
SysUserRoleMapper userRoleMapper;
|
|
@Resource
|
SysRoleMapper roleMapper;
|
|
|
@Resource
|
AuxiliaryOriginalHoursMapper auxiliaryOriginalHoursMapper;
|
|
@Resource
|
AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
|
|
@Resource
|
AuxiliaryWorkingHoursDayMapper auxiliaryWorkingHoursDayMapper;
|
|
@Resource
|
AuxiliaryCorrectionHoursMapper auxiliaryCorrectionHoursMapper;
|
|
@Override
|
public IPage<AuxiliaryOriginalHoursDto> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) {
|
List<Integer> ids = new ArrayList<>();
|
String departLims = auxiliaryOriginalHoursLookDto.getDepartLims();
|
auxiliaryOriginalHoursLookDto.setDepartLims(null);
|
String name = auxiliaryOriginalHoursLookDto.getName();
|
auxiliaryOriginalHoursLookDto.setName(null);
|
if (ObjectUtils.isNotEmpty(departLims)) {
|
//先模糊查询出来id
|
List<Integer> ides = auxiliaryCorrectionHoursMapper.selDepartLimsByName(departLims);
|
for (Integer ide : ides) {
|
List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery()
|
.like(User::getDepartLimsId, ide)
|
.eq(User::getStatus, 0));
|
if (ObjectUtils.isNotEmpty(users)) {
|
ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
|
break;
|
}
|
}
|
}
|
if (ObjectUtils.isNotEmpty(name)) {
|
List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().like(User::getName, name));
|
if(!users.isEmpty()) {
|
// 不为空 进行过滤
|
if(CollectionUtils.isNotEmpty(ids)) {
|
List<Integer> collect = users.stream().map(User::getId).distinct().collect(Collectors.toList());
|
ids = ids.stream().filter(item -> collect.contains(item)).collect(Collectors.toList());
|
// ids 为空就赋值 -1
|
if(CollectionUtils.isEmpty(ids)) {
|
ids.add(-1);
|
}
|
}else {
|
// 为空 进行新增
|
ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
|
}
|
}
|
}
|
if (ids.isEmpty()) {
|
ids = null;
|
}
|
IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>();
|
originalHoursDtoIPage.setSize(page.getSize());
|
originalHoursDtoIPage.setCurrent(page.getCurrent());
|
List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<>();
|
Map<String, AuxiliaryOriginalHoursDto> data1 = new HashMap<>();
|
Map<String, AuxiliaryOriginalHoursDto> data2 = new HashMap<>();
|
Map<String, AuxiliaryOriginalHoursDto> data3 = new HashMap<>();
|
//产量工时
|
List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"产量工时");
|
if (ObjectUtils.isNotEmpty(maps)) {
|
data1 = getData(maps, "产量工时");
|
auxiliaryOriginalHoursDtos.addAll(data1.values());
|
}
|
//辅助工时
|
List<Map<String, Object>> maps1 = auxiliaryWorkingHoursDayMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
|
if (ObjectUtils.isNotEmpty(maps1)) {
|
data2 = getData(maps1, "辅助工时");
|
auxiliaryOriginalHoursDtos.addAll(data2.values());
|
}
|
//加班工时
|
List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"加班工时");
|
if (ObjectUtils.isNotEmpty(maps2)) {
|
data3 = getData(maps2, "加班工时");
|
auxiliaryOriginalHoursDtos.addAll(data3.values());
|
}
|
//总工时=产量工时+辅助工时+加班工时
|
Map<String, AuxiliaryOriginalHoursDto> data4 = new HashMap<String, AuxiliaryOriginalHoursDto>();
|
if (!data1.isEmpty()) {
|
Map<String, AuxiliaryOriginalHoursDto> data5 = data1;
|
data4 = mergeTotal(data5,data2,data3);
|
auxiliaryOriginalHoursDtos.addAll(data4.values());
|
}
|
|
auxiliaryOriginalHoursDtos = auxiliaryOriginalHoursDtos.stream().sorted(Comparator.comparing(AuxiliaryOriginalHoursDto::getName)).collect(Collectors.toList());
|
// 检查每个人的工时类型,补全缺少的工时
|
Map<String, Set<String>> workHoursMap = new HashMap<>();
|
String[] requiredHours = {"产量工时", "辅助工时", "加班工时", "总工时"};
|
for (AuxiliaryOriginalHoursDto dto : auxiliaryOriginalHoursDtos) {
|
workHoursMap.computeIfAbsent(dto.getName(), k -> new HashSet<>()).add(dto.getType());
|
}
|
List<AuxiliaryOriginalHoursDto> result = auxiliaryOriginalHoursDtos;
|
for (String name1 : workHoursMap.keySet()) {
|
Set<String> workTypes = workHoursMap.get(name1);
|
for (String requiredHour : requiredHours) {
|
if (!workTypes.contains(requiredHour)) {
|
AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
|
auxiliaryOriginalHoursDto.setName(name1);
|
auxiliaryOriginalHoursDto.setAuxiliaryCorrectionHours(null);
|
auxiliaryOriginalHoursDto.setType(requiredHour);
|
auxiliaryOriginalHoursDto.setMonth(auxiliaryOriginalHoursLookDto.getMonth());
|
result.add(auxiliaryOriginalHoursDto);
|
}
|
}
|
}
|
List<String> order = Arrays.asList("产量工时", "辅助工时", "加班工时", "总工时");
|
Comparator<AuxiliaryOriginalHoursDto> comparator = Comparator.comparingInt(dto -> {
|
String type = dto.getType();
|
return order.indexOf(type) == -1 ? order.size() : order.indexOf(type);
|
});
|
result = result.stream().sorted(Comparator.comparing(AuxiliaryOriginalHoursDto::getName).thenComparing(comparator)).collect(Collectors.toList());
|
originalHoursDtoIPage.setTotal(result.size());
|
if(page.getSize()>0){
|
int i = (int) page.getSize() * ((int) page.getCurrent() - 1);
|
if(result.size() - i < page.getSize()) {
|
result = result.subList(i, result.size());
|
} else {
|
result = result.subList(i, (int) page.getSize() + i);
|
}
|
}
|
originalHoursDtoIPage.setRecords(result);
|
return originalHoursDtoIPage;
|
}
|
|
|
//导出原始工时
|
@Override
|
public void exportWorkingHours(Page page,String month, String name, String departLims, HttpServletResponse response) throws IOException {
|
List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<AuxiliaryOriginalHoursDto>();
|
|
//查询原始工时(使用分页查询)
|
AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto = new AuxiliaryOriginalHoursLookDto();
|
if (ObjectUtils.isNotEmpty(month)) {
|
auxiliaryOriginalHoursLookDto.setMonth(month);
|
}
|
if (ObjectUtils.isNotEmpty(name)) {
|
auxiliaryOriginalHoursLookDto.setName(name);
|
}
|
if (ObjectUtils.isNotEmpty(departLims)) {
|
auxiliaryOriginalHoursLookDto.setDepartLims(departLims);
|
}
|
IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto);
|
auxiliaryOriginalHoursDtos = body.getRecords();
|
response.setContentType("application/vnd.ms-excel");
|
response.setCharacterEncoding("UTF-8");
|
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
String fileName = URLEncoder.encode("工时统计导出", "UTF-8");
|
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
try {
|
// 新建ExcelWriter
|
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
|
.registerWriteHandler(EasyExcelUtils.getStyleStrategy())
|
.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
|
WriteSheet mainSheet = EasyExcel.writerSheet(0, "原始工时导出").head(AuxiliaryOriginalHoursDto.class).build();
|
excelWriter.write(auxiliaryOriginalHoursDtos, mainSheet);
|
// 关闭流
|
excelWriter.finish();
|
} catch (IOException e) {
|
throw new RuntimeException("导出失败");
|
}
|
|
}
|
|
private Map<String, AuxiliaryOriginalHoursDto> getData(List<Map<String, Object>> objectMaps, String type) {
|
Map<String, AuxiliaryOriginalHoursDto> dtoMap = new HashMap<>();
|
for (Map<String, Object> objectMap : objectMaps) {
|
String name = objectMap.get("name").toString();
|
String month = objectMap.get("month").toString().substring(0, 7);
|
AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = dtoMap.get(name);
|
if (auxiliaryOriginalHoursDto == null) {
|
auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
|
auxiliaryOriginalHoursDto.setName(name);
|
auxiliaryOriginalHoursDto.setType(type);
|
auxiliaryOriginalHoursDto.setMonth(month);
|
// 查询这个人这个月是否有修正的产量工时
|
AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryCorrectionHoursMapper.selectOne(Wrappers.<AuxiliaryCorrectionHours>lambdaQuery()
|
.eq(AuxiliaryCorrectionHours::getNameUser, userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryOriginalHoursDto.getName())).getId())
|
.eq(AuxiliaryCorrectionHours::getType, auxiliaryOriginalHoursDto.getType())
|
.eq(AuxiliaryCorrectionHours::getMonth, auxiliaryOriginalHoursDto.getMonth()));
|
auxiliaryOriginalHoursDto.setAuxiliaryCorrectionHours(auxiliaryCorrectionHours);
|
}
|
AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryOriginalHoursDto.getAuxiliaryCorrectionHours();
|
switch (objectMap.get("month").toString().substring(8, 10)) {
|
case "01":
|
auxiliaryOriginalHoursDto.setOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getOneHours().compareTo(auxiliaryOriginalHoursDto.getOneHours()) != 0) {
|
auxiliaryOriginalHoursDto.setOne(1);
|
}
|
}
|
break;
|
case "02":
|
auxiliaryOriginalHoursDto.setTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwoHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwo(1);
|
}
|
}
|
break;
|
case "03":
|
auxiliaryOriginalHoursDto.setThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getThreeHours().compareTo(auxiliaryOriginalHoursDto.getThreeHours()) != 0) {
|
auxiliaryOriginalHoursDto.setThree(1);
|
}
|
}
|
break;
|
case "04":
|
auxiliaryOriginalHoursDto.setFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getFourHours().compareTo(auxiliaryOriginalHoursDto.getFourHours()) != 0) {
|
auxiliaryOriginalHoursDto.setFour(1);
|
}
|
}
|
break;
|
case "05":
|
auxiliaryOriginalHoursDto.setFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getFiveHours().compareTo(auxiliaryOriginalHoursDto.getFiveHours()) != 0) {
|
auxiliaryOriginalHoursDto.setFive(1);
|
}
|
}
|
break;
|
case "06":
|
auxiliaryOriginalHoursDto.setSixHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getSixHours().compareTo(auxiliaryOriginalHoursDto.getSixHours()) != 0) {
|
auxiliaryOriginalHoursDto.setSix(1);
|
}
|
}
|
break;
|
case "07":
|
auxiliaryOriginalHoursDto.setSevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getSevenHours().compareTo(auxiliaryOriginalHoursDto.getSevenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setSeven(1);
|
}
|
}
|
break;
|
case "08":
|
auxiliaryOriginalHoursDto.setEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getEightHours().compareTo(auxiliaryOriginalHoursDto.getEightHours()) != 0) {
|
auxiliaryOriginalHoursDto.setEight(1);
|
}
|
}
|
break;
|
case "09":
|
auxiliaryOriginalHoursDto.setNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getNineHours().compareTo(auxiliaryOriginalHoursDto.getNineHours()) != 0) {
|
auxiliaryOriginalHoursDto.setNine(1);
|
}
|
}
|
break;
|
case "10":
|
auxiliaryOriginalHoursDto.setTenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTenHours().compareTo(auxiliaryOriginalHoursDto.getTenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTen(1);
|
}
|
}
|
break;
|
case "11":
|
auxiliaryOriginalHoursDto.setElevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getElevenHours().compareTo(auxiliaryOriginalHoursDto.getElevenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setEleven(1);
|
}
|
}
|
break;
|
case "12":
|
auxiliaryOriginalHoursDto.setTwelveHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwelveHours().compareTo(auxiliaryOriginalHoursDto.getTwelveHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwelve(1);
|
}
|
}
|
break;
|
case "13":
|
auxiliaryOriginalHoursDto.setThirteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getThirteenHours().compareTo(auxiliaryOriginalHoursDto.getThirteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setThirteen(1);
|
}
|
}
|
break;
|
case "14":
|
auxiliaryOriginalHoursDto.setFourteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getFourteenHours().compareTo(auxiliaryOriginalHoursDto.getFourteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setFourteen(1);
|
}
|
}
|
break;
|
case "15":
|
auxiliaryOriginalHoursDto.setFifteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getFifteenHours().compareTo(auxiliaryOriginalHoursDto.getFifteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setFifteen(1);
|
}
|
}
|
break;
|
case "16":
|
auxiliaryOriginalHoursDto.setSixteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getSixteenHours().compareTo(auxiliaryOriginalHoursDto.getSixteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setSixteen(1);
|
}
|
}
|
break;
|
case "17":
|
auxiliaryOriginalHoursDto.setSeventeenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getSeventeenHours().compareTo(auxiliaryOriginalHoursDto.getSeventeenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setSeventeen(1);
|
}
|
}
|
break;
|
case "18":
|
auxiliaryOriginalHoursDto.setEighteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getEighteenHours().compareTo(auxiliaryOriginalHoursDto.getEighteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setEighteen(1);
|
}
|
}
|
break;
|
case "19":
|
auxiliaryOriginalHoursDto.setNineteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getNineteenHours().compareTo(auxiliaryOriginalHoursDto.getNineteenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setNineteen(1);
|
}
|
}
|
break;
|
case "20":
|
auxiliaryOriginalHoursDto.setTwentyHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyHours().compareTo(auxiliaryOriginalHoursDto.getTwentyHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwenty(1);
|
}
|
}
|
break;
|
case "21":
|
auxiliaryOriginalHoursDto.setTwentyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyOneHours().compareTo(auxiliaryOriginalHoursDto.getTwentyOneHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyOne(1);
|
}
|
}
|
break;
|
case "22":
|
auxiliaryOriginalHoursDto.setTwentyTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwentyTwoHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyTwo(1);
|
}
|
}
|
break;
|
case "23":
|
auxiliaryOriginalHoursDto.setTwentyThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyThreeHours().compareTo(auxiliaryOriginalHoursDto.getTwentyThreeHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyThree(1);
|
}
|
}
|
break;
|
case "24":
|
auxiliaryOriginalHoursDto.setTwentyFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyFourHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFourHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyFour(1);
|
}
|
}
|
break;
|
case "25":
|
auxiliaryOriginalHoursDto.setTwentyFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyFiveHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFiveHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyFive(1);
|
}
|
}
|
break;
|
case "26":
|
auxiliaryOriginalHoursDto.setTwentySixHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentySixHours().compareTo(auxiliaryOriginalHoursDto.getTwentySixHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentySix(1);
|
}
|
}
|
break;
|
case "27":
|
auxiliaryOriginalHoursDto.setTwentySevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentySevenHours().compareTo(auxiliaryOriginalHoursDto.getTwentySevenHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentySeven(1);
|
}
|
}
|
break;
|
case "28":
|
auxiliaryOriginalHoursDto.setTwentyEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyEightHours().compareTo(auxiliaryOriginalHoursDto.getTwentyEightHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyEight(1);
|
}
|
}
|
break;
|
case "29":
|
auxiliaryOriginalHoursDto.setTwentyNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getTwentyNineHours().compareTo(auxiliaryOriginalHoursDto.getTwentyNineHours()) != 0) {
|
auxiliaryOriginalHoursDto.setTwentyNine(1);
|
}
|
}
|
break;
|
case "30":
|
auxiliaryOriginalHoursDto.setThirtyHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getThirtyHours().compareTo(auxiliaryOriginalHoursDto.getThirtyHours()) != 0) {
|
auxiliaryOriginalHoursDto.setThirty(1);
|
}
|
}
|
break;
|
case "31":
|
auxiliaryOriginalHoursDto.setThirtyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
|
if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
|
if (auxiliaryCorrectionHours.getThirtyOneHours().compareTo(auxiliaryOriginalHoursDto.getThirtyOneHours()) != 0) {
|
auxiliaryOriginalHoursDto.setThirtyOne(1);
|
}
|
}
|
break;
|
}
|
auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyHours()) ? auxiliaryOriginalHoursDto.getTwentyHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0)
|
+ (ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0)
|
);
|
DecimalFormat df = new DecimalFormat("#.####"); // 设定四位小数
|
auxiliaryOriginalHoursDto.setTotal(Double.parseDouble(df.format(auxiliaryOriginalHoursDto.getTotal())));
|
|
dtoMap.put(name, auxiliaryOriginalHoursDto);
|
}
|
return dtoMap;
|
}
|
|
/**
|
* 合并总工时
|
* @param outputWorkHourMap 产量工时
|
* @param auxiliaryWorkHourMap 辅助工时
|
* @param overtimeWorkHourMap 加班工时
|
*/
|
private Map<String, AuxiliaryOriginalHoursDto> mergeTotal(Map<String, AuxiliaryOriginalHoursDto> outputWorkHourMap,
|
Map<String, AuxiliaryOriginalHoursDto> auxiliaryWorkHourMap,
|
Map<String, AuxiliaryOriginalHoursDto> overtimeWorkHourMap){
|
Map<String, AuxiliaryOriginalHoursDto> totalMap = new HashMap<>();
|
for (String userNameKey : outputWorkHourMap.keySet()) {
|
//产出工时记录
|
AuxiliaryOriginalHoursDto outputWorkHourDTO = outputWorkHourMap.get(userNameKey);
|
//总工时记录
|
AuxiliaryOriginalHoursDto totalDTO = new AuxiliaryOriginalHoursDto();
|
BeanUtils.copyProperties(outputWorkHourDTO, totalDTO);
|
totalDTO.setType("总工时");
|
//当前人员的辅助工时记录
|
AuxiliaryOriginalHoursDto auxiliaryHoursDTO = new AuxiliaryOriginalHoursDto();
|
if(!Objects.isNull(auxiliaryWorkHourMap.get(userNameKey))){
|
auxiliaryHoursDTO = auxiliaryWorkHourMap.get(userNameKey);
|
}
|
//当前人员的加班工时记录
|
AuxiliaryOriginalHoursDto overtimeHoursDTO = new AuxiliaryOriginalHoursDto();
|
if(!Objects.isNull(overtimeWorkHourMap.get(userNameKey))){
|
overtimeHoursDTO = overtimeWorkHourMap.get(userNameKey);
|
}
|
totalDTO.setOneHours(calcWorkHourTotal(outputWorkHourDTO.getOneHours(),auxiliaryHoursDTO.getOneHours(),overtimeHoursDTO.getOneHours()));
|
totalDTO.setTwoHours(calcWorkHourTotal(outputWorkHourDTO.getTwoHours(),auxiliaryHoursDTO.getTwoHours(),overtimeHoursDTO.getTwoHours()));
|
totalDTO.setThreeHours(calcWorkHourTotal(outputWorkHourDTO.getThreeHours(),auxiliaryHoursDTO.getThreeHours(),overtimeHoursDTO.getThreeHours()));
|
totalDTO.setFourHours(calcWorkHourTotal(outputWorkHourDTO.getFourHours(),auxiliaryHoursDTO.getFourHours(),overtimeHoursDTO.getFourHours()));
|
totalDTO.setFiveHours(calcWorkHourTotal(outputWorkHourDTO.getFiveHours(),auxiliaryHoursDTO.getFiveHours(),overtimeHoursDTO.getFiveHours()));
|
totalDTO.setSixHours(calcWorkHourTotal(outputWorkHourDTO.getSixHours(),auxiliaryHoursDTO.getSixHours(),overtimeHoursDTO.getSixHours()));
|
totalDTO.setSevenHours(calcWorkHourTotal(outputWorkHourDTO.getSevenHours(),auxiliaryHoursDTO.getSevenHours(),overtimeHoursDTO.getSevenHours()));
|
totalDTO.setEightHours(calcWorkHourTotal(outputWorkHourDTO.getEightHours(),auxiliaryHoursDTO.getEightHours(),overtimeHoursDTO.getEightHours()));
|
totalDTO.setNineHours(calcWorkHourTotal(outputWorkHourDTO.getNineHours(),auxiliaryHoursDTO.getNineHours(),overtimeHoursDTO.getNineHours()));
|
totalDTO.setTenHours(calcWorkHourTotal(outputWorkHourDTO.getTenHours(),auxiliaryHoursDTO.getTenHours(),overtimeHoursDTO.getTenHours()));
|
totalDTO.setElevenHours(calcWorkHourTotal(outputWorkHourDTO.getElevenHours(),auxiliaryHoursDTO.getElevenHours(),overtimeHoursDTO.getElevenHours()));
|
totalDTO.setTwelveHours(calcWorkHourTotal(outputWorkHourDTO.getTwelveHours(),auxiliaryHoursDTO.getTwelveHours(),overtimeHoursDTO.getTwelveHours()));
|
totalDTO.setThirteenHours(calcWorkHourTotal(outputWorkHourDTO.getThirteenHours(),auxiliaryHoursDTO.getThirteenHours(),overtimeHoursDTO.getThirteenHours()));
|
totalDTO.setFourteenHours(calcWorkHourTotal(outputWorkHourDTO.getFourteenHours(),auxiliaryHoursDTO.getFourteenHours(),overtimeHoursDTO.getFourteenHours()));
|
totalDTO.setFifteenHours(calcWorkHourTotal(outputWorkHourDTO.getFifteenHours(),auxiliaryHoursDTO.getFifteenHours(),overtimeHoursDTO.getFifteenHours()));
|
totalDTO.setSixteenHours(calcWorkHourTotal(outputWorkHourDTO.getSixteenHours(),auxiliaryHoursDTO.getSixteenHours(),overtimeHoursDTO.getSixteenHours()));
|
totalDTO.setSeventeenHours(calcWorkHourTotal(outputWorkHourDTO.getSeventeenHours(),auxiliaryHoursDTO.getSeventeenHours(),overtimeHoursDTO.getSeventeenHours()));
|
totalDTO.setEighteenHours(calcWorkHourTotal(outputWorkHourDTO.getEighteenHours(),auxiliaryHoursDTO.getEighteenHours(),overtimeHoursDTO.getEighteenHours()));
|
totalDTO.setNineteenHours(calcWorkHourTotal(outputWorkHourDTO.getNineteenHours(),auxiliaryHoursDTO.getNineteenHours(),overtimeHoursDTO.getNineteenHours()));
|
totalDTO.setTwentyHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyHours(),auxiliaryHoursDTO.getTwentyHours(),overtimeHoursDTO.getTwentyHours()));
|
totalDTO.setTwentyOneHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyOneHours(),auxiliaryHoursDTO.getTwentyOneHours(),overtimeHoursDTO.getTwentyOneHours()));
|
totalDTO.setTwentyTwoHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyTwoHours(),auxiliaryHoursDTO.getTwentyTwoHours(),overtimeHoursDTO.getTwentyTwoHours()));
|
totalDTO.setTwentyThreeHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyThreeHours(),auxiliaryHoursDTO.getTwentyThreeHours(),overtimeHoursDTO.getTwentyThreeHours()));
|
totalDTO.setTwentyFourHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyFourHours(),auxiliaryHoursDTO.getTwentyFourHours(),overtimeHoursDTO.getTwentyFourHours()));
|
totalDTO.setTwentyFiveHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyFiveHours(),auxiliaryHoursDTO.getTwentyFiveHours(),overtimeHoursDTO.getTwentyFiveHours()));
|
totalDTO.setTwentySixHours(calcWorkHourTotal(outputWorkHourDTO.getTwentySixHours(),auxiliaryHoursDTO.getTwentySixHours(),overtimeHoursDTO.getTwentySixHours()));
|
totalDTO.setTwentySevenHours(calcWorkHourTotal(outputWorkHourDTO.getTwentySevenHours(),auxiliaryHoursDTO.getTwentySevenHours(),overtimeHoursDTO.getTwentySevenHours()));
|
totalDTO.setTwentyEightHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyEightHours(),auxiliaryHoursDTO.getTwentyEightHours(),overtimeHoursDTO.getTwentyEightHours()));
|
totalDTO.setTwentyNineHours(calcWorkHourTotal(outputWorkHourDTO.getTwentyNineHours(),auxiliaryHoursDTO.getTwentyNineHours(),overtimeHoursDTO.getTwentyNineHours()));
|
totalDTO.setThirtyHours(calcWorkHourTotal(outputWorkHourDTO.getThirtyHours(),auxiliaryHoursDTO.getThirtyHours(),overtimeHoursDTO.getThirtyHours()));
|
totalDTO.setThirtyOneHours(calcWorkHourTotal(outputWorkHourDTO.getThirtyOneHours(),auxiliaryHoursDTO.getThirtyOneHours(),overtimeHoursDTO.getThirtyOneHours()));
|
totalDTO.setTotal(calcWorkHourTotal(outputWorkHourDTO.getTotal(),auxiliaryHoursDTO.getTotal(),overtimeHoursDTO.getTotal()));
|
|
totalMap.put(userNameKey,totalDTO);
|
}
|
return totalMap;
|
}
|
|
/**
|
* 计算总工时
|
* @param outputWorkHour 产出工时
|
* @param auxiliaryWorkHour 辅助工时
|
* @param overtimeWorkHour 加班工时
|
* @return
|
*/
|
private double calcWorkHourTotal(Double outputWorkHour,Double auxiliaryWorkHour,Double overtimeWorkHour){
|
if(Objects.isNull(outputWorkHour)){
|
outputWorkHour = 0.0;
|
}
|
if(Objects.isNull(auxiliaryWorkHour)){
|
auxiliaryWorkHour = 0.0;
|
}
|
if(Objects.isNull(overtimeWorkHour)){
|
overtimeWorkHour = 0.0;
|
}
|
return outputWorkHour + auxiliaryWorkHour + overtimeWorkHour;
|
}
|
|
//合并
|
private void merge(Map<String, AuxiliaryOriginalHoursDto> data5,Map<String, AuxiliaryOriginalHoursDto> data4,Map<String, AuxiliaryOriginalHoursDto> data2) {
|
for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data2.entrySet()) {
|
String key = entry.getKey();
|
AuxiliaryOriginalHoursDto value = entry.getValue();
|
if (data5.containsKey(key)) {
|
for (Map.Entry<String, AuxiliaryOriginalHoursDto> dtoEntry : data5.entrySet()) {
|
if (dtoEntry.getKey().equals(key)) {
|
AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
|
AuxiliaryOriginalHoursDto hoursDto = data5.get(key);
|
BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto);
|
auxiliaryOriginalHoursDto.setType("总工时");
|
auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : 0));
|
auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : 0));
|
auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : 0));
|
auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : 0));
|
auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : 0));
|
auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : 0));
|
auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : 0));
|
auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : 0));
|
auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : 0));
|
auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : 0));
|
auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : 0));
|
auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
|
auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : 0));
|
auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : 0));
|
auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : 0));
|
auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : 0));
|
auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : 0) + (ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : 0));
|
auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : 0));
|
auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : 0) + (ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : 0));
|
auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : 0));
|
double v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0;
|
double v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0;
|
double v2 = v + v1;
|
auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : 0));
|
auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : 0) + (ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : 0));
|
auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : 0));
|
auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : 0) + (ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : 0));
|
auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : 0) + (ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : 0));
|
data4.put(key, auxiliaryOriginalHoursDto);
|
}
|
}
|
} else {
|
value.setType("总工时");
|
data4.put(key, value);
|
}
|
}
|
}
|
}
|