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/mapper/ProductMapper.java | 4 +- cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java | 6 +- cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureTestObjectMapper.java | 5 +- cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java | 70 ++++++++++++++++++++++++++++++++-- 4 files changed, 72 insertions(+), 13 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java b/cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java index b891531..753db56 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java @@ -6,12 +6,12 @@ @Data public class StructureTestObjectData { @ExcelProperty(value = "鍦烘墍") - private String laboratoryId; + private String laboratory; - @ExcelProperty(value = "妫�楠屽璞�") + @ExcelProperty(value = "妫�娴嬪璞�") private String specimenName; - @ExcelProperty(value = "妫�楠屽璞�(EN)") + @ExcelProperty(value = "妫�娴嬪璞�(EN)") private String specimenNameEn; @ExcelProperty(value = "瀵硅薄浠e彿") diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java index 964c610..267dbd3 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/ProductMapper.java @@ -1,7 +1,7 @@ package com.yuanchu.mom.mapper; +import com.yuanchu.mom.mybatis_config.MyBaseMapper; import com.yuanchu.mom.pojo.Product; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @author z1292 @@ -9,7 +9,7 @@ * @createDate 2024-04-26 01:11:02 * @Entity com.yuanchu.mom.pojo.Product */ -public interface ProductMapper extends BaseMapper<Product> { +public interface ProductMapper extends MyBaseMapper<Product> { } diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureTestObjectMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureTestObjectMapper.java index 964ab53..59b63ca 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureTestObjectMapper.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/StructureTestObjectMapper.java @@ -1,11 +1,10 @@ package com.yuanchu.mom.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.mom.dto.PageTestObjectDto; -import com.yuanchu.mom.pojo.StructureItemParameter; +import com.yuanchu.mom.mybatis_config.MyBaseMapper; import com.yuanchu.mom.pojo.StructureTestObject; /** @@ -14,7 +13,7 @@ * @author makejava * @since 2024-02-26 17:36:41 */ -public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> { +public interface StructureTestObjectMapper extends MyBaseMapper<StructureTestObject> { IPage<PageTestObjectDto> selectTestObjectList(Page page, QueryWrapper<PageTestObjectDto> ew); } 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