From 730443b70de88d328ffa275f51f69280fda979e4 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 30 八月 2023 12:59:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 85 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 6bc5732..4e216bd 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,23 +1,29 @@
 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.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.mapper.LinkDetectionMapper;
+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.LinkBasicInformationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.limslaboratory.service.LinkDetectionService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
+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.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -29,15 +35,34 @@
     @Resource
     private LinkBasicInformationMapper linkBasicInformationMapper;
 
+    @Resource
+    private LinkDetectionMapper linkDetectionMapper;
+
     @Autowired
     private LinkDetectionService linkDetectionService;
 
+    @Autowired
+    private SpecificationsMapper specificationsMapperOn;
+
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
-        String code = MyUtil.getTimeSixNumberCode("SL");
+        System.out.println(linkBasicInformation.getLinkDetectionList());
+        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());
+        });
+        //濮旀墭缂栧彿
+        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;
         }
@@ -48,4 +73,60 @@
     public IPage<Map<String, Object>> getLinkBasicPage(Page<Object> page, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus) {
         return linkBasicInformationMapper.getLinkBasicPage(page, entrustCoding, sampleName, entrusted, inspectionStatus);
     }
+
+    //鏌ヨ鎵�鏈夊鎵樻楠屽拰鏍峰搧
+    @Override
+    public List<Map<String, Object>> selectLinkAll() {
+        return linkBasicInformationMapper.selectLinkAll();
+    }
+
+    @Override
+    public String getViewUUID(int day) {
+        String id = String.valueOf(UUID.randomUUID());
+        RedisUtil.set("viewId", id, day * 24 * 60);
+        return id;
+    }
+
+    @Override
+    public Map<String, String> selectViewUUID() {
+        Map<String, String> map = new HashMap<>();
+        try {
+            map.put("id", RedisUtil.get("viewId").toString());
+            map.put("time", String.valueOf(RedisUtil.getExpire("viewId")));
+        } catch (Exception e) {
+            map.put("id", null);
+            map.put("time", null);
+        }
+        return map;
+    }
+
+    @Override
+    public boolean isIfViewUUID(String uuid) {
+        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);
+    }
+
+
 }

--
Gitblit v1.9.3