From 2dbc49184bd74845c8da694c20d6fd03d7ac87e0 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 九月 2023 16:16:21 +0800
Subject: [PATCH] 修改   9.21

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java |   80 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 70 insertions(+), 10 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
index 23e7853..61ba2ce 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/RawInsProductServiceImpl.java
@@ -1,17 +1,24 @@
 package com.yuanchu.mom.service.impl;
 
+
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.mapper.RawInsProductMapper;
+import com.yuanchu.mom.mapper.RawInspectMapper;
 import com.yuanchu.mom.pojo.RawInsProduct;
+import com.yuanchu.mom.pojo.RawInspect;
 import com.yuanchu.mom.service.RawInsProductService;
 import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.sql.Wrapper;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 鍘熸潗鏂欑敵璇峰崟涓殑椤圭洰鍒楄〃(RawInsProduct)琛ㄦ湇鍔″疄鐜扮被
@@ -25,24 +32,76 @@
     @Resource
     RawInsProductMapper rawInsProductMapper;
 
-    //鏇存柊妫�楠岄」鐩�
+    @Resource
+    RawInspectMapper rawInspectMapper;
+
+    //鏇存柊妫�楠岄」鐩�(濉啓妫�楠屽��,妫�楠岃澶�)
     @Override
-    public void updaterawInsProduct(int userId, RawInsProduct rawInsProduct) {
+    public void updaterawInsProduct(int userId, Integer rpId, String testValue, Integer devId) {
+        RawInsProduct rawInsProduct = rawInsProductMapper.selectById(rpId);
+        //璧嬪�艰澶�
+        rawInsProduct.setDeviceId(devId);
         //璧嬪�兼楠屽憳id
         rawInsProduct.setUserId(userId);
         //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
-        String testValue = rawInsProduct.getTestValue();//妫�楠屽��
         String required = rawInsProduct.getRequired();//鏍囧噯鍊�
         String internal = rawInsProduct.getInternal();//鍐呮帶鍊�
-        rawInsProduct.setTestState(checkValues(required, internal, testValue));
-        //鏍规嵁妫�楠岄」鐩悕鍜屽叧鑱旂殑妫�楠屽崟id鏉ユ煡璇㈡楠岄」鐩殑鏁版嵁
-        LambdaUpdateWrapper<RawInsProduct> updateWrapper = new LambdaUpdateWrapper<>();
-        updateWrapper.eq(RawInsProduct::getRawInspectId, rawInsProduct.getRawInspectId())
-                .eq(RawInsProduct::getName, rawInsProduct.getName());
-        rawInsProductMapper.update(rawInsProduct, updateWrapper);
+        rawInsProduct.setTestValue(testValue);
+        if (testValue.equals("杩�")){
+            rawInsProduct.setTestState(1);
+        }else if (testValue.equals("涓嶈繃")){
+            rawInsProduct.setTestState(0);
+        }else {
+            char req = required.charAt(0);
+            List<Integer> list = Arrays.stream(testValue.split(",")).map(s -> {
+                int values=2;
+                if (req == '>' || req == '<' || req == '=') {
+                    values = checkValues(required, internal, s);
+                }else {
+                    values = conValues(required, internal, s);
+                }
+                return values;
+            }).collect(Collectors.toList());
+            if (list.contains(0)) {
+                //濡傛灉鍏朵腑涓�涓楠屽�间笉鍚堟牸鍒欒椤圭洰妫�楠屼笉鍚堟牸
+                rawInsProduct.setTestState(0);
+            } else {
+                rawInsProduct.setTestState(1);
+            }
+        }
+        /*鏇存柊鍘熸潗鏂欐楠岄」鐩〃*/
+        rawInsProductMapper.updateById(rawInsProduct);
+        /*鏇存柊鍘熸潗鏂欐楠屽崟*/
+        RawInspect rawInspect = new RawInspect();
+        rawInspect.setId(rawInsProduct.getRawInspectId());
+        rawInspectMapper.updateById(rawInspect);
+    }
+
+    //鍙洿鏀硅澶�,涔嬪墠鐨勬楠屽�煎垹鎺�
+    @Override
+    public void updateDevByRpId(Integer rpId, Integer devId) {
+        LambdaUpdateWrapper<RawInsProduct> updateWrapper = Wrappers.<RawInsProduct>lambdaUpdate()
+                .eq(RawInsProduct::getId, rpId)
+                .set(RawInsProduct::getDeviceId, devId)
+                .set(RawInsProduct::getTestState, null)
+                .set(RawInsProduct::getTestValue, null);
+        rawInsProductMapper.update(new RawInsProduct(), updateWrapper);
     }
 
     /*鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�*/
+    //濡傛灉鏄辩殑鎿嶄綔
+    private int conValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
+        double standVar = Double.parseDouble(standardValueStr);
+        double controlVar = Double.parseDouble(controlValueStr);
+        double detecVar = Double.parseDouble(detectionValueStr);
+        double a = standVar + controlVar;
+        double b = standVar - controlVar;
+        if (detecVar >= b && detecVar <= a) {
+            return 1;
+        }
+        return 0;
+    }
+    //濡傛灉鏄�> , < ,=鐨勬搷浣�
     private int checkValues(String standardValueStr, String controlValueStr, String detectionValueStr) {
         boolean isStandardValueSatisfied = isValueSatisfied(standardValueStr, detectionValueStr);
         boolean isControlValueSatisfied = isValueSatisfied(controlValueStr, detectionValueStr);
@@ -88,5 +147,6 @@
             }
         }
     }
+
 }
 

--
Gitblit v1.9.3