zss
2024-07-17 16d63c3d68d131ad0cc4a8bd9f22a0c0515aa6bf
performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -1,15 +1,20 @@
package com.yuanchu.mom.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.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto;
import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours;
import com.yuanchu.mom.pojo.AuxiliaryOutputWorkingHours;
import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.AuxiliaryOriginalHoursService;
@@ -17,6 +22,11 @@
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -43,10 +53,13 @@
    @Resource
    AuxiliaryWorkingHoursDayMapper auxiliaryWorkingHoursDayMapper;
    @Resource
    AuxiliaryCorrectionHoursMapper auxiliaryCorrectionHoursMapper;
    @Override
    public Map<String, Object> selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto) {
        Map<String, Object> map = new HashMap<>();
        List<Integer> ids = null;
        List<Integer> ids = new ArrayList<>();
        map.put("head", PrintChina.printChina(AuxiliaryCorrectionHoursDto.class));
        //判断组长,组员,管理员权限
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOriginalHours");
@@ -66,26 +79,407 @@
            //查询组长下的组员
            List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getDepartLimsId, user.getDepartLimsId()));
            if (ObjectUtils.isNotEmpty(users)) {
                ids = users.stream().map(User::getId).distinct().collect(Collectors.toList());
                ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
            }
        }
        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::getState, 1));
                if (ObjectUtils.isNotEmpty(users)) {
                    ides.clear();
                    ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
                }
            }
        }
        if (ObjectUtils.isNotEmpty(name)) {
            ids.clear();
            ids.add(userMapper.selectOne(Wrappers.<User>lambdaQuery().like(User::getName, name)).getId());
        }
        if (ids.size() == 0) {
            ids = null;
        }
        IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>();
        originalHoursDtoIPage.setSize(page.getSize());
        originalHoursDtoIPage.setCurrent(page.getCurrent());
        List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = null;
        List<AuxiliaryOriginalHoursDto> auxiliaryOriginalHoursDtos = new ArrayList<>();
        //产量工时
        List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getStartTime(), auxiliaryOriginalHoursLookDto.getEndTime(), auxiliaryOriginalHoursLookDto.getUserId(), auxiliaryOriginalHoursLookDto.getDepartId(), ids);
        Map<Object, Map<Object, Double>> collect = maps.stream().collect(
                Collectors.groupingBy(objmap -> objmap.get("name"),
                        Collectors.groupingBy(objmap -> objmap.get("month"),
                                Collectors.summingDouble(objmap -> Double.parseDouble(objmap.get("output_work_time").toString())))));
        List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
        if (ObjectUtils.isNotEmpty(maps)) {
            auxiliaryOriginalHoursDtos.addAll(getData(maps, "产量工时").values());
        }
        //辅助工时
        //辅助工时
        List<Map<String, Object>> maps1 = auxiliaryWorkingHoursDayMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
        if (ObjectUtils.isNotEmpty(maps1)) {
            auxiliaryOriginalHoursDtos.addAll(getData(maps1, "辅助工时").values());
        }
        //加班工时
        //总工时
        List<Map<String, Object>> maps2 = auxiliaryOriginalHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
        if (ObjectUtils.isNotEmpty(maps2)) {
            //产量工时+辅助工时都不为空
            auxiliaryOriginalHoursDtos.addAll(getData(maps2, "总工时").values());
        }
        //如果辅助工时不为空
        else if (ObjectUtils.isNotEmpty(maps1)) {
            auxiliaryOriginalHoursDtos.addAll(getData(maps1, "总工时").values());
        } else if (ObjectUtils.isNotEmpty(maps)) {
            auxiliaryOriginalHoursDtos.addAll(getData(maps, "总工时").values());
        }
        originalHoursDtoIPage.setRecords(auxiliaryOriginalHoursDtos);
        map.put("body", originalHoursDtoIPage);
        return map;
    }
    //导出原始工时
    @Override
    public void exportWorkingHours(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).get("body");
        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(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);
                dtoMap.put(name, auxiliaryOriginalHoursDto);
            }
            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())));
        }
        return dtoMap;
    }
}