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