From 087991c76f078defe5eb55d84223021b4199fb3d Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 17 二月 2025 11:22:50 +0800
Subject: [PATCH] 设备模块修改bug

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java |   75 +++++++++++++++++++++++++++++++++++--
 1 files changed, 71 insertions(+), 4 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 6949320..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,17 +1,27 @@
 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;
 import java.util.Map;
 
 /**
@@ -27,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) {
@@ -52,8 +66,61 @@
     public int delProduct(Integer id) {
         return productMapper.deleteById(id);
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void importPartExcel(List<StructureTestObjectData> 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