From 4b5c6891b92a186685b713627fe6701074b67435 Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期五, 14 三月 2025 14:48:31 +0800
Subject: [PATCH] 工时管理1.0

---
 performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java                |    3 
 performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java          |   19 
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOriginalHoursServiceImpl.java      |  446 ++++++++-------
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java |  294 +++++----
 performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java                       |  108 ++-
 performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java             |    9 
 performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java       |   38 
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java                            |   14 
 performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml                                         |    2 
 performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java               |    3 
 performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java                  |    7 
 performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java               |   11 
 performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java    |   21 
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java    |  245 +++++---
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java                                       |   22 
 performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java       |    2 
 performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java                    |   68 +-
 performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml                              |  127 +---
 ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml                                             |   24 
 performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java            |   21 
 performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java          |    9 
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java                          |   21 
 performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java       |    3 
 cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java                              |   39 
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java                           |    9 
 performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java                       |   77 +-
 performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java         |   21 
 27 files changed, 869 insertions(+), 794 deletions(-)

diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
index cbafb5d..3625815 100644
--- a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/PkMasterServiceImpl.java
@@ -3,13 +3,17 @@
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+
 import cn.hutool.core.util.ObjectUtil;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.vo.StandardProductVO;
 import com.ruoyi.common.core.domain.entity.User;
@@ -30,6 +34,7 @@
 import com.ruoyi.requier.pojo.PkSlave;
 import com.ruoyi.requier.service.InsOrderPlanService;
 import com.ruoyi.requier.service.PkMasterService;
+import com.ruoyi.requier.service.impl.InsOrderPlanServiceImpl;
 import com.ruoyi.system.mapper.UserMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.logging.log4j.util.Strings;
@@ -96,11 +101,12 @@
     @Resource
     private AuxiliaryOutputWorkingHoursMapper auxiliaryOutputWorkingHoursMapper;
 
+
     //娓╁害寰幆鏁伴噰
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int temDataAcquisition(PkMaster pkMaster) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         //鏌ヨ鏁伴噰鍏宠仈鐨勫瓙琛ㄤ俊鎭�
         PkMaster master = new PkMaster();
         List<PkMaster> pkMasters = pkMasterMapper.selectList(Wrappers.<PkMaster>lambdaQuery()
@@ -532,12 +538,12 @@
         if(isWithinRange) {
             // 姝e父涓婄彮
             auxiliaryOutputWorkingHours.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
-            auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+            auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,count)); // 宸ユ椂
             auxiliaryOutputWorkingHours.setAmount(count); // 闈炲姞鐝暟閲�
         }else{
             // 鍔犵彮
             auxiliaryOutputWorkingHours.setOvertimeOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
-            auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,count))); // 宸ユ椂
+            auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,count)); // 宸ユ椂
             auxiliaryOutputWorkingHours.setOvertimeAmount(count); // 闈炲姞鐝暟閲�
         }
         if(isCross) {
@@ -547,15 +553,15 @@
             String date = LocalDateTime.now().toLocalDate().atStartOfDay().format(formatters);// 褰撳ぉ
             auxiliaryOutputWorkingHours.setDateTime(date); // 鏃ユ湡
         }
-        auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,count))); // 浜у嚭宸ユ椂
+        auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,count)); // 浜у嚭宸ユ椂
         auxiliaryOutputWorkingHours.setWeekDay(insOrderPlanServiceImpl.getWeek(LocalDateTime.now().format(formatters)));//鏄熸湡
         auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
-        auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
+        auxiliaryOutputWorkingHours.setCheckId(userId);//妫�娴嬩汉
         auxiliaryOutputWorkingHours.setSample(insSample.getSampleCode());//鏍峰搧缂栧彿
         auxiliaryOutputWorkingHours.setManHourGroup(workHourMap.getManHourGroup());//宸ユ椂鍒嗙粍
         // 鏌ヨ闇�瑕佹搷浣滅殑鏃ユ湡鏄惁鏈夎褰�
         List<AuxiliaryOutputWorkingHours> oldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
-                .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+                .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
                 .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
                 .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
                 .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -566,7 +572,7 @@
         );
         // 鎵�鏈夌殑璁板綍锛堝叾浠栧ぉ + 褰撳墠澶╋級
         List<AuxiliaryOutputWorkingHours> addOldRecords = auxiliaryOutputWorkingHoursMapper.selectList(Wrappers.<AuxiliaryOutputWorkingHours>lambdaQuery()
-                .eq(AuxiliaryOutputWorkingHours::getCheck,userId)
+                .eq(AuxiliaryOutputWorkingHours::getCheckId,userId)
                 .eq(AuxiliaryOutputWorkingHours::getInspectionItem, "娓╁害寰幆")
                 .eq(AuxiliaryOutputWorkingHours::getInspectionItemSubclass, "")
                 .eq(AuxiliaryOutputWorkingHours::getSample, insSample.getSampleCode())
@@ -588,14 +594,14 @@
                 if(isWithinRange) {
                     // 姝e父涓婄彮
 
-                    auxiliaryOutputWorkingHours.setWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+                    auxiliaryOutputWorkingHours.setWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
                     auxiliaryOutputWorkingHours.setAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
                 }else {
                     // 鍔犵彮
-                    auxiliaryOutputWorkingHours.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 宸ユ椂
+                    auxiliaryOutputWorkingHours.setOvertimeWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 宸ユ椂
                     auxiliaryOutputWorkingHours.setOvertimeAmount((count - otherDayAmount + allValue)); // 闈炲姞鐝暟閲�
                 }
-                auxiliaryOutputWorkingHours.setOutputWorkTime(new BigDecimal(accuracy(manHour,(count - otherDayAmount + allValue)))); // 浜у嚭宸ユ椂
+                auxiliaryOutputWorkingHours.setOutputWorkTime(accuracy(manHour,(count - otherDayAmount + allValue))); // 浜у嚭宸ユ椂
                 auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
             }
         }else {
@@ -616,19 +622,18 @@
                         int num =  Objects.isNull(auxiliaryOutputWorkingHours1.getAmount()) ? 0 :auxiliaryOutputWorkingHours1.getAmount(); // 鍘熸湰鐨勬暟閲�
                         auxiliaryOutputWorkingHours1.setAmount(count - oldAmount + num + allValue); // 闈炲姞鐝暟閲�
                         auxiliaryOutputWorkingHours1.setOrderNo(insOrder.getEntrustCode()); // 闈炲姞鐝鎵樺崟鍙�
-                        auxiliaryOutputWorkingHours1.setWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
-                        BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getAmount())).add((Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getOvertimeWorkTime()));
-                        auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime);// 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+                        auxiliaryOutputWorkingHours1.setWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
+                        auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getAmount()) +
+                                (Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getOvertimeWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
                     }else{
                         // 鍔犵彮
                         // 鎷垮埌鍘熸湰鐨勬暟閲� 涓� 鏂扮殑鏁伴噺鐩稿姞
                         int num =  Objects.isNull(auxiliaryOutputWorkingHours1.getOvertimeAmount()) ? 0 :auxiliaryOutputWorkingHours1.getOvertimeAmount(); // 鍘熸湰鐨勬暟閲�
                         auxiliaryOutputWorkingHours1.setOvertimeAmount(count - oldAmount + num + allValue);// 鍔犵彮鏁伴噺
                         auxiliaryOutputWorkingHours1.setOvertimeOrderNo(insOrder.getEntrustCode()); // 鍔犵彮濮旀墭鍗曞彿
-                        auxiliaryOutputWorkingHours1.setOvertimeWorkTime(new BigDecimal(accuracy(manHour,(count - oldAmount + num + allValue)))); // 宸ユ椂
-                        BigDecimal outputWorkTime = new BigDecimal(accuracy(manHour, auxiliaryOutputWorkingHours1.getOvertimeAmount())).add(
-                                (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? new BigDecimal(0) : auxiliaryOutputWorkingHours1.getWorkTime()));
-                        auxiliaryOutputWorkingHours1.setOutputWorkTime(outputWorkTime); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
+                        auxiliaryOutputWorkingHours1.setOvertimeWorkTime(accuracy(manHour,(count - oldAmount + num + allValue))); // 宸ユ椂
+                        auxiliaryOutputWorkingHours1.setOutputWorkTime(accuracy(manHour,auxiliaryOutputWorkingHours1.getOvertimeAmount()) +
+                                (Objects.isNull(auxiliaryOutputWorkingHours1.getWorkTime()) ? 0 : auxiliaryOutputWorkingHours1.getWorkTime())); // 浜у嚭宸ユ椂 閲囬泦鑲畾鏄細閲囬泦瀹�
                     }
                     auxiliaryOutputWorkingHoursMapper.updateById(auxiliaryOutputWorkingHours1);
                 }
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index ae37bf8..08b58e1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -1029,6 +1029,7 @@
     public List<Map<String, Object>> viewDetails(Map<String, Object> map) {
         List<Map<String, Object>> list = new ArrayList<>();
         String inspectionItem = map.get("inspectionItem").toString(); // 妫�楠岄」
+        String inspectionItemSubclass = map.get("inspectionItemSubclass").toString(); // 妫�楠屽瓙椤�
         if (inspectionItem.equals("鍗曟牴鍨傜洿鐕冪儳")) {
             ArrayList<Integer> numbers = new ArrayList<>();
             InsProduct insProduct = insProductMapper.selectById(Integer.parseInt(map.get("insProductId").toString()));
@@ -1144,10 +1145,9 @@
         } else {
             // 鏉惧绠� 杩囨护鍑烘楠岄」鍚嶇О涓�鑷寸殑鏁版嵁
             List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
-                            .eq(InsProduct::getInsSampleId, Integer.parseInt(map.get("insSampleId").toString())))
-                    .stream()
-                    .filter(item -> item.getInspectionItem().equals(inspectionItem))
-                    .collect(Collectors.toList());
+                    .eq(InsProduct::getInspectionItem, inspectionItem)
+                    .eq(StringUtils.isNotEmpty(inspectionItemSubclass),InsProduct::getInspectionItemSubclass, inspectionItemSubclass)
+                    .eq(InsProduct::getInsSampleId, Integer.parseInt(map.get("insSampleId").toString())));
             for (InsProduct product : productList) {
                 HashMap<String, Object> map2 = new HashMap<>();
                 map2.put("entrustCode", map.get("entrustCode")); // 濮旀墭缂栧彿
@@ -1160,12 +1160,6 @@
                     color = insBushingMapper.selectById(product.getInsBushId()).getColor(); // 濂楃
                 }
                 map2.put("color", color); // 濂楃棰滆壊
-//                InsProductResult result = insProductResultMapper.selectOne(new LambdaQueryWrapper<InsProductResult>()
-//                        .eq(InsProductResult::getInsProductId, product.getId()));
-//                if(!Objects.isNull(result)) {
-//                    List<Map> maps = JSONArray.parseArray(result.getInsValue(), Map.class);
-//                    map2.put("insValue",maps.get(0).get("v").toString()); // 妫�楠岀粨鏋�
-//                }
                 list.add(map2);
             }
         }
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
index 1d96a2c..8c42108 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
@@ -432,11 +432,13 @@
         if(sampleIds.contains(insSample.getId())) {
             list = selectTemperatureByProductId(productId);
         }else {
+            // 灏嗘俯搴﹀惊鐜痠d杩囨护
+            productIds = productIds.stream().filter(item -> !item.equals(productId)).collect(Collectors.toList());
             // 鎾ら攢鐨勬槸妫�楠岄」
-            List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
+           List<InsProduct> productList   = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
                     .eq(InsProduct::getState, 1)
                     .eq(InsProduct::getSpecialItemParentId,productId)
-                    .in(InsProduct::getId, productIds));
+                    .in(CollectionUtils.isNotEmpty(productIds),InsProduct::getId, productIds));
             Map<String, List<InsProduct>> collect = productList.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItem));
             // 鎷垮埌寰幆娆℃暟
             Iterator<Map.Entry<String, List<InsProduct>>> iterator = collect.entrySet().iterator();
@@ -475,12 +477,14 @@
         if(sampleIds.contains(insSample.getId())) {
              list = selectTemperatureNumberByProductId(parentId, inspectionItem);
         }else {
+            // 杩囨护鍑烘俯搴﹀惊鐜殑id
+            productIds = productIds.stream().filter(item -> !item.equals(parentId)).collect(Collectors.toList());
             // 鏌ヨ鎾ら攢鐨勬俯搴︾偣
             List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
                     .eq(InsProduct::getState, 1)
                     .eq(InsProduct::getSpecialItemParentId, parentId)
                     .eq(InsProduct::getInspectionItem, inspectionItem)
-                    .in(InsProduct::getId, productIds));
+                    .in(CollectionUtils.isNotEmpty(productIds),InsProduct::getId, productIds));
             // 鏍规嵁妫�楠屽瓙椤瑰緱鍒版俯搴︾偣
             Map<String, List<InsProduct>> collect = productList.stream().collect(Collectors.groupingBy(InsProduct::getInspectionItemSubclass));
             Iterator<Map.Entry<String, List<InsProduct>>> iterator = collect.entrySet().iterator();
@@ -525,7 +529,16 @@
             List<InsProduct> productList = insProductMapper.selectList(new LambdaQueryWrapper<InsProduct>()
                     .in(InsProduct::getId, productIds));
             if(CollectionUtils.isNotEmpty(productList)) {
-                // 寰楀垽鏂竴涓� 鏄惁鍚湁娓╁害寰幆椤圭洰
+                // 濡傛灉鎾ら攢鐨勯」鐩槸娓╁害寰幆  閭d箞鐩稿簲鐨勫瓙椤归渶瑕佸叏閮ㄦ挙閿�
+                List<InsProduct> collect3 = productList.stream().filter(item -> item.getInspectionItem().equals("娓╁害寰幆")).collect(Collectors.toList());
+                if(CollectionUtils.isNotEmpty(collect3)) {
+                    for (InsProduct a : collect3) {
+                        insProductMapper.update(null,new LambdaUpdateWrapper<InsProduct>()
+                                .set(InsProduct::getState,0)
+                                .eq(InsProduct::getSpecialItemParentId,a.getId()));
+                    }
+                }
+                // 濡傛灉鏄煇涓�涓俯搴� 鏄惁鍚湁娓╁害寰幆瀛愰」
                 List<InsProduct> collect2 = productList.stream().filter(item -> Objects.nonNull(item.getSpecialItemParentId())
                         && NumberUtil.isInteger(item.getInspectionItem())).collect(Collectors.toList());
                 if(CollectionUtils.isNotEmpty(collect2)) {
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
index e7a5ed2..fc78233 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -211,11 +211,12 @@
         insReport.setId(id);
         insReport.setState(1);
         insReport.setWriteTime(LocalDateTime.now());//鎻愪氦鏃堕棿
-        insReport.setWriteUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//鎻愪氦浜�
+        insReport.setWriteUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//鎻愪氦浜�
         //鑾峰彇鎻愪氦浜虹殑绛惧悕鍦板潃
         String signatureUrl;
         try {
-            signatureUrl = userMapper.selectById(Integer.getInteger(SecurityUtils.getUserId().toString())).getSignatureUrl();
+            Integer i = Integer.parseInt(SecurityUtils.getUserId().toString());
+            signatureUrl = userMapper.selectById(i).getSignatureUrl();
         } catch (Exception e) {
             throw new ErrorException("鎵句笉鍒扮紪鍒朵汉鐨勭鍚�");
         }
@@ -240,7 +241,7 @@
         if (ObjectUtils.isNotEmpty(examineTell)) {
             insReport.setExamineTell(examineTell);
         }
-        insReport.setExamineUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//瀹℃牳浜�
+        insReport.setExamineUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//瀹℃牳浜�
         insReport.setExamineTime(LocalDateTime.now());//瀹℃牳鏃堕棿
         if (isExamine == 0) {
             //濡傛灉瀹℃牳涓嶉�氳繃
@@ -276,7 +277,7 @@
         if (ObjectUtils.isNotEmpty(ratifyTell)) {
             insReport.setRatifyTell(ratifyTell);
         }
-        insReport.setRatifyUserId(Integer.getInteger(SecurityUtils.getUserId().toString()));//鎵瑰噯浜�
+        insReport.setRatifyUserId(Integer.parseInt(SecurityUtils.getUserId().toString()));//鎵瑰噯浜�
         insReport.setRatifyTime(LocalDateTime.now());//鎵瑰噯鏃堕棿
         if (isRatify == 0) {
             //濡傛灉鎵瑰噯涓嶉�氳繃
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
index 290e0f2..80cb612 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryCorrectionHoursController.java
@@ -35,7 +35,7 @@
     AuxiliaryCorrectionHoursService auxiliaryCorrectionHoursService;
 
     @ApiOperation(value = "鏌ヨ淇宸ユ椂")
-    @PostMapping("/selectAuxiliaryCorrectionHours")
+    @GetMapping("/selectAuxiliaryCorrectionHours")
     public Result selectAuxiliaryCorrectionHours(Page page,AuxiliaryCorrectionHoursDto entity) throws Exception {
         return Result.success(auxiliaryCorrectionHoursService.selectAuxiliaryCorrectionHours(page, entity));
     }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
index e70636c..c3f03e6 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOriginalHoursController.java
@@ -24,21 +24,20 @@
     @Resource
     AuxiliaryOriginalHoursService auxiliaryOriginalHoursService;
 
-    @ApiOperation(value = "鏌ヨ鍘熷宸ユ椂")
-    @PostMapping("/selectAuxiliaryOriginalHours")
+    @ApiOperation(value = "宸ユ椂缁熻-鏌ョ湅鍘熷宸ユ椂鍒楄〃")
+    @GetMapping("/selectAuxiliaryOriginalHours")
     public Result selectAuxiliaryOriginalHours(Page page, AuxiliaryOriginalHoursLookDto entity) throws Exception {
         return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryOriginalHours(page, entity));
     }
 
-    @ApiOperation(value = "瀵煎嚭鍘熷宸ユ椂")
+    @ApiOperation(value = "宸ユ椂缁熻-瀵煎嚭鍘熷宸ユ椂")
     @PostMapping("/exportOriginalHours")
-    public void exportOriginalHours(@RequestParam("month") String month,  @RequestParam("name") String name,  @RequestParam("departLims") String departLims,HttpServletResponse response) throws IOException {
-        auxiliaryOriginalHoursService.exportWorkingHours(month,name,departLims,response);
-    }
-
-    @ApiOperation(value = "鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂")
-    @PostMapping("/selectAuxiliaryAllByMonth")
-    public Result selectAuxiliaryAllByMonth(@RequestBody AuxiliaryOriginalHoursLookDto dto){
-        return Result.success(auxiliaryOriginalHoursService.selectAuxiliaryAllByMonth(dto));
+    public void exportOriginalHours(
+            Page page,
+            @RequestParam("month") String month,
+            @RequestParam(value = "name",required = false) String name,
+            @RequestParam(value = "departLims",required = false) String departLims,
+            HttpServletResponse response) throws IOException {
+        auxiliaryOriginalHoursService.exportWorkingHours(page,month,name,departLims,response);
     }
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
index 5fb7d13..3158c0d 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryOutputWorkingHoursController.java
@@ -1,5 +1,4 @@
 package com.ruoyi.performance.controller;
-
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.utils.JackSonUtil;
@@ -32,8 +31,8 @@
     @Resource
     private AuxiliaryOutputWorkingHoursService auxiliaryOutputWorkingHoursService;
 
-    @ApiOperation(value = "鏌ヨ浜ч噺宸ユ椂")
-    @PostMapping("/selectAuxiliaryOutputWorkingHours")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鏌ョ湅浜ч噺宸ユ椂鍒楄〃")
+    @GetMapping("/selectAuxiliaryOutputWorkingHours")
     public Result selectAuxiliaryOutputWorkingHours(Page page,AuxiliaryOutputWorkingHoursDto entity) throws Exception {
         return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity));
     }
@@ -45,8 +44,7 @@
         return Result.success(auxiliaryOutputWorkingHoursService.collectWorkingHours(entity));
     }
 
-
-    @ApiOperation(value = "瀵煎嚭浜ч噺宸ユ椂+杈呭姪宸ユ椂")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-瀵煎嚭")
     @GetMapping("/exportWorkingHours")
     public void exportWorkingHours(HttpServletResponse response) throws IOException {
         auxiliaryOutputWorkingHoursService.exportWorkingHours(response);
@@ -56,19 +54,6 @@
     @PostMapping("/leader")
     public Result leader() {
         return Result.success();
-    }
-
-
-    /**
-     * 瀵煎嚭浜ч噺宸ユ椂
-     * @param response
-     * @throws IOException
-     */
-    @ApiOperation(value = "瀵煎嚭浜ч噺宸ユ椂")
-    @PostMapping("/exportOutputHours")
-    public void exportOutputHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
-        AuxiliaryOutputWorkingHoursDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryOutputWorkingHoursDto.class);
-        auxiliaryOutputWorkingHoursService.exportOutputHours(entity, response);
     }
 
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
index bab8fc7..3eba06e 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursController.java
@@ -2,16 +2,14 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.core.dto.UserPageDto;
 import com.ruoyi.common.utils.JackSonUtil;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
 import com.ruoyi.performance.service.AuxiliaryWorkingHoursService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.Map;
@@ -33,27 +31,28 @@
     private AuxiliaryWorkingHoursService auxiliaryWorkingHoursService;
 
     @ApiOperation(value="鏌ヨ杈呭姪宸ユ椂")
-    @PostMapping("/selectAuxiliaryWorkingHours")
+    @GetMapping("/selectAuxiliaryWorkingHours")
     public Result selectAuxiliaryWorkingHours(Page page,AuxiliaryWorkingHours entity) throws Exception {
         return Result.success(auxiliaryWorkingHoursService.selectAuxiliaryWorkingHours(page,entity));
     }
 
-    @ApiOperation(value="鍒犻櫎杈呭姪宸ユ椂")
+    @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-鍒犻櫎")
     @PostMapping("/deleteAuxiliaryWorkingHours")
     public Result deleteAuxiliaryWorkingHours(Integer id){
         return Result.success(auxiliaryWorkingHoursService.deleteAuxiliaryWorkingHours(id));
     }
-
-    @ApiOperation(value="淇敼杈呭姪宸ユ椂")
+    @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-缂栬緫")
     @PostMapping("/upAuxiliaryWorkingHours")
     public Result upAuxiliaryWorkingHours(@RequestBody AuxiliaryWorkingHours auxiliaryWorkingHours){
         return Result.success(auxiliaryWorkingHoursService.upAuxiliaryWorkingHours(auxiliaryWorkingHours));
     }
-
-    @ApiOperation(value="鏂板杈呭姪宸ユ椂")
+    @ApiOperation(value="杈呭姪宸ユ椂閰嶇疆-鏂板")
     @PostMapping("/insertAuxiliaryWorkingHours")
     public  Result insertAuxiliaryWorkingHours(@RequestBody AuxiliaryWorkingHours auxiliaryWorkingHours){
         return Result.success(auxiliaryWorkingHoursService.insertAuxiliaryWorkingHours(auxiliaryWorkingHours));
     }
 
+
+
+
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
index 97b0a81..ae686db 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/AuxiliaryWorkingHoursDayController.java
@@ -10,15 +10,11 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.time.LocalDateTime;
+
 import java.util.Map;
 
 /**
@@ -38,64 +34,52 @@
     @Resource
     private AuxiliaryWorkingHoursDayService auxiliaryWorkingHoursDayService;
 
-    @ApiOperation(value = "鏌ヨ宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
-    @PostMapping("/selectAuxiliaryWorkingHoursDay")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鏌ョ湅杈呭姪宸ユ椂鍒楄〃")
+    @GetMapping("/selectAuxiliaryWorkingHoursDay")
     public Result selectAuxiliaryWorkingHoursDay(Page page,AuxiliaryWorkingHoursDayDto entity) throws Exception {
         return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity));
     }
 
     @ApiOperation(value = "鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅")
-    @PostMapping("/selectAuxiliaryWorkingHoursByNumber")
+    @GetMapping("/selectAuxiliaryWorkingHoursByNumber")
     public Result selectAuxiliaryWorkingHoursByNumber(String number) {
         return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber(number));
     }
 
     @ApiOperation(value = "鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�")
-    @PostMapping("/selectshiftByUser")
+    @GetMapping("/selectshiftByUser")
     public Result selectshiftByUser(LocalDateTime dateTime) {
         return Result.success(auxiliaryWorkingHoursDayService.selectshiftByUser(dateTime));
     }
 
-    @ApiOperation(value = "褰曞叆鏁版嵁(宸ユ椂缁熻鐨勮緟鍔╁伐鏃�)")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-褰曞叆杈呭姪宸ユ椂")
     @PostMapping("/insertAuxiliaryWorkingHoursDay")
     public Result insertAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
         return Result.success(auxiliaryWorkingHoursDayService.insertAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
     }
 
-    @ApiOperation(value = "鎵瑰噯宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鎵瑰噯杈呭姪宸ユ椂")
     @PostMapping("/approve")
     public Result approve(@RequestBody HoursDay hoursDay ) {
         return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(hoursDay));
     }
 
-    @ApiOperation(value = "瀹℃牳宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-瀹℃牳杈呭姪宸ユ椂")
     @PostMapping("/check")
     public Result check(@RequestBody HoursDay hoursDay ) {
         return Result.success(auxiliaryWorkingHoursDayService.checkOrApprove(hoursDay));
     }
 
-    @ApiOperation(value = "缂栬緫宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-缂栬緫杈呭姪宸ユ椂")
     @PostMapping("/updateAuxiliaryWorkingHoursDay")
     public Result updateAuxiliaryWorkingHoursDay(@RequestBody AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
         return Result.success(auxiliaryWorkingHoursDayService.updateAuxiliaryWorkingHoursDay(auxiliaryWorkingHoursDay));
     }
 
-    @ApiOperation(value = "鍒犻櫎宸ユ椂缁熻鐨勮緟鍔╁伐鏃�")
+    @ApiOperation(value = "鏃ュ伐鏃剁鐞�-鍒犻櫎杈呭姪宸ユ椂")
     @PostMapping("/deleteAuxiliaryWorkingHoursDay")
     public Result deleteAuxiliaryWorkingHoursDay(Integer id) {
         return Result.success(auxiliaryWorkingHoursDayService.deleteAuxiliaryWorkingHoursDay(id));
-    }
-
-    /**
-     * 瀵煎嚭杈呭姪宸ユ椂
-     * @param response
-     * @throws IOException
-     */
-    @ApiOperation(value = "瀵煎嚭杈呭姪宸ユ椂")
-    @PostMapping("/exportAssistantHours")
-    public void exportAssistantHours(@RequestBody Map<String, Object> data, HttpServletResponse response) throws Exception {
-        AuxiliaryWorkingHoursDayDto entity = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), AuxiliaryWorkingHoursDayDto.class);
-        auxiliaryWorkingHoursDayService.exportWorkingHours(entity, response);
     }
 
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index 26b0197..04d1c08 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -115,7 +115,8 @@
     @ApiOperation("鐝:鏌ヨ浜哄憳鍒楄〃")
     @GetMapping("/getUserList")
     public Result<?> getUserList(){
-        return Result.success(performanceShiftService.getUserList());
+        Map<String, List<Map<String, Object>>> userList = performanceShiftService.getUserList();
+        return Result.success(userList);
     }
 
 
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
index e037f05..8b89fb4 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOriginalHoursDto.java
@@ -2,13 +2,20 @@
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours;
+import com.ruoyi.performance.utils.CustomerDoubleSerialize;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
 import lombok.Data;
-
-import java.math.BigDecimal;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ToString
+
 //鍘熷宸ユ椂
 public class AuxiliaryOriginalHoursDto {
 
@@ -17,6 +24,7 @@
     private String name;
 
     //淇宸ユ椂
+    @ExcelIgnore
     private AuxiliaryCorrectionHours auxiliaryCorrectionHours;
 
     @ApiModelProperty("绫诲瀷")
@@ -25,224 +33,256 @@
 
     @ApiModelProperty("1鏃ュ伐鏃�")
     @ExcelProperty(value = "1鏃�")
-    private BigDecimal oneHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double oneHours;
 
     @ExcelIgnore
     private Integer one;
 
     @ApiModelProperty("2鏃ュ伐鏃�")
     @ExcelProperty(value = "2鏃�")
-    private BigDecimal twoHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twoHours;
 
     @ExcelIgnore
     private Integer  two;
 
     @ApiModelProperty("3鏃ュ伐鏃�")
     @ExcelProperty(value = "3鏃�")
-    private BigDecimal threeHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double threeHours;
 
     @ExcelIgnore
     private Integer three;
 
     @ApiModelProperty("4鏃ュ伐鏃�")
     @ExcelProperty(value = "4鏃�")
-    private BigDecimal fourHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double fourHours;
 
     @ExcelIgnore
     private Integer four;
 
     @ApiModelProperty("5鏃ュ伐鏃�")
     @ExcelProperty(value = "5鏃�")
-    private BigDecimal fiveHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double fiveHours;
 
     @ExcelIgnore
     private Integer  five;
 
     @ApiModelProperty("6鏃ュ伐鏃�")
     @ExcelProperty(value = "6鏃�")
-    private BigDecimal sixHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double sixHours;
 
     @ExcelIgnore
     private Integer six;
 
     @ApiModelProperty("7鏃ュ伐鏃�")
     @ExcelProperty(value = "7鏃�")
-    private BigDecimal sevenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double sevenHours;
 
     @ExcelIgnore
     private Integer seven;
 
     @ApiModelProperty("8鏃ュ伐鏃�")
     @ExcelProperty(value = "8鏃�")
-    private BigDecimal eightHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double eightHours;
 
     @ExcelIgnore
     private Integer eight;
 
     @ApiModelProperty("9鏃ュ伐鏃�")
     @ExcelProperty(value = "9鏃�")
-    private BigDecimal nineHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double nineHours;
 
     @ExcelIgnore
     private Integer nine;
 
     @ApiModelProperty("10鏃ュ伐鏃�")
     @ExcelProperty(value = "10鏃�")
-    private BigDecimal tenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double tenHours;
 
     @ExcelIgnore
     private Integer ten;
 
     @ApiModelProperty("11鏃ュ伐鏃�")
     @ExcelProperty(value = "11鏃�")
-    private BigDecimal elevenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double elevenHours;
 
     @ExcelIgnore
     private Integer eleven;
 
     @ApiModelProperty("12鏃ュ伐鏃�")
     @ExcelProperty(value = "12鏃�")
-    private BigDecimal twelveHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twelveHours;
 
     @ExcelIgnore
     private Integer twelve;
 
     @ApiModelProperty("13鏃ュ伐鏃�")
     @ExcelProperty(value = "13鏃�")
-    private BigDecimal thirteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double thirteenHours;
 
     @ExcelIgnore
     private Integer thirteen;
 
     @ApiModelProperty("14鏃ュ伐鏃�")
     @ExcelProperty(value = "14鏃�")
-    private BigDecimal fourteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double fourteenHours;
 
     @ExcelIgnore
     private Integer fourteen;
 
     @ApiModelProperty("15鏃ュ伐鏃�")
     @ExcelProperty(value = "15鏃�")
-    private BigDecimal fifteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double fifteenHours;
 
     @ExcelIgnore
     private Integer fifteen;
 
     @ApiModelProperty("16鏃ュ伐鏃�")
     @ExcelProperty(value = "16鏃�")
-    private BigDecimal sixteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double sixteenHours;
 
     @ExcelIgnore
     private Integer sixteen;
 
     @ApiModelProperty("17鏃ュ伐鏃�")
     @ExcelProperty(value = "17鏃�")
-    private BigDecimal seventeenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double seventeenHours;
 
     @ExcelIgnore
     private Integer seventeen;
 
     @ApiModelProperty("18鏃ュ伐鏃�")
     @ExcelProperty(value = "18鏃�")
-    private BigDecimal eighteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double eighteenHours;
 
     @ExcelIgnore
     private Integer eighteen;
 
     @ApiModelProperty("19鏃ュ伐鏃�")
     @ExcelProperty(value = "19鏃�")
-    private BigDecimal nineteenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double nineteenHours;
 
     @ExcelIgnore
     private Integer nineteen;
 
     @ApiModelProperty("20鏃ュ伐鏃�")
     @ExcelProperty(value = "20鏃�")
-    private BigDecimal twentyHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyHours;
 
     @ExcelIgnore
     private Integer twenty;
 
     @ApiModelProperty("21鏃ュ伐鏃�")
     @ExcelProperty(value = "21鏃�")
-    private BigDecimal twentyOneHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyOneHours;
 
     @ExcelIgnore
     private Integer twentyOne;
 
     @ApiModelProperty("22鏃ュ伐鏃�")
     @ExcelProperty(value = "22鏃�")
-    private BigDecimal twentyTwoHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyTwoHours;
 
     @ExcelIgnore
     private Integer twentyTwo;
 
     @ApiModelProperty("23鏃ュ伐鏃�")
     @ExcelProperty(value = "23鏃�")
-    private BigDecimal twentyThreeHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyThreeHours;
 
     @ExcelIgnore
     private Integer twentyThree;
 
     @ApiModelProperty("24鏃ュ伐鏃�")
     @ExcelProperty(value = "24鏃�")
-    private BigDecimal twentyFourHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyFourHours;
 
     @ExcelIgnore
     private Integer twentyFour;
 
     @ApiModelProperty("25鏃ュ伐鏃�")
     @ExcelProperty(value = "25鏃�")
-    private BigDecimal twentyFiveHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyFiveHours;
 
     @ExcelIgnore
     private Integer twentyFive;
 
     @ApiModelProperty("26鏃ュ伐鏃�")
     @ExcelProperty(value = "26鏃�")
-    private BigDecimal twentySixHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentySixHours;
 
     @ExcelIgnore
     private Integer twentySix;
 
     @ApiModelProperty("27鏃ュ伐鏃�")
     @ExcelProperty(value = "27鏃�")
-    private BigDecimal twentySevenHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentySevenHours;
 
     @ExcelIgnore
     private Integer twentySeven;
 
     @ApiModelProperty("28鏃ュ伐鏃�")
     @ExcelProperty(value = "28鏃�")
-    private BigDecimal twentyEightHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyEightHours;
 
     @ExcelIgnore
     private Integer  twentyEight;
 
     @ApiModelProperty("29鏃ュ伐鏃�")
     @ExcelProperty(value = "29鏃�")
-    private BigDecimal twentyNineHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double twentyNineHours;
 
     @ExcelIgnore
     private Integer  twentyNine;
 
     @ApiModelProperty("30鏃ュ伐鏃�")
     @ExcelProperty(value = "30鏃�")
-    private BigDecimal thirtyHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double thirtyHours;
 
     @ExcelIgnore
     private Integer thirty;
 
     @ApiModelProperty("31鏃ュ伐鏃�")
     @ExcelProperty(value = "31鏃�")
-    private BigDecimal thirtyOneHours;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double thirtyOneHours;
 
     @ExcelIgnore
     private Integer thirtyOne;
 
     @ApiModelProperty("鎬诲伐鏃�")
     @ExcelProperty(value = "鎬诲伐鏃�")
-    private BigDecimal total;
+    @JsonSerialize(using = CustomerDoubleSerialize.class)
+    private Double total;
 
     @ApiModelProperty("鏈堜唤")
     @ExcelProperty(value = "鏈堜唤")
diff --git a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
index 0b5699a..acee277 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/dto/AuxiliaryOutputWorkingHoursDto.java
@@ -11,9 +11,10 @@
 public class AuxiliaryOutputWorkingHoursDto extends AuxiliaryOutputWorkingHours {
 
     @ApiModelProperty("妫�娴嬩汉")
-    @ExcelProperty(index = 1, value = "妫�娴嬩汉")
+    @ExcelProperty(value = "妫�娴嬩汉")
     private String name;
 
-    @ApiModelProperty("鐢电紗鏍囪瘑")
-    private String cableTag;
+
+    // 鐘舵�� 宸叉彁浜� 宸插鏍� 宸叉壒鍑�
+    private String state;
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
index 15afc60..084e040 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/mapper/AuxiliaryOutputWorkingHoursMapper.java
@@ -4,11 +4,11 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
-import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
+
 import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
 import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
 import org.apache.ibatis.annotations.Param;
+
 
 import java.util.List;
 import java.util.Map;
@@ -35,21 +35,4 @@
     List<AuxiliaryOutputWorkingHours> selectListByIds(@Param("ids") List<Integer> ids);
 
     List<AuxiliaryOutputWorkingHours> selectLists(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHours> ew, @Param("ids") List<Integer> ids);
-
-    /**
-     * 鏌ヨ
-     * @param dto
-     * @return
-     */
-    List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds);
-
-    /**
-     * 鏌ヨ杈呭姪宸ユ椂
-     * @param dto
-     * @param userIds
-     * @return
-     */
-    List<AuxiliaryAllDto> selectSubsidiaryAllByMonth(@Param("dto") AuxiliaryOriginalHoursLookDto dto, @Param("userIds") List<Integer> userIds);
-
-    List<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHoursList(@Param("ew") QueryWrapper<AuxiliaryOutputWorkingHoursDto> ew, @Param("ids") List<Integer> ids);
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
index e786968..a9557c6 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryCorrectionHours.java
@@ -1,15 +1,18 @@
 package com.ruoyi.performance.pojo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
 
 /**
  * <p>
@@ -23,7 +26,7 @@
 @Setter
 @TableName("auxiliary_correction_hours")
 @ApiModel(value = "AuxiliaryCorrectionHours瀵硅薄", description = "宸ユ椂缁熻鐨勪慨姝e伐鏃�")
-public class AuxiliaryCorrectionHours  implements Serializable {
+public class AuxiliaryCorrectionHours   implements Serializable {
 
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
@@ -37,127 +40,127 @@
 
     @ApiModelProperty("1")
     @ExcelProperty(value = "1鏃�")
-    private BigDecimal oneHours;
+    private Double oneHours;
 
     @ApiModelProperty("2")
     @ExcelProperty(value = "2鏃�")
-    private BigDecimal twoHours;
+    private Double twoHours;
 
     @ApiModelProperty("3")
     @ExcelProperty(value = "3鏃�")
-    private BigDecimal threeHours;
+    private Double threeHours;
 
     @ApiModelProperty("4")
     @ExcelProperty(value = "4鏃�")
-    private BigDecimal fourHours;
+    private Double fourHours;
 
     @ApiModelProperty("5")
     @ExcelProperty(value = "5鏃�")
-    private BigDecimal fiveHours;
+    private Double fiveHours;
 
     @ApiModelProperty("6")
     @ExcelProperty(value = "6鏃�")
-    private BigDecimal sixHours;
+    private Double sixHours;
 
     @ApiModelProperty("7")
     @ExcelProperty(value = "7鏃�")
-    private BigDecimal sevenHours;
+    private Double sevenHours;
 
     @ApiModelProperty("8")
     @ExcelProperty(value = "8鏃�")
-    private BigDecimal eightHours;
+    private Double eightHours;
 
     @ApiModelProperty("9")
     @ExcelProperty(value = "9鏃�")
-    private BigDecimal nineHours;
+    private Double nineHours;
 
     @ApiModelProperty("10")
     @ExcelProperty(value = "10鏃�")
-    private BigDecimal tenHours;
+    private Double tenHours;
 
     @ApiModelProperty("11")
     @ExcelProperty(value = "11鏃�")
-    private BigDecimal elevenHours;
+    private Double elevenHours;
 
     @ApiModelProperty("12")
     @ExcelProperty(value = "12鏃�")
-    private BigDecimal twelveHours;
+    private Double twelveHours;
 
     @ApiModelProperty("13")
     @ExcelProperty(value = "13鏃�")
-    private BigDecimal thirteenHours;
+    private Double thirteenHours;
 
     @ApiModelProperty("14")
     @ExcelProperty(value = "14鏃�")
-    private BigDecimal fourteenHours;
+    private Double fourteenHours;
 
     @ApiModelProperty("15")
     @ExcelProperty(value = "15鏃�")
-    private BigDecimal fifteenHours;
+    private Double fifteenHours;
 
     @ApiModelProperty("16")
     @ExcelProperty(value = "16鏃�")
-    private BigDecimal sixteenHours;
+    private Double sixteenHours;
 
     @ApiModelProperty("17")
     @ExcelProperty(value = "17鏃�")
-    private BigDecimal seventeenHours;
+    private Double seventeenHours;
 
     @ApiModelProperty("18")
     @ExcelProperty(value = "18鏃�")
-    private BigDecimal eighteenHours;
+    private Double eighteenHours;
 
     @ApiModelProperty("19")
     @ExcelProperty(value = "19鏃�")
-    private BigDecimal nineteenHours;
+    private Double nineteenHours;
 
     @ApiModelProperty("20")
     @ExcelProperty(value = "20鏃�")
-    private BigDecimal twentyHours;
+    private Double twentyHours;
 
     @ApiModelProperty("21")
     @ExcelProperty(value = "21鏃�")
-    private BigDecimal twentyOneHours;
+    private Double twentyOneHours;
 
     @ApiModelProperty("22")
     @ExcelProperty(value = "22鏃�")
-    private BigDecimal twentyTwoHours;
+    private Double twentyTwoHours;
 
     @ApiModelProperty("23")
     @ExcelProperty(value = "23鏃�")
-    private BigDecimal twentyThreeHours;
+    private Double twentyThreeHours;
 
     @ApiModelProperty("24")
     @ExcelProperty(value = "24鏃�")
-    private BigDecimal twentyFourHours;
+    private Double twentyFourHours;
 
     @ApiModelProperty("25")
     @ExcelProperty(value = "25鏃�")
-    private BigDecimal twentyFiveHours;
+    private Double twentyFiveHours;
 
     @ApiModelProperty("26")
     @ExcelProperty(value = "26鏃�")
-    private BigDecimal twentySixHours;
+    private Double twentySixHours;
 
     @ApiModelProperty("27")
     @ExcelProperty(value = "27鏃�")
-    private BigDecimal twentySevenHours;
+    private Double twentySevenHours;
 
     @ApiModelProperty("28")
     @ExcelProperty(value = "28鏃�")
-    private BigDecimal twentyEightHours;
+    private Double twentyEightHours;
 
     @ApiModelProperty("29")
     @ExcelProperty(value = "29鏃�")
-    private BigDecimal twentyNineHours;
+    private Double twentyNineHours;
 
     @ApiModelProperty("30")
     @ExcelProperty(value = "30鏃�")
-    private BigDecimal thirtyHours;
+    private Double thirtyHours;
 
     @ApiModelProperty("31")
     @ExcelProperty(value = "31鏃�")
-    private BigDecimal thirtyOneHours;
+    private Double thirtyOneHours;
 
     @ApiModelProperty("鏈堜唤")
     @ExcelProperty(value = "鏈堜唤")
diff --git a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
index 45fecbe..1116849 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/pojo/AuxiliaryOutputWorkingHours.java
@@ -1,16 +1,17 @@
 package com.ruoyi.performance.pojo;
 
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
+
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import lombok.ToString;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -25,99 +26,92 @@
 @Setter
 @TableName("auxiliary_output_working_hours")
 @ApiModel(value = "AuxiliaryOutputWorkingHours瀵硅薄", description = "鏃ュ伐鏃剁鐞嗙殑浜ч噺宸ユ椂")
-@ExcelIgnoreUnannotated
+@ToString
 public class AuxiliaryOutputWorkingHours  implements Serializable {
 
     @TableId(value = "id", type = IdType.AUTO)
+    @ExcelIgnore
     private Integer id;
 
-    @ApiModelProperty("妫�娴嬮」鍒嗙被")
-    @ExcelProperty(index = 2, value = "妫�娴嬮」鍒嗙被")
-    private String inspectionItemClass;
-
-    @ApiModelProperty("妫�娴嬮」")
-    @ExcelProperty(index = 3, value = "妫�娴嬮」")
+    @ApiModelProperty("妫�娴嬬埗椤�")
+    @ExcelProperty(value = "妫�娴嬬埗椤�")
     private String inspectionItem;
 
     @ApiModelProperty("妫�娴嬪瓙椤�")
-    @ExcelProperty(index = 4, value = "妫�娴嬪瓙椤�")
+    @ExcelProperty(value = "妫�娴嬪瓙椤�")
     private String inspectionItemSubclass;
 
-    @ApiModelProperty("鏍峰搧id")
-    private Integer sampleId;
-
     @ApiModelProperty("鏍峰搧缂栧彿")
-    @ExcelProperty(index = 6, value = "鏍峰搧缂栧彿")
+    @ExcelProperty(value = "鏍峰搧缂栧彿")
     private String sample;
 
     @ApiModelProperty("鍔犵彮濮旀墭鍗曞彿")
+    @ExcelProperty(value = "鍔犵彮濮旀墭鍗曞彿")
     private String overtimeOrderNo;
 
     @ApiModelProperty("鍔犵彮宸ユ椂")
-    private BigDecimal overtimeWorkTime;
+    @ExcelProperty(value = "鍔犵彮宸ユ椂")
+    private Double overtimeWorkTime;
 
     @ApiModelProperty("鍔犵彮鏁伴噺")
+    @ExcelProperty(value = "鍔犵彮鏁伴噺")
     private Integer overtimeAmount;
 
     @ApiModelProperty("闈炲姞鐝鎵樺崟鍙�")
-    private Integer orderId;
-
-    @ApiModelProperty("濮旀墭鍗曞彿")
-    @ExcelProperty(index = 5, value = "濮旀墭鍗曞彿")
+    @ExcelProperty(value = "闈炲姞鐝鎵樺崟鍙�")
     private String orderNo;
 
-    @ApiModelProperty("宸ユ椂")
-    private BigDecimal workTime;
+    @ApiModelProperty("闈炲姞鐝伐鏃�")
+    @ExcelProperty(value = "闈炲姞鐝伐鏃�")
+    private Double workTime;
 
-    @ApiModelProperty("鏁伴噺")
+    @ApiModelProperty("闈炲姞鐝暟閲�")
+    @ExcelProperty(value = "闈炲姞鐝暟閲�")
     private Integer amount;
 
     @ApiModelProperty("浜ч噺宸ユ椂")
-    @ExcelProperty(index = 7, value = "浜ч噺宸ユ椂")
-    private BigDecimal outputWorkTime;
+    @ExcelProperty(value = "浜ч噺宸ユ椂")
+    private Double outputWorkTime;
 
     @ApiModelProperty("鏃ユ湡")
-    @ExcelProperty(index = 10, value = "鏃ユ湡")
+    @ExcelProperty(value = "鏃ユ湡")
     private String dateTime;
 
     @ApiModelProperty("鍛ㄦ")
-    @ExcelProperty(index = 11, value = "鍛ㄦ")
+    @ExcelProperty(value = "鍛ㄦ")
     private String week;
 
     @ApiModelProperty("鏄熸湡")
-    @ExcelProperty(index = 12, value = "鏄熸湡")
+    @ExcelProperty(value = "鏄熸湡")
     private String weekDay;
 
     @ApiModelProperty("妫�娴嬩汉id")
-    @TableField("`check`")
-    private Integer check;
+    @ExcelIgnore
+    private Integer checkId;
 
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelIgnore
     private LocalDateTime createTime;
 
     @ApiModelProperty("淇敼鏃堕棿")
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelIgnore
     private LocalDateTime updateTime;
 
     @ApiModelProperty("鍒涘缓浜篿d")
     @TableField(fill = FieldFill.INSERT)
+    @ExcelIgnore
     private Integer createUser;
 
     @ApiModelProperty("淇敼浜篿d")
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ExcelIgnore
     private Integer updateUser;
 
     @ApiModelProperty("宸ユ椂鍒嗙粍")
-    @ExcelProperty(index = 8, value = "宸ユ椂鍒嗙粍")
+    @ExcelIgnore
     private String manHourGroup;
-
-    @ApiModelProperty("鍗曚环")
-    @ExcelProperty(index = 9, value = "鍗曚环")
-    private BigDecimal price;
-
-    @ApiModelProperty("妫�楠岄」id")
-    private Integer insProductId;
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
index 05dd08c..7623701 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOriginalHoursService.java
@@ -2,13 +2,10 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.performance.dto.AuxiliaryAllDto;
 import com.ruoyi.performance.dto.AuxiliaryOriginalHoursDto;
 import com.ruoyi.performance.dto.AuxiliaryOriginalHoursLookDto;
-
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.List;
 import java.util.Map;
 
 public interface AuxiliaryOriginalHoursService {
@@ -20,11 +17,5 @@
      *
      * @param response
      */
-    void exportWorkingHours(String month, String name, String departLims,HttpServletResponse response) throws IOException;
-
-    /**
-     * 鏌ヨ鏈堜唤鍏ㄩ儴宸ユ椂
-     * @return
-     */
-    List<AuxiliaryAllDto> selectAuxiliaryAllByMonth(AuxiliaryOriginalHoursLookDto dto);
+    void exportWorkingHours(Page page,String month, String name, String departLims,HttpServletResponse response) throws IOException;
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
index c3f4818..57907fe 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryOutputWorkingHoursService.java
@@ -1,10 +1,12 @@
 package com.ruoyi.performance.service;
 
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
 import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours;
+
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -34,11 +36,4 @@
      * @throws IOException
      */
     void exportWorkingHours(HttpServletResponse response)throws IOException;
-
-    /**
-     * 瀵煎嚭浜ч噺宸ユ椂
-     * @param entity
-     * @param response
-     */
-    void exportOutputHours(AuxiliaryOutputWorkingHoursDto entity, HttpServletResponse response);
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
index 5c04cff..090693c 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursDayService.java
@@ -7,7 +7,7 @@
 import com.ruoyi.performance.dto.HoursDay;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay;
 
-import javax.servlet.http.HttpServletResponse;
+
 import java.time.LocalDateTime;
 import java.util.Map;
 
@@ -34,11 +34,4 @@
     int deleteAuxiliaryWorkingHoursDay(Integer id);
 
     String selectshiftByUser(LocalDateTime dateTime);
-
-    /**
-     * 瀵煎嚭杈呭姪宸ユ椂
-     * @param entity
-     * @param response
-     */
-    void exportWorkingHours(AuxiliaryWorkingHoursDayDto entity, HttpServletResponse response);
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
index d8a6000..1d2875d 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/AuxiliaryWorkingHoursService.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.UserPageDto;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
 
 import java.util.Map;
@@ -23,4 +25,5 @@
     int upAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
 
     int insertAuxiliaryWorkingHours(AuxiliaryWorkingHours auxiliaryWorkingHours);
+
 }
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);
             }
         }
-
     }
 }
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
index d8974a9..e79587e 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -4,13 +4,18 @@
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto;
 import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
 import com.ruoyi.performance.mapper.AuxiliaryOutputWorkingHoursMapper;
@@ -27,10 +32,7 @@
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -53,118 +55,184 @@
     @Resource
     UserMapper userMapper;
 
+
     @Override
     public IPage<AuxiliaryOutputWorkingHoursDto> selectAuxiliaryOutputWorkingHours(Page page, AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
+        auxiliaryOutputWorkingHoursDto.setWeekDay(weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay() : ""));
         String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
         String week = auxiliaryOutputWorkingHoursDto.getWeek();
         auxiliaryOutputWorkingHoursDto.setDateTime(null);
         auxiliaryOutputWorkingHoursDto.setWeek(null);
+        Map<String, Object> map = new HashMap<>();
         List<Integer> ids = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids = null;
-        }
+        //鍒ゆ柇缁勯暱,缁勫憳,绠$悊鍛樻潈闄�
+        User user = userMapper.selectById(Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString()));
+
+        IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = null;
         if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+             auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                     QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                             .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
         } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                     QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                             .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
         } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+             auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                     QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
+            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
         } else {
-            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
+            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
             for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0,10));
             }
-            return auxiliaryOutputWorkingHoursDtoIPage ;
         }
+        return auxiliaryOutputWorkingHoursDtoIPage;
     }
 
-    //缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��
-    @Override
-    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto) {
-        AuxiliaryOutputWorkingHours outputWorkingHours = new AuxiliaryOutputWorkingHours();
-        AuxiliaryWorkingHoursDay workingHoursDay = new AuxiliaryWorkingHoursDay();
-        List<Integer> ids = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
-            outputWorkingHours.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
-            workingHoursDay.setWeekDay(auxiliaryOutputWorkingHoursDto.getWeekDay());
-        }
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName())){
-            List<User> user = userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
-            ids.addAll(user.stream().map(User::getId).collect(Collectors.toList()));
-        }
-        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
-        auxiliaryOutputWorkingHoursDto.setDateTime(null);
-        Map<String, Object> map = new HashMap<>();
-        BigDecimal sumOutputWorkTime = BigDecimal.ZERO;
-        BigDecimal sumApprovedWorkingHour = BigDecimal.ZERO;
 
-        //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳
-        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>();
-        List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids=null;
+    @Override
+    public Map<String, Object> collectWorkingHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto){
+        // 杩斿洖鐨勭粨鏋�
+        Map<String, Object> map = new HashMap<>();
+
+        // 鍒ゆ柇褰撳墠浜虹殑鏉冮檺 鏄惁鍙煡鐪嬪浜�
+        List<Integer> ids = getCurrentGroupUserIds(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getName()) ? auxiliaryOutputWorkingHoursDto.getName() : "");
+
+        String dateTime = auxiliaryOutputWorkingHoursDto.getDateTime();
+        String startTime = "";
+        String endTime = "";
+        if(StringUtils.isNotEmpty(dateTime)) {
+            List<String> list = JSONArray.parseArray(dateTime, String.class);
+            startTime = list.get(0)+ " 00:00:00";
+            endTime = list.get(1)+ " 23:59:59";
         }
-        if (ObjectUtils.isNotEmpty(dates)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours)
-                    .ge("date_time", split[0])
-                    .le("date_time", split[1] + " 23:59:59"),ids);
-            //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay)
-                    .eq("state","宸叉壒鍑�")
-                    .ge("date_time", split[0])
-                    .le("date_time", split[1] + " 23:59:59"),ids);
-        }else if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
-            //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours),ids);
-            //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay).eq("state","宸叉壒鍑�"),ids);
+        String weekConvert = weekConvert(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay()) ? auxiliaryOutputWorkingHoursDto.getWeekDay()  : ""  ); // 鍛ㄦ杞崲
+        // 鏍规嵁鏉′欢鑾峰彇鏁版嵁
+        List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectList(new QueryWrapper<AuxiliaryOutputWorkingHours>()
+                .in(CollectionUtils.isNotEmpty(ids), "check_id", ids)
+                .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", weekConvert)
+                .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+        // 1.浜ч噺宸ユ椂姹囨��
+        // 鏍规嵁濮旀墭缂栧彿銆佹牱鍝佺紪鍙枫�佸伐鏃跺垎缁� 鏉ヨ繘琛屽垎缁勭粺璁�
+        // 鍔犵彮鐨勫伐鏃舵眹鎬�
+        BigDecimal overTime = BigDecimal.ZERO;
+        // 杩囨护鍑哄姞鐝殑宸ユ椂
+        List<AuxiliaryOutputWorkingHours> overFilter = auxiliaryOutputWorkingHours.stream()
+                .filter(item -> Objects.nonNull(item.getOvertimeOrderNo()) && StringUtils.isNotEmpty(item.getOvertimeOrderNo()))
+                .collect(Collectors.toList());
+        Map<String, List<AuxiliaryOutputWorkingHours>> collect = overFilter.stream()
+                .collect(Collectors.groupingBy(item -> item.getOvertimeOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+        Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator = collect.entrySet().iterator();
+        while (iterator.hasNext()) {
+            Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator.next();
+            // 鍚屼竴鍒嗙粍涓嬬殑鍙渶瑕佺畻涓�娆�
+            overTime = add(overTime, BigDecimal.valueOf(entry.getValue().get(0).getOvertimeWorkTime()));
         }
-        else {
-            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids);
-            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
+        // 闈炲姞鐝殑宸ユ椂姹囨��
+        BigDecimal workTime = BigDecimal.ZERO;
+        List<AuxiliaryOutputWorkingHours> workFilter = auxiliaryOutputWorkingHours.stream()
+                .filter(item -> Objects.nonNull(item.getOrderNo()) && StringUtils.isNotEmpty(item.getOrderNo()))
+                .collect(Collectors.toList());
+        Map<String, List<AuxiliaryOutputWorkingHours>> collect1 = workFilter.stream()
+                .collect(Collectors.groupingBy(item -> item.getOrderNo() + "@" + item.getSample() + "@" + item.getManHourGroup()));
+        Iterator<Map.Entry<String, List<AuxiliaryOutputWorkingHours>>> iterator1 = collect1.entrySet().iterator();
+        while (iterator1.hasNext()) {
+            Map.Entry<String, List<AuxiliaryOutputWorkingHours>> entry = iterator1.next();
+            workTime = add(workTime, BigDecimal.valueOf(entry.getValue().get(0).getOutputWorkTime()));
         }
-        if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHours)) {
-            Map<String, BigDecimal> sumMap = new HashMap<>();
-            for (AuxiliaryOutputWorkingHours auxiliaryOutputWorkingHour : auxiliaryOutputWorkingHours) {
-                if (!sumMap.containsKey(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample())) {
-                    sumMap.put(auxiliaryOutputWorkingHour.getManHourGroup()+auxiliaryOutputWorkingHour.getOrderNo()+auxiliaryOutputWorkingHour.getSample(), auxiliaryOutputWorkingHour.getOutputWorkTime());
-                }
-            }
-            sumOutputWorkTime = sumMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
-        }
-        map.put("浜ч噺宸ユ椂姹囨��", sumOutputWorkTime);
-        if (ObjectUtils.isNotEmpty(auxiliaryWorkingHoursDays)) {
-            for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
-//                sumApprovedWorkingHour = sumApprovedWorkingHour.add(auxiliaryWorkingHoursDay.getReviewerNonproductiveTime());//澶嶆牳宸ユ椂
+        BigDecimal outPutWorkTime = add(overTime, workTime);
+        // 2.杈呭姪宸ユ椂姹囨��
+        BigDecimal dayWorkTime = BigDecimal.ZERO;
+        List<AuxiliaryWorkingHoursDay> dayList = auxiliaryWorkingHoursDayMapper.selectList(new QueryWrapper<AuxiliaryWorkingHoursDay>()
+                .in(CollectionUtils.isNotEmpty(ids), "name_user", ids)
+                .like(StringUtils.isNotBlank(auxiliaryOutputWorkingHoursDto.getWeekDay()), "week_day", auxiliaryOutputWorkingHoursDto.getWeekDay())
+                .eq(StringUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getState()), "state", auxiliaryOutputWorkingHoursDto.getState())
+                .between(StringUtils.isNotEmpty(dateTime),"date_time", startTime, endTime));
+
+        for (AuxiliaryWorkingHoursDay a  : dayList) {
+            if(ObjectUtils.isNull(a.getReviewerNonproductiveTime())) {
+                dayWorkTime = add(dayWorkTime, BigDecimal.ZERO);
+            }else {
+                dayWorkTime = add(dayWorkTime, BigDecimal.valueOf(a.getReviewerNonproductiveTime()));
             }
         }
-        map.put("杈呭姪宸ユ椂姹囨��", sumApprovedWorkingHour);
-        return map;
+        map.put("浜ч噺宸ユ椂姹囨��", outPutWorkTime);
+        map.put("杈呭姪宸ユ椂姹囨��", dayWorkTime);
+        return  map;
+    }
+
+
+    public  BigDecimal add(BigDecimal a, BigDecimal b){
+        return a.add(b);
+    }
+
+    // 鍛ㄦ杞崲
+    public String weekConvert(String week){
+        String weekDay = "";
+        switch (week) {
+            case "1":
+                weekDay = "鍛ㄤ竴";
+                break;
+            case "2":
+                weekDay = "鍛ㄤ簩";
+                break;
+            case "3":
+                weekDay = "鍛ㄤ笁";
+                break;
+            case "4":
+                weekDay = "鍛ㄥ洓";
+                break;
+            case "5":
+                weekDay = "鍛ㄤ簲";
+                break;
+            case "6":
+                weekDay = "鍛ㄥ叚";
+                break;
+            case "0":
+                weekDay = "鍛ㄦ棩";
+                break;
+        }
+        return weekDay;
+    }
+
+
+    /**
+     * 鑾峰彇褰撳墠鐢ㄦ埛缁勭粐鐨勭敤鎴穒d
+     * @return
+     */
+    private List<Integer> getCurrentGroupUserIds(){
+        return getCurrentGroupUserIds("");
+    }
+
+    private List<Integer> getCurrentGroupUserIds(String name){
+        List<Integer> ids = new ArrayList<>();
+        //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳锛屾牴鎹畆oleId(7:妫�楠屽憳锛�8:妫�楠岀粍闀�)
+        Integer userId = Integer.parseInt(SecurityUtils.getLoginUser().getUser().getUserId().toString());
+        User user = userMapper.selectById(userId);
+
+        //绠$悊鍛�(涓嶆坊鍔犻檺鍒舵潯浠舵墍鏈変汉閮藉彲浠ョ湅)
+        //涓嶆槸缁勯暱
+
+        return ids;
     }
 
     //瀵煎嚭
@@ -172,11 +240,25 @@
     public void exportWorkingHours(HttpServletResponse response) throws IOException {
         List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtos = new ArrayList<>();
         List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtos = new ArrayList<>();
-        List<Integer> ids = new ArrayList<>();
+        List<Integer> ids = getCurrentGroupUserIds();
         //鏌ヨ杈呭姪宸ユ椂
         auxiliaryWorkingHoursDayDtos = auxiliaryWorkingHoursDayMapper.selectDataByUser(ids);
         //鏌ヨ缁熻宸ユ椂
-        auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids);
+        auxiliaryOutputWorkingHoursDtos = auxiliaryOutputWorkingHoursMapper.selectDataByUser(ids).stream().map(item -> {
+            if(Objects.isNull(item.getOvertimeWorkTime())) {
+                item.setOvertimeWorkTime((double)0);
+            }
+            if(Objects.isNull(item.getOvertimeAmount())) {
+                item.setOvertimeAmount(0);
+            }
+            if(Objects.isNull(item.getWorkTime())) {
+                item.setWorkTime((double)0);
+            }
+            if(Objects.isNull(item.getAmount())) {
+                item.setAmount(0);
+            }
+            return item;
+        }).collect(Collectors.toList());
         response.setContentType("application/vnd.ms-excel");
         response.setCharacterEncoding("UTF-8");
         // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
@@ -185,73 +267,11 @@
         try {
             // 鏂板缓ExcelWriter
             ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-
             WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build();
             excelWriter.write(auxiliaryWorkingHoursDayDtos, mainSheet);
-
             WriteSheet mainSheet1 = EasyExcel.writerSheet(1, "浜ч噺宸ユ椂瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
             excelWriter.write(auxiliaryOutputWorkingHoursDtos, mainSheet1);
             // 鍏抽棴娴�
-            excelWriter.finish();
-        } catch (IOException e) {
-            throw new RuntimeException("瀵煎嚭澶辫触");
-        }
-    }
-
-    /**
-     * 瀵煎嚭浜ч噺宸ユ椂
-     * @param response
-     */
-    @Override
-    public void exportOutputHours(AuxiliaryOutputWorkingHoursDto auxiliaryOutputWorkingHoursDto, HttpServletResponse response) {
-        //鏌ヨ瀵煎嚭鐨勮垂鐢ㄧ粺璁℃暟鎹�
-        String dates = auxiliaryOutputWorkingHoursDto.getDateTime();
-        String week = auxiliaryOutputWorkingHoursDto.getWeek();
-        auxiliaryOutputWorkingHoursDto.setDateTime(null);
-        auxiliaryOutputWorkingHoursDto.setWeek(null);
-
-        List<Integer> ids = new ArrayList<>();
-        String name = auxiliaryOutputWorkingHoursDto.getName();
-        if (ObjectUtils.isNotEmpty(name)) {
-            ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
-        }
-
-        List<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
-        } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
-
-        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-
-        } else {
-            auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHoursList(QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
-        }
-
-        try {
-            response.setContentType("application/vnd.ms-excel");
-            response.setCharacterEncoding("UTF-8");
-            // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-            String fileName = URLEncoder.encode("浜ч噺宸ユ椂淇℃伅瀵煎嚭", "UTF-8");
-            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-            //鏂板缓ExcelWriter
-            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-            //鑾峰彇sheet0瀵硅薄
-            WriteSheet mainSheet = EasyExcel.writerSheet(0, "浜ч噺宸ユ椂淇℃伅瀵煎嚭").head(AuxiliaryOutputWorkingHoursDto.class).build();
-
-            //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
-            excelWriter.write(auxiliaryOutputWorkingHoursDtoIPage, mainSheet);
-            //鍏抽棴娴�
             excelWriter.finish();
         } catch (IOException e) {
             throw new RuntimeException("瀵煎嚭澶辫触");
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
index b9f48d0..ddbd8f1 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -1,41 +1,45 @@
 package com.ruoyi.performance.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 
-import com.alibaba.excel.EasyExcel;
-import com.alibaba.excel.ExcelWriter;
-import com.alibaba.excel.write.metadata.WriteSheet;
-import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.core.domain.entity.User;
-import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.performance.dto.AuxiliaryWorkingHoursDayDto;
 import com.ruoyi.performance.dto.HoursDay;
 import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursDayMapper;
 import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursMapper;
 import com.ruoyi.performance.mapper.PerformanceShiftMapper;
+import com.ruoyi.performance.mapper.ShiftTimeMapper;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHoursDay;
 import com.ruoyi.performance.pojo.PerformanceShift;
+import com.ruoyi.performance.pojo.ShiftTime;
 import com.ruoyi.performance.service.AuxiliaryWorkingHoursDayService;
+import com.ruoyi.system.mapper.SysRoleMapper;
+import com.ruoyi.system.mapper.SysUserRoleMapper;
 import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.ISysDictTypeService;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.math3.analysis.function.Power;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -55,11 +59,25 @@
     @Resource
     AuxiliaryWorkingHoursMapper auxiliaryWorkingHoursMapper;
 
+
     @Resource
     UserMapper userMapper;
 
     @Resource
+    private SysRoleMapper roleMapper;
+
+    @Resource
+    private SysUserRoleMapper userRoleMapper;
+
+
+    @Resource
     PerformanceShiftMapper performanceShiftMapper;
+
+    @Resource
+    private ISysDictTypeService dictTypeService;
+
+    @Resource
+    private ShiftTimeMapper shiftTimeMapper;
 
     @Override
     public IPage<AuxiliaryWorkingHoursDayDto> selectAuxiliaryWorkingHoursDay(Page page, AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto) {
@@ -67,48 +85,45 @@
         String week = auxiliaryWorkingHoursDayDto.getWeek();
         auxiliaryWorkingHoursDayDto.setDateTime(null);
         auxiliaryWorkingHoursDayDto.setWeek(null);
-        Map<String, Object> map = new HashMap<>();
         List<Integer> ids = new ArrayList<>();
-        if (ids.size() == 0) {
-            ids = null;
-        }
+        IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = null;
+
         if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                     QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
                             .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0, 10));
             }
-            return auxiliaryWorkingHoursDayDtoIPage;
+
         } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                     QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
                             .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
             for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0, 10));
             }
-            return auxiliaryWorkingHoursDayDtoIPage;
+
         } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                     QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
                             .ge("week", weeks[0]).le("week", weeks[1]), ids);
             for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0, 10));
             }
-            return auxiliaryWorkingHoursDayDtoIPage;
+
         } else {
-            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
+            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
             for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
                 record.setDateTime(record.getDateTime().substring(0, 10));
             }
-            return auxiliaryWorkingHoursDayDtoIPage;
         }
-
+        return auxiliaryWorkingHoursDayDtoIPage;
     }
 
     //鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅
@@ -117,7 +132,7 @@
         //鏍规嵁濉啓鐨勭紪鍙锋煡璇㈣緟鍔╁伐鏃堕厤缃�
         AuxiliaryWorkingHours auxiliaryWorkingHours = auxiliaryWorkingHoursMapper.selectOne(Wrappers.<AuxiliaryWorkingHours>lambdaQuery().eq(AuxiliaryWorkingHours::getNumber, number));
         if (ObjectUtils.isEmpty(auxiliaryWorkingHours)) {
-            throw new BaseException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
+            throw new ErrorException("璇ョ紪鍙锋病鏈夊搴旂殑杈呭姪宸ユ椂閰嶇疆");
         }
         AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay = new AuxiliaryWorkingHoursDay();
         BeanUtils.copyProperties(auxiliaryWorkingHours, auxiliaryWorkingHoursDay);
@@ -127,23 +142,134 @@
     //褰曞叆鏁版嵁(鏂板)
     @Override
     public int insertAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
         auxiliaryWorkingHoursDay.setState("宸叉彁浜�");
+        //鏌ヨ浜哄憳褰撳墠鐨勭彮娆�
+        if(StringUtils.isNotBlank(auxiliaryWorkingHoursDay.getDateTime())){
+            //褰曞叆鏃堕棿
+            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDateTime saveDate = LocalDateTime.parse(auxiliaryWorkingHoursDay.getDateTime(), pattern);
+
+            LocalDate now1 = LocalDate.now();//褰撳墠鏃ユ湡
+            LocalDate dateTime = LocalDate.parse(saveDate.format(formatter));// 鐢ㄦ埛閫夋嫨鏃ユ湡
+
+            //鐝璁板綍
+            PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery()
+                    .eq(PerformanceShift::getUserId, userId)
+                    .eq(PerformanceShift::getWorkTime, saveDate).last("limit 1"));
+            if(Objects.isNull(performanceShift)) {
+                throw new ErrorException("璇峰厛褰曞叆鐝淇℃伅");
+            }
+            auxiliaryWorkingHoursDay.setShift(performanceShift.getShift());
+            DateTime parse = DateUtil.parse(saveDate.format(formatter));
+            auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+            // 濡傛灉鏄槰澶╋紝璧嬪�煎埌涓婁竴涓彮娆�
+            if(now1.isAfter(dateTime)) {
+            }else{
+                // 濡傛灉鏄粖澶╋紝骞朵笖鏄法澶╃殑鐝锛岄渶瑕佸皢鏃ユ湡鏀逛负鏄ㄥぉ
+                ShiftTime shiftTime = shiftTimeMapper.selectOne(new LambdaQueryWrapper<ShiftTime>()
+                        .eq(ShiftTime::getShift, performanceShift.getShift()));
+                if(Objects.nonNull(shiftTime)) {
+                    String start = shiftTime.getStartTime();
+                    String end = shiftTime.getEndTime();
+                    LocalTime startTime = LocalTime.parse(start);
+                    LocalTime endTime = LocalTime.parse(end);
+                    LocalTime now = LocalTime.now();
+                    // 璺ㄥぉ鐝
+                    if(startTime.isAfter(endTime)){
+                        // 涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴
+                        if(now.isBefore(startTime)) {
+                            auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                        }
+                    }else {
+                        // 涓嶈法澶╃殑鎯呭喌
+                        // 濡傛灉褰撳墠鏃堕棿涓嶅湪浠婂ぉ鐨勭彮娆℃椂闂村唴,涓斿湪寮�濮嬩箣鍓� 绠楀埌涓婁竴涓彮娆�
+                        if(now.isBefore(startTime)){
+                            auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                        }
+
+                    }
+                }else {
+                    // 濡傛灉鏄紤鎭� 璇峰亣  鍑哄樊 鐨勬儏鍐碉紝闇�瑕佸皢鏃ユ湡鏀逛负鍓嶄竴涓彮娆�
+                    // 閮界畻鍒颁笂涓�涓彮娆�
+                    auxiliaryWorkingHoursDay = previousShift(userId, auxiliaryWorkingHoursDay);
+                }
+            }
+        }
         return auxiliaryWorkingHoursDayMapper.insert(auxiliaryWorkingHoursDay);
     }
+    // 鑾峰彇涓婁竴涓彮娆$殑鏃堕棿
+    public AuxiliaryWorkingHoursDay previousShift(Integer userId,AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
+        LocalTime time = LocalTime.of(0, 0, 0);
+        LocalDateTime yesterdayTime = LocalDateTime.of(LocalDate.now(), time);
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 閮界畻鍒颁笂涓�涓彮娆�
+        List<Integer> list = Arrays.asList(3, 4, 6); // 浼戞伅 璇峰亣 鍗婂ぉ 鍑哄樊
+        List<PerformanceShift> performanceShifts = performanceShiftMapper.selectList(new LambdaQueryWrapper<PerformanceShift>()
+                .eq(PerformanceShift::getUserId, userId)
+                .lt(PerformanceShift::getWorkTime, yesterdayTime.format(dateTimeFormatter))
+                .notIn(PerformanceShift::getShift, list)
+                .orderByDesc(PerformanceShift::getWorkTime));
+        String dateTime = performanceShifts.get(0).getWorkTime().format(dateTimeFormatter);
+        auxiliaryWorkingHoursDay.setDateTime(dateTime);//鏃ユ湡 鍓嶄竴涓彮娆�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTime parse = DateUtil.parse(performanceShifts.get(0).getWorkTime().format(formatter));
+        auxiliaryWorkingHoursDay.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1)))); // 鍛ㄦ
+        auxiliaryWorkingHoursDay.setWeekDay(getWeek(dateTime));//鏄熸湡
+        return auxiliaryWorkingHoursDay;
+    }
+    public static String getWeek(String dayStr) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date date = sdf.parse(dayStr);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(date);
+            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+            int day = calendar.get(Calendar.DAY_OF_MONTH);
+            return getWeekDay(dayOfWeek);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+    public static String getWeekDay(int dayOfWeek) {
+        switch (dayOfWeek) {
+            case Calendar.MONDAY:
+                return "1";
+            case Calendar.TUESDAY:
+                return "2";
+            case Calendar.WEDNESDAY:
+                return "3";
+            case Calendar.THURSDAY:
+                return "4";
+            case Calendar.FRIDAY:
+                return "5";
+            case Calendar.SATURDAY:
+                return "6";
+            case Calendar.SUNDAY:
+                return "7";
+            default:
+                return "鏈煡";
+        }
+    }
+
 
     //瀹℃牳/鎵瑰噯
     @Override
     public boolean checkOrApprove(HoursDay hoursDay) {
         List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = hoursDay.getAuxiliaryWorkingHoursDays();
         for (AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay : auxiliaryWorkingHoursDays) {
-            Integer userId = SecurityUtils.getUserId().intValue();
-            auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+            if (auxiliaryWorkingHoursDay.getState().equals("宸插鏍�")) {
+                Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
+                auxiliaryWorkingHoursDay.setReviewer(userMapper.selectById(userId).getName());
+            }
             if (auxiliaryWorkingHoursDay.getReviewerNumber() == null) {
                 auxiliaryWorkingHoursDay.setReviewerNumber(auxiliaryWorkingHoursDay.getAmount());//澶嶆牳鏁伴噺
                 auxiliaryWorkingHoursDay.setReviewerNonproductiveTime(auxiliaryWorkingHoursDay.getNonproductiveTime());//澶嶆牳宸ユ椂
             }
+
         }
         return updateBatchById(auxiliaryWorkingHoursDays);
     }
@@ -151,7 +277,7 @@
     //缂栬緫
     @Override
     public int updateAuxiliaryWorkingHoursDay(AuxiliaryWorkingHoursDay auxiliaryWorkingHoursDay) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         auxiliaryWorkingHoursDay.setNameUser(userId);//濮撳悕id
         return auxiliaryWorkingHoursDayMapper.updateById(auxiliaryWorkingHoursDay);
     }
@@ -165,67 +291,12 @@
     //鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�
     @Override
     public String selectshiftByUser(LocalDateTime dateTime) {
-        Integer userId = SecurityUtils.getUserId().intValue();
+        Integer userId = Integer.parseInt(SecurityUtils.getUserId().toString());
         PerformanceShift performanceShift = performanceShiftMapper.selectOne(Wrappers.<PerformanceShift>lambdaQuery().eq(PerformanceShift::getUserId, userId).eq(PerformanceShift::getWorkTime, dateTime));
         if (ObjectUtils.isEmpty(performanceShift)) {
             return null;
         }
         return performanceShift.getShift();
-    }
-
-    /**
-     * 瀵煎嚭杈呭姪宸ユ椂
-     * @param
-     * @param response
-     */
-    @Override
-    public void exportWorkingHours(AuxiliaryWorkingHoursDayDto auxiliaryWorkingHoursDayDto, HttpServletResponse response) {
-        String dates = auxiliaryWorkingHoursDayDto.getDateTime();
-        String week = auxiliaryWorkingHoursDayDto.getWeek();
-        auxiliaryWorkingHoursDayDto.setDateTime(null);
-        auxiliaryWorkingHoursDayDto.setWeek(null);
-        List<Integer> ids = new ArrayList<>();
-        String name = auxiliaryWorkingHoursDayDto.getName();
-        if (ObjectUtils.isNotEmpty(name)) {
-            ids.addAll(userMapper.selectList(Wrappers.<User>lambdaQuery().like(User::getName, name)).stream().map(User::getId).collect(Collectors.toList()));
-        }
-        List<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = new ArrayList<>();
-        if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59")
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-        } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
-            String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids);
-        } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
-            String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList(QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
-        } else {
-            auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDayList( QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
-        }
-
-        try {
-            response.setContentType("application/vnd.ms-excel");
-            response.setCharacterEncoding("UTF-8");
-            // 杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜 褰撶劧鍜宔asyexcel娌℃湁鍏崇郴
-            String fileName = URLEncoder.encode("杈呭姪宸ユ椂淇℃伅瀵煎嚭", "UTF-8");
-            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
-            //鏂板缓ExcelWriter
-            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
-            //鑾峰彇sheet0瀵硅薄
-            WriteSheet mainSheet = EasyExcel.writerSheet(0, "杈呭姪宸ユ椂淇℃伅瀵煎嚭").head(AuxiliaryWorkingHoursDayDto.class).build();
-
-            //鍚憇heet0鍐欏叆鏁版嵁 浼犲叆绌簂ist杩欐牱鍙鍑鸿〃澶�
-            excelWriter.write(auxiliaryWorkingHoursDayDtoIPage, mainSheet);
-            //鍏抽棴娴�
-            excelWriter.finish();
-        } catch (IOException e) {
-            throw new RuntimeException("瀵煎嚭澶辫触");
-        }
     }
 
 
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
index 9863d69..397667b 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/AuxiliaryWorkingHoursServiceImpl.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.common.core.dto.UserPageDto;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.performance.mapper.AuxiliaryWorkingHoursMapper;
 import com.ruoyi.performance.pojo.AuxiliaryWorkingHours;
@@ -52,4 +54,5 @@
         }
         return auxiliaryWorkingHoursMapper.insert(auxiliaryWorkingHours);
     }
+
 }
diff --git a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
index 9229c98..d723be8 100644
--- a/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
+++ b/performance-server/src/main/resources/mapper/AuxiliaryOutputWorkingHoursMapper.xml
@@ -17,41 +17,36 @@
         <result column="date_time" property="dateTime"/>
         <result column="week" property="week"/>
         <result column="week_day" property="weekDay"/>
-        <result column="check" property="check"/>
+        <result column="check_id" property="checkId"/>
         <result column="create_time" property="createTime"/>
         <result column="update_time" property="updateTime"/>
         <result column="create_user" property="createUser"/>
         <result column="update_user" property="updateUser"/>
     </resultMap>
-
-    <sql id="selectAuxiliaryOutputWorking">
+    <select id="selectAuxiliaryOutputWorkingHours" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
         select *
         from (
         select aowh.id,
-        aowh.inspection_item_class,
-        aowh.inspection_item,
-        aowh.inspection_item_subclass,
-        aowh.overtime_order_no,
-        aowh.overtime_work_time,
-        aowh.overtime_amount,
-        aowh.order_no,
-        aowh.work_time,
-        aowh.amount,
-        aowh.output_work_time,
-        aowh.date_time,
-        aowh.week,
-        aowh.week_day,
-        user.name,
-        aowh.sample,
-        aowh.price,
-        aowh.man_hour_group,
-        ip.cable_tag
+        inspection_item,
+        inspection_item_subclass,
+        overtime_order_no,
+        overtime_work_time,
+        overtime_amount,
+        order_no,
+        work_time,
+        amount,
+        output_work_time,
+        date_time,
+        week,
+        week_day,
+        name,
+        sample,
+        aowh.check_id
         FROM auxiliary_output_working_hours aowh
-        left join ins_product ip on ip.id = aowh.ins_product_id
-        left join user on user.id=aowh.`check`
+        left join user on user.id=aowh.check_id
         WHERE 1=1
-        <if test="ids !=null and ids.size() > 0">
-            and `check` in
+        <if test="ids !=null and ids.size()>0">
+            and aowh.check_id in
             <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
                 #{val}
             </foreach>
@@ -60,18 +55,14 @@
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
-    </sql>
-    <select id="selectAuxiliaryOutputWorkingHours" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
-        <include refid="selectAuxiliaryOutputWorking"/>
     </select>
     <select id="selectDataByUser" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
-        select aowh.*, name, ip.cable_tag cableTag
+        select aowh.*,name
         FROM auxiliary_output_working_hours aowh
-        left join ins_product ip on ip.id = aowh.ins_product_id
-        left join user on user.id = aowh.`check`
-        WHERE 1 = 1
-        <if test="ids !=null and ids.size() > 0">
-            and `check` in
+        left join user on user.id=aowh.check_id
+        WHERE 1=1
+        <if test="ids !=null and ids.size()>0">
+            and aowh.check_id in
             <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
                 #{val}
             </foreach>
@@ -80,22 +71,24 @@
     <select id="totalHours" resultType="java.util.Map">
         select A.name,
         A.month,
-        FORMAT(SUM(A.manHours), 4) manHours
+        FORMAT(SUM(A.manHours), 4) AS manHours
         from(
         select user.name,
         date_time as month,
         order_no,
         sample,
         man_hour_group,
-        case when #{type}='鍔犵彮宸ユ椂' then  case when overtime_work_time is null then 0 else overtime_work_time end
-        else case when work_time is null then 0 else work_time end  end as manHours
+        case
+        when #{type}='鍔犵彮宸ユ椂' then case when overtime_work_time is null then 0 else overtime_work_time end
+        else case when work_time is null then 0 else work_time end
+        end as manHours
         -- FORMAT(SUM(output_work_time), 4) as manHours
         from auxiliary_output_working_hours aowh
-        left join user on user.id=aowh.`check`
+        left join user on user.id=aowh.check_id
         left join department_lims dl on depart_lims_id=dl.id
         where date_time LIKE CONCAT('%', #{month}, '%')
-        <if test="ids !=null and ids != ''">
-            and `check` in
+        <if test="ids !=null and ids.size()>0">
+            and aowh.check_id in
             <foreach collection="ids" open="(" separator="," close=")" item="val">
                 #{val}
             </foreach>
@@ -115,8 +108,8 @@
     <select id="selectListByIds" resultType="com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours">
         select * from auxiliary_output_working_hours
         where 1=1
-        <if test="ids !=null and ids != ''">
-            and `check` in
+        <if test="ids !=null and ids.size()>0">
+            and check_id in
             <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
                 #{val}
             </foreach>
@@ -126,8 +119,8 @@
     <select id="selectLists" resultMap="BaseResultMap">
         select * from(select * from auxiliary_output_working_hours
         WHERE 1=1
-        <if test="ids !=null and ids != ''">
-            and `check` in
+        <if test="ids !=null and ids.size()>0">
+            and check_id in
             <foreach collection="ids" index="index" open="(" separator="," close=")" item="val">
                 #{val}
             </foreach>
@@ -136,51 +129,5 @@
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
-    </select>
-    <select id="selectAuxiliaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
-        select sum(aowh.work_time) yieldHour,
-               u.name           userName,
-               aowh.`check`           userId,
-               #{dto.month} month
-        from (SELECT *
-              FROM auxiliary_output_working_hours
-              GROUP BY CASE
-                           WHEN man_hour_group IS NOT NULL AND man_hour_group != '' THEN man_hour_group
-                           ELSE id
-                  END
-                     , CASE
-                           WHEN man_hour_group IS NOT NULL AND man_hour_group != '' THEN order_id
-                           ELSE id
-                  END) aowh
-                 left join user u on u.id = aowh.`check`
-        where aowh.date_time between #{dto.beginDate} and #{dto.endDate}
-        <if test="userIds !=null and userIds.size() > 0">
-            and aowh.`check` in
-            <foreach collection="userIds" index="index" open="(" separator="," close=")" item="val">
-                #{val}
-            </foreach>
-        </if>
-        group by aowh.`check`
-    </select>
-    <select id="selectSubsidiaryAllByMonth" resultType="com.ruoyi.performance.dto.AuxiliaryAllDto">
-        select sum(awhd.reviewer_nonproductive_time) subsidiaryHour,
-               u.name              userName,
-               awhd.name_user      userId,
-               #{dto.month} month
-        from auxiliary_working_hours_day awhd
-                 left join user u on u.id = awhd.name_user
-        where awhd.date_time between #{dto.beginDate} and #{dto.endDate}
-        and awhd.state = '宸叉壒鍑�'
-        <if test="userIds !=null and userIds.size() > 0">
-            and awhd.name_user in
-            <foreach collection="userIds" index="index" open="(" separator="," close=")" item="val">
-                #{val}
-            </foreach>
-        </if>
-        group by awhd.name_user
-    </select>
-    <!-- 鏌ヨ浜ч噺宸ユ椂闆嗗悎 -->
-    <select id="selectAuxiliaryOutputWorkingHoursList" resultType="com.ruoyi.performance.dto.AuxiliaryOutputWorkingHoursDto">
-        <include refid="selectAuxiliaryOutputWorking"/>
     </select>
 </mapper>
diff --git a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
index 55779b3..b92f761 100644
--- a/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
+++ b/performance-server/src/main/resources/mapper/PerformanceShiftMapper.xml
@@ -149,7 +149,7 @@
         from user u
                  left join department_lims dl
                            on FIND_IN_SET(dl.id,u.depart_lims_id)
-        where dl.name in('閫氫俊浜у搧瀹為獙瀹�','鐢靛姏浜у搧瀹為獙瀹�')
+        where dl.name in('閫氫俊浜у搧瀹為獙瀹�','鐢靛姏浜у搧瀹為獙瀹�','妫�娴嬪姙')
           and u.status = 0
           and u.is_custom = 0
     </select>
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
index 3143ec8..58130ac 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserRoleMapper.java
@@ -6,14 +6,14 @@
 
 /**
  * 鐢ㄦ埛涓庤鑹插叧鑱旇〃 鏁版嵁灞�
- * 
+ *
  * @author ruoyi
  */
 public interface SysUserRoleMapper
 {
     /**
      * 閫氳繃鐢ㄦ埛ID鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱�
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 缁撴灉
      */
@@ -21,7 +21,7 @@
 
     /**
      * 鎵归噺鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱�
-     * 
+     *
      * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁ID
      * @return 缁撴灉
      */
@@ -29,7 +29,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊浣跨敤鏁伴噺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -37,7 +37,7 @@
 
     /**
      * 鎵归噺鏂板鐢ㄦ埛瑙掕壊淇℃伅
-     * 
+     *
      * @param userRoleList 鐢ㄦ埛瑙掕壊鍒楄〃
      * @return 缁撴灉
      */
@@ -45,7 +45,7 @@
 
     /**
      * 鍒犻櫎鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
-     * 
+     *
      * @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
      * @return 缁撴灉
      */
@@ -53,10 +53,18 @@
 
     /**
      * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
      */
     public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);
+
+
+    /**
+     * 閫氳繃鐢ㄦ埛ID鏌ヨ瑙掕壊ID
+     * @param userId 鐢ㄦ埛ID
+     */
+    public List<Long> selectRoleIdsByUserId(Long userId);
+
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
index dd72689..483262d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml
@@ -12,33 +12,39 @@
 	<delete id="deleteUserRoleByUserId" parameterType="Long">
 		delete from sys_user_role where user_id=#{userId}
 	</delete>
-	
+
 	<select id="countUserRoleByRoleId" resultType="Integer">
-	    select count(1) from sys_user_role where role_id=#{roleId}  
+	    select count(1) from sys_user_role where role_id=#{roleId}
 	</select>
-	
+
 	<delete id="deleteUserRole" parameterType="Long">
  		delete from sys_user_role where user_id in
  		<foreach collection="array" item="userId" open="(" separator="," close=")">
  			#{userId}
-        </foreach> 
+        </foreach>
  	</delete>
-	
+
 	<insert id="batchUserRole">
 		insert into sys_user_role(user_id, role_id) values
 		<foreach item="item" index="index" collection="list" separator=",">
 			(#{item.userId},#{item.roleId})
 		</foreach>
 	</insert>
-	
+
 	<delete id="deleteUserRoleInfo" parameterType="SysUserRole">
 		delete from sys_user_role where user_id=#{userId} and role_id=#{roleId}
 	</delete>
-	
+
 	<delete id="deleteUserRoleInfos">
 	    delete from sys_user_role where role_id=#{roleId} and user_id in
  	    <foreach collection="userIds" item="userId" open="(" separator="," close=")">
  	        #{userId}
-            </foreach> 
+            </foreach>
 	</delete>
-</mapper> 
\ No newline at end of file
+
+	<select id="selectRoleIdsByUserId" resultType="list">
+		select role_id from sys_user_role where user_id=#{userId}
+	</select>
+
+
+</mapper>

--
Gitblit v1.9.3