From 4696fd707f1c723970eac62d333588b51dffbd2b Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期四, 04 七月 2024 12:37:16 +0800
Subject: [PATCH] 检验对象导入完成
---
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 | 60 +++++++++++++++++++++++++++++
4 files changed, 66 insertions(+), 9 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..33d723d 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,26 @@
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -29,6 +38,10 @@
private ProductMapper productMapper;
private GetLook getLook;
+
+ private LaboratoryService laboratoryService;
+
+ private StructureTestObjectMapper structureTestObjectMapper;
@Override
public Map<String, Object> selectProductListByObjectId(Page page, Product product) {
@@ -55,9 +68,54 @@
return productMapper.deleteById(id);
}
+ @Transactional(rollbackFor = Exception.class)
@Override
public void importPartExcel(List<StructureTestObjectData> list) {
- System.out.println(list);
+ List<StructureTestObject> addList = new ArrayList<>();
+ List<StructureTestObject> updateList = new ArrayList<>();
+ List<Product> addProductList = new ArrayList<>();
+ 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());
+ addList.add(structureTestObject);
+ } else {
+ structureTestObject1.setCode(i.getCode());
+ structureTestObject1.setLaboratoryId(laboratory.getId());
+ updateList.add(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());
+ addProductList.add(product1);
+ }
+ });
+ addList.forEach(i -> {
+ structureTestObjectMapper.insert(i);
+ });
+ saveBatch(addProductList);
+ updateList.forEach(i -> {
+ structureTestObjectMapper.updateById(i);
+ });
}
}
--
Gitblit v1.9.3