From df13f27e9cae2d7b112ef0dda85cba456ecef32b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 26 二月 2025 16:45:09 +0800
Subject: [PATCH] 远场和近场的数据解析的单位和指标需要重新对应+报告生成放在复核结束里面

---
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java       |    2 
 inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java                      |    6 +
 inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml                        |   22 +++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java    |   11 ++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   31 +++++--
 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java                     |  153 +++++++++++++++++++++-----------------
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java            |    4 +
 7 files changed, 149 insertions(+), 80 deletions(-)

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 5ea7804..21052cc 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
@@ -150,6 +150,7 @@
         return Result.success(insReportService.upAll(file));
     }
 
+    //鍙栨秷2.26
     @ValueAuth
     @ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐圭殑妫�楠屾鏁�")
     @GetMapping("/getInsOrderStateCount")
@@ -157,6 +158,7 @@
         return Result.success(insReportService.getInsOrderStateCount(id));
     }
 
+    //鍙栨秷2.26
     @ValueClassify("鎶ュ憡缂栧埗")
     @ApiOperation(value = "鍒ゆ柇鏄惁鐢熸垚鎬绘姤鍛�")
     @PostMapping("/isReport")
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
index 69e16fe..0a37613 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.InsOrderUserDto;
+import com.yuanchu.mom.dto.InsReportDto1;
 import com.yuanchu.mom.pojo.InsOrderUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -26,4 +27,7 @@
     IPage<InsOrderUserDto> selectInsOrderUserDto(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("sonLaboratory") String sonLaboratory, Page page);
 
     IPage<InsOrderUserDto> selectInsOrderUserDto2(@Param("ids") List<Integer> ids, Page page);
+
+    //鏍规嵁璁㈠崟id鏌ヨ鍑洪渶瑕佺敓鎴愭姤鍛婄殑鎵�鏈夋牱鍝佺殑鎵�鏈夋暟鎹�
+    List<InsReportDto1> selectInsReportDto1(@Param("id") 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 60c0617..7c62c92 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
@@ -979,7 +979,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
+    public int verifyPlan(Integer sampleId, String laboratory, Integer type, String tell)  {
         LocalDateTime now = LocalDateTime.now();
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         List<InsUnPass> insUnPasses = new ArrayList<>();
@@ -1069,8 +1069,9 @@
 
                         }
                     }
-                    insOrder.setState(4);
-                    insOrderMapper.updateById(insOrder);
+                    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+                    List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+                    createReport(insOrder.getId(),insReportDto1s);
                     break;
             }
         }
@@ -1079,7 +1080,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) throws IOException {
+    public int verifyPlan2(Integer sampleId, String laboratory, Integer type, String tell) {
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         InsSample insSample = insSampleMapper.selectById(sampleId);
         InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
@@ -1103,7 +1104,6 @@
                             .set(InsOrderState::getVerifyUser, userId)
                             .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
                             .set(InsOrderState::getCreateTime, LocalDateTime.now()));
-                    insOrder.setState(1);
                     break;
                 case 1:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1126,7 +1126,6 @@
                                 .set(InsOrderState::getVerifyTell, tell)
                                 .set(InsOrderState::getVerifyUser, userId));
                     }
-                    insOrder.setState(1);
                     break;
                 case 2:
                     //缁撴潫璇曢獙:姝ゅ鎵樺崟鍋滄璇曢獙(鏃犳硶鍐嶆妫�楠�)銆�
@@ -1155,17 +1154,31 @@
                         try{
                             outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
                         }catch (Exception e){
-
                         }
                     }
-                    insOrder.setState(4);
+                    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+                    List<InsReportDto1> insReportDto1s=insOrderUserMapper.selectInsReportDto1(insOrder.getId());
+                    createReport(insOrder.getId(),insReportDto1s);
                     break;
             }
-            insOrderMapper.updateById(insOrder);
         }
         return 1;
     }
 
+
+    /*鐢熸垚瀵瑰簲鐨勬楠屾姤鍛�*/
+    private void createReport(Integer orderId,List<InsReportDto1> insReportDto1s){
+        for (InsReportDto1 insReportDto1 : insReportDto1s) {
+            if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())){
+                try{
+                    wordUtils.generateReport(orderId, insReportDto1);
+                }catch (Exception e){
+                    throw new ErrorException("鎶ュ憡鏍煎紡鐢熸垚鏈夎,璇疯仈绯荤鐞嗗憳!");
+                }
+            }
+        }
+    }
+
     private void getTemplateThing
             (Set<Integer> set, Map<Integer, String> map2, List<InsProduct> insProducts) {
         for (InsProduct product : insProducts) {
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 ca5212b..4451297 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
@@ -230,6 +230,7 @@
             insReport.setState(0);//鎻愪氦鐘舵�佹敼涓哄緟鎻愪氦
             return insReportMapper.updateById(insReport);
         }
+        insReportMapper.updateById(insReport);
         //鑾峰彇鎵瑰噯浜虹殑绛惧悕鍦板潃
         String signatureUrl;
         try {
@@ -252,7 +253,15 @@
         ProcessReport processReport = new ProcessReport();
         processReport.setInsReportCode(insReport.getCode());
         processReportMapper.insert(processReport);
-        return insReportMapper.updateById(insReport);
+        /*妫�楠屽崟缁撴潫*/
+        List<InsReport> insReports = insReportMapper.selectList(Wrappers.<InsReport>lambdaQuery().eq(InsReport::getInsOrderId, insReport.getInsOrderId()));
+        List<Integer> list = insReports.stream().map(InsReport::getIsRatify).distinct().collect(Collectors.toList());
+        if (list.size()==1 && list.contains(1)){
+            InsOrder insOrder = insOrderMapper.selectById(insReport.getInsOrderId());
+            insOrder.setState(4);
+            insOrderMapper.updateById(insOrder);
+        }
+        return 0;
     }
 
     @Override
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 c969664..919a9ca 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
@@ -60,6 +60,7 @@
             Exceldata exceldata = new Exceldata();
             Map<Integer, Object> project = new HashMap<>();
             HashMap<String, Object> datas1 = new HashMap<>();
+            HashMap<String, Object> biaozhun = new HashMap<>();
             Boolean exitLoop = false;
             for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
                 String s = "";
@@ -90,13 +91,39 @@
                                     default:
                                         System.out.print("NULL\t");
                                 }
-                            } else {
+                            }
+                            else {
                                 switch (cell.getCellType()) {
                                     case STRING:
                                         if (cell.getColumnIndex() == 1) {
                                             exitLoop = true;
                                             break;
                                         }
+//                                        if (cell.getColumnIndex() == 1) {
+//                                            if (cell.getStringCellValue().equals("鎸囨爣")) {
+//                                                for (Cell cell1 : row) {
+//                                                    switch (cell1.getCellType()) {
+//                                                        case STRING:
+//                                                            biaozhun.put(project.get(cell1.getColumnIndex()).toString(), cell1.getStringCellValue());
+//                                                            break;
+//                                                        case NUMERIC:
+//                                                            System.out.print(cell1.getNumericCellValue() + "\t");
+//                                                            break;
+//                                                        case BOOLEAN:
+//                                                            System.out.print(cell1.getBooleanCellValue() + "\t");
+//                                                            break;
+//                                                        case FORMULA:
+//                                                            System.out.print(cell1.getCellFormula() + "\t");
+//                                                            break;
+//                                                        default:
+//                                                            System.out.print("NULL\t");
+//                                                    }
+//                                                }
+//                                            }else {
+//                                                exitLoop = true;
+//                                            }
+//                                            break;
+//                                        }
                                         if (StringUtils.isNotEmpty(s)) {
                                             datas.put(s, list);
                                         }
@@ -162,7 +189,6 @@
                 }
             }
             System.out.println(map);
-            int size = map.size();
             for (String s1 : map.keySet()) {
                 String o = map.get(s1).toString();
                 List<String> collect = Arrays.stream(o.split(",")).collect(Collectors.toList());
@@ -183,7 +209,7 @@
                 }
             }
             System.out.println(map);
-            createWord(sonLaboratory, document, exceldata, map, insOrderFile);
+            createWord(sonLaboratory, document, exceldata, map, biaozhun, insOrderFile);
         } catch (IOException e) {
             e.printStackTrace();
         } finally {
@@ -255,28 +281,9 @@
                                 default:
                                     System.out.print("NULL\t");
                             }
-                        } else if (row.getRowNum() == 1) {
-
-                            switch (cell.getCellType()) {
-                                case STRING:
-                                    biaozhun.put(project.get(cell.getColumnIndex()).toString(), cell.getStringCellValue());
-                                    break;
-                                case NUMERIC:
-                                    System.out.print(cell.getNumericCellValue() + "\t");
-                                    break;
-                                case BOOLEAN:
-                                    System.out.print(cell.getBooleanCellValue() + "\t");
-                                    break;
-                                case FORMULA:
-                                    System.out.print(cell.getCellFormula() + "\t");
-                                    break;
-                                default:
-                                    System.out.print("NULL\t");
-                            }
-                        } else if (row.getRowNum() > 2) {
-
+                        }
+                        else if (row.getRowNum() > 2) {
                             if (cell.getColumnIndex() == 0 && StringUtils.isNotEmpty(cell.getStringCellValue())) {
-
                                 if (map2.size() != 0) {
                                     map2.put(port, list);
                                     datas1.put(jiaodu, map2);
@@ -320,7 +327,28 @@
                                                 }
 
                                             }
-                                        } else {
+                                        }
+                                        else if (value.equals("鎸囨爣")) {
+                                            for (Cell cell1 : row) {
+                                                switch (cell1.getCellType()) {
+                                                    case STRING:
+                                                        biaozhun.put(project.get(cell1.getColumnIndex()).toString(), cell1.getStringCellValue());
+                                                        break;
+                                                    case NUMERIC:
+                                                        System.out.print(cell1.getNumericCellValue() + "\t");
+                                                        break;
+                                                    case BOOLEAN:
+                                                        System.out.print(cell1.getBooleanCellValue() + "\t");
+                                                        break;
+                                                    case FORMULA:
+                                                        System.out.print(cell1.getCellFormula() + "\t");
+                                                        break;
+                                                    default:
+                                                        System.out.print("NULL\t");
+                                                }
+                                            }
+                                        }
+                                        else {
                                             biaoji = true;
                                         }
                                         break;
@@ -369,7 +397,6 @@
                     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);
@@ -425,7 +452,7 @@
             String[] split = insOrderFile.getFileName().split("\\.");
             String name = insOrderFile.getFileName().replace("#", "&").substring(0, (insOrderFile.getFileName().length() - split[split.length - 1].length()));
             String url = UUID.randomUUID() + "_" + insSample.getSampleCode() + "_" + sonLaboratory + name + "瑙f瀽鐨勮緪灏勭珯鐐规姤鍛�.docx";
-            url=url.replace("#", "&");
+            url = url.replace("#", "&");
             FileOutputStream out = new FileOutputStream(wordUrl + "/" + url);
             document.write(out);
             out.close();
@@ -458,7 +485,7 @@
     }
 
     //杩戝満
-    public void createWord(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, InsOrderFile insOrderFile) throws IOException {
+    public void createWord(String sonLaboratory, XWPFDocument document, Exceldata exceldata, HashMap<String, Object> map, HashMap<String, Object> bz, InsOrderFile insOrderFile) throws IOException {
         int size = 1;
         XWPFParagraph paragraphs = document.createParagraph();
         XWPFRun runs = paragraphs.createRun();
@@ -567,20 +594,26 @@
                 paragraph1.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run1 = paragraph1.createRun();
                 run1.setText(s2);
-                // 璋冪敤鏂规硶鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-                String firstContent = extractFirstContentFromBrackets(s2);
-                if (firstContent != null) {
-                    XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
-                    paragraph2.setAlignment(ParagraphAlignment.CENTER);
-                    XWPFRun run2 = paragraph2.createRun();
-                    run2.setText(firstContent);
+                // 鍗曚綅
+                XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
+                XWPFRun run2 = paragraph2.createRun();
+                if (s2.contains("澧炵泭")) {
+                    run2.setText("dBi");
+                } else if (s2.contains("娉㈢摚瀹藉害") || s2.contains("娉㈡潫瀹藉害") || s2.contains("涓嬪�捐")) {
+                    run2.setText("掳");
+                } else if (s2.contains("鍓嶅悗姣�") || s2.contains("浜ゅ弶鏋佸寲") || s2.contains("鏃佺摚鎶戝埗") || s2.contains("涓嬮檷") || s2.contains("闆剁偣濉厖") || s2.contains("鍓摚鐢靛钩")) {
+                    run2.setText("dB");
+                } else if (s2.contains("鏁堢巼") || s2.contains("鎵囧尯鍗犳瘮")) {
+                    run2.setText("%");
                 } else {
-                    System.out.println("娌℃湁鎵惧埌鎷彿鍐呯殑鍐呭銆�");
+                    run2.setText("");
                 }
                 XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0);
                 paragraph3.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run3 = paragraph3.createRun();
-                run3.setText("/");
+                if (bz.get(s2) != null) {
+                    run3.setText(bz.get(s2).toString());
+                }else run3.setText("");
                 XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0);
                 paragraph4.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run4 = paragraph4.createRun();
@@ -725,8 +758,6 @@
             List<String> collect = Arrays.stream(split).collect(Collectors.toList());
             collect.sort((o1, o21) -> Integer.parseInt(o1.substring((o1.length() - 1))) - Integer.parseInt(o21.substring(o21.length() - 1)));
 
-            int size1 = 0;
-
             List<Map<String, Object>> list = new ArrayList<>();
 
 
@@ -762,14 +793,6 @@
                 XWPFTable table = document.createTable(row, cell);
                 table.setWidth("100%");
 
-
-
-
-
-           /* // 鍚堝苟鍗曞厓鏍�
-            mergeCellsHorizontally(table, 0, 0, 7);*/
-
-
                 //鍨傜洿
                 mergeCellsVertically(table, 0, 0, row - 1);
                 mergeCellsVertically(table, 1, 0, row - 1);
@@ -792,22 +815,28 @@
                 XWPFRun run1 = paragraph1.createRun();
                 run1.setText(s2);
 
-                // 璋冪敤鏂规硶鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-                String firstContent = extractFirstContentFromBrackets(s2);
-                if (firstContent != null) {
-                    XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
-                    XWPFRun run2 = paragraph2.createRun();
-                    run2.setText(firstContent);
+                // 鍗曚綅
+                XWPFParagraph paragraph2 = table.getRow(0).getCell(2).getParagraphArray(0);
+                XWPFRun run2 = paragraph2.createRun();
+                if (s2.contains("澧炵泭")) {
+                    run2.setText("dBi");
+                } else if (s2.contains("娉㈢摚瀹藉害") || s2.contains("娉㈡潫瀹藉害") || s2.contains("涓嬪�捐")) {
+                    run2.setText("掳");
+                } else if (s2.contains("鍓嶅悗姣�") || s2.contains("浜ゅ弶鏋佸寲") || s2.contains("鏃佺摚鎶戝埗") || s2.contains("涓嬮檷") || s2.contains("闆剁偣濉厖") || s2.contains("鍓摚鐢靛钩")) {
+                    run2.setText("dB");
+                } else if (s2.contains("鏁堢巼") || s2.contains("鎵囧尯鍗犳瘮")) {
+                    run2.setText("%");
                 } else {
-                    System.out.println("娌℃湁鎵惧埌鎷彿鍐呯殑鍐呭銆�");
+                    run2.setText("");
                 }
 
 
                 XWPFParagraph paragraph3 = table.getRow(0).getCell(3).getParagraphArray(0);
+                paragraph3.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run3 = paragraph3.createRun();
                 if (bz.get(s2) != null) {
                     run3.setText(bz.get(s2).toString());
-                }
+                }else run3.setText("");
 
 
                 XWPFParagraph paragraph4 = table.getRow(0).getCell(4).getParagraphArray(0);
@@ -815,6 +844,7 @@
                 run4.setText("棰戠巼锛圡Hz锛�");
 
                 XWPFParagraph paragraph5 = table.getRow(0).getCell(5).getParagraphArray(0);
+                paragraph5.setAlignment(ParagraphAlignment.CENTER);
                 XWPFRun run5 = paragraph5.createRun();
                 run5.setText("绔彛");
 
@@ -911,18 +941,5 @@
         }
     }
 
-    // 鎻愬彇绗竴涓嫭鍙峰唴鐨勫唴瀹�
-    public static String extractFirstContentFromBrackets(String str) {
-        // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鍖归厤鎷彿鍐呯殑鍐呭锛屽悓鏃舵敮鎸佷腑鏂囧拰鑻辨枃鎷彿
-        Pattern pattern = Pattern.compile("\\锛�(.*?)\\锛墊\\((.*?)\\)");
-        Matcher matcher = pattern.matcher(str);
-
-        // 鏌ユ壘绗竴涓尮閰嶇殑鍐呭
-        if (matcher.find()) {
-            // 鑾峰彇鎷彿鍐呯殑鍐呭锛屽垽鏂槸涓枃鎷彿杩樻槸鑻辨枃鎷彿
-            return matcher.group(1) != null ? matcher.group(1) : matcher.group(2);
-        }
-        return null; // 濡傛灉娌℃湁鎵惧埌鍖归厤椤癸紝鍒欒繑鍥瀗ull
-    }
 
 }
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 c8b7080..5f1dd3c 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
@@ -2611,7 +2611,8 @@
         Long productCount1 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getInsSampleId, s.getId())
                 .eq(InsProduct::getInsResult, 3));
-        productSize1.set(productSize1.get() + Integer.parseInt(productCount1 + ""));
+//        productSize1.set(productSize1.get() + Integer.parseInt(productCount1 + ""));
+        productSize1.set(productSize1.get() + Integer.parseInt(0 + ""));
         //涓嶅悎鏍�
         Long productCount2 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getInsSampleId, s.getId())
@@ -2621,7 +2622,8 @@
         Long productCount3 = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getInsSampleId, s.getId())
                 .eq(InsProduct::getInsResult, 1));
-        productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + ""));
+//        productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + ""));
+        productSize3.set(productSize3.get() + Integer.parseInt(productCount3+productCount1 + ""));
         //灏嗛」鐩寜鐓х珯鐐硅繘琛屽垎绫�
         Map<String, List<InsProduct>> listMap = s.getInsProduct().stream().collect(Collectors.groupingBy(InsProduct::getSonLaboratory));
         // 鍒涘缓涓�涓� Map 灏嗙珯鐐瑰拰椤圭洰ID鐨勬槧灏勫叧绯�
diff --git a/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
index 36d1385..85237a3 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
@@ -46,4 +46,26 @@
             #{id}
         </foreach>
     </select>
+
+
+    <resultMap id="InsReportDto1Map" type="com.yuanchu.mom.dto.InsReportDto1">
+        <id property="sampleId" column="sampleId" jdbcType="INTEGER"/>
+        <collection property="insReportDto2s" resultMap="insReportDto2s"/>
+    </resultMap>
+    <resultMap id="insReportDto2s" type="com.yuanchu.mom.dto.InsReportDto2">
+        <result column="laboratory" property="laboratory"/>
+        <result column="num" property="num"/>
+        <result column="insOrderUsersId" property="insOrderUsersId"/>
+    </resultMap>
+    <select id="selectInsReportDto1" resultMap="InsReportDto1Map">
+        select isa.id sampleId,
+               ios.laboratory ,
+               iou.num,
+               iou.id insOrderUsersId
+        from ins_sample isa
+                 left join ins_order_state ios on isa.id = ios.ins_sample_id
+                 left join ins_order_user iou on ios.id = iou.ins_order_state_id
+        where isa.ins_order_id=#{id}
+        order by isa.id,ios.laboratory
+    </select>
 </mapper>

--
Gitblit v1.9.3