From a40e6b29c5a02c14712d56ffed16e36ce89464ca Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 29 十二月 2025 17:00:01 +0800
Subject: [PATCH] 报告生成调整
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 58 +++++++++++++++++++++++++++-------------------------------
1 files changed, 27 insertions(+), 31 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 7cd35f6..727c34b 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
@@ -1700,7 +1700,7 @@
}
}
//鍒囧壊鐢电紗閰嶇疆椤�
- dto.setTell(String.join("\n",tellSet));
+ dto.setTell(String.join("\n",tellSet.stream().sorted(Comparator.naturalOrder()).collect(Collectors.toList())));
dto.setLastValueList(lastValueList);
sampleProductExportDtos.add(dto);
}
@@ -1792,13 +1792,13 @@
enterFactoryReport.setInspectDate(insSampleUser.getInspectDate());
}
- Map<String, List<SampleProductExportDto>> item = new LinkedHashMap<>();//闈炵數缂嗛厤缃娴嬮」
+ Map<String, List<SampleProductExportDto>> totalItem = new LinkedHashMap<>();//妫�娴嬮」鍒楄〃
Map<String, List<SampleProductExportDto>> cableTagItem = new LinkedHashMap<>();//鐢电紗閰嶇疆妫�娴嬮」
Map<String, List<SampleProductExportDto>> cableTagEnclosureItem = new LinkedHashMap<>();//鐢电紗閰嶇疆妫�娴嬮」闄勪欢
AtomicInteger finalIndex = new AtomicInteger(1);
List<String> cableTags = insOrderMapper.selectSampleCableTag(insSample.getId());
- max = cableTags.size();
+ max = Math.max(cableTags.size(),1);
//澶勭悊鐢电紗閰嶇疆妫�娴嬮」
Map<String, List<SampleProductExportDto>> tempMap = new HashMap<>();
Map<String, List<SampleProductExportDto>> tempMap2 = new HashMap<>();
@@ -1817,12 +1817,19 @@
}else{
sampleProductExportDtos = transformSampleProduct(cableTags,collect,0,cableTags.size());
}
- tempMap.put(key,sampleProductExportDtos);
+ cableTagItem.put(key,sampleProductExportDtos);
}
- sortSampleProduct(tempMap,cableTagItem);
+ //澶勭悊闈炵數缂嗛厤缃娴嬮」
+ Map<String, List<SampleProductExportDto>> listMap = filterItems.stream()
+ .filter(f -> StringUtils.isBlank(f.getCableTag()) && StringUtils.isNotBlank(f.getInspectionItem()))
+ .collect(Collectors.groupingBy(s->s.getInspectionItem()+"&"));
+ //鍚堝苟妫�娴嬮」鍒楄〃
+ tempMap.putAll(cableTagItem);
+ tempMap.putAll(listMap);
+ sortSampleProduct(tempMap,totalItem);
int tagNum = Math.min(max,maxCableTag);
- List<String> tagList = cableTags.subList(0,tagNum);
- handlerSampleItems(cableTagItem,finalIndex,sampleList,tagNum,text,rows,rowRenderData,resultCh,tagList,true);
+ 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);
if(CollectionUtil.isNotEmpty(tempMap2)){
sortSampleProduct(tempMap2,cableTagEnclosureItem);
@@ -1833,7 +1840,7 @@
List<TextRenderData> newText = new ArrayList<TextRenderData>();
List<RowRenderData> newRows = new ArrayList<>();
RowRenderData newRowRenderData = null;
- handlerSampleItems(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);
tableRenderData2.setRows(newRows);
tableRenderData2.setTableStyle(setTableStyle(newCableTags.size()));
HashMap<String, Object> tableMap = new HashMap<>();
@@ -1849,17 +1856,9 @@
cableTagEnclosureTables.add(tableMap);
}
- //澶勭悊闈炵數缂嗛厤缃娴嬮」
- Map<String, List<SampleProductExportDto>> listMap = filterItems.stream()
- .filter(f -> StringUtils.isBlank(f.getCableTag()) && StringUtils.isNotBlank(f.getInspectionItem()))
- .collect(Collectors.groupingBy(SampleProductExportDto::getInspectionItem));
- sortSampleProduct(listMap,item);
- text = new ArrayList<>();
- sampleList = new ArrayList<>();
- handlerSampleItems(item,finalIndex,sampleList,tagNum,text,rows,rowRenderData,resultCh,cableTags,false);
tableRenderData.setRows(rows);
tableRenderData.setTableStyle(setTableStyle(tagNum));
- if (!resultCh.get().equals("")) {
+ if (!resultCh.get().isEmpty()) {
resultCh.set("缁忔楠岋紝" + resultCh.get() + "鎵�妫�椤圭洰涓嶅悎鏍硷紝鍏朵綑鎵�妫�椤圭洰鍧囧悎鏍笺�傦紙鐩栫珷鏈夋晥锛�");
} else {
resultCh.set("鏈骇鍝佺鍚堢浉鍏虫爣鍑嗚姹傦紝缁忔楠屽悎鏍煎噯浜堝嚭鍘傦紙鐩栫珷鏈夋晥锛�");
@@ -1871,18 +1870,13 @@
Map<String, List<SampleProductExportDto>> sortedMap = sampleProductDto2s.stream()
.filter(sampleProductDto2 -> StringUtils.isNotBlank(sampleProductDto2.getInspectionItem()))
.collect(Collectors.groupingBy(SampleProductExportDto::getInspectionItem));
-// List<Map.Entry<String, List<SampleProductExportDto>>> entries = new ArrayList<>(sortedMap.entrySet());
-// entries.sort(Comparator.comparingInt(o -> (o.getValue().get(0).getSort() == null ? 0 : o.getValue().get(0).getSort())));
// // 鍒涘缓涓�涓� LinkedHashMap 鏉ヤ繚鎸佹彃鍏ラ『搴�
Map<String, List<SampleProductExportDto>> item = new LinkedHashMap<>();
-// for (Map.Entry<String, List<SampleProductExportDto>> entry : entries) {
-// item.put(entry.getKey(), entry.getValue());
-// }
sortSampleProduct(sortedMap,item);
AtomicInteger finalIndex = new AtomicInteger(1);
- handlerSampleItems(item,finalIndex,sampleList,max,text,rows,rowRenderData,resultCh,null,true);
+ handlerSampleItems(OrderType.RAW.getValue(), item,finalIndex,sampleList,max,text,rows,rowRenderData,resultCh,null,true);
tableRenderData.setRows(rows);
tableRenderData.setTableStyle(setTableStyle(max));
@@ -1943,7 +1937,7 @@
* @param rowRenderData
* @param resultCh
*/
- private static void handlerSampleItems(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 ){
item.forEach((s, sampleProductDtoInside) -> {
// 娣诲姞妫�楠岄」
SampleProductExportDto dto2 = new SampleProductExportDto();
@@ -1956,10 +1950,10 @@
// 澶勭悊闆嗗悎
Map<String, SampleProductExportDto> map = new LinkedHashMap<>();
for (SampleProductExportDto productDto2 : sampleProductDtoInside) {
- String productName = productDto2.getInspectionItemClass() + productDto2.getInspectionItem();
+ String productName = productDto2.getInspectionItemClass() + productDto2.getInspectionItem() + productDto2.getCableTag();
if (map.containsKey(productName)) {
// 濡傛灉鍚嶇О宸茬粡瀛樺湪锛屾坊鍔� lastValue 鍊煎埌 lastValueList 鍒楄〃
- if(CollectionUtil.isEmpty(map.get(productName).getLastValueList())){
+ if(CollectionUtil.isEmpty(map.get(productName).getLastValueList()) || StringUtils.equals(OrderType.RAW.getValue(),orderType)){
map.get(productName)
.getLastValueList()
.add(productDto2.getLastValue());
@@ -1969,7 +1963,7 @@
.add(productDto2.getInsResult());
} else {
// 濡傛灉鍚嶇О涓嶅瓨鍦紝鐩存帴鏀惧叆 map
- if(CollectionUtil.isEmpty(productDto2.getLastValueList())){
+ if(CollectionUtil.isEmpty(productDto2.getLastValueList()) || StringUtils.equals(OrderType.RAW.getValue(),orderType)){
productDto2.setLastValueList(new ArrayList<>()); // 妫�楠屽唴瀹�
productDto2.getLastValueList().add(productDto2.getLastValue());
}
@@ -2001,10 +1995,10 @@
// 澶勭悊闆嗗悎
Map<String, SampleProductExportDto> map = new LinkedHashMap<>();
for (SampleProductExportDto productDto2 : sampleProductDtoInside) {
- String productName = productDto2.getInspectionItemClass() + productDto2.getInspectionItem() + productDto2.getInspectionItemSubclass();
+ String productName = productDto2.getInspectionItemClass() + productDto2.getInspectionItem() + productDto2.getInspectionItemSubclass() + productDto2.getCableTag();
if (map.containsKey(productName)) {
// 濡傛灉鍚嶇О宸茬粡瀛樺湪锛屾坊鍔� lastValue 鍊煎埌 lastValueList 鍒楄〃
- if(CollectionUtil.isEmpty(map.get(productName).getLastValueList())){
+ if(CollectionUtil.isEmpty(map.get(productName).getLastValueList()) || StringUtils.equals(OrderType.RAW.getValue(),orderType)){
map.get(productName)
.getLastValueList()
.add(productDto2.getLastValue());
@@ -2014,7 +2008,7 @@
.add(productDto2.getInsResult());
} else {
// 濡傛灉鍚嶇О涓嶅瓨鍦紝鐩存帴鏀惧叆 map
- if(CollectionUtil.isEmpty(productDto2.getLastValueList())){
+ if(CollectionUtil.isEmpty(productDto2.getLastValueList()) || StringUtils.equals(OrderType.RAW.getValue(),orderType)){
productDto2.setLastValueList(new ArrayList<>()); // 妫�楠屽唴瀹�
productDto2.getLastValueList().add(productDto2.getLastValue());
}
@@ -2054,7 +2048,9 @@
// 妫�楠岄」鐩�
TextRenderData middleRenderData2 = new TextRenderData();
- middleRenderData2.setText(sample.getInspectionName()+"鈭�"+sample.getInspectionName()+i);
+ String[] split = sample.getInspectionName().split("&");
+ String itemName = split.length>0?split[0]:sample.getInspectionName();
+ middleRenderData2.setText(itemName+"鈭�"+itemName+i+"_"+finalIndex);
Style middleStyle2 = new Style();
middleStyle2.setFontFamily("瀹嬩綋");
middleStyle2.setColor("000000");
--
Gitblit v1.9.3