From 9c61e9c8f99cc3c35f2940333605981ef4b30fbb Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期一, 19 八月 2024 18:20:20 +0800
Subject: [PATCH] 工时管理小数点问题

---
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java |  682 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 420 insertions(+), 262 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
index 2026c9c..a0cf3ae 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -4,30 +4,29 @@
 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.*;
+import com.yuanchu.mom.dto.AuxiliaryCorrectionHoursDto;
+import com.yuanchu.mom.dto.AuxiliaryOriginalHoursDto;
+import com.yuanchu.mom.dto.AuxiliaryOriginalHoursLookDto;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.AuxiliaryCorrectionHours;
 import com.yuanchu.mom.pojo.Power;
 import com.yuanchu.mom.pojo.User;
 import com.yuanchu.mom.service.AuxiliaryOriginalHoursService;
-import com.yuanchu.mom.utils.QueryWrappers;
+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.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.DecimalFormat;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -101,45 +100,85 @@
             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 = 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);
+        List<Map<String, Object>> maps = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"浜ч噺宸ユ椂");
         if (ObjectUtils.isNotEmpty(maps)) {
-            for (Map<String, Object> objectMap : maps) {
-                auxiliaryOriginalHoursDtos.add(getData(objectMap, "浜ч噺宸ユ椂"));
-            }
-
+            data1 = getData(maps, "浜ч噺宸ユ椂");
+            auxiliaryOriginalHoursDtos.addAll(data1.values());
         }
         //杈呭姪宸ユ椂
         List<Map<String, Object>> maps1 = auxiliaryWorkingHoursDayMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
         if (ObjectUtils.isNotEmpty(maps1)) {
-            for (Map<String, Object> objectMap : maps1) {
-                auxiliaryOriginalHoursDtos.add(getData(objectMap, "杈呭姪宸ユ椂"));
-            }
+            data2 = getData(maps1, "杈呭姪宸ユ椂");
+            auxiliaryOriginalHoursDtos.addAll(data2.values());
         }
         //鍔犵彮宸ユ椂
-        //鎬诲伐鏃�
-        List<Map<String, Object>> maps2 = auxiliaryOriginalHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids);
+        List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids,"鍔犵彮宸ユ椂");
         if (ObjectUtils.isNotEmpty(maps2)) {
-            //浜ч噺宸ユ椂+杈呭姪宸ユ椂閮戒笉涓虹┖
-            for (Map<String, Object> objectMap : maps2) {
-                auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�"));
+            data3 = getData(maps2, "鍔犵彮宸ユ椂");
+            auxiliaryOriginalHoursDtos.addAll(data3.values());
+        }
+        //鎬诲伐鏃�=浜ч噺宸ユ椂+杈呭姪宸ユ椂+鍔犵彮宸ユ椂
+        Map<String, AuxiliaryOriginalHoursDto> data4 = new HashMap<String, AuxiliaryOriginalHoursDto>();
+        if (data1.size()>0) {
+            Map<String, AuxiliaryOriginalHoursDto> data5 = data1;
+            if (data2.size() > 0) {
+                merge(data5,data4,data2);
+            }
+            if (data3.size()>0){
+                merge(data5,data4,data3);
+            }
+            if(data2.size()==0 && data3.size()==0) {
+                for (Map.Entry<String, AuxiliaryOriginalHoursDto> entry : data5.entrySet()) {
+                    AuxiliaryOriginalHoursDto dto = entry.getValue();
+                    AuxiliaryOriginalHoursDto originalHoursDto = new AuxiliaryOriginalHoursDto();
+                    BeanUtils.copyProperties(dto, originalHoursDto);
+                    originalHoursDto.setType("鎬诲伐鏃�");
+                    data4.put(entry.getKey(), originalHoursDto);
+                }
+            }
+            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);
+                }
             }
         }
-        //濡傛灉浜ч噺宸ユ椂涓虹┖
-        else if (ObjectUtils.isNotEmpty(maps1)) {
-            for (Map<String, Object> objectMap : maps1) {
-                auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�"));
-            }
-        } else if (ObjectUtils.isNotEmpty(maps)) {
-            for (Map<String, Object> objectMap : maps) {
-                auxiliaryOriginalHoursDtos.add(getData(objectMap, "鎬诲伐鏃�"));
-            }
-        }
-        originalHoursDtoIPage.setRecords(auxiliaryOriginalHoursDtos);
+        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.setRecords(result);
+        originalHoursDtoIPage.setTotal(result.size());
         map.put("body", originalHoursDtoIPage);
         return map;
     }
@@ -147,12 +186,22 @@
 
     //瀵煎嚭鍘熷宸ユ椂
     @Override
-    public void exportWorkingHours(AuxiliaryOriginalHoursLookDto auxiliaryOriginalHoursLookDto, HttpServletResponse response) throws IOException {
+    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();
+        auxiliaryOriginalHoursDtos = body.getRecords();
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("UTF-8");
         // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
@@ -171,266 +220,375 @@
 
     }
 
-    private AuxiliaryOriginalHoursDto getData(Map<String, Object> objectMap, String type) {
-        AuxiliaryOriginalHoursDto auxiliaryOriginalHoursDto = new AuxiliaryOriginalHoursDto();
-        auxiliaryOriginalHoursDto.setName(objectMap.get("name").toString());//濮撳悕
-        auxiliaryOriginalHoursDto.setType(type);
-        auxiliaryOriginalHoursDto.setMonth(objectMap.get("month").toString().substring(0, 7));//鏈堜唤
-        //鏌ヨ杩欎釜浜鸿繖涓湀鏄惁鏈変慨姝g殑浜ч噺宸ユ椂
-        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()));
-        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);
+    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);
+                // 鏌ヨ杩欎釜浜鸿繖涓湀鏄惁鏈変慨姝g殑浜ч噺宸ユ椂
+                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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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;
+                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;
+                    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 auxiliaryOriginalHoursDto;
+        return dtoMap;
+    }
+
+    //鍚堝苟
+    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 {
+                        AuxiliaryOriginalHoursDto hoursDto = data5.get(dtoEntry.getKey());
+                        AuxiliaryOriginalHoursDto dto = new AuxiliaryOriginalHoursDto();
+                        BeanUtils.copyProperties(hoursDto, dto);
+                        dto.setType("鎬诲伐鏃�");
+                        data4.put(dtoEntry.getKey(), dto);
+                    }*/
+                }
+            } else {
+                value.setType("鎬诲伐鏃�");
+                data4.put(key, value);
+            }
+        }
     }
 }

--
Gitblit v1.9.3