zss
2025-03-15 de3832e6560ead526d2ad86dd1feea39a39e3aef
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java
@@ -283,7 +283,6 @@
                        cells.add(cellRenderData);
                    }
                    else {
                        i=i-1;
                        if (insOrderState.getVersion() == 1) {
                            //非电调版本(简单版)
                            if (inspectionItemSubclass.contains("电压驻波比") && i <= 2 * portRow) {
@@ -905,7 +904,8 @@
                                    paragraphRenderDataList.add(paragraphRenderData);
                                    cellRenderData.setParagraphs(paragraphRenderDataList);
                                    cells.add(cellRenderData);
                                } else if (j == bb - 1) {
                                }
                                else if (j == bb - 1) {
                                    //最后一列
                                    if (i % (angles + 1) == 1) {
                                        textRenderData.setText("判定");
@@ -2692,16 +2692,15 @@
        List<Map<String, Object>> tables2 = new ArrayList<>();
        if (strings.contains("电路试验")) {
            /*勾选的电路试验表*/
            for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
            List<InsReportDto2> dto2s = insReportDto1.getInsReportDto2s().stream().filter(insReportDto2 -> insReportDto2.getLaboratory().equals("电路试验")).collect(Collectors.toList());
            for (InsReportDto2 insReportDto2 : dto2s) {
                InsOrderUser insOrderUser = insOrderUserMapper.selectById(insReportDto2.getInsOrderUsersId());
                InsOrderState orderState = insOrderStateMapper.selectById(insOrderUser.getInsOrderStateId());
                if (orderState.getLaboratory().equals("电路试验")) {
                    orderState.setNum(insOrderUser.getNum());
                    if (!insOrder.getSampleType().equals("无源器件")) {
                        getWord1(insOrderUser.getTerm(), orderState, tables2);
                    } else {
                        getWord2(insOrderUser.getTerm(), orderState, tables2);
                    }
                orderState.setNum(insOrderUser.getNum());
                if (!insOrder.getSampleType().equals("无源器件")) {
                    getWord1(insOrderUser.getTerm(), orderState, tables2);
                } else {
                    getWord2(insOrderUser.getTerm(), orderState, tables2);
                }
            }
        }
@@ -2948,27 +2947,25 @@
        /*检验样品信息*/
        //样品照片
        List<UrlListDto> urlList = new ArrayList<>();
        //获取附件图片类型
        List<List<Map<String, Object>>> imageRows = new ArrayList<>();
        List<Map<String, Object>> currentRow = new ArrayList<>();
        List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
                .eq(InsOrderFile::getType, 1)
                .eq(InsOrderFile::getInsSampleId,insReportDto1.getSampleId())
                .eq(InsOrderFile::getInsOrderId, orderId));
        if (CollectionUtils.isNotEmpty(insOrderFiles)) {
            UrlListDto urlListDto = new UrlListDto();
            for (int i = 0; i < insOrderFiles.size(); i++) {
                Map<String, Object> image = new HashMap<>();
                PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFiles.get(i).getFileUrl()).sizeInCm(8, 10).create();
                image.put("url", pictureRenderData);
                currentRow.add(image);
                if ((i + 1) % 2 == 0 || i == insOrderFiles.size() - 1) {
                    imageRows.add(currentRow);
                    currentRow = new ArrayList<>();
                if (i % 2 == 0) {
                    urlListDto = new UrlListDto();
                    urlListDto.setImageOne(Pictures.ofLocal(imgUrl + "/" + insOrderFiles.get(i).getFileUrl()).create());
                } else {
                    urlListDto.setImageTwo(Pictures.ofLocal(imgUrl + "/" + insOrderFiles.get(i).getFileUrl()).create());
                    urlList.add(urlListDto);
                }
            }
            // 如果最后一行不足两个,也添加到结果中
            if (!currentRow.isEmpty()) {
                imageRows.add(currentRow);
                if (i == insOrderFiles.size() - 1) {
                    urlList.add(urlListDto);
                }
            }
        }
        //样品编号参照上述sampleCode
@@ -2990,20 +2987,17 @@
            String insUser = insUserList.stream().map(insSampleUser -> {
                User user = userMapper.selectById(insSampleUser.getUserId());
                return user.getName();
            }).collect(Collectors.joining(","));
            }).distinct().collect(Collectors.joining(","));
            insUserDto.setInsUser(insUser);//测试人员
            List<InsSampleUser> checkUserList = entry.getValue().stream().filter(insSampleUser -> insSampleUser.getState() == 1).collect(Collectors.toList());//复核人
            String checkUser = checkUserList.stream().map(insSampleUser -> {
                User user = userMapper.selectById(insSampleUser.getUserId());
                return user.getName();
            }).collect(Collectors.joining(","));
            }).distinct().collect(Collectors.joining(","));
            insUserDto.setCheckUser(checkUser);//审核人员
            insUsers.add(insUserDto);
            index2++;
        }
        /*测试仪表*/
        Set<String> deviceSet = new HashSet<>();
@@ -3048,6 +3042,7 @@
                .bind("insProductList", new HackLoopTableRenderPolicy())
                .bind("devList", new HackLoopTableRenderPolicy())
                .bind("insUsers", new HackLoopTableRenderPolicy())
                .bind("urlList", new HackLoopTableRenderPolicy())
                .build();
        List<DevListDto> finalDevList = devList;
        String finalTitle = title3;
@@ -3072,7 +3067,7 @@
                    put("title3", finalTitle);                  //检测结果
                    put("tables3", tables3);                    //检测结果
                    put("tables4", tables4);                    //检测结果
                    put("images", imageRows);                   //样品照片
                    put("urlList", urlList);                   //样品照片
                    put("insUsers", insUsers);                //检测人员信息
                    put("devList", finalDevList);                //测试仪表
                    put("writeUrl", null);                      //提交人
@@ -3198,19 +3193,19 @@
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        //目录更新
        try{
            com.spire.doc.Document document = new com.spire.doc.Document();
            document.loadFromFile(path);
            // 更新目录
            document.updateTableOfContents();
            // 保存文档
            document.saveToFile(path, FileFormat.Docx);
            document.close();
        }
        catch (Exception e) {
            throw new RuntimeException(e);
        }
//        //目录更新
//        try{
//            com.spire.doc.Document document = new com.spire.doc.Document();
//            document.loadFromFile(path);
//            // 更新目录
//            document.updateTableOfContents();
//            // 保存文档
//            document.saveToFile(path, FileFormat.Docx);
//            document.close();
//        }
//        catch (Exception e) {
//            throw new RuntimeException(e);
//        }
    }
@@ -3365,7 +3360,7 @@
            int qq = 0;
            int ss = 0;
            //表格的行数
            for (int i = 0; i <= aa+1; i++) {
         for (int i = 0; i <= aa+1; i++) {
                RowRenderData rowRenderData = new RowRenderData();
                RowStyle rowStyle = new RowStyle();
                rowStyle.setHeight(40);
@@ -3447,7 +3442,9 @@
                        paragraphRenderDataList.add(paragraphRenderData);
                        cellRenderData.setParagraphs(paragraphRenderDataList);
                        cells.add(cellRenderData);
                    } else {
                    }
                    else {
                        int u = i;
                        i=i-1;
                        if (insOrderState.getVersion() == 1) {
                            //非电调版本(简单版)
@@ -4013,7 +4010,8 @@
                                    cells.add(cellRenderData);
                                }
                            }
                        } else {
                        }
                        else {
                            //电调版本(复杂版)
                            if (inspectionItemSubclass.contains("电压驻波比") && i <= (angles + 1) * portRow) {
                                cc = (angles + 1) * portRow;
@@ -5317,6 +5315,7 @@
                                }
                            }
                        }
                        i=u;
                    }
                }
                rowRenderData.setCells(cells);