From 578bfcb3f58c5458d2c60fe37c3e56ebcda98e18 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 05 三月 2025 15:15:03 +0800
Subject: [PATCH] 标准功能搬迁

---
 cnas-process/src/main/resources/static/report-deal.docx                                          |    0 
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java              |   12 
 basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java                     |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java                         |   11 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java       |   14 
 basic-server/src/main/resources/mapper/StandardProductListMapper.xml                             |   88 -
 basic-server/src/main/resources/mapper/StructureTestMapper.xml                                   |   10 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java       |   15 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java                     |   10 
 basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java                           |    8 
 basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java                  |   13 
 basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml                          |   42 +
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java            |    8 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java                          |    2 
 basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java                                  |    2 
 basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java                                  |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java                        |    4 
 basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java               |  199 ++---
 basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java                                     |    2 
 basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java                       |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java                                        |    2 
 basic-server/src/main/resources/mapper/StandardMethodMapper.xml                                  |    6 
 basic-server/src/main/resources/mapper/ProductMapper.xml                                         |   10 
 basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java                            |    7 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java      |  351 ++++++++++
 cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java                     |    2 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java |   19 
 basic-server/src/main/resources/mapper/StandardTreeMapper.xml                                    |  252 ++++---
 basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java                                    |    7 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java                  |    6 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java                      |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java                                |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java            |   14 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java                    |    2 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java                              |    2 
 basic-server/src/main/resources/mapper/LaboratoryMapper.xml                                      |    2 
 basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java                          |    4 
 cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java         |    2 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java                    |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java                                  |    2 
 basic-server/src/main/resources/mapper/StandardTemplateMapper.xml                                |    6 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java         |    4 
 basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java                             |    6 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java   |   35 +
 basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java                 |    8 
 basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java                                |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java                     |   10 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java                  |   31 
 basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java               |   17 
 basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java                |    4 
 basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java                                |    6 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java                    |    4 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java                      |    8 
 basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java               |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java           |   20 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java                        |   17 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java                         |   32 
 basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java                    |    2 
 basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java                            |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java         |    8 
 basic-server/src/main/java/com/ruoyi/basic/service/SealService.java                              |    6 
 basic-server/src/main/java/com/ruoyi/basic/vo/StandardProductVO.java                             |   23 
 basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java                                |   18 
 basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java                                     |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java                      |   18 
 basic-server/src/main/resources/mapper/SealMapper.xml                                            |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java                  |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java            |   31 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java                |    4 
 basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java                |  190 +++++
 basic-server/src/main/resources/mapper/CertificationMapper.xml                                   |    2 
 cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java             |    4 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java                 |   41 +
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java      |    8 
 basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java                                   |    2 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java               |   31 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java            |    8 
 basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java              |   10 
 basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java              |    4 
 /dev/null                                                                                        |    8 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java               |    8 
 basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java                                  |    4 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java     |   12 
 basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java                               |    2 
 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java            |    2 
 basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java                                   |    2 
 basic-server/src/main/resources/mapper/StandardMethodListMapper.xml                              |   14 
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java             |  130 ---
 basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java                        |   15 
 89 files changed, 1,258 insertions(+), 725 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
similarity index 70%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
index 9c2a785..a567c11 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/CapacityScopeController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
@@ -1,26 +1,28 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.util.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.PageTestObjectDto;
+import com.ruoyi.basic.dto.ProductDTO1;
+import com.ruoyi.basic.excel.StructureTestObjectData;
+import com.ruoyi.basic.excel.StructureTestObjectListener;
+import com.ruoyi.basic.pojo.Product;
+import com.ruoyi.basic.pojo.StandardTemplate;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.basic.pojo.StructureTestObject;
+import com.ruoyi.basic.service.CapacityScopeService;
+import com.ruoyi.basic.service.ProductService;
+import com.ruoyi.basic.service.StandardTemplateService;
+import com.ruoyi.basic.service.StructureItemParameterService;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.system.service.ISysDictTypeService;
-import com.ruoyi.inspect.dto.PageTestObjectDto;
-import com.ruoyi.inspect.dto.ProductDTO1;
-import com.ruoyi.inspect.excel.StructureTestObjectData;
-import com.ruoyi.inspect.excel.StructureTestObjectListener;
-import com.ruoyi.inspect.pojo.Product;
-import com.ruoyi.inspect.pojo.StandardTemplate;
-import com.ruoyi.inspect.pojo.StructureItemParameter;
-import com.ruoyi.inspect.pojo.StructureTestObject;
-import com.ruoyi.inspect.service.CapacityScopeService;
-import com.ruoyi.inspect.service.ProductService;
-import com.ruoyi.inspect.service.StandardTemplateService;
-import com.ruoyi.inspect.service.StructureItemParameterService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -60,8 +62,8 @@
     private StandardTemplateService standardTemplateService;
 
     @ApiOperation(value = "鑾峰彇椤圭洰妫�楠屽弬鏁板垪琛�")
-    @PostMapping("/selectItemParameterList")
-    public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) throws Exception {
+    @GetMapping("/selectItemParameterList")
+    public Result selectItemParameterList(Page page, StructureItemParameter itemParameter) throws Exception {
         return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter));
     }
 
@@ -72,7 +74,7 @@
     }
 
     @ApiOperation(value = "鍒犻櫎椤圭洰妫�楠屽弬鏁�")
-    @PostMapping("/delItemParameter")
+    @DeleteMapping("/delItemParameter")
     public Result<?> delItemParameter(Integer id) {
         return Result.success(capacityScopeService.delItemParameter(id));
     }
@@ -84,8 +86,8 @@
     }
 
     @ApiOperation(value = "鑾峰彇妫�楠屽璞�")
-    @PostMapping("/selectTestObjectList")
-    public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) throws Exception {
+    @GetMapping("/selectTestObjectList")
+    public Result selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) throws Exception {
         return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto));
     }
 
@@ -96,7 +98,7 @@
     }
 
     @ApiOperation(value = "鍒犻櫎妫�楠屽璞�")
-    @PostMapping("/delTestObject")
+    @DeleteMapping("/delTestObject")
     public Result<?> delTestObject(Integer id) {
         return Result.success(capacityScopeService.delTestObject(id));
     }
@@ -113,15 +115,27 @@
         return Result.success(capacityScopeService.selectTestObjectByName());
     }
 
+    @ApiOperation(value = "鑾峰彇妫�楠岄」鍜屽瓙椤�")
+    @GetMapping("/selectTestInspectionItem")
+    public Result selectTestObjectInspectionItem(String specimenName) {
+        return Result.success(structureItemParameterService.selectTestObjectInspectionItem(specimenName));
+    }
+
+    @ApiOperation(value = "鑾峰彇妫�楠岄」鍜屽瓙椤�")
+    @GetMapping("/selectTestInspectionItemSub")
+    public Result selectTestInspectionItemSub(String inspectionItemSubclass) {
+        return Result.success(structureItemParameterService.selectTestInspectionItemSub(inspectionItemSubclass));
+    }
+
     @ApiOperation(value = "璁惧閲岄潰閫夋嫨妫�楠岄」鐩�(鏍戝舰缁撴瀯)")
-    @PostMapping("/getInsProduction")
+    @GetMapping("/getInsProduction")
     public Result getInsProduction() {
         return Result.success(capacityScopeService.getInsProduction());
     }
 
     @ApiOperation(value = "缁存姢妫�楠屽璞$殑浜у搧")
-    @PostMapping("/selectProductListByObjectId")
-    public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) throws Exception {
+    @GetMapping("/selectProductListByObjectId")
+    public Result selectProductListByObjectId(Page page, ProductDTO1 productDTO) throws Exception {
         return Result.success(productService.selectProductListByObjectId(page, productDTO));
     }
 
@@ -138,7 +152,7 @@
     }
 
     @ApiOperation(value = "鍒犻櫎浜у搧")
-    @PostMapping("/delProduct")
+    @DeleteMapping("/delProduct")
     public Result delProduct(Integer id) {
         return Result.success(productService.delProduct(id));
     }
@@ -149,11 +163,9 @@
         return Result.success(capacityScopeService.getItemTree());
     }
 
-
-    @ApiOperation(value = "瑁呭瀵煎叆妫�楠岄」鐩�")
-    @PostMapping("/importEquipData")
-    @Transactional
-    public Result importEquipData(@RequestParam("file") MultipartFile file) throws Exception {
+    @ApiOperation(value = "瀵煎叆妫�楠岄」鐩�")
+    @PostMapping("/importData")
+    public Result importData(@RequestParam("file") MultipartFile file) throws Exception {
         InputStream inputStream = file.getInputStream();
         List<StructureItemParameter> lists = new ArrayList<>();
         AtomicReference<String> sample = new AtomicReference<>();
@@ -163,20 +175,18 @@
             }
             if (l >= 1) {
                 StructureItemParameter str = new StructureItemParameter();
-                // 娴嬭瘯瀵硅薄
                 if (list1.get(1) == null) {
                     str.setSample(null);
                 } else {
                     String brand = (String) list1.get(1);
                     StringBuilder builder = new StringBuilder();
                     builder.append("[");
-                    // 浜у搧
                     if (ObjectUtil.isNotEmpty(list1.get(2))) {
                         String production = (String) list1.get(2);
-                        if (!production.contains("锛�")) {
+                        if (!production.contains("銆�")) {
                             builder.append(String.format("[\"%s\",\"%s\"]", brand, production));
                         } else {
-                            Arrays.stream(production.split("锛�")).forEach(item -> {
+                            Arrays.stream(production.split("銆�")).forEach(item -> {
                                 builder.append(String.format("[\"%s\",\"%s\"],", brand, item));
                             });
                             builder.deleteCharAt(builder.length() - 1);
@@ -189,63 +199,54 @@
                     builder.append("]");
                     str.setSample(builder.toString());
                 }
-                // 妫�楠岄」
-                str.setInspectionItem(list1.get(4).toString().trim());
-                // 妫�楠岄」鑻辨枃
+                str.setInspectionItem(list1.get(4).toString());
                 if (list1.get(5) != null) {
                     str.setInspectionItemEn(list1.get(5).toString());
                 }
-                // 妫�楠屽瓙椤�
                 if (list1.get(6) == null) {
                     str.setInspectionItemSubclass(null);
                 } else {
-                    str.setInspectionItemSubclass(list1.get(6).toString().trim());
+                    str.setInspectionItemSubclass(list1.get(6).toString());
                 }
-                // 妫�楠屽瓙椤硅嫳鏂�
                 if (list1.get(7) == null) {
                     str.setInspectionItemSubclassEn(null);
                 } else {
                     str.setInspectionItemSubclassEn(String.valueOf(list1.get(7).toString()));
                 }
-                // 妫�楠岄」鍒嗙被
-                if (list1.get(22) != null && list1.get(22) != "") {
-                    str.setInspectionItemClass(list1.get(22).toString().trim());
+                StructureItemParameter db_str;
+                if (StringUtils.isEmpty(str.getInspectionItemSubclass())) {
+                    // 姣旇緝涓や釜鏉′欢
+                    try {
+                        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());
+                    }
                 } else {
-                    str.setInspectionItemClass(null);
+                    try {
+                        db_str = structureItemParameterService.getOne(Wrappers.lambdaQuery(StructureItemParameter.class)
+                                .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());
+                    }
                 }
-                // 妫�楠岄」鍒嗙被鑻辨枃
-                if (list1.get(23) != null && list1.get(23) != "") {
-                    str.setInspectionItemClassEn(list1.get(23) + "");
-                } else {
-                    str.setInspectionItemClassEn(null);
-                }
-
-                LambdaQueryWrapper<StructureItemParameter> wrapper = Wrappers.lambdaQuery(StructureItemParameter.class)
-                        .eq(StructureItemParameter::getInspectionItem, str.getInspectionItem())
-                        .eq(StructureItemParameter::getSample, str.getSample())
-
-                        .last("limit 1");
-                // 鍒ゆ柇鏄惁鏈夋楠岄」绫诲瀷
-                if (ObjectUtils.isNotEmpty(str.getInspectionItemClass())) {
-                    wrapper.eq(StructureItemParameter::getInspectionItemClass, str.getInspectionItemClass());
-                }
-
-                // 鍒ゆ柇鏄惁鏈夋楠屽瓙椤�
-                if (ObjectUtils.isNotEmpty(str.getInspectionItemSubclass())) {
-                    wrapper.eq(StructureItemParameter::getInspectionItemSubclass, str.getInspectionItemSubclass());
-                }
-                StructureItemParameter db_str = structureItemParameterService.getOne(wrapper);
                 if (ObjectUtils.isNotEmpty(db_str)) {
                     str.setId(db_str.getId());
                 }
-                // 鏂规硶鍚嶇О
                 if (list1.get(8) == null) {
                     str.setMethod(null);
                 } else {
                     StringBuffer buffer = new StringBuffer();
                     String input = list1.get(8).toString();
                     buffer.append("[");
-                    String[] values = input.split("锛�");
+                    String[] values = input.split("銆�");
                     for (String value : values) {
                         buffer.append("\"").append(value.trim()).append("\",");
                     }
@@ -253,55 +254,53 @@
                     buffer.append("]");
                     str.setMethod(buffer.toString());
                 }
-                // 璇曢獙瀹�
+
                 if (list1.get(9) == null) {
                     str.setSonLaboratory(null);
                 } else {
                     str.setSonLaboratory(list1.get(9).toString());
                 }
-                // 璁¢噺鍗曚綅
                 if (list1.get(10) == null) {
                     str.setUnit(null);
                 } else {
                     str.setUnit(list1.get(10).toString());
                 }
-                // 瑕佹眰鍊�
+
                 if (list1.get(11) == null) {
                     str.setAskTell(null);
                 } else {
                     str.setAskTell(list1.get(11).toString());
                 }
-                // 瑕佹眰鎻忚堪
+
                 if (list1.get(12) == null) {
                     str.setAsk(null);
                 } else {
                     str.setAsk(list1.get(12).toString());
                 }
-                // 鍗曚环
+
                 if (list1.get(13) == null) {
                     str.setPrice(null);
                 } else {
                     str.setPrice(list1.get(13) + "");
                 }
-                // 宸ユ椂绯绘暟
+
                 if (list1.get(14) == null) {
                     str.setManHour(null);
                 } else {
                     str.setManHour(Double.valueOf(list1.get(14).toString()));
                 }
-                // 宸ユ椂鍒嗙粍
+
                 if (list1.get(15) == null) {
                     str.setManHourGroup(null);
                 } else {
                     str.setManHourGroup(list1.get(15).toString());
                 }
-                // 棰勮瀹屾垚鏃堕棿
+
                 if (list1.get(16) == null) {
                     str.setManDay(null);
                 } else {
                     str.setManDay(Integer.valueOf(list1.get(16).toString()));
                 }
-                // 鏁版嵁绫诲瀷
                 String jy;
                 if (list1.get(17).toString().equals("闈為噰闆嗙被鍨�")) {
                     jy = "0";
@@ -309,28 +308,24 @@
                     jy = "1";
                 }
                 str.setInspectionItemType(jy);
-                // 妫�楠岄」绫诲瀷
                 String validateValueType = list1.get(18).toString();
-                if (ObjectUtils.isNotEmpty(validateValueType)) {
+                if (StringUtils.isNotBlank(validateValueType)) {
                     List<SysDictData> enums = dictTypeService.selectDictDataByName("妫�楠屽�肩被鍨�")
                             .stream().filter(sysDictData -> sysDictData.getDictLabel().equals(validateValueType)).collect(Collectors.toList());
                     str.setInspectionValueType(enums.get(0).getDictValue());
                 }
                 int bsm;
-                //鐗规畩鏍囪瘑
                 if (list1.get(19).toString().equals("鍚�")) {
                     bsm = 0;
                 } else {
                     bsm = 1;
                 }
                 str.setBsm(bsm + "");
-                // 鏁板瓧瀛楀吀
                 if (list1.get(20) != null) {
                     str.setDic(list1.get(20) + "");
                 } else {
                     str.setDic(null);
                 }
-                // 鍘熷璁板綍妯℃澘
                 StandardTemplate standTempIdByName = standardTemplateService.getStandTempIdByName(String.valueOf(list1.get(21)));
                 if (standTempIdByName != null) {
                     str.setTemplateId(standTempIdByName.getId());
@@ -338,48 +333,42 @@
                     str.setTemplateId(null);
                 }
                 try {
+                    if (list1.get(22) != null && list1.get(22) != "") {
+                        str.setInspectionItemClass(list1.get(22) + "");
+                    } else {
+                        str.setInspectionItemClass(null);
+                    }
+                } catch (Exception e) {
+                }
+                try {
+                    if (list1.get(23) != null && list1.get(23) != "") {
+                        str.setInspectionItemClassEn(list1.get(23) + "");
+                    } else {
+                        str.setInspectionItemClassEn(null);
+                    }
+                } catch (Exception e) {
+                }
+                try {
                     if (list1.get(24) != null) {
                         str.setLaboratory(list1.get(24) + "");
                     }
                 } catch (Exception e) {
                 }
-
-                // 鏉′欢
-                if (list1.get(25) == null) {
-                    str.setRadiusList(null);
-                } else {
-                    StringBuffer buffer = new StringBuffer();
-                    String input = list1.get(25).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.setRadiusList(buffer.toString());
-                }
-                // 鏀惰垂鏍囧噯
-                if (list1.get(26) == null) {
-                    str.setRates(null);
-                } else {
-                    str.setRates(list1.get(26) + "");
-                }
-
                 lists.add(str);
             }
         });
-//        structureItemParameterService.removeNoSample(sample.get());
+        structureItemParameterService.removeNoSample(sample.get());
         // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣�
         try {
             structureItemParameterService.saveOrUpdateBatch(lists);
         } catch (Exception e) {
             e.printStackTrace();
-            throw new RuntimeException("鏈嶅姟绔姤閿�");
+            throw new RuntimeException("鏈嶅姟绔姤閿欏暒!!!");
         }
         return Result.success();
     }
 
+
     @ApiOperation(value = "瀵煎叆妫�楠屽璞�")
     @PostMapping("/importExcel")
     public Result importExcel(@RequestParam("file") MultipartFile file) {
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
similarity index 65%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
index 51b8ff1..740218f 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/CertificationController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CertificationController.java
@@ -1,16 +1,13 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.Certification;
+import com.ruoyi.basic.service.CertificationService;
 import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.Certification;
-import com.ruoyi.inspect.service.CertificationService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 @Api(tags = "璧勮川璇存槑")
 @AllArgsConstructor
@@ -23,8 +20,8 @@
 
 
     @ApiOperation(value = "鏌ヨ璧勮川鏄庣粏鍒楄〃")
-    @PostMapping("/getCertificationDetail")
-    public Result getCertificationDetail(Page page,Certification certification) {
+    @GetMapping("/getCertificationDetail")
+    public Result getCertificationDetail(Page page, Certification certification) {
         return Result.success(certificationService.getCertificationDetail(page, certification));
     }
 
@@ -34,7 +31,7 @@
         return Result.success(certificationService.addCertificationDetail(certification));
     }
     @ApiOperation(value = "鍒犻櫎璧勮川鏄庣粏鍒楄〃")
-    @PostMapping("/delCertificationDetail")
+    @DeleteMapping("/delCertificationDetail")
     public Result<?> delCertificationDetail( String ids) {
         return Result.success(certificationService.delCertificationDetail(ids));
     }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java
similarity index 84%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java
index 5133178..18136f2 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/LaboratoryController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/LaboratoryController.java
@@ -1,10 +1,10 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.service.LaboratoryService;
 import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.service.LaboratoryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
@@ -15,7 +15,6 @@
  * 瀹為獙瀹ょ鐞�(LaboratoryController)琛ㄦ帶鍒跺眰
  */
 @Api(tags = "鍦烘墍鎴栬鏂�")
-
 @RestController
 @RequestMapping("/laboratoryScope")
 public class LaboratoryController {
@@ -24,8 +23,8 @@
     private LaboratoryService laboratoryService;
 
     @ApiOperation(value = "鏌ヨ瀹為獙瀹ょ鐞嗗垪琛�")
-    @PostMapping("/selectItemParameter")
-    public Result selectItemParameter(Page page ,Laboratory itemParameter) {
+    @GetMapping("/selectItemParameter")
+    public Result selectItemParameter(Page page , Laboratory itemParameter) {
         return Result.success(laboratoryService.selectItemParameter(page, itemParameter));
     }
 
@@ -36,7 +35,7 @@
     }
 
     @ApiOperation(value = "鍒犻櫎瀹為獙瀹ゅ弬鏁�")
-    @PostMapping("/delParameter")
+    @DeleteMapping("/delParameter")
     public Result<?> delParameter(Integer id) {
         return Result.success(laboratoryService.delParameter(id));
     }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
similarity index 70%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
index 6822a8a..103c58d 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/SealController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/SealController.java
@@ -1,16 +1,13 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.pojo.Seal;
-import com.ruoyi.inspect.service.SealService;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Seal;
+import com.ruoyi.basic.service.SealService;
 import com.ruoyi.common.core.domain.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
@@ -41,7 +38,7 @@
 
     }
     @ApiOperation(value="鏌ヨ鍗扮珷鍒楄〃")
-    @PostMapping("/selectSeal")
+    @GetMapping("/selectSeal")
     public  Result selectSeal(Page page,Seal seal) {
         return Result.success(sealService.selectSeal(page,seal));
     }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java
similarity index 85%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java
index 038f092..f724ab8 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardMethodController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardMethodController.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.StandardMethod;
+import com.ruoyi.basic.service.StandardMethodService;
 import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.StandardMethod;
-import com.ruoyi.inspect.service.StandardMethodService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -21,8 +21,8 @@
     private StandardMethodService standardMethodService;
 
     @ApiOperation(value = "鑾峰彇鏍囧噯鏂规硶鍒楄〃")
-    @PostMapping("/selectStandardMethodList")
-    public Result selectStandardMethodList(Page page,StandardMethod standardMethod) throws Exception {
+    @GetMapping("/selectStandardMethodList")
+    public Result selectStandardMethodList(Page page, StandardMethod standardMethod) throws Exception {
         return Result.success(standardMethodService.selectStandardMethodList(page, standardMethod));
     }
 
@@ -39,7 +39,7 @@
     }
 
     @ApiOperation(value = "鍒犻櫎鏍囧噯鏂规硶")
-    @PostMapping("/delStandardMethod")
+    @DeleteMapping("/delStandardMethod")
     public Result<?> delStandardMethod(Integer id) {
         return Result.success(standardMethodService.delStandardMethod(id));
     }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java
similarity index 89%
rename from basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java
rename to basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java
index a1a8e4b..b9e90e3 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTemplateController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTemplateController.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.controller;
+package com.ruoyi.basic.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.StandardTemplate;
+import com.ruoyi.basic.service.StandardTemplateService;
 import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.StandardTemplate;
-import com.ruoyi.inspect.service.StandardTemplateService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -19,7 +19,7 @@
 
     @ApiOperation(value = "鑾峰彇鍘熷璁板綍妯℃澘鍒楄〃")
     @GetMapping("/selectStandardTemplatePageList")
-    public Result selectStandardTemplatePageList(Page page,StandardTemplate standardTemplate) throws Exception {
+    public Result selectStandardTemplatePageList(Page page, StandardTemplate standardTemplate) throws Exception {
         return Result.success(standardTemplateService.selectStandardTemplatePageList(page, standardTemplate));
     }
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
new file mode 100644
index 0000000..2bf8054
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/StandardTreeController.java
@@ -0,0 +1,190 @@
+package com.ruoyi.basic.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.ruoyi.basic.pojo.InsSample1;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardTree;
+import com.ruoyi.basic.service.StandardMethodListService;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.basic.service.StandardProductListService;
+import com.ruoyi.basic.service.StandardTreeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Map;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/standardTree")
+@Api(tags = "鏍囧噯搴�")
+public class StandardTreeController {
+
+    private StandardTreeService standardTreeService;
+
+    private StandardMethodListService standardMethodListService;
+
+    private StandardProductListService standardProductListService;
+
+    @ApiOperation(value = "鏌ョ湅鏍囧噯搴撳垪琛�")
+    @GetMapping("/selectStandardTreeList")
+    public Result selectStandardTreeList() {
+        return Result.success(standardTreeService.selectStandardTreeList());
+    }
+
+    @ApiOperation(value = "鑾峰彇鏍囧噯鏍�(妫�楠屼笅鍗�)")
+    @GetMapping("/selectStandardTreeList2")
+    public Result selectStandardTreeList2() {
+        return Result.success(standardTreeService.selectStandardTreeList());
+    }
+
+    @ApiOperation(value = "娣诲姞鏍囧噯鏍�")
+    @PostMapping("/addStandardTree")
+    public Result addStandardTree(@RequestBody StandardTree standardTree) {
+        return Result.success(standardTreeService.addStandardTree(standardTree));
+    }
+
+    @ApiOperation(value = "缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�")
+    @PostMapping("/addStandardMethodList")
+    public Result addStandardMethodList(@RequestBody Map<String,Object> map) {
+        Integer standardId =(Integer) map.get("standardId");
+        String tree =(String) map.get("tree");
+        return Result.success(standardMethodListService.addStandardMethodList(standardId, tree));
+    }
+
+    @ApiOperation(value = "鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�")
+    @GetMapping("/selectsStandardMethodByFLSSM")
+    public Result selectsStandardMethodByFLSSM(String tree) {
+        return Result.success(standardMethodListService.selectsStandardMethodByFLSSM(tree));
+    }
+
+    @ApiOperation(value = "淇敼鏍囧噯搴撲腑鐨勫唴瀹�")
+    @PostMapping("/upStandardProductList")
+    public Result upStandardProductList(@RequestBody Map<String, String> map) {
+        String str = map.get("str");
+        StandardProductList list = JSON.parseObject(str, StandardProductList.class);
+        return Result.success(standardProductListService.upStandardProductList(list));
+    }
+
+    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�")
+    @DeleteMapping("/delStandardMethodByFLSSM")
+    public Result delStandardMethodByFLSSM(Integer id) {
+        return Result.success(standardMethodListService.delStandardMethodByFLSSM(id));
+    }
+
+    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�")
+    @DeleteMapping("/delStandardProductByIds")
+    public Result delStandardProductByIds(String ids) {
+        JSONArray lists = JSON.parseArray(ids);
+        return Result.success(standardProductListService.delStandardProduct(lists));
+    }
+
+    @ApiOperation(value = "鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�")
+    @PostMapping("/addStandardProduct")
+    public Result addStandardProduct(@RequestBody Map<String,Object> map) {
+        String ids =(String) map.get("ids");
+        String tree =(String) map.get("tree");
+        return Result.success(standardTreeService.addStandardProduct(ids, tree));
+    }
+
+    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戠殑灞傜骇")
+    @DeleteMapping("/delStandardTree")
+    public Result delStandardTree(String tree) {
+        return Result.success(standardTreeService.delStandardTree(tree));
+    }
+
+    @ApiOperation(value = "閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�")
+    @GetMapping("/selectStandardProductList")
+    public Result selectStandardProductList( InsSample1 insSample) {
+        return Result.success(standardProductListService.selectStandardProductList(insSample));
+    }
+
+    @ApiOperation(value = "閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�")
+    @GetMapping("/selectStandardProductListByMethodId")
+    public Result selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
+        return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page));
+    }
+
+    @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�")
+    @GetMapping("/selectStandardProductByMethodId")
+    public Result selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) {
+        return Result.success(standardProductListService.selectStandardProductByMethodId(id, tree, page, laboratory, item, items));
+    }
+
+    @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�")
+    @GetMapping("/selectStandardProductEnumByMethodId")
+    public Result selectStandardProductEnumByMethodId(Integer id, String tree, String item) {
+        return Result.success(standardProductListService.selectStandardProductEnumByMethodId(id, tree, item));
+    }
+
+    @ApiOperation(value = "鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇")
+    @GetMapping("/selectStandardMethodEnum")
+    public Result selectStandardMethodEnum() {
+        return Result.success(standardMethodListService.selectStandardMethodEnum());
+    }
+
+    @ApiOperation(value = "鑾峰彇浜у搧鏋舵瀯")
+    @GetMapping("/getStandardTree2")
+    public Result getStandardTree2() {
+        return Result.success(standardTreeService.getStandardTree2());
+    }
+
+    @ApiOperation(value = "鎵归噺淇敼椤圭洰鍐呭")
+    @PostMapping("/upStandardProducts")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "standardProductList", dataTypeClass = StandardProductList.class),
+            @ApiImplicitParam(name = "ids", dataTypeClass = Integer.class)
+    })
+    public Result upStandardProducts(@RequestBody Map<String, Object> product) {
+        return Result.success(standardTreeService.upStandardProducts(product));
+    }
+
+    @GetMapping("/getStandTreeBySampleType")
+    @ApiOperation("浠呰幏鍙栧厜绾ょ殑鍨嬪彿")
+    public Result<?> getStandTreeBySampleType(String laboratory, String sampleType) {
+        return Result.success(standardTreeService.getStandTreeBySampleType(laboratory, sampleType));
+    }
+
+    @ApiOperation("瀵煎叆鏍囧噯搴�")
+    @PostMapping("/inExcelOfTree/{isEquipment}")
+    public Result inExcelOfTree(@RequestParam("file") MultipartFile file, @PathVariable("isEquipment") Boolean isEquipment) {
+        if (!isEquipment) {
+            standardTreeService.inExcelOfTree(file);
+        } else {
+            standardTreeService.importWorkstationExcel(file);
+        }
+        return Result.success();
+    }
+
+    @ApiOperation("閲嶇疆鏍囧噯搴撳崟浠�")
+    @PostMapping("/resetTreeOfPrice")
+    public Result resetTreeOfPrice(@RequestBody Map<String,Object> map) {
+        Integer standardId =(Integer) map.get("standardId");
+        String tree =(String) map.get("tree");
+        standardTreeService.resetTreeOfPrice(tree, standardId);
+        return Result.success();
+    }
+
+    @ApiOperation("閲嶇疆鏍囧噯搴撳伐鏃剁郴鏁�")
+    @PostMapping("/resetTreeOfHour")
+    public Result resetTreeOfHour(@RequestBody Map<String,Object> map) {
+        Integer standardId =(Integer) map.get("standardId");
+        String tree =(String) map.get("tree");
+        standardTreeService.resetTreeOfHour(tree, standardId);
+        return Result.success();
+    }
+
+    @ApiOperation("閲嶇疆鏍囧噯搴撹姹傛弿杩板拰瑕佹眰鍊�")
+    @PostMapping("/resetTreeOfAsk")
+    public Result resetTreeOfAsk(@RequestBody Map<String,Object> map) {
+        Integer standardId =(Integer) map.get("standardId");
+        String tree =(String) map.get("tree");
+        standardTreeService.resetTreeOfAsk(tree, standardId);
+        return Result.success();
+    }
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java
similarity index 87%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java
index a5b36d9..612bcf8 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/FactoryDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/FactoryDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java
similarity index 87%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java
index 59d088d..e3f000c 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/LaboratoryDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/LaboratoryDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java
similarity index 82%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java
index 5ed39bf..5f8321e 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/ModelDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/ModelDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java
similarity index 72%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java
index f4736d5..f5ad6fc 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/PageTestObjectDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java
@@ -1,6 +1,6 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
-import com.ruoyi.inspect.pojo.StructureTestObject;
+import com.ruoyi.basic.pojo.StructureTestObject;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -19,7 +19,4 @@
 
     @ApiModelProperty(value = "鏇存柊浜�")
     private String updateUserName;
-
-    @ApiModelProperty(value = "闆朵欢鍙�")
-    private String partNo;
 }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java
similarity index 76%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java
index f9fa558..8ed7631 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDTO1.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDTO1.java
@@ -1,6 +1,6 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
-import com.ruoyi.inspect.pojo.Product;
+import com.ruoyi.basic.pojo.Product;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java
similarity index 77%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java
index a1502e6..efd5d2e 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/ProductDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/ProductDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java
similarity index 65%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java
index 3db9c2f..8e53504 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
@@ -12,11 +12,6 @@
     private String label;
 
     private String value;
-
-    private String partNo;
-
-    // 鏍峰搧鑻辨枃
-    private String sampleEn;
 
     private List<ModelDto> children;
 
diff --git a/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java
new file mode 100644
index 0000000..050675a
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/SampleTypeDto.java
@@ -0,0 +1,18 @@
+package com.ruoyi.basic.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class SampleTypeDto {
+
+    private String code = "[3]";
+
+    private String label;
+
+    private String value;
+
+    private List<SampleDto> children;
+
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java b/basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java
similarity index 84%
rename from basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java
rename to basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java
index 627fc66..4363a1a 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/TestItemDto.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/dto/TestItemDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.dto;
+package com.ruoyi.basic.dto;
 
 import lombok.Data;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java
similarity index 94%
rename from basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java
rename to basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java
index 8242910..4fc2fd2 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectData.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.excel;
+package com.ruoyi.basic.excel;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java
similarity index 91%
rename from basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java
rename to basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java
index 9c3810b..04d3c2c 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/excel/StructureTestObjectListener.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java
@@ -1,8 +1,8 @@
-package com.ruoyi.inspect.excel;
+package com.ruoyi.basic.excel;
 
 import com.alibaba.excel.context.AnalysisContext;
 import com.alibaba.excel.event.AnalysisEventListener;
-import com.ruoyi.inspect.service.ProductService;
+import com.ruoyi.basic.service.ProductService;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java
similarity index 86%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java
index 86153df..2d50f3d 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/CertificationMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/CertificationMapper.java
@@ -1,10 +1,10 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.pojo.Certification;
+import com.ruoyi.basic.pojo.Certification;
 import org.apache.ibatis.annotations.Param;
 
 public interface CertificationMapper extends BaseMapper<Certification> {
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java
similarity index 88%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java
index 6be3f72..df6aab9 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/LaboratoryMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/LaboratoryMapper.java
@@ -1,10 +1,10 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Laboratory;
 import org.apache.ibatis.annotations.Param;
 
 /**
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java
similarity index 85%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java
index d6e9def..8fdbc4a 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/ProductMapper.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.dto.ProductDTO1;
-import com.ruoyi.inspect.pojo.Product;
+import com.ruoyi.basic.dto.ProductDTO1;
+import com.ruoyi.basic.pojo.Product;
 import org.apache.ibatis.annotations.Param;
 
 /**
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java
similarity index 81%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java
index 1ebdeb0..9b96fc9 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/SealMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/SealMapper.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.pojo.Seal;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Seal;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java
similarity index 89%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java
index 540c4ab..a5e337b 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodListMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodListMapper.java
@@ -1,8 +1,8 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.inspect.pojo.StandardMethodList;
-import com.ruoyi.inspect.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardMethodList;
+import com.ruoyi.basic.pojo.StandardProductList;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java
similarity index 89%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java
index 93795d4..fb88032 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardMethodMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardMethodMapper.java
@@ -1,10 +1,10 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.framework.mybatis_config.MyBaseMapper;
-import com.ruoyi.inspect.pojo.StandardMethod;
+import com.ruoyi.basic.pojo.StandardMethod;
 import org.apache.ibatis.annotations.Param;
 
 /**
diff --git a/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
new file mode 100644
index 0000000..2898c62
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
@@ -0,0 +1,41 @@
+package com.ruoyi.basic.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.vo.StandardProductVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-03-05 10:33:29
+* @Entity com.ruoyi.basic.pojo.StandardProductList
+*/
+public interface StandardProductListMapper extends BaseMapper<StandardProductList> {
+
+    IPage<StandardProductList> standardProductListIPage(@Param("id") Integer id, @Param("tree") String tree, IPage<StandardProductList> page, @Param("laboratory") String laboratory, @Param("insItem") String insItem, @Param("insItems") String insItems);
+
+    StandardProductList getOne(@Param("standardMethodListId") Integer standardMethodListId, @Param("inspectionItem") String inspectionItem, @Param("sample") String sample, @Param("inspectionItemSubclass") String inspectionItemSubclass, @Param("model") String model, @Param("inspectionItemClass") String inspectionItemClass);
+
+    List<StandardProductList> selectDetail(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("model") String model,@Param("sampleType") String sampleType,@Param("sample")String sample);
+
+    List<StandardProductList> selectDetail2(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("tree") String tree);
+
+    List<StandardProductVO> getStandardProductByInsProduct(
+            @Param("laboratory") String laboratory,
+            @Param("sampleType") String sampleType,
+            @Param("sample") String sample,
+            @Param("model") String model,
+            @Param("inspectionItem") String inspectionItem,
+            @Param("inspectionItemSubclass") String inspectionItemSubclass,
+            @Param("sonLaboratory") String sonLaboratory,
+            @Param("standardMethodListId") Integer standardMethodListId);
+}
+
+
+
+
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java
similarity index 89%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java
index b96cebf..d6f36c1 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTemplateMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTemplateMapper.java
@@ -1,10 +1,10 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.pojo.StandardTemplate;
+import com.ruoyi.basic.pojo.StandardTemplate;
 import org.apache.ibatis.annotations.Param;
 
 /**
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
similarity index 74%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
index 8d14068..8b82e09 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardTreeMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
@@ -1,10 +1,13 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.inspect.dto.*;
-import com.ruoyi.inspect.pojo.StandardMethodList;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.pojo.StandardTree;
+import com.ruoyi.basic.dto.FactoryDto;
+import com.ruoyi.basic.dto.ProductDto;
+import com.ruoyi.basic.dto.SampleDto;
+import com.ruoyi.basic.dto.SampleTypeDto;
+import com.ruoyi.basic.pojo.StandardMethodList;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardTree;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -31,11 +34,11 @@
 
     List<StandardProductList> selectStandardProductListByTree2(String tree, String sample, String model, String trees, String laboratory);
 
+    List<StandardProductList> selectStandardProductListByTree3(String tree, String sample, String model, String trees, String laboratory);
 
     List<SampleTypeDto> getStandardTree2();
 
     List<SampleDto> getStandardTree3(String sampleType);
-
 
     String getLaboratory(String str);
 
@@ -44,8 +47,6 @@
     List<ProductDto> selectPList(String name);
 
     String selSample(String sample);
-
-    List<FactoryDto> selectStandardTreeListByPartNo(@Param("partNo") String partNo);
 
 }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
similarity index 70%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
index d32b7c4..d33c9dc 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureItemParameterMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureItemParameterMapper.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.dto.TestItemDto;
-import com.ruoyi.inspect.pojo.StructureItemParameter;
+import com.ruoyi.basic.dto.TestItemDto;
+import com.ruoyi.basic.pojo.StructureItemParameter;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,5 +26,9 @@
     List<TestItemDto> getItemTree();
 
     int removeNoSample(@Param("sample") String sample);
+
+    List<StructureItemParameter> selectItemParameterList1(@Param("specimenName") String specimenName);
+
+    List<StructureItemParameter> selectItemParameterList2(@Param("inspectionItemSubclass") String inspectionItemSubclass);
 }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java
similarity index 72%
rename from basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java
rename to basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java
index 84bf87a..6ba9a43 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectMapper.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.mapper;
+package com.ruoyi.basic.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.ruoyi.inspect.dto.PageTestObjectDto;
-import com.ruoyi.inspect.pojo.StructureTestObject;
+import com.ruoyi.basic.dto.PageTestObjectDto;
+import com.ruoyi.basic.pojo.StructureTestObject;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -16,7 +16,7 @@
  */
 public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> {
 
-    IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("partNo") String partNo);
+    IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew);
 
 }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java
similarity index 98%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java
index b20050e..7eb1649 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Certification.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Certification.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java
similarity index 98%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java
index 79b048f..19d5cb9 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/InsSample1.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/InsSample1.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
similarity index 97%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
index ac72303..a9343a1 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Laboratory.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Laboratory.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
similarity index 97%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
index 1d8f47f..0847231 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Product.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
similarity index 96%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
index 9008197..783703c 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/Seal.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Seal.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java
similarity index 98%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java
index 1c31147..6d5ec08 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethod.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethod.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java
similarity index 97%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java
index bbc0cc4..8161270 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardMethodList.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardMethodList.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
similarity index 85%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
index b10c2ae..8ef2c73 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductList.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductList.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -100,12 +100,6 @@
     private String section;
 
     /**
-     * 鍖洪棿
-     */
-    @ApiModelProperty("鑺暟鍖洪棿")
-    private String cores;
-
-    /**
      * 鏂规硶
      */
     @ApiModelProperty("鏂规硶鍒楄〃")
@@ -194,28 +188,4 @@
 
     @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN")
     private String inspectionItemClassEn;
-
-    @ApiModelProperty(value = "鏉′欢")
-    private String radius;
-
-    @ApiModelProperty(value = "鏉′欢鍒楄〃")
-    private String radiusList;
-
-    @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)")
-    private String rates;
-
-    @ApiModelProperty(value = "绱㈠紩椤哄簭")
-    private Integer sort;
-
-    /**
-     * 瀵间綋鏉愯川
-     */
-    @ApiModelProperty("瀵间綋鏉愯川")
-    private String conductorMaterial;
-
-    /**
-     * 瀵间綋绫诲瀷
-     */
-    @ApiModelProperty("瀵间綋绫诲瀷")
-    private String conductorType;
 }
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java
similarity index 97%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java
index 04b5c0b..e26971f 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTemplate.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTemplate.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java
similarity index 98%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java
index fe40352..8c2b6cf 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardTree.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StandardTree.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java
similarity index 94%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java
index 6325cc8..61103cb 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureItemParameter.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureItemParameter.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -110,12 +110,6 @@
 
     @ApiModelProperty(value = "妫�楠岄」鍒嗙被EN")
     private String inspectionItemClassEn;
-
-    @ApiModelProperty(value = "鏉′欢")
-    private String radiusList;
-
-    @ApiModelProperty(value = "鏀惰垂鏍囧噯(鍏�/娆�)")
-    private String rates;
 
 }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java
similarity index 86%
rename from basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java
rename to basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java
index 4403363..91226dc 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObject.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.pojo;
+package com.ruoyi.basic.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -50,14 +50,5 @@
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime updateTime;
-
-    @ApiModelProperty(value = "鎺掑簭")
-    private Integer sort;
-
-    //"瀵硅薄绫诲瀷, 1:鍘熸潗鏂�, 2:鎴愬搧, 3:杈呮潗"
-    @ApiModelProperty(value = "瀵硅薄绫诲瀷")
-    private String objectType;
-
-
 }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java
similarity index 83%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java
index f988c0f..6139cd1 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/CapacityScopeService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java
@@ -1,13 +1,13 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.dto.PageTestObjectDto;
-import com.ruoyi.inspect.dto.TestItemDto;
+import com.ruoyi.basic.dto.PageTestObjectDto;
+import com.ruoyi.basic.dto.TestItemDto;
 
-import com.ruoyi.inspect.pojo.StructureItemParameter;
-import com.ruoyi.inspect.pojo.StructureTestObject;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.basic.pojo.StructureTestObject;
 
 import java.util.List;
 import java.util.Map;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java b/basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java
similarity index 87%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java
index 78398ed..7ecac80 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/CertificationService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/CertificationService.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.Certification;
+import com.ruoyi.basic.pojo.Certification;
 
 public interface CertificationService extends IService<Certification> {
     //鏌ヨ璧勮川鏄庣粏鍒楄〃
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java b/basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java
similarity index 88%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java
index e86f89b..4dc05a5 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/LaboratoryService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/LaboratoryService.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Laboratory;
 
 import java.util.List;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java b/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
similarity index 79%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
index c55af4f..6fdc7c2 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.dto.ProductDTO1;
-import com.ruoyi.inspect.excel.StructureTestObjectData;
-import com.ruoyi.inspect.pojo.Product;
+import com.ruoyi.basic.dto.ProductDTO1;
+import com.ruoyi.basic.excel.StructureTestObjectData;
+import com.ruoyi.basic.pojo.Product;
 
 import java.util.List;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java b/basic-server/src/main/java/com/ruoyi/basic/service/SealService.java
similarity index 78%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/SealService.java
index 00d5ada..3e4aa91 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/SealService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/SealService.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.pojo.Seal;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Seal;
 
 import java.util.List;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java
similarity index 89%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java
index 2c0c066..14ee117 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodListService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodListService.java
@@ -1,7 +1,7 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StandardMethodList;
+import com.ruoyi.basic.pojo.StandardMethodList;
 
 import java.util.List;
 import java.util.Map;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java
similarity index 91%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java
index a2e7678..d9b3432 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardMethodService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardMethodService.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StandardMethod;
+import com.ruoyi.basic.pojo.StandardMethod;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java
new file mode 100644
index 0000000..6a0361c
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService.java
@@ -0,0 +1,31 @@
+package com.ruoyi.basic.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.pojo.InsSample1;
+import com.ruoyi.basic.pojo.StandardProductList;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Administrator
+ * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice
+ * @createDate 2024-03-05 10:33:29
+ */
+public interface StandardProductListService extends IService<StandardProductList> {
+
+    int upStandardProductList(StandardProductList list);
+
+    int delStandardProduct(JSONArray list);
+
+    List<StandardProductList> selectStandardProductList(InsSample1 insSample);
+
+    Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page);
+
+    IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items);
+
+    Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item);
+
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java
similarity index 78%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java
index 1f64bae..4f54fe6 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService2.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListService2.java
@@ -1,7 +1,7 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardProductList;
 
 /**
 * @author Administrator
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java
similarity index 91%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java
index 5ae7350..3910c22 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTemplateService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTemplateService.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StandardTemplate;
+import com.ruoyi.basic.pojo.StandardTemplate;
 
 import java.util.List;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java
similarity index 75%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java
index 62da5e3..a643b8b 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardTreeService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StandardTreeService.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.dto.FactoryDto;
-import com.ruoyi.inspect.dto.SampleTypeDto;
-import com.ruoyi.inspect.pojo.StandardTree;
+import com.ruoyi.basic.dto.FactoryDto;
+import com.ruoyi.basic.dto.SampleTypeDto;
+import com.ruoyi.basic.pojo.StandardTree;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -17,7 +17,6 @@
 public interface StandardTreeService extends IService<StandardTree> {
 
     List<FactoryDto> selectStandardTreeList();
-
 
     int addStandardTree(StandardTree standardTree);
 
@@ -40,13 +39,4 @@
     void resetTreeOfAsk(String tree, Integer standardId);
 
     void importWorkstationExcel(MultipartFile file);
-
-    /**
-     * 鏍囧噯鏁版帓搴�
-     * @param list
-     * @return
-     */
-    boolean updateTreeSort(List<FactoryDto> list);
-
-    int updateStandardTree(StandardTree standardTree);
 }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java
new file mode 100644
index 0000000..aa8d876
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StructureItemParameterService.java
@@ -0,0 +1,14 @@
+package com.ruoyi.basic.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+
+import java.util.List;
+
+public interface StructureItemParameterService extends IService<StructureItemParameter> {
+    void removeNoSample(String sample);
+
+    List<StructureItemParameter> selectTestObjectInspectionItem(String specimenName);
+
+    List<StructureItemParameter>  selectTestInspectionItemSub(String inspectionItemSubclass);
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java b/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java
similarity index 74%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java
index 74c115b..200a51a 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectService.java
@@ -1,7 +1,7 @@
-package com.ruoyi.inspect.service;
+package com.ruoyi.basic.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StructureTestObject;
+import com.ruoyi.basic.pojo.StructureTestObject;
 
 /**
  * 妫�娴嬪璞�(StructureTestObject)$desc
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
similarity index 87%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
index bf763cf..6bc9025 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CapacityScopeServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
@@ -7,15 +7,15 @@
 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.ruoyi.basic.dto.PageTestObjectDto;
+import com.ruoyi.basic.dto.TestItemDto;
+import com.ruoyi.basic.mapper.*;
+import com.ruoyi.basic.pojo.*;
+import com.ruoyi.basic.service.CapacityScopeService;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.dto.PageTestObjectDto;
-import com.ruoyi.inspect.dto.TestItemDto;
-import com.ruoyi.inspect.mapper.*;
-import com.ruoyi.inspect.pojo.*;
-import com.ruoyi.inspect.service.CapacityScopeService;
-import com.ruoyi.inspect.service.StandardProductListService;
-import com.ruoyi.inspect.service.StructureItemParameterService;
+import com.ruoyi.basic.service.StandardProductListService;
+import com.ruoyi.basic.service.StructureItemParameterService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -40,10 +40,6 @@
     private StructureTestObjectMapper structureTestObjectMapper;
 
     private ProductMapper productMapper;
-
-    private StructureTestObjectPartMapper structureTestObjectPartMapper;
-
-    private ProductPartMapper productPartMapper;
 
     private StandardProductListService standardProductListService;
 
@@ -77,9 +73,7 @@
 
     @Override
     public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) {
-        String partNo = pageTestObjectDto.getPartNo();
-        pageTestObjectDto.setPartNo(null);
-        return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo);
+        return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto));
     }
 
     @Override
@@ -94,17 +88,10 @@
 
     @Override
     public int delTestObject(Integer id) {
-        // 浜у嚭妫�楠屽璞′骇鍝佺淮鎶�
-        structureTestObjectPartMapper.delete(Wrappers.<StructureTestObjectPart>lambdaQuery()
-                .eq(StructureTestObjectPart::getTestObjectId, id));
-
         // 鍒犻櫎浜у搧缁存姢鐨勯浂浠剁粦瀹�
         List<Product> products = productMapper.selectList(Wrappers.<Product>lambdaQuery()
                 .eq(Product::getObjectId, id));
         List<Integer> productIds = products.stream().map(Product::getId).collect(Collectors.toList());
-        productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery()
-                .in(ProductPart::getProductId, productIds));
-
         // 鍒犻櫎浜у搧缁存姢
         productMapper.delete(Wrappers.<Product>lambdaQuery()
                 .in(Product::getId, productIds));
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
similarity index 87%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
index 4eb722a..9028444 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/CertificationServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CertificationServiceImpl.java
@@ -1,13 +1,13 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.CertificationMapper;
+import com.ruoyi.basic.pojo.Certification;
+import com.ruoyi.basic.service.CertificationService;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.CertificationMapper;
-import com.ruoyi.inspect.pojo.Certification;
-import com.ruoyi.inspect.service.CertificationService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java
similarity index 88%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java
index 18c4318..b3ca697 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/LaboratoryServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/LaboratoryServiceImpl.java
@@ -1,13 +1,13 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.ruoyi.basic.mapper.LaboratoryMapper;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.service.LaboratoryService;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.LaboratoryMapper;
-import com.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.service.LaboratoryService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
similarity index 90%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index 41b12b6..217a86c 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
@@ -8,19 +8,18 @@
 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.ruoyi.basic.dto.ProductDTO1;
+import com.ruoyi.basic.excel.StructureTestObjectData;
+import com.ruoyi.basic.mapper.ProductMapper;
+import com.ruoyi.basic.mapper.StandardTreeMapper;
+import com.ruoyi.basic.mapper.StructureTestObjectMapper;
+import com.ruoyi.basic.pojo.*;
+import com.ruoyi.basic.service.LaboratoryService;
+import com.ruoyi.basic.service.ProductService;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.dto.ProductDTO1;
-import com.ruoyi.inspect.excel.StructureTestObjectData;
-import com.ruoyi.inspect.mapper.ProductMapper;
-import com.ruoyi.inspect.mapper.ProductPartMapper;
-import com.ruoyi.inspect.mapper.StandardTreeMapper;
-import com.ruoyi.inspect.mapper.StructureTestObjectMapper;
-import com.ruoyi.inspect.pojo.*;
-import com.ruoyi.inspect.service.LaboratoryService;
-import com.ruoyi.inspect.service.ProductService;
-import com.ruoyi.inspect.service.StandardProductListService;
-import com.ruoyi.inspect.service.StructureItemParameterService;
+import com.ruoyi.basic.service.StandardProductListService;
+import com.ruoyi.basic.service.StructureItemParameterService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,15 +34,13 @@
 @Service
 @AllArgsConstructor
 public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product>
-    implements ProductService{
+    implements ProductService {
 
     private ProductMapper productMapper;
 
     private LaboratoryService laboratoryService;
 
     private StructureTestObjectMapper structureTestObjectMapper;
-
-    private ProductPartMapper productPartMapper;
 
     private StandardProductListService standardProductListService;
 
@@ -122,10 +119,6 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int delProduct(Integer id) {
-        // 鍒犻櫎闆朵欢缁戝畾
-        productPartMapper.delete(Wrappers.<ProductPart>lambdaQuery()
-                .eq(ProductPart::getProductId, id));
-
         return productMapper.deleteById(id);
     }
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java
similarity index 80%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java
index ee9b06e..695e989 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/SealServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealServiceImpl.java
@@ -1,11 +1,11 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.inspect.mapper.SealMapper;
-import com.ruoyi.inspect.pojo.Laboratory;
-import com.ruoyi.inspect.pojo.Seal;
-import com.ruoyi.inspect.service.SealService;
+import com.ruoyi.basic.mapper.SealMapper;
+import com.ruoyi.basic.pojo.Laboratory;
+import com.ruoyi.basic.pojo.Seal;
+import com.ruoyi.basic.service.SealService;
 import com.ruoyi.common.utils.QueryWrappers;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java
similarity index 93%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java
index 784790b..7a4f831 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodListServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodListServiceImpl.java
@@ -1,12 +1,12 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.inspect.mapper.StandardMethodListMapper;
-import com.ruoyi.inspect.mapper.StandardProductListMapper;
-import com.ruoyi.inspect.pojo.StandardMethodList;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.service.StandardMethodListService;
+import com.ruoyi.basic.mapper.StandardMethodListMapper;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.pojo.StandardMethodList;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.service.StandardMethodListService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -23,7 +23,7 @@
 @Service
 @AllArgsConstructor
 public class StandardMethodListServiceImpl extends ServiceImpl<StandardMethodListMapper, StandardMethodList>
-    implements StandardMethodListService{
+    implements StandardMethodListService {
 
     private StandardMethodListMapper standardMethodListMapper;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java
similarity index 95%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java
index e4df479..f01ca08 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardMethodServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardMethodServiceImpl.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import cn.hutool.json.JSONUtil;
 import cn.hutool.poi.excel.ExcelUtil;
@@ -7,16 +7,16 @@
 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.ruoyi.basic.mapper.StandardMethodMapper;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.StandardMethod;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.basic.service.StandardMethodService;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.StandardMethodMapper;
-import com.ruoyi.inspect.mapper.StandardProductListMapper;
-import com.ruoyi.inspect.mapper.StructureItemParameterMapper;
-import com.ruoyi.inspect.pojo.StandardMethod;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.pojo.StructureItemParameter;
-import com.ruoyi.inspect.service.StandardMethodService;
-import com.ruoyi.inspect.service.StandardProductListService;
-import com.ruoyi.inspect.service.StructureItemParameterService;
+import com.ruoyi.basic.service.StandardProductListService;
+import com.ruoyi.basic.service.StructureItemParameterService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java
new file mode 100644
index 0000000..eae1bc2
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListService2Impl.java
@@ -0,0 +1,12 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.service.StandardProductListService2;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StandardProductListService2Impl extends ServiceImpl<StandardProductListMapper, StandardProductList>
+        implements StandardProductListService2 {
+}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
new file mode 100644
index 0000000..8d220be
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -0,0 +1,351 @@
+package com.ruoyi.basic.service.impl;
+
+import cn.hutool.core.util.NumberUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.ProductDto;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.mapper.StandardTreeMapper;
+import com.ruoyi.basic.pojo.InsSample1;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardTree;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.basic.service.StandardProductListService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+/**
+ * @author Administrator
+ * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+ * @createDate 2024-03-05 10:33:29
+ */
+@Service
+@AllArgsConstructor
+public class StandardProductListServiceImpl extends ServiceImpl<StandardProductListMapper, StandardProductList>
+        implements StandardProductListService {
+
+    private StandardProductListMapper standardProductListMapper;
+
+    private StandardTreeMapper standardTreeMapper;
+
+
+    @Override
+    public int upStandardProductList(StandardProductList list) {
+        return standardProductListMapper.updateById(list);
+    }
+
+    @Override
+    public int delStandardProduct(JSONArray list) {
+        return standardProductListMapper.deleteBatchIds(list);
+    }
+
+    @Override
+    public List<StandardProductList> selectStandardProductList(InsSample1 insSample) {
+        String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆�
+        String[] splits = insSample.getFactory().split(" - ");
+        List<StandardProductList> list = new ArrayList<>();
+        if(splits.length<4){
+            list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, models[0],"","");
+        }else {
+            list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, models[0],splits[2],splits[3]);
+        }
+        if (list.isEmpty()) {
+            if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) {
+                return null;
+            }
+            String[] split = insSample.getFactory().split(" - ");
+            String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null";
+            list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree);
+            if (list.isEmpty()) {
+                String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3];
+                list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1);
+                if(list.isEmpty()) {
+                    String tree2 = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - ";
+                    list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree2);
+                }
+            }
+        }
+        String[] split1 = insSample.getFactory().split(" - ");
+        //鍒ゆ柇闀垮害
+        if (split1.length > 4) {
+            if (ObjectUtils.isNotEmpty(split1[3])) {
+                list = list.stream().filter(list1 -> Objects.nonNull(list1.getSample())&&Objects.equals(list1.getSample(),split1[3])).collect(Collectors.toList());
+            }else if (split1[3].isEmpty()) {
+                list = list.stream().filter(list1 ->  Objects.nonNull(list1.getSampleType())&&Objects.equals(list1.getSampleType(),split1[2])).collect(Collectors.toList());
+            }
+        }
+        list = list.stream().filter(a -> {
+            try {
+                if (a.getSection() != null && !Objects.equals(a.getSection(), "")) {
+                    List<String> sections = JSON.parseArray(a.getSection(), String.class);
+                    List<String> asks = JSON.parseArray(a.getAsk(), String.class);
+                    List<String> tells = JSON.parseArray(a.getTell(), String.class);
+                    List<String> manHours = JSON.parseArray(a.getManHour(), String.class);
+                    List<String> prices = JSON.parseArray(a.getPrice(), String.class);
+                    boolean isIf;
+                    for (int i = 0; i < sections.size(); i++) {
+                        if (Objects.equals(a.getBsm(), "1")) {
+                            return true;
+                        } else {
+                            if (sections.get(i).contains("&")) {
+                                String[] split = sections.get(i).split("&");
+                                isIf = getIsIf(split[0], models[1]) && getIsIf(split[1], models[1]);
+                            } else {
+                                isIf = getIsIf(sections.get(i), models[1]);
+                            }
+                            if (isIf) {
+                                a.setSection(sections.get(i));
+                                a.setAsk(asks.get(i));
+                                a.setTell(tells.get(i));
+                                a.setPrice(prices.get(i));
+                                a.setManHour(manHours.get(i));
+                                return true;
+                            }
+                        }
+                    }
+                    return false;
+                }
+            } catch (Exception ignored) {
+                return false;
+            }
+            return true;
+        }).collect(Collectors.toList());
+        return list;
+    }
+
+    private boolean getIsIf(String str, String model) {
+        Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model);
+        BigDecimal modelNumber = BigDecimal.ZERO;
+        String model2 = "";
+        while (matcher.find()) {
+            model2 += matcher.group();
+            modelNumber = BigDecimal.valueOf(Double.parseDouble(model2));
+            break;
+        }
+        Double param = matchNumber(str);
+        if (str.contains("鈮�") || str.contains(">=")) {
+//            String param = str.replace("鈮�", "").replace(">=", "");
+            return modelNumber.compareTo(new BigDecimal(param)) > -1;
+        } else if (str.contains("鈮�") || str.contains("<=")) {
+//            String param = str.replace("鈮�", "").replace("<=", "");
+            return modelNumber.compareTo(new BigDecimal(param)) < 1;
+        } else if (str.contains(">") || str.contains("锛�")) {
+//            String param = str.replace(">", "").replace("锛�", "");
+            return modelNumber.compareTo(new BigDecimal(param)) > 0;
+        } else if (str.contains("<") || str.contains("锛�")) {
+//            String param = str.replace("<", "").replace("锛�", "");
+            return modelNumber.compareTo(new BigDecimal(param)) < 0;
+        } else if (str.contains("=")) {
+//            String param = str.replace("=", "");
+            return modelNumber.compareTo(new BigDecimal(param)) == 0;
+        }
+        return false;
+    }
+    public Double matchNumber(String str) {
+        String regex = "[>锛溾墺鈮�=]?[>=<]?\\s*(-?\\d+(\\.\\d+)?)";
+        // 缂栬瘧姝e垯琛ㄨ揪寮�
+        Matcher matcher = Pattern.compile(regex).matcher(str);
+        List<Double> numbers = new ArrayList<>();
+        while(matcher.find()) {
+            if(matcher.group(1) != null) {
+                numbers.add(Double.parseDouble(matcher.group(1)));
+            }
+        }
+        if(numbers.size() > 0) {
+            return numbers.get(0);
+        }
+        return 0.00;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
+        String[] trees = tree.split(" - ");
+//        try {
+//            String tree1 = trees[2];
+//        } catch (Exception e) {
+//            throw new ErrorException("鎿嶄綔澶揩,绯荤粺浼犲弬閿欒!!!!");
+//        }
+        //list涓烘牴鎹潯浠舵煡璇㈢殑鑳藉姏鑼冨洿鏁版嵁
+        List<StandardProductList> list = new ArrayList<>();
+        if (trees.length == 3) {
+            List<StandardTree> treeList = new ArrayList<>();
+            StandardTree standardTree = new StandardTree();
+            standardTree.setFactory(trees[0]);
+            standardTree.setLaboratory(trees[1]);
+            standardTree.setSampleType(trees[2]);
+            List<ProductDto> pList = standardTreeMapper.selectPList(trees[2]);
+            if (pList.isEmpty() || pList.get(0) == null) {
+                List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
+                if (treeList1.isEmpty()) {
+                    treeList.add(standardTree);
+                } else {
+                    treeList.addAll(treeList1);
+                }
+            } else {
+                for (ProductDto p : pList) {
+                    standardTree.setSample(p.getName());
+                    List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, p.getName()));
+                    if (treeList1.isEmpty()) {
+                        treeList.add(JSON.parseObject(JSON.toJSONString(standardTree), StandardTree.class));
+                    } else {
+                        treeList.addAll(treeList1);
+                    }
+                }
+            }
+            for (StandardTree standardTree2 : treeList) {
+                String tree2 = trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample() + " - " + standardTree2.getModel();
+                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1]));
+                list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1]));
+            }
+        }
+        else if (trees.length == 4) {
+            List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
+            if (treeList.isEmpty()) {
+                StandardTree standardTree = new StandardTree();
+                standardTree.setFactory(trees[0]);
+                standardTree.setLaboratory(trees[1]);
+                standardTree.setSampleType(trees[2]);
+                standardTree.setSample(trees[3]);
+                treeList.add(standardTree);
+            }
+            for (StandardTree standardTree : treeList) {
+                String str = tree + " - " + standardTree.getModel();
+                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1]));
+                list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1]));
+            }
+        }
+        else {
+            list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1]));
+            list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1]));
+        }
+        //鏍囧噯搴撳搴旀楠岄」鏁版嵁
+        List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+                .eq(StandardProductList::getStandardMethodListId, id)//鏍囧噯鏂规硶id
+                .eq(StandardProductList::getSampleType,trees[2])//鏍峰搧澶х被
+                .eq(trees.length>3,StandardProductList::getSample,trees.length>3?trees[3]:"")//鏍峰搧
+                .eq(trees.length>4,StandardProductList::getModel,trees.length>4?trees[4]:"")//鍨嬪彿
+        );
+        //澶勭悊鏁版嵁
+        //涓嶈兘缂栬緫鐨勬暟鎹互鑳藉姏鑼冨洿涓轰富锛屽彲缂栬緫鐨勬暟鎹互鏍囧噯搴撲负涓�
+        for (StandardProductList sp : standardProductLists) {
+            for (StandardProductList pl : list) {
+                if(Objects.isNull(sp.getStructureItemParameterId())){
+                    break;
+                }
+                pl.setFactory(sp.getFactory());
+                pl.setSampleType(sp.getSampleType());
+                pl.setStandardMethodListId(id);//鏍囧噯鏂规硶id
+                if(NumberUtil.equals(sp.getStructureItemParameterId(),pl.getStructureItemParameterId()) && (trees.length <= 4 || Objects.equals(sp.getModel(), pl.getModel()))){
+                    pl.setId(sp.getId());
+                    pl.setAsk(sp.getAsk());//瑕佹眰鍊�
+                    pl.setTell(sp.getTell());//瑕佹眰鎻忚堪
+                    pl.setManHour(sp.getManHour());//宸ユ椂绯绘暟
+                    pl.setManHourGroup(sp.getManHourGroup());//宸ユ椂鍒嗙粍
+                    pl.setPrice(sp.getPrice());//鍗曚环
+                    pl.setTemplateId(sp.getTemplateId());//妯℃澘id
+                    pl.setSection(sp.getSection());//鍖洪棿
+                    pl.setState(sp.getState());//鍕鹃�夌姸鎬�
+                    pl.setMethodS(sp.getMethodS());//璇曢獙鏂规硶
+                    pl.setMethodS(sp.getMethodS());//鏂规硶
+                    pl.setTree(sp.getTree());//鏍戝舰缁撴瀯瀛楃
+                }
+            }
+        }
+        //鏌ヨ鏍囧噯搴撳搴旂殑鏁版嵁涓虹┖锛岃瘉鏄庢槸鏂板姞鐨勬爣鍑嗭紝浠ヨ兘鍔涜寖鍥翠负涓�
+        if(standardProductLists.isEmpty()){
+            list.forEach(l->{
+                l.setStandardMethodListId(id);
+                l.setFactory(org.apache.commons.lang3.StringUtils.isNotBlank(trees[0])?trees[0]:"");
+                l.setSampleType(org.apache.commons.lang3.StringUtils.isNotBlank(trees[2])?trees[2]:"");
+            });
+        }
+        //娣诲姞鏂板姞鐨勯」鐩�
+        list.stream().filter(l->Objects.isNull(l.getId())).forEach(this::save);
+        Map<String, Object> map = new HashMap<>();
+        list.sort((o1, o2) -> {
+            String field1 = o1.getManHourGroup();
+            String field2 = o2.getManHourGroup();
+
+            boolean isEmpty1 = field1 == null || field1.isEmpty();
+            boolean isEmpty2 = field2 == null || field2.isEmpty();
+
+            if (isEmpty1 && isEmpty2) {
+                return 0;
+            } else if (isEmpty1) {
+                return 1;
+            } else if (isEmpty2) {
+                return -1;
+            } else {
+                int num1 = extractNumber(field1);
+                int num2 = extractNumber(field2);
+                return Integer.compare(num1, num2);
+            }
+        });
+        try {
+            map.put("productList", list.subList((page - 1) * 50, page * 50));
+        } catch (IndexOutOfBoundsException e) {
+            map.put("productList", list.subList((page - 1) * 50, list.size()));
+        }
+        map.put("total", list.size());
+        return map;
+    }
+
+    private int extractNumber(String s) {
+        // 浠庡瓧绗︿覆涓彁鍙栨暟瀛楃殑閫昏緫锛岃繖閲屽亣璁惧瓧娈电殑鏍煎紡鏄� "text<number>"
+        String number = s;
+        if (!s.matches("\\d+")) {
+            number = s.replaceAll("\\D", "");
+        }
+        return Integer.parseInt(number);
+    }
+
+    @Override
+    public IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) {
+        IPage<StandardProductList> iPage = new Page<>();
+        iPage.setSize(100);
+        iPage.setCurrent(page);
+        return standardProductListMapper.standardProductListIPage(id, tree, iPage, laboratory, item, items);
+    }
+
+    @Override
+    public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) {
+        HashMap<String, List<?>> map = new HashMap<>();
+        map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+                .eq(StandardProductList::getStandardMethodListId, id)
+                .like(StandardProductList::getTree, tree)
+                .select(StandardProductList::getInspectionItem)
+                .groupBy(StandardProductList::getInspectionItem)));
+        if (ObjectUtils.isNotEmpty(item)) {
+            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+                    .eq(StandardProductList::getStandardMethodListId, id)
+                    .eq(StandardProductList::getInspectionItem, item)
+                    .like(StandardProductList::getTree, tree)
+                    .select(StandardProductList::getInspectionItemSubclass)
+                    .groupBy(StandardProductList::getInspectionItemSubclass)));
+        } else {
+            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+                    .eq(StandardProductList::getStandardMethodListId, id)
+                    .like(StandardProductList::getTree, tree)
+                    .select(StandardProductList::getInspectionItemSubclass)
+                    .groupBy(StandardProductList::getInspectionItemSubclass)));
+        }
+        return map;
+    }
+}
+
+
+
+
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java
similarity index 92%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java
index 8d7ac33..e38d9fb 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTemplateServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTemplateServiceImpl.java
@@ -1,13 +1,13 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.ruoyi.basic.mapper.StandardTemplateMapper;
+import com.ruoyi.basic.pojo.StandardTemplate;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.StandardTemplateMapper;
-import com.ruoyi.inspect.pojo.StandardTemplate;
-import com.ruoyi.inspect.service.StandardTemplateService;
+import com.ruoyi.basic.service.StandardTemplateService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java
similarity index 77%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java
index 93f803c..e0529ea 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardTreeServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java
@@ -1,4 +1,4 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.poi.excel.ExcelUtil;
@@ -10,17 +10,18 @@
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.FactoryDto;
+import com.ruoyi.basic.dto.LaboratoryDto;
+import com.ruoyi.basic.dto.SampleTypeDto;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.mapper.StandardTreeMapper;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardTemplate;
+import com.ruoyi.basic.pojo.StandardTree;
+import com.ruoyi.basic.pojo.StructureTestObject;
+import com.ruoyi.basic.service.*;
 import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.inspect.dto.FactoryDto;
-import com.ruoyi.inspect.dto.LaboratoryDto;
-import com.ruoyi.inspect.dto.SampleTypeDto;
-import com.ruoyi.inspect.mapper.StandardProductListMapper;
-import com.ruoyi.inspect.mapper.StandardTreeMapper;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.pojo.StandardTemplate;
-import com.ruoyi.inspect.pojo.StandardTree;
-import com.ruoyi.inspect.pojo.StructureTestObject;
-import com.ruoyi.inspect.service.*;
+import com.ruoyi.framework.exception.ErrorException;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
@@ -51,24 +52,17 @@
 
     private StandardProductListMapper standardProductListMapper;
 
-    private StandardProductListService standardProductListService;
-
     private StandardTemplateService standardTemplateService;
-
-    private StructureTestObjectService structureTestObjectService;
-
 
     @Override
     public List<FactoryDto> selectStandardTreeList() {
         List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList();
         for (FactoryDto factoryDto : factoryDtos) {
             for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
-                laboratoryDto.getChildren().sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort())
-                        - (o2.getSort() == null ? 0 : o2.getSort()));
                 for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
-//                    if (sampleTypeDto.getChildren().size() == 0) {
-                        sampleTypeDto.getChildren().addAll(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
-//                    }
+                    if (sampleTypeDto.getChildren().size() == 0) {
+                        sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
+                    }
                 }
             }
         }
@@ -80,19 +74,14 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addStandardTree(StandardTree standardTree) {
-        LambdaQueryWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaQuery()
+        StandardTree tree = standardTreeMapper.selectOne(Wrappers.<StandardTree>lambdaQuery()
                 .eq(StandardTree::getFactory, standardTree.getFactory())
                 .eq(StandardTree::getLaboratory, standardTree.getLaboratory())
                 .eq(StandardTree::getSampleType, standardTree.getSampleType())
                 .eq(StandardTree::getSample, standardTree.getSample())
-                .eq(StandardTree::getModel, standardTree.getModel());
-        if (StringUtils.isNotBlank(standardTree.getSample())) {
-            wrapper.eq(StandardTree::getSample, standardTree.getSample());
-        }
-
-        StandardTree tree = standardTreeMapper.selectOne(wrapper);
+                .eq(StandardTree::getModel, standardTree.getModel()));
         if (tree != null) {
-            throw new BaseException("璇ュ瀷鍙峰凡瀛樺湪");
+            throw new ErrorException("璇ュ瀷鍙峰凡瀛樺湪");
         }
         return standardTreeMapper.insert(standardTree);
     }
@@ -109,18 +98,6 @@
                     standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4]));
                 }
                 break;
-            /*case 4:
-                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
-                break;
-            case 3:
-                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
-                break;
-            case 2:
-                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]));
-                break;
-            case 1:
-                standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]));
-                break;*/
         }
         return 1;
     }
@@ -166,10 +143,6 @@
         StandardProductList productList = JSON.parseObject(JSON.toJSONString(product.get("standardProductList")), StandardProductList.class);
         if (productList.getMethodS() != null) {
             standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getMethod, productList.getMethodS()));
-            return 1;
-        }
-        if (productList.getRadiusList() != null) {
-            standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids).like(StandardProductList::getRadiusList, productList.getRadius()));
             return 1;
         }
         standardProductListMapper.update(productList, Wrappers.<StandardProductList>lambdaUpdate().in(StandardProductList::getId, ids));
@@ -442,70 +415,6 @@
     }
 
     @Override
-    public boolean updateTreeSort(List<FactoryDto> list) {
-        List<StructureTestObject> testObjects = new ArrayList<>();
-        for (FactoryDto factoryDto : list) {
-            for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
-                List<SampleTypeDto> children = laboratoryDto.getChildren();
-                int sort = 0;
-                // 寰幆绗笁灞�
-                for (SampleTypeDto child : children) {
-                    StructureTestObject structureTestObject = new StructureTestObject();
-                    structureTestObject.setSort(sort);
-                    structureTestObject.setId(child.getSampleTypeId());
-                    testObjects.add(structureTestObject);
-                    sort++;
-                }
-            }
-        }
-        structureTestObjectService.updateBatchById(testObjects);
-
-        return true;
-    }
-
-    /**
-     * 淇敼鏍囧噯鏁�
-     * @param standardTree
-     * @return
-     */
-    @Override
-    public int updateStandardTree(StandardTree standardTree) {
-        // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩�
-        // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲
-
-        List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate()
-                .eq(StandardProductList::getSample, standardTree.getSample())
-                .eq(StandardProductList::getSampleType, standardTree.getSampleType())
-                .eq(StandardProductList::getModel, standardTree.getOldModel()));
-        if (CollectionUtils.isNotEmpty(standardProductLists)) {
-            for (StandardProductList standardProductList : standardProductLists) {
-                // 淇敼鏍峰搧鍚嶇О
-                standardProductList.setModel(standardTree.getModel());
-                // 淇敼鏍戝悕绉�
-                // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇�
-                String[] trees = standardProductList.getTree().split(" - ");
-                trees[4] = standardTree.getModel();
-                List<String> list = CollUtil.newArrayList(trees);
-                String newName = CollUtil.join(list, " - ");
-                standardProductList.setTree(newName);
-            }
-            standardProductListService.updateBatchById(standardProductLists);
-        }
-
-        // 淇敼鏍囧噯鏁版楠岄」鐩�
-        LambdaUpdateWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaUpdate()
-                .eq(StandardTree::getFactory, standardTree.getFactory())
-                .eq(StandardTree::getLaboratory, standardTree.getLaboratory())
-                .eq(StandardTree::getSampleType, standardTree.getSampleType())
-                .eq(StandardTree::getModel, standardTree.getOldModel())
-                .set(StandardTree::getModel, standardTree.getModel());
-        if (StringUtils.isNotBlank(standardTree.getSample())) {
-            wrapper.eq(StandardTree::getSample, standardTree.getSample());
-        }
-        return standardTreeMapper.update(null, wrapper);
-    }
-
-    @Override
     public void resetTreeOfPrice(String tree, Integer standardId) {
         standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate().like(StandardProductList::getTree, tree).eq(StandardProductList::getStandardMethodListId, standardId).set(StandardProductList::getPrice, null));
     }
@@ -521,9 +430,6 @@
                 .set(StandardProductList::getAsk, null)
                 .set(StandardProductList::getTell, null)
                 .set(StandardProductList::getSection, null)
-                .set(StandardProductList::getCores, null)
-                .set(StandardProductList::getConductorMaterial, null)
-                .set(StandardProductList::getConductorType, null)
                 .set(StandardProductList::getPrice, null)
                 .set(StandardProductList::getManHour, null));
     }
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java
new file mode 100644
index 0000000..635acdc
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureItemParameterServiceImpl.java
@@ -0,0 +1,35 @@
+package com.ruoyi.basic.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.StructureItemParameter;
+import com.ruoyi.basic.service.StructureItemParameterService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class StructureItemParameterServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements StructureItemParameterService {
+
+    @Resource
+    private StructureItemParameterMapper structureItemParameterMapper;
+
+    @Override
+    public void removeNoSample(String sample) {
+        structureItemParameterMapper.removeNoSample("\""+sample+"\"");
+    }
+
+    @Override
+    public List<StructureItemParameter> selectTestObjectInspectionItem(String specimenName) {
+        return structureItemParameterMapper.selectItemParameterList1(specimenName);
+    }
+
+    @Override
+    public List<StructureItemParameter> selectTestInspectionItemSub(String inspectionItemSubclass) {
+        return  structureItemParameterMapper.selectItemParameterList2(inspectionItemSubclass);
+    }
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java
similarity index 62%
rename from basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java
rename to basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java
index 29d6ec2..60f0f40 100644
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectServiceImpl.java
@@ -1,9 +1,9 @@
-package com.ruoyi.inspect.service.impl;
+package com.ruoyi.basic.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.inspect.mapper.StructureTestObjectMapper;
-import com.ruoyi.inspect.pojo.StructureTestObject;
-import com.ruoyi.inspect.service.StructureTestObjectService;
+import com.ruoyi.basic.mapper.StructureTestObjectMapper;
+import com.ruoyi.basic.pojo.StructureTestObject;
+import com.ruoyi.basic.service.StructureTestObjectService;
 import org.springframework.stereotype.Service;
 
 /**
diff --git a/basic-server/src/main/java/com/ruoyi/basic/vo/StandardProductVO.java b/basic-server/src/main/java/com/ruoyi/basic/vo/StandardProductVO.java
new file mode 100644
index 0000000..9adbf78
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/vo/StandardProductVO.java
@@ -0,0 +1,23 @@
+package com.ruoyi.basic.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 鏌ヨ鏍囧噯搴撻厤缃伐鏃惰繑鍥炲璞�
+ */
+@Data
+public class StandardProductVO implements Serializable {
+
+    @ApiModelProperty(value = "宸ユ椂(H)")
+    private String manHour;
+
+    @ApiModelProperty(value = "宸ユ椂鍒嗙粍")
+    private String manHourGroup;
+
+    @ApiModelProperty(value = "鍖洪棿璁剧疆")
+    private String section;
+
+}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java
deleted file mode 100644
index 49ff94f..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductPartController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.ruoyi.inspect.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.ProductPart;
-import com.ruoyi.inspect.service.ProductPartService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@AllArgsConstructor
-@RequestMapping("/productPart")
-@Api(tags = "浜у搧闆朵欢缁戝畾")
-public class ProductPartController {
-
-    private ProductPartService productPartService;
-
-    @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ闆朵欢")
-    @PostMapping("/selectByProductId")
-    public Result selectByProductId(Page page,ProductPart productPart){
-        return Result.success(productPartService.selectByProductId(page,productPart));
-    }
-
-    @ApiOperation(value = "鏂板浜у搧闆朵欢")
-    @PostMapping("/addProductPart")
-    public Result addProductPart(@RequestBody ProductPart productPart) {
-        productPartService.addProductPart(productPart);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鏇存柊浜у搧闆朵欢")
-    @PostMapping("/updateProductPart")
-    public Result updateProductPart(@RequestBody ProductPart productPart) {
-        productPartService.updateProductPartById(productPart);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鍒犻櫎浜у搧闆朵欢")
-    @PostMapping("/deleteProductPart")
-    public Result deleteProductPart(Integer id) {
-        productPartService.removeById(id);
-        return Result.success();
-    }
-
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java
deleted file mode 100644
index be25f08..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/ProductSupplierDensityController.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.ruoyi.inspect.controller;
-
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.ProductSupplierDensity;
-import com.ruoyi.inspect.service.ProductSupplierDensityService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * 浜у搧鍘傚瀵嗗害缁戝畾琛�
- *
- * @author zhuo
- * @since 2024-09-19
- */
-@RestController
-@RequestMapping("/productSupplierDensity")
-@AllArgsConstructor
-@Api(tags = "浜у搧鍘傚瀵嗗害缁戝畾")
-public class ProductSupplierDensityController {
-
-    private ProductSupplierDensityService productSupplierDensityService;
-
-    @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瀵嗗害缁戝畾")
-    @PostMapping("/selectSupplierDensityByProductId")
-    public Result selectSupplierDensityByProductId(Page page,ProductSupplierDensity supplierDensity) {
-        return Result.success(productSupplierDensityService.selectByProductId(page, supplierDensity));
-    }
-
-    @ApiOperation(value = "鏂板鍘傚瀵嗗害缁戝畾")
-    @PostMapping("/addProductSupplierDensity")
-    public Result addProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) {
-        productSupplierDensityService.addProductSupplierDensity(supplierDensity);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鏇存柊鍘傚瀵嗗害缁戝畾")
-    @PostMapping("/updateProductSupplierDensity")
-    public Result updateProductSupplierDensity(@RequestBody ProductSupplierDensity supplierDensity) {
-        productSupplierDensityService.updateProductSupplierDensity(supplierDensity);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鍒犻櫎鍘傚瀵嗗害缁戝畾")
-    @PostMapping("/deleteProductSupplierDensity")
-    public Result deleteProductSupplierDensity(Integer id) {
-        productSupplierDensityService.removeById(id);
-        return Result.success();
-    }
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java
deleted file mode 100644
index a92e4d1..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/StandardTreeController.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package com.ruoyi.inspect.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.dto.CopyStandardProductListDto;
-import com.ruoyi.inspect.dto.FactoryDto;
-import com.ruoyi.inspect.dto.InsSampleReceiveDto;
-import com.ruoyi.inspect.dto.ResetTreeDragDTO;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk;
-import com.ruoyi.inspect.pojo.StandardTree;
-import com.ruoyi.inspect.service.StandardMethodListService;
-import com.ruoyi.inspect.service.StandardProductListService;
-import com.ruoyi.inspect.service.StandardProductListSupplierAskService;
-import com.ruoyi.inspect.service.StandardTreeService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.List;
-import java.util.Map;
-
-@RestController
-@AllArgsConstructor
-@RequestMapping("/standardTree")
-@Api(tags = "鏍囧噯搴�")
-public class StandardTreeController {
-
-    private StandardTreeService standardTreeService;
-
-    private StandardMethodListService standardMethodListService;
-
-    private StandardProductListService standardProductListService;
-
-    private StandardProductListSupplierAskService standardProductListSupplierAskService;
-
-    @ApiOperation(value = "鑾峰彇鏍囧噯鏍�")
-    @GetMapping("/selectStandardTreeList")
-    public Result selectStandardTreeList() {
-        return Result.success(standardTreeService.selectStandardTreeList());
-    }
-
-    @ApiOperation(value = "鑾峰彇鏍囧噯鏍�(妫�楠屼笅鍗�)")
-    @GetMapping("/selectStandardTreeList2")
-    public Result selectStandardTreeList2() {
-        return Result.success(standardTreeService.selectStandardTreeList());
-    }
-
-    @ApiOperation(value = "娣诲姞鏍囧噯鏍�")
-    @PostMapping("/addStandardTree")
-    public Result addStandardTree(@RequestBody StandardTree standardTree) {
-        return Result.success(standardTreeService.addStandardTree(standardTree));
-    }
-
-    @ApiOperation(value = "缁欐爣鍑嗘爲娣诲姞妫�楠屾爣鍑�")
-    @PostMapping("/addStandardMethodList")
-    public Result addStandardMethodList(String tree, Integer standardId) {
-        return Result.success(standardMethodListService.addStandardMethodList(standardId, tree));
-    }
-
-    @ApiOperation(value = "鏍规嵁鏍囧噯鏍戣繘琛屾爣鍑嗘煡璇�")
-    @PostMapping("/selectsStandardMethodByFLSSM")
-    public Result selectsStandardMethodByFLSSM(String tree) {
-        return Result.success(standardMethodListService.selectsStandardMethodByFLSSM(tree));
-    }
-
-    @ApiOperation(value = "淇敼鏍囧噯搴撲腑鐨勫唴瀹�")
-    @PostMapping("/upStandardProductList")
-    public Result upStandardProductList(String str) {
-        StandardProductList list = JSON.parseObject(str, StandardProductList.class);
-        return Result.success(standardProductListService.upStandardProductList(list));
-    }
-
-    @ApiOperation(value = "淇敼鏍囧噯搴撳尯闂�")
-    @PostMapping("/updateSection")
-    public Result updateSection(String str) {
-        StandardProductList list = JSON.parseObject(str, StandardProductList.class);
-        return Result.success(standardProductListService.updateSection(list));
-    }
-
-    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠屾爣鍑�")
-    @PostMapping("/delStandardMethodByFLSSM")
-    public Result delStandardMethodByFLSSM(Integer id) {
-        return Result.success(standardMethodListService.delStandardMethodByFLSSM(id));
-    }
-
-    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戜笅鐨勬楠岄」鐩�")
-    @PostMapping("/delStandardProductByIds")
-    public Result delStandardProductByIds(String ids) {
-        JSONArray lists = JSON.parseArray(ids);
-        return Result.success(standardProductListService.delStandardProduct(lists));
-    }
-
-    @ApiOperation(value = "鏂板鏍囧噯鏍戜笅鐨勬楠岄」鐩�")
-    @PostMapping("/addStandardProduct")
-    public Result addStandardProduct(String ids, String tree) {
-        return Result.success(standardTreeService.addStandardProduct(ids, tree));
-    }
-
-    @ApiOperation(value = "鍒犻櫎鏍囧噯鏍戠殑灞傜骇")
-    @PostMapping("/delStandardTree")
-    public Result delStandardTree(String tree) {
-        return Result.success(standardTreeService.delStandardTree(tree));
-    }
-
-    @ApiOperation(value = "閫氳繃鏍囧噯鏍戞煡璇㈠搴旂殑妫�楠岄」鐩�")
-    @PostMapping("/selectStandardProductList")
-    public Result selectStandardProductList(@RequestBody InsSampleReceiveDto insSample) {
-        return Result.success(standardProductListService.selectStandardProductList(insSample));
-    }
-
-    @ApiOperation(value = "閫氳繃妫�楠屾爣鍑嗘煡璇㈡楠岄」鐩�")
-    @PostMapping("/selectStandardProductListByMethodId")
-    public Result selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
-        return Result.success(standardProductListService.selectStandardProductListByMethodId(id, tree, page));
-    }
-
-    @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ妫�楠岄」鐩�")
-    @PostMapping("/selectStandardProductByMethodId")
-    public Result selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) {
-        return Result.success(standardProductListService.selectStandardProductByMethodId(id, tree, page, laboratory, item, items));
-    }
-
-    @ApiOperation(value = "鎵归噺缂栬緫鏌ヨ鎵�鏈夋楠岄」鐩拰妫�楠屽瓙椤规灇涓�")
-    @PostMapping("/selectStandardProductEnumByMethodId")
-    public Result selectStandardProductEnumByMethodId(Integer id, String tree, String item) {
-        return Result.success(standardProductListService.selectStandardProductEnumByMethodId(id, tree, item));
-    }
-
-    @ApiOperation(value = "鑾峰彇鏍囧噯鏍戜笅鏍囧噯鏂规硶鏋氫妇")
-    @GetMapping("/selectStandardMethodEnum")
-    public Result selectStandardMethodEnum() {
-        return Result.success(standardMethodListService.selectStandardMethodEnum());
-    }
-
-    @ApiOperation(value = "鑾峰彇浜у搧鏋舵瀯")
-    @GetMapping("/getStandardTree2")
-    public Result getStandardTree2() {
-        return Result.success(standardTreeService.getStandardTree2());
-    }
-
-    @ApiOperation(value = "鎵归噺淇敼椤圭洰鍐呭")
-    @PostMapping("/upStandardProducts")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "standardProductList", dataTypeClass = StandardProductList.class),
-            @ApiImplicitParam(name = "ids", dataTypeClass = Integer.class)
-    })
-    public Result upStandardProducts(@RequestBody Map<String, Object> product) {
-        return Result.success(standardTreeService.upStandardProducts(product));
-    }
-
-    @PostMapping("/getStandTreeBySampleType")
-    @ApiOperation("浠呰幏鍙栧厜绾ょ殑鍨嬪彿")
-    public Result<?> getStandTreeBySampleType(String laboratory, String sampleType) {
-        return Result.success(standardTreeService.getStandTreeBySampleType(laboratory, sampleType));
-    }
-
-    @ApiOperation("瀵煎叆鏍囧噯搴�")
-    @PostMapping("/inExcelOfTree/{isEquipment}")
-    public Result inExcelOfTree(@RequestParam("file") MultipartFile file, @PathVariable("isEquipment") Boolean isEquipment) {
-        if (!isEquipment) {
-            standardTreeService.inExcelOfTree(file);
-        } else {
-            standardTreeService.importWorkstationExcel(file);
-        }
-        return Result.success();
-    }
-
-    @ApiOperation("閲嶇疆鏍囧噯搴撳崟浠�")
-    @PostMapping("/resetTreeOfPrice")
-    public Result resetTreeOfPrice(String tree, Integer standardId) {
-        standardTreeService.resetTreeOfPrice(tree, standardId);
-        return Result.success();
-    }
-
-    @ApiOperation("閲嶇疆鏍囧噯搴撳伐鏃剁郴鏁�")
-    @PostMapping("/resetTreeOfHour")
-    public Result resetTreeOfHour(String tree, Integer standardId) {
-        standardTreeService.resetTreeOfHour(tree, standardId);
-        return Result.success();
-    }
-
-    @ApiOperation("閲嶇疆鏍囧噯搴撹姹傛弿杩板拰瑕佹眰鍊�")
-    @PostMapping("/resetTreeOfAsk")
-    public Result resetTreeOfAsk(String tree, Integer standardId) {
-        standardTreeService.resetTreeOfAsk(tree, standardId);
-        return Result.success();
-    }
-
-    @ApiOperation("鏍囧噯搴撴嫋鎷�")
-    @PostMapping("/resetTreeDrag")
-    public Result resetTreeDrag(@RequestBody ResetTreeDragDTO resetTreeDragDTO) {
-        standardProductListService.resetTreeDrag(resetTreeDragDTO);
-        return Result.success();
-    }
-
-    @ApiOperation("鏍囧噯搴撴嫋鎷藉叏閮�")
-    @PostMapping("/resetTreeDragBatch")
-    public Result resetTreeDragBatch(@RequestBody Map<String, Object> params) {
-        List<StandardProductList> standardProductLists = (List<StandardProductList>) params.get("params");
-        standardProductListService.resetTreeDragBatch(standardProductLists);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鏍囧噯鏍戞帓搴�")
-    @PostMapping("/updateTreeSort")
-    public Result updateTreeSort(@RequestBody List<FactoryDto> list) {
-        return Result.success(standardTreeService.updateTreeSort(list));
-    }
-
-    /*************************************************** 鍘傚鐗规畩瑕佹眰鍊煎鐞� ************************************************************/
-
-    @ApiOperation(value = "鏍规嵁浜у搧id鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�")
-    @PostMapping("/selectSupplierAsk")
-    public Result selectSupplierAsk(StandardProductListSupplierAsk supplierAsk) throws Exception {
-        return Result.success(standardProductListSupplierAskService.selectByProductId(supplierAsk));
-    }
-
-    @ApiOperation(value = "鏂板鍘傚瑕佹眰鍊肩粦瀹�")
-    @PostMapping("/addProductSupplierAsk")
-    public Result addProductSupplierAsk(String str) {
-        StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class);
-        return Result.success(standardProductListSupplierAskService.addProductSupplierAsk(supplierAsk));
-    }
-
-    @ApiOperation(value = "鏇存柊鍘傚瑕佹眰鍊肩粦瀹�")
-    @PostMapping("/updateProductSupplierAsk")
-    public Result updateProductSupplierAsk(String str) {
-        StandardProductListSupplierAsk supplierAsk = JSON.parseObject(str, StandardProductListSupplierAsk.class);
-        standardProductListSupplierAskService.updateProductSupplierAsk(supplierAsk);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鍒犻櫎鍘傚瑕佹眰鍊肩粦瀹�")
-    @PostMapping("/deleteProductSupplierAsk")
-    public Result deleteProductSupplierAsk(Integer supplierAskId) {
-        standardProductListSupplierAskService.removeById(supplierAskId);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "淇敼鏍囧噯鏍�")
-    @PostMapping("/updateStandardTree")
-    public Result updateStandardTree(@RequestBody StandardTree standardTree) {
-        return Result.success(standardTreeService.updateStandardTree(standardTree));
-    }
-
-    @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎鍒跺姣�")
-    @PostMapping("/copyStandardProductList")
-    public Result copyStandardProductList(@RequestBody CopyStandardProductListDto copyStandardProductListDto) {
-        return Result.success(standardProductListService.copyStandardProductList(copyStandardProductListDto));
-    }
-
-    @ApiOperation(value = "妫�楠岄」瑕佹眰鍊煎崟鐙姣�")
-    @PostMapping("/copyStandardProductOne")
-    public Result copyStandardProductOne(@RequestBody CopyStandardProductListDto copyStandardProductListDto) {
-        return Result.success(standardProductListService.copyStandardProductOne(copyStandardProductListDto));
-    }
-
-    @ApiOperation(value = "妫�楠岄」鎵归噺淇敼瑕佹眰鍊艰姹傛弿杩�")
-    @PostMapping("/updateStandardProductListBatch")
-    public Result updateStandardProductListBatch(@RequestBody Map<String, Object> param) {
-        List<StandardProductList> standardProductList = (List<StandardProductList>) param.get("standardProductList");
-        return Result.success(standardProductListService.updateBatchById(standardProductList));
-    }
-
-    @ApiOperation(value = "妫�楠岄」澶嶅埗鎺掑簭")
-    @PostMapping("/copyStandardProductSort")
-    public Result copyStandardProductSort(@RequestBody CopyStandardProductListDto copyStandardProductListDto) {
-        return Result.success(standardProductListService.copyStandardProductSort(copyStandardProductListDto));
-    }
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java b/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java
deleted file mode 100644
index e6aca05..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/controller/StructureTestObjectPartController.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.ruoyi.inspect.controller;
-
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.common.core.domain.Result;
-import com.ruoyi.inspect.pojo.StructureTestObjectPart;
-import com.ruoyi.inspect.service.StructureTestObjectPartService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * 妫�楠屽璞¢浂浠惰〃
- *
- * @author zhuo
- * @since 2024-08-07
- */
-@RestController
-@RequestMapping("/structureTestObjectPart")
-@AllArgsConstructor
-@Api(tags = "妫�楠屽璞¢浂浠惰〃")
-public class StructureTestObjectPartController {
-
-    private StructureTestObjectPartService structureTestObjectPartService;
-
-    @ApiOperation(value = "鏍规嵁妫�楠屽璞d鏌ヨ闆朵欢")
-    @PostMapping("/selectByTestObjectId")
-    public Result selectByTestObjectId(Page page,StructureTestObjectPart structureTestObjectPart){
-        return Result.success(structureTestObjectPartService.selectByTestObjectId(page,structureTestObjectPart));
-    }
-
-    @ApiOperation(value = "鏂板妫�楠屽璞¢浂浠�")
-    @PostMapping("/addTestObjectPart")
-    public Result addTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) {
-        structureTestObjectPartService.addTestObjectPart(structureTestObjectPart);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鏇存柊妫�楠屽璞¢浂浠�")
-    @PostMapping("/updateTestObjectPart")
-    public Result updateTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) {
-        structureTestObjectPartService.updateTestObjectPart(structureTestObjectPart);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鍒犻櫎妫�楠屽璞¢浂浠�")
-    @PostMapping("/deleteTestObjectPart")
-    public Result deleteTestObjectPart(Integer id) {
-        structureTestObjectPartService.removeById(id);
-        return Result.success();
-    }
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java
deleted file mode 100644
index 08f9bfc..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/CopyStandardProductListDto.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.inspect.dto;
-
-import com.ruoyi.inspect.pojo.StandardProductList;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * 鏍囧噯妫�楠岄」澶嶅埗
- *
- * @Author zhuo
- * @Date 2024/10/31
- */
-@Data
-public class CopyStandardProductListDto {
-
-    @ApiModelProperty("鍘熸湰妫�楠岄」淇℃伅")
-    private List<StandardProductList> oldStandardProductList;
-
-    @ApiModelProperty("闇�瑕佸姣旂殑妫�楠岄」淇℃伅")
-    private List<StandardProductList> newStandardProductList;
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java
deleted file mode 100644
index 98b716d..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/InsSampleReceiveDto.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.ruoyi.inspect.dto;
-
-import com.ruoyi.inspect.pojo.InsSample1;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @Author zhuo
- * @Date 2024/10/29
- */
-@Data
-public class InsSampleReceiveDto extends InsSample1 {
-
-    @ApiModelProperty("闆朵欢鍙�")
-    private String partNo;
-
-    @ApiModelProperty("鍘熸潗鏂檌d")
-    private Integer ifsInventoryId;
-
-    @ApiModelProperty("鑺暟")
-    private String cores;
-
-    @ApiModelProperty("鍨嬪彿鍙傛暟")
-    private String modelNum;
-
-    @ApiModelProperty("瀵间綋鏉愯川")
-    private String conductorMaterial;
-
-    @ApiModelProperty("瀵间綋绫诲瀷")
-    private String conductorType;
-
-    @ApiModelProperty("鏄惁鏄數缂嗛厤缃�")
-    private String isCableTag;
-
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java
deleted file mode 100644
index 1fee4c7..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/ResetTreeDragDTO.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.ruoyi.inspect.dto;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * @Author zhuo
- * @Date 2024/8/22
- */
-@Data
-public class ResetTreeDragDTO {
-    @ApiModelProperty(value = "寮�濮嬬储寮�")
-    private String beginIndex;
-
-    @ApiModelProperty(value = "缁撴潫绱㈠紩")
-    private String endIndex;
-
-    @ApiModelProperty(value = "鏍囧噯缂栧彿id")
-    private String methodId;
-
-    @ApiModelProperty(value = "鏁�")
-    private String tree;
-
-    @ApiModelProperty(value = "妫�楠岄」琛宨d")
-    private String productionId;
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java b/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java
deleted file mode 100644
index 4744706..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/dto/SampleTypeDto.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ruoyi.inspect.dto;
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class SampleTypeDto {
-
-    private String code = "[3]";
-
-    // 妫�娴嬪璞d
-    private Integer sampleTypeId;
-
-    // 妫�娴嬪璞℃帓搴�
-    private Integer sort;
-
-    private String label;
-
-    private String value;
-
-    private String partNo;
-
-    // 瀵硅薄鑻辨枃
-    private String sampleTypeEn;
-
-    private List<SampleDto> children;
-
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java
deleted file mode 100644
index e45e3f5..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductPartMapper.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.ruoyi.inspect.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.ruoyi.inspect.pojo.ProductPart;
-import org.apache.ibatis.annotations.Param;
-
-public interface ProductPartMapper extends BaseMapper<ProductPart> {
-    IPage<ProductPart> selectListByProductId(IPage<ProductPart> page,
-                                              @Param("ew") QueryWrapper<ProductPart> ew,
-                                              @Param("productId") Integer productId);
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java
deleted file mode 100644
index 391f77d..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/ProductSupplierDensityMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.inspect.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.ruoyi.inspect.pojo.ProductSupplierDensity;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * 浜у搧鍘傚瀵嗗害缁戝畾琛�
- *
- * @author zhuo
- * @since 2024-09-19
- */
-@Mapper
-public interface ProductSupplierDensityMapper extends BaseMapper<ProductSupplierDensity> {
-
-    IPage<ProductSupplierDensity> selectListByProductId(@Param("page") Page page, @Param("ew") QueryWrapper<ProductSupplierDensity> ew, @Param("productId") Integer productId);
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java
deleted file mode 100644
index 1b0e867..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListMapper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.ruoyi.inspect.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-/**
-* @author Administrator
-* @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淢apper
-* @createDate 2024-03-05 10:33:29
-* @Entity com.ruoyi.basic.pojo.StandardProductList
-*/
-public interface StandardProductListMapper extends BaseMapper<StandardProductList> {
-
-    IPage<StandardProductList> standardProductListIPage(@Param("id") Integer id, @Param("tree") String tree, IPage<StandardProductList> page, @Param("laboratory") String laboratory, @Param("insItem") String insItem, @Param("insItems") String insItems);
-
-    StandardProductList getOne(@Param("standardMethodListId") Integer standardMethodListId, @Param("inspectionItem") String inspectionItem, @Param("sample") String sample, @Param("inspectionItemSubclass") String inspectionItemSubclass, @Param("model") String model, @Param("inspectionItemClass") String inspectionItemClass);
-
-    List<StandardProductList> selectDetail(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("model") String model, @Param("isCableTag") String isCableTag);
-
-    List<StandardProductList> selectDetail2(@Param("standardMethodListId") Integer standardMethodListId, @Param("state") int state, @Param("tree") String tree, @Param("isCableTag") String isCableTag);
-
-    /**
-     * 鏌ヨ闆朵欢棰滆壊
-     * @param partNo
-     * @return
-     */
-    Map<String, String> selectPartColor(@Param("partNo") String partNo);
-
-    /**
-     * 鍖洪棿淇敼
-     * @param productList
-     * @return
-     */
-    void updateSection(@Param("productList") StandardProductList productList);
-
-
-    /**
-     * 浠庝笂寰�涓嬩慨鏀归『搴�
-     * @param beginIndex 寮�濮嬩綅缃�
-     * @param endIndex 缁撴潫浣嶇疆
-     * @param methodId 鏍囧噯id
-     * @param tree 鏍�
-     */
-    void updateSortUp(@Param("beginIndex") Integer beginIndex,
-                      @Param("endIndex") Integer endIndex,
-                      @Param("methodId") Integer methodId,
-                      @Param("tree") String tree);
-
-    /**
-     * 浠庝笅缃戜笂淇敼椤哄簭
-     * @param beginIndex
-     * @param endIndex
-     * @param methodId
-     * @param tree
-     */
-    void updateSortDown(@Param("beginIndex") Integer beginIndex,
-                        @Param("endIndex") Integer endIndex,
-                        @Param("methodId") Integer methodId,
-                        @Param("tree") String tree);
-}
-
-
-
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java
deleted file mode 100644
index 23ffae9..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StandardProductListSupplierAskMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.inspect.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
- *
- * @author zhuo
- * @since 2024-09-23
- */
-@Mapper
-public interface StandardProductListSupplierAskMapper extends BaseMapper<StandardProductListSupplierAsk> {
-
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java b/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java
deleted file mode 100644
index 29a4fc3..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/mapper/StructureTestObjectPartMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.inspect.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.ruoyi.inspect.pojo.StructureTestObjectPart;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * 妫�楠屽璞¢浂浠惰〃
- *
- * @author zhuo
- * @since 2024-08-07
- */
-@Mapper
-public interface StructureTestObjectPartMapper extends BaseMapper<StructureTestObjectPart> {
-    IPage<StructureTestObjectPart> selectListByTestObjectId(Page page, @Param("ew") QueryWrapper<StructureTestObjectPart> structureTestObjectPartQueryWrapper, @Param("testObjectId") Integer testObjectId);
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java
deleted file mode 100644
index f7eef84..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductPart.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.ruoyi.inspect.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-@Data
-@TableName("product_part")
-public class ProductPart implements Serializable {
-
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty("浜у搧id")
-    private Integer productId;
-
-    @ApiModelProperty("闆朵欢鍙�")
-    private String partNo;
-
-    @ApiModelProperty("棰滆壊")
-    private String color;
-
-    @ApiModelProperty("鑹叉爣")
-    private String colorCode;
-
-    @ApiModelProperty(value = "鍒涘缓浜篿d")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-
-    @ApiModelProperty(value = "淇敼浜篿d")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime updateTime;
-
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java
deleted file mode 100644
index e0a13a9..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/ProductSupplierDensity.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.ruoyi.inspect.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * 浜у搧鍘傚瀵嗗害缁戝畾琛�
- *
- * @author zhuo
- * @since 2024-09-19
- */
-@Data
-@TableName("product_supplier_density")
-public class ProductSupplierDensity implements Serializable {
-
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty("浜у搧id")
-    private Integer productId;
-
-    @ApiModelProperty("鍨嬪彿")
-    private String model;
-
-    @ApiModelProperty("鍘傚鍚嶇О")
-    private String supplierName;
-
-    @ApiModelProperty("瀵嗗害鍊�")
-    private String densityValue;
-
-    @ApiModelProperty(value = "鍒涘缓浜篿d")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-
-    @ApiModelProperty(value = "淇敼浜篿d")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime updateTime;
-
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java
deleted file mode 100644
index ad0b683..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StandardProductListSupplierAsk.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.ruoyi.inspect.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-/**
- * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
- *
- * @author zhuo
- * @since 2024-09-23
- */
-@TableName(value ="standard_product_list_supplier_ask")
-@Data
-public class StandardProductListSupplierAsk {
-
-    @TableId(type = IdType.AUTO)
-    private Integer supplierAskId;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty("妫�楠岄」鐩甶d")
-    private Long productListId;
-
-    @ApiModelProperty("鍘傚鍚嶇О")
-    private String supplierName;
-
-    @ApiModelProperty("瑕佹眰鍊�")
-    private String ask;
-
-    @ApiModelProperty("瑕佹眰鎻忚堪")
-    private String tell;
-
-    @ApiModelProperty(value = "鍒涘缓浜篿d")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-
-    @ApiModelProperty(value = "淇敼浜篿d")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime updateTime;
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java b/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java
deleted file mode 100644
index 7a6aa14..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/pojo/StructureTestObjectPart.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.ruoyi.inspect.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * 妫�楠屽璞¢浂浠惰〃(StructureTestObjectPart)$desc
- *
- * @author makejava
- * @since 2024-08-07 10:10:30
- */
-@TableName(value ="structure_test_object_part")
-@Data
-public class StructureTestObjectPart implements Serializable {
-
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty("妫�楠屽璞d")
-    private Integer testObjectId;
-
-    @ApiModelProperty("闆朵欢鍙�")
-    private String partNo;
-
-    @ApiModelProperty("棰滆壊")
-    private String color;
-
-    @ApiModelProperty("鑹叉爣")
-    private String colorCode;
-
-    @ApiModelProperty(value = "鍒涘缓浜篿d")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-
-    @ApiModelProperty(value = "淇敼浜篿d")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鏇存柊鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime updateTime;
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java
deleted file mode 100644
index b1127b8..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductPartService.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.ProductPart;
-
-public interface ProductPartService extends IService<ProductPart> {
-
-    IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart);
-
-    void addProductPart(ProductPart productPart);
-
-    void updateProductPartById(ProductPart productPart);
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java
deleted file mode 100644
index d8b8e83..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/ProductSupplierDensityService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.ProductSupplierDensity;
-
-/**
- * 浜у搧鍘傚瀵嗗害缁戝畾琛�
- *
- * @author zhuo
- * @since 2024-09-19
- */
-public interface ProductSupplierDensityService extends IService<ProductSupplierDensity> {
-
-    IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity);
-
-    void addProductSupplierDensity(ProductSupplierDensity supplierDensity);
-
-    void updateProductSupplierDensity(ProductSupplierDensity supplierDensity);
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java
deleted file mode 100644
index e7fcbae..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListService.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.dto.CopyStandardProductListDto;
-import com.ruoyi.inspect.dto.InsSampleReceiveDto;
-import com.ruoyi.inspect.dto.ResetTreeDragDTO;
-import com.ruoyi.inspect.pojo.StandardProductList;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Administrator
- * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice
- * @createDate 2024-03-05 10:33:29
- */
-public interface StandardProductListService extends IService<StandardProductList> {
-
-    int upStandardProductList(StandardProductList list);
-
-    int delStandardProduct(JSONArray list);
-
-    List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample);
-
-    Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page);
-
-    IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items);
-
-    Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item);
-
-    boolean updateSection(StandardProductList list);
-
-    /**
-     * 鏍囧噯搴撴嫋鎷�
-     * @param resetTreeDragDTO
-     */
-    void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO);
-
-    /**
-     * 鏍囧噯搴撴嫋鎷�
-     * @param standardProductLists
-     */
-    void resetTreeDragBatch(List<StandardProductList> standardProductLists);
-
-    /**
-     * 妫�楠岄」瑕佹眰鍊煎姣�
-     * @param copyStandardProductListDto
-     * @return
-     */
-    List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyStandardProductListDto);
-
-    /**
-     * 妫�楠岄」瑕佹眰鍊煎姣斾竴涓�
-     * @param copyStandardProductListDto
-     * @return
-     */
-    List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto copyStandardProductListDto);
-
-    /**
-     * 妫�楠岄」澶嶅埗鎺掑簭
-     * @param copyStandardProductListDto
-     * @return
-     */
-    boolean copyStandardProductSort(CopyStandardProductListDto copyStandardProductListDto);
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java
deleted file mode 100644
index 40267e9..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StandardProductListSupplierAskService.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk;
-
-import java.util.List;
-
-/**
- * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
- *
- * @author makejava
- * @since 2024-09-23
- */
-public interface StandardProductListSupplierAskService extends IService<StandardProductListSupplierAsk> {
-
-    List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk);
-
-    Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk);
-
-    Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk);
-
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java
deleted file mode 100644
index 8d2cedf..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureItemParameterService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StructureItemParameter;
-
-public interface StructureItemParameterService extends IService<StructureItemParameter> {
-    void removeNoSample(String sample);
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java b/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java
deleted file mode 100644
index 420d1ed..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/StructureTestObjectPartService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ruoyi.inspect.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.inspect.pojo.StructureTestObjectPart;
-
-/**
- * 妫�楠屽璞¢浂浠惰〃
- *
- * @author zhuo
- * @since 2024-08-07
- */
-public interface StructureTestObjectPartService extends IService<StructureTestObjectPart> {
-
-    IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart);
-
-    void addTestObjectPart(StructureTestObjectPart structureTestObjectPart);
-
-    void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart);
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java
deleted file mode 100644
index 009b279..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductPartServiceImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.ProductPartMapper;
-import com.ruoyi.inspect.mapper.StructureTestObjectPartMapper;
-import com.ruoyi.inspect.pojo.ProductPart;
-import com.ruoyi.inspect.pojo.StructureTestObjectPart;
-import com.ruoyi.inspect.service.ProductPartService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-@Transactional
-@Service
-@AllArgsConstructor
-public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, ProductPart> implements ProductPartService {
-
-    private  ProductPartMapper productPartMapper;
-    private StructureTestObjectPartMapper structureTestObjectPartMapper;
-
-
-    @Override
-    public IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart) {
-        return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart),productPart.getProductId());
-    }
-
-    @Override
-    public void addProductPart(ProductPart productPart) {
-        if (productPart.getProductId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null);
-        productPartMapper.insert(productPart);
-    }
-
-    @Override
-    public void updateProductPartById(ProductPart productPart) {
-        this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId());
-        if (productPart.getProductId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        productPartMapper.updateById(productPart);
-    }
-
-    // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦�
-    public void isPartNoExist(String partNo,Integer productId, Integer id) {
-        // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~
-        if (StringUtils.isNotBlank(partNo)) {
-            Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>()
-//                    .eq(ProductPart::getProductId, productId)
-                    .eq(ProductPart::getPartNo, partNo)
-                    .ne(id != null, ProductPart::getId, id));
-            Long selectCount = structureTestObjectPartMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery()
-                    .eq(StructureTestObjectPart::getPartNo, partNo));
-            if (count > 0 || selectCount > 0) {
-                throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�");
-            }
-        } else {
-            throw new BaseException("璇疯緭鍏ラ浂浠跺彿");
-        }
-    }
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java
deleted file mode 100644
index 069498c..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/ProductSupplierDensityServiceImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.ProductSupplierDensityMapper;
-import com.ruoyi.inspect.pojo.ProductSupplierDensity;
-import com.ruoyi.inspect.service.ProductSupplierDensityService;
-import org.springframework.stereotype.Service;
-
-/**
- * 浜у搧鍘傚瀵嗗害缁戝畾琛�
- *
- * @author zhuo
- * @since 2024-09-19
- */
-@Service
-public class ProductSupplierDensityServiceImpl extends ServiceImpl<ProductSupplierDensityMapper, ProductSupplierDensity> implements ProductSupplierDensityService {
-
-    @Override
-    public IPage<ProductSupplierDensity> selectByProductId(Page page, ProductSupplierDensity supplierDensity) {
-        if (supplierDensity.getProductId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        return baseMapper.selectListByProductId(page, QueryWrappers.queryWrappers(supplierDensity), supplierDensity.getProductId());
-    }
-
-    @Override
-    public void addProductSupplierDensity(ProductSupplierDensity supplierDensity) {
-        if (supplierDensity.getProductId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
-//        Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery()
-//                .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId())
-//                .eq(ProductSupplierDensity::getModel, supplierDensity)
-//                .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName()));
-//        if (count > 0){
-//            throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚");
-//        }
-
-        baseMapper.insert(supplierDensity);
-    }
-
-    @Override
-    public void updateProductSupplierDensity(ProductSupplierDensity supplierDensity) {
-        if (supplierDensity.getProductId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
-//        Long count = baseMapper.selectCount(Wrappers.<ProductSupplierDensity>lambdaQuery()
-//                .ne(ProductSupplierDensity::getId, supplierDensity.getId())
-//                .eq(ProductSupplierDensity::getProductId, supplierDensity.getProductId())
-//                .eq(ProductSupplierDensity::getModel, supplierDensity)
-//                .eq(ProductSupplierDensity::getSupplierName, supplierDensity.getSupplierName()));
-//        if (count > 0){
-//            throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚");
-//        }
-        baseMapper.updateById(supplierDensity);
-    }
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java
deleted file mode 100644
index c766bb3..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListService2Impl.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.inspect.mapper.StandardProductListMapper;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.service.StandardProductListService2;
-import org.springframework.stereotype.Service;
-
-@Service
-public class StandardProductListService2Impl extends ServiceImpl<StandardProductListMapper, StandardProductList>
-        implements StandardProductListService2 {
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java
deleted file mode 100644
index fac55a3..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListServiceImpl.java
+++ /dev/null
@@ -1,673 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.*;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.inspect.dto.CopyStandardProductListDto;
-import com.ruoyi.inspect.dto.InsSampleReceiveDto;
-import com.ruoyi.inspect.dto.ProductDto;
-import com.ruoyi.inspect.dto.ResetTreeDragDTO;
-import com.ruoyi.inspect.mapper.StandardProductListMapper;
-import com.ruoyi.inspect.mapper.StandardProductListSupplierAskMapper;
-import com.ruoyi.inspect.mapper.StandardTreeMapper;
-import com.ruoyi.inspect.pojo.StandardProductList;
-import com.ruoyi.inspect.pojo.StandardTree;
-import com.ruoyi.inspect.service.StandardProductListService;
-import com.ruoyi.inspect.service.StandardProductListService2;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-
-/**
- * @author Administrator
- * @description 閽堝琛ㄣ�恠tandard_product_list(鏍囧噯鏍戜笅鐨勬楠岄」鐩�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
- * @createDate 2024-03-05 10:33:29
- */
-@Service
-@AllArgsConstructor
-public class StandardProductListServiceImpl extends ServiceImpl<StandardProductListMapper, StandardProductList>
-        implements StandardProductListService {
-
-    private StandardProductListMapper standardProductListMapper;
-
-    private StandardTreeMapper standardTreeMapper;
-
-    private StandardProductListService2 standardProductListService2;
-
-    private StandardProductListSupplierAskMapper standardProductListSupplierAskMapper;
-
-
-    @Override
-    public int upStandardProductList(StandardProductList list) {
-        return standardProductListMapper.updateById(list);
-    }
-
-    @Override
-    public int delStandardProduct(JSONArray list) {
-        return standardProductListMapper.deleteBatchIds(list);
-    }
-
-    @Override
-    public List<StandardProductList> selectStandardProductList(InsSampleReceiveDto insSample) {
-        // 鏄惁娌℃湁浜у搧
-        boolean isNoSample = false;
-//        String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆�
-        String model = insSample.getModel();
-        String modelNum = insSample.getModelNum();
-        List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, model, insSample.getIsCableTag());
-        if (list.size() == 0) {
-            if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) {
-                return null;
-            }
-            String[] split = insSample.getFactory().split(" - ");
-            split[3] = split[3].replace("- ", "");
-            String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null";
-            list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree, insSample.getIsCableTag());
-            if (list.size() == 0) {
-                String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3];
-                list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1, insSample.getIsCableTag());
-
-                // 鍙湁瀵硅薄鐨勪竴灞�
-                if (list.size() == 0) {
-                    String tree2 = split[0] + " - " + split[1] + " - " + split[2] + " - null - null";
-                    list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree2, insSample.getIsCableTag());
-                    // 鏍峰搧鐩存帴璧嬪�兼牱鍝佸垎绫�
-                    list.forEach(standardProductList -> standardProductList.setSample(standardProductList.getSampleType()));
-                    isNoSample = true;
-                }
-            }
-        }
-        String[] split1 = insSample.getFactory().split(" - ");
-        if (!isNoSample) {
-            //鍒ゆ柇闀垮害
-            if (split1.length > 4) {
-                if (ObjectUtils.isNotEmpty(split1[3])) {
-                    list = list.stream().filter(list1 -> Objects.nonNull(list1.getSample()) && Objects.equals(list1.getSample(), split1[3])).collect(Collectors.toList());
-                } else if (split1[3].equals("")) {
-                    list = list.stream().filter(list1 -> Objects.nonNull(list1.getSampleType()) && Objects.equals(list1.getSampleType(), split1[2])).collect(Collectors.toList());
-                }
-            }
-        }
-        list = list.stream().filter(a -> {
-                    try {
-                        if (a.getSection() != null && !Objects.equals(a.getSection(), "")) {
-                            List<String> sections = JSON.parseArray(a.getSection(), String.class);// 鍖洪棿
-                            List<String> cores = JSON.parseArray(a.getCores(), String.class); // 鑺暟
-                            List<String> conductorMaterials = JSON.parseArray(a.getConductorMaterial(), String.class); // 瀵间綋鏉愯川
-                            List<String> conductorTypes = JSON.parseArray(a.getConductorType(), String.class); // 瀵间綋绫诲瀷
-                            List<String> asks = JSON.parseArray(a.getAsk(), String.class);
-                            List<String> tells = JSON.parseArray(a.getTell(), String.class);
-                            boolean isIf;
-                            for (int i = 0; i < sections.size(); i++) {
-                                if (Objects.equals(a.getBsm(), "1")) {
-                                    return true;
-                                } else {
-                                    if (sections.get(i).contains("&")) {
-                                        String[] split = sections.get(i).split("&");
-                                        isIf = getIsIf(split[0], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample)
-                                                && getIsIf(split[1], modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample);
-                                    } else {
-                                        isIf = getIsIf(sections.get(i), modelNum, cores.get(i), conductorMaterials.get(i), conductorTypes.get(i), insSample);
-                                    }
-                                    if (isIf) {
-                                        a.setSection(sections.get(i));
-                                        a.setAsk(asks.get(i));
-                                        a.setTell(tells.get(i));
-                                        return true;
-                                    }
-                                }
-                            }
-                            return false;
-                        }
-                    } catch (Exception ignored) {
-                        return false;
-                    }
-                    return true;
-                }).peek(standardProductList -> {
-                    // todo: 鍒ゆ柇鏄惁鏄師鏉愪笅鍗�, 闇�瑕佸晩鎶婇鑹茬粦瀹氬埌璇曟牱棰滆壊鐨勮姹傚�间笂
-                    if (StringUtils.isNotBlank(insSample.getPartNo())) {
-                        // 鍒ゆ柇鏄惁鏈夎繖涓瓧娈典笖鏄枃鏈被鍨�
-                        if (StringUtils.isNotBlank(standardProductList.getInspectionItem())
-                                && standardProductList.getInspectionItem().contains("璇曟牱棰滆壊")) {
-                            Map<String, String> partColor = baseMapper.selectPartColor(insSample.getPartNo());
-                            if (CollectionUtils.isNotEmpty(partColor)) {
-                                if (StringUtils.isNotBlank(partColor.get("color"))) {
-                                    // 鍒ゆ柇妫�楠屽�兼槸鍚︿负绌哄拰涓嶇瓑浜� -  鍜� /
-                                    if (StringUtils.isBlank(standardProductList.getAsk()) || partColor.get("color").contains("鏈�")) { // 娌℃湁ask鐩存帴澶嶅埗
-                                        // 鏌ヨ瀵硅薄缁戝畾琛ㄥ拰浜у搧缁戝畾琛�
-                                        standardProductList.setAsk("=" + partColor.get("color")
-                                                + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")"));
-                                        standardProductList.setTell(partColor.get("color")
-                                                + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")"));
-                                        standardProductList.setInspectionValueType("2");
-                                    } else { // 鎷兼帴鍒拌姹傛弿杩板墠闈�
-                                        standardProductList.setTell(partColor.get("color")
-                                                + (StringUtils.isBlank(partColor.get("color_code")) ? "" : "(" + partColor.get("color_code") + ")") + "@" + standardProductList.getTell());
-                                    }
-                                }
-                            }
-                        }
-                    }
-                })
-                .collect(Collectors.toList());
-
-
-
-        return list;
-    }
-
-    /**
-     *
-     * @param str                 鍒ゅ畾鍏紡
-     * @param model               鍨嬪彿
-     * @param standardCores       鑺暟
-     * @param conductorMaterial   瀵间綋鏉愯川
-     * @param conductorType       瀵间綋绫诲瀷
-     * @param insSample
-     * @return
-     */
-    private boolean getIsIf(String str, String model, String standardCores, String conductorMaterial, String conductorType,InsSampleReceiveDto insSample) {
-        Matcher matcher = Pattern.compile("\\d+(\\.\\d+)?").matcher(model);
-        String model2 = "";
-        while (matcher.find()) {
-            model2 += matcher.group();
-            break;
-        }
-        boolean flag = false;
-        if (str.contains("鈮�") || str.contains(">=")) {
-            String param = str.replace("鈮�", "").replace(">=", "");
-            flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > -1;
-        } else if (str.contains("鈮�") || str.contains("<=")) {
-            String param = str.replace("鈮�", "").replace("<=", "");
-            flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 1;
-        } else if (str.contains(">") || str.contains("锛�")) {
-            String param = str.replace(">", "").replace("锛�", "");
-            flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) > 0;
-        } else if (str.contains("<") || str.contains("锛�")) {
-            String param = str.replace("<", "").replace("锛�", "");
-            flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) < 0;
-        } else if (str.contains("=")) {
-            String param = str.replace("=", "");
-            flag = new BigDecimal(model2).compareTo(new BigDecimal(param)) == 0;
-        }
-        if (flag) {
-            boolean coresMatch = true;
-            boolean conductorMaterialMatch = true;
-            boolean conductorTypeMatch = true;
-
-            // 鍒ゆ柇鏄惁鏈夌嚎鑺暟閲�
-            if (StringUtils.isNotBlank(standardCores)) {
-                if (StringUtils.isBlank(insSample.getCores()) || !standardCores.equals(insSample.getCores())) {
-                    coresMatch = false;
-                }
-            }
-
-            // 鍒ゆ柇鏄惁鏈夊浣撴潗璐�
-            if (StringUtils.isNotBlank(conductorMaterial)) {
-                if (StringUtils.isBlank(insSample.getConductorMaterial()) || !conductorMaterial.equals(insSample.getConductorMaterial())) {
-                    conductorMaterialMatch = false;
-                }
-            }
-
-            // 鍒ゆ柇鏄惁鏈夊浣撶被鍨�
-            if (StringUtils.isNotBlank(conductorType)) {
-                if (StringUtils.isBlank(insSample.getConductorType()) || !conductorType.equals(insSample.getConductorType())) {
-                    conductorTypeMatch = false;
-                }
-            }
-            // 鏈�缁堝垽鏂�
-            flag = coresMatch && conductorMaterialMatch && conductorTypeMatch;
-        }
-
-        return flag;
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) {
-        String[] trees = tree.split(" - ");
-        try {
-            String tree1 = trees[2];
-        } catch (Exception e) {
-            throw new BaseException("鎿嶄綔澶揩,绯荤粺浼犲弬閿欒!!!!");
-        }
-        boolean isDrag = false;
-        List<StandardProductList> list = new ArrayList<>();
-        if (trees.length == 3) {
-            List<StandardTree> treeList = new ArrayList<>();
-            StandardTree standardTree = new StandardTree();
-            standardTree.setFactory(trees[0]);
-            standardTree.setLaboratory(trees[1]);
-            standardTree.setSampleType(trees[2]);
-            List<ProductDto> pList = standardTreeMapper.selectPList(trees[2]);
-            if (pList.size() == 0 || pList.get(0) == null) {
-                List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]));
-                if (treeList1.size() == 0) {
-                    treeList.add(standardTree);
-                } else {
-                    treeList.addAll(treeList1);
-                }
-            } else {
-                for (ProductDto p : pList) {
-                    standardTree.setSample(p.getName());
-                    List<StandardTree> treeList1 = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, p.getName()));
-                    if (treeList1.size() == 0) {
-                        treeList.add(JSON.parseObject(JSON.toJSONString(standardTree), StandardTree.class));
-                    } else {
-                        treeList.addAll(treeList1);
-                    }
-                }
-            }
-            for (StandardTree standardTree2 : treeList) {
-                String tree2 = trees[0] + " - " + trees[1] + " - " + trees[2] + " - " + standardTree2.getSample() + " - " + standardTree2.getModel();
-                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1]));
-                list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + standardTree2.getSample() + "\"", standardTree2.getSample(), standardTree2.getModel(), tree2, trees[1]));
-            }
-        } else if (trees.length == 4) {
-            // 鍒ゆ柇绗洓灞傛槸鍚︽湁鍨嬪彿
-            Long count = standardProductListMapper.selectCount(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .isNull(StandardProductList::getModel)
-                    .like(StandardProductList::getTree, tree));
-            if (count == 0) {
-                isDrag = true;
-            }
-
-            isDrag = true;
-            List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
-            if (treeList.size() == 0) {
-                StandardTree standardTree = new StandardTree();
-                standardTree.setFactory(trees[0]);
-                standardTree.setLaboratory(trees[1]);
-                standardTree.setSampleType(trees[2]);
-                standardTree.setSample(trees[3]);
-                treeList.add(standardTree);
-            }
-            for (StandardTree standardTree : treeList) {
-                String str = tree + " - " + standardTree.getModel();
-                list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1]));
-                list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", standardTree.getSample(), standardTree.getModel(), str, trees[1]));
-            }
-        } else {
-            isDrag = true;
-            list.addAll(standardTreeMapper.selectStandardProductListByTree("\"" + trees[2] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1]));
-            list.addAll(standardTreeMapper.selectStandardProductListByTree2("\"" + trees[2] + "\",\"" + trees[3] + "\"", trees[3].equals("null") ? null : trees[3], trees[4], tree, trees[1]));
-        }
-        for (StandardProductList productList : list) {
-            productList.setId(IdWorker.getId());
-        }
-        List<StandardProductList> standardProductLists;
-
-        if (isDrag) {
-            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .like(StandardProductList::getTree, tree)
-                    .orderByAsc(StandardProductList::getSort));
-            // 鍒ゆ柇鏄惁鏈夋病鏈夊簭鍙风殑, 娌℃湁搴忓彿閲嶇疆
-            boolean b = standardProductLists.stream().anyMatch(standardProductList -> standardProductList.getSort() == null);
-        } else {
-            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .like(StandardProductList::getTree, tree));
-        }
-
-        for (StandardProductList sp : standardProductLists) {
-            for (StandardProductList pl : list) {
-                // 鍒ゆ柇鏉′欢鏄惁鍙湁涓�涓�, 鏈変竴涓殑璇濋粯璁ょ涓�涓�
-                String radiusList = pl.getRadiusList();
-                if (StringUtils.isNotBlank(radiusList) && !radiusList.equals("null") && !radiusList.equals("\"\"")) {
-                    JSONArray jsonArray = JSON.parseArray(radiusList);
-                    List<String> radius = jsonArray.toJavaList(String.class);
-                    if (CollectionUtils.isNotEmpty(radius) && radius.size() == 1) {
-                        pl.setRadius(radius.get(0));
-                    }
-                }
-                if (Objects.equals(sp.getInspectionItem(), pl.getInspectionItem())
-                        && Objects.equals((sp.getInspectionItemSubclass() == null) ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass())
-//                        && Objects.equals(sp.getSample(), pl.getSample())
-                        && Objects.equals(sp.getModel(), pl.getModel())
-                        && sp.getTree().indexOf(pl.getSample() == null ? "null" : pl.getSample()) > -1
-                        && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) {
-                    pl.setId(sp.getId());
-                    // 娣诲姞鎺掑簭瀛楁
-                    pl.setSort(sp.getSort());
-                    if (sp.getState() != null && !sp.getState().equals("")) {
-                        pl.setState(sp.getState());
-                    } else {
-                        pl.setState(id == 0 ? 1 : 0);
-                    }
-                    if (sp.getMethodS() != null && !sp.getMethodS().equals("")) {
-                        pl.setMethod(sp.getMethodS());
-                    }
-                    if (sp.getRadius() != null && !sp.getRadius().equals("")) {
-                        pl.setRadius(sp.getRadius());
-                    }
-                    if (sp.getRates() != null && !sp.getRates().equals("")) {
-                        pl.setRates(sp.getRates());
-                    }
-                    if (sp.getAsk() != null && !sp.getAsk().equals("")) {
-                        pl.setAsk(sp.getAsk());
-                    }
-                    if (sp.getTell() != null && !sp.getTell().equals("")) {
-                        pl.setTell(sp.getTell());
-                    }
-                    if (sp.getPrice() != null && !sp.getPrice().equals("")) {
-                        pl.setPrice(sp.getPrice());
-                    }
-                    if (sp.getManHour() != null && !sp.getManHour().equals("")) {
-                        pl.setManHour(sp.getManHour());
-                    }
-                    if (sp.getSection() != null && !sp.getSection().equals("")) {
-                        pl.setSection(sp.getSection());
-                    }
-                    if (sp.getCores() != null && !sp.getCores().equals("")) {
-                        pl.setCores(sp.getCores());
-                    }
-                    if (sp.getConductorMaterial() != null && !sp.getConductorMaterial().equals("")) {
-                        pl.setConductorMaterial(sp.getConductorMaterial());
-                    }
-                    if (sp.getConductorType() != null && !sp.getConductorType().equals("")) {
-                        pl.setConductorType(sp.getConductorType());
-                    }
-                    if (sp.getTemplateId() != null && !sp.getTemplateId().equals("")) {
-                        pl.setTemplateId(sp.getTemplateId());
-                    }
-                    //鍥犱负杩樻湁涓骇鍝佸彨鑰愬紶绾垮す 鎺ョ画閲戝叿 ,杩欎袱涓」鐩殑鏁版嵁瀹屽叏涓�鏍�,鐗规畩澶勭悊
-                    if (sp.getTree() != null && !sp.getTree().equals("") && !pl.getTree().equals("涓ぉ绉戞妧妫�娴嬩腑蹇� - 鐢靛姏浜у搧瀹為獙瀹� - 閲戝叿 - 鑰愬紶绾垮す - null")) {
-                        pl.setTree(sp.getTree());
-                    }
-                    break;
-                }
-            }
-        }
-        if (page == 1) {
-            Integer userId = SecurityUtils.getUserId().intValue();
-//            CompletableFuture.supplyAsync(() -> {
-            if (trees.length == 5) {
-                standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate()
-                        .eq(StandardProductList::getStandardMethodListId, id)
-                        .eq(StandardProductList::getTree, tree));
-            } else {
-                standardProductListMapper.delete(Wrappers.<StandardProductList>lambdaUpdate()
-                        .eq(StandardProductList::getStandardMethodListId, id)
-                        .like(StandardProductList::getTree, tree));
-            }
-
-            boolean success = false;
-            int retryCount = 0;
-            while (!success && retryCount < 100) {
-                try {
-                    standardProductListService2.saveBatch(list.stream().map(a -> {
-                        a.setFactory(trees[0]);
-                        a.setLaboratory(trees[1]);
-                        a.setSampleType(trees[2]);
-                        a.setCreateUser(userId);
-                        a.setUpdateUser(userId);
-                        a.setStandardMethodListId(id);
-                        return a;
-                    }).collect(Collectors.toList()));
-                    ;
-                    success = true;
-                } catch (Exception e) {
-                    // 澶勭悊閲嶅 ID 鐨勮褰曪紝閲嶆柊鐢熸垚 ID 骞剁户缁皾璇曟彃鍏�
-                    for (StandardProductList productList : list) {
-                        productList.setId(IdWorker.getId());
-                    }
-                }
-            }
-            if (!success) {
-                throw new RuntimeException("鎻掑叆澶辫触");
-            }
-
-        }
-        Map<String, Object> map = new HashMap<>();
-        Collections.sort(list, (o1, o2) -> {
-            String field1 = o1.getManHourGroup();
-            String field2 = o2.getManHourGroup();
-
-            boolean isEmpty1 = field1 == null || field1.isEmpty();
-            boolean isEmpty2 = field2 == null || field2.isEmpty();
-
-            if (isEmpty1 && isEmpty2) {
-                return 0;
-            } else if (isEmpty1) {
-                return 1;
-            } else if (isEmpty2) {
-                return -1;
-            } else {
-                int num1 = extractNumber(field1);
-                int num2 = extractNumber(field2);
-                return Integer.compare(num1, num2);
-            }
-        });
-          // 鎸夌収绱㈠紩鎺掑簭
-        if (isDrag) {
-            list.sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort())
-                    - (o2.getSort() == null ? 0 : o2.getSort()));
-        }
-        try {
-            map.put("productList", list.subList((page - 1) * 300, page * 300));
-        } catch (IndexOutOfBoundsException e) {
-            map.put("productList", list.subList((page - 1) * 300, list.size()));
-        }
-        map.put("total", list.size());
-        return map;
-    }
-
-    private int extractNumber(String s) {
-        // 浠庡瓧绗︿覆涓彁鍙栨暟瀛楃殑閫昏緫锛岃繖閲屽亣璁惧瓧娈电殑鏍煎紡鏄� "text<number>"
-        String number = s;
-        if (!s.matches("\\d+")) {
-            number = s.replaceAll("\\D", "");
-        }
-        return Integer.parseInt(number);
-    }
-
-    @Override
-    public IPage<StandardProductList> selectStandardProductByMethodId(Integer id, String tree, Integer page, String laboratory, String item, String items) {
-        IPage<StandardProductList> iPage = new Page<>();
-        iPage.setSize(100);
-        iPage.setCurrent(page);
-        return standardProductListMapper.standardProductListIPage(id, tree, iPage, laboratory, item, items);
-    }
-
-    @Override
-    public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) {
-        HashMap<String, List<?>> map = new HashMap<>();
-        map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                .eq(StandardProductList::getStandardMethodListId, id)
-                .like(StandardProductList::getTree, tree)
-                .select(StandardProductList::getInspectionItem)
-                .groupBy(StandardProductList::getInspectionItem)));
-        if (ObjectUtils.isNotEmpty(item)) {
-            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .eq(StandardProductList::getInspectionItem, item)
-                    .like(StandardProductList::getTree, tree)
-                    .select(StandardProductList::getInspectionItemSubclass)
-                    .groupBy(StandardProductList::getInspectionItemSubclass)));
-        } else {
-            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .like(StandardProductList::getTree, tree)
-                    .select(StandardProductList::getInspectionItemSubclass)
-                    .groupBy(StandardProductList::getInspectionItemSubclass)));
-        }
-        return map;
-    }
-
-    /**
-     * 淇敼鏍囧噯搴撳尯闂�
-     * @param list
-     * @return
-     */
-    @Override
-    public boolean updateSection(StandardProductList list) {
-        standardProductListMapper.updateSection(list);
-        return true;
-    }
-
-
-    /**
-     * 鏍囧噯搴撴嫋鎷�
-     * @param resetTreeDragDTO
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void resetTreeDrag(ResetTreeDragDTO resetTreeDragDTO) {
-        Integer beginIndex = Integer.parseInt(resetTreeDragDTO.getBeginIndex());
-        Integer endIndex = Integer.parseInt(resetTreeDragDTO.getEndIndex());
-        Integer methodId = Integer.parseInt(resetTreeDragDTO.getMethodId());
-        Long productionId = Long.parseLong(resetTreeDragDTO.getProductionId());
-        // 鍒ゆ柇鏄粠涓婂線涓嬫嫋鎷借繕鏄粠涓嬪線涓婃斁鎷栨嫿
-        // 浠庝笂寰�涓�
-        if (beginIndex < endIndex) {
-            standardProductListMapper.updateSortUp(beginIndex,
-                    endIndex,
-                    methodId,
-                    resetTreeDragDTO.getTree());
-
-            // 浠庝笅寰�涓�
-        } else if (beginIndex > endIndex){
-            standardProductListMapper.updateSortDown(beginIndex,
-                    endIndex,
-                    methodId,
-                    resetTreeDragDTO.getTree());
-        } else {
-            return;
-        }
-        // 淇敼鏍囧噯搴撻」椤哄簭
-        standardProductListMapper.update(null, Wrappers.<StandardProductList>lambdaUpdate()
-                .eq(StandardProductList::getId, productionId)
-                .set(StandardProductList::getSort, endIndex));
-    }
-
-    @Override
-    public void resetTreeDragBatch(List<StandardProductList> standardProductLists) {
-        standardProductListService2.updateBatchById(standardProductLists);
-    }
-
-    /**
-     * 妫�楠岄」瑕佹眰鍊煎姣�
-     * @param copyDto
-     * @return
-     */
-    @Override
-    public List<StandardProductList> copyStandardProductList(CopyStandardProductListDto copyDto) {
-        List<StandardProductList> productLists = new ArrayList<>();
-
-        // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩�
-        for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) {
-            String oldItemName = oldProductList.getInspectionItemClassEn()
-                    + oldProductList.getInspectionItem()
-                    + oldProductList.getInspectionItemSubclass();
-            for (StandardProductList newProductList : copyDto.getNewStandardProductList()) {
-                String newItemName = newProductList.getInspectionItemClassEn()
-                        + newProductList.getInspectionItem()
-                        + newProductList.getInspectionItemSubclass();
-                // 鍒ゆ柇鍚嶇О鏄惁涓�鏍�
-                if (oldItemName.equals(newItemName)) {
-                    // 鍖洪棿
-                    oldProductList.setSection(newProductList.getSection());
-                    // 鑺暟
-                    oldProductList.setCores(newProductList.getCores());
-                    // 瑕佹眰鍊�
-                    oldProductList.setAsk(newProductList.getAsk());
-                    // 瑕佹眰鎻忚堪
-                    oldProductList.setTell(newProductList.getTell());
-                    // 鍗曚环
-                    oldProductList.setPrice(newProductList.getPrice());
-                    // 宸ユ椂鍒嗙粍
-                    oldProductList.setManHour(newProductList.getManHour());
-                    // 瀵间綋鏉愯川
-                    oldProductList.setConductorMaterial(newProductList.getConductorMaterial());
-                    // 瀵间綋绫诲瀷
-                    oldProductList.setConductorType(newProductList.getConductorType());
-                    productLists.add(oldProductList);
-                }
-            }
-        }
-        return productLists;
-    }
-
-    /**
-     * 妫�楠岄」澶嶅埗瀵规瘮涓�涓�
-     * @param dto
-     * @return
-     */
-    @Override
-    public List<StandardProductList> copyStandardProductOne(CopyStandardProductListDto dto) {
-        if (CollectionUtils.isEmpty(dto.getNewStandardProductList()) && dto.getNewStandardProductList().size() == 1 &&
-                CollectionUtils.isEmpty(dto.getOldStandardProductList()) && dto.getOldStandardProductList().size() == 1) {
-            throw new BaseException("闇�瑕佸姣旂殑妫�楠岄」璇烽�夋嫨涓�涓�");
-        }
-        StandardProductList newProductList = dto.getNewStandardProductList().get(0);
-        StandardProductList oldProductList = dto.getOldStandardProductList().get(0);
-        // 鍖洪棿
-        oldProductList.setSection(newProductList.getSection());
-        // 鑺暟
-        oldProductList.setCores(newProductList.getCores());
-        // 瑕佹眰鍊�
-        oldProductList.setAsk(newProductList.getAsk());
-        // 瑕佹眰鎻忚堪
-        oldProductList.setTell(newProductList.getTell());
-        // 鍗曚环
-        oldProductList.setPrice(newProductList.getPrice());
-        // 宸ユ椂鍒嗙粍
-        oldProductList.setManHour(newProductList.getManHour());
-        // 瀵间綋鏉愯川
-        oldProductList.setConductorMaterial(newProductList.getConductorMaterial());
-        // 瀵间綋绫诲瀷
-        oldProductList.setConductorType(newProductList.getConductorType());
-        List<StandardProductList> productLists = new ArrayList<>();
-        productLists.add(oldProductList);
-        return productLists;
-    }
-
-    /**
-     * 妫�楠岄」澶嶅埗鎺掑簭
-     * @param copyDto
-     * @return
-     */
-    @Override
-    public boolean copyStandardProductSort(CopyStandardProductListDto copyDto) {
-        List<StandardProductList> productLists = new ArrayList<>();
-
-        // 瀵规瘮妫�楠岄」涓�鏍风殑濉厖瑕佹眰鍊艰姹傛弿杩�
-        for (StandardProductList oldProductList : copyDto.getOldStandardProductList()) {
-            String oldItemName = oldProductList.getInspectionItemClassEn()
-                    + oldProductList.getInspectionItem()
-                    + oldProductList.getInspectionItemSubclass();
-            for (StandardProductList newProductList : copyDto.getNewStandardProductList()) {
-                String newItemName = newProductList.getInspectionItemClassEn()
-                        + newProductList.getInspectionItem()
-                        + newProductList.getInspectionItemSubclass();
-                // 鍒ゆ柇鍚嶇О鏄惁涓�鏍�
-                if (oldItemName.equals(newItemName)) {
-                    StandardProductList standardProductList = new StandardProductList();
-                    standardProductList.setId(oldProductList.getId());
-                    // 澶嶅埗鎺掑簭
-                    standardProductList.setSort(newProductList.getSort());
-                    productLists.add(standardProductList);
-                }
-            }
-        }
-        this.updateBatchById(productLists);
-        return false;
-    }
-}
-
-
-
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java
deleted file mode 100644
index 72c261f..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StandardProductListSupplierAskServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.inspect.mapper.StandardProductListSupplierAskMapper;
-import com.ruoyi.inspect.pojo.StandardProductListSupplierAsk;
-import com.ruoyi.inspect.service.StandardProductListSupplierAskService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氳〃
- *
- * @author zhuo
- * @since 2024-09-23
- */
-@Service
-public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService {
-
-    /**
-     * 鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�
-     * @param supplierAsk
-     * @return
-     */
-    @Override
-    public List<StandardProductListSupplierAsk> selectByProductId(StandardProductListSupplierAsk supplierAsk) {
-        if (supplierAsk.getProductListId() == null) {
-            throw new BaseException("缂哄皯妫�楠岄」id");
-        }
-        return baseMapper.selectList(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
-                .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId()));
-    }
-
-    /**
-     * 鏂板鍘傚瑕佹眰鍊肩粦瀹�
-     * @param supplierAsk
-     * @return
-     */
-    @Override
-    public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
-        if (supplierAsk.getProductListId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
-        Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
-                .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())
-                .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName()));
-        if (count > 0){
-            throw new BaseException("璇ヤ骇鍝佸凡缁戝畾杩囪鍘傚");
-        }
-        baseMapper.insert(supplierAsk);
-        return supplierAsk.getSupplierAskId();
-    }
-
-    /**
-     * 淇敼鍘傚瑕佹眰鍊肩粦瀹�
-     * @param supplierAsk
-     * @return
-     */
-    @Override
-    public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
-        if (supplierAsk.getProductListId() == null) {
-            throw new BaseException("缂哄皯妫�楠岄」id");
-        }
-        // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
-        Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
-                .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId())
-                .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())
-                .eq(StandardProductListSupplierAsk::getSupplierName, supplierAsk.getSupplierName()));
-        if (count > 0){
-            throw new BaseException("璇ユ楠岄」宸茬粦瀹氳繃璇ュ巶瀹�");
-        }
-        baseMapper.updateById(supplierAsk);
-        return supplierAsk.getSupplierAskId();
-    }
-}
-
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java
deleted file mode 100644
index 5604e9f..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureItemParameterServiceImpl.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.inspect.mapper.StructureItemParameterMapper;
-import com.ruoyi.inspect.pojo.StructureItemParameter;
-import com.ruoyi.inspect.service.StructureItemParameterService;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-
-@Service
-@AllArgsConstructor
-public class StructureItemParameterServiceImpl extends ServiceImpl<StructureItemParameterMapper, StructureItemParameter> implements StructureItemParameterService {
-
-    @Resource
-    private StructureItemParameterMapper structureItemParameterMapper;
-
-    @Override
-    public void removeNoSample(String sample) {
-        structureItemParameterMapper.removeNoSample("\""+sample+"\"");
-    }
-}
diff --git a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java b/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java
deleted file mode 100644
index f0cc96d..0000000
--- a/basic-server/src/main/java/com/ruoyi/inspect/service/impl/StructureTestObjectPartServiceImpl.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package com.ruoyi.inspect.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-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.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.inspect.mapper.ProductPartMapper;
-import com.ruoyi.inspect.mapper.StructureTestObjectPartMapper;
-import com.ruoyi.inspect.pojo.ProductPart;
-import com.ruoyi.inspect.pojo.StructureTestObjectPart;
-import com.ruoyi.inspect.service.StructureTestObjectPartService;
-
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * 妫�楠屽璞¢浂浠惰〃
- *
- * @author zhuo
- * @since 2024-08-07
- */
-@Transactional
-@Service
-@AllArgsConstructor
-public class StructureTestObjectPartServiceImpl extends ServiceImpl<StructureTestObjectPartMapper, StructureTestObjectPart> implements StructureTestObjectPartService {
-
-    private ProductPartMapper productPartMapper;
-
-    @Override
-    public IPage<StructureTestObjectPart> selectByTestObjectId(Page page, StructureTestObjectPart structureTestObjectPart) {
-        return baseMapper.selectListByTestObjectId(page, QueryWrappers.queryWrappers(structureTestObjectPart),structureTestObjectPart.getTestObjectId());
-    }
-
-    @Override
-    public void addTestObjectPart(StructureTestObjectPart structureTestObjectPart) {
-        this.isPartNoExist(structureTestObjectPart.getPartNo(), null);
-        if (structureTestObjectPart.getTestObjectId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        baseMapper.insert(structureTestObjectPart);
-    }
-
-    @Override
-    public void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart) {
-        this.isPartNoExist(structureTestObjectPart.getPartNo(),  structureTestObjectPart.getId());
-        if (structureTestObjectPart.getTestObjectId() == null) {
-            throw new BaseException("缂哄皯浜у搧瀵硅薄id");
-        }
-        baseMapper.updateById(structureTestObjectPart);
-    }
-
-    // 鍒ゆ柇闆朵欢鍙锋槸鍚﹀瓨鍦�
-    public void isPartNoExist(String partNo, Integer id) {
-        // 闆朵欢鍙峰敮涓� 浣嗕笉蹇呭~
-        if (StringUtils.isNotBlank(partNo)) {
-            Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>()
-                    .eq(ProductPart::getPartNo, partNo));
-            Long selectCount = baseMapper.selectCount(Wrappers.<StructureTestObjectPart>lambdaQuery()
-                    .eq(StructureTestObjectPart::getPartNo, partNo)
-                    .ne(id != null, StructureTestObjectPart::getId, id));
-            if (count > 0 || selectCount > 0) {
-                throw new BaseException("璇ラ浂浠跺彿宸茬粦瀹氳繃妫�楠屽璞�");
-            }
-        } else {
-            throw new BaseException("璇疯緭鍏ラ浂浠跺彿");
-        }
-    }
-}
-
diff --git a/basic-server/src/main/resources/mapper/CertificationMapper.xml b/basic-server/src/main/resources/mapper/CertificationMapper.xml
index 40304a3..4926d05 100644
--- a/basic-server/src/main/resources/mapper/CertificationMapper.xml
+++ b/basic-server/src/main/resources/mapper/CertificationMapper.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.ruoyi.basic.mapper.CertificationMapper">
-    <select id="getCertificationDetail" resultType="com.ruoyi.inspect.pojo.Certification">
+    <select id="getCertificationDetail" resultType="com.ruoyi.basic.pojo.Certification">
         select b.*
         from ( select a.`name`, a.`code`,a.organization,a.explanation,a.first_issuance_date,a.latest_issuance_date,c.expire_time FROM
             (SELECT id,name,MIN(date_of_issuance) AS first_issuance_date,
diff --git a/basic-server/src/main/resources/mapper/LaboratoryMapper.xml b/basic-server/src/main/resources/mapper/LaboratoryMapper.xml
index f27f412..c3ab2b4 100644
--- a/basic-server/src/main/resources/mapper/LaboratoryMapper.xml
+++ b/basic-server/src/main/resources/mapper/LaboratoryMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.LaboratoryMapper">
 
-    <select id="selectItemParameter" resultType="com.ruoyi.inspect.pojo.Laboratory">
+    <select id="selectItemParameter" resultType="com.ruoyi.basic.pojo.Laboratory">
         select * from
         (
         select l.id,
diff --git a/basic-server/src/main/resources/mapper/ProductMapper.xml b/basic-server/src/main/resources/mapper/ProductMapper.xml
index c1b0953..78a1353 100644
--- a/basic-server/src/main/resources/mapper/ProductMapper.xml
+++ b/basic-server/src/main/resources/mapper/ProductMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.ProductMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.Product">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.Product">
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="name" column="name" jdbcType="VARCHAR"/>
             <result property="nameEn" column="name_en" jdbcType="VARCHAR"/>
@@ -14,13 +14,7 @@
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
             <result property="objectId" column="object_id" jdbcType="INTEGER"/>
     </resultMap>
-
-    <sql id="Base_Column_List">
-        id,name,name_en,
-        create_user,update_user,create_time,
-        update_time,object_id
-    </sql>
-    <select id="selectProductListByObjectId" resultType="com.ruoyi.inspect.pojo.Product">
+    <select id="selectProductListByObjectId" resultType="com.ruoyi.basic.pojo.Product">
         select * from (
         select p.id,
                p.name,
diff --git a/basic-server/src/main/resources/mapper/ProductPartMapper.xml b/basic-server/src/main/resources/mapper/ProductPartMapper.xml
deleted file mode 100644
index 6a77f9c..0000000
--- a/basic-server/src/main/resources/mapper/ProductPartMapper.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.basic.mapper.ProductPartMapper">
-    <select id="selectListByProductId" resultType="com.ruoyi.inspect.pojo.ProductPart">
-        SELECT * from product_part pp
-        where  pp.product_id=#{productId}
-    </select>
-</mapper>
diff --git a/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml b/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml
deleted file mode 100644
index ffe0354..0000000
--- a/basic-server/src/main/resources/mapper/ProductSupplierDensityMapper.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.ruoyi.basic.mapper.ProductSupplierDensityMapper">
-    <select id="selectListByProductId" resultType="com.ruoyi.inspect.pojo.ProductSupplierDensity">
-        SELECT * from product_supplier_density pp
-        where  pp.product_id=#{productId}
-    </select>
-</mapper>
diff --git a/basic-server/src/main/resources/mapper/SealMapper.xml b/basic-server/src/main/resources/mapper/SealMapper.xml
index d31b318..5cb3595 100644
--- a/basic-server/src/main/resources/mapper/SealMapper.xml
+++ b/basic-server/src/main/resources/mapper/SealMapper.xml
@@ -3,7 +3,7 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.SealMapper">
-    <select id="selectSeal" resultType="com.ruoyi.inspect.pojo.Seal">
+    <select id="selectSeal" resultType="com.ruoyi.basic.pojo.Seal">
         select l.id,s.lab_id,l.laboratory_name ,s.address, s.type as Type,s.create_time
         from seal s  LEFT JOIN laboratory l  on s.lab_id=l.id
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
@@ -11,7 +11,7 @@
         </if>
 
     </select>
-    <select id="selectLaboratory" resultType="com.ruoyi.inspect.pojo.Laboratory">
+    <select id="selectLaboratory" resultType="com.ruoyi.basic.pojo.Laboratory">
         SELECT *
         from laboratory
         WHERE id = #{labId}
diff --git a/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml b/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml
index 25c6462..957fd1f 100644
--- a/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardMethodListMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardMethodListMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardMethodList">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardMethodList">
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="code" column="code" jdbcType="VARCHAR"/>
         <result property="name" column="name" jdbcType="VARCHAR"/>
@@ -25,14 +25,14 @@
         from user
         where id = #{id}
     </select>
-    <select id="selectStandardMethodLists" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="selectStandardMethodLists" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select id, code, name, remark
         from standard_method
         where is_use = 1
         and is_product = 1
         and structure_test_object_id LIKE CONCAT('%[', #{tree}, ']%')
     </select>
-    <select id="selectParameterList" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="selectParameterList" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select inspection_item,
                inspection_item_subclass,
                laboratory,
@@ -52,7 +52,7 @@
         from structure_item_parameter
         where method = #{code}
     </select>
-    <select id="selectStandardMethodLists2" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="selectStandardMethodLists2" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select sml.id, sml.code, sml.name,sml.remark, sml.create_time, u.name create_user_name
         from standard_method_list sml
         left join user u on u.id = sml.create_user
@@ -70,19 +70,19 @@
             and model = #{data5}
         </if>
     </select>
-    <select id="selectStandardMethodLists3" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="selectStandardMethodLists3" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select id, code, name, remark
         from standard_method
         where is_use = 1
           and is_product = 1
           and structure_test_object_id LIKE CONCAT('%', #{tree}, '%')
     </select>
-    <select id="selectListEnum" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="selectListEnum" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select id,code,name from standard_method
         where is_product = 1
         and is_use = 1
     </select>
-    <select id="selectStandardMethodListsByNull" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="selectStandardMethodListsByNull" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select id, code, name, remark
         from standard_method
         where is_use = 1
diff --git a/basic-server/src/main/resources/mapper/StandardMethodMapper.xml b/basic-server/src/main/resources/mapper/StandardMethodMapper.xml
index 3ab8231..739d2d4 100644
--- a/basic-server/src/main/resources/mapper/StandardMethodMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardMethodMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardMethodMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardMethod">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardMethod">
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="code" column="code" jdbcType="VARCHAR"/>
         <result property="name" column="name" jdbcType="VARCHAR"/>
@@ -15,7 +15,7 @@
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
 
-    <select id="selectStandardMethodList" resultType="com.ruoyi.inspect.pojo.StandardMethod">
+    <select id="selectStandardMethodList" resultType="com.ruoyi.basic.pojo.StandardMethod">
         select * from (
                 select sm.id,
                 sm.code,
@@ -42,7 +42,7 @@
             ${ew.customSqlSegment}
         </if>
     </select>
-    <select id="selectStandMethodById" resultType="com.ruoyi.inspect.pojo.StandardMethod">
+    <select id="selectStandMethodById" resultType="com.ruoyi.basic.pojo.StandardMethod">
         select sm.id,
                sm.code,
                sm.name,
diff --git a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
index 112ae89..7d06d0c 100644
--- a/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardProductListMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardProductList">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardProductList">
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="inspectionItem" column="inspection_item" jdbcType="VARCHAR"/>
             <result property="inspectionItemSubclass" column="inspection_item_subclass" jdbcType="VARCHAR"/>
@@ -27,35 +27,7 @@
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
-    <update id="updateSection">
-        UPDATE standard_product_list
-        SET price=#{productList.price},
-            man_hour=#{productList.manHour},
-            section=#{productList.section},
-            cores=#{productList.cores},
-            conductor_material=#{productList.conductorMaterial},
-            conductor_type=#{productList.conductorType},
-            ask=#{productList.ask},
-            tell=#{productList.tell},
-            update_user=#{productList.updateUser},
-            update_time=#{productList.updateTime}
-        WHERE id = #{productList.id}
-    </update>
-    <update id="updateSortUp">
-        update standard_product_list
-        set sort = sort - 1
-        where tree = #{tree}
-          and standard_method_list_id = #{methodId}
-          and sort between #{beginIndex} + 1 and #{endIndex}
-    </update>
-    <update id="updateSortDown">
-        update standard_product_list
-        set sort = sort + 1
-        where tree = #{tree}
-          and standard_method_list_id = #{methodId}
-          and sort between #{endIndex} and #{beginIndex} - 1
-    </update>
-    <select id="standardProductListIPage" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="standardProductListIPage" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select spl.* from standard_product_list spl
         left join product p on spl.sample = p.name
         where standard_method_list_id = #{id}
@@ -72,7 +44,7 @@
         order by p.id
         group by spl.id
     </select>
-    <select id="getOne" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="getOne" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select * from standard_product_list
         where standard_method_list_id = #{standardMethodListId}
         and inspection_item = #{inspectionItem}
@@ -92,18 +64,17 @@
             and inspection_item_class = #{inspectionItemClass}
         </if>
     </select>
-    <select id="selectDetail" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="selectDetail" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select * from standard_product_list
         where standard_method_list_id = #{standardMethodListId}
         and state =#{state}
         and model=#{model}
-        <if test="isCableTag != null and isCableTag != ''">
-            and (inspection_item_class like concat('%缁撴瀯灏哄%') or
-            inspection_item_class like concat('%鐢电紗鐢垫�ц兘%')or
-            inspection_item_class like concat('%缁濈紭%')or
-            inspection_item_class like concat('%鐢电紗鐕冪儳鎬ц兘%'))
+        <if test="sampleType != null and sampleType != ''">
+            and sample_type =#{sampleType}
         </if>
-        order by sort asc,
+        <if test="sample != null and sample != ''">
+            and sample =#{sample}
+        </if>
             case when man_hour_group is NULL then 1
                       when man_hour_group ='' then 1  else 0 end,
                  CASE
@@ -111,34 +82,37 @@
                      WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
                 ,id asc
     </select>
-    <select id="selectDetail2" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="selectDetail2" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select * from standard_product_list
         where standard_method_list_id = #{standardMethodListId}
           and state =#{state}
           and tree =#{tree}
-        <if test="isCableTag != null and isCableTag != ''">
-            and (inspection_item_class like concat('%缁撴瀯灏哄%') or
-            inspection_item_class like concat('%鐢电紗鐢垫�ц兘%')or
-            inspection_item_class like concat('%缁濈紭%')or
-            inspection_item_class like concat('%鐢电紗鐕冪儳鎬ц兘%'))
-        </if>
-        order by sort asc,
-            case when man_hour_group is NULL then 1
+        order by    case when man_hour_group is NULL then 1
                       when man_hour_group ='' then 1  else 0 end,
                  CASE
                      WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
                      WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
                 ,id asc
     </select>
-    <select id="selectPartColor" resultType="java.util.Map">
-        select color,
-               color_code
-        from product_part
-        where part_no = #{partNo}
-        union all
-        select color,
-               color_code
-        from structure_test_object_part
-        where part_no = #{partNo}
+
+
+    <select id="getStandardProductByInsProduct" resultType="com.ruoyi.basic.vo.StandardProductVO">
+        select
+            CASE
+                WHEN man_hour is null or man_hour='' THEN '0'
+                ELSE man_hour
+                END AS man_hour,
+            man_hour_group,
+            section
+        from standard_product_list
+        where (laboratory = #{laboratory} or laboratory is null or laboratory='')
+          and sample_type = #{sampleType}
+          and (sample = #{sample} or sample is null or sample='')
+          and (model = #{model} or model is null or model='')
+          and inspection_item=#{inspectionItem}
+          and (inspection_item_subclass=#{inspectionItemSubclass} or inspection_item_subclass is null or inspection_item_subclass='')
+          and (son_laboratory = #{sonLaboratory} or son_laboratory is null or son_laboratory='')
+          and standard_method_list_id=#{standardMethodListId}
+          and state=1
     </select>
 </mapper>
diff --git a/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml b/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml
deleted file mode 100644
index 9c9c6b1..0000000
--- a/basic-server/src/main/resources/mapper/StandardProductListSupplierAskMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper">
-
-</mapper>
diff --git a/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml b/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml
index e4ccb07..43b380c 100644
--- a/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardTemplateMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardTemplateMapper">
 
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardTemplate">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardTemplate">
             <id property="id" column="id" jdbcType="INTEGER"/>
             <result property="name" column="name" jdbcType="VARCHAR"/>
             <result property="remark" column="remark" jdbcType="VARCHAR"/>
@@ -15,7 +15,7 @@
             <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
 
-    <select id="selectStandardTemplatePageList" resultType="com.ruoyi.inspect.pojo.StandardTemplate">
+    <select id="selectStandardTemplatePageList" resultType="com.ruoyi.basic.pojo.StandardTemplate">
         select * from (
         select st.id, st.name,st.number, st.remark, u2.name create_user_name, u3.name update_user_name, st.create_time, st.update_time
         from standard_template st
@@ -26,7 +26,7 @@
             ${ew.customSqlSegment}
         </if>
     </select>
-    <select id="getStandTempIdByName" resultType="com.ruoyi.inspect.pojo.StandardTemplate">
+    <select id="getStandTempIdByName" resultType="com.ruoyi.basic.pojo.StandardTemplate">
         select id from standard_template where name=#{name}
     </select>
 
diff --git a/basic-server/src/main/resources/mapper/StandardTreeMapper.xml b/basic-server/src/main/resources/mapper/StandardTreeMapper.xml
index 137857f..989c59c 100644
--- a/basic-server/src/main/resources/mapper/StandardTreeMapper.xml
+++ b/basic-server/src/main/resources/mapper/StandardTreeMapper.xml
@@ -3,7 +3,7 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StandardTreeMapper">
-    <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.StandardTree">
+    <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.StandardTree">
         <id property="id" column="id" jdbcType="INTEGER"/>
         <result property="factory" column="factory" jdbcType="VARCHAR"/>
         <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
@@ -16,90 +16,37 @@
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
 
-    <resultMap id="FactoryDto" type="com.ruoyi.inspect.dto.FactoryDto">
+    <resultMap id="FactoryDto" type="com.ruoyi.basic.dto.FactoryDto">
         <result property="label" column="factory"/>
         <result property="value" column="factory"/>
         <collection property="children" resultMap="LaboratoryDto"/>
     </resultMap>
-
-    <resultMap id="LaboratoryDto" type="com.ruoyi.inspect.dto.LaboratoryDto">
+    <resultMap id="LaboratoryDto" type="com.ruoyi.basic.dto.LaboratoryDto">
         <result property="label" column="laboratory"/>
         <result property="value" column="laboratory"/>
         <collection property="children" resultMap="SampleTypeDto"/>
     </resultMap>
-
-    <resultMap id="SampleTypeDto" type="com.ruoyi.inspect.dto.SampleTypeDto">
+    <resultMap id="SampleTypeDto" type="com.ruoyi.basic.dto.SampleTypeDto">
         <result property="label" column="sample_type"/>
         <result property="value" column="sample_type"/>
-        <result property="sampleTypeId" column="sample_type_id"/>
-        <result property="sort" column="sort"/>
-        <result property="partNo" column="part_no"/>
-        <result property="sampleTypeEn" column="sample_type_en"/>
         <collection property="children" resultMap="SampleDto"/>
     </resultMap>
-
-    <resultMap id="SampleDto" type="com.ruoyi.inspect.dto.SampleDto">
+    <resultMap id="SampleDto" type="com.ruoyi.basic.dto.SampleDto">
         <result property="label" column="sample"/>
         <result property="value" column="sample"/>
-        <result property="partNo" column="sample_part_no"/>
-        <result property="sampleEn" column="sample_en"/>
         <collection property="children" resultMap="ModelDto"/>
     </resultMap>
-
-    <resultMap id="ModelDto" type="com.ruoyi.inspect.dto.ModelDto">
+    <resultMap id="ModelDto" type="com.ruoyi.basic.dto.ModelDto">
         <result property="label" column="model"/>
         <result property="value" column="model"/>
     </resultMap>
-
-    <sql id="selectStandardTree">
-        sample    sample2,
-               inspection_item,
-               inspection_item_en,
-               inspection_item_subclass,
-               inspection_item_subclass_en,
-               inspection_item_class,
-               inspection_item_class_en,
-               method,
-               son_laboratory,
-               unit,
-               ask_tell  tell,
-               ask,
-               price,
-               man_hour,
-               man_hour_group,
-               man_day,
-               inspection_item_type,
-               inspection_value_type,
-               bsm,
-               template_id,
-               laboratory,
-               checkout_number,
-               section,
-               dic,
-               0         state,
-        #{model}
-        model,
-        #{sample}
-        sample,
-        #{trees}
-        tree,
-        id
-        structure_item_parameter_id,
-        radius_list,
-        rates
-    </sql>
-
     <select id="selectStandardTreeList" resultMap="FactoryDto">
         select '涓ぉ绉戞妧妫�娴嬩腑蹇�'        factory,
                l.laboratory_name laboratory,
                sto.specimen_name sample_type,
                p.name            sample,
                st.model,
-               sto.code,
-               sto.id  sample_type_id,
-               sto.sort,
-               sto.specimen_name_en sample_type_en,
-               p.name_en sample_en
+               sto.code
         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
@@ -107,8 +54,7 @@
             and st.sample = p.name
         order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL(st.id), st.id
     </select>
-
-    <select id="selectStandardProductById" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="selectStandardProductById" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select inspection_item,
                inspection_item_subclass,
                laboratory,
@@ -128,7 +74,7 @@
         from structure_item_parameter
         where id = #{id}
     </select>
-    <select id="getStandardProductListBySample" resultType="com.ruoyi.inspect.pojo.StandardProductList">
+    <select id="getStandardProductListBySample" resultType="com.ruoyi.basic.pojo.StandardProductList">
         select inspection_item,
                inspection_item_subclass,
                laboratory,
@@ -154,7 +100,7 @@
            or sp.sample = ''
            or sp.sample = '[]'
     </select>
-    <select id="getStandardMethodListBySample" resultType="com.ruoyi.inspect.pojo.StandardMethodList">
+    <select id="getStandardMethodListBySample" resultType="com.ruoyi.basic.pojo.StandardMethodList">
         select sm.code,sm.name,sm.remark from standard_method sm
         left join structure_test_object sto on sm.structure_test_object_id = sto.id
         where is_use = 1
@@ -163,7 +109,7 @@
             and sto.specimen_name = #{sampleType}
         </if>
     </select>
-    <select id="selectStandardTreeList2" resultType="com.ruoyi.inspect.pojo.StandardTree">
+    <select id="selectStandardTreeList2" resultType="com.ruoyi.basic.pojo.StandardTree">
         select '涓ぉ绉戞妧妫�娴嬩腑蹇�'        factory,
                l.laboratory_name laboratory,
                sto.specimen_name sample_type,
@@ -177,8 +123,36 @@
         where sto.specimen_name = #{sampleType}
         group by sto.specimen_name
     </select>
-    <select id="selectStandardProductListByTree" resultType="com.ruoyi.inspect.pojo.StandardProductList">
-        select <include refid="selectStandardTree"/>
+    <select id="selectStandardProductListByTree" resultType="com.ruoyi.basic.pojo.StandardProductList">
+        select sample    sample2,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               method,
+               son_laboratory,
+               unit,
+               ask_tell  tell,
+               ask,
+               price,
+               man_hour,
+               man_hour_group,
+               man_day,
+               inspection_item_type,
+               inspection_value_type,
+               bsm,
+               template_id,
+               laboratory,
+               checkout_number,
+               section,
+               dic,
+               0         state,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
         from structure_item_parameter
         where (
                 sample is NULL
@@ -189,19 +163,63 @@
           and (laboratory is null
             or laboratory = ''
             or laboratory = #{laboratory})
-        order by inspection_item_class, inspection_item, id asc
-    </select>
+        order by case
+                     when man_hour_group is NULL then 1
+                     when man_hour_group = '' then 1
+                     else 0 end,
+                 CASE
+                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+                     WHEN man_hour_group REGEXP '[0-9]+'
+                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
 
-    <select id="selectStandardProductListByTree2" resultType="com.ruoyi.inspect.pojo.StandardProductList">
-        select <include refid="selectStandardTree"/>
+                , id asc
+    </select>
+    <select id="selectStandardProductListByTree2" resultType="com.ruoyi.basic.pojo.StandardProductList">
+        select sample    sample2,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               method,
+               son_laboratory,
+               unit,
+               ask_tell  tell,
+               ask,
+               price,
+               man_hour,
+               man_hour_group,
+               man_day,
+               inspection_item_type,
+               inspection_value_type,
+               bsm,
+               template_id,
+               laboratory,
+               checkout_number,
+               section,
+               dic,
+               0         state,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
         from structure_item_parameter
         where sample LIKE CONCAT('%[', #{tree}, ']%')
           and (laboratory is null
             or laboratory = ''
             or laboratory = #{laboratory})
-        order by inspection_item_class, inspection_item, id asc
-    </select>
+        order by case
+                     when man_hour_group is NULL then 1
+                     when man_hour_group = '' then 1
+                     else 0 end,
+                 CASE
+                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+                     WHEN man_hour_group REGEXP '[0-9]+'
+                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
 
+                , id asc
+    </select>
     <select id="getStandardTree2" resultMap="SampleTypeDto">
         select sto.specimen_name sample_type,
                p.name            sample,
@@ -211,15 +229,64 @@
                  left join standard_tree st on st.sample_type = sto.specimen_name
             and st.sample = p.name
     </select>
+    <select id="selectStandardProductListByTree3" resultType="com.ruoyi.basic.pojo.StandardProductList">
+        select sample    sample2,
+               inspection_item,
+               inspection_item_en,
+               inspection_item_subclass,
+               inspection_item_subclass_en,
+               inspection_item_class,
+               inspection_item_class_en,
+               method,
+               son_laboratory,
+               unit,
+               ask_tell  tell,
+               ask,
+               price,
+               man_hour,
+               man_hour_group,
+               man_day,
+               inspection_item_type,
+               inspection_value_type,
+               bsm,
+               template_id,
+               laboratory,
+               checkout_number,
+               section,
+               dic,
+               0         state,
+               #{model}  model,
+               #{sample} sample,
+               #{trees}  tree,
+               id        structure_item_parameter_id
+        from structure_item_parameter
+        where (
+                sample is NULL
+                OR sample = ''
+                or sample = '[]'
+                OR sample LIKE CONCAT('%', #{tree}, '%')
+            )
+          and (laboratory is null
+            or laboratory = ''
+            or laboratory = #{laboratory})
+        order by case
+                     when man_hour_group is NULL then 1
+                     when man_hour_group = '' then 1
+                     else 0 end,
+                 CASE
+                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴�
+                     WHEN man_hour_group REGEXP '[0-9]+'
+                         THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒�
 
-    <select id="getStandardTree3" resultType="com.ruoyi.inspect.dto.SampleDto">
+                , id asc
+    </select>
+    <select id="getStandardTree3" resultType="com.ruoyi.basic.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
@@ -240,7 +307,7 @@
             and (inspection_item_subclass is null or inspection_item_subclass = '')
         </if>
     </select>
-    <select id="selectPList" resultType="com.ruoyi.inspect.dto.ProductDto">
+    <select id="selectPList" resultType="com.ruoyi.basic.dto.ProductDto">
         select p.name
         from structure_test_object sto
                  left join product p on p.object_id = sto.id
@@ -251,38 +318,5 @@
         select name
         from product
         where name = #{name}
-    </select>
-    <select id="selectStandardTreeListByPartNo" resultMap="FactoryDto">
-        select '涓ぉ绉戞妧妫�娴嬩腑蹇�' factory,
-               l.laboratory_name  laboratory,
-               sto.specimen_name  sample_type,
-               p.name             sample,
-               st.model,
-               CASE
-                   WHEN p.id = (SELECT pp.product_id
-                                FROM product_part pp
-                                WHERE pp.part_no = #{partNo})
-                       THEN #{partNo}
-                   ELSE NULL
-                   END AS sample_part_no,
-               CASE
-                   WHEN sto.id = (SELECT sto.test_object_id
-                                  FROM structure_test_object_part sto
-                                  WHERE sto.part_no = #{partNo})
-                       THEN #{partNo}
-                   ELSE NULL
-                   END AS part_no
-        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.sample_type = sto.specimen_name
-            and st.sample = p.name
-        where (p.id = (select pp.product_id
-                       from product_part pp
-                       where pp.part_no = #{partNo})
-            or sto.id = (select sto.test_object_id
-                         from structure_test_object_part sto
-                         where sto.part_no = #{partNo}))
-        order by l.id, CAST(sto.code AS DECIMAL), p.id, ISNULL(st.id), st.id
     </select>
 </mapper>
diff --git a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
index 5a0977b..f52ee2b 100644
--- a/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
+++ b/basic-server/src/main/resources/mapper/StructureItemParameterMapper.xml
@@ -8,7 +8,7 @@
         from structure_item_parameter
         where sample like concat('%', #{sample}, '%')
     </delete>
-    <select id="selectItemParameterList" resultType="com.ruoyi.inspect.pojo.StructureItemParameter">
+    <select id="selectItemParameterList" resultType="com.ruoyi.basic.pojo.StructureItemParameter">
         select * from (select A.id,
         inspection_item,
         inspection_item_en,
@@ -38,9 +38,7 @@
         ask_tell,
         inspection_item_class,
         inspection_item_class_en,
-        code,
-        radius_list,
-        rates
+        code
         from (select *,
         CASE
         WHEN INSTR(sample, ',') > 0 THEN
@@ -109,12 +107,44 @@
                  left join product p on p.object_id = sto.id
     </select>
 
-    <resultMap id="itemDto" type="com.ruoyi.inspect.dto.TestItemDto">
+    <select id="selectItemParameterList1" resultType="com.ruoyi.basic.pojo.StructureItemParameter">
+        select A.id,
+        inspection_item,
+        inspection_item_subclass,
+        samples
+        from (select *,
+        CASE
+        WHEN INSTR(sample, ',') > 0 THEN
+        SUBSTRING_INDEX(SUBSTRING_INDEX(sample, '","', 1), '"', -1)
+        when sample = '[""]' then null
+        when sample = '[]' then null
+        ELSE
+        TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(sample, '[["', ''), '"]]', 1))
+        END AS samples
+        from structure_item_parameter) A
+        left join structure_test_object sto on samples = specimen_name
+        <where>
+            <if test="specimenName != null and specimenName !=''">
+                and A.sample like concat('%',#{specimenName},'%')
+            </if>
+        </where>
+        GROUP BY inspection_item
+    </select>
+    <select id="selectItemParameterList2" resultType="com.ruoyi.basic.pojo.StructureItemParameter">
+        SELECT sp.id,sp.inspection_item_subclass FROM structure_item_parameter sp
+        <where>
+            <if test="inspectionItemSubclass != null and inspectionItemSubclass !=''">
+                and sp.inspection_item  like concat('%',#{inspectionItemSubclass},'%')
+            </if>
+        </where>
+    </select>
+
+    <resultMap id="itemDto" type="com.ruoyi.basic.dto.TestItemDto">
         <result column="sId" property="id"/>
         <result column="sName" property="name"/>
         <collection property="children" resultMap="productDto"/>
     </resultMap>
-    <resultMap id="productDto" type="com.ruoyi.inspect.dto.ProductDto">
+    <resultMap id="productDto" type="com.ruoyi.basic.dto.ProductDto">
         <result column="pId" property="id"/>
         <result column="pName" property="name"/>
     </resultMap>
diff --git a/basic-server/src/main/resources/mapper/StructureTestMapper.xml b/basic-server/src/main/resources/mapper/StructureTestMapper.xml
index 06bf1a1..e5059cb 100644
--- a/basic-server/src/main/resources/mapper/StructureTestMapper.xml
+++ b/basic-server/src/main/resources/mapper/StructureTestMapper.xml
@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.basic.mapper.StructureTestObjectMapper">
 
-    <select id="selectTestObjectList" resultType="com.ruoyi.inspect.dto.PageTestObjectDto">
+    <select id="selectTestObjectList" resultType="com.ruoyi.basic.dto.PageTestObjectDto">
         select * from (
         select sto.id,
         sto.specimen_name,
@@ -15,17 +15,11 @@
         sto.code,
         sto.laboratory_id,
         GROUP_CONCAT(p.name) product,
-        sto.specimen_name_en,
-        sto.object_type
+        sto.specimen_name_en
         from structure_test_object sto
         left join user u1 on sto.create_user = u1.id
         left join user u2 on sto.update_user = u2.id
         left join product p on p.object_id = sto.id
-        left join product_part pp on pp.product_id = p.id
-        left join structure_test_object_part stop ON stop.test_object_id = sto.id
-        <if test="partNo != null and partNo != ''" >
-            where pp.part_no = #{partNo} or stop.part_no = #{partNo}
-        </if>
         group by sto.id
         ) a
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
diff --git a/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml b/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml
deleted file mode 100644
index 16a9aa7..0000000
--- a/basic-server/src/main/resources/mapper/StructureTestObjectPartMapper.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.ruoyi.basic.mapper.StructureTestObjectPartMapper">
-    <select id="selectListByTestObjectId" resultType="com.ruoyi.inspect.pojo.StructureTestObjectPart">
-        SELECT * from structure_test_object_part pp
-        where  pp.test_object_id = #{testObjectId}
-    </select>
-</mapper>
diff --git a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java
index 58da6b8..9010bf7 100644
--- a/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java
+++ b/cnas-manage/src/main/java/com/ruoyi/manage/controller/ManageDocumentAlterController.java
@@ -61,7 +61,7 @@
 
     @ApiOperation(value = "瀹℃牳鏂囦欢鍙樻洿")
     @PostMapping("/checkManageDocumentAlter")
-    public Result checkManageDocumentAlter(@RequestBody ManageDocumentAlter manageDocumentAlter){
+    public Result checkManageDocumentAlter( ManageDocumentAlter manageDocumentAlter){
         return Result.success(manageDocumentAlterService.checkManageDocumentAlter(manageDocumentAlter));
     }
 
diff --git a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java
index d3f5311..8249b39 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/controller/ProcessReportController.java
@@ -60,8 +60,8 @@
     }
 
     @ApiOperation(value = "瀵煎嚭妫�楠屾姤鍛婂彂鏀剧櫥璁拌〃")
-    @GetMapping("/exportProcessReport")
-    public Result exportProcessReport( ProcessReportDto processReportDto) {
+    @PostMapping("/exportProcessReport")
+    public Result exportProcessReport(@RequestBody ProcessReportDto processReportDto) {
         return Result.success(processReportService.exportProcessReport(processReportDto.getIds()));
     }
 
diff --git a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java b/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java
index 86e6aaf..f44efbf 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/mapper/ProcessReportMapper.java
@@ -21,5 +21,5 @@
 
     IPage<ProcessReport> pageProcessReport(Page page, @Param("ew") QueryWrapper<ProcessReport> queryWrappers);
 
-    List<ProcessReport> getIds(List<Integer> ids);
+    List<ProcessReport> getIds(@Param("ids") List<Integer> ids);
 }
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java
index a91f7ee..449a739 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessDealServiceImpl.java
@@ -76,8 +76,8 @@
     @Override
     public int delProcessDeal(Integer id) {
         ProcessDeal processDeal = processDealMapper.selectById(id);
-        processDealMapper.deleteById(id);
         ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId());
+        processDealMapper.deleteById(id);
         processTotaldeal.setTotalNum(processTotaldeal.getTotalNum()-processDeal.getNum());
         return processTotaldealMapper.updateById(processTotaldeal);
     }
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
index 855acfd..591f9c0 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessMethodSearchNewServiceImpl.java
@@ -87,25 +87,6 @@
         String endDate = processMethodSearchNew.getEndDate();
         processMethodSearchNew.setBeginDate(null);
         processMethodSearchNew.setEndDate(null);
-        // 鍒ゆ柇鏃ユ湡鏄惁涓轰粖骞达紝濡傛灉鏄粖骞村垯澶勭悊涓轰粖骞寸殑鏁版嵁
-        try {
-            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-            LocalDateTime startDateTime = LocalDateTime.parse(beginDate, formatter);
-            LocalDateTime endDateTime = LocalDateTime.parse(endDate, formatter);
-            int currentYear = LocalDateTime.now().getYear();
-            // 鍒ゆ柇浼犲叆鐨勬棩鏈熸槸鍚︽槸浠婂勾鐨勬棩鏈熻寖鍥�
-            if (startDateTime.getYear() == currentYear && endDateTime.getYear() == currentYear) {
-                // 浼犲叆鐨勬槸浠婂勾鐨勬暟鎹紝鐩存帴杩斿洖褰撳墠鐨� beginDate 鍜� endDate
-                beginDate = startDateTime.toString();
-                endDate = endDateTime.toString();
-            } else {
-                beginDate = null;
-                endDate = null;
-            }
-        } catch (Exception e) {
-            beginDate = null;
-            endDate = null;
-        }
         return baseMapper.pageMethodSearchNew(page, QueryWrappers.queryWrappers(processMethodSearchNew), beginDate, endDate);
     }
 
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
index bfd56ed..0711885 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualityMonitorServiceImpl.java
@@ -472,6 +472,10 @@
     public void exportQualityMonitorRatify(Integer detailsRatifyId, HttpServletResponse response) {
         QualityMonitorDetailsRatify qualityMonitorDetailsRatify = qualityMonitorDetailsRatifyMapper.selectOne(Wrappers.<QualityMonitorDetailsRatify>lambdaQuery().eq(QualityMonitorDetailsRatify::getQualityMonitorDetailsId, detailsRatifyId));
 
+        if(ObjectUtils.isNull(qualityMonitorDetailsRatify)){
+            throw new ErrorException("杩欐潯鏁版嵁杩樻病鏈夊~鍐欑浉鍏崇殑瀹炴柦璁″垝淇℃伅!!!");
+        }
+
         // 鑾峰彇璺緞
         InputStream inputStream = this.getClass().getResourceAsStream("/static/quality-monitor-details-ratify.docx");
         Configure configure = Configure.builder()
diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
index 1e5091a..0fb3b2d 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/QualitySuperviseServiceImpl.java
@@ -45,10 +45,7 @@
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
@@ -327,7 +324,9 @@
     @Override
     public void exportSuperviseDetailRecord(Integer superviseDetailsId, HttpServletResponse response) {
         QualitySuperviseDetailsRecord recordDto =  qualitySuperviseDetailsRecordMapper.selectSuperviseDetailRecord(superviseDetailsId);
-
+        if(Objects.isNull(recordDto)) {
+            throw new ErrorException("璇ユ暟鎹湭杩涜璁板綍");
+        }
         //鑾峰彇鎶�鏈礋璐d汉鐨勭鍚嶅湴鍧�
         String ratifyUrl = null;
         if (recordDto.getRatifyUserId() != null) {
@@ -494,6 +493,9 @@
     @Override
     public void superviseDetailAccordingExport(Integer superviseDetailAccordingId, HttpServletResponse response) {
         QualitySuperviseDetailsAccordingDto exportDto = qualitySuperviseDetailsAccordingMapper.selectSuperviseDetailsAccording(superviseDetailAccordingId);
+        if(Objects.isNull(exportDto)) {
+            throw new ErrorException("璇ユ暟鎹湭杩涜澶勭悊");
+        }
         // 鍙戠幇閮ㄩ棬
         String discovererUrl = null;
         if (exportDto.getRecordUserId() != null) {
@@ -737,6 +739,9 @@
     @Override
     public void exportSuperviseDetaillCorrect(Integer superviseDetailsCorrectId, HttpServletResponse response) {
         QualitySuperviseDetailsCorrect detailsCorrect = qualitySuperviseDetailsCorrectMapper.selectById(superviseDetailsCorrectId);
+        if (ObjectUtils.isNull(detailsCorrect)) {
+            throw new ErrorException("杩樻病鏈夊~鍐欑籂姝e崟鐨勬暟鎹�");
+        }
         QualitySuperviseDetailsCorrectDto detailsCorrectDto = new QualitySuperviseDetailsCorrectDto();
         BeanUtils.copyProperties(detailsCorrect, detailsCorrectDto);
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
diff --git a/cnas-process/src/main/resources/static/report-deal.docx b/cnas-process/src/main/resources/static/report-deal.docx
index 7db561f..1594b83 100644
--- a/cnas-process/src/main/resources/static/report-deal.docx
+++ b/cnas-process/src/main/resources/static/report-deal.docx
Binary files differ
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
index 2205351..16e812b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -54,7 +54,7 @@
     @GetMapping("/selectUserDepartmentLimsName")
     @ApiOperation(value = "鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬")
     public Result<?> selectUserDepartmentLimsName(){
-        return Result.success("鎴愬姛", userService.selectUserDepartmentLimsName());
+        return Result.success(userService.selectUserDepartmentLimsName());
     }
 
     @PostMapping("/upUserDepardLimsId")

--
Gitblit v1.9.3