From b8bf2507bc7b23c90bc6dc71ea2460e277d3800a Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 30 一月 2026 19:23:44 +0800
Subject: [PATCH] 导入测试
---
java110-bean/src/main/java/com/java110/dto/importData/Vtil.java | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/java110-bean/src/main/java/com/java110/dto/importData/Vtil.java b/java110-bean/src/main/java/com/java110/dto/importData/Vtil.java
index e54a7d1..3d46854 100644
--- a/java110-bean/src/main/java/com/java110/dto/importData/Vtil.java
+++ b/java110-bean/src/main/java/com/java110/dto/importData/Vtil.java
@@ -1,10 +1,36 @@
package com.java110.dto.importData;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
+import java.time.format.ResolverStyle;
+import java.time.temporal.TemporalAdjusters;
+import java.util.Calendar;
+import java.util.Locale;
+
public class Vtil {
public static String defaultValue(Object o) {
return o == null ? "" : o.toString();
}
+ public static String defaultValueToNumber(Object obj) {
+ // 1. 澶勭悊null鍊�
+ if (obj == null) {
+ return "";
+ }
+
+ // 2. 灏嗗璞¤浆涓哄瓧绗︿覆锛堝吋瀹瑰悇绉嶇被鍨嬶級
+ String originalStr = String.valueOf(obj);
+
+ // 3. 浣跨敤姝e垯琛ㄨ揪寮忔浛鎹㈡墍鏈夐潪鏁板瓧瀛楃
+ // \\D 鍖归厤鎵�鏈夐潪鏁板瓧瀛楃锛堢瓑浠蜂簬 [^0-9]锛�
+ String numericStr = originalStr.replaceAll("\\D", "");
+
+ // 4. 杩斿洖澶勭悊鍚庣殑绾暟瀛楀瓧绗︿覆
+ return numericStr;
+ }
public static Double defaultDouble(Object o) {
return o == null || o.equals("") ? null : Double.parseDouble(defaultValue(o));
@@ -31,5 +57,65 @@
return str + "-";
}
+ public static String defaultValueToDate(Object o) {
+ // 绌哄�肩洿鎺ヨ繑鍥瀗ull锛堝師鏈夐�昏緫锛�
+ if (o == null || o.toString().isEmpty()) {
+ return null;
+ }
+ try {
+ // 灏濊瘯灏嗗璞¤浆鎹负鏁板瓧锛堝吋瀹笶xcel鏃ユ湡搴忓垪鍙凤紝濡�44747锛�
+ double excelDateNum = Double.parseDouble(o.toString());
+
+ // Excel 1900鏃ユ湡绯荤粺鍩哄噯锛堜慨姝i棸鏃ug锛屽疄闄呭熀鍑嗘槸1899-12-30锛�
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(1899, 11, 30, 0, 0, 0); // 鏈堜唤浠�0寮�濮嬶紝11浠h〃12鏈�
+ calendar.set(Calendar.MILLISECOND, 0);
+
+ // 璁$畻瀵瑰簲鐨勫疄闄呮棩鏈�
+ calendar.add(Calendar.DAY_OF_MONTH, (int) excelDateNum);
+
+ // 鏍煎紡鍖栦负yyyy-MM-dd鐨勬棩鏈熷瓧绗︿覆
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ return sdf.format(calendar.getTime());
+ } catch (NumberFormatException e) {
+ // 闈炴暟瀛楃被鍨嬶紝鎵ц鍘熸湁閫昏緫杩斿洖toString()
+ return o.toString();
+ }
+ }
+
+
+ public static String defaultValueToDate(Object o, String state) {
+ // 绌哄�肩洿鎺ヨ繑鍥瀗ull锛堝師鏈夐�昏緫锛�
+ if (o == null || o.toString().isEmpty() || o.toString().equals("0")) {
+ return null;
+ }
+
+ String input = o.toString().trim();
+ // 瀹氫箟骞存湀鏍煎紡鐨勮В鏋愬櫒
+ DateTimeFormatter ymFormatter = DateTimeFormatter.ofPattern("yyyy/M")
+ .withLocale(Locale.CHINA)
+ .withResolverStyle(ResolverStyle.LENIENT); // 瀹芥澗瑙f瀽锛屽吋瀹瑰悇绉嶅悎娉曟牸寮�
+
+ try {
+ // 鍏堣В鏋愪负YearMonth锛堜笓闂ㄥ鐞嗗勾鏈堢殑绫伙紝涓嶄細缂哄皯鏃ユ湡缁村害锛�
+ YearMonth yearMonth = YearMonth.parse(input, ymFormatter);
+
+ // 鏍规嵁state鍙傛暟澶勭悊鏃ユ湡
+ if ("start".equals(state)) {
+ // state涓簊tart鏃惰繑鍥炲綋鏈堢涓�澶�
+ LocalDate firstDay = yearMonth.atDay(1);
+ return firstDay.toString();
+ } else if ("end".equals(state)) {
+ // state涓篹nd鏃惰繑鍥炲綋鏈堟渶鍚庝竴澶�
+ LocalDate lastDay = yearMonth.atEndOfMonth();
+ return lastDay.toString();
+ }
+ } catch (DateTimeParseException e) {
+ // 涓嶆槸20xx/01鏍煎紡锛屽拷鐣ヨВ鏋愬紓甯革紝鎵ц鍘熸湁閫昏緫
+ }
+
+ // 闈炵洰鏍囨牸寮忔垨state涓嶅尮閰嶆椂锛岃繑鍥炲師濮嬪瓧绗︿覆锛堝師鏈夐�昏緫锛�
+ return input;
+ }
}
--
Gitblit v1.8.0