From de3832e6560ead526d2ad86dd1feea39a39e3aef Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期六, 15 三月 2025 17:54:09 +0800 Subject: [PATCH] 报告调整2.0 --- inspect-server/src/main/java/com/yuanchu/mom/dto/UrlListDto.java | 17 ++++++++ cnas-server/src/main/java/com/yuanchu/mom/controller/SealController.java | 2 inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java | 89 ++++++++++++++++++++++---------------------- inspect-server/src/main/resources/mapper/InsReportMapper.xml | 2 inspect-server/src/main/resources/static/report-template.docx | 0 inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 8 ++-- inspect-server/src/main/java/com/yuanchu/mom/dto/ReportPageDto.java | 2 + 7 files changed, 69 insertions(+), 51 deletions(-) diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/SealController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/SealController.java index 3d34291..1ebc129 100644 --- a/cnas-server/src/main/java/com/yuanchu/mom/controller/SealController.java +++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/SealController.java @@ -52,7 +52,7 @@ @ValueClassify("鍦烘墍鎴栬鏂�") @ApiOperation(value="鍒犻櫎鍗扮珷") @PostMapping("/delectSeal") - public Result delectSeal(@RequestBody Seal seal) { + public Result delectSeal(Seal seal) { return Result.success(sealService.removeById(seal)); } } 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 71ebeb1..def5e88 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 @@ -28,4 +28,6 @@ //瀹為獙瀹d private Integer labId; + private String orderType; + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/UrlListDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/UrlListDto.java new file mode 100644 index 0000000..994ab32 --- /dev/null +++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/UrlListDto.java @@ -0,0 +1,17 @@ +package com.yuanchu.mom.dto; + + +import com.deepoove.poi.data.PictureRenderData; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +// +public class UrlListDto { + + @ApiModelProperty("鍥剧墖1") + private PictureRenderData imageOne; + + @ApiModelProperty("鍥剧墖2") + private PictureRenderData imageTwo; +} 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 f1b978a..e764498 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 @@ -613,7 +613,7 @@ XWPFParagraph paragraph6 = table.getRow(0).getCell(cell - 1).getParagraphArray(0); paragraph6.setAlignment(ParagraphAlignment.CENTER); XWPFRun run6 = paragraph6.createRun(); - run6.setText("/"); + run6.setText("鍒ゅ畾"); XWPFParagraph paragraph7 = table.getRow(2).getCell(cell - 1).getParagraphArray(0); paragraph7.setAlignment(ParagraphAlignment.CENTER); XWPFRun run7 = paragraph7.createRun(); @@ -625,7 +625,7 @@ XWPFParagraph paragraph9 = table.getRow(row - 1).getCell(cell - 1).getParagraphArray(0); paragraph9.setAlignment(ParagraphAlignment.CENTER); XWPFRun run9 = paragraph9.createRun(); - run9.setText("/"); + run9.setText(""); for (int i = 0; i < collect.size(); i++) { String s3 = collect.get(i); if (s3.contains("绔彛")) { @@ -838,7 +838,7 @@ XWPFParagraph paragraph6 = table.getRow(0).getCell(cell - 1).getParagraphArray(0); XWPFRun run6 = paragraph6.createRun(); - run6.setText("/"); + run6.setText("鍒ゅ畾"); XWPFParagraph paragraph7 = table.getRow(1).getCell(cell - 1).getParagraphArray(0); XWPFRun run7 = paragraph7.createRun(); @@ -851,7 +851,7 @@ XWPFParagraph paragraph9 = table.getRow(row - 1).getCell(cell - 1).getParagraphArray(0); XWPFRun run9 = paragraph9.createRun(); - run9.setText("/"); + run9.setText(""); for (int i = 0; i < collect.size(); i++) { String s3 = collect.get(i); 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 8b01a45..6fcbefd 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 @@ -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); diff --git a/inspect-server/src/main/resources/mapper/InsReportMapper.xml b/inspect-server/src/main/resources/mapper/InsReportMapper.xml index 26244f4..404e25d 100644 --- a/inspect-server/src/main/resources/mapper/InsReportMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsReportMapper.xml @@ -24,7 +24,7 @@ from ( select ir.*,io.entrust_code,sample_code,u.name write_user_name,u1.name ratify_user,u2.name - examine_user,io.laboratory,l.id labId + examine_user,io.laboratory,l.id labId,order_type 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 diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx index 6ac386d..7ec7a26 100644 --- a/inspect-server/src/main/resources/static/report-template.docx +++ b/inspect-server/src/main/resources/static/report-template.docx Binary files differ -- Gitblit v1.9.3