From 1214b18558c19b09c02161b1dbbef342ad2c1e8f Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 12 十月 2024 17:14:46 +0800
Subject: [PATCH] 试验前后样品检查+开始结束时间

---
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java                           |    5 ++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java |   23 +++++++++--
 inspect-server/src/main/resources/mapper/InsOrderMapper.xml                                   |    1 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                                  |   36 +++++++++++++++--
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java                               |    3 +
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java               |    2 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java        |   29 ++++++++++++--
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java                       |    4 ++
 8 files changed, 88 insertions(+), 15 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index c84e194..0a605bd 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -238,4 +238,6 @@
         CostStatisticsDto costStatisticsDto = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), CostStatisticsDto.class);
        insOrderService.export(costStatisticsDto,response);
     }
+
+
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
index 378450c..be043dc 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrder.java
@@ -259,5 +259,8 @@
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate issueTime;
 
+    @ApiModelProperty("鍒ゅ畾瑙勫垯:涓嶈�冭檻涓嶇‘瀹氬害/鑰冭檻涓嶇‘瀹氬害(%)")
+    private String rule;
+
 
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
index c2a2087..e8eefe6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsProductResult.java
@@ -43,6 +43,10 @@
 
     private String equipName;
 
+    private String beforeCheck;
+
+    private String afterCheck;
+
     @TableField(fill = FieldFill.INSERT)
     private Integer createUser;
 
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 ec5c8c0..6f76b2e 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
@@ -182,7 +182,11 @@
         if (BeanUtil.isEmpty(order.getInsTime())) {
             insOrder.setInsTime(LocalDateTime.now());
             insOrderMapper.updateById(insOrder);
-            insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
+            insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
+                    .eq(InsOrderState::getInsOrderId, id)
+                    .eq(InsOrderState::getLaboratory, laboratory)
+                    .set(InsOrderState::getInsTime, LocalDateTime.now())
+                    .set(InsOrderState::getInsState, 1));
         }
         Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
         List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
@@ -520,6 +524,26 @@
                     }
                 } catch (Exception e) {
                     insProduct.setLastValue("");//''
+                }
+                //璇曢獙鍓嶆牱鍝佹鏌�
+                try {
+                    JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("beforeCheck")));
+                    if (resValue.get("v") != null) {
+                        Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+                        result.setBeforeCheck(o.equals("") ? null : (o.toString()));
+                    }
+                } catch (Exception e) {
+                    result.setBeforeCheck("");//''
+                }
+                //璇曢獙鍚庢牱鍝佹鏌�
+                try {
+                    JSONObject resValue = JSON.parseObject(JSON.toJSONString(jo.get("afterCheck")));
+                    if (resValue.get("v") != null) {
+                        Object o = JSON.parseObject(JSON.toJSONString(resValue.get("v"))).get("v");
+                        result.setAfterCheck(o.equals("") ? null : (o.toString()));
+                    }
+                } catch (Exception e) {
+                    result.setAfterCheck("");//''
                 }
                 //璁惧缂栧彿
                 if (jo.get("equipValue") != null) {
@@ -1005,7 +1029,6 @@
                     insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
                             .eq(InsOrderState::getInsOrderId, orderId)
                             .eq(InsOrderState::getLaboratory, laboratory)
-                            .set(InsOrderState::getInsTime, now)
                             .set(InsOrderState::getInsState, 6)
                             .set(InsOrderState::getVerifyTell, tell)
                             .set(InsOrderState::getVerifyUser, userId));
@@ -1015,7 +1038,6 @@
                     insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
                             .eq(InsOrderState::getInsOrderId, orderId)
                             .eq(InsOrderState::getLaboratory, laboratory)
-                            .set(InsOrderState::getInsTime, now)
                             .set(InsOrderState::getInsState, 5)
                             .set(InsOrderState::getVerifyTell, tell)
                             .set(InsOrderState::getVerifyUser, userId));
@@ -1117,7 +1139,6 @@
         insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
                 .eq(InsOrderState::getInsOrderId, orderId)
                 .eq(InsOrderState::getLaboratory, laboratory)
-                .set(InsOrderState::getInsTime, LocalDateTime.now())
                 .set(InsOrderState::getInsState, 3)
                 .set(InsOrderState::getVerifyUser, verifyUser));
         /*杩欎釜鎯呭喌鍏堝叧闂�----濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
index 9c4bbb2..a2cc408 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -63,6 +63,7 @@
     @Override
     public List<StandardProductList> selectStandardProductList(InsSample insSample) {
         String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆�
+        String[] models1 = insSample.getModel().split(";(?=[^;]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆�
         List<Integer> ids = Arrays.stream(insSample.getStandardMethodListId().split(","))
                 .map(String::trim).map(Integer::parseInt).collect(Collectors.toList());
         List<StandardProductList> list = standardProductListMapper.selectDetail(ids, 1, models[0]);
@@ -102,9 +103,16 @@
                         } else {
                             if (sections.get(i).contains("&")) {
                                 String[] split = sections.get(i).split("&");
-                                isIf = getIsIf(split[0], models[1]) && getIsIf(split[1], models[1]);
+                                isIf = getIsIf(split[0], models1[1]) && getIsIf(split[1], models[1].split(";")[0]);
                             } else {
-                                isIf = getIsIf(sections.get(i), models[1]);
+                                if (ObjectUtils.isNotEmpty(models[1].split(";")[0])){
+                                    isIf = getIsIf(sections.get(i), models[1].split(";")[0]);
+                                    if (!isIf) {
+                                        isIf = getIsIf(sections.get(i), models1[1]);
+                                    }
+                                }else {
+                                    isIf = getIsIf(sections.get(i), models1[1]);
+                                }
                             }
                             if (isIf) {
                                 a.setSection(sections.get(i));
@@ -133,9 +141,10 @@
     private boolean getIsIf(String str, String model) {
         Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model);
         String model2 = "";
-        while (matcher.find()) {
+        if (matcher.find()) {
             model2 += matcher.group();
-            break;
+        }else {
+            model2=model;
         }
         if (str.contains("鈮�") || str.contains(">=")) {
             String param = str.replace("鈮�", "").replace(">=", "");
@@ -151,7 +160,11 @@
             return new BigDecimal(model2).compareTo(new BigDecimal(param)) < 0;
         } else if (str.contains("=")) {
             String param = str.replace("=", "");
-            return new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0;
+            if (matcher.find()) {
+                return new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0;
+            }else {
+                return model2.equals(param);
+            }
         }
         return false;
     }
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 562ad63..5e796ca 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
@@ -32,13 +32,16 @@
     @ValueTableShow(value = 8,name = "妫�楠屽紑濮嬫椂闂�")
     private String insTime;
 
+    @ValueTableShow(value = 9,name = "妫�楠岀粨鏉熸椂闂�")
+    private String submitTime;
+
     @ValueTableShow(value = 6,name = "绾﹀畾鏃堕棿")
     private String appointed;
 
     @ValueTableShow(value = 7,name = "涓嬪彂鏃堕棿")
     private String sendTime;
 
-    @ValueTableShow(value = 8,name = "鐞嗙敱")
+    @ValueTableShow(value = 10,name = "鐞嗙敱")
     private String verifyTell;
 
 
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index b748420..006d20c 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -14,6 +14,7 @@
         <result property="appointed" column="appointed" jdbcType="TIMESTAMP"/>
         <result property="state" column="state" jdbcType="INTEGER"/>
         <result property="remark" column="remark" jdbcType="VARCHAR"/>
+        <result property="rule" column="rule" jdbcType="VARCHAR"/>
         <result property="otcCode" column="otc_code" jdbcType="VARCHAR"/>
         <result property="createUser" column="create_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index f817aad..46551d7 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,8 +27,18 @@
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
         select * from(select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,verify_user,ios.id
-        orderStateId,ios.create_time,ios.sort,sort_time,version,ios.num-1 num1
+        a.*,
+        ios.ins_state,
+        ios.verify_tell,
+        verify_user,
+        ios.id orderStateId,
+        ios.create_time,
+        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory ORDER BY ins_time DESC LIMIT 1) AS ins_time ,
+        iou.submit_time ,
+        ios.sort,
+        sort_time,
+        version,
+        ios.num-1 num1
         FROM
         (
         SELECT
@@ -41,7 +51,6 @@
         userName,
         checkName,
         ip.son_laboratory,
-        io.ins_time,
         io.laboratory
         FROM
         ins_order io
@@ -74,6 +83,7 @@
         io.id
         ) a
         LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
+        LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num
         ORDER BY
         ios.sort,
         sort_time desc,
@@ -263,6 +273,8 @@
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -331,6 +343,8 @@
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -403,6 +417,8 @@
                ipr.ins_value,
                ipr.com_value,
                ipr.equip_value,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -475,6 +491,8 @@
                ipr.ins_value,
                ipr.com_value,
                ipr.equip_value,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -576,6 +594,8 @@
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -642,6 +662,8 @@
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -706,6 +728,8 @@
                ipr.com_value,
                ipr.equip_value,
                ipr.equip_name,
+               ipr.before_check,
+               ipr.after_check,
                ipr2.frequency,
                ipr2.often,
                ipr2.port,
@@ -840,6 +864,8 @@
         <result property="insValue" column="ins_value" jdbcType="VARCHAR"/>
         <result property="comValue" column="com_value" jdbcType="VARCHAR"/>
         <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/>
+        <result property="beforeCheck" column="before_check" jdbcType="VARCHAR"/>
+        <result property="afterCheck" column="after_check" jdbcType="VARCHAR"/>
         <result property="equipName" column="equip_name" jdbcType="VARBINARY"/>
     </resultMap>
     <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2">
@@ -918,7 +944,7 @@
         from ins_sample isa
                  left join ins_product ip on isa.id = ip.ins_sample_id
         where son_laboratory = '鐢佃矾璇曢獙'
-        and state=1
-        and ins_order_id=#{insOrderId}
+          and state = 1
+          and ins_order_id = #{insOrderId}
     </select>
 </mapper>

--
Gitblit v1.9.3