From 3647aa5008055528f075ee73002542a1399575ae Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 19 三月 2025 14:45:39 +0800
Subject: [PATCH] 单点登录调整

---
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java |  446 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 241 insertions(+), 205 deletions(-)

diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
index 2bacdd7..cd33f10 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java
@@ -4,15 +4,15 @@
 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.StringUtils;
 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.exception.base.BaseException;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
+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;
@@ -22,6 +22,9 @@
 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;
@@ -30,19 +33,26 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.net.URLEncoder;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
+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;
@@ -68,18 +78,32 @@
             List<Integer> ides = auxiliaryCorrectionHoursMapper.selDepartLimsByName(departLims);
             for (Integer ide : ides) {
                 List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery()
-                        .like(User::getDepartLimsId, ide));
+                        .like(User::getDepartLimsId, ide)
+                        .eq(User::getStatus, 0));
                 if (ObjectUtils.isNotEmpty(users)) {
-                    ides.clear();
                     ids.addAll(users.stream().map(User::getId).distinct().collect(Collectors.toList()));
+                    break;
                 }
             }
         }
         if (ObjectUtils.isNotEmpty(name)) {
-            ids.clear();
-            ids.add(userMapper.selectOne(Wrappers.<User>lambdaQuery().like(User::getName, name)).getId());
+            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.size() == 0) {
+        if (ids.isEmpty()) {
             ids = null;
         }
         IPage<AuxiliaryOriginalHoursDto> originalHoursDtoIPage = new Page<>();
@@ -90,7 +114,7 @@
         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)) {
             data1 = getData(maps, "浜ч噺宸ユ椂");
             auxiliaryOriginalHoursDtos.addAll(data1.values());
@@ -102,30 +126,16 @@
             auxiliaryOriginalHoursDtos.addAll(data2.values());
         }
         //鍔犵彮宸ユ椂
-        List<Map<String, Object>> maps2 = auxiliaryOutputWorkingHoursMapper.totalHours(auxiliaryOriginalHoursLookDto.getMonth(), ids, "鍔犵彮宸ユ椂");
+        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.size() > 0) {
+        if (!data1.isEmpty()) {
             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);
-                }
-            }
+            data4 = mergeTotal(data5,data2,data3);
             auxiliaryOriginalHoursDtos.addAll(data4.values());
         }
 
@@ -156,16 +166,25 @@
             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());
+        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(String month, String name, String departLims, HttpServletResponse response) throws IOException {
+    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)) {
@@ -177,7 +196,7 @@
         if (ObjectUtils.isNotEmpty(departLims)) {
             auxiliaryOriginalHoursLookDto.setDepartLims(departLims);
         }
-        IPage<AuxiliaryOriginalHoursDto> body = selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto);
+        IPage<AuxiliaryOriginalHoursDto> body = (IPage<AuxiliaryOriginalHoursDto>) selectAuxiliaryOriginalHours(new Page(-1, -1), auxiliaryOriginalHoursLookDto);
         auxiliaryOriginalHoursDtos = body.getRecords();
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("UTF-8");
@@ -186,7 +205,9 @@
         response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
         try {
             // 鏂板缓ExcelWriter
-            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+            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);
             // 鍏抽棴娴�
@@ -195,71 +216,6 @@
             throw new RuntimeException("瀵煎嚭澶辫触");
         }
 
-    }
-
-    /**
-     * 鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂
-     *
-     * @return
-     */
-    @Override
-    public List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(AuxiliaryOriginalHoursLookDto dto) {
-        if (StringUtils.isBlank(dto.getMonth())) {
-            throw new BaseException("缂哄皯鏈堜唤");
-        }
-        List<Integer> userIds = new ArrayList<>();
-
-        String name = dto.getName();
-        if (ObjectUtils.isNotEmpty(name)) {
-            userIds.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
-        }
-        // 瑙f瀽杈撳叆鐨勬椂闂村瓧绗︿覆
-        LocalDate date = LocalDate.parse(dto.getMonth() + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-
-        // 鑾峰彇鍓嶄竴涓湀鐨�26鍙�
-        LocalDate previousMonth26th = date.minusMonths(1).withDayOfMonth(26);
-
-        // 鑾峰彇褰撳墠鏈堢殑25鍙�
-        LocalDate currentMonth25th = date.withDayOfMonth(25);
-
-        // 鏍煎紡鍖栨棩鏈熶负 yyyy-MM-dd HH:mm:ss
-        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        String beginDate = previousMonth26th.atStartOfDay().format(outputFormatter);
-        String endDate = currentMonth25th.atStartOfDay().format(outputFormatter);
-//        dto.setBeginDate(beginDate + " 00:00:00");
-//        dto.setEndDate(endDate + " 23:59:59");
-        dto.setBeginDate(beginDate);
-        dto.setEndDate(endDate);
-
-
-        // 鏌ヨ浜ч噺宸ユ椂
-        List<AuxiliaryAllDto> auxiliaryAllDtos = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryAllByMonth(dto, userIds);
-
-        // 鏌ヨ杈呭姪宸ユ椂
-        List<AuxiliaryAllDto> auxiliarySubsidiary = auxiliaryOutputWorkingHoursMapper.selectSubsidiaryAllByMonth(dto, userIds);
-
-        //浜ч噺宸ユ椂杩涜浜哄憳鍒嗙粍, 鎶婅緟鍔╁伐鏃舵坊鍔�
-        Map<Integer, List<AuxiliaryAllDto>> groupIds = auxiliaryAllDtos.stream().collect(Collectors.groupingBy(AuxiliaryAllDto::getUserId));
-
-        for (AuxiliaryAllDto auxiliaryAllDto : auxiliarySubsidiary) {
-            List<AuxiliaryAllDto> allDtos = groupIds.get(auxiliaryAllDto.getUserId());
-            // 鍒ゆ柇鏄惁涓虹┖
-            if (CollectionUtils.isNotEmpty(allDtos)) {
-                // 娣诲姞杈呭姪宸ユ椂
-                allDtos.get(0).setSubsidiaryHour(auxiliaryAllDto.getSubsidiaryHour());
-
-            } else {
-                // 娌℃湁鏀逛汉鍛樻坊鍔犱竴琛�
-                auxiliaryAllDtos.add(auxiliaryAllDto);
-            }
-        }
-        for (AuxiliaryAllDto auxiliaryAllDto : auxiliaryAllDtos) {
-            BigDecimal total = (auxiliaryAllDto.getYieldHour() != null ? auxiliaryAllDto.getYieldHour() : BigDecimal.ZERO)
-                    .add(auxiliaryAllDto.getSubsidiaryHour() != null ? auxiliaryAllDto.getSubsidiaryHour() : BigDecimal.ZERO);
-            auxiliaryAllDto.setTotalHour(total);
-        }
-
-        return auxiliaryAllDtos;
     }
 
     private Map<String, AuxiliaryOriginalHoursDto> getData(List<Map<String, Object>> objectMaps, String type) {
@@ -283,7 +239,7 @@
             AuxiliaryCorrectionHours auxiliaryCorrectionHours = auxiliaryOriginalHoursDto.getAuxiliaryCorrectionHours();
             switch (objectMap.get("month").toString().substring(8, 10)) {
                 case "01":
-                    auxiliaryOriginalHoursDto.setOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getOneHours().compareTo(auxiliaryOriginalHoursDto.getOneHours()) != 0) {
                             auxiliaryOriginalHoursDto.setOne(1);
@@ -291,7 +247,7 @@
                     }
                     break;
                 case "02":
-                    auxiliaryOriginalHoursDto.setTwoHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwoHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwo(1);
@@ -299,7 +255,7 @@
                     }
                     break;
                 case "03":
-                    auxiliaryOriginalHoursDto.setThreeHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getThreeHours().compareTo(auxiliaryOriginalHoursDto.getThreeHours()) != 0) {
                             auxiliaryOriginalHoursDto.setThree(1);
@@ -307,7 +263,7 @@
                     }
                     break;
                 case "04":
-                    auxiliaryOriginalHoursDto.setFourHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getFourHours().compareTo(auxiliaryOriginalHoursDto.getFourHours()) != 0) {
                             auxiliaryOriginalHoursDto.setFour(1);
@@ -315,7 +271,7 @@
                     }
                     break;
                 case "05":
-                    auxiliaryOriginalHoursDto.setFiveHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getFiveHours().compareTo(auxiliaryOriginalHoursDto.getFiveHours()) != 0) {
                             auxiliaryOriginalHoursDto.setFive(1);
@@ -323,7 +279,7 @@
                     }
                     break;
                 case "06":
-                    auxiliaryOriginalHoursDto.setSixHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setSixHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getSixHours().compareTo(auxiliaryOriginalHoursDto.getSixHours()) != 0) {
                             auxiliaryOriginalHoursDto.setSix(1);
@@ -331,7 +287,7 @@
                     }
                     break;
                 case "07":
-                    auxiliaryOriginalHoursDto.setSevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setSevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getSevenHours().compareTo(auxiliaryOriginalHoursDto.getSevenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setSeven(1);
@@ -339,7 +295,7 @@
                     }
                     break;
                 case "08":
-                    auxiliaryOriginalHoursDto.setEightHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getEightHours().compareTo(auxiliaryOriginalHoursDto.getEightHours()) != 0) {
                             auxiliaryOriginalHoursDto.setEight(1);
@@ -347,7 +303,7 @@
                     }
                     break;
                 case "09":
-                    auxiliaryOriginalHoursDto.setNineHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getNineHours().compareTo(auxiliaryOriginalHoursDto.getNineHours()) != 0) {
                             auxiliaryOriginalHoursDto.setNine(1);
@@ -355,7 +311,7 @@
                     }
                     break;
                 case "10":
-                    auxiliaryOriginalHoursDto.setTenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTenHours().compareTo(auxiliaryOriginalHoursDto.getTenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTen(1);
@@ -363,7 +319,7 @@
                     }
                     break;
                 case "11":
-                    auxiliaryOriginalHoursDto.setElevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setElevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getElevenHours().compareTo(auxiliaryOriginalHoursDto.getElevenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setEleven(1);
@@ -371,7 +327,7 @@
                     }
                     break;
                 case "12":
-                    auxiliaryOriginalHoursDto.setTwelveHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwelveHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwelveHours().compareTo(auxiliaryOriginalHoursDto.getTwelveHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwelve(1);
@@ -379,7 +335,7 @@
                     }
                     break;
                 case "13":
-                    auxiliaryOriginalHoursDto.setThirteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setThirteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getThirteenHours().compareTo(auxiliaryOriginalHoursDto.getThirteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setThirteen(1);
@@ -387,7 +343,7 @@
                     }
                     break;
                 case "14":
-                    auxiliaryOriginalHoursDto.setFourteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setFourteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getFourteenHours().compareTo(auxiliaryOriginalHoursDto.getFourteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setFourteen(1);
@@ -395,7 +351,7 @@
                     }
                     break;
                 case "15":
-                    auxiliaryOriginalHoursDto.setFifteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setFifteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getFifteenHours().compareTo(auxiliaryOriginalHoursDto.getFifteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setFifteen(1);
@@ -403,7 +359,7 @@
                     }
                     break;
                 case "16":
-                    auxiliaryOriginalHoursDto.setSixteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setSixteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getSixteenHours().compareTo(auxiliaryOriginalHoursDto.getSixteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setSixteen(1);
@@ -411,7 +367,7 @@
                     }
                     break;
                 case "17":
-                    auxiliaryOriginalHoursDto.setSeventeenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setSeventeenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getSeventeenHours().compareTo(auxiliaryOriginalHoursDto.getSeventeenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setSeventeen(1);
@@ -419,7 +375,7 @@
                     }
                     break;
                 case "18":
-                    auxiliaryOriginalHoursDto.setEighteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setEighteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getEighteenHours().compareTo(auxiliaryOriginalHoursDto.getEighteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setEighteen(1);
@@ -427,7 +383,7 @@
                     }
                     break;
                 case "19":
-                    auxiliaryOriginalHoursDto.setNineteenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setNineteenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getNineteenHours().compareTo(auxiliaryOriginalHoursDto.getNineteenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setNineteen(1);
@@ -435,7 +391,7 @@
                     }
                     break;
                 case "20":
-                    auxiliaryOriginalHoursDto.setTwentyHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyHours().compareTo(auxiliaryOriginalHoursDto.getTwentyHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwenty(1);
@@ -443,7 +399,7 @@
                     }
                     break;
                 case "21":
-                    auxiliaryOriginalHoursDto.setTwentyOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyOneHours().compareTo(auxiliaryOriginalHoursDto.getTwentyOneHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyOne(1);
@@ -451,7 +407,7 @@
                     }
                     break;
                 case "22":
-                    auxiliaryOriginalHoursDto.setTwentyTwoHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyTwoHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyTwoHours().compareTo(auxiliaryOriginalHoursDto.getTwentyTwoHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyTwo(1);
@@ -459,7 +415,7 @@
                     }
                     break;
                 case "23":
-                    auxiliaryOriginalHoursDto.setTwentyThreeHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyThreeHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyThreeHours().compareTo(auxiliaryOriginalHoursDto.getTwentyThreeHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyThree(1);
@@ -467,7 +423,7 @@
                     }
                     break;
                 case "24":
-                    auxiliaryOriginalHoursDto.setTwentyFourHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyFourHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyFourHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFourHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyFour(1);
@@ -475,7 +431,7 @@
                     }
                     break;
                 case "25":
-                    auxiliaryOriginalHoursDto.setTwentyFiveHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyFiveHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyFiveHours().compareTo(auxiliaryOriginalHoursDto.getTwentyFiveHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyFive(1);
@@ -483,7 +439,7 @@
                     }
                     break;
                 case "26":
-                    auxiliaryOriginalHoursDto.setTwentySixHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentySixHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentySixHours().compareTo(auxiliaryOriginalHoursDto.getTwentySixHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentySix(1);
@@ -491,7 +447,7 @@
                     }
                     break;
                 case "27":
-                    auxiliaryOriginalHoursDto.setTwentySevenHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentySevenHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentySevenHours().compareTo(auxiliaryOriginalHoursDto.getTwentySevenHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentySeven(1);
@@ -499,7 +455,7 @@
                     }
                     break;
                 case "28":
-                    auxiliaryOriginalHoursDto.setTwentyEightHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyEightHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyEightHours().compareTo(auxiliaryOriginalHoursDto.getTwentyEightHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyEight(1);
@@ -507,7 +463,7 @@
                     }
                     break;
                 case "29":
-                    auxiliaryOriginalHoursDto.setTwentyNineHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setTwentyNineHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getTwentyNineHours().compareTo(auxiliaryOriginalHoursDto.getTwentyNineHours()) != 0) {
                             auxiliaryOriginalHoursDto.setTwentyNine(1);
@@ -515,7 +471,7 @@
                     }
                     break;
                 case "30":
-                    auxiliaryOriginalHoursDto.setThirtyHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setThirtyHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getThirtyHours().compareTo(auxiliaryOriginalHoursDto.getThirtyHours()) != 0) {
                             auxiliaryOriginalHoursDto.setThirty(1);
@@ -523,7 +479,7 @@
                     }
                     break;
                 case "31":
-                    auxiliaryOriginalHoursDto.setThirtyOneHours(new BigDecimal(objectMap.get("manHours").toString()));
+                    auxiliaryOriginalHoursDto.setThirtyOneHours(Double.parseDouble(objectMap.get("manHours").toString()));
                     if (ObjectUtils.isNotEmpty(auxiliaryCorrectionHours)) {
                         if (auxiliaryCorrectionHours.getThirtyOneHours().compareTo(auxiliaryOriginalHoursDto.getThirtyOneHours()) != 0) {
                             auxiliaryOriginalHoursDto.setThirtyOne(1);
@@ -531,46 +487,133 @@
                     }
                     break;
             }
-            auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyHours()) ? auxiliaryOriginalHoursDto.getTwentyHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : BigDecimal.ZERO)
-                    .add(ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : BigDecimal.ZERO)
+            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)
             );
-            auxiliaryOriginalHoursDto.setTotal(auxiliaryOriginalHoursDto.getTotal().setScale(4, RoundingMode.HALF_UP));
+            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) {
+    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();
@@ -581,55 +624,48 @@
                         AuxiliaryOriginalHoursDto hoursDto = data5.get(key);
                         BeanUtils.copyProperties(hoursDto, auxiliaryOriginalHoursDto);
                         auxiliaryOriginalHoursDto.setType("鎬诲伐鏃�");
-                        auxiliaryOriginalHoursDto.setOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getOneHours()) ? auxiliaryOriginalHoursDto.getOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getOneHours()) ? value.getOneHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwoHours()) ? auxiliaryOriginalHoursDto.getTwoHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwoHours()) ? value.getTwoHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThreeHours()) ? auxiliaryOriginalHoursDto.getThreeHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThreeHours()) ? value.getThreeHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourHours()) ? auxiliaryOriginalHoursDto.getFourHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFourHours()) ? value.getFourHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFiveHours()) ? auxiliaryOriginalHoursDto.getFiveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFiveHours()) ? value.getFiveHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setSixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixHours()) ? auxiliaryOriginalHoursDto.getSixHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSixHours()) ? value.getSixHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setSevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSevenHours()) ? auxiliaryOriginalHoursDto.getSevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSevenHours()) ? value.getSevenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEightHours()) ? auxiliaryOriginalHoursDto.getEightHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getEightHours()) ? value.getEightHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineHours()) ? auxiliaryOriginalHoursDto.getNineHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getNineHours()) ? value.getNineHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTenHours()) ? auxiliaryOriginalHoursDto.getTenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTenHours()) ? value.getTenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setElevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getElevenHours()) ? auxiliaryOriginalHoursDto.getElevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getElevenHours()) ? value.getElevenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setThirteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirteenHours()) ? auxiliaryOriginalHoursDto.getThirteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirteenHours()) ? value.getThirteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setFourteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFourteenHours()) ? auxiliaryOriginalHoursDto.getFourteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFourteenHours()) ? value.getFourteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setFifteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getFifteenHours()) ? auxiliaryOriginalHoursDto.getFifteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getFifteenHours()) ? value.getFifteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setSixteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSixteenHours()) ? auxiliaryOriginalHoursDto.getSixteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSixteenHours()) ? value.getSixteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setSeventeenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getSeventeenHours()) ? auxiliaryOriginalHoursDto.getSeventeenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getSeventeenHours()) ? value.getSeventeenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setEighteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getEighteenHours()) ? auxiliaryOriginalHoursDto.getEighteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getEighteenHours()) ? value.getEighteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setNineteenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getNineteenHours()) ? auxiliaryOriginalHoursDto.getNineteenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getNineteenHours()) ? value.getNineteenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwelveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwelveHours()) ? auxiliaryOriginalHoursDto.getTwelveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwelveHours()) ? value.getTwelveHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyOneHours()) ? auxiliaryOriginalHoursDto.getTwentyOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyOneHours()) ? value.getTwentyOneHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyTwoHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyTwoHours()) ? auxiliaryOriginalHoursDto.getTwentyTwoHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyTwoHours()) ? value.getTwentyTwoHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyThreeHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyThreeHours()) ? auxiliaryOriginalHoursDto.getTwentyThreeHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyThreeHours()) ? value.getTwentyThreeHours() : BigDecimal.ZERO));
-                        BigDecimal v = ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO;
-                        BigDecimal v1 = ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : BigDecimal.ZERO;
-                        BigDecimal v2 = v.add(v1);
-                        auxiliaryOriginalHoursDto.setTwentyFourHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFourHours()) ? auxiliaryOriginalHoursDto.getTwentyFourHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyFourHours()) ? value.getTwentyFourHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyFiveHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyFiveHours()) ? auxiliaryOriginalHoursDto.getTwentyFiveHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyFiveHours()) ? value.getTwentyFiveHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentySixHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySixHours()) ? auxiliaryOriginalHoursDto.getTwentySixHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentySixHours()) ? value.getTwentySixHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentySevenHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentySevenHours()) ? auxiliaryOriginalHoursDto.getTwentySevenHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentySevenHours()) ? value.getTwentySevenHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyEightHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyEightHours()) ? auxiliaryOriginalHoursDto.getTwentyEightHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyEightHours()) ? value.getTwentyEightHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTwentyNineHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTwentyNineHours()) ? auxiliaryOriginalHoursDto.getTwentyNineHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTwentyNineHours()) ? value.getTwentyNineHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setThirtyHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyHours()) ? auxiliaryOriginalHoursDto.getThirtyHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirtyHours()) ? value.getThirtyHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setThirtyOneHours((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getThirtyOneHours()) ? auxiliaryOriginalHoursDto.getThirtyOneHours() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getThirtyOneHours()) ? value.getThirtyOneHours() : BigDecimal.ZERO));
-                        auxiliaryOriginalHoursDto.setTotal((ObjectUtils.isNotEmpty(auxiliaryOriginalHoursDto.getTotal()) ? auxiliaryOriginalHoursDto.getTotal() : BigDecimal.ZERO).add(ObjectUtils.isNotEmpty(value.getTotal()) ? value.getTotal() : BigDecimal.ZERO));
+                        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