From 084c0c3ba5600e0b406ea9c7c7c158a527933d4c Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 30 八月 2023 09:12:58 +0800
Subject: [PATCH] 修改接口新增方式,

---
 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java |   79 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 77 insertions(+), 2 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 1d8a285..6cde1b5 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,19 +1,27 @@
 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.pojo.LinkBasicInformation;
 import com.yuanchu.limslaboratory.mapper.LinkBasicInformationMapper;
+import com.yuanchu.limslaboratory.pojo.LinkDetection;
 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.*;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -25,18 +33,85 @@
     @Resource
     private LinkBasicInformationMapper linkBasicInformationMapper;
 
+    @Resource
+    private LinkDetectionMapper linkDetectionMapper;
+
     @Autowired
     private LinkDetectionService linkDetectionService;
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public String addLinkBasicInformation(LinkBasicInformation linkBasicInformation) {
-        String code = MyUtil.getTimeSixNumberCode("SL");
+        QueryWrapper<LinkBasicInformation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().select(LinkBasicInformation::getId).eq(LinkBasicInformation::getUid, linkBasicInformation.getUid());
+        LinkBasicInformation linkBasicInformation1 = linkBasicInformationMapper.selectOne(queryWrapper);
+        Optional.ofNullable(linkBasicInformation.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;
         }
         return null;
     }
+
+    @Override
+    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);
+    }
+
+
 }

--
Gitblit v1.9.3