From 685257c3dc80fb732480480128269cefa51e50e5 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 28 八月 2026 16:59:50 +0800
Subject: [PATCH] feat(inspect): 新增检验报告类型参数支持检测报告和检验报告
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 177 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 115 insertions(+), 62 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index 7cd309f..31c71a6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -88,6 +88,9 @@
@Service
public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
+ private static final int DETECTION_REPORT = 0;
+ private static final int INSPECTION_REPORT = 1;
+
@Resource
private InsSampleMapper insSampleMapper;
@Resource
@@ -766,7 +769,10 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode,Boolean registerInsResults) {
+ public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, Boolean registerInsResults, Integer reportType) {
+ if (!Objects.equals(DETECTION_REPORT, reportType) && !Objects.equals(INSPECTION_REPORT, reportType)) {
+ throw new ErrorException("璇烽�夋嫨鎶ュ憡绫诲瀷");
+ }
InsOrder order = insOrderMapper.selectById(orderId);
// 1. 鍒ゆ柇鏄惁鏈夐噸澶嶇紪鍙�, 鏈夐噸澶嶇紪鍙峰仛鎻愰啋
Long codeCount = insOrderMapper.selectCount(Wrappers.<InsOrder>lambdaQuery()
@@ -793,13 +799,17 @@
.in(InsProduct::getInsSampleId, InsSampleIds)
.eq(InsProduct::getSonLaboratory, laboratory)
.eq(InsProduct::getState, 1)
- .and(wrapper -> wrapper
- .isNull(InsProduct::getInsResult)
- .or()
- .eq(InsProduct::getInsResult, 2)
- )
+ .and(wrapper -> {
+ if (Objects.equals(reportType, DETECTION_REPORT)) {
+ wrapper.isNull(InsProduct::getLastValue).or().eq(InsProduct::getLastValue, "");
+ } else {
+ wrapper.isNull(InsProduct::getInsResult).or().eq(InsProduct::getInsResult, 2);
+ }
+ })
.ne(InsProduct::getIsBinding, 1));
- insProducts.addAll(insProductMapper.selectFiberInsProduct(InsSampleIds, laboratory));
+ if (Objects.equals(reportType, INSPECTION_REPORT)) {
+ insProducts.addAll(insProductMapper.selectFiberInsProduct(InsSampleIds, laboratory));
+ }
if (insProducts.size() > 0) {
String str = "";
int count = 0;
@@ -863,7 +873,7 @@
});
// 8.鎻愪氦鐢熸垚鎶ュ憡
- this.generateReport(orderId);
+ this.generateReport(orderId, reportType);
// 9.娣诲姞涓存椂pdf鐢熸垚鍦板潃
InsReport report = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery()
@@ -1263,22 +1273,24 @@
* 鐢熸垚鎶ュ憡
* @param orderId
*/
- private void generateReport(Integer orderId) {
+ private void generateReport(Integer orderId, Integer reportType) {
/*鏍峰搧涓嬬殑椤圭洰鍙鏈変竴涓」鐩笉鍚堟牸鍒欐楠岀粨鏋滀负0,鍚﹀垯涓�1*/
//杩欓噷鐨刬nsSamples鏄鍗曚笅鐨勬墍鏈夋牱鍝佸寘鎷�("/")
List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId));
+ if (Objects.equals(reportType, INSPECTION_REPORT)) {
for (InsSample insSample : insSamples) {
List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
.eq(InsProduct::getInsSampleId, insSample.getId())
.eq(InsProduct::getState, 1)
.ne(InsProduct::getIsBinding, 1));
- List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(str -> str != null).collect(Collectors.toList());
+ List<Integer> results = insProducts.stream().map(InsProduct::getInsResult).filter(Objects::nonNull).collect(Collectors.toList());
if (results.contains(0)) {
insSample.setInsResult(0);
} else {
insSample.setInsResult(1);
}
insSampleMapper.updateById(insSample);
+ }
}
InsOrder insOrder = insOrderMapper.selectById(orderId);
// 鎶芥鍙樻垚濮旀墭妫�楠�
@@ -1289,10 +1301,10 @@
// 鍒ゆ柇鏄ぇ鎶ュ憡杩樻槸灏忔姤鍛� 杩涘巶灏忔姤鍛�, 鍏朵粬閮芥槸澶ф姤鍛�
if (insOrder.getOrderType().equals(InsOrderTypeConstants.ENTER_THE_FACTORY)) {
// 鐢熸垚灏忔姤鍛�
- addSmallReport(orderId, insOrder, insSamples);
+ addSmallReport(orderId, insOrder, insSamples, reportType);
} else {
//鐢熸垚澶ф姤鍛�
- addBitReport(orderId, insOrder);
+ addBitReport(orderId, insOrder, reportType);
}
}
@@ -1638,10 +1650,19 @@
* @param max 鏍囪瘑鏈�澶т釜鏁�
* @return
*/
- private TableStyle setTableStyle(int max){
+ private TableStyle setTableStyle(int max, boolean showResult){
//璁剧疆鏍峰紡
TableStyle tableStyle = new TableStyle();
- if(max<=5){
+ if (!showResult) {
+ switch (max) {
+ case 1: tableStyle.setColWidths(new int[]{650, 3000, 850, 2400, 3100}); break;
+ case 2: tableStyle.setColWidths(new int[]{650, 2800, 850, 2200, 1750, 1750}); break;
+ case 3: tableStyle.setColWidths(new int[]{650, 2600, 850, 1800, 1400, 1400, 1400}); break;
+ case 4: tableStyle.setColWidths(new int[]{650, 2400, 850, 1600, 1125, 1125, 1125, 1125}); break;
+ case 5: tableStyle.setColWidths(new int[]{650, 2200, 850, 1500, 960, 960, 960, 960, 960}); break;
+ default: break;
+ }
+ } else if(max<=5){
for (int i = 1; i <= max; i++) {
// 鏍规嵁妫�楠岀粨鏋滀釜鏁颁慨鏀归暱搴�
switch (i) {
@@ -1729,11 +1750,13 @@
* @param insOrder
* @param insSamples
*/
- private void addSmallReport(Integer orderId, InsOrder insOrder, List<InsSample> insSamples) {
+ private void addSmallReport(Integer orderId, InsOrder insOrder, List<InsSample> insSamples, Integer reportType) {
InsReport insReport = new InsReport();
AtomicReference<String> resultCh = new AtomicReference<>("");
+ boolean showResult = Objects.equals(reportType, INSPECTION_REPORT);
insReport.setCode(insOrder.getEntrustCode());
insReport.setInsOrderId(orderId);
+ insReport.setReportType(reportType);
InsSample insSample = insSamples.get(0);
// 濉厖鍩虹鏁版嵁
EnterFactoryReport enterFactoryReport = new EnterFactoryReport();
@@ -1784,9 +1807,11 @@
String templateName;
if(StringUtils.equals(OrderType.WG.getValue(),ifsInventoryQuantity.getOrderType())){
//杩囨护涓嶅垽瀹氱殑妫�娴嬮」
- List<SampleProductExportDto> filterItems = sampleProductDto2s.stream().filter(f -> f.getInsResult() != 3).collect(Collectors.toList());
+ List<SampleProductExportDto> filterItems = sampleProductDto2s.stream()
+ .filter(f -> !showResult || f.getInsResult() != 3)
+ .collect(Collectors.toList());
int maxCableTag = 5;//鍗曚釜琛ㄦ牸锛岀數缂嗛鑹叉爣璇嗘渶澶т釜鏁�
- templateName = "/static/small-wg-report-template.docx";
+ templateName = showResult ? "/static/small-wg-report-template.docx" : "/static/small-wg-detection-template.docx";
//鏌ヨ妫�楠屽崟娑堟伅
InsSampleUserVO insSampleUser = insSampleUserMapper.selectUserNameByOrderId(orderId);
if(Objects.nonNull(insSampleUser)){
@@ -1832,7 +1857,7 @@
sortSampleProduct(tempMap,totalItem);
int tagNum = Math.min(max,maxCableTag);
List<String> tagList = cableTags.isEmpty()?new ArrayList<>():cableTags.subList(0,tagNum);
- handlerSampleItems(OrderType.WG.getValue(),totalItem,finalIndex,sampleList,tagNum,text,rows,rowRenderData,resultCh,tagList,true);
+ handlerSampleItems(OrderType.WG.getValue(), totalItem, finalIndex, sampleList, tagNum, text, rows, rowRenderData, resultCh, tagList, true, showResult);
if(CollectionUtil.isNotEmpty(tempMap2)){
sortSampleProduct(tempMap2,cableTagEnclosureItem);
@@ -1843,9 +1868,9 @@
List<TextRenderData> newText = new ArrayList<TextRenderData>();
List<RowRenderData> newRows = new ArrayList<>();
RowRenderData newRowRenderData = null;
- handlerSampleItems(OrderType.WG.getValue(),cableTagEnclosureItem,finalIndex2, new ArrayList<>(),newCableTags.size(),newText,newRows,newRowRenderData,resultCh,newCableTags,true);
+ handlerSampleItems(OrderType.WG.getValue(), cableTagEnclosureItem, finalIndex2, new ArrayList<>(), newCableTags.size(), newText, newRows, newRowRenderData, resultCh, newCableTags, true, showResult);
tableRenderData2.setRows(newRows);
- tableRenderData2.setTableStyle(setTableStyle(newCableTags.size()));
+ tableRenderData2.setTableStyle(setTableStyle(newCableTags.size(), showResult));
HashMap<String, Object> tableMap = new HashMap<>();
tableMap.put("enclosureTable",tableRenderData2);
tableMap.put("resultCh", resultCh);
@@ -1860,15 +1885,15 @@
}
tableRenderData.setRows(rows);
- tableRenderData.setTableStyle(setTableStyle(tagNum));
- if (!resultCh.get().isEmpty()) {
+ tableRenderData.setTableStyle(setTableStyle(tagNum, showResult));
+ if (showResult && !resultCh.get().isEmpty()) {
resultCh.set("缁忔楠岋紝" + resultCh.get() + "鎵�妫�椤圭洰涓嶅悎鏍硷紝鍏朵綑鎵�妫�椤圭洰鍧囧悎鏍笺�傦紙鐩栫珷鏈夋晥锛�");
- } else {
+ } else if (showResult) {
resultCh.set("鏈骇鍝佺鍚堢浉鍏虫爣鍑嗚姹傦紝缁忔楠屽悎鏍煎噯浜堝嚭鍘傦紙鐩栫珷鏈夋晥锛�");
}
}else{
- templateName = "/static/small-report-template.docx";
+ templateName = showResult ? "/static/small-report-template.docx" : "/static/small-detection-template.docx";
// 杞垚Mpa杩涜鎺掑簭
Map<String, List<SampleProductExportDto>> sortedMap = sampleProductDto2s.stream()
.filter(sampleProductDto2 -> StringUtils.isNotBlank(sampleProductDto2.getInspectionItem()))
@@ -1879,13 +1904,13 @@
AtomicInteger finalIndex = new AtomicInteger(1);
- handlerSampleItems(OrderType.RAW.getValue(), item,finalIndex,sampleList,max,text,rows,rowRenderData,resultCh,null,true);
+ handlerSampleItems(OrderType.RAW.getValue(), item, finalIndex, sampleList, max, text, rows, rowRenderData, resultCh, null, true, showResult);
tableRenderData.setRows(rows);
- tableRenderData.setTableStyle(setTableStyle(max));
+ tableRenderData.setTableStyle(setTableStyle(max, showResult));
- if (!resultCh.get().equals("")) {
+ if (showResult && !resultCh.get().equals("")) {
resultCh.set("缁忔楠岋紝" + resultCh.get() + "鎵�妫�椤圭洰涓嶅悎鏍硷紝鍏朵綑鎵�妫�椤圭洰鍧囧悎鏍笺��");
- } else {
+ } else if (showResult) {
resultCh.set("缁忔楠屾鎵�" + enterFactoryReport.getSample() + "鍚勯」鐩潎绗﹀悎妫�楠岃鑼冭姹傘��");
}
}
@@ -1913,7 +1938,7 @@
try {
// 淇敼鎹㈣鍜屽悎骞堕棶棰�
updaeMerge(template.getXWPFDocument(), true);
- String name = insReport.getCode().replace("/", "") + "-J.docx";
+ String name = insReport.getCode().replace("/", "") + (showResult ? "-J.docx" : "-C.docx");
template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
insReport.setUrl("/word/" + name);
insReport.setIsPass(0);
@@ -1940,7 +1965,7 @@
* @param rowRenderData
* @param resultCh
*/
- private static void handlerSampleItems(String orderType,Map<String, List<SampleProductExportDto>> item,AtomicInteger finalIndex,List<SampleProductExportDto> sampleList,Integer max,List<TextRenderData> text,List<RowRenderData> rows,RowRenderData rowRenderData,AtomicReference<String> resultCh,List<String> cableTagList,Boolean hasAddHead ){
+ private static void handlerSampleItems(String orderType, Map<String, List<SampleProductExportDto>> item, AtomicInteger finalIndex, List<SampleProductExportDto> sampleList, Integer max, List<TextRenderData> text, List<RowRenderData> rows, RowRenderData rowRenderData, AtomicReference<String> resultCh, List<String> cableTagList, Boolean hasAddHead, boolean showResult) {
item.forEach((s, sampleProductDtoInside) -> {
// 娣诲姞妫�楠岄」
SampleProductExportDto dto2 = new SampleProductExportDto();
@@ -2033,7 +2058,7 @@
// 娣诲姞灏忔姤鍛婅〃澶�
if(hasAddHead){
- text = addSmallHead(text, max, rows,cableTagList);
+ text = addSmallHead(text, max, rows, cableTagList, showResult);
}
// 涓棿妫�娴嬪�兼坊鍔�
@@ -2083,21 +2108,21 @@
if (CollectionUtils.isNotEmpty(sample.getLastValueList())
&& sample.getLastValueList().size() == max) {
// 鍒ゆ柇鏄惁鏄瑙�, 澶栬鍏ㄩ儴鍚堟牸鐨勮瘽闇�瑕佸悎骞�
- if (sample.getInspectionItem().contains("澶栬")) {
+ if (showResult && sample.getInspectionItem().contains("澶栬")) {
// 鍒ゅ畾缁撴灉
boolean falg = false;
if (CollectionUtils.isNotEmpty(sample.getLastValueList())) {
// 鍒ゆ柇鏄惁鏈変竴涓敊璇�
- if (sample.getInsResultList().stream().anyMatch(s -> s.equals(2))) {
+ if (sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 2))) {
falg = true;
} else {
- boolean error = sample.getInsResultList().stream().anyMatch(s -> s.equals(0));
+ boolean error = sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 0));
if (!error) {
falg = true;
}
}
} else {
- if (!sample.getInsResult().equals(2)) {
+ if (!Objects.equals(sample.getInsResult(), 2)) {
falg = true;
}
}
@@ -2152,7 +2177,7 @@
// 鍒ゅ畾缁撴灉
String result = "";
- if (sample.getInsResult() != null) {
+ if (showResult && sample.getInsResult() != null) {
switch (sample.getInsResult()) {
case 1:
result = "鈭�";
@@ -2165,18 +2190,18 @@
break;
}
}
- if (CollectionUtils.isNotEmpty(sample.getLastValueList())) {
+ if (showResult && CollectionUtils.isNotEmpty(sample.getLastValueList())) {
// 鍒ゆ柇鏄惁鏈変竴涓敊璇�
- if (sample.getInsResultList().stream().anyMatch(s -> s.equals(3))) {
+ if (sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 3))) {
result = "-";
} else {
- boolean error = sample.getInsResultList().stream().anyMatch(s -> s.equals(0));
+ boolean error = sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 0));
if (error) {
List<String> collect = new ArrayList<>();
int index = 1;
for (Integer count : sample.getInsResultList()) {
String type;
- if (count.equals(0)) {
+ if (Objects.equals(count, 0)) {
// 娣诲姞涓嶅悎鏍兼弿杩�
String item1 = (max == 1 ? "" : "绗�" + index + "娆�")
+ sample.getInspectionItem()
@@ -2200,6 +2225,7 @@
}
}
+ if (showResult) {
TextRenderData middleRenderData7 = new TextRenderData();
middleRenderData7.setText(result);
Style middleStyle7 = new Style();
@@ -2207,6 +2233,7 @@
middleStyle7.setColor("000000");
middleRenderData7.setStyle(middleStyle7);
text.add(middleRenderData7);
+ }
TextRenderData[] text2 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text2).center().rowAtleastHeight(1).create();
@@ -2227,7 +2254,7 @@
* @param rows
* @return
*/
- private static List<TextRenderData> addSmallHead(List<TextRenderData> text, Integer max, List<RowRenderData> rows,List<String> cableTagList) {
+ private static List<TextRenderData> addSmallHead(List<TextRenderData> text, Integer max, List<RowRenderData> rows, List<String> cableTagList, boolean showResult) {
RowRenderData rowRenderData;
// // 澶�
TextRenderData headRenderData1 = new TextRenderData();
@@ -2264,13 +2291,14 @@
for (int i = 0; i < max; i++) {
TextRenderData headRenderData6 = new TextRenderData();
- headRenderData6.setText("妫�楠岀粨鏋溾垜6");
+ headRenderData6.setText(showResult ? "妫�楠岀粨鏋溾垜6" : "妫�娴嬫暟鎹垜6");
Style headStyle6 = new Style();
headStyle6.setFontFamily("瀹嬩綋");
headStyle6.setColor("000000");
headRenderData6.setStyle(headStyle6);
text.add(headRenderData6);
}
+ if (showResult) {
TextRenderData headRenderData7 = new TextRenderData();
headRenderData7.setText("鍗曢」鍒ゆ柇");
Style headStyle7 = new Style();
@@ -2278,6 +2306,7 @@
headStyle7.setColor("000000");
headRenderData7.setStyle(headStyle7);
text.add(headRenderData7);
+ }
TextRenderData[] text3 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text3).center().rowAtleastHeight(1).create();
@@ -2327,6 +2356,7 @@
tagRenderData6.setStyle(tagStyle6);
text.add(tagRenderData6);
}
+ if (showResult) {
TextRenderData tagRenderData7 = new TextRenderData();
tagRenderData7.setText("");
Style tagStyle7 = new Style();
@@ -2334,6 +2364,7 @@
tagStyle7.setColor("000000");
tagRenderData7.setStyle(tagStyle7);
text.add(tagRenderData7);
+ }
TextRenderData[] text4 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text4).center().rowAtleastHeight(1).create();
@@ -2385,6 +2416,7 @@
tagRenderData6.setStyle(tagStyle6);
text.add(tagRenderData6);
}
+ if (showResult) {
TextRenderData tagRenderData7 = new TextRenderData();
tagRenderData7.setText("/");
Style tagStyle7 = new Style();
@@ -2392,6 +2424,7 @@
tagStyle7.setColor("000000");
tagRenderData7.setStyle(tagStyle7);
text.add(tagRenderData7);
+ }
TextRenderData[] text4 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text4).center().rowAtleastHeight(1).create();
@@ -2409,12 +2442,14 @@
* @param insOrder
* @param
*/
- private void addBitReport(Integer orderId, InsOrder insOrder) {
+ private void addBitReport(Integer orderId, InsOrder insOrder, Integer reportType) {
//samples鏄笉鍖呮嫭甯︽湁"/"鐨勬牱鍝�
List<SampleProductDto> samples = insSampleMapper.selectSampleProductListByOrderId(orderId);
InsReport insReport = new InsReport();
insReport.setCode(insOrder.getEntrustCode());
insReport.setInsOrderId(orderId);
+ insReport.setReportType(reportType);
+ boolean showResult = Objects.equals(reportType, INSPECTION_REPORT);
List<Map<String, Object>> tables = new ArrayList<>();
Set<String> standardMethod = new HashSet<>();
Set<String> deviceSet = new HashSet<>();
@@ -2504,15 +2539,15 @@
}
// 琛ㄥご娣诲姞
- addHead(a, text, rowRenderData, rows, max, cableTags);
+ addHead(a, text, rowRenderData, rows, max, cableTags, showResult);
text = new ArrayList<>();
// 娣诲姞妫�娴嬪��
- productSize.set(addTestValue(a, text, rowRenderData, rows, max, resultChList, resultEnList, insSamples, cableTags, isOneSample));
+ productSize.set(addTestValue(a, text, rowRenderData, rows, max, resultChList, resultEnList, insSamples, cableTags, isOneSample, showResult));
text = new ArrayList<>();
// 缁撳熬娣诲姞
- addEnding(text, rowRenderData, rows, max);
+ addEnding(text, rowRenderData, rows, max, showResult);
text = new ArrayList<>();
List<TableRenderData> tables1 = new ArrayList<>();
@@ -2546,7 +2581,7 @@
// for (int i = 1; i <= max; i++) {
// }
// 鏍规嵁妫�楠岀粨鏋滀釜鏁颁慨鏀归暱搴�
- tableStyle.setColWidths(calcTableColWidths(max));
+ tableStyle.setColWidths(calcTableColWidths(max, showResult));
// switch (max) {
// case 1:
// tableStyle.setColWidths(new int[]{650, 2000, 2000, 850, 2200, 2100, 1200});
@@ -2592,7 +2627,7 @@
// for (int i = 1; i <= max; i++) {
// }
// 鏍规嵁妫�楠岀粨鏋滀釜鏁颁慨鏀归暱搴�
- tableStyle.setColWidths(calcTableColWidths(max));
+ tableStyle.setColWidths(calcTableColWidths(max, showResult));
// switch (max) {
// case 1:
// tableStyle.setColWidths(new int[]{650, 2000, 2000, 850, 2200, 2100, 1200});
@@ -2680,7 +2715,7 @@
Custom custom = customMapper.selectById(insOrder.getCompanyId());
// 鏌ヨ鍒ゆ柇鏄惁鏈変笉鍒ゅ畾椤圭洰,鍜屽叏閮芥槸鍒ゅ畾椤�
- int judgeType = insProductMapper.selectNoJudge(insOrder.getId());
+ int judgeType = showResult ? insProductMapper.selectNoJudge(insOrder.getId()) : 0;
String resultCh = "";
String resultEn = "";
for (String reference : resultChList) {
@@ -2772,7 +2807,7 @@
List<Map<String, String>> finalDeviceList = deviceList;
String finalModelStr = modelStr;
- InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
+ InputStream inputStream = this.getClass().getResourceAsStream(showResult ? "/static/report-template.docx" : "/static/detection-report-template.docx");
Configure configure = Configure.builder()
.bind("deviceList", new HackLoopTableRenderPolicy())
.useSpringEL(true)
@@ -2815,7 +2850,7 @@
try {
// 淇敼鎹㈣鍜屽悎骞堕棶棰�
updaeMerge(template.getXWPFDocument(), false);
- String name = insReport.getCode().replace("/", "") + ".docx";
+ String name = insReport.getCode().replace("/", "") + (showResult ? ".docx" : "-C.docx");
template.writeAndClose(Files.newOutputStream(Paths.get(wordUrl + "/" + name)));
insReport.setUrl("/word/" + name);
insReport.setWriteUserId(SecurityUtils.getUserId().intValue());//鎻愪氦浜�
@@ -2835,7 +2870,17 @@
* @param max 鏈�澶ф楠屼釜鏁�
* @return
*/
- private static int[] calcTableColWidths(int max){
+ private static int[] calcTableColWidths(int max, boolean showResult){
+ if (!showResult) {
+ switch (max) {
+ case 1: return new int[]{650, 2200, 2200, 850, 2300, 1800};
+ case 2: return new int[]{650, 1600, 1600, 850, 1900, 1700, 1700};
+ case 3: return new int[]{650, 1400, 1400, 850, 1600, 1375, 1375, 1375};
+ case 4: return new int[]{650, 1250, 1250, 850, 1450, 1140, 1140, 1140, 1140};
+ case 5: return new int[]{650, 1150, 1150, 850, 1300, 980, 980, 980, 980, 980};
+ default: return new int[0];
+ }
+ }
int[] colWidths = null;
switch (max) {
case 1:
@@ -3109,7 +3154,7 @@
* @param max
* @param cableTags 绾胯姱棰滆壊
*/
- private static void addHead(SampleProductDto sample, List<TextRenderData> text, RowRenderData rowRenderData, List<RowRenderData> rows, int max, List<String> cableTags) {
+ private static void addHead(SampleProductDto sample, List<TextRenderData> text, RowRenderData rowRenderData, List<RowRenderData> rows, int max, List<String> cableTags, boolean showResult) {
// 绗竴琛�
TextRenderData firstRenderData1 = new TextRenderData();
firstRenderData1.setText("鏍峰搧缂栧彿@Sample No.鈭�1");
@@ -3234,13 +3279,14 @@
for (int i = 0; i < max; i++) {
TextRenderData headRenderData6 = new TextRenderData();
- headRenderData6.setText("妫�楠岀粨鏋淍Test result鈭�6");
+ headRenderData6.setText(showResult ? "妫�楠岀粨鏋淍Test result鈭�6" : "妫�娴嬫暟鎹瓳Test data鈭�6");
Style headStyle6 = new Style();
headStyle6.setFontFamily("瀹嬩綋");
headStyle6.setColor("000000");
headRenderData6.setStyle(headStyle6);
text.add(headRenderData6);
}
+ if (showResult) {
TextRenderData headRenderData7 = new TextRenderData();
headRenderData7.setText("缁撹@Conclusion");
Style headStyle7 = new Style();
@@ -3248,6 +3294,7 @@
headStyle7.setColor("000000");
headRenderData7.setStyle(headStyle7);
text.add(headRenderData7);
+ }
TextRenderData[] text3 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text3).center().rowAtleastHeight(1).create();
@@ -3305,6 +3352,7 @@
cableRenderData6.setStyle(cableStyle6);
text.add(cableRenderData6);
}
+ if (showResult) {
TextRenderData cableRenderData7 = new TextRenderData();
cableRenderData7.setText("-");
Style cableStyle7 = new Style();
@@ -3312,6 +3360,7 @@
cableStyle7.setColor("000000");
cableRenderData7.setStyle(cableStyle7);
text.add(cableRenderData7);
+ }
TextRenderData[] text4 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text4).center().rowAtleastHeight(1).create();
@@ -3344,7 +3393,7 @@
List<String> resultChList,
List<String> resultEhList,
InsSample insSamples, List<String> cableTags,
- boolean isOneSample) {
+ boolean isOneSample, boolean showResult) {
// 妫�楠岄」鎬绘暟
AtomicInteger productSize = new AtomicInteger(1);
// 涓嶅悎鏍间俊鎭�
@@ -3868,6 +3917,7 @@
}
}
// 鍒ゅ畾缁撴灉
+ if (showResult) {
String result = "";
if (sample.getInsResult() != null) {
switch (sample.getInsResult()) {
@@ -3884,16 +3934,16 @@
}
if (CollectionUtils.isNotEmpty(sample.getLastValueList())) {
// 鍒ゆ柇鏄惁鏈変竴涓敊璇�
- if (sample.getInsResultList().stream().anyMatch(s -> s.equals(3))) {
+ if (sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 3))) {
result = "-";
} else {
- boolean error = sample.getInsResultList().stream().anyMatch(s -> s.equals(0));
+ boolean error = sample.getInsResultList().stream().anyMatch(s -> Objects.equals(s, 0));
if (error) {
List<String> collect = new ArrayList<>();
int index = 0;
for (Integer count : sample.getInsResultList()) {
String type;
- if (count.equals(0)) {
+ if (Objects.equals(count, 0)) {
String itemCh = "";
String itemEn = "";
// 娣诲姞涓嶅悎鏍兼弿杩�
@@ -3927,6 +3977,7 @@
}
}
+ if (showResult) {
TextRenderData headRenderData7 = new TextRenderData();
headRenderData7.setText(result);
Style headStyle7 = new Style();
@@ -3934,6 +3985,8 @@
headStyle7.setColor("000000");
headRenderData7.setStyle(headStyle7);
text.add(headRenderData7);
+ }
+ }
TextRenderData[] text2 = text.toArray(new TextRenderData[0]);
rowRenderData = Rows.of(text2).center().rowAtleastHeight(1).create();
@@ -4094,7 +4147,7 @@
sampleProductDto2.setLastValue(sampleProductDto2.getLastValue().trim());
}
- if (sampleProductDto2.getInsResult().equals(0)) {
+ if (Objects.equals(sampleProductDto2.getInsResult(), 0)) {
// 鏌ヨ涓嶅悎鏍煎娴�
Long count = insUnqualifiedRetestProductMapper.selectCount(Wrappers.<InsUnqualifiedRetestProduct>lambdaQuery()
.eq(InsUnqualifiedRetestProduct::getInsProductId, sampleProductDto2.getInsProductId())
@@ -4158,7 +4211,7 @@
* @param rowRenderData
* @param rows
*/
- private static void addEnding(List<TextRenderData> text, RowRenderData rowRenderData, List<RowRenderData> rows, int max) {
+ private static void addEnding(List<TextRenderData> text, RowRenderData rowRenderData, List<RowRenderData> rows, int max, boolean showResult) {
for (int i = 0; i < 2; i++) {
TextRenderData endingRenderData = new TextRenderData();
endingRenderData.setText("澶囨敞鈭�1999");
@@ -4169,9 +4222,9 @@
text.add(endingRenderData);
}
- for (int i = 0; i < 5 + max - 1; i++) {
+ for (int i = 0; i < (showResult ? 5 : 4) + max - 1; i++) {
TextRenderData endingRenderData = new TextRenderData();
- endingRenderData.setText("鈥溾垰鈥濊〃绀洪」鐩悎鏍�,鈥溍椻�濊〃绀洪」鐩笉鍚堟牸,鈥�-鈥濊〃绀轰笉瑕佸垽瀹氾紝鈥�/鈥濊〃绀烘病鏈夋爣鍑嗚姹傘�侤鈥溾垰鈥� indicates test ltem is qualified,鈥溍椻�� indicates test ltem is unqualified,鈥�-鈥� indicates test ltem judgment is not required,鈥�/鈥� indicates test ltem is no test requirement.鈭�2000");
+ endingRenderData.setText(showResult ? "鈥溾垰鈥濊〃绀洪」鐩悎鏍�,鈥溍椻�濊〃绀洪」鐩笉鍚堟牸,鈥�-鈥濊〃绀轰笉瑕佸垽瀹氾紝鈥�/鈥濊〃绀烘病鏈夋爣鍑嗚姹傘�侤鈥溾垰鈥� indicates test ltem is qualified,鈥溍椻�� indicates test ltem is unqualified,鈥�-鈥� indicates test ltem judgment is not required,鈥�/鈥� indicates test ltem is no test requirement.鈭�2000" : "");
Style endingStyle = new Style();
endingStyle.setFontFamily("瀹嬩綋");
endingStyle.setColor("000000");
--
Gitblit v1.9.3