From e29f147aab5b0b0b794d611b522b67b94423e3cf Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 07 九月 2023 17:56:57 +0800
Subject: [PATCH] 修改bug

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java |   90 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 73 insertions(+), 17 deletions(-)

diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
index 94334c3..4d23c99 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/PlanServiceImpl.java
@@ -1,17 +1,29 @@
 package com.yuanchu.limslaboratory.service.impl;
 
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yuanchu.limslaboratory.mapper.*;
 import com.yuanchu.limslaboratory.pojo.*;
 import com.yuanchu.limslaboratory.service.PlanService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
+import com.yuanchu.limslaboratory.utils.ServletUtils;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -42,10 +54,25 @@
     @Resource
     InspectionMapper inspectionMapper;
 
+    @Resource
+    InspectionMaterialMapper inspectionMaterialMapper;
+
+    @Resource
+    LinkDetectionMapper linkDetectionMapper;
+
+    @Resource
+    private NonConformanceReviewMapper nonConformanceReviewMapper;
+
     //鏌ヨ妫�楠岃鍒�
     @Override
-    public List<Map<String, Object>> selectAllPlan(String code, String beginTime, String endTime, Integer status) {
-        return planMapper.selectAllPlan(code, beginTime, endTime, status);
+    public List<Map<String, Object>> selectAllPlan(String code, String beginTime, String endTime, Integer status,Boolean isLookMe) {
+        Object obj = RedisUtil.get(ServletUtils.getRequest().getHeader("X-Token"));
+        Integer id=null;
+        if(isLookMe&&!ObjectUtils.isEmpty(obj)){
+                Map loginUser = (Map) obj;
+                id=Integer.parseInt(String.valueOf(loginUser.get("id")));
+        }
+        return planMapper.selectAllPlan(code, beginTime, endTime, status,isLookMe,id);
     }
 
     //鍒嗛厤-->閫夋嫨妫�楠屼汉
@@ -75,21 +102,24 @@
     //妫�楠�
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public String check(Integer id, String value) {
-        //濡傛灉妫�楠屽�间笉涓虹┖
-        if (StringUtils.isNotBlank(value)) {
-            InspectionProduct inspectionProduct = inspectionProductMapper.selectById(id);
-            //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
-            String required = inspectionProduct.getRequired();//鏍囧噯鍊�
-            String internal = inspectionProduct.getInternal();//鍐呮帶鍊�
-            inspectionProduct.setTestValue(value);
-            inspectionProduct.setTestState(checkValues(required, internal, value));
-            inspectionProductMapper.updateById(inspectionProduct);
-        } else {
-            //濡傛灉妫�楠屽�间负绌�,灏嗗師鏈夌殑妫�楠岀粨璁鸿鐩栦负null
-            inspectionProductMapper.upda(id);
+    public Integer check(Integer id, String value) {
+        InspectionProduct inspectionProduct = inspectionProductMapper.selectById(id);
+        //鍒ゆ柇妫�娴嬪�兼槸鍚︽弧瓒虫爣鍑嗗�煎拰鍐呮帶鍊肩殑瑕佹眰,濡傛灉涓嶆弧瓒冲垯妫�楠岀粨璁轰负涓嶅悎鏍�0
+        String required = inspectionProduct.getRequired();//鏍囧噯鍊�
+        String internal = inspectionProduct.getInternal();//鍐呮帶鍊�
+        inspectionProduct.setTestValue(value);
+        List<Integer> list = Arrays.stream(value.split(",")).map(s -> {
+            int values = checkValues(required, internal, s);
+            return values;
+        }).collect(Collectors.toList());
+        if (list.contains(0)) {
+            //濡傛灉鍏朵腑涓�涓楠屽�间笉鍚堟牸鍒欒椤圭洰妫�楠屼笉鍚堟牸
+            inspectionProduct.setTestState(0);
+        }else {
+            inspectionProduct.setTestState(1);
         }
-        return "鎻愪氦鎴愬姛!";
+        inspectionProductMapper.updateById(inspectionProduct);
+        return inspectionProduct.getTestState();
     }
 
     //涓婃姤
@@ -101,7 +131,7 @@
         List<Integer> results = inspectionProductMapper.getresult(id);
         int count = 0;
         for (Integer result : results) {
-            if (result != null && result==1) {
+            if (result != null && result == 1) {
                 count++;
             }
         }
@@ -110,7 +140,32 @@
             Inspection inspection = new Inspection();
             inspection.setId(id);
             inspection.setInspectionStatus(0);
+            //鏇存柊妫�楠屽崟
             inspectionMapper.updateById(inspection);
+            //娣诲姞涓嶅悎鏍间俊鎭埌璇勫
+            Map<String, Object> map = inspectionMapper.selectImAndUserName(id);
+            NonConformanceReview nonConformanceReview = new NonConformanceReview();
+            LocalDateTime localDateTime = DateUtil.toLocalDateTime(DateUtil.date());
+            nonConformanceReview.setCreatedTime(localDateTime);
+            nonConformanceReview.setUpdatedTime(localDateTime);
+            nonConformanceReview.setMaterialCode(String.valueOf(map.get("code")));
+            nonConformanceReview.setInspectionCode(String.valueOf(map.get("iCode")));
+            nonConformanceReview.setMaterialName(String.valueOf(map.get("name")));
+            nonConformanceReview.setSpecifications(String.valueOf(map.get("specifications")));
+            nonConformanceReview.setSpecificationsId(Integer.valueOf(String.valueOf(map.get("specificationsId"))));
+            nonConformanceReview.setState(1);
+            Date iCreateTime = DateUtil.parse(String.valueOf(map.get("iCreateTime")));
+            nonConformanceReview.setCreateTime(iCreateTime);
+            nonConformanceReview.setTestManager(String.valueOf(map.get("uName")));
+            Object obj = RedisUtil.get(ServletUtils.getRequest().getHeader("X-Token"));
+            if (!ObjectUtils.isEmpty(obj)) {
+                Map loginUser = (Map) obj;
+                nonConformanceReview.setCreatedUser(String.valueOf(loginUser.get("id")));
+            }
+            int insert = nonConformanceReviewMapper.insert(nonConformanceReview);
+            if(insert<1){
+                return "涓婃姤澶辫触";
+            }
         } else if (count == results.size()) {
             Inspection inspection = new Inspection();
             inspection.setId(id);
@@ -133,6 +188,7 @@
         report.setStatus(0);
         report.setConclusion(conclusion);
         report.setInspectionId(id);
+        //鏂板妫�楠屾姤鍛�
         reportMapper.insert(report);
         return "涓婃姤鎴愬姛!";
     }

--
Gitblit v1.9.3