From 664f02f7f00e475508ea088c588739373700b436 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 18 七月 2024 20:53:49 +0800
Subject: [PATCH] 费用统计更改+工时+检验查看权限

---
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java                                       |    6 
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java    |   31 ++++-
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                                               |  112 ++++++++++++++++++
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                                              |   30 ++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java                    |   44 ++++++-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java                        |   35 -----
 performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java |   54 +++++++--
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java                                         |    4 
 8 files changed, 248 insertions(+), 68 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
index 14dd76e..a0f694d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProduct.java
@@ -221,4 +221,8 @@
     private Integer insFibersId;
 
     private Integer standardMethodListId;
+
+    //杩斿洖鐨�20搴﹀父娓╃殑璁$畻鍊�(娓╁害寰幆)
+    @TableField(exist = false ,select = false)
+    private String complue;
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 6bf6f97..192afae 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -136,9 +136,10 @@
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
         map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
-        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
-        Integer userId = map1.get("userId");
-        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
+        Integer userId = null;
+        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId()) ) {
+            Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
+             userId = map1.get("userId");
             insOrderPlanDTO.setUserId(userId.longValue());
         }
         IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userId);
@@ -217,7 +218,11 @@
         List<String> collect = new ArrayList<>();
         List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
         List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
-        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).eq(InsProduct::getInsResult, 0));
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .in(InsProduct::getInsSampleId, ids)
+                .eq(InsProduct::getSonLaboratory, laboratory)
+                .eq(InsProduct::getState, 1)
+                .eq(InsProduct::getInsResult, 0));
         if (insProducts.size() > 0) {
             collect = insProducts.stream().map(insProduct -> {
                 return insProduct.getInspectionItem() + "-" + insProduct.getInspectionItemSubclass();
@@ -361,6 +366,16 @@
                                 if (ObjectUtils.isNotEmpty(insProductResult)) {
                                     insProduct.setInsProductResult(insProductResult);
                                 }
+                                //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
+                                InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                        .eq(InsProduct::getInsSampleId,sampleId)
+                                        .eq(InsProduct::getInspectionItem, "1")
+                                        .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                        .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
+                                        .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
+                                if (!insProductResult1.getComValue().equals("[]")) {
+                                    insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
+                                }
                                 productVo.setInsProduct(insProduct);
                                 productVos.add(productVo);
                             }
@@ -383,6 +398,16 @@
                             productVo.setColor(fiber.getColor());
                             productVo.setBushColor(fiber.getBushColor());
                             insProduct.setInsProductResult(insProductResult);
+                            //姹傚悓绛夋潯浠朵笅1娆″惊鐜�20搴﹀父娓╃殑璁$畻鍊�
+                            InsProductResult insProductResult1 = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery().eq(InsProductResult::getInsProductId,insProductMapper.selectOne(Wrappers.<InsProduct>lambdaQuery()
+                                    .eq(InsProduct::getInsSampleId,sampleId)
+                                    .eq(InsProduct::getInspectionItem, "1")
+                                    .eq(InsProduct::getInspectionItemSubclass, "20鈩�(甯告俯)")
+                                    .eq(InsProduct::getInspectionItemClass, insProduct.getInspectionItemClass())
+                                    .eq(InsProduct::getInsFiberId, fiber.getId())).getId() ));
+                            if (!insProductResult1.getComValue().equals("[]")) {
+                                insProduct.setComplue(insProductResult1.getComValue().split(":")[1].split("\"")[1]);
+                            }
                             productVo.setInsProduct(insProduct);
                             productVos.add(productVo);
                         }
@@ -434,6 +459,8 @@
                         JSONObject insValue = JSON.parseObject(JSON.toJSONString(o));
                         Map<String, Object> map = new HashMap<>();
                         map.put("v", JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v"));
+                        map.put("r", JSON.toJSONString(insValue.get("r")));
+                        map.put("c", JSON.toJSONString(insValue.get("c")));
                         try {
                             if ((insValue.get("u") == null || insValue.get("u").equals("")) && StrUtil.isNotEmpty(JSON.parseObject(JSON.toJSONString(insValue.get("v"))).get("v").toString())) {
                                 map.put("u", userId + "");
@@ -3341,7 +3368,6 @@
                 map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
                 thing = map2.get(product.getTemplateId());
             }
-//            thing = map2.get(product.getTemplateId());
             if (StrUtil.isNotEmpty(thing)) {
                 JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0)));
                 JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config")));
@@ -3360,7 +3386,13 @@
     public int submitPlan(Integer orderId, String laboratory, Integer verifyUser) {
         List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
         List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
-        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).eq(InsProduct::getSonLaboratory, laboratory).eq(InsProduct::getState, 1).isNull(InsProduct::getInsResult).isNull(InsProduct::getInsFiberId).isNull(InsProduct::getInsFibersId));
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .in(InsProduct::getInsSampleId, ids)
+                .eq(InsProduct::getSonLaboratory, laboratory)
+                .eq(InsProduct::getState, 1)
+                .isNull(InsProduct::getInsResult)
+                .isNull(InsProduct::getInsFiberId)
+                .isNull(InsProduct::getInsFibersId));
         insProducts.addAll(insProductMapper.selectFiberInsProduct(ids, laboratory));
         if (insProducts.size() > 0) {
             String str = "";
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 103b180..830f53e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -473,34 +473,8 @@
         map.put("head", PrintChina.printChina(CostStatisticsDto.class));
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("costStatistics");
         if (map1.get("look") == 1) costStatisticsDto.setCreateUser(map1.get("userId"));
-        IPage<CostStatisticsDto> costStatisticsDtoIPage = insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
-        List<CostStatisticsDto> costStatisticsDtoList = costStatisticsDtoIPage.getRecords();
-        for (CostStatisticsDto statisticsDto : costStatisticsDtoList) {
-            statisticsDto.setNum(1);
-        }
-        List<CostStatisticsDto> costStatisticsDtoList1 = deduplicateAndSumCounts(costStatisticsDtoList);
-        costStatisticsDtoIPage.setRecords(costStatisticsDtoList1);
-        map.put("body", costStatisticsDtoIPage);
+        map.put("body",insOrderMapper.selectCostStatistics(page, QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59")));
         return map;
-    }
-    private static List<CostStatisticsDto> deduplicateAndSumCounts(List<CostStatisticsDto> list) {
-        // 浣跨敤涓�涓� Map 鏉ュ瓨鏀惧凡缁忓嚭鐜拌繃鐨� inspectionItem + entrustCode + sample 鐨勭粍鍚�
-        Map<String, CostStatisticsDto> map = new HashMap<>();
-        // 閬嶅巻鍒楄〃杩涜鍘婚噸鍜岃鏁�
-        for (CostStatisticsDto dto : list) {
-            String key = dto.getInspectionItem() + dto.getEntrustCode() + dto.getSample();
-            if (map.containsKey(key)) {
-                // 濡傛灉宸茬粡瀛樺湪锛屽垯绱姞鏁伴噺
-                CostStatisticsDto existingDto = map.get(key);
-                existingDto.setNum(existingDto.getNum() + dto.getNum());
-                existingDto.setPrice(existingDto.getPrice().add(dto.getPrice()));
-            } else {
-                // 濡傛灉涓嶅瓨鍦紝鍒欐斁鍏� Map 涓�
-                map.put(key, dto);
-            }
-        }
-        // 灏� Map 涓殑鍊艰浆涓� List 杩斿洖
-        return new ArrayList<>(map.values());
     }
 
     @Override
@@ -511,16 +485,11 @@
         costStatisticsDto.setDates(null);
         List<CostStatisticsDto> costStatisticsDtos = insOrderMapper.selectCostStatistics2(QueryWrappers.queryWrappers(costStatisticsDto).ge("create_time", split[0]).le("create_time", split[1] + " 23:59:59"));
         double totalPrice = costStatisticsDtos.stream()
-                .filter(distinctByKey(dto -> Arrays.asList(dto.getEntrustCode(), dto.getSample(), dto.getCost())))
                 .filter(dto -> dto.getPrice() != null) // 杩囨护鎺変环鏍间负 null 鐨勫璞�
-                .mapToDouble(value -> value.getPrice().doubleValue())
+                .mapToDouble(value -> value.getPrice().doubleValue()*value.getNum())
                 .sum();
         map.put("total", totalPrice);
         return map;
-    }
-    public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
-        Map<Object, Boolean> seen = new ConcurrentHashMap<>();
-        return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
     }
 
     @Override
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index 2f724d6..d4e6ec2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -22,6 +22,11 @@
     @ValueTableShow(value = 5,name = "鐘舵��")
     private String insState;
 
+    @ValueTableShow(value = 5,name = "璐熻矗浜�")
+    private String userName;
+
+    private Integer userId;
+
     @ValueTableShow(value = 8,name = "妫�楠屽紑濮嬫椂闂�")
     private String insTime;
 
@@ -34,7 +39,6 @@
     @ValueTableShow(value = 8,name = "鐞嗙敱")
     private String verifyTell;
 
-    private Integer userId;
 
     private String sonLaboratory;
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index a0b49ae..1c16c0b 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -146,7 +146,7 @@
     </select>
     <select id="selectCostStatistics" resultType="com.yuanchu.mom.dto.CostStatisticsDto">
         select * from (
-        SELECT
+        <!--SELECT
         i.id,
         i.entrust_code,
         i.create_time,
@@ -170,7 +170,55 @@
         SEPARATOR ',') inspection_item2 from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP
         BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
         where (i.state = 1 or i.state = 3 or i.state = 4)
-        ) a
+        ) a-->
+        SELECT A.id,
+        A.entrust_code,
+        A.create_time,
+        A.sample,
+        A.model,
+        A.inspection_item,
+        A.company,
+        A.`name`,
+        COUNT(1) num,
+        SUM(A.price) price,
+        SUM(A.cost) cost
+        FROM
+        (SELECT
+        i.id,
+        i.entrust_code,
+        i.create_time,
+        isa.sample,
+        isa.sample_code,
+        isa.model,
+        c.price,
+        c.cost,
+        c.inspection_item,
+        cus.company,
+        u.`name`,
+        i.create_user,
+        c.ins_sample_id
+        FROM
+        ins_order i
+        LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id
+        LEFT JOIN `user` u ON u.id = i.user_id
+        left join custom cus on cus.id = u.company
+        LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id,
+        GROUP_CONCAT(b.inspection_item2
+        SEPARATOR ',')
+        inspection_item from (select * ,
+        GROUP_CONCAT(CONCAT(inspection_item,'',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP
+        BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
+        where (i.state = 1 or i.state = 3 or i.state = 4) and c.ins_sample_id IS not  NULL)A
+        GROUP BY
+        A.id,
+        A.entrust_code,
+        A.create_time,
+        A.sample,
+        A.model,
+        A.inspection_item,
+        A.company,
+        A.`name`
+        ) B
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
@@ -310,7 +358,7 @@
 
     <select id="selectCostStatistics2" resultType="com.yuanchu.mom.dto.CostStatisticsDto">
         select * from (
-        SELECT
+        <!--SELECT
         i.id,
         i.entrust_code,
         i.create_time,
@@ -333,7 +381,63 @@
         SEPARATOR ',') inspection_item2 from ins_product where state = 1 GROUP BY ins_sample_id,man_hour_group) b GROUP
         BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
         where (i.state = 1 or i.state = 3 or i.state = 4)
-        ) a
+        ) a-->
+        SELECT A.id,
+        A.entrust_code,
+        A.create_time,
+        A.sample,
+        A.model,
+        A.inspection_item,
+        A.company,
+        A.`name`,
+        COUNT(1) num,
+        SUM(A.price) price,
+        SUM(A.cost) cost
+        FROM
+        (SELECT
+        i.id,
+        i.entrust_code,
+        i.create_time,
+        isa.sample,
+        isa.sample_code,
+        isa.model,
+        c.price,
+        c.cost,
+        c.inspection_item,
+        cus.company,
+        u.`name`,
+        i.create_user,
+        c.ins_sample_id
+        FROM
+        ins_order i
+        LEFT JOIN ins_sample isa ON isa.ins_order_id = i.id
+        LEFT JOIN `user` u ON u.id = i.user_id
+        left join custom cus on cus.id = u.company
+        LEFT JOIN (select SUM(b.price) price, sum(b.man_hour) cost,b.ins_sample_id,
+        GROUP_CONCAT(b.inspection_item2
+        SEPARATOR ',')
+        inspection_item from (select * ,
+        GROUP_CONCAT(CONCAT(inspection_item,'',inspection_item_subclass) SEPARATOR ',')inspection_item2 from ins_product where state = 1 and template_id IS NOT NULL GROUP BY ins_sample_id,man_hour_group) b GROUP
+        BY b.ins_sample_id) c ON c.ins_sample_id = isa.id
+        where (i.state = 1 or i.state = 3 or i.state = 4) and c.ins_sample_id IS not  NULL)A
+        GROUP BY
+        A.id,
+        A.entrust_code,
+        A.create_time,
+        A.sample,
+        A.model,
+        A.inspection_item,
+        A.company,
+        A.`name`
+        ORDER BY
+        A.id,
+        A.entrust_code,
+        A.create_time,
+        A.sample,
+        A.model,
+        A.inspection_item,
+        A.company,
+        A.`name`) B
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index e822231..c644e16 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,7 @@
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
         select * from(select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,(ios.verify_user = #{userId}) verify_user
+        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
         FROM
         (
         SELECT
@@ -38,28 +38,48 @@
         io.send_time,
         group_concat(distinct isa.sample,' ') sample,
         isu.user_id,
+        user.name userName,
         ip.son_laboratory,
         io.ins_time
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-        LEFT JOIN ( SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id ) isu ON isu.ins_sample_id = io.id
+        LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
+        SELECT *
+        FROM ins_sample_user u
+        WHERE (ins_sample_id, id) IN (
+        SELECT ins_sample_id, MAX(id)
+        FROM ins_sample_user
+        GROUP BY ins_sample_id
+        )
+        ORDER BY ins_sample_id, id
+        ) isu ON isu.ins_sample_id = io.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
+        LEFT JOIN user  ON isu.user_id = user.id
         WHERE
         io.state = 1
         # AND io.ins_state != 5
         and send_time is not null
-        and (isu.user_id = #{userId} OR isu.user_id is NULL)
+        <if test="userId !=null and userId!=''">
+            and (isu.user_id = #{userId} OR isu.user_id is NULL )
+        </if>
+        OR isu.user_id is NULL
+
         GROUP BY
         ip.son_laboratory,
         io.id
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
         left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
-        ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id and user_id = #{userId}) isu2 on
+        ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id
+        <if test="userId !=null and userId!=''">
+            and user_id = #{userId} OR user_id is NULL
+        </if>
+        OR user_id is NULL
+        ) isu2 on
         isu2.ins_sample_id = a.id
         ORDER BY
-        a.user_id DESC,
+        <!--a.user_id DESC,-->
         a.type DESC,
         a.id
         ) b
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
index ee1d698..e85943f 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryOutputWorkingHoursServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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;
@@ -97,22 +98,38 @@
         if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+            IPage<AuxiliaryOutputWorkingHoursDto> 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));
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
         } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                     QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids));
+                            .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));
+            }
+            map.put("body",auxiliaryOutputWorkingHoursDtoIPage );
         } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
+            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page,
                     QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids));
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
         } else {
-            map.put("body", auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids));
+            IPage<AuxiliaryOutputWorkingHoursDto> auxiliaryOutputWorkingHoursDtoIPage = auxiliaryOutputWorkingHoursMapper.selectAuxiliaryOutputWorkingHours(page, QueryWrappers.queryWrappers(auxiliaryOutputWorkingHoursDto), ids);
+            for (AuxiliaryOutputWorkingHoursDto record : auxiliaryOutputWorkingHoursDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body", auxiliaryOutputWorkingHoursDtoIPage);
         }
         return map;
     }
@@ -122,17 +139,21 @@
     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())){
-            User user = userMapper.selectOne(Wrappers.<User>lambdaQuery().eq(User::getName, auxiliaryOutputWorkingHoursDto.getName()));
-            outputWorkingHours.setCheck(user.getId());
-            workingHoursDay.setNameUser(user.getId());
+            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<>();
         Double sumOutputWorkTime = 0.0;
         Double sumApprovedWorkingHour = 0.0;
-        List<Integer> ids = null;
+
         //鍒ゆ柇鏄粍闀胯繕鏄粍鍛樿繕鏄鐞嗗憳
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectAuxiliaryOutputWorkingHours");
         User user = userMapper.selectById(map1.get("userId"));
@@ -156,6 +177,9 @@
         }
         List<AuxiliaryOutputWorkingHours> auxiliaryOutputWorkingHours = new ArrayList<>();
         List<AuxiliaryWorkingHoursDay> auxiliaryWorkingHoursDays = new ArrayList<>();
+        if (ids.size() == 0) {
+            ids=null;
+        }
         if (ObjectUtils.isNotEmpty(dates)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
             //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
@@ -167,7 +191,13 @@
                     .eq("state","宸叉壒鍑�")
                     .ge("date_time", split[0])
                     .le("date_time", split[1] + " 23:59:59"),ids);
-        } else {
+        }else if (ObjectUtils.isNotEmpty(auxiliaryOutputWorkingHoursDto.getWeekDay())){
+            //缁熻褰撳墠鐢ㄦ埛鐨勪骇鍝佸伐鏃�
+            auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectLists(QueryWrappers.queryWrappers(outputWorkingHours),ids);
+            //缁熻褰撳墠鐢ㄦ埛鐨勮緟鍔╁伐鏃�
+            auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectLists(QueryWrappers.queryWrappers(workingHoursDay).eq("state","宸叉壒鍑�"),ids);
+        }
+        else {
             auxiliaryOutputWorkingHours = auxiliaryOutputWorkingHoursMapper.selectListByIds(ids);
             auxiliaryWorkingHoursDays = auxiliaryWorkingHoursDayMapper.selectListByIds(ids);
         }
diff --git a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
index c5814b9..326ae57 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/service/impl/AuxiliaryWorkingHoursDayServiceImpl.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.service.impl;
 
+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;
@@ -92,22 +93,38 @@
         if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            IPage<AuxiliaryWorkingHoursDayDto> 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));
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body", auxiliaryWorkingHoursDayDtoIPage);
         } else if (ObjectUtils.isNotEmpty(dates) && ObjectUtils.isEmpty(week)) {
             String[] split = dates.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                     QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("date_time", split[0]).le("date_time", split[1] + " 23:59:59"), ids));
+                            .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));
+            }
+            map.put("body",auxiliaryWorkingHoursDayDtoIPage );
         } else if (ObjectUtils.isEmpty(dates) && ObjectUtils.isNotEmpty(week)) {
             String[] weeks = week.replaceAll("\\[", "").replaceAll("]", "").replaceAll("\"", "").split(",");
-            map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
+            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page,
                     QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto)
-                            .ge("week", weeks[0]).le("week", weeks[1]), ids));
+                            .ge("week", weeks[0]).le("week", weeks[1]), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body", auxiliaryWorkingHoursDayDtoIPage);
         } else {
-            map.put("body", auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids));
+            IPage<AuxiliaryWorkingHoursDayDto> auxiliaryWorkingHoursDayDtoIPage = auxiliaryWorkingHoursDayMapper.selectAuxiliaryWorkingHoursDay(page, QueryWrappers.queryWrappers(auxiliaryWorkingHoursDayDto), ids);
+            for (AuxiliaryWorkingHoursDayDto record : auxiliaryWorkingHoursDayDtoIPage.getRecords()) {
+                record.setDateTime(record.getDateTime().substring(0,10));
+            }
+            map.put("body", auxiliaryWorkingHoursDayDtoIPage);
         }
         return map;
     }

--
Gitblit v1.9.3