From 7787f57521297df847bfd5f2b9af410b3fdac67e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 20 十月 2026 16:28:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java | 32 +++++++++++++++++++++++---------
1 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java b/basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java
index fe80870..d13456b 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java
@@ -13,9 +13,10 @@
import java.util.List;
import java.util.Set;
-/** 瑙f瀽 Luckysheet 鍘熷璁板綍妯℃澘涓殑鈥滄楠岄」鈥濇爣璁般�� */
+/** 瑙f瀽 Luckysheet 鍘熷璁板綍妯℃澘涓殑鈥滄楠岄」鈥濓紱鏈爣璁版椂鍥為��鍒扳�滃鍑哄�尖�濊銆� */
public final class StandardTemplateInspectionItemParser {
private static final String INSPECTION_ITEM_MARK = "妫�楠岄」";
+ private static final String EXPORT_VALUE_MARK = "瀵煎嚭鍊�";
private StandardTemplateInspectionItemParser() {
}
@@ -34,11 +35,22 @@
} catch (Exception e) {
throw new BaseException("鍘熷璁板綍妯℃澘鏍煎紡閿欒");
}
- List<TemplateInspectionItemDto> result = new ArrayList<>();
- Set<Integer> rows = new HashSet<>();
if (sheets == null) {
throw new BaseException("鍘熷璁板綍妯℃澘鏍煎紡閿欒");
}
+ List<TemplateInspectionItemDto> result = parseMarkedCells(sheets, templateId, templateSort,
+ INSPECTION_ITEM_MARK);
+ if (result.isEmpty()) {
+ result = parseMarkedCells(sheets, templateId, templateSort, EXPORT_VALUE_MARK);
+ }
+ result.sort(Comparator.comparing(TemplateInspectionItemDto::getTemplateRowIndex));
+ return result;
+ }
+
+ private static List<TemplateInspectionItemDto> parseMarkedCells(JSONArray sheets, Integer templateId,
+ Integer templateSort, String mark) {
+ List<TemplateInspectionItemDto> result = new ArrayList<>();
+ Set<Integer> rows = new HashSet<>();
for (Object sheetObject : sheets) {
JSONObject sheet = (JSONObject) sheetObject;
JSONArray cells = sheet.getJSONArray("celldata");
@@ -48,16 +60,19 @@
for (Object cellObject : cells) {
JSONObject cell = (JSONObject) cellObject;
JSONObject value = cell.getJSONObject("v");
- if (value == null || !isInspectionItem(value)) {
+ if (value == null || !hasMark(value, mark)) {
continue;
}
Integer row = cell.getInteger("r");
String item = getCellText(value);
if (row == null || !StringUtils.hasText(item)) {
- throw new BaseException("鈥滄楠岄」鈥濇爣璁版墍鍦ㄥ崟鍏冩牸蹇呴』濉啓妫�楠岄」鍚嶇О");
+ throw new BaseException("鈥�" + mark + "鈥濇爣璁版墍鍦ㄥ崟鍏冩牸蹇呴』濉啓妫�楠岄」鍚嶇О");
}
if (!rows.add(row)) {
- throw new BaseException("鍚屼竴妯℃澘琛屽彧鑳介厤缃竴涓�滄楠岄」鈥濇爣璁�");
+ if (EXPORT_VALUE_MARK.equals(mark)) {
+ continue;
+ }
+ throw new BaseException("鍚屼竴妯℃澘琛屽彧鑳介厤缃竴涓��" + mark + "鈥濇爣璁�");
}
TemplateInspectionItemDto dto = new TemplateInspectionItemDto();
dto.setTemplateId(templateId);
@@ -67,7 +82,6 @@
result.add(dto);
}
}
- result.sort(Comparator.comparing(TemplateInspectionItemDto::getTemplateRowIndex));
return result;
}
@@ -101,8 +115,8 @@
return richText.toString();
}
- private static boolean isInspectionItem(JSONObject value) {
+ private static boolean hasMark(JSONObject value, String mark) {
JSONObject ps = value.getJSONObject("ps");
- return ps != null && INSPECTION_ITEM_MARK.equals(ps.getString("value"));
+ return ps != null && mark.equals(ps.getString("value"));
}
}
--
Gitblit v1.9.3