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 |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 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 e9c83d9..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
@@ -1,9 +1,17 @@
 package com.yuanchu.limslaboratory.service.impl;
 
+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;
@@ -11,9 +19,12 @@
 import com.yuanchu.limslaboratory.utils.RedisUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -29,15 +40,53 @@
     @Resource
     private LinkBasicInformationMapper linkBasicInformationMapper;
 
+    @Resource
+    private LinkDetectionMapper linkDetectionMapper;
+
     @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<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);
+        //鏂板鍩烘湰淇℃伅琛�
         int insert = linkBasicInformationMapper.insert(linkBasicInformation);
         if (insert == 1) {
+            //鏂板濮旀墭鏍峰搧琛�
             linkDetectionService.insertListData(linkBasicInformation.getId(), linkBasicInformation.getLinkDetectionList());
             return code;
         }
@@ -80,5 +129,50 @@
         return uuid.equals(RedisUtil.get("viewId"));
     }
 
+    @Override
+    public LinkBasicInformation getContractsSampleInfo(String viewId) {
+        return linkBasicInformationMapper.getLinkBasicInformation(viewId);
+    }
+
+    //鏍规嵁濮旀墭鏍峰搧鍒犻櫎
+    @Override
+    public void delLink(Integer id) {
+        LinkDetection linkDetection = new LinkDetection();
+        linkDetection.setId(id);
+        linkDetection.setState(0);
+        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