From 9f19d3a24f8474bf6f9eb9401888c44b34b381e6 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 21 十一月 2024 14:29:50 +0800
Subject: [PATCH] 第一次改动(检验任务与样品关联,附件与样品关联,报告与样品关联)

---
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java              |    5 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java                    |    3 
 inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java                      | 1463 +++++++++++++++++++-------------------
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java                    |   13 
 inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml                        |    5 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java           |    3 
 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java                     |  107 +-
 inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml                       |    6 
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java                    |    2 
 inspect-server/src/main/resources/mapper/InsReportMapper.xml                           |   41 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java                       |    5 
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java                    |   10 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java                   |    2 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java              |    2 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java               |    2 
 inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java                    |    2 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java                   |    3 
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java                     |    1 
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                           |   80 +-
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java    |   51 
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |  256 ++---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java     |  118 --
 inspect-server/src/main/resources/mapper/InsProductMapper.xml                          |    3 
 inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java                    |    3 
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java       |    6 
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java                  |    2 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java            |    2 
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java          |    3 
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java               |    8 
 inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java                 |   16 
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java        |    9 
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java    |   26 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java          |   12 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java             |    5 
 34 files changed, 1,122 insertions(+), 1,153 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
index 0a605bd..67b80d4 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -59,15 +59,6 @@
         return Result.success();
     }
 
-
-    @ValueClassify("妫�楠屼笅鍗�")
-    @ApiOperation(value = "妫�楠屽垎閰�")
-    @PostMapping("/upInsOrder")
-    //鏆傛椂鍋滅敤
-    public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) {
-        return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory));
-    }
-
     @ValueClassify("妫�楠屼笅鍗�")
     @ApiOperation(value = "娣诲姞妫�楠屼笅鍗曟暟鎹�")
     @PostMapping("/addInsOrder")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 88e2c02..1dc996a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -75,13 +75,14 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "鎵ц妫�楠屾搷浣�")
     @PostMapping("/doInsOrder")
-    public Result<?> doInsOrder(Integer id, String laboratory) {
-        return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
+    public Result<?> doInsOrder(Integer sampleId, String laboratory) {
+        return Result.success(insOrderPlanService.doInsOrder(sampleId, laboratory));
     }
 
     @ValueAuth
     @PostMapping("/getInsProduct")
     @ApiOperation("鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭")
+    //杩欓噷鐨刬d灏辨槸鏍峰搧id
     public Result<?> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
         return Result.success(insOrderPlanService.getInsProduct(id, type, laboratory, request));
     }
@@ -89,29 +90,29 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "浠诲姟浜ゆ帴")
     @PostMapping("/upPlanUser")
-    public Result<?> upPlanUser(Integer userId, Integer orderId, String sonLaboratory) {
-        return Result.success(insOrderPlanService.upPlanUser(userId, orderId, sonLaboratory));
+    public Result<?> upPlanUser(Integer userId, Integer sampleId, String sonLaboratory) {
+        return Result.success(insOrderPlanService.upPlanUser(userId, sampleId, sonLaboratory));
     }
 
     @ValueAuth
     @ApiOperation(value = "鍒ゆ柇浜ゆ帴鐨勮瘯楠屽")
     @PostMapping("/upPlanUser2")
-    public Result<?> upPlanUser2(Integer orderId) {
-        return Result.success(insOrderPlanService.upPlanUser2(orderId));
+    public Result<?> upPlanUser2(Integer sampleId) {
+        return Result.success(insOrderPlanService.upPlanUser2(sampleId));
     }
 
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "澶嶆牳妫�楠屼换鍔�")
     @PostMapping("/verifyPlan")
-    public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException {
-        return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell));
+    public Result<?> verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
+        return Result.success(insOrderPlanService.verifyPlan(sampleId, laboratory, type, tell));
     }
 
     @ValueAuth
     @ApiOperation(value = "鏍¢獙妫�楠屼换鍔℃彁浜�")
     @PostMapping("/checkSubmitPlan")
-    public Result<?> checkSubmitPlan(Integer orderId, String laboratory) {
-        return Result.success(insOrderPlanService.checkSubmitPlan(orderId, laboratory));
+    public Result<?> checkSubmitPlan(Integer sampleId, String laboratory) {
+        return Result.success(insOrderPlanService.checkSubmitPlan(sampleId, laboratory));
     }
 
     @ValueClassify("妫�楠屼换鍔�")
@@ -165,8 +166,8 @@
     @ValueClassify("妫�楠屼换鍔�")
     @ApiOperation(value = "涓婁紶闄勪欢")
     @PostMapping("/uploadFile")
-    public Result<?> uploadFile(Integer orderId, MultipartFile file, String sonLaboratory) {
-        return Result.success(insOrderPlanService.uploadFile(orderId, file, sonLaboratory));
+    public Result<?> uploadFile(Integer orderId, MultipartFile file, String sonLaboratory,Integer sampleId) {
+        return Result.success(insOrderPlanService.uploadFile(orderId, file, sonLaboratory,sampleId));
     }
 
     @ValueClassify("妫�楠屼换鍔�")
@@ -229,6 +230,7 @@
     @ValueAuth
     @PostMapping("/getInsProduct2")
     @ApiOperation("鏌ョ湅妫�楠屽巻鍙�")
+    //杩欓噷鐨刬d鏄牱鍝乮d
     public Result<?> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request, Integer num) {
         return Result.success(insOrderPlanService.getInsProduct2(id, type, laboratory, request, num));
     }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
index 7029913..5ea7804 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java
@@ -78,12 +78,12 @@
         return Result.success(insReportService.upReportUrl(id));
     }
 
-    @ValueClassify("鎶ュ憡缂栧埗")
+    /*@ValueClassify("鎶ュ憡缂栧埗")
     @ApiOperation(value = "鎶ュ憡鍦ㄧ嚎缂栧埗")
     @GetMapping("/upReportFile")
     public Result upReportFile() {
         return Result.success();
-    }
+    }*/
 
     @ValueClassify("鎶ュ憡缂栧埗")
     @ApiOperation(value = "鎻愪氦")
@@ -151,7 +151,7 @@
     }
 
     @ValueAuth
-    @ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁�")
+    @ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐圭殑妫�楠屾鏁�")
     @GetMapping("/getInsOrderStateCount")
     public Result getInsOrderStateCount(Integer id){
         return Result.success(insReportService.getInsOrderStateCount(id));
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
index d6aaae8..a66a416 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
@@ -11,7 +11,7 @@
 @Data
 public class InsOrderPlanDTO extends OrderBy implements Serializable {
 
-    @ApiModelProperty("妫�楠屼换鍔′富閿甶d")
+    @ApiModelProperty("鏍峰搧id")
     private Long insSampleId;
 
     @ApiModelProperty("鐢ㄦ埛id")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java
new file mode 100644
index 0000000..77d07a5
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderStateDto.java
@@ -0,0 +1,16 @@
+package com.yuanchu.mom.dto;
+
+import com.yuanchu.mom.pojo.InsOrderState;
+import com.yuanchu.mom.pojo.InsSample;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+//鏌ヨ涓�涓鍗曚笅鎵�鏈夋牱鍝佺殑鎵�鏈夋楠屼换鍔�
+public class InsOrderStateDto {
+
+    private InsSample insSample;
+
+    private List<InsOrderState> insOrderStates;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java
index 521594f..aed4e30 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto.java
@@ -15,6 +15,5 @@
     private Integer state;
 
     //閫夋嫨鐨勬瘡涓珯鐐圭殑绗嚑娆℃暟鎹�
-    @NotNull
     private List<InsReportDto1> insReportDto1s;
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java
index dca5bd8..e0ad6d7 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto1.java
@@ -2,12 +2,16 @@
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class InsReportDto1 {
 
-    private String laboratory;
 
-    private Integer num;
 
-    private Integer insOrderUsersId;
+    private Integer sampleId;
+
+    private List<InsReportDto2> insReportDto2s;
+
+
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java
new file mode 100644
index 0000000..46fdc3a
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsReportDto2.java
@@ -0,0 +1,13 @@
+package com.yuanchu.mom.dto;
+
+import lombok.Data;
+
+@Data
+public class InsReportDto2 {
+
+    private String laboratory;
+
+    private Integer num;
+
+    private Integer insOrderUsersId;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
index 5624ac8..71ebeb1 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java
@@ -13,6 +13,9 @@
     @ApiModelProperty(value = "濮旀墭缂栧彿")
     private String entrustCode;
 
+    @ApiModelProperty(value = "鏍峰搧缂栧彿")
+    private String sampleCode;
+
     @ValueTableShow(value = 3,name = "鎻愪氦浜�")
     private String writeUserName;
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java
index 52e591c..3791f79 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/SubmitPlanDto.java
@@ -10,7 +10,7 @@
 @Data
 public class SubmitPlanDto {
 
-    private Integer orderId;
+    private Integer sampleId;
 
     private String  laboratory;
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java
index 6dfe1c7..9fbcabd 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderFileMapper.java
@@ -17,5 +17,5 @@
  */
 public interface InsOrderFileMapper extends BaseMapper<InsOrderFile> {
 
-    IPage<InsOrderFile> getFileList(@Param("page") Page page, @Param("ew") QueryWrapper<InsOrderFile> ew , @Param("insOrderId") Integer insOrderId, @Param("sonLaboratory") String sonLaboratory);
+    IPage<InsOrderFile> getFileList(@Param("page") Page page, @Param("ew") QueryWrapper<InsOrderFile> ew , @Param("insOrderId") Integer insOrderId, @Param("sonLaboratory") String sonLaboratory, @Param("sampleId") Integer sampleId);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
index de88699..b298074 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
@@ -2,6 +2,7 @@
 
 import com.yuanchu.mom.pojo.InsOrderState;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,7 +15,7 @@
 public interface InsOrderStateMapper extends BaseMapper<InsOrderState> {
 
 
-    List<InsOrderState> getInsOrderStateCount(Integer id);
+    List<InsOrderState> getInsOrderStateCount(@Param("id") Integer id, @Param("sampleId") Integer sampleId);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
index 837544d..35cc98d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsProductMapper.java
@@ -29,7 +29,7 @@
 
     IPage<InsProduct> selectNoProducts(Page page, Integer orderId);
 
-    int selectInsProductCountByOrderId(int orderId);
+    int selectInsProductCountByOrderId(int sampleId);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java
index cfd8c06..91af250 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsReportMapper.java
@@ -15,7 +15,7 @@
 */
 public interface InsReportMapper extends BaseMapper<InsReport> {
 
-    IPage<ReportPageDto> pageInsReport(IPage<ReportPageDto> page, @Param("ew") QueryWrapper<ReportPageDto> ew, @Param("laboratory") String laboratory);
+    IPage<ReportPageDto> pageInsReport(IPage<ReportPageDto> page, @Param("ew") QueryWrapper<ReportPageDto> ew);
 
     String getLaboratoryByName(String name);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
index ab0a329..972f6b6 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -29,15 +29,15 @@
 
     IPage<InsOrderPlanTaskSwitchVo> inspectionOrderDetailsTaskSwitching(Page page, @Param("ew") QueryWrapper<InsOrderPlanDTO> ew, @Param("userId") Integer userId, @Param("sonLaboratory") String sonLaboratory, @Param("laboratory") String laboratory);
 
-    List<SampleProductDto> selectSampleProductListByOrderId(Integer id);
+    SampleProductDto selectSampleProductListByOrderId(Integer id);
 
     List<SampleProductDto> selectSampleProductListByOrderId2(Integer id);
     List<SampleProductDto> selectSampleProductListByOrder2Id2(Integer id);
 
     List<SampleProductDto3> selectSampleProductListByOrderId3(List<Integer> ids);
 
-    List<SampleProductDto> getInsOrderAndSample(Integer id, String laboratory);
-    List<SampleProductDto> getInsOrderAndSample2(Integer id, String laboratory);
+    SampleProductDto getInsOrderAndSample(Integer sampleId, String laboratory);
+    SampleProductDto getInsOrderAndSample2(Integer sampleId, String laboratory);
 
     String getSampleEn(String sample);
 
@@ -60,8 +60,6 @@
 
     //鏌ヨ涓旇繃婊ゅ嚭鏈夌數璺瘯楠岀殑鏍峰搧
     List<InsSample> selectSample(Integer insOrderId);
-
-    List<SampleProductDto> selectList1(Integer id);
 }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java
index cfee659..fcc1806 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderFile.java
@@ -69,4 +69,7 @@
     @ApiModelProperty("鎵�灞炵珯鐐�")
     @ValueTableShow(6)
     private String sonLaboratory;
+
+    @ApiModelProperty("鍏宠仈 鏍峰搧澶栭敭id")
+    private Integer insSampleId;
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
index d69851a..e940323 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -101,4 +101,7 @@
     @TableField(select = false,exist = false)
     private List<InsOrderUser> insOrderUserList;
 
+    @ApiModelProperty("鍏宠仈 鏍峰搧澶栭敭id")
+    private Integer insSampleId;
+
 }
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
index a845fd2..c47335a 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsReport.java
@@ -35,6 +35,11 @@
     private Integer insOrderId;
 
     /**
+     * 澶栭敭锛氭牱鍝乮did
+     */
+    private Integer insSampleId;
+
+    /**
      * 绯荤粺鐢熸垚鎶ュ憡鍦板潃
      */
     private String url;
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
index ccd4e21..7dab043 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
@@ -27,7 +27,7 @@
     private Integer id;
 
     /**
-     * 澶栭敭锛氭楠屾牱鍝乮ns_sample琛╥d(瀹為檯鍏宠仈ins_order琛╥d)
+     * 澶栭敭锛氭楠屾牱鍝乮ns_sample琛╥d
      */
     private Integer insSampleId;
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 640c48b..9eecab7 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -32,24 +32,24 @@
     //鐢佃矾璇曢獙鐨勪繚瀛樻楠屽唴瀹�
     List<Integer> saveInsContext2(InsProductResultDto insProductResultDtos);
 
-    Map<String, Object> doInsOrder(Integer id, String laboratory);
+    Map<String, Object> doInsOrder(Integer sampleId, String laboratory);
 
-    int upPlanUser(Integer userId, Integer orderId,String sonLaboratory);
+    int upPlanUser(Integer userId, Integer sampleId,String sonLaboratory);
 
-    int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException;
+    int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException;
 
     int submitPlan(SubmitPlanDto submitPlanDto);
 
     List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request);
     List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num);
 
-    List<String> checkSubmitPlan(Integer orderId, String laboratory);
+    List<String> checkSubmitPlan(Integer sampleId, String laboratory);
 
     Map<String,Object> getFileList(Page page, InsOrderFile insOrderFile);
 
-    int uploadFile(Integer orderId, MultipartFile file,String sonLaboratory);
+    int uploadFile(Integer orderId, MultipartFile file,String sonLaboratory,Integer sampleId);
 
-    List<String> upPlanUser2(Integer orderId);
+    List<String> upPlanUser2(Integer sampleId);
 
     int deleteInsContext(InsProductResultVo insProductResultVo);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
index a15d44f..174116f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderService.java
@@ -24,9 +24,6 @@
     //鑾峰彇鍗曚綅妫�楠屼笅鍗曟暟鎹�
     Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto);
 
-    //鍒嗛厤绔欑偣
-    int upInsOrder(Integer orderId,Integer sampleId, String appointed, Integer userId,String sonLaboratory);
-
     int addInsOrder(List<SampleProductDto> list, InsOrder insOrder, List<List<Integer>> pairing, List<MultipartFile> files);
 
     Map<String, Object> getInsOrder(Integer id);
@@ -35,7 +32,7 @@
 
     int upInsOrderOfState2(InsOrder insOrder);
 
-    Map<String, Object> getInsOrderAndSample(Integer id, String laboratory);
+    Map<String, Object> getInsOrderAndSample(Integer sampleId, String laboratory);
 
     Map<String, Object> selectSampleAndProductByOrderId(IPage<SampleProductDto2> page, SampleProductDto2 sampleProductDto);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
index 5b3532b..a26f141 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.dto.InsOrderStateDto;
 import com.yuanchu.mom.dto.InsReportDto;
 import com.yuanchu.mom.dto.ReportPageDto;
 import com.yuanchu.mom.pojo.InsOrderState;
@@ -45,6 +46,6 @@
     //鏄惁鐢熸垚鎬绘姤鍛�
     int isReport(InsReportDto insReportDto);
 
-    //鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁�
-   List<InsOrderState> getInsOrderStateCount(Integer id);
+    //鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐逛笅鐨勬楠屾鏁�
+    List<InsOrderStateDto> getInsOrderStateCount(Integer id);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index eef9505..69a5707 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -78,8 +78,6 @@
     private ShiftTimeMapper shiftTimeMapper;
     @Resource
     private PerformanceShiftMapper performanceShiftMapper;
-    @Resource
-    private WarehouseHistoryMapper warehouseHistoryMapper;
 
     @Resource
     private WarehouseService warehouseService;
@@ -87,14 +85,8 @@
     @Value("${wordUrl}")
     private String wordUrl;
 
-    @Value("${twoCode}")
-    private String twoCode;
-
     @Resource
     WordUtils wordUtils;
-
-    @Resource
-    private InsReportMapper insReportMapper;
 
     @Resource
     private InsProductResultMapper insProductResultMapper;
@@ -119,9 +111,6 @@
 
     @Resource
     private UserMapper userMapper;
-
-    @Resource
-    private CustomMapper customMapper;
 
     @Value("${file.path}")
     private String imgUrl;
@@ -180,20 +169,23 @@
     }
 
     @Override
-    public Map<String, Object> doInsOrder(Integer id, String laboratory) {
+    public Map<String, Object> doInsOrder(Integer sampleId, String laboratory) {
+        InsSample insSample = insSampleMapper.selectById(sampleId);
         InsOrder insOrder = new InsOrder();
-        insOrder.setId(id);
-        InsOrder order = insOrderMapper.selectById(id);
+        insOrder.setId(insSample.getInsOrderId());
+        InsOrder order = insOrderMapper.selectById(insSample.getInsOrderId());
         if (BeanUtil.isEmpty(order.getInsTime())) {
-            insOrder.setInsTime(LocalDateTime.now());
+            insOrder.setInsTime(LocalDateTime.now());//璁㈠崟鐨勬楠屾椂闂�
             insOrderMapper.updateById(insOrder);
+            //鏇存柊妫�楠屼换鍔¤〃鐨勬楠屾椂闂�
             insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
-                    .eq(InsOrderState::getInsOrderId, id)
+                    .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                    .eq(InsOrderState::getInsSampleId, sampleId)
                     .eq(InsOrderState::getLaboratory, laboratory)
                     .set(InsOrderState::getInsTime, LocalDateTime.now())
                     .set(InsOrderState::getInsState, 1));
         }
-        Map<String, Object> map = insOrderService.getInsOrderAndSample(id, laboratory);
+        Map<String, Object> map = insOrderService.getInsOrderAndSample(sampleId, laboratory);
         List<SampleProductDto> list = JSON.parseArray(JSON.toJSONString(map.get("sampleProduct")), SampleProductDto.class);
         map.put("sampleProduct", list);
         return map;
@@ -220,9 +212,6 @@
                         insProduct.setInsProductResult(insProductResult);
                     }
                 }
-                /*if (insProducts.size() == 0) {
-                    insProducts = insSampleMapper.getIns2Product1(id, laboratory);
-                }*/
                 break;
             case 1:
                 //鍏夌氦甯�
@@ -270,12 +259,10 @@
     }
 
     @Override
-    public List<String> checkSubmitPlan(Integer orderId, String laboratory) {
+    public List<String> checkSubmitPlan(Integer sampleId, String laboratory) {
         List<String> collect = new ArrayList<>();
-        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
-        List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                .in(InsProduct::getInsSampleId, ids)
+                .eq(InsProduct::getInsSampleId, sampleId)
                 .eq(InsProduct::getSonLaboratory, laboratory)
                 .eq(InsProduct::getState, 1)
                 .eq(InsProduct::getInsResult, 0));
@@ -294,17 +281,22 @@
         Integer insOrderId = insOrderFile.getInsOrderId();
         insOrderFile.setInsOrderId(null);
         String sonLaboratory = null;
+        Integer sampleId = null;
         if (ObjectUtils.isNotEmpty(insOrderFile.getSonLaboratory())) {
             sonLaboratory = insOrderFile.getSonLaboratory();
             insOrderFile.setSonLaboratory(null);
         }
-        IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory);
+        if (ObjectUtils.isNotEmpty(insOrderFile.getInsSampleId())) {
+            sampleId = insOrderFile.getInsSampleId();
+            insOrderFile.setInsSampleId(null);
+        }
+        IPage<InsOrderFile> insOrderFileIPage = insOrderFileMapper.getFileList(page, QueryWrappers.queryWrappers(insOrderFile), insOrderId, sonLaboratory,sampleId);
         map.put("body", insOrderFileIPage);
         return map;
     }
 
     @Override
-    public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory) {
+    public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) {
         String urlString;
         String pathName;
         String path;
@@ -312,6 +304,9 @@
         String contentType = file.getContentType();
         InsOrderFile insOrderFile = new InsOrderFile();
         insOrderFile.setInsOrderId(orderId);
+        if (ObjectUtils.isNotEmpty(sampleId)) {
+            insOrderFile.setInsSampleId(sampleId);
+        }
         insOrderFile.setFileName(filename);
         if (contentType != null && contentType.startsWith("image/")) {
             // 鏄浘鐗�
@@ -327,28 +322,10 @@
             if (!realpath.exists()) {
                 realpath.mkdirs();
             }
-            pathName = file.getOriginalFilename().replace("#", "&");
+            pathName = UUID.randomUUID() + "_"+file.getOriginalFilename().replace("#", "&");
             urlString = realpath + "/" + pathName;
             file.transferTo(new File(urlString));
             insOrderFile.setFileUrl(pathName);
-            if (ObjectUtils.isNotEmpty(sonLaboratory)) {
-                insOrderFile.setSonLaboratory(sonLaboratory);
-                //鍒犻櫎閲嶅鐨勬暟鎹�
-                insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery()
-                        .eq(InsOrderFile::getInsOrderId, orderId)
-                        .eq(InsOrderFile::getType, insOrderFile.getType())
-                        .eq(InsOrderFile::getFileName, insOrderFile.getFileName())
-                        .eq(InsOrderFile::getSonLaboratory, insOrderFile.getSonLaboratory())
-                        .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl()));
-            } else {
-                //鍒犻櫎閲嶅鐨勬暟鎹�
-                insOrderFileMapper.delete(Wrappers.<InsOrderFile>lambdaQuery()
-                        .eq(InsOrderFile::getInsOrderId, orderId)
-                        .eq(InsOrderFile::getType, insOrderFile.getType())
-                        .eq(InsOrderFile::getFileName, insOrderFile.getFileName())
-                        .isNull(InsOrderFile::getSonLaboratory)
-                        .eq(InsOrderFile::getFileUrl, insOrderFile.getFileUrl()));
-            }
             insOrderFileMapper.insert(insOrderFile);
             //濡傛灉鏄緪灏勮瘯楠�(杩戝満/杩滅▼涓婁紶鐨刢sv鏂囦欢)
             String[] split = filename.split("\\.");
@@ -368,9 +345,11 @@
     }
 
     @Override
-    public List<String> upPlanUser2(Integer orderId) {
-        List<Integer> sampleId = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)).stream().map(InsSample::getId).collect(Collectors.toList());
-        List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, sampleId)).stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
+    public List<String> upPlanUser2(Integer sampleId) {
+        List<String> sonLaboratory = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getState, 1)
+                .eq(InsProduct::getInsSampleId, sampleId))
+                .stream().map(InsProduct::getSonLaboratory).distinct().collect(Collectors.toList());
         return sonLaboratory;
     }
 
@@ -388,17 +367,15 @@
         /*鏍峰搧鍏ュ簱*/
         warehouseService.inWarehouse(trees, sampleCode);
         /*鏂板妫�楠屼换鍔�*/
-        //鍏堝垽鏂璁㈠崟鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
+        //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
         InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode));
-        List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
-                .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList());
         List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getState, 1)
-                .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
+                .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
         if (!collect.contains(sonLaboratory)) {
-            throw new ErrorException("璇ヨ鍗曟病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
+            throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
         }
-        //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙
+        //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙(鍙浠讳竴浠诲姟缁撴潫璇曢獙閮戒笉鑳藉啀娆¤瘯楠�)
         List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
                 .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
                 .eq(InsOrderState::getInsState, 5));
@@ -407,6 +384,7 @@
         }
         InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
                 .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                .eq(InsOrderState::getInsSampleId, insSample.getId())
                 .eq(InsOrderState::getLaboratory, sonLaboratory));
         if (ObjectUtils.isNotEmpty(orderState)) {
             //缁х画璇曢獙
@@ -418,6 +396,7 @@
         } else {
             InsOrderState insOrderState = new InsOrderState();
             insOrderState.setInsOrderId(insSample.getInsOrderId());
+            insOrderState.setInsOrderId(insSample.getId());
             insOrderState.setLaboratory(sonLaboratory);
             insOrderState.setInsState(0);
             insOrderState.setNum(1);//鍒濆鏄涓�娆�
@@ -430,25 +409,24 @@
     @Override
     public int outInsOrderState(String sonLaboratory, String sampleCode) {
         //鍒ゆ柇璇ユ牱鍝佺殑妫�楠屼换鍔℃槸鍚﹀凡缁忕粨鏉�(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
-        //鍏堝垽鏂璁㈠崟鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
+        //鍏堝垽鏂鏍峰搧鏄惁鏈夎繖涓珯鐐圭殑椤圭洰
         InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode));
-        List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
-                .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList());
         List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getState, 1)
-                .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
+                .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
         if (!collect.contains(sonLaboratory)) {
-            throw new ErrorException("璇ヨ鍗曟病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
+            throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
         }
         //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁(缁х画璇曢獙鎴栬�呮槸缁撴潫璇曢獙)
         List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
                 .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
-                .eq(InsOrderState::getInsState, 5));
+                .eq(InsOrderState::getInsState, 5));//缁撴潫璇曢獙
         if (CollectionUtils.isEmpty(orderStates)) {
             List<InsOrderState> orderStates1 = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery()
                     .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                    .eq(InsOrderState::getInsSampleId, insSample.getId())
                     .eq(InsOrderState::getLaboratory, sonLaboratory)
-                    .eq(InsOrderState::getInsState, 6));
+                    .eq(InsOrderState::getInsState, 6));//缁х画璇曢獙
             if (CollectionUtils.isEmpty(orderStates1)) {
                 throw new ErrorException("璇ユ牱鍝佺殑妫�楠屼换鍔¤繕娌℃湁缁撴潫璇曢獙鎴栫户缁瘯楠�,鏆傛椂鏃犳硶鍑哄簱!");
             }
@@ -677,11 +655,13 @@
                 int pId = Integer.parseInt(res.replaceAll("\\D+", ""));
                 InsProduct insProduct = insProductMapper.selectById(pId);
                 // 閫氳繃鏍锋湰id鑾峰彇璁㈠崟id
-                int orderId = insSampleMapper.selectById(insProduct.getInsSampleId()).getInsOrderId();
-                int count = insProductMapper.selectInsProductCountByOrderId(orderId);
+                InsSample insSample = insSampleMapper.selectById(insProduct.getInsSampleId());
+                int orderId = insSample.getInsOrderId();
+                int count = insProductMapper.selectInsProductCountByOrderId(insSample.getId());
                 if (count == 0) {
                     insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
                             .eq(InsOrderState::getInsOrderId, orderId)
+                            .eq(InsOrderState::getInsSampleId, insSample.getId())
                             .eq(InsOrderState::getLaboratory, insProduct.getSonLaboratory())
                             .set(InsOrderState::getInsState, 2));
                 }
@@ -703,6 +683,7 @@
         InsOrder insOrder = insOrderMapper.selectById(insProductResultDtos.getOrderId());
         InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
                 .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId())
+                .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
                 .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
                 .orderByDesc(InsOrderState::getId)
                 .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰�
@@ -816,6 +797,7 @@
         if (count == 0) {
             insOrderStateMapper.update(new InsOrderState(), Wrappers.<InsOrderState>lambdaUpdate()
                     .eq(InsOrderState::getInsOrderId, insProductResultDtos.getOrderId())
+                    .eq(InsOrderState::getInsSampleId, insProductResultDtos.getSampleId())
                     .eq(InsOrderState::getLaboratory, insProductResultDtos.getSonLaboratory())
                     .set(InsOrderState::getInsState, 2));
         }
@@ -896,10 +878,10 @@
 
     //浜ゆ帴
     @Override
-    public int upPlanUser(Integer userId, Integer orderId, String sonLaboratory) {
+    public int upPlanUser(Integer userId, Integer sampleId, String sonLaboratory) {
         InsSampleUser insSampleUser = new InsSampleUser();
         insSampleUser.setUserId(userId);
-        insSampleUser.setInsSampleId(orderId);
+        insSampleUser.setInsSampleId(sampleId);
         insSampleUser.setState(0);
         insSampleUser.setSonLaboratory(sonLaboratory);
         return insSampleUserMapper.insert(insSampleUser);
@@ -907,47 +889,47 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException {
+    public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
         LocalDateTime now = LocalDateTime.now();
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         List<InsUnPass> insUnPasses = new ArrayList<>();
         /*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
-        for (InsSample insSample : samples) {
-            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                    .eq(InsProduct::getInsSampleId, insSample.getId())
-                    .eq(InsProduct::getSonLaboratory, laboratory)
-                    .eq(InsProduct::getState, 1));
-            List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
-            if (results.contains(0)) {
-                insSample.setInsResult(0);
-            } else {
-                insSample.setInsResult(1);
-            }
-            insSampleMapper.updateById(insSample);
-            /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
-            for (InsProduct insProduct : insProducts) {
-                if (insProduct.getInsResult() == 0) {
-                    InsUnPass insUnPass = new InsUnPass();
-                    insUnPass.setId(null);
-                    insUnPass.setModel(insSample.getModel());
-                    insUnPass.setSample(insSample.getSample());
-                    insUnPass.setInspectionItem(insProduct.getInspectionItem());
-                    insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
-                    insUnPass.setLastValue(insProduct.getLastValue());
-                    insUnPass.setEntrustCode(insOrderMapper.selectById(orderId).getEntrustCode());
-                    List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
-                    String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
-                    insUnPass.setName(name);
-                    insUnPasses.add(insUnPass);
-                }
+        InsSample insSample = insSampleMapper.selectById(sampleId);
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getInsSampleId, insSample.getId())
+                .eq(InsProduct::getSonLaboratory, laboratory)
+                .eq(InsProduct::getState, 1));
+        List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
+        if (results.contains(0)) {
+            insSample.setInsResult(0);
+        } else {
+            insSample.setInsResult(1);
+        }
+        insSampleMapper.updateById(insSample);
+        /*澶嶆牳鍚庯紝灏嗕笉鍚堟牸鐨勯」鐩俊鎭坊鍔犲埌ins_un_pass琛ㄤ腑*/
+        InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+        for (InsProduct insProduct : insProducts) {
+            if (insProduct.getInsResult() == 0) {
+                InsUnPass insUnPass = new InsUnPass();
+                insUnPass.setId(null);
+                insUnPass.setModel(insSample.getModel());
+                insUnPass.setSample(insSample.getSample());
+                insUnPass.setInspectionItem(insProduct.getInspectionItem());
+                insUnPass.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
+                insUnPass.setLastValue(insProduct.getLastValue());
+                insUnPass.setEntrustCode(insOrder.getEntrustCode());
+                List<Integer> userIds = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery().eq(InsProductUser::getInsProductId, insProduct.getId())).stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
+                String name = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
+                insUnPass.setName(name);
+                insUnPasses.add(insUnPass);
             }
         }
         insUnPassService.saveBatch(insUnPasses);
         /*type=0  鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
         // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
         InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
-                .eq(InsOrderState::getInsOrderId, orderId)
+                .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                .eq(InsOrderState::getInsSampleId, sampleId)
                 .eq(InsOrderState::getLaboratory, laboratory)
                 .orderByDesc(InsOrderState::getId)
                 .last("LIMIT 1")); // 纭繚鍙彇涓�鏉¤褰�
@@ -972,7 +954,8 @@
                 case 1:
                     //缁х画璇曢獙:璇ョ珯鐐逛换鍔$粨鏉�(鍙互鍐嶆鎵爜妫�楠�)锛�
                     insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
-                            .eq(InsOrderState::getInsOrderId, orderId)
+                            .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                            .eq(InsOrderState::getInsSampleId, sampleId)
                             .eq(InsOrderState::getLaboratory, laboratory)
                             .set(InsOrderState::getInsState, 6)
                             .set(InsOrderState::getVerifyTell, tell)
@@ -981,25 +964,23 @@
                 case 2:
                     //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
                     insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
-                            .eq(InsOrderState::getInsOrderId, orderId)
+                            .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                            .eq(InsOrderState::getInsSampleId, sampleId)
                             .eq(InsOrderState::getLaboratory, laboratory)
                             .set(InsOrderState::getInsState, 5)
                             .set(InsOrderState::getVerifyTell, tell)
                             .set(InsOrderState::getVerifyUser, userId));
                     //濡傛灉璁㈠崟绫诲瀷鏄師鐞嗘牱鏈�,鍒欒璁㈠崟鐩存帴闂幆
-                    InsOrder insOrder = insOrderMapper.selectById(orderId);
                     if (insOrder.getFormType().equals("鍘熺悊鏍锋満")) {
-                        for (InsSample sample : samples) {
-                            //鍑哄簱
-                            try {
-                                outInsOrderState(laboratory, sample.getSampleCode());
-                            } catch (Exception e) {
+                        //鍑哄簱
+                        try {
+                            outInsOrderState(laboratory, insSample.getSampleCode());
+                        } catch (Exception e) {
 
-                            }
                         }
-                        insOrder.setState(4);
-                        insOrderMapper.updateById(insOrder);
                     }
+                    insOrder.setState(4);
+                    insOrderMapper.updateById(insOrder);
                     break;
             }
         }
@@ -1033,10 +1014,10 @@
 
     @Override
     public int submitPlan(SubmitPlanDto submitPlanDto) {
-        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
-                .eq(InsSample::getInsOrderId, submitPlanDto.getOrderId()).select(InsSample::getId));
+        InsSample insSample = insSampleMapper.selectById(submitPlanDto.getSampleId());
         InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
-                .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId())
+                .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId())
                 .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
                 .orderByDesc(InsOrderState::getId)
                 .last("LIMIT 1"));// 纭繚鍙彇涓�鏉¤褰�
@@ -1049,16 +1030,10 @@
         insOrderUser.setNote(ObjectUtils.isNotEmpty(submitPlanDto.getNote()) ? submitPlanDto.getNote() : null);
         insOrderUser.setTerm(ObjectUtils.isNotEmpty(submitPlanDto.getTerm()) ? submitPlanDto.getTerm() : null);
         insOrderUserMapper.insert(insOrderUser);
-        List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList());
         List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                .in(InsProduct::getInsSampleId, ids)
+                .eq(InsProduct::getInsSampleId, insSample.getId())
                 .eq(InsProduct::getSonLaboratory, submitPlanDto.getLaboratory())
-                .eq(InsProduct::getState, 1)
-                .and(wrapper -> wrapper
-                        .isNull(InsProduct::getInsResult)
-                        .or()
-                        .eq(InsProduct::getInsResult, 2)
-                ));
+                .eq(InsProduct::getState, 1));
         if (insProducts.size() > 0) {
             String str = "";
             int count = 0;
@@ -1090,19 +1065,13 @@
             }
         }
         insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate()
-                .eq(InsOrderState::getInsOrderId, submitPlanDto.getOrderId())
+                .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId())
+                .eq(InsOrderState::getInsSampleId, submitPlanDto.getSampleId())
                 .eq(InsOrderState::getLaboratory, submitPlanDto.getLaboratory())
                 .set(InsOrderState::getInsState, 3)
                 .set(InsOrderState::getVerifyUser, submitPlanDto.getVerifyUser()));
-        InsOrder insOrder = insOrderMapper.selectById(submitPlanDto.getOrderId());
-        /*杩欎釜鎯呭喌鍏堝叧闂�----濡傛灉鏄疌绫昏鍗曚笖鏄笅鍙戝埌璐ㄩ噺閮�,鍒欑洿鎺ュ鏍搁�氳繃(缁撴潫璇曢獙)*/
-//        if (insOrder.getOrderType().equals("C") && insOrder.getDepartmentLims().equals("璐ㄩ噺閮�")) {
-//            try {
-//                verifyPlan(orderId, laboratory, 2, null);
-//            } catch (IOException e) {
-//                e.printStackTrace();
-//            }
-//        } else {
+        InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         //LIMS绯荤粺娑堟伅鎺ㄩ��
         InformationNotification info = new InformationNotification();
@@ -1116,25 +1085,24 @@
         info.setJumpPath("b1-inspect-order-plan");
         informationNotificationService.addInformationNotification(info);
         //  todo 浼佷笟寰俊娑堟伅鎺ㄩ�丂zss
-            HashMap<String, Object> map = new HashMap<>();
-            String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount();
-            map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
-            map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
-            map.put("totag", "");//娑堟伅鏍囩id
-            map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
-            map.put("agentid", 1000517);//搴旂敤id
-            HashMap<String, Object> hashMap = new HashMap<>();
-            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�"+insOrder.getEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
-            map.put("text", hashMap);//娑堟伅鍐呭
-            map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
-            map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
-            map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚�
-            qywxApi.send(map);
-//        }
+        HashMap<String, Object> map = new HashMap<>();
+        String account = userMapper.selectById(submitPlanDto.getVerifyUser()).getAccount();
+        map.put("touser", account);//鎺ユ敹娑堟伅鎴愬憳鐨勮处鍙�'ZT-031292'杩欑绫诲瀷(濡傛灉鏈夊涓敤'|'鍒嗛殧)
+        map.put("toparty", "");//鎺ユ敹閮ㄩ棬id
+        map.put("totag", "");//娑堟伅鏍囩id
+        map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
+        map.put("agentid", 1000517);//搴旂敤id
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+        map.put("text", hashMap);//娑堟伅鍐呭
+        map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
+        map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
+        map.put("enable_duplicate_check", 0);//鏄惁寮�鍚噸澶嶆秷鎭鏌�.0鍚�
+        qywxApi.send(map);
         //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
         InsSampleUser insSampleUser = new InsSampleUser();
         insSampleUser.setUserId(submitPlanDto.getVerifyUser());
-        insSampleUser.setInsSampleId(submitPlanDto.getOrderId());
+        insSampleUser.setInsSampleId(submitPlanDto.getSampleId());
         insSampleUser.setState(1);
         insSampleUser.setSonLaboratory(submitPlanDto.getLaboratory());
         insSampleUserMapper.insert(insSampleUser);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 8701757..249dd00 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -81,22 +81,13 @@
     @Resource
     InsProductResultMapper insProductResultMapper;
     @Resource
-    private WarehouseHistoryMapper warehouseHistoryMapper;
-    @Resource
     private InsProductMapper insProductMapper;
-    @Resource
-    private InsProductService insProductService;
     @Resource
     private InsProductUserMapper insProductUserMapper;
     @Resource
     private GiveCode giveCode;
     @Resource
-    private InsSampleUserMapper insSampleUserMapper;
-    @Resource
-    private InsOrderStateMapper insOrderStateMapper;
-    @Resource
     UserMapper userMapper;
-
     @Resource
     InformationNotificationService informationNotificationService;
     @Resource
@@ -141,34 +132,6 @@
         });
         map.put("body", sampleOrderDtoIPage);
         return map;
-    }
-
-    //鍒嗛厤绔欑偣
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public int upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId, String sonLaboratory) {
-        InsOrder insOrder = new InsOrder();
-        insOrder.setId(orderId);
-        //insOrder.setAppointed(LocalDate.parse(appointed));
-        insOrder.setSendTime(LocalDateTime.now());
-        insOrderMapper.updateById(insOrder);
-        //淇敼鎴愬彧缁欏綋鍓嶉�夋嫨鐨勮瘯楠屽涓嬪彂鍗曞瓙
-        InsOrderState insOrderState = new InsOrderState();
-        insOrderState.setInsOrderId(orderId);
-        insOrderState.setLaboratory(sonLaboratory);
-        insOrderState.setInsState(0);
-        insOrderState.setNum(1);//鍒濆鏄涓�娆�
-        insOrderStateMapper.insert(insOrderState);
-        //杩欓噷鏄湪缁欏垎閰嶇殑鎸囧畾鐨勪汉鍜岃瘯楠屽涓嬪彂妫�楠屼汉
-        if (userId != null) {
-            InsSampleUser insSampleUser = new InsSampleUser();
-            insSampleUser.setState(0);
-            insSampleUser.setUserId(userId);
-            insSampleUser.setInsSampleId(orderId);
-            insSampleUser.setSonLaboratory(sonLaboratory);
-            insSampleUserMapper.insert(insSampleUser);
-        }
-        return 1;
     }
 
     @Override
@@ -257,7 +220,7 @@
         if (insOrder.getOrderType().equals("C")) {
             insOrder.setState(1);
             upInsOrderOfState(insOrder);
-        }else if (insOrder.getOrderType().equals("A")){
+        } else if (insOrder.getOrderType().equals("A")) {
             //甯歌澶栭儴鍗曢渶娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠诲拰鐮斿彂閮ㄧ粡鐞�
             //todo 浼佷笟寰俊鎺ㄩ��
             users1.addAll(users2);
@@ -267,7 +230,7 @@
             map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
             map.put("agentid", 1000517);//搴旂敤id
             HashMap<String, Object> hashMap = new HashMap<>();
-            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
             map.put("text", hashMap);//娑堟伅鍐呭
             map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
             map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
@@ -280,7 +243,7 @@
                 info.setCreateUser(userMapper.selectById(userId).getName());
                 info.setMessageType("2");
                 info.setTheme("瀹℃牳閫氱煡");
-                info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode());
+                info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:" + insOrder.getOutEntrustCode());
                 info.setSenderId(userId);
                 info.setViewStatus(false);
                 info.setJumpPath("b1-inspect-order");
@@ -288,7 +251,7 @@
                 notificationArrayList.add(info);
             }
             informationNotificationService.saveBatch(notificationArrayList);
-        }else if (insOrder.getOrderType().equals("B")){
+        } else if (insOrder.getOrderType().equals("B")) {
             //闈炲父瑙勫閮ㄥ崟闇�娑堟伅鎻愰啋妫�楠屼腑蹇冧富浠�,鐮斿彂閮ㄧ粡鐞嗗拰鎶�鏈礋璐d汉
             //todo 浼佷笟寰俊鎺ㄩ��
             users1.addAll(users2);
@@ -299,7 +262,7 @@
             map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
             map.put("agentid", 1000517);//搴旂敤id
             HashMap<String, Object> hashMap = new HashMap<>();
-            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+            hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠岃鍗曢渶瑕佸鏍�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
             map.put("text", hashMap);//娑堟伅鍐呭
             map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
             map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
@@ -312,7 +275,7 @@
                 info.setCreateUser(userMapper.selectById(userId).getName());
                 info.setMessageType("2");
                 info.setTheme("瀹℃牳閫氱煡");
-                info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:"+insOrder.getOutEntrustCode());
+                info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曞緟瀹℃牳娑堟伅,璁㈠崟鐨勫閮ㄧ紪鍙锋槸:" + insOrder.getOutEntrustCode());
                 info.setSenderId(userId);
                 info.setViewStatus(false);
                 info.setJumpPath("b1-inspect-order");
@@ -346,7 +309,7 @@
                     if (!realpath.exists()) {
                         realpath.mkdirs();
                     }
-                    pathName = UUID.randomUUID() + "_" + file.getOriginalFilename();
+                    pathName = UUID.randomUUID() + "_" + file.getOriginalFilename().replace("#", "&");
                     urlString = realpath + "/" + pathName;
                     file.transferTo(new File(urlString));
                     insOrderFile.setFileUrl(pathName);
@@ -365,7 +328,7 @@
             map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
             map.put("agentid", 1000517);//搴旂敤id
             HashMap<String, Object> hashMap = new HashMap<>();
-            hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
+            hashMap.put("content", "鎮ㄦ湁涓�鏉¤鍗曢渶瑕佸畬鎴�,璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傚閮ㄨ鍗曞彿鏄細" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
             map.put("text", hashMap);//娑堟伅鍐呭
             map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�
             map.put("enable_id_trans", 0);//鏄惁寮�鍚痠d杞瘧.0鍚�
@@ -377,7 +340,7 @@
             info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
             info.setMessageType("1");
             info.setTheme("鏍锋満鍛橀�氱煡");
-            info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曠殑鏍锋満寰呭畬鎴愭秷鎭�,澶栭儴璁㈠崟鍙锋槸锛�"+insOrder.getOutEntrustCode()+",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�");
+            info.setContent("鎮ㄦ湁涓�鏉℃楠岃鍗曠殑鏍锋満寰呭畬鎴愭秷鎭�,澶栭儴璁㈠崟鍙锋槸锛�" + insOrder.getOutEntrustCode() + ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆�");
             info.setSenderId(userId);
             info.setConsigneeId(insOrder.getIssueUser());
             info.setViewStatus(false);
@@ -479,49 +442,40 @@
     }
 
     @Override
-    public Map<String, Object> getInsOrderAndSample(Integer id, String laboratory) {
+    public Map<String, Object> getInsOrderAndSample(Integer sampleId, String laboratory) {
+        InsSample insSample = insSampleMapper.selectById(sampleId);
         Map<String, Object> map = new HashMap<>();
-        InsOrder insOrder = insOrderMapper.selectById2(id);
-        List<SampleProductDto> insSamples = insSampleMapper.selectList1(insOrder.getId());
-        List<SampleProductDto> list = insSampleMapper.getInsOrderAndSample(id, laboratory);
+        InsOrder insOrder = insOrderMapper.selectById2(insSample.getInsOrderId());
+        SampleProductDto sampleProductDto = insSampleMapper.getInsOrderAndSample(sampleId, laboratory);
         //鍐嶆璇曢獙浼氬嚭鐜颁负绌虹殑鎯呭喌
-        if (list.size() != insSamples.size()) {
-            List<Integer> ids = list.stream().map(sampleProductDto -> sampleProductDto.getId()).distinct().collect(Collectors.toList());
-            List<SampleProductDto> samples = insSamples.stream().filter(insSample ->
-                    !ids.contains(insSample.getId())
-            ).collect(Collectors.toList());
-            for (SampleProductDto insSample : samples) {
-                List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                        .eq(InsProduct::getInsSampleId, insSample.getId())
-                        .eq(InsProduct::getState, 1)
-                        .eq(InsProduct::getSonLaboratory, laboratory));
-                for (InsProduct insProduct : insProducts) {
-                    List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
-                            .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum));
-                    insProduct.setInsProductResult2(insProductResult2List);
-                    InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
-                            .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum));
-                    insProduct.setInsProductResult(insProductResult);
-                }
-                insSample.setInsProduct(insProducts);
-                list.add(insSample);
+        if (ObjectUtils.isEmpty(sampleProductDto)) {
+            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                    .eq(InsProduct::getInsSampleId, insSample.getId())
+                    .eq(InsProduct::getState, 1)
+                    .eq(InsProduct::getSonLaboratory, laboratory));
+            for (InsProduct insProduct : insProducts) {
+                List<InsProductResult2> insProductResult2List = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+                        .eq(InsProductResult2::getInsProductId, insProduct.getId()).isNull(InsProductResult2::getNum));
+                insProduct.setInsProductResult2(insProductResult2List);
+                InsProductResult insProductResult = insProductResultMapper.selectOne(Wrappers.<InsProductResult>lambdaQuery()
+                        .eq(InsProductResult::getInsProductId, insProduct.getId()).isNull(InsProductResult::getNum));
+                insProduct.setInsProductResult(insProductResult);
             }
-
+            BeanUtils.copyProperties(insSample,sampleProductDto);
+            sampleProductDto.setInsProduct(insProducts);
         }
-        for (SampleProductDto sampleProductDto : list) {
-            List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
-            List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery()
-                    .in(InsProductUser::getInsProductId, ids));
-            if (CollectionUtils.isNotEmpty(insProductUsers)) {
-                List<Integer> userIds = insProductUsers.stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
-                String collect = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
-                sampleProductDto.setCheckName(collect);
-            }
+        List<Integer> ids = sampleProductDto.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
+        List<InsProductUser> insProductUsers = insProductUserMapper.selectList(Wrappers.<InsProductUser>lambdaQuery()
+                .in(InsProductUser::getInsProductId, ids));
+        if (CollectionUtils.isNotEmpty(insProductUsers)) {
+            List<Integer> userIds = insProductUsers.stream().map(InsProductUser::getCreateUser).distinct().collect(Collectors.toList());
+            String collect = userMapper.selectBatchIds(userIds).stream().map(User::getName).collect(Collectors.joining(","));
+            sampleProductDto.setCheckName(collect);
         }
         map.put("insOrder", insOrder);
-        map.put("sampleProduct", list);
+        map.put("sampleProduct", sampleProductDto);
         //鏌ヨ鎵�鏈夎褰曟ā鐗堝幓閲�
-        List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(id, laboratory);
+        List<Map<Integer, Object>> list2 = insOrderMapper.selectReportModelByOrderId(insSample.getInsOrderId(), laboratory);
         map.put("reportModel", list2);
         return map;
     }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index 6bb76f0..833dce9 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -26,10 +26,7 @@
 import com.itextpdf.text.pdf.PdfStamper;
 import com.yuanchu.mom.common.GetLook;
 import com.yuanchu.mom.common.PrintChina;
-import com.yuanchu.mom.dto.InsReportDto;
-import com.yuanchu.mom.dto.InsReportDto1;
-import com.yuanchu.mom.dto.ReportPageDto;
-import com.yuanchu.mom.dto.SampleProductDto;
+import com.yuanchu.mom.dto.*;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.*;
 import com.yuanchu.mom.pojo.*;
@@ -139,19 +136,7 @@
         map.put("head", PrintChina.printChina(ReportPageDto.class));
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageInsReport");
         if (map1.get("look") == 1) reportPageDto.setCreateUser(map1.get("userId"));
-        User user = userMapper.selectById(map1.get("userId"));//褰撳墠鐧诲綍鐨勪汉
-        //鑾峰彇褰撳墠浜烘墍灞炲疄楠屽id
-        String departLimsId = user.getDepartLimsId();
-        String laboratory = null;
-        if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) {
-            String[] split = departLimsId.split(",");
-            //鏌ヨ瀵瑰簲鏋舵瀯鍚嶇О(閫氫俊瀹為獙瀹�,鐢靛姏瀹為獙瀹�,妫�娴嬪姙)
-            String departLims = insOrderMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
-            if (departLims.contains("瀹為獙瀹�")) {
-                laboratory = departLims;
-            }
-        }
-        map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto), laboratory));
+        map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto)));
         return map;
     }
 
@@ -333,7 +318,6 @@
             if (files != null) {
                 for (File f : files) {
                     // 鏍规嵁鏂囦欢鍚嶆煡璇d
-                    String name = f.getName();
                     InsReport insReport = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery().like(InsReport::getCode, f.getName().replace(".docx", "")));
                     if (ObjectUtils.isEmpty(insReport)) {
                         throw new ErrorException("娌℃湁鎵惧埌 " + f.getName() + " 杩欎釜鏂囦欢瀵瑰簲鐨勬姤鍛婃暟鎹�");
@@ -374,30 +358,37 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int isReport(InsReportDto insReportDto) {
-        //鍏堝垽鏂璁㈠崟鏄惁鍙互鍘荤敓浜ф姤鍛�
-        Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5));
+        //鍏堝垽鏂璁㈠崟鏄惁鍙互鍘荤敓浜ф姤鍛�(鏄惁缁撴潫璇曢獙)
+        Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery()
+                .eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5));
         if (count > 0) {
             if (insReportDto.getState() == 1) {
                 List<InsReportDto1> insReportDto1s = insReportDto.getInsReportDto1s();
-                wordUtils.generateReport(insReportDto.getId(), insReportDto1s);
+                for (InsReportDto1 insReportDto1 : insReportDto1s) {
+                    wordUtils.generateReport(insReportDto.getId(), insReportDto1);
+                }
             } else {
-                //缁撴潫璁㈠崟
-                InsOrder insOrder = new InsOrder();
-                insOrder.setId(insReportDto.getId());
-                insOrder.setState(4);
-                insOrderMapper.updateById(insOrder);
+               //濡傛灉涓嶇敓鎴愬氨涓�鐩存寕鐫�
             }
         } else {
-            throw new ErrorException("璇ヨ鍗曡繕鏈粨鏉熻瘯楠�,鏃犳硶鐢熶骇鎶ュ憡!");
+            throw new ErrorException("璇ヨ鍗曡繕鏈粨鏉熻瘯楠�,鏃犳硶鐢熸垚鎶ュ憡!");
         }
         return 0;
     }
 
     //鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁�
     @Override
-    public List<InsOrderState> getInsOrderStateCount(Integer id) {
-        List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id);
-        return insOrderStates;
+    public List<InsOrderStateDto> getInsOrderStateCount(Integer id) {
+        List<InsOrderStateDto> insOrderStateDtos = new ArrayList<>();
+        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, id));
+        for (InsSample insSample : insSamples) {
+            InsOrderStateDto insOrderStateDto = new InsOrderStateDto();
+            insOrderStateDto.setInsSample(insSample);
+            List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id, insSample.getId());
+            insOrderStateDto.setInsOrderStates(insOrderStates);
+            insOrderStateDtos.add(insOrderStateDto);
+        }
+        return insOrderStateDtos;
     }
 
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java
index 46de379..1a9ac2d 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.utils;
 
+import cn.hutool.core.lang.UUID;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 import com.deepoove.poi.config.ConfigureBuilder;
@@ -11,8 +12,10 @@
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.InsOrderFileMapper;
 import com.yuanchu.mom.mapper.InsOrderMapper;
+import com.yuanchu.mom.mapper.InsSampleMapper;
 import com.yuanchu.mom.pojo.InsOrder;
 import com.yuanchu.mom.pojo.InsOrderFile;
+import com.yuanchu.mom.pojo.InsSample;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.openxml4j.util.ZipSecureFile;
@@ -43,6 +46,9 @@
 
     @Resource
     InsOrderMapper insOrderMapper;
+
+    @Resource
+    InsSampleMapper insSampleMapper;
 
     public void getFuSheWord1(String sonLaboratory, InsOrderFile insOrderFile) {
         //璇诲彇excel鏂囦欢鍐呭
@@ -85,8 +91,7 @@
                                     default:
                                         System.out.print("NULL\t");
                                 }
-                            }
-                            else {
+                            } else {
                                 switch (cell.getCellType()) {
                                     case STRING:
                                         if (StringUtils.isNotEmpty(s)) {
@@ -199,8 +204,8 @@
         HashMap<String, Object> map2 = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<>();
         XWPFDocument document = new XWPFDocument();
-        String jiaodu="";
-        String port="";
+        String jiaodu = "";
+        String port = "";
         try (CSVReader reader = new CSVReader(new InputStreamReader(new FileInputStream(excelFilePath), fileEncoding))) {
             List<String[]> records = reader.readAll();
             for (int i = 0; i < records.size(); i++) {
@@ -211,13 +216,13 @@
                 for (int i1 = 0; i1 < record.length; i1++) {
                     String value = record[i1];
                     if (i == 0) {
-                        project.put(i1,value);
+                        project.put(i1, value);
                     }
                     if (i == 1) {
-                        biaozhun.put(project.get(i1).toString(),value);
+                        biaozhun.put(project.get(i1).toString(), value);
                     }
-                    if (i>2) {
-                        if (i1==0&&StringUtils.isNotEmpty(value)) {
+                    if (i > 2) {
+                        if (i1 == 0 && StringUtils.isNotEmpty(value)) {
 
                             if (map2.size() != 0) {
                                 map2.put(port, list);
@@ -225,16 +230,16 @@
                                 map2 = new HashMap<>();
                             }
                             datas1.put(value, "");
-                            jiaodu=value;
+                            jiaodu = value;
                         } else if (i1 == 1 && StringUtils.isNotEmpty(value)) {
                             if (list.size() != 0) {
                                 map2.put(port, list);
                                 list = new ArrayList<>();
                             }
                             map2.put(value, "");
-                            port=value;
+                            port = value;
                         } else if (StringUtils.isNotEmpty(value)) {
-                            if (value.equals("鏈�澶у��")||value.equals("鏈�灏忓��")||value.equals("鎸囨爣")||value.equals("绫诲埆")) {
+                            if (value.equals("鏈�澶у��") || value.equals("鏈�灏忓��") || value.equals("鎸囨爣") || value.equals("绫诲埆")) {
                                 break;
                             } else if (value.equals("骞冲潎鍊�")) {
                                 for (int i2 = 0; i2 < record.length; i2++) {
@@ -242,24 +247,24 @@
                                     if (value1.equals("骞冲潎鍊�")) {
                                         continue;
                                     }
-                                    pingjun.put(project.get(i2).toString(),value1);
+                                    pingjun.put(project.get(i2).toString(), value1);
                                 }
                                 break;
                             }
-                            map1.put(project.get(i1).toString(),value);
+                            map1.put(project.get(i1).toString(), value);
                         }
                     }
                     System.out.print(value + " ");
                 }
-                if (map1.size()!=0) {
+                if (map1.size() != 0) {
                     list.add(map1);
                 }
-                if (pingjun.size()!=0) {
-                    pingjunzhi.put(jiaodu,pingjun);
+                if (pingjun.size() != 0) {
+                    pingjunzhi.put(jiaodu, pingjun);
                 }
-                if (i==records.size()-1) {
-                    map2.put(port,list);
-                    datas1.put(jiaodu,map2);
+                if (i == records.size() - 1) {
+                    map2.put(port, list);
+                    datas1.put(jiaodu, map2);
                 }
                 System.out.println();
             }
@@ -274,23 +279,23 @@
 
         HashMap<String, Object> map = new HashMap<>();
         for (String s : datas1.keySet()) {
-            Map<String, List<HashMap<String,Object>>> numbers = (Map<String, List<HashMap<String,Object>>>) datas1.get(s);
+            Map<String, List<HashMap<String, Object>>> numbers = (Map<String, List<HashMap<String, Object>>>) datas1.get(s);
             for (String s1 : numbers.keySet()) {
                 List<HashMap<String, Object>> hashMaps = numbers.get(s1);
 
                 List<Integer> floatList = new ArrayList<>();
                 for (Map<String, Object> number : hashMaps) {
                     number.put("绔彛", s1);
-                    floatList.add( Integer.parseInt((String) number.get("娴嬭瘯棰戠巼(MHZ)")));
+                    floatList.add(Integer.parseInt((String) number.get("娴嬭瘯棰戠巼(MHZ)")));
                 }
                 Integer maxValue = Collections.max(floatList);
                 Integer minValue = Collections.min(floatList);
 
-                if (map.get(minValue + "-" + maxValue+"-"+s) == null) {
-                    map.put(minValue + "-" + maxValue+"-"+s, s1);
+                if (map.get(minValue + "-" + maxValue + "-" + s) == null) {
+                    map.put(minValue + "-" + maxValue + "-" + s, s1);
                 } else {
-                    Object o = map.get(minValue + "-" + maxValue+"-"+s);
-                    map.put(minValue + "-" + maxValue+"-"+s, s1 + "," + o);
+                    Object o = map.get(minValue + "-" + maxValue + "-" + s);
+                    map.put(minValue + "-" + maxValue + "-" + s, s1 + "," + o);
                 }
             }
 
@@ -305,9 +310,9 @@
             int size1 = -1;
 
             for (String s : datas1.keySet()) {
-                Map<String, List<HashMap<String,Object>>> o1 = (Map<String, List<HashMap<String,Object>>>)datas1.get(s);
+                Map<String, List<HashMap<String, Object>>> o1 = (Map<String, List<HashMap<String, Object>>>) datas1.get(s);
                 for (String s3 : o1.keySet()) {
-                    List<HashMap<String, Object>> numbers =  o1.get(s3);
+                    List<HashMap<String, Object>> numbers = o1.get(s3);
                     for (String s2 : collect) {
                         if (s3.equals(s2)) {
                             if (numbers.size() > size1) {
@@ -323,7 +328,7 @@
         System.out.println(map);
 
         try {
-            createWord2(sonLaboratory,document,exceldata, map,pingjunzhi,biaozhun,insOrderFile);
+            createWord2(sonLaboratory, document, exceldata, map, pingjunzhi, biaozhun, insOrderFile);
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -518,24 +523,25 @@
                 paragraph11.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run11 = paragraph11.createRun();
                 double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString()));
-                run11.setText(String.format("%.2f",v));
+                run11.setText(String.format("%.2f", v));
                 size++;
             }
         }
         // 杈撳嚭鍒版枃浠�
         try {
-            InsOrder insOrder = insOrderMapper.selectById(insOrderFile.getInsOrderId());
+            InsSample insSample = insSampleMapper.selectById(insOrderFile.getInsSampleId());
             String[] split = insOrderFile.getFileName().split("\\.");
             String name = insOrderFile.getFileName().substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length()));
-            FileOutputStream out = new FileOutputStream(wordUrl + "/" + insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            FileOutputStream out = new FileOutputStream(wordUrl + "/" + UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             document.write(out);
             out.close();
             document.close();
             InsOrderFile orderFile = new InsOrderFile();
             orderFile.setInsOrderId(insOrderFile.getInsOrderId());
-            orderFile.setFileUrl(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            orderFile.setInsSampleId(insOrderFile.getInsSampleId());
+            orderFile.setFileUrl(UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             orderFile.setType(2);
-            orderFile.setFileName(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            orderFile.setFileName(insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             orderFile.setSonLaboratory(sonLaboratory);
             insOrderFileMapper.insert(orderFile);
         } catch (IOException e) {
@@ -543,19 +549,19 @@
         }
     }
 
-    public void createWord2(String sonLaboratory,XWPFDocument document,Exceldata exceldata, HashMap<String, Object> map,HashMap<String,Object> pj,HashMap<String,Object> bz,InsOrderFile insOrderFile) throws IOException {
+    public void createWord2(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, HashMap<String, Object> pj, HashMap<String, Object> bz, InsOrderFile insOrderFile) throws IOException {
         int size = 1;
         for (String s : map.keySet()) {
             Map<String, Object> dataRow = exceldata.getDataRow();
             String result = s.substring(s.lastIndexOf("-") + 1);
-            String result1 = s.substring(0,s.lastIndexOf("-"));
+            String result1 = s.substring(0, s.lastIndexOf("-"));
             String o = map.get(s).toString();
             String[] split = o.split(",");
             Integer s1 = Integer.parseInt(split[split.length - 1]);
             Integer i1 = split.length - 1;
             int row = 3 + s1;
             int cell = 6 + i1;
-            HashMap<String,Object> o2 =(HashMap<String,Object>) pj.get(result);
+            HashMap<String, Object> o2 = (HashMap<String, Object>) pj.get(result);
 
             XWPFTable table1 = document.createTable(2, cell);
 
@@ -578,7 +584,7 @@
             XWPFRun run15 = paragraph15.createRun();
             run15.setText("鏍囧噯瑕佹眰");
 
-            XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell-1).getParagraphArray(0);
+            XWPFParagraph paragraph16 = table1.getRow(0).getCell(cell - 1).getParagraphArray(0);
             XWPFRun run16 = paragraph16.createRun();
             run16.setText("妫�楠岀粨璁�");
 
@@ -588,8 +594,7 @@
 
             XWPFParagraph paragraph18 = table1.getRow(1).getCell(0).getParagraphArray(0);
             XWPFRun run18 = paragraph18.createRun();
-            run18.setText("棰戞锛� "+result1+"MHz "+"涓嬪�捐"+result);
-
+            run18.setText("棰戞锛� " + result1 + "MHz " + "涓嬪�捐" + result);
 
 
             List<String> collect = Arrays.stream(split).collect(Collectors.toList());
@@ -604,7 +609,7 @@
 
             Map<String, List<Map<String, Object>>> o1 = (Map<String, List<Map<String, Object>>>) dataRow.get(result);
             for (String s2 : collect) {
-                if (s2.contains("绔彛")||s2.contains("P")) {
+                if (s2.contains("绔彛") || s2.contains("P")) {
                     List<Map<String, Object>> mapList = o1.get(s2);
                     list.addAll(mapList);
                 }
@@ -622,7 +627,7 @@
 
 
             for (String s2 : aggregatedMap.keySet()) {
-                if (s2.equals("绔彛")||s2.equals("娴嬭瘯棰戠巼(MHZ)")) {
+                if (s2.equals("绔彛") || s2.equals("娴嬭瘯棰戠巼(MHZ)")) {
                     continue;
                 }
                 List<Map<String, Object>> mapList = aggregatedMap.get(s2);
@@ -672,7 +677,6 @@
                 }
 
 
-
                 XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0);
                 XWPFRun run3 = paragraph3.createRun();
                 run3.setText(bz.get(s2).toString());
@@ -704,7 +708,7 @@
 
                 for (int i = 0; i < collect.size(); i++) {
                     String s3 = collect.get(i);
-                    if (s3.contains("绔彛")||s3.contains("P")) {
+                    if (s3.contains("绔彛") || s3.contains("P")) {
                         XWPFParagraph paragraph10 = table.getRow(1).getCell(5 + i).getParagraphArray(0);
                         XWPFRun run10 = paragraph10.createRun();
                         run10.setText(s3);
@@ -712,7 +716,7 @@
                 }
 
                 Map<Integer, List<Map<String, Object>>> group = mapList.stream()
-                        .collect(Collectors.groupingBy(item -> Integer.parseInt(item.get("娴嬭瘯棰戠巼(MHZ)").toString()) ));
+                        .collect(Collectors.groupingBy(item -> Integer.parseInt(item.get("娴嬭瘯棰戠巼(MHZ)").toString())));
 
 
                 int hang = 2;
@@ -726,7 +730,7 @@
                             if (text.equals(port)) {
                                 XWPFParagraph paragraph10 = table.getRow(hang).getCell(i).getParagraphArray(0);
                                 XWPFRun run10 = paragraph10.createRun();
-                                count=Double.parseDouble(stringObjectMap.get(s2).toString())+count;
+                                count = Double.parseDouble(stringObjectMap.get(s2).toString()) + count;
                                 String project = stringObjectMap.get(s2).toString();
                                 run10.setText(project);
                             }
@@ -740,7 +744,7 @@
                     hang++;
                 }
 
-                XWPFParagraph paragraph11 = table.getRow(row-1).getCell(5).getParagraphArray(0);
+                XWPFParagraph paragraph11 = table.getRow(row - 1).getCell(5).getParagraphArray(0);
                 XWPFRun run11 = paragraph11.createRun();
                 double v = count / (Double.parseDouble(s1.toString()) * Double.parseDouble(i1.toString()));
                 run11.setText(o2.get(s2).toString());
@@ -752,18 +756,19 @@
 
         // 杈撳嚭鍒版枃浠�
         try {
-            InsOrder insOrder = insOrderMapper.selectById(insOrderFile.getInsOrderId());
+            InsSample insSample = insSampleMapper.selectById(insOrderFile.getInsSampleId());
             String[] split = insOrderFile.getFileName().split("\\.");
-            String name = insOrderFile.getFileName().replace("#","&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length()));
-            FileOutputStream out = new FileOutputStream(wordUrl + "/" + insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            String name = insOrderFile.getFileName().replace("#", "&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length()));
+            FileOutputStream out = new FileOutputStream(wordUrl + "/" + UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             document.write(out);
             out.close();
             document.close();
             InsOrderFile orderFile = new InsOrderFile();
             orderFile.setInsOrderId(insOrderFile.getInsOrderId());
-            orderFile.setFileUrl(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            orderFile.setInsSampleId(insOrderFile.getInsSampleId());
+            orderFile.setFileUrl(UUID.randomUUID() + "_" + insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             orderFile.setType(2);
-            orderFile.setFileName(insOrder.getEntrustCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
+            orderFile.setFileName(insSample.getSampleCode() + "&" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx");
             orderFile.setSonLaboratory(sonLaboratory);
             insOrderFileMapper.insert(orderFile);
         } catch (IOException e) {
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
index 1832479..e3fa1e2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.utils;
 
+import cn.hutool.core.lang.UUID;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -12,6 +13,7 @@
 import com.deepoove.poi.data.style.*;
 import com.deepoove.poi.util.TableTools;
 import com.yuanchu.mom.dto.InsReportDto1;
+import com.yuanchu.mom.dto.InsReportDto2;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.mapper.*;
@@ -88,6 +90,9 @@
     @Resource
     InsSampleUserMapper insSampleUserMapper;
 
+    @Resource
+    GiveCode giveCode;
+
 
     //鐢熸垚绔欑偣鐢佃矾璇曢獙鎶ュ憡
     public void generateWord(String term, InsOrderState insOrderState) {
@@ -97,255 +102,635 @@
         List<Map<String, Object>> tables = new ArrayList<>();
         //鏌ヨ璁㈠崟
         InsOrder insOrder = insOrderMapper.selectById(insOrderState.getInsOrderId());
-        //鏌ヨ涓旇繃婊ゅ嚭鏈夌數璺瘯楠岀殑鏍峰搧
-        List<InsSample> insSamples = insSampleMapper.selectSample(insOrderState.getInsOrderId());
-        insSamples.forEach(insSample -> {
-            //鏌ヨ椤圭洰
-            List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
-                    .eq(InsProduct::getInsSampleId, insSample.getId())
-                    .eq(InsProduct::getSonLaboratory, "鐢佃矾璇曢獙"));
-            //鑾峰彇鏈�澶х鍙f暟閲�,瑙掑害鏁伴噺,棰戞鏁伴噺
-            List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
-                    .eq(InsProductResult2::getNum, insOrderState.getNum())
-                    .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList())));
-            //鎸夌収棰戞鍒嗚〃(鏌ヨ鎵�鏈夐娈�)
-            List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList());
-            frequencys.forEach(s -> {
-                int ports = 0;//绔彛鏁�
-                int angles = 0;//瑙掑害鏁�
-                for (InsProductResult2 insProductResult2 : insProductResult2s) {
-                    if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�") && insProductResult2.getPort().split(",").length > ports) {
-                        ports = insProductResult2.getPort().split(",").length;
-                    }
-                    if (insProductResult2.getAngle().split(",").length > angles) {
-                        angles = insProductResult2.getAngle().split(",").length;
-                    }
+        //鏌ヨ鏍峰搧
+        InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId());
+        //鏌ヨ椤圭洰
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getInsSampleId, insSample.getId())
+                .eq(InsProduct::getSonLaboratory, "鐢佃矾璇曢獙"));
+        //鑾峰彇鏈�澶х鍙f暟閲�,瑙掑害鏁伴噺,棰戞鏁伴噺
+        List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+                .eq(InsProductResult2::getNum, insOrderState.getNum())
+                .in(InsProductResult2::getInsProductId, insProducts.stream().map(InsProduct::getId).collect(Collectors.toList())));
+        //鎸夌収棰戞鍒嗚〃(鏌ヨ鎵�鏈夐娈�)
+        List<String> frequencys = insProductResult2s.stream().map(InsProductResult2::getFrequency).distinct().collect(Collectors.toList());
+        frequencys.forEach(s -> {
+            int ports = 0;//绔彛鏁�
+            int angles = 0;//瑙掑害鏁�
+            for (InsProductResult2 insProductResult2 : insProductResult2s) {
+                if (insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�") && insProductResult2.getPort().split(",").length > ports) {
+                    ports = insProductResult2.getPort().split(",").length;
                 }
-                //棰戠偣鏁�
-                long often = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s))
-                        .filter(insProductResult2 ->
-                                insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("浜掕皟")
-                        ).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count();
-                List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList());
-                //琛屾暟
-                int aa = 0;
-                int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1;
-                //鍏堝垽鏂槸1绠�鍗曠増杩樻槸0澶嶆潅鐗�
-                if (insOrderState.getVersion() == 1) {
-                    if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
-                        aa += 2 * portRow;
-                    }
-                    if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
-                        aa += 1 * portRow;
-                    }
-                    if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
-                        aa += 1 * portRow;
-                    }
-                    if (inspectionItemSubclass.contains("浜掕皟")) {
-                        aa += (angles + 1) * portRow * often;
-                    }
-                } else {
-                    if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
-                        aa += (angles + 1) * portRow;
-                    }
-                    if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
-                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
-                                insProductMapper.selectById(insProductResult2.getInsProductId())
-                                        .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")
-                        ).collect(Collectors.toList());
-                        int length = result2s.get(0).getPort().split(",").length;
-                        aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
-                    }
-                    if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
-                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
-                                insProductMapper.selectById(insProductResult2.getInsProductId())
-                                        .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")
-                        ).collect(Collectors.toList());
-                        int length = result2s.get(0).getPort().split(",").length;
-                        aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
-                    }
-                    if (inspectionItemSubclass.contains("浜掕皟")) {
-                        aa += (angles + 1) * portRow * often;
-                    }
-                    if (inspectionItemSubclass.contains("鏈�澶ц�﹀悎搴�")) {
-                        aa += (angles + 1);
-                    }
-                    if (inspectionItemSubclass.contains("鏈�灏忚�﹀悎搴�")) {
-                        aa += (angles + 1);
-                    }
-                    if (inspectionItemSubclass.contains("骞呭害鍋忓樊")) {
-                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
-                                insProductMapper.selectById(insProductResult2.getInsProductId())
-                                        .getInspectionItemSubclass().equals("骞呭害鍋忓樊")
-                        ).collect(Collectors.toList());
-                        int length = result2s.get(0).getPort().split(",").length;
-                        aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
-                    }
-                    if (inspectionItemSubclass.contains("鏈�澶х浉浣嶅亸宸�")) {
-                        List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
-                                insProductMapper.selectById(insProductResult2.getInsProductId())
-                                        .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�")
-                        ).collect(Collectors.toList());
-                        int length = result2s.get(0).getPort().split(",").length;
-                        aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
-                    }
+                if (insProductResult2.getAngle().split(",").length > angles) {
+                    angles = insProductResult2.getAngle().split(",").length;
                 }
-                List<RowRenderData> rows = new ArrayList<>();
-                Set<String> itemSet = new HashSet<>();
-                int cc = 0;
-                int dd = 0;
-                int ee = 0;
-                int ff = 0;
-                int gg = 0;
-                int hh = 0;
-                int mm = 0;
-                //琛ㄦ牸鐨勮鏁�
-                for (int i = 0; i <= aa; i++) {
-                    RowRenderData rowRenderData = new RowRenderData();
-                    RowStyle rowStyle = new RowStyle();
-                    rowStyle.setHeight(40);
-                    rowRenderData.setRowStyle(rowStyle);
-                    List<CellRenderData> cells = new ArrayList<>();
-                    //琛ㄦ牸鐨勫垪鏁�
-                    int bb = ports > 8 ? 14 : ports + 6;
-                    for (int j = 0; j < bb; j++) {
-                        CellRenderData cellRenderData = new CellRenderData();
-                        CellStyle cellStyle = new CellStyle();
-                        cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
-                        cellRenderData.setCellStyle(cellStyle);
-                        List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
-                        ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
-                        ParagraphStyle paragraphStyle = new ParagraphStyle();
-                        paragraphStyle.setAlign(ParagraphAlignment.CENTER);
-                        paragraphRenderData.setParagraphStyle(paragraphStyle);
-                        List<RenderData> renderData = new ArrayList<>();
-                        TextRenderData textRenderData = new TextRenderData();
-                        Style style = new Style();
-                        style.setFontFamily("瀹嬩綋");
-                        style.setColor("000000");
-                        textRenderData.setStyle(style);
-                        if (i == 0) {
-                            //绗竴琛�
-                            textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable);
-                            renderData.add(textRenderData);
-                            paragraphRenderData.setContents(renderData);
-                            paragraphRenderDataList.add(paragraphRenderData);
-                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                            cells.add(cellRenderData);
-                        } else {
-                            if (insOrderState.getVersion() == 1) {
-                                //闈炵數璋冪増鏈�(绠�鍗曠増)
-                                if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) {
-                                    cc = 2 * portRow;
-                                    if (itemSet.add("鐢靛帇椹绘尝姣�")) {
-                                        index.getAndIncrement();
-                                    }
-                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
-                                    //鐢靛帇椹绘尝姣旀墍鍦ㄨ
-                                    if (j == 0) {
-                                        //绗竴鍒�
-                                        textRenderData.setText(index + "鈭�1" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 1) {
-                                        //绗簩鍒�
-                                        textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 2) {
-                                        //绗笁鍒�
-                                        textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 3) {
-                                        //绗洓鍒�
-                                        textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 4) {
-                                        //绗簲鍒�
-                                        if (i % 2 == 0) {
-                                            //鏈�宸��
-                                            textRenderData.setText("鏈�宸��");
-                                        } else {
-                                            //绔彛
-                                            textRenderData.setText("绔彛");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == bb - 1) {
-                                        //鏈�鍚庝竴鍒�
-                                        if (i % 2 == 0) {
-                                            //缁撹
-                                            if (products.get(0).getInsResult() == 1) {
-                                                textRenderData.setText("鍚堟牸");
-                                            } else if (products.get(0).getInsResult() == 0) {
-                                                textRenderData.setText("涓嶅悎鏍�");
-                                            } else {
-                                                textRenderData.setText("涓嶅垽瀹�");
-                                            }
-                                        } else {
-                                            textRenderData.setText("/");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else {
-                                        //鍏朵綑鍒�
-                                        if (i % 2 == 0) {
-                                            //鏈�宸��
-                                            String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
-                                            try {
-                                                textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]);
-                                            } catch (Exception e) {
-                                                textRenderData.setText("");
-                                            }
-                                        } else {
-                                            //绔彛
-                                            try {
-                                                textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]);
-                                            } catch (Exception e) {
-                                                textRenderData.setText("");
-                                            }
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    }
+            }
+            //棰戠偣鏁�
+            long often = insProductResult2s.stream().filter(insProductResult2 -> insProductResult2.getFrequency().equals(s))
+                    .filter(insProductResult2 ->
+                            insProductMapper.selectById(insProductResult2.getInsProductId()).getInspectionItemSubclass().equals("浜掕皟")
+                    ).filter(insProductResult2 -> ObjectUtils.isNotEmpty(insProductResult2.getOften())).distinct().count();
+            List<String> inspectionItemSubclass = insProducts.stream().map(InsProduct::getInspectionItemSubclass).collect(Collectors.toList());
+            //琛屾暟
+            int aa = 0;
+            int portRow = ports % 8 == 0 ? ports / 8 : ports / 8 + 1;
+            //鍏堝垽鏂槸1绠�鍗曠増杩樻槸0澶嶆潅鐗�
+            if (insOrderState.getVersion() == 1) {
+                if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
+                    aa += 2 * portRow;
+                }
+                if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
+                    aa += 1 * portRow;
+                }
+                if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
+                    aa += 1 * portRow;
+                }
+                if (inspectionItemSubclass.contains("浜掕皟")) {
+                    aa += (angles + 1) * portRow * often;
+                }
+            } else {
+                if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
+                    aa += (angles + 1) * portRow;
+                }
+                if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
+                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
+                            insProductMapper.selectById(insProductResult2.getInsProductId())
+                                    .getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")
+                    ).collect(Collectors.toList());
+                    int length = result2s.get(0).getPort().split(",").length;
+                    aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
+                }
+                if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
+                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
+                            insProductMapper.selectById(insProductResult2.getInsProductId())
+                                    .getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")
+                    ).collect(Collectors.toList());
+                    int length = result2s.get(0).getPort().split(",").length;
+                    aa += (angles + 1) * (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
+                }
+                if (inspectionItemSubclass.contains("浜掕皟")) {
+                    aa += (angles + 1) * portRow * often;
+                }
+                if (inspectionItemSubclass.contains("鏈�澶ц�﹀悎搴�")) {
+                    aa += (angles + 1);
+                }
+                if (inspectionItemSubclass.contains("鏈�灏忚�﹀悎搴�")) {
+                    aa += (angles + 1);
+                }
+                if (inspectionItemSubclass.contains("骞呭害鍋忓樊")) {
+                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
+                            insProductMapper.selectById(insProductResult2.getInsProductId())
+                                    .getInspectionItemSubclass().equals("骞呭害鍋忓樊")
+                    ).collect(Collectors.toList());
+                    int length = result2s.get(0).getPort().split(",").length;
+                    aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
+                }
+                if (inspectionItemSubclass.contains("鏈�澶х浉浣嶅亸宸�")) {
+                    List<InsProductResult2> result2s = insProductResult2s.stream().filter(insProductResult2 ->
+                            insProductMapper.selectById(insProductResult2.getInsProductId())
+                                    .getInspectionItemSubclass().equals("鏈�澶х浉浣嶅亸宸�")
+                    ).collect(Collectors.toList());
+                    int length = result2s.get(0).getPort().split(",").length;
+                    aa += (angles + 1) * (length % 8 == 0 ? length / 8 : length / 8 + 1);
+                }
+            }
+            List<RowRenderData> rows = new ArrayList<>();
+            Set<String> itemSet = new HashSet<>();
+            int cc = 0;
+            int dd = 0;
+            int ee = 0;
+            int ff = 0;
+            int gg = 0;
+            int hh = 0;
+            int mm = 0;
+            //琛ㄦ牸鐨勮鏁�
+            for (int i = 0; i <= aa; i++) {
+                RowRenderData rowRenderData = new RowRenderData();
+                RowStyle rowStyle = new RowStyle();
+                rowStyle.setHeight(40);
+                rowRenderData.setRowStyle(rowStyle);
+                List<CellRenderData> cells = new ArrayList<>();
+                //琛ㄦ牸鐨勫垪鏁�
+                int bb = ports > 8 ? 14 : ports + 6;
+                for (int j = 0; j < bb; j++) {
+                    CellRenderData cellRenderData = new CellRenderData();
+                    CellStyle cellStyle = new CellStyle();
+                    cellStyle.setVertAlign(XWPFTableCell.XWPFVertAlign.CENTER);
+                    cellRenderData.setCellStyle(cellStyle);
+                    List<ParagraphRenderData> paragraphRenderDataList = new ArrayList<>();
+                    ParagraphRenderData paragraphRenderData = new ParagraphRenderData();
+                    ParagraphStyle paragraphStyle = new ParagraphStyle();
+                    paragraphStyle.setAlign(ParagraphAlignment.CENTER);
+                    paragraphRenderData.setParagraphStyle(paragraphStyle);
+                    List<RenderData> renderData = new ArrayList<>();
+                    TextRenderData textRenderData = new TextRenderData();
+                    Style style = new Style();
+                    style.setFontFamily("瀹嬩綋");
+                    style.setColor("000000");
+                    textRenderData.setStyle(style);
+                    if (i == 0) {
+                        //绗竴琛�
+                        textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable);
+                        renderData.add(textRenderData);
+                        paragraphRenderData.setContents(renderData);
+                        paragraphRenderDataList.add(paragraphRenderData);
+                        cellRenderData.setParagraphs(paragraphRenderDataList);
+                        cells.add(cellRenderData);
+                    } else {
+                        if (insOrderState.getVersion() == 1) {
+                            //闈炵數璋冪増鏈�(绠�鍗曠増)
+                            if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) {
+                                cc = 2 * portRow;
+                                if (itemSet.add("鐢靛帇椹绘尝姣�")) {
+                                    index.getAndIncrement();
                                 }
-                                if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害") && i > cc && i <= cc + portRow) {
-                                    dd = cc + portRow;
+                                List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                //鐢靛帇椹绘尝姣旀墍鍦ㄨ
+                                if (j == 0) {
+                                    //绗竴鍒�
+                                    textRenderData.setText(index + "鈭�1" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 1) {
+                                    //绗簩鍒�
+                                    textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 2) {
+                                    //绗笁鍒�
+                                    textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 3) {
+                                    //绗洓鍒�
+                                    textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 4) {
+                                    //绗簲鍒�
+                                    if (i % 2 == 0) {
+                                        //鏈�宸��
+                                        textRenderData.setText("鏈�宸��");
+                                    } else {
+                                        //绔彛
+                                        textRenderData.setText("绔彛");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == bb - 1) {
+                                    //鏈�鍚庝竴鍒�
+                                    if (i % 2 == 0) {
+                                        //缁撹
+                                        if (products.get(0).getInsResult() == 1) {
+                                            textRenderData.setText("鍚堟牸");
+                                        } else if (products.get(0).getInsResult() == 0) {
+                                            textRenderData.setText("涓嶅悎鏍�");
+                                        } else {
+                                            textRenderData.setText("涓嶅垽瀹�");
+                                        }
+                                    } else {
+                                        textRenderData.setText("/");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else {
+                                    //鍏朵綑鍒�
+                                    if (i % 2 == 0) {
+                                        //鏈�宸��
+                                        String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
+                                        try {
+                                            textRenderData.setText(value.split(",")[(j - 5) + (i - 1) / 2 * (Math.min(ports, 8))]);
+                                        } catch (Exception e) {
+                                            textRenderData.setText("");
+                                        }
+                                    } else {
+                                        //绔彛
+                                        try {
+                                            textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / 2) * (Math.min(ports, 8))]);
+                                        } catch (Exception e) {
+                                            textRenderData.setText("");
+                                        }
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                }
+                            }
+                            if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害") && i > cc && i <= cc + portRow) {
+                                dd = cc + portRow;
+                                if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) {
+                                    index.getAndIncrement();
+                                }
+                                List<InsProduct> products = insProducts.stream()
+                                        .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害"))
+                                        .collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ
+                                if (j == 0) {
+                                    //绗竴鍒�
+                                    textRenderData.setText(index + "鈭�1" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 1) {
+                                    //绗簩鍒�
+                                    textRenderData.setText("鍚屾瀬鍖栭殧绂诲害鈭�2" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 2) {
+                                    //绗笁鍒�
+                                    textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 3) {
+                                    //绗洓鍒�
+                                    textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 4) {
+                                    //绗簲鍒�
+                                    textRenderData.setText("鏈�宸��");
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == bb - 1) {
+                                    //鏈�鍚庝竴鍒�
+                                    if (products.get(0).getInsResult() == 1) {
+                                        textRenderData.setText("鍚堟牸");
+                                    } else if (products.get(0).getInsResult() == 0) {
+                                        textRenderData.setText("涓嶅悎鏍�");
+                                    } else {
+                                        textRenderData.setText("涓嶅垽瀹�");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j % 2 == 0) {
+                                    String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
+                                    try {
+                                        textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 6));
+                                    } catch (Exception e) {
+                                        textRenderData.setText("");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else {
+                                    String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
+                                    try {
+                                        textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 5));
+                                    } catch (Exception e) {
+                                        textRenderData.setText("");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                }
+                            }
+                            if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) {
+                                ee = (dd == 0 ? cc : dd) + portRow;
+                                if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) {
+                                    index.getAndIncrement();
+                                }
+                                List<InsProduct> products = insProducts.stream()
+                                        .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害"))
+                                        .collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ
+                                if (j == 0) {
+                                    //绗竴鍒�
+                                    textRenderData.setText(index + "鈭�1" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 1) {
+                                    //绗簩鍒�
+                                    textRenderData.setText("寮傛瀬鍖栭殧绂诲害鈭�2" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 2) {
+                                    //绗笁鍒�
+                                    textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 3) {
+                                    //绗洓鍒�
+                                    textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 4) {
+                                    //绗簲鍒�
+                                    textRenderData.setText("鏈�宸��");
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == bb - 1) {
+                                    //鏈�鍚庝竴鍒�
+                                    if (products.get(0).getInsResult() == 1) {
+                                        textRenderData.setText("鍚堟牸");
+                                    } else if (products.get(0).getInsResult() == 0) {
+                                        textRenderData.setText("涓嶅悎鏍�");
+                                    } else {
+                                        textRenderData.setText("涓嶅垽瀹�");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j % 2 == 0) {
+                                    String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
+                                    try {
+                                        textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 6));
+                                    } catch (Exception e) {
+                                        textRenderData.setText("");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else {
+                                    String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
+                                    try {
+                                        textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 5));
+                                    } catch (Exception e) {
+                                        textRenderData.setText("");
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                }
+                            }
+                            if (inspectionItemSubclass.contains("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) {
+                                if (itemSet.add("浜掕皟")) {
+                                    index.getAndIncrement();
+                                }
+                                List<InsProduct> products = insProducts.stream()
+                                        .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟"))
+                                        .collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                //浜掕皟鎵�鍦ㄨ
+                                if (j == 0) {
+                                    //绗竴鍒�
+                                    textRenderData.setText(index + "鈭�1" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 1) {
+                                    //绗簩鍒�
+                                    textRenderData.setText("浜掕皟鈭�2" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 2) {
+                                    //绗笁鍒�
+                                    textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 3) {
+                                    //绗洓鍒�
+                                    textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 4) {
+                                    //绗簲鍒�
+                                    if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
+                                        textRenderData.setText("瑙掑害");
+                                    } else {
+                                        textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)]);
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == bb - 1) {
+                                    //鏈�鍚庝竴鍒�
+                                    if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
+                                        textRenderData.setText("/");
+                                    } else {
+                                        if (products.get(0).getInsResult() == 1) {
+                                            textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
+                                        } else if (products.get(0).getInsResult() == 0) {
+                                            textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
+                                        } else {
+                                            textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
+                                        }
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else {
+                                    if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
+                                        textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index);
+                                    } else {
+                                        String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\[");
+                                        String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
+                                        try {
+                                            textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
+                                        } catch (Exception e) {
+                                            textRenderData.setText("");
+                                        }
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                }
+                            }
+                        } else {
+                            //鐢佃皟鐗堟湰(澶嶆潅鐗�)
+                            if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= (angles + 1) * portRow) {
+                                cc = (angles + 1) * portRow;
+                                if (itemSet.add("鐢靛帇椹绘尝姣�")) {
+                                    index.getAndIncrement();
+                                }
+                                List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                //鐢靛帇椹绘尝姣旀墍鍦ㄨ
+                                if (j == 0) {
+                                    //绗竴鍒�
+                                    textRenderData.setText(index + "鈭�1" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 1) {
+                                    //绗簩鍒�
+                                    textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 2) {
+                                    //绗笁鍒�
+                                    textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 3) {
+                                    //绗洓鍒�
+                                    textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == 4) {
+                                    //绗簲鍒�
+                                    if (i % (angles + 1) == 1) {
+                                        //绔彛
+                                        textRenderData.setText("绔彛");
+                                    } else {
+                                        //瑙掑害
+                                        textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else if (j == bb - 1) {
+                                    //鏈�鍚庝竴鍒�
+                                    if (i % (angles + 1) == 1) {
+                                        textRenderData.setText("/");
+                                    } else {
+                                        //缁撹
+                                        if (products.get(0).getInsResult() == 1) {
+                                            textRenderData.setText("鍚堟牸鈭�8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                        } else if (products.get(0).getInsResult() == 0) {
+                                            textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                        } else {
+                                            textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                        }
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                } else {
+                                    //鍏朵綑鍒�
+                                    if (i % (angles + 1) == 1) {
+                                        //绔彛
+                                        try {
+                                            textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]);
+                                        } catch (Exception e) {
+                                            textRenderData.setText("");
+                                        }
+                                    } else {
+                                        //鏈�宸��
+                                        String[] value = result2s.get(0).getValue().split("\\],\\[");
+                                        String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
+                                        try {
+                                            textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]);
+                                        } catch (Exception e) {
+                                            textRenderData.setText("");
+                                        }
+                                    }
+                                    renderData.add(textRenderData);
+                                    paragraphRenderData.setContents(renderData);
+                                    paragraphRenderDataList.add(paragraphRenderData);
+                                    cellRenderData.setParagraphs(paragraphRenderDataList);
+                                    cells.add(cellRenderData);
+                                }
+                            }
+                            if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
+                                List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")).collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                int length = result2s.get(0).getPort().split(",").length;
+                                int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
+                                int k = (angles + 1) * portRow2;
+                                if (i > cc && i <= cc + k) {
+                                    dd = cc + k;
                                     if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) {
                                         index.getAndIncrement();
                                     }
-                                    List<InsProduct> products = insProducts.stream()
-                                            .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害"))
-                                            .collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
                                     //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ
                                     if (j == 0) {
                                         //绗竴鍒�
@@ -381,7 +766,13 @@
                                         cells.add(cellRenderData);
                                     } else if (j == 4) {
                                         //绗簲鍒�
-                                        textRenderData.setText("鏈�宸��");
+                                        if ((i - cc) % (angles + 1) == 1) {
+                                            //绔彛
+                                            textRenderData.setText("绔彛");
+                                        } else {
+                                            //瑙掑害
+                                            textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
+                                        }
                                         renderData.add(textRenderData);
                                         paragraphRenderData.setContents(renderData);
                                         paragraphRenderDataList.add(paragraphRenderData);
@@ -389,24 +780,17 @@
                                         cells.add(cellRenderData);
                                     } else if (j == bb - 1) {
                                         //鏈�鍚庝竴鍒�
-                                        if (products.get(0).getInsResult() == 1) {
-                                            textRenderData.setText("鍚堟牸");
-                                        } else if (products.get(0).getInsResult() == 0) {
-                                            textRenderData.setText("涓嶅悎鏍�");
+                                        if ((i - cc) % (angles + 1) == 1) {
+                                            textRenderData.setText("/");
                                         } else {
-                                            textRenderData.setText("涓嶅垽瀹�");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j % 2 == 0) {
-                                        String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
-                                        try {
-                                            textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 6));
-                                        } catch (Exception e) {
-                                            textRenderData.setText("");
+                                            //缁撹
+                                            if (products.get(0).getInsResult() == 1) {
+                                                textRenderData.setText("鍚堟牸鈭�8" + index + ((i - cc) / (angles + 2)));
+                                            } else if (products.get(0).getInsResult() == 0) {
+                                                textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - cc) / (angles + 2)));
+                                            } else {
+                                                textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - cc) / (angles + 2)));
+                                            }
                                         }
                                         renderData.add(textRenderData);
                                         paragraphRenderData.setContents(renderData);
@@ -414,11 +798,40 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     } else {
-                                        String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
-                                        try {
-                                            textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - cc - 1) * 4] + "鈭�5" + i + (j - 5));
-                                        } catch (Exception e) {
-                                            textRenderData.setText("");
+                                        //鍏朵綑鍒�
+                                        if ((i - cc) % (angles + 1) == 1) {
+                                            //绔彛
+                                            if (j % 2 == 0) {
+                                                try {
+                                                    textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6));
+                                                } catch (Exception e) {
+                                                    textRenderData.setText("");
+                                                }
+                                            } else {
+                                                try {
+                                                    textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5));
+                                                } catch (Exception e) {
+                                                    textRenderData.setText("");
+                                                }
+                                            }
+
+                                        } else {
+                                            //鏈�宸��
+                                            String[] value = result2s.get(0).getValue().split("\\],\\[");
+                                            String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
+                                            if (j % 2 == 0) {
+                                                try {
+                                                    textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6));
+                                                } catch (Exception e) {
+                                                    textRenderData.setText("");
+                                                }
+                                            } else {
+                                                try {
+                                                    textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5));
+                                                } catch (Exception e) {
+                                                    textRenderData.setText("");
+                                                }
+                                            }
                                         }
                                         renderData.add(textRenderData);
                                         paragraphRenderData.setContents(renderData);
@@ -427,17 +840,20 @@
                                         cells.add(cellRenderData);
                                     }
                                 }
-                                if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害") && i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + portRow) {
-                                    ee = (dd == 0 ? cc : dd) + portRow;
+                            }
+                            if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
+                                List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")).collect(Collectors.toList());
+                                List<InsProductResult2> result2s = insProductResult2s.stream()
+                                        .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
+                                        .collect(Collectors.toList());
+                                int length = result2s.get(0).getPort().split(",").length;
+                                int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
+                                int k = (angles + 1) * portRow2;
+                                if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) {
+                                    ee = (dd == 0 ? cc : dd) + k;
                                     if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) {
                                         index.getAndIncrement();
                                     }
-                                    List<InsProduct> products = insProducts.stream()
-                                            .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害"))
-                                            .collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
                                     //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ
                                     if (j == 0) {
                                         //绗竴鍒�
@@ -473,191 +889,7 @@
                                         cells.add(cellRenderData);
                                     } else if (j == 4) {
                                         //绗簲鍒�
-                                        textRenderData.setText("鏈�宸��");
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == bb - 1) {
-                                        //鏈�鍚庝竴鍒�
-                                        if (products.get(0).getInsResult() == 1) {
-                                            textRenderData.setText("鍚堟牸");
-                                        } else if (products.get(0).getInsResult() == 0) {
-                                            textRenderData.setText("涓嶅悎鏍�");
-                                        } else {
-                                            textRenderData.setText("涓嶅垽瀹�");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j % 2 == 0) {
-                                        String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
-                                        try {
-                                            textRenderData.setText(value.split(",")[(j - 6) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 6));
-                                        } catch (Exception e) {
-                                            textRenderData.setText("");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else {
-                                        String value = result2s.get(0).getValue().replaceAll("[\\[\\]\"]", "");
-                                        try {
-                                            textRenderData.setText(value.split(",")[(j - 5) / 2 + (i - (dd == 0 ? cc : dd) - 1) * 4] + "鈭�5" + i + (j - 5));
-                                        } catch (Exception e) {
-                                            textRenderData.setText("");
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    }
-                                }
-                                if (inspectionItemSubclass.contains("浜掕皟") && i > (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) {
-                                    if (itemSet.add("浜掕皟")) {
-                                        index.getAndIncrement();
-                                    }
-                                    List<InsProduct> products = insProducts.stream()
-                                            .filter(insProduct -> insProduct.getInspectionItemSubclass().equals("浜掕皟"))
-                                            .collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
-                                    //浜掕皟鎵�鍦ㄨ
-                                    if (j == 0) {
-                                        //绗竴鍒�
-                                        textRenderData.setText(index + "鈭�1" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 1) {
-                                        //绗簩鍒�
-                                        textRenderData.setText("浜掕皟鈭�2" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 2) {
-                                        //绗笁鍒�
-                                        textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 3) {
-                                        //绗洓鍒�
-                                        textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 4) {
-                                        //绗簲鍒�
-                                        if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
-                                            textRenderData.setText("瑙掑害");
-                                        } else {
-                                            textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)]);
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == bb - 1) {
-                                        //鏈�鍚庝竴鍒�
-                                        if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
-                                            textRenderData.setText("/");
-                                        } else {
-                                            if (products.get(0).getInsResult() == 1) {
-                                                textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
-                                            } else if (products.get(0).getInsResult() == 0) {
-                                                textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
-                                            } else {
-                                                textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) + (angles - 1)) / (angles + 1) - 1));
-                                            }
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else {
-                                        if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
-                                            textRenderData.setText(result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 1)).getOften() + "鈭�6" + i + index);
-                                        } else {
-                                            String[] value = result2s.get((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) / portRow / (angles + 2)).getValue().split("\\],\\[");
-                                            String[] split = value[(i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 2) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
-                                            try {
-                                                textRenderData.setText(split[((j - 5) + ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) - 1) / (angles + 1) % portRow) * (Math.min(ports, 8)))]);
-                                            } catch (Exception e) {
-                                                textRenderData.setText("");
-                                            }
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    }
-                                }
-                            } else {
-                                //鐢佃皟鐗堟湰(澶嶆潅鐗�)
-                                if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= (angles + 1) * portRow) {
-                                    cc = (angles + 1) * portRow;
-                                    if (itemSet.add("鐢靛帇椹绘尝姣�")) {
-                                        index.getAndIncrement();
-                                    }
-                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鐢靛帇椹绘尝姣�")).collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
-                                    //鐢靛帇椹绘尝姣旀墍鍦ㄨ
-                                    if (j == 0) {
-                                        //绗竴鍒�
-                                        textRenderData.setText(index + "鈭�1" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 1) {
-                                        //绗簩鍒�
-                                        textRenderData.setText("鐢靛帇椹绘尝姣斺垜2" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 2) {
-                                        //绗笁鍒�
-                                        textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 3) {
-                                        //绗洓鍒�
-                                        textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    } else if (j == 4) {
-                                        //绗簲鍒�
-                                        if (i % (angles + 1) == 1) {
+                                        if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
                                             //绔彛
                                             textRenderData.setText("绔彛");
                                         } else {
@@ -671,16 +903,16 @@
                                         cells.add(cellRenderData);
                                     } else if (j == bb - 1) {
                                         //鏈�鍚庝竴鍒�
-                                        if (i % (angles + 1) == 1) {
+                                        if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
                                             textRenderData.setText("/");
                                         } else {
                                             //缁撹
                                             if (products.get(0).getInsResult() == 1) {
-                                                textRenderData.setText("鍚堟牸鈭�8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                                textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
                                             } else if (products.get(0).getInsResult() == 0) {
-                                                textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                                textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
                                             } else {
-                                                textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i + (angles - 1)) / (angles + 1) - 1));
+                                                textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
                                             }
                                         }
                                         renderData.add(textRenderData);
@@ -689,234 +921,6 @@
                                         cellRenderData.setParagraphs(paragraphRenderDataList);
                                         cells.add(cellRenderData);
                                     } else {
-                                        //鍏朵綑鍒�
-                                        if (i % (angles + 1) == 1) {
-                                            //绔彛
-                                            try {
-                                                textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) + (i / (angles + 1)) * (Math.min(ports, 8))]);
-                                            } catch (Exception e) {
-                                                textRenderData.setText("");
-                                            }
-                                        } else {
-                                            //鏈�宸��
-                                            String[] value = result2s.get(0).getValue().split("\\],\\[");
-                                            String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
-                                            try {
-                                                textRenderData.setText(split[(j - 5) + ((i + (angles - 1)) / (angles + 1) - 1) * (Math.min(ports, 8))]);
-                                            } catch (Exception e) {
-                                                textRenderData.setText("");
-                                            }
-                                        }
-                                        renderData.add(textRenderData);
-                                        paragraphRenderData.setContents(renderData);
-                                        paragraphRenderDataList.add(paragraphRenderData);
-                                        cellRenderData.setParagraphs(paragraphRenderDataList);
-                                        cells.add(cellRenderData);
-                                    }
-                                }
-                                if (inspectionItemSubclass.contains("鍚屾瀬鍖栭殧绂诲害")) {
-                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("鍚屾瀬鍖栭殧绂诲害")).collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
-                                    int length = result2s.get(0).getPort().split(",").length;
-                                    int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
-                                    int k = (angles + 1) * portRow2;
-                                    if (i > cc && i <= cc + k) {
-                                        dd = cc + k;
-                                        if (itemSet.add("鍚屾瀬鍖栭殧绂诲害")) {
-                                            index.getAndIncrement();
-                                        }
-                                        //鍚屾瀬鍖栭殧绂诲害鎵�鍦ㄨ
-                                        if (j == 0) {
-                                            //绗竴鍒�
-                                            textRenderData.setText(index + "鈭�1" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 1) {
-                                            //绗簩鍒�
-                                            textRenderData.setText("鍚屾瀬鍖栭殧绂诲害鈭�2" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 2) {
-                                            //绗笁鍒�
-                                            textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 3) {
-                                            //绗洓鍒�
-                                            textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 4) {
-                                            //绗簲鍒�
-                                            if ((i - cc) % (angles + 1) == 1) {
-                                                //绔彛
-                                                textRenderData.setText("绔彛");
-                                            } else {
-                                                //瑙掑害
-                                                textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
-                                            }
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == bb - 1) {
-                                            //鏈�鍚庝竴鍒�
-                                            if ((i - cc) % (angles + 1) == 1) {
-                                                textRenderData.setText("/");
-                                            } else {
-                                                //缁撹
-                                                if (products.get(0).getInsResult() == 1) {
-                                                    textRenderData.setText("鍚堟牸鈭�8" + index + ((i - cc) / (angles + 2)));
-                                                } else if (products.get(0).getInsResult() == 0) {
-                                                    textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - cc) / (angles + 2)));
-                                                } else {
-                                                    textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - cc) / (angles + 2)));
-                                                }
-                                            }
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else {
-                                            //鍏朵綑鍒�
-                                            if ((i - cc) % (angles + 1) == 1) {
-                                                //绔彛
-                                                if (j % 2 == 0) {
-                                                    try {
-                                                        textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 6) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6));
-                                                    } catch (Exception e) {
-                                                        textRenderData.setText("");
-                                                    }
-                                                } else {
-                                                    try {
-                                                        textRenderData.setText(result2s.get(0).getPort().split(",")[(j - 5) / 2 + ((i - cc) / (angles + 1)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5));
-                                                    } catch (Exception e) {
-                                                        textRenderData.setText("");
-                                                    }
-                                                }
-
-                                            } else {
-                                                //鏈�宸��
-                                                String[] value = result2s.get(0).getValue().split("\\],\\[");
-                                                String[] split = value[(i + (angles - 1)) % (angles + 1)].replaceAll("[\\[\\]\"]", "").split(",");
-                                                if (j % 2 == 0) {
-                                                    try {
-                                                        textRenderData.setText(split[(j - 6) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 6));
-                                                    } catch (Exception e) {
-                                                        textRenderData.setText("");
-                                                    }
-                                                } else {
-                                                    try {
-                                                        textRenderData.setText(split[(j - 5) / 2 + ((i - cc) / (angles + 2)) * (ports > 8 ? 4 : (ports + 1) / 2)] + "鈭�5" + i + (j - 5));
-                                                    } catch (Exception e) {
-                                                        textRenderData.setText("");
-                                                    }
-                                                }
-                                            }
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        }
-                                    }
-                                }
-                                if (inspectionItemSubclass.contains("寮傛瀬鍖栭殧绂诲害")) {
-                                    List<InsProduct> products = insProducts.stream().filter(insProduct -> insProduct.getInspectionItemSubclass().equals("寮傛瀬鍖栭殧绂诲害")).collect(Collectors.toList());
-                                    List<InsProductResult2> result2s = insProductResult2s.stream()
-                                            .filter(insProductResult2 -> insProductResult2.getFrequency().equals(s) && insProductResult2.getInsProductId().equals(products.get(0).getId()))
-                                            .collect(Collectors.toList());
-                                    int length = result2s.get(0).getPort().split(",").length;
-                                    int portRow2 = (length % (ports > 8 ? 4 : (ports + 1) / 2) == 0 ? length / (ports > 8 ? 4 : (ports + 1) / 2) : length / (ports > 8 ? 4 : (ports + 1) / 2) + 1);
-                                    int k = (angles + 1) * portRow2;
-                                    if (i > (dd == 0 ? cc : dd) && i <= (dd == 0 ? cc : dd) + k) {
-                                        ee = (dd == 0 ? cc : dd) + k;
-                                        if (itemSet.add("寮傛瀬鍖栭殧绂诲害")) {
-                                            index.getAndIncrement();
-                                        }
-                                        //寮傛瀬鍖栭殧绂诲害鎵�鍦ㄨ
-                                        if (j == 0) {
-                                            //绗竴鍒�
-                                            textRenderData.setText(index + "鈭�1" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 1) {
-                                            //绗簩鍒�
-                                            textRenderData.setText("寮傛瀬鍖栭殧绂诲害鈭�2" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 2) {
-                                            //绗笁鍒�
-                                            textRenderData.setText(products.get(0).getUnit() + "鈭�3" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 3) {
-                                            //绗洓鍒�
-                                            textRenderData.setText(products.get(0).getAsk() + "鈭�4" + index);
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == 4) {
-                                            //绗簲鍒�
-                                            if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
-                                                //绔彛
-                                                textRenderData.setText("绔彛");
-                                            } else {
-                                                //瑙掑害
-                                                textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
-                                            }
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else if (j == bb - 1) {
-                                            //鏈�鍚庝竴鍒�
-                                            if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
-                                                textRenderData.setText("/");
-                                            } else {
-                                                //缁撹
-                                                if (products.get(0).getInsResult() == 1) {
-                                                    textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
-                                                } else if (products.get(0).getInsResult() == 0) {
-                                                    textRenderData.setText("涓嶅悎鏍尖垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
-                                                } else {
-                                                    textRenderData.setText("涓嶅垽瀹氣垜8" + index + ((i - (dd == 0 ? cc : dd)) / (angles + 2)));
-                                                }
-                                            }
-                                            renderData.add(textRenderData);
-                                            paragraphRenderData.setContents(renderData);
-                                            paragraphRenderDataList.add(paragraphRenderData);
-                                            cellRenderData.setParagraphs(paragraphRenderDataList);
-                                            cells.add(cellRenderData);
-                                        } else {
                                             //鍏朵綑鍒�
                                             if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
                                                 //绔彛
@@ -1486,8 +1490,6 @@
                 tables.add(table);
                 lable.getAndIncrement();
             });
-        });
-
         ZipSecureFile.setMinInflateRatio(0.0001);
         InputStream inputStream = this.getClass().getResourceAsStream("/static/word1.docx");
 
@@ -1498,14 +1500,15 @@
                     put("title", title);
                     put("tables", tables);
                 }});
-        String name = insOrder.getEntrustCode().replace("/", "") + "-" + title + ".docx";
+        String name = insOrder.getEntrustCode().replace("/", "") + "-" +insSample.getSampleCode()+"-"+ title + ".docx";
+        String url = UUID.randomUUID() + "_" + name;
         try {
-            template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
+            template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + url)));
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
         // 澶勭悊鍚堝苟鍗曞厓鏍肩殑闂
-        String path = wordUrl + "/" + name;
+        String path = wordUrl + "/" + url;
         try {
             ZipSecureFile.setMinInflateRatio(0.0001);
             FileInputStream stream = new FileInputStream(path);
@@ -1581,27 +1584,27 @@
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-
         InsOrderFile insOrderFile = new InsOrderFile();
         insOrderFile.setInsOrderId(insOrderState.getInsOrderId());
+        insOrderFile.setInsSampleId(insOrderState.getInsSampleId());
         insOrderFile.setFileName(name);
         insOrderFile.setType(2);
-        insOrderFile.setFileUrl(name);
+        insOrderFile.setFileUrl(url);
         insOrderFile.setSonLaboratory("鐢佃矾璇曢獙");
         insOrderFileMapper.insert(insOrderFile);
     }
 
     //鐢熸垚鎬绘姤鍛�
-    public void generateReport(Integer orderId, List<InsReportDto1> insReportDto1s) {
+    public void generateReport(Integer orderId, InsReportDto1 insReportDto1) {
         LocalDateTime now = LocalDateTime.now();
         InsOrder insOrder = insOrderMapper.selectById(orderId);
         //濮旀墭閮ㄩ棬 departLims
         String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser());
-        //samples鏄繃婊ゆ帀娌℃湁妫�楠岄」鐩殑鏍峰搧
-        List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
-        String sampleCode = samples.get(0).getSampleCode();
+        SampleProductDto insSample = insSampleMapper.selectSampleProductListByOrderId(insReportDto1.getSampleId());
+        String sampleCode = insSample.getSampleCode();
         InsReport insReport = new InsReport();
-        insReport.setCode(insOrder.getEntrustCode().replace("WT", "TXJC"));
+        insReport.setCode(giveCode.giveCode("TXJC-", "ins_report", "-", "yyMMdd"));
+        insReport.setInsSampleId(insSample.getId());
         insReport.setInsOrderId(orderId);
         Set<String> standardMethod = new HashSet<>();
         Set<String> deviceSet = new HashSet<>();
@@ -1612,7 +1615,7 @@
         AtomicReference<Integer> productSize2 = new AtomicReference<>(0);
         AtomicReference<Integer> productSize3 = new AtomicReference<>(0);
         String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
-        samples.forEach(s -> {
+        SampleProductDto s=insSample;
             models.add(s.getModel());
             standardMethod.addAll(standardMethodListMapper.selectList(Wrappers.<StandardMethodList>lambdaQuery()
                     .in(StandardMethodList::getId, Arrays.stream(s.getStandardMethodListId().replaceAll("[\\[\\]]", "").split(","))
@@ -1649,13 +1652,13 @@
                         .collect(Collectors.toSet());
                 labToDeviceMap.put(entry.getKey(), productIds);
             }
-            for (InsReportDto1 insReportDto1 : insReportDto1s) {
-                String laboratory = insReportDto1.getLaboratory();
+            for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
+                String laboratory = insReportDto2.getLaboratory();
                 if (!labToDeviceMap.containsKey(laboratory)) {
                     continue;
                 }
                 Set<Integer> productIds = labToDeviceMap.get(laboratory);
-                Integer num = insReportDto1.getNum();
+                Integer num = insReportDto2.getNum();
                 //鏅�氳瘯楠岀粨鏋滆〃
                 List<InsProductResult> insProductResults = insProductResultMapper.selectList(
                         Wrappers.<InsProductResult>lambdaQuery()
@@ -1684,7 +1687,7 @@
                     }
                 }
             }
-        });
+
 
         /*妫�楠屾儏鍐典竴瑙堣〃*/
         List<Map<String, String>> tables = new ArrayList<>();
@@ -1693,7 +1696,7 @@
         List<Map<String, Object>> tables4 = new ArrayList<>();
         Integer indexs = 1;
         //鍒ゆ柇鏄惁鏈夌數璺瘯楠�,鐜璇曢獙
-        List<String> strings = insReportDto1s.stream().map(InsReportDto1::getLaboratory).distinct().collect(Collectors.toList());
+        List<String> strings = insReportDto1.getInsReportDto2s().stream().map(InsReportDto2::getLaboratory).distinct().collect(Collectors.toList());
         if (strings.contains("杩戝満") || strings.contains("杩滃満")) {
             Map<String, String> table = new HashMap<>();
             table.put("indexs", indexs + "");
@@ -1704,6 +1707,7 @@
             /*杈愬皠鐨勮瘯楠岃〃*/
             List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
                     .eq(InsOrderFile::getInsOrderId, orderId)
+                    .eq(InsOrderFile::getInsSampleId, insReportDto1.getSampleId())
                     .like(InsOrderFile::getFileName, "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�")
                     .and(wrapper -> wrapper
                             .eq(InsOrderFile::getSonLaboratory, "杩滃満")
@@ -1807,8 +1811,7 @@
             strings.remove("鐢佃矾璇曢獙");
             strings.remove("杩戝満");
             strings.remove("杩滃満");
-            List<Integer> productIdes = samples.stream().flatMap(sampleProductDto ->
-                    sampleProductDto.getInsProduct().stream().map(InsProduct::getId)).collect(Collectors.toList());
+            List<Integer> productIdes = insSample.getInsProduct().stream().map(InsProduct::getId).collect(Collectors.toList());
             List<Integer> collect = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
                     .in(InsProductResult2::getInsProductId, productIdes))
                     .stream().map(InsProductResult2::getResult).distinct().collect(Collectors.toList());
@@ -1843,9 +1846,9 @@
                 indexs += 1;
 
                 /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/
-                List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream()
+                List<InsProduct> products =  insSample.getInsProduct().stream()
                         .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙"))
-                        .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙")))
+                        .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))
                         .map(insProduct -> {
                             InsProduct product = new InsProduct();
                             product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
@@ -1957,13 +1960,12 @@
                 indexs += 1;
             }
             /*鍕鹃�夌殑鐢佃矾璇曢獙琛�*/
-            List<InsSample> insSamples = insSampleMapper.selectSample(orderId);
-            for (InsReportDto1 insReportDto1 : insReportDto1s) {
-                InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto1.getInsOrderUsersId());
+            for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
+                InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto2.getInsOrderUsersId());
                 InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId());
                 if (orderState.getLaboratory().equals("鐢佃矾璇曢獙")) {
                     orderState.setNum(insOrderUser.getNum());
-                    getWord1(insOrderUser.getTerm(), orderState, insSamples, tables2);
+                    getWord1(insOrderUser.getTerm(), orderState, tables2);
                 }
             }
         }
@@ -1979,9 +1981,9 @@
                 tables.add(table2);
 
                 /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/
-                List<InsProduct> products = samples.stream().flatMap(sampleProductDto -> sampleProductDto.getInsProduct().stream()
+                List<InsProduct> products = insSample.getInsProduct().stream()
                         .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙"))
-                        .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙")))
+                        .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))
                         .map(insProduct -> {
                             InsProduct product = new InsProduct();
                             product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
@@ -2085,8 +2087,8 @@
         ZipSecureFile.setMinInflateRatio(0.0001);
         InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
         StringBuilder standardMethod2 = new StringBuilder();
-        for (String s : standardMethod) {
-            standardMethod2.append("锛沑n").append(s);
+        for (String s1 : standardMethod) {
+            standardMethod2.append("锛沑n").append(s1);
         }
         standardMethod2.append("锛沑n").append("GB/T 9410-2008 銆婄Щ鍔ㄩ�氫俊澶╃嚎閫氱敤鎶�鏈鑼冦��");
         standardMethod2.replace(0, 1, "");
@@ -2096,8 +2098,8 @@
         }
         Map<String, String> codeStr = new HashMap<>();
         codeStr.put("鎶ュ憡缂栧彿", insReport.getCode());
-        codeStr.put("鏍峰搧鍚嶇О", insOrder.getSample());
-        codeStr.put("瑙勬牸鍨嬪彿", samples.get(0).getModel());
+        codeStr.put("鏍峰搧鍚嶇О", insSample.getSample());
+        codeStr.put("瑙勬牸鍨嬪彿", insSample.getModel());
         codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
         String codePath;
         try {
@@ -2119,7 +2121,7 @@
         List<Map<String, String>> finalDeviceList = deviceList;
         List<Map<String, String>> sampleList = insSampleMapper.selectSampleList(orderId);
         Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery()
-                .eq(InsSampleUser::getInsSampleId, orderId).last("limit 1")).getUserId();
+                .eq(InsSampleUser::getInsSampleId, insReportDto1.getSampleId()).last("limit 1")).getUserId();
         String signatureUrl;
         try {
             signatureUrl = userMapper.selectById(userId).getSignatureUrl();
@@ -2151,11 +2153,12 @@
             insOrder.setPhone("/");
         }
         //妫�楠岄」鐩殑鐜
-        InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).eq(InsProduct::getInsSampleId, samples.get(0).getId())).get(0);
+        InsProduct insProduct = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getState, 1)
+                .eq(InsProduct::getInsSampleId, insReportDto1.getSampleId())).get(0);
         String environment = "";
         environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
         String finalEnvironment = environment;
-        List<SampleProductDto> finalSamples = samples;
         String title3 = "";
         if (tables3.size() > 0) {
             title3 = "杈愬皠鏂瑰悜鍥惧弬鏁�";
@@ -2169,7 +2172,7 @@
                     put("sampleCode", sampleCode);
                     put("environment", finalEnvironment);
                     put("custom", custom);
-                    put("sampleSize", finalSamples.size());
+                    put("sampleSize", "1");
                     put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
                     put("deviceList", finalDeviceList);
                     put("tables", tables);
@@ -2323,11 +2326,12 @@
 
 
     //鐢佃矾鎶ュ憡鐢ㄤ簬鎬绘姤鍛婄殑鏂规硶
-    private void getWord1(String term, InsOrderState insOrderState, List<InsSample> insSamples, List<Map<String, Object>> tables2) {
+    private void getWord1(String term, InsOrderState insOrderState,List<Map<String, Object>> tables2) {
         AtomicInteger lable = new AtomicInteger(1);
         AtomicInteger index = new AtomicInteger();
         String title = term + "鐢佃矾鍙傛暟";
-        insSamples.forEach(insSample -> {
+        InsSample insSample = insSampleMapper.selectById(insOrderState.getInsSampleId());
+
             //鏌ヨ椤圭洰
             List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                     .eq(InsProduct::getInsSampleId, insSample.getId())
@@ -3715,7 +3719,6 @@
                 tables2.add(table2);
                 lable.getAndIncrement();
             });
-        });
     }
 
     // 姘村钩鍚堝苟鍗曞厓鏍�
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
index e7f5a61..97748fe 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanTaskSwitchVo.java
@@ -11,6 +11,7 @@
     @ValueTableShow(value = 1,name = "濮旀墭缂栧彿")
     private String entrustCode;
 
+
     @ValueTableShow(value = 2,name = "妫�楠屽璞�")
     private String sampleType;
 
@@ -36,5 +37,7 @@
 
     private Integer orderUserId;
 
+    private Integer sampleId;
+
     private Integer verifyUser;
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index fbb62e6..3281af3 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -52,6 +52,8 @@
 
     private Integer orderUserId;
 
+    private Integer sampleId;
+
     private Integer verifyUser;
 
     private Integer orderStateId;
diff --git a/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml
index 2699fcf..b9648dc 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderFileMapper.xml
@@ -5,6 +5,7 @@
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderFile">
         <id column="id" property="id"/>
         <result column="ins_order_id" property="insOrderId"/>
+        <result property="insSampleId" column="ins_sample_id" />
         <result column="type" property="type"/>
         <result column="file_url" property="fileUrl"/>
         <result column="file_name" property="fileName"/>
@@ -24,6 +25,10 @@
             and (son_laboratory=#{sonLaboratory}
             or son_laboratory is null)
         </if>
+        <if test="sampleId!=null and sampleId!=''">
+            and (ins_sample_id=#{sampleId}
+            or ins_sample_id is null)
+        </if>
         ) A
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
index bd6daf3..42a523e 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
@@ -6,6 +6,7 @@
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderState">
         <id property="id" column="idd" jdbcType="INTEGER"/>
         <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
+        <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
         <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
         <result property="sort" column="sort" jdbcType="INTEGER"/>
@@ -28,10 +29,11 @@
         <result column="tell" property="tell"/>
     </resultMap>
     <select id="getInsOrderStateCount" resultMap="BaseResultMap">
-        select  ios.id idd,laboratory,version, iou.*,name submitUserName
+        select ios.id idd, laboratory, version, iou.*, name submitUserName
         from ins_order_state ios
                  left join ins_order_user iou on ios.id = iou.ins_order_state_id
-            left join user on submit_user=user.id
+                 left join user on submit_user = user.id
         where ios.ins_order_id = #{id}
+          and ios.ins_sample_id = #{sampleId}
     </select>
 </mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsProductMapper.xml b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
index 4a192ed..ec40d61 100644
--- a/inspect-server/src/main/resources/mapper/InsProductMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsProductMapper.xml
@@ -102,8 +102,7 @@
         select COUNT(1)
         from ins_product ip
                  left join ins_sample isa on ip.ins_sample_id = isa.id
-                 left join ins_order io on isa.ins_order_id = io.id
-        where io.id = #{orderId}
+        where isa.id = #{sampleId}
           and (ip.ins_result is null or ip.ins_result = 2)
           and ip.state = 1
     </select>
diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
index 3b0ce06..26244f4 100644
--- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -3,47 +3,46 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yuanchu.mom.mapper.InsReportMapper">
-
     <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsReport">
-            <id property="id" column="id" jdbcType="INTEGER"/>
-            <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
-            <result property="url" column="url" jdbcType="VARCHAR"/>
-            <result property="urlS" column="url_s" jdbcType="VARCHAR"/>
-            <result property="isRatify" column="is_ratify" jdbcType="INTEGER"/>
-            <result property="isExamine" column="is_examine" jdbcType="INTEGER"/>
-            <result property="ratifyUserId" column="ratify_user_id" jdbcType="INTEGER"/>
-            <result property="examineUserId" column="examine_user_id" jdbcType="INTEGER"/>
-            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
-            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+        <id property="id" column="id" jdbcType="INTEGER"/>
+        <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
+        <result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
+        <result property="url" column="url" jdbcType="VARCHAR"/>
+        <result property="urlS" column="url_s" jdbcType="VARCHAR"/>
+        <result property="isRatify" column="is_ratify" jdbcType="INTEGER"/>
+        <result property="isExamine" column="is_examine" jdbcType="INTEGER"/>
+        <result property="ratifyUserId" column="ratify_user_id" jdbcType="INTEGER"/>
+        <result property="examineUserId" column="examine_user_id" jdbcType="INTEGER"/>
+        <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+        <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <select id="pageInsReport" resultType="com.yuanchu.mom.dto.ReportPageDto">
         select *
         from (
         select
-        ir.*,io.entrust_code,u.name write_user_name,u1.name ratify_user,u2.name examine_user,io.laboratory,l.id labId
+        ir.*,io.entrust_code,sample_code,u.name write_user_name,u1.name ratify_user,u2.name
+        examine_user,io.laboratory,l.id labId
         from ins_report ir
         left join ins_order io on io.id = ir.ins_order_id
+        left join ins_sample isa on isa.id = ir.ins_sample_id
         left join user u on u.id = ir.write_user_id
         left join user u1 on u1.id = ir.ratify_user_id
         left join user u2 on u2.id = ir.examine_user_id
         left join laboratory l on io.laboratory=laboratory_name
-        where 1=1
-        <if test="laboratory!=null and laboratory!=''">
-           and  laboratory=#{laboratory}
-        </if>
         ) a
         <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
             ${ew.customSqlSegment}
         </if>
     </select>
     <select id="getLaboratoryByName" resultType="java.lang.String">
-        select s.address from seal s
-        left join laboratory l on s.lab_id = l.id
+        select s.address
+        from seal s
+                 left join laboratory l on s.lab_id = l.id
         where l.laboratory_name = #{name}
-        and s.type = '鎶ュ憡绫诲瀷'
+          and s.type = '鎶ュ憡绫诲瀷'
         order by s.create_time desc
         limit 1
     </select>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 046862e..a69516e 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -34,13 +34,16 @@
         verify_user,
         ios.id orderStateId,
         ios.create_time,
-        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory ORDER BY ins_time DESC LIMIT 1) AS ins_time ,
+        (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory and
+        ins_order_state.ins_sample_id=a.sampleId ORDER BY ins_time DESC LIMIT 1) AS ins_time ,
         iou.submit_time ,
         ios.sort,
         sort_time,
         version,
         ios.num-1 num1
         FROM
+        ins_order_state ios
+        LEFT JOIN
         (
         SELECT
         io.id,
@@ -48,8 +51,9 @@
         io.type,
         io.appointed,
         io.send_time,
-        group_concat(distinct isa.sample,' ') sample,
-        group_concat(distinct isa.sample_code,' ') sampleCode,
+        isa.id sampleId,
+        isa.sample sample,
+        isa.sample_code sampleCode,
         userName,
         checkName,
         ip.son_laboratory,
@@ -64,7 +68,7 @@
         and u.state=0
         GROUP BY ins_sample_id
         ORDER BY ins_sample_id
-        ) isu ON isu.ins_sample_id = io.id
+        ) isu ON isu.ins_sample_id = isa.id
         LEFT JOIN (
         SELECT ins_sample_id,uu.name checkName
         FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
@@ -72,7 +76,7 @@
         and u.state=1
         GROUP BY ins_sample_id
         ORDER BY ins_sample_id
-        )isu2 ON isu2.ins_sample_id = io.id
+        )isu2 ON isu2.ins_sample_id = isa.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
         WHERE io.state = 1 and send_time is not null
         <if test="userName !=null and userName!=''">
@@ -84,7 +88,7 @@
         ip.son_laboratory,
         io.id
         ) a
-        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
+        ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and ios.ins_sample_id=a.sampleId
         LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num
         ORDER BY
         ios.sort,
@@ -106,8 +110,10 @@
     <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo">
         select * from(
         SELECT
-        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user
+        a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user
         FROM
+        ins_order_state ios
+        LEFT JOIN
         (
         SELECT
         io.id,
@@ -115,8 +121,9 @@
         io.type,
         io.appointed,
         io.send_time,
-        group_concat(distinct isa.sample,' ') sampleType,
-        group_concat(distinct isa.sample_code,' ') sampleCode,
+        isa.id sampleId,
+        isa.sample sampleType,
+        isa.sample_code sampleCode,
         isu.user_id,
         user.name userName,
         ip.son_laboratory,
@@ -125,7 +132,7 @@
         FROM
         ins_order io
         LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
-        LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id -->
+        LEFT JOIN (
         SELECT *
         FROM ins_sample_user u
         WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN (
@@ -135,12 +142,11 @@
         GROUP BY ins_sample_id
         )
         ORDER BY ins_sample_id, id
-        ) isu ON isu.ins_sample_id = io.id
+        ) isu ON isu.ins_sample_id = isa.id
         LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id
         LEFT JOIN user ON isu.user_id = user.id
         WHERE
         io.state = 1
-        -- # AND io.ins_state != 5
         and send_time is not null
         <if test="userId !=null and userId!=''">
             and (isu.user_id = #{userId} OR isu.user_id is NULL )
@@ -150,21 +156,21 @@
         ip.son_laboratory,
         io.id
         ) a
-        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
-        left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
+          ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and a.sampleId=ios.ins_sample_id
+        left join
+        (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM
         ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id
         <if test="userId !=null and userId!=''">
             and user_id = #{userId} OR user_id is NULL
         </if>
         OR user_id is NULL
         ) isu2 on
-        isu2.ins_sample_id = a.id
+        isu2.ins_sample_id = a.sampleId
         where ins_state is not null
         <if test="laboratory != null and laboratory != ''">
             and a.laboratory=#{laboratory}
         </if>
         ORDER BY
-        <!--a.user_id DESC,-->
         a.type DESC,
         a.id
         ) b
@@ -215,7 +221,7 @@
                ip.method_s
         from ins_sample isa
                  left join ins_product ip on isa.id = ip.ins_sample_id
-        where isa.ins_order_id = #{id}
+        where isa.id = #{id}
           and state = 1
           and isa.id in (select id1
                          from (select is2.id id1, ip.id
@@ -266,7 +272,7 @@
                `last_value`,
                ip.ins_result    ip_ins_result,
                state,
-               ins_sample_id,
+               ios.ins_sample_id,
                ip.create_user   ip_create_user,
                ip.update_user   ip_update_user,
                ip.create_time   ip_create_time,
@@ -292,11 +298,11 @@
                ip.temperature,
                ip.humidity
         from ins_sample isa
-                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_order_state ios on isa.id = ios.ins_sample_id
                  left join ins_product ip on isa.id = ip.ins_sample_id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
-        where isa.ins_order_id = #{id}
+        where isa.id = #{sampleId}
           and state = 1
           and ip.son_laboratory = #{laboratory}
           and ios.laboratory = #{laboratory}
@@ -336,7 +342,7 @@
                `last_value`,
                ip.ins_result    ip_ins_result,
                state,
-               ins_sample_id,
+               ios.ins_sample_id,
                ip.create_user   ip_create_user,
                ip.update_user   ip_update_user,
                ip.create_time   ip_create_time,
@@ -362,11 +368,11 @@
                ip.temperature,
                ip.humidity
         from ins_sample isa
-                 left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id
+                 left join ins_order_state ios on isa.id = ios.ins_sample_id
                  left join ins_product ip on isa.id = ip.ins_sample_id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
-        where isa.ins_order_id = #{id}
+        where isa.id = #{sampleId}
           and state = 1
           and ip.son_laboratory = #{laboratory}
           and ios.laboratory = #{laboratory}
@@ -591,7 +597,7 @@
                `last_value`,
                ip.ins_result    ip_ins_result,
                state,
-               ins_sample_id,
+               ios.ins_sample_id,
                ip.create_user   ip_create_user,
                ip.update_user   ip_update_user,
                ip.create_time   ip_create_time,
@@ -616,10 +622,10 @@
                ip.dic
         from ins_product ip
                  left join ins_sample isa on ip.ins_sample_id = isa.id
-                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
-        where ins_sample_id = #{id}
+        where ios.ins_sample_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}
           and ip.standard_method_list_id is not null
@@ -659,7 +665,7 @@
                `last_value`,
                ip.ins_result    ip_ins_result,
                state,
-               ins_sample_id,
+               ios.ins_sample_id,
                ip.create_user   ip_create_user,
                ip.update_user   ip_update_user,
                ip.create_time   ip_create_time,
@@ -684,10 +690,10 @@
                ip.dic
         from ins_product ip
                  left join ins_sample isa on ip.ins_sample_id = isa.id
-                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
-        where ins_sample_id = #{id}
+        where ios.ins_sample_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}
           and ip.standard_method_list_id is not null
@@ -725,7 +731,7 @@
                `last_value`,
                ip.ins_result    ip_ins_result,
                state,
-               ins_sample_id,
+               ios.ins_sample_id,
                ip.create_user   ip_create_user,
                ip.update_user   ip_update_user,
                ip.create_time   ip_create_time,
@@ -750,10 +756,10 @@
                ip.dic
         from ins_product ip
                  left join ins_sample isa on ip.ins_sample_id = isa.id
-                 left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id
+                 left join ins_order_state ios on ios.ins_sample_id = isa.id
                  left join ins_product_result ipr on ip.id = ipr.ins_product_id
                  left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id
-        where ins_sample_id = #{id}
+        where ios.ins_sample_id = #{id}
           and state = 1
           and ip.son_laboratory = #{laboratory}
           and ip.standard_method_list_id is not null
@@ -858,8 +864,8 @@
         <result property="insState" column="ins_state" jdbcType="INTEGER"/>
         <result property="joinNum" column="join_num" jdbcType="INTEGER"/>
         <result property="remark" column="remark" jdbcType="VARCHAR"/>
-        <result property="issueTime" column="issue_time" />
-        <result property="issueName" column="issueName" />
+        <result property="issueTime" column="issue_time"/>
+        <result property="issueName" column="issueName"/>
         <result property="createUser" column="create_user" jdbcType="INTEGER"/>
         <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
         <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -941,7 +947,7 @@
     </select>
     <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample">
         select isa.*,
-        case when entrust_code is null then out_entrust_code else entrust_code end as  entrust_code
+        case when entrust_code is null then out_entrust_code else entrust_code end as entrust_code
         from ins_sample isa
         left join ins_order io on isa.ins_order_id = io.id
         where ins_order_id in
@@ -956,9 +962,5 @@
         where son_laboratory = '鐢佃矾璇曢獙'
           and state = 1
           and ins_order_id = #{insOrderId}
-    </select>
-    <select id="selectList1" resultType="com.yuanchu.mom.dto.SampleProductDto">
-        select * from ins_sample where ins_order_id=#{id
-}
     </select>
 </mapper>

--
Gitblit v1.9.3