From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/support/LimsSxtQushiTrendSupport.java | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/support/LimsSxtQushiTrendSupport.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/support/LimsSxtQushiTrendSupport.java
new file mode 100644
index 0000000..83dff21
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/support/LimsSxtQushiTrendSupport.java
@@ -0,0 +1,73 @@
+package jnpf.limsService.support;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * 姘寸郴缁熻秼鍔胯妯″瀷鐨勬棤鐘舵�佽浆鎹㈣鍒欍��
+ */
+public final class LimsSxtQushiTrendSupport {
+
+ private static final Set<String> NON_TREND_ITEM_NAMES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
+ "鎬х姸", "姘�", "纭濋吀鐩�", "浜氱閰哥洂", "鍐呮瘨绱犳鏌�", "閲嶉噾灞�"
+ )));
+
+ private LimsSxtQushiTrendSupport() {
+ }
+
+ public static boolean isTrendEnabled(String itemName) {
+ return isTrendEnabled(itemName, null);
+ }
+
+ public static boolean isTrendEnabled(String itemName, String shujuLeixing) {
+ if (itemName == null || NON_TREND_ITEM_NAMES.contains(itemName.trim())) {
+ return false;
+ }
+ if (shujuLeixing == null || shujuLeixing.trim().isEmpty()) {
+ return true;
+ }
+ String normalized = shujuLeixing.trim().toLowerCase(Locale.ROOT);
+ return !(normalized.contains("鏂囨湰")
+ || normalized.contains("瀛楃")
+ || normalized.contains("瀹氭��")
+ || normalized.contains("鏋氫妇")
+ || normalized.contains("甯冨皵")
+ || normalized.contains("閫夐」")
+ || normalized.contains("鏃ユ湡")
+ || normalized.contains("鏃堕棿")
+ || normalized.contains("鏂囦欢")
+ || normalized.contains("string")
+ || normalized.contains("text")
+ || normalized.contains("textarea")
+ || normalized.contains("select")
+ || normalized.contains("radio")
+ || normalized.contains("checkbox")
+ || normalized.contains("boolean")
+ || normalized.contains("date")
+ || normalized.contains("time")
+ || normalized.contains("file"));
+ }
+
+ public static BigDecimal toNumericOrNull(String value) {
+ if (value == null) {
+ return null;
+ }
+ String normalized = value.trim();
+ if (normalized.isEmpty()
+ || "N/A".equalsIgnoreCase(normalized)
+ || "NA".equalsIgnoreCase(normalized)
+ || "-".equals(normalized)
+ || "--".equals(normalized)) {
+ return null;
+ }
+ try {
+ return new BigDecimal(normalized);
+ } catch (NumberFormatException e) {
+ return null;
+ }
+ }
+}
--
Gitblit v1.8.0