From 51786b723d0a91d11476776d9ce50af7994dc4bd Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 23 九月 2026 15:58:53 +0800
Subject: [PATCH] feat(inspect): 完善检验订单状态管理和样品接收流程
---
basic-server/src/main/java/com/ruoyi/basic/utils/StandardTemplateInspectionItemParser.java | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 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 d2fd833..fe80870 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
@@ -52,10 +52,7 @@
continue;
}
Integer row = cell.getInteger("r");
- String item = value.getString("v");
- if (!StringUtils.hasText(item)) {
- item = value.getString("m");
- }
+ String item = getCellText(value);
if (row == null || !StringUtils.hasText(item)) {
throw new BaseException("鈥滄楠岄」鈥濇爣璁版墍鍦ㄥ崟鍏冩牸蹇呴』濉啓妫�楠岄」鍚嶇О");
}
@@ -74,6 +71,36 @@
return result;
}
+ /**
+ * 璇诲彇 Luckysheet 鍗曞厓鏍兼枃鏈紝鍏煎鏅�氭枃鏈拰 inlineStr 瀵屾枃鏈��
+ */
+ private static String getCellText(JSONObject value) {
+ String text = value.getString("v");
+ if (StringUtils.hasText(text)) {
+ return text;
+ }
+ text = value.getString("m");
+ if (StringUtils.hasText(text)) {
+ return text;
+ }
+
+ JSONObject cellType = value.getJSONObject("ct");
+ JSONArray segments = cellType == null ? null : cellType.getJSONArray("s");
+ if (segments == null || segments.isEmpty()) {
+ return text;
+ }
+ StringBuilder richText = new StringBuilder();
+ for (Object segmentObject : segments) {
+ if (segmentObject instanceof JSONObject) {
+ String segmentText = ((JSONObject) segmentObject).getString("v");
+ if (segmentText != null) {
+ richText.append(segmentText);
+ }
+ }
+ }
+ return richText.toString();
+ }
+
private static boolean isInspectionItem(JSONObject value) {
JSONObject ps = value.getJSONObject("ps");
return ps != null && INSPECTION_ITEM_MARK.equals(ps.getString("value"));
--
Gitblit v1.9.3