From 8f1cc22902458459caaa41cde90952e25f869a8d Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 04 七月 2024 16:32:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java | 70 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 insertions(+), 5 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java index 37e6f93..4744894 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java @@ -1,16 +1,24 @@ package com.yuanchu.mom.service.impl; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.excel.StructureTestObjectData; +import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.ProductMapper; +import com.yuanchu.mom.mapper.StructureTestObjectMapper; +import com.yuanchu.mom.pojo.Laboratory; import com.yuanchu.mom.pojo.Product; +import com.yuanchu.mom.pojo.StructureTestObject; +import com.yuanchu.mom.service.LaboratoryService; import com.yuanchu.mom.service.ProductService; import com.yuanchu.mom.utils.QueryWrappers; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; @@ -29,6 +37,10 @@ private ProductMapper productMapper; private GetLook getLook; + + private LaboratoryService laboratoryService; + + private StructureTestObjectMapper structureTestObjectMapper; @Override public Map<String, Object> selectProductListByObjectId(Page page, Product product) { @@ -55,12 +67,60 @@ return productMapper.deleteById(id); } + @Transactional(rollbackFor = Exception.class) @Override public void importPartExcel(List<StructureTestObjectData> list) { - System.out.println(list); + list.forEach(i -> { + // 妫�楠屽璞� + StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery() + .eq(StructureTestObject::getSpecimenName, i.getSpecimenName()) + .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); + Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery() + .eq(Laboratory::getLaboratoryName, i.getLaboratory())); + if (ObjectUtils.isEmpty(laboratory)) { + throw new ErrorException("鏈壘鍒拌鍦烘墍锛�" + i.getLaboratory() + "锛岃妫�鏌ユ槸鍚﹀瓨鍦ㄨ鍦烘墍锛�"); + } + // 濡傛灉涓虹┖杩涜鏂板 + if(ObjectUtils.isEmpty(structureTestObject1)) { + StructureTestObject structureTestObject = new StructureTestObject(); + structureTestObject.setLaboratoryId(laboratory.getId()); + structureTestObject.setSpecimenName(i.getSpecimenName()); + structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn()); + structureTestObject.setCode(i.getCode()); + structureTestObjectMapper.insert(structureTestObject); + + // 浜у搧 + Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() + .eq(Product::getName, i.getName()) + .eq(Product::getNameEn, i.getNameEn())); + if (ObjectUtils.isEmpty(product)){ + Product product1 = new Product(); + product1.setName(i.getName()); + product1.setNameEn(i.getNameEn()); + product1.setObjectId(structureTestObject.getId()); + baseMapper.insert(product1); + } + } else { + structureTestObject1.setCode(i.getCode()); + structureTestObject1.setLaboratoryId(laboratory.getId()); + structureTestObjectMapper.updateById(structureTestObject1); + // 浜у搧 + Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() + .eq(Product::getName, i.getName()) + .eq(Product::getNameEn, i.getNameEn())); + if (ObjectUtils.isEmpty(product)){ + Product product1 = new Product(); + product1.setName(i.getName()); + product1.setNameEn(i.getNameEn()); + product1.setObjectId(structureTestObject1.getId()); + baseMapper.insert(product1); + } else { + product.setName(i.getName()); + product.setNameEn(i.getNameEn()); + product.setObjectId(structureTestObject1.getId()); + baseMapper.updateById(product); + } + } + }); } } - - - - -- Gitblit v1.9.3