From 064457406bda554e713aea8bada1bb066be42b8e Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期六, 23 九月 2023 12:39:29 +0800
Subject: [PATCH] 9-23 去鵷雏管理端验证
---
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java | 136 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 132 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..ae27531 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,34 @@
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;
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.*;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
@@ -29,15 +40,54 @@
@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) {
- String code = MyUtil.getTimeSixNumberCode("SL");
+ System.err.println(linkBasicInformation);
+ System.out.println("============>");
+ 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(false);
+ 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.isEmpty()){
+ //鎵ц鍒犻櫎
+ linkDetectionMapper.deleteByLinkbasic(linkBasicInformation1.getId());
+ linkBasicInformationMapper.deleteByID(linkBasicInformation1.getId());
+ }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;
}
@@ -48,4 +98,82 @@
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);
+ }
+
+ @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