From b8bf2507bc7b23c90bc6dc71ea2460e277d3800a Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期五, 30 一月 2026 19:23:44 +0800
Subject: [PATCH] 导入测试

---
 service-api/src/main/java/com/java110/api/importData/DefaultImportDataAdapt.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 52 insertions(+), 1 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/importData/DefaultImportDataAdapt.java b/service-api/src/main/java/com/java110/api/importData/DefaultImportDataAdapt.java
index e2ba224..713fc0f 100644
--- a/service-api/src/main/java/com/java110/api/importData/DefaultImportDataAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/DefaultImportDataAdapt.java
@@ -10,7 +10,9 @@
 import com.java110.utils.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -18,6 +20,55 @@
 
     @Autowired
     private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
+
+    private static final Date EXCEL_EPOCH;
+
+    static {
+        // 鍒濆鍖朎xcel璧峰鏃ユ湡锛�1899-12-30锛屽搴擡xcel鐨�0澶╋級
+        Calendar cal = Calendar.getInstance();
+        cal.set(1899, Calendar.DECEMBER, 30, 0, 0, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        EXCEL_EPOCH = cal.getTime();
+    }
+
+    /**
+     * 灏咵xcel鏃ユ湡鏁板�硷紙濡�45734.0锛夎浆鎹负Date瀵硅薄
+     * @param excelDate Excel鏃ユ湡鏁板��
+     * @return 瀵瑰簲鐨凞ate瀵硅薄
+     */
+    public static Date doubleToDate(double excelDate) {
+        // 澶勭悊Excel 1900骞撮棸骞撮敊璇紙Excel閿欒鍦板皢1900骞磋涓洪棸骞达級
+        long days = (long) Math.floor(excelDate);
+        if (days >= 60) { // 1900-03-01鍙婁箣鍚庣殑鏃ユ湡闇�瑕佸噺1澶�
+            days--;
+        }
+
+        // 璁$畻鎬绘绉掓暟锛堝ぉ鏁伴儴鍒� + 鏃堕棿閮ㄥ垎锛�
+        long totalMillis = (long)(days * 86400000L) // 1澶� = 86400000姣
+                + (long)((excelDate - days) * 86400000L);
+
+        // 浠庡熀鍑嗘棩鏈熷紑濮嬬疮鍔犳绉掓暟
+        return new Date(EXCEL_EPOCH.getTime() + totalMillis);
+    }
+
+    /**
+     * 澶勭悊Excel鏃ユ湡瀛楃涓诧紙濡�"45734.0"锛夛紝杞崲涓�"yyyy-MM-dd"鏍煎紡
+     * @param strDate Excel鏃ユ湡鏁板�煎瓧绗︿覆
+     * @return 鏍煎紡鍖栧悗鐨勬棩鏈熷瓧绗︿覆
+     * @throws ParseException 杞崲澶辫触鏃舵姏鍑�
+     */
+    public String handleExcelDateString(String strDate){
+        // 1. 灏嗗瓧绗︿覆杞崲涓篸ouble锛堝"45734.0" -> 45734.0锛�
+        double excelDateValue = Double.parseDouble(strDate);
+
+        // 2. 灏咵xcel鏁板�艰浆鎹负Date瀵硅薄
+        Date tDate = doubleToDate(excelDateValue);
+
+        // 3. 鏍煎紡鍖栦负"yyyy-MM-dd"
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        return sdf.format(tDate);
+    }
+
 
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
@@ -68,7 +119,7 @@
      *
      * @param reqJson
      */
-    protected void generatorBatch(JSONObject reqJson) {
+    public void generatorBatch(JSONObject reqJson) {
         PayFeeBatchPo payFeeBatchPo = new PayFeeBatchPo();
         payFeeBatchPo.setBatchId(GenerateCodeFactory.getGeneratorId("12"));
         payFeeBatchPo.setCommunityId(reqJson.getString("communityId"));

--
Gitblit v1.8.0