From 9306b35a3160fcf75d973c95159e8bfc10c67ca0 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 19 十二月 2022 18:00:12 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/GdbHelper.java |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java
index 048adc4..854a787 100644
--- a/src/main/java/com/lf/server/helper/GdbHelper.java
+++ b/src/main/java/com/lf/server/helper/GdbHelper.java
@@ -372,6 +372,9 @@
                     }
                 }
             }
+
+            dataSource.SyncToDisk();
+            dataSource.FlushCache();
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         } finally {
@@ -510,18 +513,23 @@
                     case "double":
                         Double d = field.getDouble(t);
                         f.SetField(i, d);
+                        break;
                     case "java.lang.Long":
                     case "long":
                         Long l = field.getLong(t);
                         f.SetField(i, l);
+                        break;
                     case "java.lang.Integer":
                     case "int":
                         Integer n = field.getInt(t);
                         f.SetField(i, n);
+                        break;
                     case "java.sql.Timestamp":
-                        //return ogr.OFTDateTime;
+                        Timestamp time = null == field.get(t) ? null : (Timestamp) field.get(t);
+                        setTimestamp(f, i, time);
+                        break;
                     default:
-                        String str = (String) field.get(t);
+                        String str = null == field.get(t) ? null : (String) field.get(t);
                         f.SetField(i, str);
                         break;
                 }
@@ -530,4 +538,21 @@
             layer.CreateFeature(f);
         }
     }
+
+    /**
+     * 璁剧疆Timestamp
+     */
+    @SuppressWarnings("AlibabaRemoveCommentedCode")
+    private static void setTimestamp(Feature f, int i, Timestamp time) {
+        if (null == time) {
+            return;
+        }
+
+        //Calendar now = Calendar.getInstance();
+        //now.setTimeInMillis(time.getTime());
+        // f.SetField(i, now.get(Calendar.YEAR), now.get(Calendar.MONTH) + 1, now.get(Calendar.DATE), now.get(Calendar.HOUR), now.get(Calendar.MINUTE), now.get(Calendar.SECOND), 8);
+
+        LocalDateTime local = time.toLocalDateTime();
+        f.SetField(i, local.getYear(), local.getMonthValue(), local.getDayOfMonth(), local.getHour(), local.getMinute(), local.getSecond(), 8);
+    }
 }

--
Gitblit v1.9.3