From fdde707bb95af657d838426f1329128b1ff167ab Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 15 三月 2025 15:12:08 +0800
Subject: [PATCH] 报告调整
---
inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductWordDto.java | 18
inspect-server/src/main/java/com/yuanchu/mom/dto/DevListDto.java | 27 +
inspect-server/src/main/java/com/yuanchu/mom/utils/WordUtils.java | 1049 +++++++++++++++++++++----------------------------
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java | 21
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java | 2
inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml | 4
inspect-server/src/main/java/com/yuanchu/mom/utils/FuSheUtils.java | 4
inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java | 2
inspect-server/src/main/java/com/yuanchu/mom/controller/InsReportController.java | 5
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 38
inspect-server/src/main/resources/static/report-template.docx | 0
inspect-server/src/main/java/com/yuanchu/mom/dto/InsUserDto.java | 22 +
inspect-server/pom.xml | 16
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java | 3
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java | 6
inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java | 2
16 files changed, 590 insertions(+), 629 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
index 5f2b5b1..e8fb98e 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -152,4 +152,7 @@
@ApiModelProperty("浜у湴")
private String origin;
+
+ @ApiModelProperty("杞欢鐗堟湰")
+ private String version;
}
diff --git a/inspect-server/pom.xml b/inspect-server/pom.xml
index 952844b..302c232 100644
--- a/inspect-server/pom.xml
+++ b/inspect-server/pom.xml
@@ -16,6 +16,14 @@
<description>inspect-server</description>
<packaging>jar</packaging>
+ <repositories>
+ <repository>
+ <id>com.e-iceblue</id>
+ <name>e-iceblue</name>
+ <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
+ </repository>
+ </repositories>
+
<dependencies>
<!--word杞琾df-->
<!--D:\JavaWork\center-lims-after\inspect-server\src\main\resources\lib-->
@@ -52,6 +60,12 @@
</dependency>
<dependency>
+ <groupId>e-iceblue</groupId>
+ <artifactId>spire.doc.free</artifactId>
+ <version>5.2.0</version>
+ </dependency>
+
+ <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.3.18</version>
@@ -84,4 +98,4 @@
<version>5.5.2</version>
</dependency>
</dependencies>
-</project>
\ No newline at end of file
+</project>
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 21052cc..05b3d3e 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,12 +150,11 @@
return Result.success(insReportService.upAll(file));
}
- //鍙栨秷2.26
@ValueAuth
@ApiOperation(value = "鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐圭殑妫�楠屾鏁�")
@GetMapping("/getInsOrderStateCount")
- public Result getInsOrderStateCount(Integer id){
- return Result.success(insReportService.getInsOrderStateCount(id));
+ public Result getInsOrderStateCount(Integer id,Integer sampleId){
+ return Result.success(insReportService.getInsOrderStateCount(id,sampleId));
}
//鍙栨秷2.26
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/DevListDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/DevListDto.java
new file mode 100644
index 0000000..fe08e79
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/DevListDto.java
@@ -0,0 +1,27 @@
+package com.yuanchu.mom.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+//鎶ュ憡鐢熸垚鐨勬祴璇曚华琛�
+public class DevListDto {
+
+ @ApiModelProperty("搴忓彿")
+ private String indexs;
+
+ @ApiModelProperty("浠櫒璁惧")
+ private String name;
+
+ @ApiModelProperty("鍨嬪彿")
+ private String model;
+
+ @ApiModelProperty("缂栧彿")
+ private String number;
+
+ @ApiModelProperty("杞欢鐗堟湰")
+ private String version;
+
+ @ApiModelProperty("鏍″噯鏈夋晥鏃ユ湡")
+ private String date;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductWordDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductWordDto.java
new file mode 100644
index 0000000..64eb076
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsProductWordDto.java
@@ -0,0 +1,18 @@
+package com.yuanchu.mom.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+//鎶ュ憡鐢熸垚鐨勬楠屾儏鍐典竴瑙堣〃
+public class InsProductWordDto {
+
+ @ApiModelProperty("搴忓彿")
+ private String index;
+
+ @ApiModelProperty("妫�楠岄」鐩�")
+ private String term;
+
+ @ApiModelProperty("缁撹")
+ private String result;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsUserDto.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsUserDto.java
new file mode 100644
index 0000000..24ad4c0
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsUserDto.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+//鎶ュ憡鐢熸垚鐨勬娴嬩汉鍛樹俊鎭�
+public class InsUserDto {
+
+ @ApiModelProperty("搴忓彿")
+ private String index;
+
+ @ApiModelProperty("椤圭洰")
+ private String insProduct;
+
+ @ApiModelProperty("娴嬭瘯浜哄憳")
+ private String insUser;
+
+ @ApiModelProperty("瀹℃牳浜哄憳")
+ private String checkUser;
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
index 6f930c5..526fac9 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.CostStatisticsDto;
+import com.yuanchu.mom.dto.DevListDto;
import com.yuanchu.mom.dto.SampleOrderDto;
import com.yuanchu.mom.dto.SampleProductDto2;
import com.yuanchu.mom.pojo.InsOrder;
@@ -37,7 +38,8 @@
List<CostStatisticsDto> selectCostStatistics2(@Param("ew") QueryWrapper<CostStatisticsDto> ew);
- List<Map<String, String>> selectDeviceList(Set<String> names);
+ List<DevListDto> selectDeviceList(Set<String> names);
+
List<SampleDefectsFatherVo> selectSampleDefects(Page page, @Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber);
Long getCount(@Param("inspectionItems") String inspectionItems, @Param("orderNumber") String orderNumber);
@@ -53,4 +55,4 @@
String seldepLimsId(int depLimsId);
InsOrder selectById2(Integer id);
-}
\ No newline at end of file
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
index 24fa385..54dcbff 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/StandardMethodListMapper.java
@@ -32,6 +32,8 @@
List<StandardMethodList> selectListEnum();
Integer getStandardMethodId(String code);
+
+ String getStandardMethodName(String code);
}
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 a26f141..d03c0b4 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
@@ -47,5 +47,5 @@
int isReport(InsReportDto insReportDto);
//鏌ュ嚭璇ヨ鍗曚笅姣忎釜鏍峰搧涓嬫瘡涓珯鐐逛笅鐨勬楠屾鏁�
- List<InsOrderStateDto> getInsOrderStateCount(Integer id);
+ List<InsOrderStateDto> getInsOrderStateCount(Integer id,Integer sampleId);
}
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 de97e6d..10324dc 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
@@ -166,7 +166,7 @@
a.setInsOrderId(insOrder.getId());
//鏍峰搧缂栧彿
if (StrUtil.isEmpty(a.getSampleCode())) {
- a.setSampleCode("YP-" + a.getModel() + "-" + giveCode.split("-")[2] + "-" + count.get());
+ a.setSampleCode("YP-" + giveCode.split("-")[2] + "-" + count.get());
}
insSampleMapper.insert(a);
//鏍峰搧鐨勬楠岄」鐩�
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 4451297..81e9fb9 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
@@ -256,7 +256,7 @@
/*妫�楠屽崟缁撴潫*/
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)){
+ if (list.size() == 1 && list.contains(1)) {
InsOrder insOrder = insOrderMapper.selectById(insReport.getInsOrderId());
insOrder.setState(4);
insOrderMapper.updateById(insOrder);
@@ -377,7 +377,7 @@
if (insReportDto.getState() == 1) {
List<InsReportDto1> insReportDto1s = insReportDto.getInsReportDto1s();
for (InsReportDto1 insReportDto1 : insReportDto1s) {
- if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())){
+ if (ObjectUtils.isNotEmpty(insReportDto1.getInsReportDto2s())) {
wordUtils.generateReport(insReportDto.getId(), insReportDto1);
}
}
@@ -390,16 +390,15 @@
//鏌ュ嚭璇ヨ鍗曚笅姣忎釜绔欑偣涓嬬殑妫�楠屾鏁�
@Override
- public List<InsOrderStateDto> getInsOrderStateCount(Integer id) {
+ public List<InsOrderStateDto> getInsOrderStateCount(Integer id, Integer sampleId) {
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);
- }
+ InsSample insSample = insSampleMapper.selectById(sampleId);
+ 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 82d6a42..f1b978a 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
@@ -525,7 +525,7 @@
XWPFParagraph paragraph18 = table1.getRow(1).getCell(0).getParagraphArray(0);
paragraph18.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run18 = paragraph18.createRun();
- run18.setText("棰戞锛� " + result1 + "MHz " + "涓嬪�捐" + result);
+ run18.setText("涓嬪�捐" + result);
List<String> collect = Arrays.stream(split).collect(Collectors.toList());
List<Map<String, Object>> list = new ArrayList<>();
// 瀵规墍鏈夌殑閿仛鍚�
@@ -740,7 +740,7 @@
XWPFParagraph paragraph18 = table1.getRow(1).getCell(0).getParagraphArray(0);
XWPFRun run18 = paragraph18.createRun();
- run18.setText("棰戞锛� " + result1 + "MHz " + "涓嬪�捐" + result);
+ run18.setText("涓嬪�捐" + result);
List<String> collect = Arrays.stream(split).collect(Collectors.toList());
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 ab1d037..8b01a45 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
@@ -12,9 +12,8 @@
import com.deepoove.poi.data.*;
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.spire.doc.FileFormat;
+import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
@@ -69,9 +68,6 @@
@Resource
StandardMethodListMapper standardMethodListMapper;
-
- @Value("${twoCode}")
- private String twoCode;
@Resource
private InsProductMapper insProductMapper;
@@ -160,7 +156,8 @@
if (inspectionItemSubclass.contains("浜掕皟")) {
aa += (angles + 1) * portRow * often;
}
- } else {
+ }
+ else {
if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
aa += (angles + 1) * portRow;
}
@@ -276,7 +273,7 @@
style.setFontFamily("瀹嬩綋");
style.setColor("000000");
textRenderData.setStyle(style);
- if (i == 0) {
+ if (i == 1) {
//绗竴琛�
textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable);
renderData.add(textRenderData);
@@ -284,7 +281,9 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- } else {
+ }
+ else {
+ i=i-1;
if (insOrderState.getVersion() == 1) {
//闈炵數璋冪増鏈�(绠�鍗曠増)
if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) {
@@ -355,7 +354,7 @@
textRenderData.setText("涓嶅垽瀹�");
}
} else {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
}
renderData.add(textRenderData);
paragraphRenderData.setContents(renderData);
@@ -801,7 +800,7 @@
} else if (j == 4) {
//绗簲鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("瑙掑害");
+ textRenderData.setText("棰戞");
} else {
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]);
}
@@ -813,7 +812,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
if (products.get(0).getInsResult() == 1) {
textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
@@ -847,7 +846,8 @@
cells.add(cellRenderData);
}
}
- } else {
+ }
+ else {
//鐢佃皟鐗堟湰(澶嶆潅鐗�)
if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= (angles + 1) * portRow) {
cc = (angles + 1) * portRow;
@@ -908,7 +908,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if (i % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1013,7 +1013,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - cc) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1136,7 +1136,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1259,7 +1259,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1382,7 +1382,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1487,7 +1487,7 @@
//绗簲鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
//瑙掑害
- textRenderData.setText("瑙掑害");
+ textRenderData.setText("棰戞");
} else {
//鍊�
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
@@ -1500,7 +1500,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1597,7 +1597,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1690,7 +1690,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1787,7 +1787,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (nn == 0 ? (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm) : nn)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -1894,7 +1894,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -2001,7 +2001,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - rr) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -2107,7 +2107,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - ss) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -2578,31 +2578,57 @@
//鐢熸垚鎬绘姤鍛�
public void generateReport(Integer orderId, InsReportDto1 insReportDto1) {
- LocalDateTime now = LocalDateTime.now();
InsOrder insOrder = insOrderMapper.selectById(orderId);
- //濮旀墭閮ㄩ棬 departLims
- String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser());
SampleProductDto insSample = insSampleMapper.selectSampleProductListByOrderId(insReportDto1.getSampleId());
- String sampleCode = insSample.getSampleCode();
+ SampleProductDto s = insSample;
+ List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+ .eq(InsProduct::getInsSampleId, insSample.getId())
+ .eq(InsProduct::getState, 1));
+ /*棣栭〉*/
+ //浜у搧鍚嶇О
+ String sampleName = insSample.getSample();
+ //鍨嬪彿瑙勬牸
+ int indexOf = s.getModel().indexOf("-");
+ String models = (indexOf!=-1?s.getModel().substring(indexOf + 1):s.getModel());
+ //濮旀墭鍗曚綅
+ Custom custom = customMapper.selectById(insOrder.getCompanyId());
+ //鎶ュ憡鍙戝竷鏃ユ湡
+ LocalDateTime now = LocalDateTime.now();
+ //鎶ュ憡缂栧彿
InsReport insReport = new InsReport();
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<>();
- Set<String> models = new HashSet<>();
+ /*妫�娴嬫姤鍛婃弿杩�*/
+ //鏍峰搧鍚嶇О,鍨嬪彿瑙勬牸,鏃堕棿鎸夌収棣栭〉鐨勬潵,order閲岄潰鐨勪俊鎭湁insOrder
+ //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇
+ if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
+ insOrder.setPrepareUser("/");
+ }
+ if (ObjectUtils.isEmpty(insOrder.getPhone())) {
+ insOrder.setPhone("/");
+ }
+ //濮旀墭閮ㄩ棬
+ String departLims = userMapper.selectDepartLims(insOrder.getPrepareUser());
+ //鏍峰搧缂栧彿
+ String sampleCode = insSample.getSampleCode();
+ //妫�娴嬩緷鎹�
+ Set<String> standardMethod = new HashSet<>();
+ standardMethod.addAll(insProducts.stream()
+ .map(insProduct -> {
+ String standardMethodName = standardMethodListMapper.getStandardMethodName(insProduct.getMethodS());
+ return insProduct.getMethodS()+" "+standardMethodName;
+ }).distinct().collect(Collectors.toList()));
+ StringBuilder standardMethod2 = new StringBuilder();
+ for (String s1 : standardMethod) {
+ standardMethod2.append("锛沑n").append(s1);
+ }
+ standardMethod2.replace(0, 1, "");
+ //妫�娴嬬粨璁�
AtomicReference<Integer> productSize = new AtomicReference<>(0);
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"};
- SampleProductDto s = insSample;
- models.add(s.getModel());
- List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getState, 1));
- /*鏌ヨ鏍囧噯鏂规硶*/
- standardMethod.addAll(insProducts.stream().map(InsProduct::getMethodS).distinct().collect(Collectors.toList()));
//鎬绘暟
long productCount = insProducts.size();
//涓嶅悎鏍�
@@ -2641,79 +2667,47 @@
productSize.set(productSize.get() + Integer.parseInt(productCount + ""));
productSize2.set(productSize2.get() + Integer.parseInt(productCount2 + ""));
productSize3.set(productSize3.get() + Integer.parseInt(productCount3 + ""));
- //灏嗛」鐩寜鐓х珯鐐硅繘琛屽垎绫�
- Map<String, List<InsProduct>> listMap = s.getInsProduct().stream().collect(Collectors.groupingBy(InsProduct::getSonLaboratory));
- // 鍒涘缓涓�涓� Map 灏嗙珯鐐瑰拰椤圭洰ID鐨勬槧灏勫叧绯�
- Map<String, Set<Integer>> labToDeviceMap = new HashMap<>();
- // 鑾峰彇鎵�鏈夌珯鐐圭殑椤圭洰ID 鍒楄〃
- for (Map.Entry<String, List<InsProduct>> entry : listMap.entrySet()) {
- Set<Integer> productIds = entry.getValue().stream()
- .map(InsProduct::getId)
- .collect(Collectors.toSet());
- labToDeviceMap.put(entry.getKey(), productIds);
- }
- for (InsReportDto2 insReportDto2 : insReportDto1.getInsReportDto2s()) {
- String laboratory = insReportDto2.getLaboratory();
- if (!labToDeviceMap.containsKey(laboratory)) {
- continue;
+
+ /*妫�楠屾儏鍐典竴瑙堣〃*/
+ List<InsProductWordDto> insProductList = new ArrayList<>();
+ int index1=1;
+ for (InsProduct insPro : insProducts) {
+ InsProductWordDto insProductWordDto = new InsProductWordDto();
+ insProductWordDto.setIndex(index1+"");//搴忓彿
+ insProductWordDto.setTerm(insPro.getInspectionItem()+"-"+insPro.getInspectionItemSubclass());//妫�楠岄」鐩�
+ if (ObjectUtils.isNotNull(insPro.getInsResult()) && insPro.getInsResult()==0) {
+ insProductWordDto.setResult("涓嶅悎鏍�");//缁撹
+ } else {
+ insProductWordDto.setResult("鍚堟牸");//缁撹
}
- Set<Integer> productIds = labToDeviceMap.get(laboratory);
- Integer num = insReportDto2.getNum();
- //鏅�氳瘯楠岀粨鏋滆〃
- List<InsProductResult> insProductResults = insProductResultMapper.selectList(
- Wrappers.<InsProductResult>lambdaQuery()
- .eq(InsProductResult::getNum, num)
- .in(InsProductResult::getInsProductId, productIds));
- for (InsProductResult insProductResult : insProductResults) {
- List<JSONObject> jsonObjects = JSON.parseArray(insProductResult.getEquipValue(), JSONObject.class);
- if (ObjectUtils.isNotEmpty(jsonObjects)) {
- for (JSONObject jsonObject : jsonObjects) {
- String value = jsonObject.getString("v");
- if (value != null && !value.isEmpty()) {
- deviceSet.add(value);
- }
+ insProductList.add(insProductWordDto);
+ index1++;
+ }
+
+ /*妫�娴嬬粨鏋�*/
+ //鑾峰彇鎵�鏈夋楠岀殑绔欑偣淇℃伅
+ List<String> strings = insReportDto1.getInsReportDto2s().stream()
+ .map(InsReportDto2::getLaboratory).distinct().collect(Collectors.toList());
+ //鐢佃矾琛ㄦ牸
+ List<Map<String, Object>> tables2 = new ArrayList<>();
+ if (strings.contains("鐢佃矾璇曢獙")) {
+ /*鍕鹃�夌殑鐢佃矾璇曢獙琛�*/
+ 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());
+ if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
+ getWord1(insOrderUser.getTerm(), orderState, tables2);
+ } else {
+ getWord2(insOrderUser.getTerm(), orderState, tables2);
}
}
}
- //鐢佃矾璇曢獙缁撴灉琛�
- List<InsProductResult2> insProductResult2s = insProductResult2Mapper.selectList(
- Wrappers.<InsProductResult2>lambdaQuery()
- .eq(InsProductResult2::getNum, num)
- .in(InsProductResult2::getInsProductId, productIds));
- for (InsProductResult2 result2 : insProductResult2s) {
- String equipValue = result2.getEquipValue();
- if (equipValue != null && !equipValue.isEmpty()) {
- deviceSet.add(equipValue);
- }
- }
}
-
-
- /*妫�楠屾儏鍐典竴瑙堣〃*/
- List<Map<String, String>> tables = new ArrayList<>();
- List<Map<String, Object>> tables2 = new ArrayList<>();
+ //杈愬皠琛ㄦ牸
List<Map<String, Object>> tables3 = new ArrayList<>();
- List<Map<String, Object>> tables4 = new ArrayList<>();
- Integer indexs = 1;
- //鍒ゆ柇鏄惁鏈夌數璺瘯楠�,鐜璇曢獙
- 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 + "");
- indexs += 1;
- table.put("term", "杈愬皠鏂瑰悜鍥惧弬鏁�");
- List<Integer> list = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId, insSample.getId())
- .eq(InsProduct::getInspectionItem, "杈愬皠璇曢獙")).stream()
- .map(InsProduct::getInsResult).distinct().collect(Collectors.toList());
- if (list.contains(0)) {
- table.put("result", "涓嶅悎鏍�");
- } else {
- table.put("result", "鍚堟牸");
- }
- tables.add(table);
/*杈愬皠鐨勮瘯楠岃〃*/
List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery()
.eq(InsOrderFile::getInsOrderId, orderId)
@@ -2817,469 +2811,275 @@
}
}
}
- if (strings.contains("鐢佃矾璇曢獙")) {
- strings.remove("鐢佃矾璇曢獙");
- strings.remove("杩戝満");
- strings.remove("杩滃満");
- 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());
- //濡傛灉鏈夌幆澧冭瘯楠�
- if (strings.size() > 0) {
- Map<String, String> table1 = new HashMap<>();
- table1.put("indexs", indexs + "");
- table1.put("term", "鐜璇曢獙鍓嶇數璺弬鏁�");
- if (collect.contains(0)) {
- table1.put("result", "涓嶅悎鏍�");
- } else {
- table1.put("result", "鍚堟牸");
- }
- tables.add(table1);
- indexs += 1;
-
- Map<String, String> table2 = new HashMap<>();
- table2.put("indexs", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1");
- table2.put("term", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1");
- List<Integer> list = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId,insSample.getId())
- .in(InsProduct::getSonLaboratory, strings)).stream()
- .map(InsProduct::getInsResult).distinct().collect(Collectors.toList());
- if (list.contains(0)) {
- table2.put("result", "涓嶅悎鏍�");
- } else {
- table2.put("result", "鍚堟牸");
- }
- tables.add(table2);
-
- Map<String, String> table3 = new HashMap<>();
- table3.put("indexs", indexs + "");
- table3.put("term", "鐜璇曢獙鍚庣數璺弬鏁�");
- if (collect.contains(0)) {
- table3.put("result", "涓嶅悎鏍�");
- } else {
- table3.put("result", "鍚堟牸");
- }
- tables.add(table3);
- indexs += 1;
-
- /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/
- List<InsProduct> products = insSample.getInsProduct().stream()
- .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙"))
- .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))
- .map(insProduct -> {
- InsProduct product = new InsProduct();
- product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
- product.setTell(insProduct.getTell());
- return product;
- }).distinct().collect(Collectors.toList());
- List<RowRenderData> rows = new ArrayList<>();
- //琛屾暟
- for (int i = 0; i < products.size() + 1; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //鍒楁暟
- for (int j = 0; j < 3; 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) {
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("椤圭洰");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("璇曢獙瑕佹眰");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗笁鍒�
- textRenderData.setText("瀹為獙缁撴灉");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- //鍏朵綑琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(products.get(i - 1).getInspectionItemSubclass());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- textRenderData.setText(products.get(i - 1).getTell());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗笁鍒�
- //鑾峰彇妫�楠岄」鐩拰缁撹
- InsProduct insProduct = products.get(i - 1);
- String shiyanjieguo = "鏃犲紓甯�";
- if (ObjectUtils.isNotNull(insProduct.getInsResult())) {
- shiyanjieguo = insProduct.getInsResult() == 0 ? "涓嶅悎鏍�" : "鏃犲紓甯�";
- }
- textRenderData.setText("缁忚繃" + insProduct.getInspectionItemSubclass() + "涔嬪悗锛屾牱鍝�" +shiyanjieguo + "銆�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (rowRenderData.getCells().size() != 0) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(4);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table4 = new HashMap<>();
- table4.put("table4", tableRenderData);
- tables4.add(table4);
- }
- else {
- Map<String, String> table = new HashMap<>();
- table.put("indexs", indexs + "");
- table.put("term", "鐢佃矾鍙傛暟");
- if (collect.contains(0)) {
- table.put("result", "涓嶅悎鏍�");
- } else {
- table.put("result", "鍚堟牸");
- }
- tables.add(table);
- indexs += 1;
- }
- /*鍕鹃�夌殑鐢佃矾璇曢獙琛�*/
- 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());
- if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
- getWord1(insOrderUser.getTerm(), orderState, tables2);
- } else {
- getWord2(insOrderUser.getTerm(), orderState, tables2);
- }
- }
- }
- }
- else {
- //濡傛灉鍙湁鐜璇曢獙娌℃湁鐢佃矾璇曢獙
- strings.remove("杩戝満");
- strings.remove("杩滃満");
- if (strings.size() > 0) {
- Map<String, String> table2 = new HashMap<>();
- table2.put("indexs", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1");
- table2.put("term", "鐜璇曢獙:" + String.join("銆�", strings) + "鈭�1");
- List<Integer> list = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
- .eq(InsProduct::getState, 1)
- .eq(InsProduct::getInsSampleId,insSample.getId())
- .in(InsProduct::getSonLaboratory, strings)).stream()
- .map(InsProduct::getInsResult).distinct().collect(Collectors.toList());
- if (list.contains(0)) {
- table2.put("result", "涓嶅悎鏍�");
- } else {
- table2.put("result", "鍚堟牸");
- }
- tables.add(table2);
-
- /*鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)*/
- List<InsProduct> products = insSample.getInsProduct().stream()
- .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙"))
- .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))
- .map(insProduct -> {
- InsProduct product = new InsProduct();
- product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
- product.setTell(insProduct.getTell());
- return product;
- }).distinct().collect(Collectors.toList());
- List<RowRenderData> rows = new ArrayList<>();
- //琛屾暟
- for (int i = 0; i < products.size() + 1; i++) {
- RowRenderData rowRenderData = new RowRenderData();
- RowStyle rowStyle = new RowStyle();
- rowStyle.setHeight(40);
- rowRenderData.setRowStyle(rowStyle);
- List<CellRenderData> cells = new ArrayList<>();
- //鍒楁暟
- for (int j = 0; j < 3; 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) {
- //绗竴琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText("椤圭洰");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText("璇曢獙瑕佹眰");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗笁鍒�
- textRenderData.setText("瀹為獙缁撴灉");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- } else {
- //鍏朵綑琛�
- if (j == 0) {
- //绗竴鍒�
- textRenderData.setText(products.get(i - 1).getInspectionItemSubclass());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else if (j == 1) {
- //绗簩鍒�
- textRenderData.setText(products.get(i - 1).getTell());
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- } else {
- //绗笁鍒�
- //鑾峰彇妫�楠岄」鐩拰缁撹
- InsProduct insProduct = products.get(i - 1);
- String shiyanjieguo = "鏃犲紓甯�";
- if (ObjectUtils.isNotNull(insProduct.getInsResult())) {
- shiyanjieguo = insProduct.getInsResult() == 0 ? "涓嶅悎鏍�" : "鏃犲紓甯�";
- }
- textRenderData.setText("缁忚繃" + insProduct.getInspectionItemSubclass() + "涔嬪悗锛屾牱鍝�" + shiyanjieguo + "銆�");
- renderData.add(textRenderData);
- paragraphRenderData.setContents(renderData);
- paragraphRenderDataList.add(paragraphRenderData);
- cellRenderData.setParagraphs(paragraphRenderDataList);
- cells.add(cellRenderData);
- }
- }
- }
- rowRenderData.setCells(cells);
- if (rowRenderData.getCells().size() != 0) {
- rows.add(rowRenderData);
- }
- }
- TableRenderData tableRenderData = new TableRenderData();
- tableRenderData.setRows(rows);
- int countSize = tableRenderData.getRows().get(0).getCells().size();
- for (RowRenderData row : tableRenderData.getRows()) {
- if (row.getCells().size() != countSize) {
- throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
- }
- }
- TableStyle tableStyle = new TableStyle();
- tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
- tableStyle.setAlign(TableRowAlign.CENTER);
- BorderStyle borderStyle = new BorderStyle();
- borderStyle.setColor("000000");
- borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
- borderStyle.setSize(4);
- tableStyle.setLeftBorder(borderStyle);
- tableStyle.setTopBorder(borderStyle);
- tableStyle.setRightBorder(borderStyle);
- tableStyle.setBottomBorder(borderStyle);
- tableRenderData.setTableStyle(tableStyle);
- Map<String, Object> table4 = new HashMap<>();
- table4.put("table4", tableRenderData);
- tables4.add(table4);
- }
- }
- ZipSecureFile.setMinInflateRatio(0.0001);
- InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
- StringBuilder standardMethod2 = new StringBuilder();
- for (String s1 : standardMethod) {
- standardMethod2.append("锛沑n").append(s1);
- }
- standardMethod2.replace(0, 1, "");
- List<Map<String, String>> deviceList = null;
- if (deviceSet.size() != 0) {
- deviceList = insOrderMapper.selectDeviceList(deviceSet);
- }
- Map<String, String> codeStr = new HashMap<>();
- codeStr.put("鎶ュ憡缂栧彿", insReport.getCode());
- codeStr.put("鏍峰搧鍚嶇О", insSample.getSample());
- codeStr.put("瑙勬牸鍨嬪彿", insSample.getModel());
- codeStr.put("鍙戞斁鏃ユ湡", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- String codePath;
- try {
- codePath = new MatrixToImageWriter().code(JackSonUtil.marshal(codeStr).replaceAll("\\{", "")
- .replaceAll("}", "").replaceAll(",", "").replaceAll("\"", ""), twoCode);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- String modelStr = "";
- for (String model : models) {
- modelStr += "," + model;
- }
- String finalModelStr = modelStr;
- String sampleEn = insSampleMapper.getSampleEn(insOrder.getSample());
- String orderType = insOrderMapper.getEnumLabelByValue(insOrder.getOrderType());
- String formType = insOrderMapper.getEnumLabelByValue(insOrder.getFormType());
- ConfigureBuilder builder = Configure.builder();
- builder.useSpringEL(true);
- List<Map<String, String>> finalDeviceList = deviceList;
- List<Map<String, String>> sampleList = insSampleMapper.selectSampleList(orderId);
- Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery()
- .eq(InsSampleUser::getInsSampleId, insReportDto1.getSampleId())
- .eq(InsSampleUser::getState, 0)
- .last("limit 1")).getUserId();
- String signatureUrl;
- try {
- signatureUrl = userMapper.selectById(userId).getSignatureUrl();
- } catch (Exception e) {
- throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- if (ObjectUtils.isEmpty(signatureUrl) || signatureUrl.equals("")) {
- throw new ErrorException("鎵句笉鍒版楠屼汉鐨勭鍚�");
- }
- Custom custom = customMapper.selectById(insOrder.getCompanyId());
-
- /*鑾峰彇闄勪欢鍥剧墖绫诲瀷*/
- List<Map<String, Object>> images = new ArrayList<>();
- List<InsOrderFile> insOrderFiles = insOrderFileMapper.selectList(Wrappers.<InsOrderFile>lambdaQuery().eq(InsOrderFile::getType, 1).eq(InsOrderFile::getInsOrderId, orderId));
- if (CollectionUtils.isNotEmpty(insOrderFiles)) {
- insOrderFiles.forEach(insOrderFile -> {
- Map<String, Object> image = new HashMap<>();
- PictureRenderData pictureRenderData = Pictures.ofLocal(imgUrl + "/" + insOrderFile.getFileUrl()).sizeInCm(17, 20).create();
- image.put("url", pictureRenderData);
- image.put("report", insReport);
- images.add(image);
- });
- }
- //濮旀墭浜哄拰鐢佃瘽瀛楁鍒ゆ柇
- if (ObjectUtils.isEmpty(insOrder.getPrepareUser())) {
- insOrder.setPrepareUser("/");
- }
- if (ObjectUtils.isEmpty(insOrder.getPhone())) {
- insOrder.setPhone("/");
- }
- //妫�楠岄」鐩殑鐜
- InsProduct insProduct = insProducts.get(0);
- String environment = "";
- environment = (ObjectUtils.isNotEmpty(insProduct.getTemperature()) ? insProduct.getTemperature() + "鈩� " : "") + (ObjectUtils.isNotEmpty(insProduct.getHumidity()) ? insProduct.getHumidity() + "%" : "");
- String finalEnvironment = environment;
+ //杈愬皠鐨勬爣棰�
String title3 = "";
if (tables3.size() > 0) {
title3 = "杈愬皠鏂瑰悜鍥惧弬鏁�";
}
+ //鐜琛ㄦ牸
+ List<Map<String, Object>> tables4 = new ArrayList<>();
+ //鍒涘缓鐜璇曢獙鏉′欢琛�2*(椤圭洰鏁�+1)
+ List<InsProduct> products = insSample.getInsProduct().stream()
+ .filter(insProduct -> !insProduct.getInspectionItem().equals("鐢佃矾璇曢獙"))
+ .filter(insProduct -> !insProduct.getInspectionItem().equals("杈愬皠璇曢獙"))
+ .map(insProduct -> {
+ InsProduct product = new InsProduct();
+ product.setInspectionItemSubclass(insProduct.getInspectionItemSubclass());
+ product.setTell(insProduct.getTell());
+ return product;
+ }).distinct().collect(Collectors.toList());
+ if (products.size()>0) {
+ List<RowRenderData> rows = new ArrayList<>();
+ //琛屾暟
+ for (int i = 0; i < products.size() + 1; i++) {
+ RowRenderData rowRenderData = new RowRenderData();
+ RowStyle rowStyle = new RowStyle();
+ rowStyle.setHeight(40);
+ rowRenderData.setRowStyle(rowStyle);
+ List<CellRenderData> cells = new ArrayList<>();
+ //鍒楁暟
+ for (int j = 0; j < 3; 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) {
+ //绗竴琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText("椤圭洰");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText("璇曢獙瑕佹眰");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗笁鍒�
+ textRenderData.setText("瀹為獙缁撴灉");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ } else {
+ //鍏朵綑琛�
+ if (j == 0) {
+ //绗竴鍒�
+ textRenderData.setText(products.get(i - 1).getInspectionItemSubclass());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else if (j == 1) {
+ //绗簩鍒�
+ textRenderData.setText(products.get(i - 1).getTell());
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ } else {
+ //绗笁鍒�
+ //鑾峰彇妫�楠岄」鐩拰缁撹
+ InsProduct insProduct = products.get(i - 1);
+ String shiyanjieguo = "鏃犲紓甯�";
+ if (ObjectUtils.isNotNull(insProduct.getInsResult())) {
+ shiyanjieguo = insProduct.getInsResult() == 0 ? "涓嶅悎鏍�" : "鏃犲紓甯�";
+ }
+ textRenderData.setText("缁忚繃" + insProduct.getInspectionItemSubclass() + "涔嬪悗锛屾牱鍝�" + shiyanjieguo + "銆�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ }
+ rowRenderData.setCells(cells);
+ if (rowRenderData.getCells().size() != 0) {
+ rows.add(rowRenderData);
+ }
+ }
+ TableRenderData tableRenderData = new TableRenderData();
+ tableRenderData.setRows(rows);
+ int countSize = tableRenderData.getRows().get(0).getCells().size();
+ for (RowRenderData row : tableRenderData.getRows()) {
+ if (row.getCells().size() != countSize) {
+ throw new ErrorException("姣忚鍗曞厓鏍间笉鐩哥瓑");
+ }
+ }
+ TableStyle tableStyle = new TableStyle();
+ tableStyle.setWidth(XWPFTable.DEFAULT_PERCENTAGE_WIDTH);
+ tableStyle.setAlign(TableRowAlign.CENTER);
+ BorderStyle borderStyle = new BorderStyle();
+ borderStyle.setColor("000000");
+ borderStyle.setType(XWPFTable.XWPFBorderType.THICK);
+ borderStyle.setSize(4);
+ tableStyle.setLeftBorder(borderStyle);
+ tableStyle.setTopBorder(borderStyle);
+ tableStyle.setRightBorder(borderStyle);
+ tableStyle.setBottomBorder(borderStyle);
+ tableRenderData.setTableStyle(tableStyle);
+ Map<String, Object> table4 = new HashMap<>();
+ table4.put("table4", tableRenderData);
+ tables4.add(table4);
+ }
+
+ /*妫�楠屾牱鍝佷俊鎭�*/
+ //鏍峰搧鐓х墖
+ //鑾峰彇闄勪欢鍥剧墖绫诲瀷
+ 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)) {
+ 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 (!currentRow.isEmpty()) {
+ imageRows.add(currentRow);
+ }
+ }
+ //鏍峰搧缂栧彿鍙傜収涓婅堪sampleCode
+
+
+ /*妫�娴嬩汉鍛樹俊鎭�*/
+ List<InsUserDto> insUsers = new ArrayList<>();
+ //鏌ヨ姣忎釜绔欑偣鐨勬楠屼汉鍛樹笌澶嶆牳浜哄憳
+ List<InsSampleUser> insSampleUsers = insSampleUserMapper.selectList(Wrappers.<InsSampleUser>lambdaQuery()
+ .eq(InsSampleUser::getInsSampleId, insReportDto1.getSampleId()));
+ //鏍规嵁绔欑偣杩涜鍒嗙被
+ Map<String, List<InsSampleUser>> listMap = insSampleUsers.stream().collect(Collectors.groupingBy(InsSampleUser::getSonLaboratory));
+ int index2=1;
+ for (Map.Entry<String, List<InsSampleUser>> entry : listMap.entrySet()) {
+ InsUserDto insUserDto = new InsUserDto();
+ insUserDto.setIndex(index2+"");//搴忓彿
+ insUserDto.setInsProduct(entry.getKey());//椤圭洰
+ List<InsSampleUser> insUserList = entry.getValue().stream().filter(insSampleUser -> insSampleUser.getState() == 0).collect(Collectors.toList());//妫�楠屼汉
+ String insUser = insUserList.stream().map(insSampleUser -> {
+ User user = userMapper.selectById(insSampleUser.getUserId());
+ return user.getName();
+ }).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(","));
+ insUserDto.setCheckUser(checkUser);//瀹℃牳浜哄憳
+ insUsers.add(insUserDto);
+ index2++;
+ }
+
+
+
+
+ /*娴嬭瘯浠〃*/
+ Set<String> deviceSet = new HashSet<>();
+ //鏌ヨ鎵�鏈夐」鐩殑璁惧
+ List<Integer> productIds = insProducts.stream().map(InsProduct::getId).collect(Collectors.toList());
+ //鏅��
+ List<InsProductResult> results = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery()
+ .in(InsProductResult::getInsProductId, productIds));
+ if (results.size()>0){
+ for (InsProductResult result : results) {
+ List<JSONObject> jsonObjects = JSON.parseArray(result.getEquipValue(), JSONObject.class);
+ if (ObjectUtils.isNotEmpty(jsonObjects)) {
+ for (JSONObject jsonObject : jsonObjects) {
+ String value = jsonObject.getString("v");
+ if (value != null && !value.isEmpty()) {
+ deviceSet.add(value);
+ }
+ }
+ }
+ }
+ }
+ //鐢佃矾
+ List<InsProductResult2> result2s = insProductResult2Mapper.selectList(Wrappers.<InsProductResult2>lambdaQuery()
+ .in(InsProductResult2::getInsProductId, productIds));
+ if (result2s.size()>0){
+ for (InsProductResult2 result2 : result2s) {
+ String equipValue = result2.getEquipValue();
+ if (equipValue != null && !equipValue.isEmpty()) {
+ deviceSet.add(equipValue);
+ }
+ }
+ }
+ List<DevListDto> devList = new ArrayList<>();
+ if (deviceSet.size() != 0) {
+ devList = insOrderMapper.selectDeviceList(deviceSet);
+ }
+
+ /*鐢熸垚鎶ュ憡*/
+ ZipSecureFile.setMinInflateRatio(0.0001);
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
+ Configure configure = Configure.builder()
+ .bind("insProductList", new HackLoopTableRenderPolicy())
+ .bind("devList", new HackLoopTableRenderPolicy())
+ .bind("insUsers", new HackLoopTableRenderPolicy())
+ .build();
+ List<DevListDto> finalDevList = devList;
String finalTitle = title3;
- XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
new HashMap<String, Object>() {{
- put("order", insOrder);
- put("report", insReport);
- put("departLims", departLims);
- put("sampleCode", sampleCode);
- put("environment", finalEnvironment);
- put("custom", custom);
- put("sampleSize", "1");
- put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2));
- put("deviceList", finalDeviceList);
- put("tables", tables);
- put("tables2", tables2);
- put("title3", finalTitle);
- put("tables3", tables3);
- put("tables4", tables4);
- put("sampleList", sampleList);
- put("twoCode", Pictures.ofLocal(codePath).create());
- put("models", finalModelStr.replace(",", ""));
- put("productSize", productSize);
- put("productSize2", productSize2);
- put("productSize3", productSize3);
- put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
-// put("createTimeEn", monthNames[now.getMonthValue() - 1] + " " + now.getDayOfMonth() + ", " + now.getYear());
- put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("insTimeEn", monthNames[insOrder.getInsTime().getMonthValue() - 1] + " " + insOrder.getInsTime().getDayOfMonth() + ", " + insOrder.getInsTime().getYear());
- put("writeUrl", null);
- put("insUrl", Pictures.ofLocal(imgUrl + "/" + signatureUrl).create());
- put("images", images);
- put("examineUrl", null);
- put("ratifyUrl", null);
- put("sampleEn", sampleEn);
- put("orderType", orderType);
- put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
- put("getTimeEn", monthNames[insOrder.getExamineTime().getMonthValue() - 1] + " " + insOrder.getExamineTime().getDayOfMonth() + ", " + insOrder.getExamineTime().getYear());
- put("seal1", null);
- put("seal2", null);
- put("formTypeCh", formType);
- put("formTypeEn", insOrder.getFormType());
+ put("sampleName", sampleName); //浜у搧鍚嶇О
+ put("models",models); //鍨嬪彿瑙勬牸
+ put("custom", custom); //濮旀墭鍗曚綅
+ put("createTime", now.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); //鎶ュ憡鍙戝竷鏃ユ湡
+ put("departLims", departLims); //濮旀墭閮ㄩ棬
+ put("sampleCode", sampleCode); //鏍峰搧缂栧彿
+ put("order", insOrder); //璁㈠崟涓讳綋淇℃伅
+ put("getTime", insOrder.getExamineTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); //鏉ユ牱鏃ユ湡
+ put("insTime", insOrder.getInsTime().format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"))); //妫�娴嬫棩鏈�
+ put("standardMethod", (standardMethod2.toString().equals("null") ? "" : standardMethod2)); //妫�娴嬩緷鎹�
+ put("productSize", productSize); //妫�娴嬬粨璁�
+ put("productSize2", productSize2); //妫�娴嬬粨璁�
+ put("productSize3", productSize3); //妫�娴嬬粨璁�
+ put("report", insReport); //鎶ュ憡缂栧彿
+ put("insProductList", insProductList); //妫�楠屾儏鍐典竴瑙堣〃
+ put("tables2", tables2); //妫�娴嬬粨鏋�
+ put("title3", finalTitle); //妫�娴嬬粨鏋�
+ put("tables3", tables3); //妫�娴嬬粨鏋�
+ put("tables4", tables4); //妫�娴嬬粨鏋�
+ put("images", imageRows); //鏍峰搧鐓х墖
+ put("insUsers", insUsers); //妫�娴嬩汉鍛樹俊鎭�
+ put("devList", finalDevList); //娴嬭瘯浠〃
+ put("writeUrl", null); //鎻愪氦浜�
+ put("examineUrl", null); //瀹℃牳浜�
+ put("ratifyUrl", null); //鎵瑰噯浜�
+ put("seal1", null); //鍗扮珷
+ put("seal2", null); //鍗扮珷
}});
try {
ZipSecureFile.setMinInflateRatio(0.0001);
@@ -3299,7 +3099,7 @@
FileInputStream stream = new FileInputStream(path);
XWPFDocument document = new XWPFDocument(stream);
List<XWPFTable> xwpfTables = document.getTables();
- for (int i = 1; i < xwpfTables.size() - (deviceList == null ? 1 : 2); i++) {
+ for (int i = 1; i < xwpfTables.size() - (devList == null ? 1 : 2); i++) {
Set<String> set1 = new HashSet<>();
Map<String, Map<String, Integer>> maps = new HashMap<>();
for (int j = 0; j < xwpfTables.get(i).getRows().size(); j++) {
@@ -3371,7 +3171,7 @@
FileInputStream stream1 = new FileInputStream(path);
XWPFDocument document1 = new XWPFDocument(stream1);
List<XWPFTable> xwpfTables1 = document1.getTables();
- for (int i = 1; i < xwpfTables1.size() - (deviceList == null ? 1 : 2); i++) {
+ for (int i = 1; i < xwpfTables1.size() - (devList == null ? 1 : 2); i++) {
for (int j = 0; j < xwpfTables1.get(i).getRows().size(); j++) {
for (int k = 0; k < xwpfTables1.get(i).getRows().get(j).getTableCells().size(); k++) {
if (xwpfTables1.get(i).getRows().get(j).getTableCells().get(k).getText().contains("@")) {
@@ -3396,6 +3196,19 @@
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} 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);
}
}
@@ -3459,7 +3272,8 @@
if (inspectionItemSubclass.contains("浜掕皟")) {
aa += (angles + 1) * portRow * often;
}
- } else {
+ }
+ else {
if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�")) {
aa += (angles + 1) * portRow;
}
@@ -3551,7 +3365,7 @@
int qq = 0;
int ss = 0;
//琛ㄦ牸鐨勮鏁�
- for (int i = 0; i <= aa; i++) {
+ for (int i = 0; i <= aa+1; i++) {
RowRenderData rowRenderData = new RowRenderData();
RowStyle rowStyle = new RowStyle();
rowStyle.setHeight(40);
@@ -3575,7 +3389,57 @@
style.setFontFamily("瀹嬩綋");
style.setColor("000000");
textRenderData.setStyle(style);
- if (i == 0) {
+ if (i==0){
+ if (j==0){
+ textRenderData.setText("搴忓彿");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 1) {
+ textRenderData.setText("妫�楠岄」鐩�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 2) {
+ textRenderData.setText("鍗曚綅");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == 3) {
+ textRenderData.setText("鏍囧噯涓庤姹�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else if (j == bb-1) {
+ textRenderData.setText("妫�楠岀粨璁�");
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ else {
+ textRenderData.setText("妫�楠岀粨鏋溾垜5476" + i);
+ renderData.add(textRenderData);
+ paragraphRenderData.setContents(renderData);
+ paragraphRenderDataList.add(paragraphRenderData);
+ cellRenderData.setParagraphs(paragraphRenderDataList);
+ cells.add(cellRenderData);
+ }
+ }
+ else if (i == 1) {
//绗竴琛�
textRenderData.setText("棰戞锛�" + s + "鈭�0" + lable);
renderData.add(textRenderData);
@@ -3584,6 +3448,7 @@
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
} else {
+ i=i-1;
if (insOrderState.getVersion() == 1) {
//闈炵數璋冪増鏈�(绠�鍗曠増)
if (inspectionItemSubclass.contains("鐢靛帇椹绘尝姣�") && i <= 2 * portRow) {
@@ -3642,7 +3507,8 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- } else if (j == bb - 1) {
+ }
+ else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if (i % 2 == 0) {
//缁撹
@@ -3654,14 +3520,15 @@
textRenderData.setText("涓嶅垽瀹�");
}
} else {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
}
renderData.add(textRenderData);
paragraphRenderData.setContents(renderData);
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- } else {
+ }
+ else {
//鍏朵綑鍒�
if (i % 2 == 0) {
//鏈�宸��
@@ -4100,7 +3967,7 @@
} else if (j == 4) {
//绗簲鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("瑙掑害");
+ textRenderData.setText("棰戞");
} else {
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) - 2) % (angles + 1)]);
}
@@ -4112,7 +3979,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
if (products.get(0).getInsResult() == 1) {
textRenderData.setText("鍚堟牸鈭�8" + index + ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) + (angles - 1)) / (angles + 1) - 1));
@@ -4207,7 +4074,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if (i % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4312,7 +4179,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - cc) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4435,7 +4302,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (dd == 0 ? cc : dd)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4558,7 +4425,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (ee == 0 ? ((dd == 0 ? cc : dd)) : ee)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4681,7 +4548,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4786,7 +4653,7 @@
//绗簲鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
//瑙掑害
- textRenderData.setText("瑙掑害");
+ textRenderData.setText("棰戞");
} else {
//鍊�
textRenderData.setText(result2s.get(0).getAngle().split(",")[(i + (angles - 1)) % (angles + 1)]);
@@ -4799,7 +4666,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4896,7 +4763,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -4989,7 +4856,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -5086,7 +4953,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (nn == 0 ? (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm) : nn)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -5193,7 +5060,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - (pp == 0 ? (nn == 0 ? (mm == 0 ? (hh == 0 ? (gg == 0 ? (ff == 0 ? (ee == 0 ? ((dd == 0 ? cc : dd)) : ee) : ff) : gg) : hh) : mm) : nn) : pp)) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -5300,7 +5167,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - rr) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -5406,7 +5273,7 @@
} else if (j == bb - 1) {
//鏈�鍚庝竴鍒�
if ((i - ss) % (angles + 1) == 1) {
- textRenderData.setText("/");
+ textRenderData.setText("鍒ゅ畾");
} else {
//缁撹
if (products.get(0).getInsResult() == 1) {
@@ -5520,7 +5387,7 @@
List<RowRenderData> rows = new ArrayList<>();
Set<String> itemSet = new HashSet<>();
//琛ㄦ牸鐨勮鏁�
- for (int i = 0; i < result2VOS.size(); i++) {
+ for (int i = 0; i < result2VOS.size()+1; i++) {
RowRenderData rowRenderData = new RowRenderData();
RowStyle rowStyle = new RowStyle();
rowStyle.setHeight(40);
@@ -5554,7 +5421,8 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- } else if (j == 1) {
+ }
+ else if (j == 1) {
//绗簩鍒�(妫�楠岄」鐩�)
textRenderData.setText(result2VOS.get(i).getInspectionItemSubclass() + "鈭�2" + index);
renderData.add(textRenderData);
@@ -5562,7 +5430,8 @@
paragraphRenderDataList.add(paragraphRenderData);
cellRenderData.setParagraphs(paragraphRenderDataList);
cells.add(cellRenderData);
- } else if (j == 2) {
+ }
+ else if (j == 2) {
//绗笁鍒�(鍗曚綅)
textRenderData.setText(result2VOS.get(i).getUnit() + "鈭�3" + index);
renderData.add(textRenderData);
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index 4d51c44..4ccad15 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -250,24 +250,7 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="selectDeviceList" resultType="java.util.Map">
- select device_name,
- specification_model,
- management_number,
- date_format(CASE
- WHEN dmr.next_calibration_date is not null THEN dmr.next_calibration_date
- WHEN d.next_calibration_date > CURDATE() THEN d.next_calibration_date
- END,'%Y-%m-%d')
- <!--date_format(next_calibration_date,'%Y-%m-%d')-->
- latest_traceability
- from device d
- left join
- device_metric_record dmr on d.id = dmr.device_id
- where d.management_number in
- <foreach collection="names" index="index" open="(" separator="," close=")" item="val">
- #{val}
- </foreach>
- </select>
+
<update id="upInsOrderParameter" parameterType="com.yuanchu.mom.pojo.InsOrder">
UPDATE ins_order
@@ -463,4 +446,23 @@
join user on prepare_user = name
where ins_order.id = #{id}
</select>
+
+ <select id="selectDeviceList" resultType="com.yuanchu.mom.dto.DevListDto">
+ select ROW_NUMBER() OVER (ORDER BY d.management_number) AS indexs,
+ device_name AS name,
+ specification_model AS model,
+ management_number AS number,
+ version,
+ date_format(CASE
+ WHEN dmr.next_calibration_date is not null THEN dmr.next_calibration_date
+ WHEN d.next_calibration_date > CURDATE() THEN d.next_calibration_date
+ END,'%Y-%m-%d') AS date
+ from device d
+ left join
+ device_metric_record dmr on d.id = dmr.device_id
+ where d.management_number in
+ <foreach collection="names" index="index" open="(" separator="," close=")" item="val">
+ #{val}
+ </foreach>
+ </select>
</mapper>
diff --git a/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml b/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
index 54caf1b..ec990c2 100644
--- a/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
+++ b/inspect-server/src/main/resources/mapper/StandardMethodListMapper.xml
@@ -96,4 +96,8 @@
<select id="getStandardMethodId" resultType="java.lang.Integer">
select id from standard_method where code = #{code}
</select>
+
+ <select id="getStandardMethodName" resultType="java.lang.String">
+ select name from standard_method where code = #{code}
+ </select>
</mapper>
diff --git a/inspect-server/src/main/resources/static/report-template.docx b/inspect-server/src/main/resources/static/report-template.docx
index 6b9bc9a..6ac386d 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