From 681ebad558051dd3b18c379b5c06b23bc08c0761 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期五, 14 六月 2024 18:08:10 +0800
Subject: [PATCH] 标准库导入

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java |  140 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 131 insertions(+), 9 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
index 3977838..f96abd5 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardTreeServiceImpl.java
@@ -1,29 +1,34 @@
 package com.yuanchu.mom.service.impl;
 
+import cn.hutool.core.lang.Console;
 import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.dto.FactoryDto;
+import com.yuanchu.mom.dto.LaboratoryDto;
 import com.yuanchu.mom.dto.SampleTypeDto;
-import com.yuanchu.mom.mapper.StandardMethodListMapper;
+import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.StandardProductListMapper;
 import com.yuanchu.mom.mapper.StandardTreeMapper;
 import com.yuanchu.mom.pojo.StandardProductList;
+import com.yuanchu.mom.pojo.StandardTemplate;
 import com.yuanchu.mom.pojo.StandardTree;
-import com.yuanchu.mom.service.StandardMethodListService;
-import com.yuanchu.mom.service.StandardProductListService;
-import com.yuanchu.mom.service.StandardTreeService;
+import com.yuanchu.mom.service.*;
 import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicReference;
 
 /**
  * @author Administrator
@@ -37,17 +42,29 @@
 
     private StandardTreeMapper standardTreeMapper;
 
-    private StandardMethodListMapper standardMethodListMapper;
-
     private StandardMethodListService standardMethodListService;
 
     private StandardProductListMapper standardProductListMapper;
 
     private StandardProductListService standardProductListService;
 
+    private StandardTemplateService standardTemplateService;
+
+    private EnumService enumService;
+
     @Override
     public List<FactoryDto> selectStandardTreeList() {
-        return standardTreeMapper.selectStandardTreeList();
+        List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList();
+        for (FactoryDto factoryDto : factoryDtos) {
+            for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
+                for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
+                    if (sampleTypeDto.getChildren().size() == 0) {
+                        sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
+                    }
+                }
+            }
+        }
+        return factoryDtos;
     }
 
     @Override
@@ -117,7 +134,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int upStandardProducts(Map<String, Object> product) {
-        List<Integer> ids = JSON.parseArray(product.get("ids")+"");
+        List<Integer> ids = JSON.parseArray(product.get("ids") + "");
         StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class);
         standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids));
         return 1;
@@ -132,6 +149,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void inExcelOfTree(MultipartFile file) {
         InputStream inputStream;
         try {
@@ -139,10 +157,114 @@
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
+        List<StandardProductList> lists = new ArrayList<>();
+        AtomicReference<String> laboratory = new AtomicReference<>();
         ExcelUtil.readBySax(inputStream, 0, (i, l, list) -> {
-            System.out.println(list);
+            StandardProductList str = new StandardProductList();
+            if (i == 0 && l == 1) {
+                laboratory.set(standardTreeMapper.getLaboratory(list.get(1) + ""));
+                if (laboratory.get() == null) {
+                    throw new ErrorException("妫�楠屽璞′笉瀛樺湪锛�" + list.get(1));
+                }
+            }
             if (i == 0 && l >= 1) {
+                Integer standardMethodId = standardMethodListService.getStandardMethodId(list.get(0) + "");
+                if (standardMethodId == null) {
+                    throw new ErrorException("鏍囧噯缂栧彿涓嶅瓨鍦細" + list.get(0));
+                }
+                str.setStandardMethodListId(standardMethodId);
+                str.setSampleType(list.get(1) + "");
+                if (list.get(2) != null) {
+                    str.setSample(list.get(2) + "");
+                } else {
+                    str.setSample(null);
+                }
+                if (list.get(3) != null) {
+                    str.setModel(list.get(3) + "");
+                    Long aLong = standardTreeMapper.selectCount(Wrappers.<StandardTree>lambdaQuery()
+                            .eq(StandardTree::getModel, str.getModel())
+                            .eq(StandardTree::getSampleType, list.get(1) + ""));
+                    if (aLong == 0) {
+                        StandardTree standardTree = new StandardTree();
+                        standardTree.setFactory("涓ぉ绉戞妧妫�娴嬩腑蹇�");
+                        standardTree.setLaboratory(laboratory.get());
+                        standardTree.setSampleType(str.getSampleType());
+                        standardTree.setSample(str.getSample());
+                        standardTree.setModel(str.getModel());
+                        standardTreeMapper.insert(standardTree);
+                    }
+                } else {
+                    str.setModel(null);
+                }
+                str.setInspectionItem(list.get(4) + "");
+                if (list.get(6) == null) {
+                    str.setInspectionItemSubclass(null);
+                } else {
+                    str.setInspectionItemSubclass(list.get(6).toString());
+                }
+                StandardProductList db_str;
+                try {
+                    db_str = standardProductListMapper.getOne(str.getStandardMethodListId(),str.getInspectionItem(),str.getSample(),str.getInspectionItemSubclass(),str.getModel());
+                } catch (Exception e) {
+                    throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
+                }
+                if (ObjectUtils.isNotEmpty(db_str)) {
+                    str.setId(db_str.getId());
+                    str.setStructureItemParameterId(db_str.getStructureItemParameterId());
+                }
+                if (list.get(8) != null) {
+                    StringBuilder buffer = new StringBuilder();
+                    String input = list.get(8).toString();
+                    buffer.append("[");
+                    String[] values = input.split("銆�");
+                    for (String value : values) {
+                        buffer.append("\"").append(value.trim()).append("\",");
+                    }
+                    buffer.deleteCharAt(buffer.length() - 1);
+                    buffer.append("]");
+                    str.setMethod(buffer.toString());
+                }
 
+                if (list.get(11) == null) {
+                    str.setTell(null);
+                } else {
+                    str.setTell(list.get(11).toString());
+                }
+
+                if (list.get(12) == null) {
+                    str.setAsk(null);
+                } else {
+                    str.setAsk(list.get(12).toString());
+                }
+
+                if (list.get(13) == null) {
+                    str.setPrice(null);
+                } else {
+                    str.setPrice((list.get(13).toString()));
+                }
+
+                if (list.get(14) == null) {
+                    str.setManHour(null);
+                } else {
+                    str.setManHour(list.get(14).toString());
+                }
+
+                StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list.get(21)));
+                if (standTempIdByName != null) {
+                    str.setTemplateId(standTempIdByName.getId());
+                } else {
+                    throw new ErrorException("妯℃澘涓嶅瓨鍦細" + list.get(21));
+                }
+
+                str.setState(1);
+                lists.add(str);
+            }
+        });
+        lists.forEach(a->{
+            if(a.getId() != null){
+                standardProductListMapper.updateById(a);
+            }else{
+                standardProductListMapper.insert(a);
             }
         });
     }

--
Gitblit v1.9.3