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 ++++++++++++++++++++++++++++++++--
 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java    |    2 
 inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml                                  |    3 
 inspect-server/src/main/resources/mapper/StandardProductListMapper.xml                                 |   14 +++
 inspect-server/src/main/resources/mapper/StandardTreeMapper.xml                                        |   16 +++
 cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java                             |    2 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java                     |    1 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java                      |    1 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java                            |    6 +
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java           |    4 +
 inspect-server/src/main/java/com/yuanchu/mom/service/StandardMethodListService.java                    |    2 
 performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java |    1 
 cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java                      |   16 +++
 13 files changed, 195 insertions(+), 13 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
index 0bcb4ac..cf1347c 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
@@ -223,6 +223,7 @@
                         db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
                                 .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                                 .eq(StructureItemParameter::getSample, str.getSample())
+                                .last("limit 1")
                         );
                     } catch (Exception e) {
                         throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem());
@@ -233,6 +234,7 @@
                                 .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
                                 .eq(StructureItemParameter::getSample, str.getSample())
                                 .eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass())
+                                .last("limit 1")
                         );
                     } catch (Exception e) {
                         throw new ErrorException("閲嶅鏌ヨ锛�" + str.getInspectionItem() + " " + str.getInspectionItemSubclass());
@@ -282,7 +284,7 @@
                 if (list1.get(13) == null) {
                     str.setPrice(null);
                 } else {
-                    str.setPrice(BigDecimal.valueOf(Long.parseLong((list1.get(13).toString()))));
+                    str.setPrice(list1.get(13) + "");
                 }
 
                 if (list1.get(14) == null) {
@@ -334,6 +336,18 @@
                 } else {
                     str.setTemplateId(null);
                 }
+                try {
+                    if (list1.get(22) != null) {
+                        str.setInspectionItemClass(list1.get(22) + "");
+                    }
+                } catch (Exception e) {
+                }
+                try {
+                    if (list1.get(23) != null) {
+                        str.setInspectionItemClassEn(list1.get(23) + "");
+                    }
+                } catch (Exception e) {
+                }
                 lists.add(str);
             }
         });
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
index 9d59109..fac6580 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/StructureItemParameter.java
@@ -46,7 +46,7 @@
 
     @ValueTableShow(4)
     @ApiModelProperty(value = "鍗曚环(鍏�)")
-    private BigDecimal price;
+    private String price;
 
     @ApiModelProperty(value = "鍦烘墍")
     private String laboratory;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
index e9d4f44..24fa385 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
@@ -31,6 +31,7 @@
 
     List<StandardMethodList> selectListEnum();
 
+    Integer getStandardMethodId(String code);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java
index 3d5d0bf..a264777 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardProductListMapper.java
@@ -14,6 +14,7 @@
 
     IPage<StandardProductList> standardProductListIPage(Integer id, String tree, IPage<StandardProductList> iPage, String laboratory, String item, String items);
 
+    StandardProductList getOne(Integer standardMethodListId, String inspectionItem, String sample, String inspectionItemSubclass, String model);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
index 2cf473b..088b697 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardTreeMapper.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.mapper;
 
 import com.yuanchu.mom.dto.FactoryDto;
+import com.yuanchu.mom.dto.SampleDto;
 import com.yuanchu.mom.dto.SampleTypeDto;
 import com.yuanchu.mom.pojo.StandardMethodList;
 import com.yuanchu.mom.pojo.StandardProductList;
@@ -8,6 +9,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
 * @author Administrator
@@ -34,6 +36,10 @@
     List<StandardProductList> selectStandardProductListByTree3(String tree, String sample, String model, String trees);
 
     List<SampleTypeDto> getStandardTree2();
+
+    List<SampleDto> getStandardTree3(String sampleType);
+
+    String getLaboratory(String str);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardMethodListService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardMethodListService.java
index 84529ec..b5cbfc7 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/StandardMethodListService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/StandardMethodListService.java
@@ -23,4 +23,6 @@
 
     List<StandardMethodList> selectStandardMethodEnum();
 
+    Integer getStandardMethodId(String code);
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java
index 83a74fd..82d1f22 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardMethodListServiceImpl.java
@@ -136,6 +136,10 @@
         return standardMethodListMapper.selectListEnum();
     }
 
+    @Override
+    public Integer getStandardMethodId(String code) {
+        return baseMapper.getStandardMethodId(code);
+    }
 }
 
 
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);
             }
         });
     }
diff --git a/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml b/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
index 721b82c..54caf1b 100644
--- a/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
@@ -93,4 +93,7 @@
                 OR structure_test_object_id = '[]'
             )
     </select>
+    <select id="getStandardMethodId" resultType="java.lang.Integer">
+        select id from standard_method where code = #{code}
+    </select>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml b/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml
index 5735cfd..a696171 100644
--- a/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -43,4 +43,18 @@
             and inspection_item_subclass = #{items}
         </if>
     </select>
+    <select id="getOne" resultType="com.yuanchu.mom.pojo.StandardProductList">
+        select * from standard_product_list
+        where standard_method_list_id = #{standardMethodListId}
+        and inspection_item = #{inspectionItem}
+        <if test="sample!=null">
+            and sample = #{sample}
+        </if>
+        <if test="inspectionItemSubclass!=null">
+            and inspection_item_subclass = #{inspectionItemSubclass}
+        </if>
+        <if test="model!=null">
+            and model = #{model}
+        </if>
+    </select>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
index 982cc12..9b04568 100644
--- a/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -56,8 +56,7 @@
         from laboratory l
                  left join structure_test_object sto on sto.laboratory_id = l.id
                  left join product p on p.object_id = sto.id
-                 left join standard_tree st on st.laboratory = l.laboratory_name
-            and st.sample_type = sto.specimen_name
+                 left join standard_tree st on st.sample_type = sto.specimen_name
             and st.sample = p.name
         order by l.id,CAST(sto.code AS DECIMAL),p.id,ISNULL(st.id),st.id
     </select>
@@ -251,4 +250,17 @@
                       OR sample LIKE CONCAT('%', #{tree}, '%')
                   )
     </select>
+    <select id="getStandardTree3" resultType="com.yuanchu.mom.dto.SampleDto">
+        select model label,
+               model value
+        from standard_tree
+        where sample_type = #{sampleType}
+        and sample is null
+    </select>
+    <select id="getLaboratory" resultType="java.lang.String">
+        select l.laboratory_name
+        from structure_test_object sto
+        left join laboratory l on sto.laboratory_id = l.id
+        where sto.specimen_name = #{str}
+    </select>
 </mapper>
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
index 7be9807..c558ea3 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryOutputWorkingHoursController.java
@@ -46,6 +46,7 @@
         return Result.success(auxiliaryOutputWorkingHoursService.selectAuxiliaryOutputWorkingHours(page, entity));
     }
 
+    @ValueClassify("宸ユ椂绠$悊")
     @ApiOperation(value = "缁熻浜ч噺宸ユ椂姹囨�诲拰杈呭姪宸ユ椂姹囨��")
     @PostMapping("/collectWorkingHours")
     public Result collectWorkingHours(){
diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java
index 70f9af3..e65f7e3 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/AuxiliaryWorkingHoursDayController.java
@@ -48,12 +48,14 @@
         return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursDay(page, entity));
     }
 
+    @ValueClassify("宸ユ椂绠$悊")
     @ApiOperation(value = "鏍规嵁缂栧彿鏌ヨ杈呭姪宸ユ椂閰嶇疆淇℃伅")
     @PostMapping("/selectAuxiliaryWorkingHoursByNumber")
     public Result selectAuxiliaryWorkingHoursByNumber(String number) {
         return Result.success(auxiliaryWorkingHoursDayService.selectAuxiliaryWorkingHoursByNumber(number));
     }
 
+    @ValueClassify("宸ユ椂绠$悊")
     @ApiOperation(value = "鏍规嵁缂栧彿褰撳墠鐢ㄦ埛淇℃伅鏌ヨ鎵�鍦ㄧ彮娆�")
     @PostMapping("/selectshiftByUser")
     public Result selectshiftByUser(LocalDateTime dateTime) {

--
Gitblit v1.9.3