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