From 9049b77f12ec8e41f533be100132ea71163af35e Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期四, 31 八月 2023 16:44:29 +0800 Subject: [PATCH] 修改委托信息 --- inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/LinkBasicInformationServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 129 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..96a7fc0 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,33 @@ 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.*; +import java.util.stream.Collectors; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 @@ -25,18 +39,131 @@ @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.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<Integer> optionalId = Optional.ofNullable(linkBasicInformation1) + .map(LinkBasicInformation::getId); + optionalId.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); + } + + @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); + System.out.println(linkDetection); + List<String> experiments = Arrays.stream(linkDetection.getExperiment().split(",")).collect(Collectors.toList()); + System.out.println(experiments); + System.out.println("=============================="); + //鏍规嵁鍨嬪彿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