From 9c06fb2da3250f7b8bfcb5a2b8bd227528af2678 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期五, 09 八月 2024 09:07:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 user-server/src/main/java/com/yuanchu/mom/controller/UserController.java               |    1 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                           |   97 ++++++++++++++++----------------
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   15 ++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java     |   12 ++-
 4 files changed, 71 insertions(+), 54 deletions(-)

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 cc30704..217085a 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
@@ -162,6 +162,7 @@
             insOrderPlanDTO.setUserId(null);
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
+        insOrderPlanDTO.setSonLaboratory(null);
         IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userName, sonLaboratory, laboratory);
         map.put("body", insOrderPage);
         return map;
@@ -249,6 +250,12 @@
                 break;
         }
 
+        //濡傛灉鏄ぇ鏍峰搧涓嬬殑椤圭洰涓虹┖,閭d箞鏌ヨ绗竴涓厜绾ょ殑椤圭洰
+        if (ObjectUtils.isEmpty(insProducts) && type==0){
+            //鏌ヨ绗竴涓厜绾ょ殑id
+            List<InsFiber> insFibers = insFiberMapper.selectList(Wrappers.<InsFiber>lambdaQuery().eq(InsFiber::getInsBushingId, insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, id)).get(0).getId()));
+            insProducts = insSampleMapper.getInsProduct3(insFibers.get(0).getId());
+        }
         Set<Integer> set = new HashSet<>();
         Map<Integer, String> map2 = new HashMap<>();
         if (BeanUtil.isEmpty(insProducts)) return null;
@@ -761,8 +768,12 @@
                                 auxiliaryOutputWorkingHours.setWeek(String.valueOf(DateUtil.weekOfYear(DateUtil.offsetDay(parse, 1))));//鍛ㄦ
                                 auxiliaryOutputWorkingHours.setCheck(userId);//妫�娴嬩汉
                             }
-                            if (ObjectUtils.isEmpty(insProductResult) && !result.getInsValue().equals("[]") || (ObjectUtils.isNotEmpty(insProductResult) && !insProductResult.getInsValue().equals(result.getInsValue()) && !insProductResult.getInsValue().equals("[]"))) {
-                                auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                            try {
+                                if (ObjectUtils.isEmpty(insProductResult) && !result.getInsValue().equals("[]") || (ObjectUtils.isNotEmpty(insProductResult) && !insProductResult.getInsValue().equals(result.getInsValue()) && !insProductResult.getInsValue().equals("[]"))) {
+                                    auxiliaryOutputWorkingHoursMapper.insert(auxiliaryOutputWorkingHours);
+                                }
+                            }catch (Exception e){
+                                System.out.println("宸ユ椂鏂板涓嶆垚鍔�!!!");
                             }
                         }
                     }
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 18d7db4..c4f3aa9 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
@@ -134,11 +134,15 @@
         insOrder.setAppointed(LocalDate.parse(appointed));
         insOrder.setSendTime(LocalDateTime.now());
         insOrderMapper.updateById(insOrder);
-        List<InsSample> insSamples =
-                insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+        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::getState, 1).isNull(InsProduct::getInsFibersId).isNull(InsProduct::getInsFiberId).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .in(InsProduct::getInsSampleId, ids).
+                        eq(InsProduct::getState, 1)
+                        .isNotNull(InsProduct::getInspectionItemClass)
+//                .isNull(InsProduct::getInsFibersId)
+//                .isNull(InsProduct::getInsFiberId)
+                .select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
         for (InsProduct insProduct : insProducts) {
             InsOrderState insOrderState = new InsOrderState();
             insOrderState.setInsOrderId(orderId);
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 9e80068..6b49f8c 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -25,66 +25,72 @@
     </resultMap>
 
     <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,verify_user
-        FROM
-        (
+        <!--SELECT  *
+        FROM (
+        SELECT  *
+        FROM (
         SELECT
         io.id,
         io.entrust_code,
         io.type,
         io.appointed,
         io.send_time,
-        group_concat(distinct isa.sample,' ') sample,
-        isu.user_id,
-        user.name userName,
+        GROUP_CONCAT(DISTINCT isa.sample SEPARATOR ' ') AS sample,
+        isu.userName,
+        isu2.checkName,
         ip.son_laboratory,
         io.ins_time,
-        io.laboratory
+        io.laboratory,
+        ios.ins_state,
+        ios.verify_tell,
+        ios.verify_user
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
         LEFT JOIN (
-        SELECT *
-        FROM ins_sample_user u
-        WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
-        SELECT ins_sample_id, MAX(id)
-        FROM ins_sample_user
-        WHERE son_laboratory=#{sonLaboratory}
-        GROUP BY ins_sample_id
-        )
-        ORDER BY ins_sample_id, id
+        SELECT
+        ins_sample_id,
+        GROUP_CONCAT(DISTINCT uu.name SEPARATOR ',') AS userName
+        FROM
+        ins_sample_user u
+        LEFT JOIN user uu ON u.user_id = uu.id
+        WHERE
+        son_laboratory = #{sonLaboratory} AND u.state = 0
+        GROUP BY
+        ins_sample_id
         ) isu ON isu.ins_sample_id = io.id
+        LEFT JOIN (
+        SELECT
+        ins_sample_id,
+        uu.name AS checkName
+        FROM
+        ins_sample_user u
+        LEFT JOIN user uu ON u.user_id = uu.id
+        WHERE
+        son_laboratory = #{sonLaboratory} AND u.state = 1
+        GROUP BY
+        ins_sample_id
+        ) isu2 ON isu2.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
+        LEFT JOIN ins_order_state ios ON ios.ins_order_id = io.id AND ios.laboratory = ip.son_laboratory
         WHERE
         io.state = 1
-        and send_time is not null
-        <if test="userId !=null and userId!=''">
-            and (isu.user_id = #{userId} OR isu.user_id is NULL )
+        AND io.send_time IS NOT NULL
+        AND (ip.son_laboratory = #{sonLaboratory} OR isu.userName IS NULL OR isu2.checkName IS NULL)
+        <if test="userName != null and userName != ''">
+            AND (isu.userName LIKE CONCAT('%', #{userName}, '%') OR isu2.checkName LIKE CONCAT('%', #{userName}, '%'))
         </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 where son_laboratory=#{sonLaboratory} 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
+        io.id, ip.son_laboratory
         ORDER BY
-        a.type DESC,
-        a.id
-        ) b
-        where ins_state is not null-->
-
+        io.type DESC, io.id
+        ) a
+        WHERE
+        a.ins_state IS NOT NULL
+        <if test="laboratory != null and laboratory != ''">
+            AND a.laboratory = #{laboratory}
+        </if>
+        ) b-->
         select * from(select * from(
         SELECT
         a.*,ios.ins_state,ios.verify_tell,verify_user
@@ -105,7 +111,6 @@
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-
         LEFT JOIN (
         SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName
         FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
@@ -114,6 +119,7 @@
         GROUP BY ins_sample_id
         ORDER BY ins_sample_id
         ) isu ON isu.ins_sample_id = io.id
+
         LEFT JOIN (
         SELECT ins_sample_id,uu.name checkName
         FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
@@ -122,7 +128,6 @@
         GROUP BY ins_sample_id
         ORDER BY ins_sample_id
         )isu2 ON isu2.ins_sample_id = io.id
-
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
         WHERE io.state = 1 and send_time is not null
         <if test="userName !=null and userName!=''">
@@ -134,15 +139,13 @@
         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
-
         ORDER BY
         a.type DESC,
         a.id
         ) b
         where ins_state is not null
+        and son_laboratory=#{sonLaboratory}
         <if test="laboratory!=null and laboratory!=''">
             and laboratory=#{laboratory}
         </if>
@@ -327,8 +330,6 @@
         where ins_order_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}
-          and ins_fiber_id is null
-          and ins_fibers_id is null
     </select>
     <select id="getSampleEn" resultType="java.lang.String">
         select name_en
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index c574998..9de11ba 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -60,6 +60,7 @@
         map.put("token", jwtToken);
         map.put("reToken", jwtReToken);
         map.put("name", user.getName());
+        map.put("userId", user.getId());
         map.put("power", powerService.selectPowerByRoleId(user.getRoleId()));
         return Result.success("鐧诲綍鎴愬姛", map);
     }

--
Gitblit v1.9.3