From bb79df40aa4c1c80f294f2d1965304a3215744cb Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 31 八月 2023 17:24:50 +0800
Subject: [PATCH] 修改委托信息

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
index db1d27a..895673c 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java
@@ -2,11 +2,16 @@
 
 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.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.mapper.LinkDetectionMapper;
+import com.yuanchu.limslaboratory.mapper.ProductMapper;
+import com.yuanchu.limslaboratory.mapper.SpecificationsMapper;
 import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
 import com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper;
 import com.yuanchu.limslaboratory.pojo.LinkDetection;
+import com.yuanchu.limslaboratory.pojo.Specifications;
+import com.yuanchu.limslaboratory.service.InspectionService;
 import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.limslaboratory.service.LinkDetectionService;
@@ -18,6 +23,8 @@
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -39,17 +46,40 @@
     @Autowired
     private LinkDetectionService linkDetectionService;
 
+    @Autowired
+    private SpecificationsMapper specificationsMapperOn;
+
+    @Resource
+    private InspectionService inspectionService;
+
+    @Resource
+    private ProductMapper productMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
         QueryWrapper<LinkBasicInformation> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().select(LinkBasicInformation::getId).eq(LinkBasicInformation::getUid, linkBasicInformation.getUid());
         LinkBasicInformation linkBasicInformation1 = linkBasicInformationMapper.selectOne(queryWrapper);
-        Optional.ofNullable(linkBasicInformation1.getId()).ifPresent(l->{
-            //鎵ц鍒犻櫎
-            linkDetectionMapper.deleteByLinkbasic(linkBasicInformation1.getId());
-            linkBasicInformationMapper.deleteByID(linkBasicInformation1.getId());
+        Optional<Integer> optionalId = Optional.ofNullable(linkBasicInformation1)
+                .map(LinkBasicInformation::getId);
+        AtomicBoolean b=new AtomicBoolean(true);
+        optionalId.ifPresent(l->{
+            QueryWrapper<LinkDetection>queryWrapperLd = new QueryWrapper<>();
+            queryWrapperLd.lambda().select(LinkDetection::getInspectionStatus).eq(LinkDetection::getLinkBasicId,linkBasicInformation1.getId());
+            List<LinkDetection> linkDetections = linkDetectionMapper.selectList(queryWrapperLd).stream().filter(ld->ld.getInspectionStatus()==2).collect(Collectors.toList());
+            if(linkDetections.size()<1){
+                //鎵ц鍒犻櫎
+                linkDetectionMapper.deleteByLinkbasic(linkBasicInformation1.getId());
+                linkBasicInformationMapper.deleteByID(linkBasicInformation1.getId());
+                b.set(false);
+            }else {
+                b.set(true);
+            }
         });
+        if(b.get()){
+            return "鎻愪氦澶辫触锛屽惈鏈夊凡鎶ユ鏍峰搧";
+        }
         //濮旀墭缂栧彿
         String code = MyUtil.getTimeSixNumberCode("SL", "SL");
         linkBasicInformation.setEntrustCoding(code);
@@ -113,5 +143,36 @@
         linkDetectionService.updateById(linkDetection);
     }
 
+    @Override
+    public Specifications getSpecificationsName(String id) {
+        QueryWrapper<Specifications>queryWrapper=new QueryWrapper<>();
+        queryWrapper.lambda().select(Specifications::getName)
+                .eq(Specifications::getId,id)
+                .eq(Specifications::getState,1);
+        return specificationsMapperOn.selectOne(queryWrapper);
+    }
+
+    @Override
+    public List<Map<String,Object>> lookProByVer(String name, String mcode, String specifications,Integer version, Integer id) {
+        LinkDetection linkDetection = linkDetectionMapper.selectById(id);
+        List<String> experiments = Arrays.stream(linkDetection.getExperiment().split(",")).collect(Collectors.toList());
+        //鏍规嵁鍨嬪彿id鍜岄」鐩俊鎭煡璇㈤」鐩俊鎭�
+        List<Map<String, Object>> products = new ArrayList<>();
+        for (String exper : experiments) {
+            List<Map<String, Object>> list = productMapper.selFath(Integer.parseInt(linkDetection.getSpecificationsModels()), exper, version);
+            if (ObjectUtils.isEmpty(list)) {
+                Map<String, Object> project = productMapper.selNam(Integer.parseInt(linkDetection.getSpecificationsModels()), exper, version);
+                products.add(project);
+            }
+            products.addAll(list);
+        }
+        return products;
+    }
+
+    @Override
+    public Object chooseVer( LinkDetection linkDetection) {
+        return productMapper.chooseVersion(Integer.parseInt(linkDetection.getSpecificationsModels()));
+    }
+
 
 }

--
Gitblit v1.9.3