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