src/publicsWay/GUIUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/publicsWay/PacketProcessingSystemB.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/publicsWay/TrackDataBatchInserter.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/scheduled_task/TrackTableManager.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/window/ContentPanelFactory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/window/NavigationTreeFactory.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
systemfile/logfile/openlog.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/publicsWay/GUIUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package publicsWay; import javax.swing.*; import java.awt.*; public class GUIUtils { /** * å建ä¸ä¸ªå¸¦ææåå æ çå± ä¸JLabel * @param text æ ç¾ææ¬ * @return é 置好çJLabel */ public static JLabel createClickableLabel(String text) { JLabel label = new JLabel(text, SwingConstants.CENTER); label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); return label; } /** * å建ä¸ä¸ªå¸¦ææåå æ åæå®å¯¹é½æ¹å¼çJLabel * @param text æ ç¾ææ¬ * @param alignment 坹齿¹å¼ * @return é 置好çJLabel */ public static JLabel createClickableLabel(String text, int alignment) { JLabel label = new JLabel(text, alignment); label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); return label; } } src/publicsWay/PacketProcessingSystemB.java
@@ -9,6 +9,7 @@ import java.util.regex.Matcher; import dell_system.MessageViewPanel; import dell_targets.Dell_tag; import targets.LocationTag; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -211,20 +212,30 @@ Dell_tag.updateLocationTagProperty(deviceId, "differentialTime",differentialTime); // å建TrackData对象并添å å°æ¹éæå ¥å¨ LocationTag tag = Dell_tag.getTagByDeviceId(deviceId); String deviceName = tag != null ? tag.getDeviceName() : ""; String company = tag != null ? tag.getCompany() : ""; TrackData trackData = new TrackData( parser.getDeviceId(), parser.getUtcTime(), parser.getLatitude(), parser.getLongitude(), parser.getQuality(), parser.getSatellites(), parser.getHdop(), parser.getAltitude(), parser.getGeoidHeight(), parser.getDifferentialTime(), parser.getBattery() ); deviceId, deviceName, "", "", "", "", battery, utcTime, longitude, latitude, quality, satellites, hdop, altitude, geoidHeight, differentialTime, "GNGGA", company, time ); TrackDataBatchInserter.addTrackData(trackData); } src/publicsWay/TrackDataBatchInserter.java
@@ -7,7 +7,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import databases.DBConnector; import scheduled_task.TrackTableManager; src/scheduled_task/TrackTableManager.java
@@ -32,6 +32,9 @@ // 主管çé»è¾ private static void manageTables() { try { // 0. å建å½å¤©ç表ï¼å¦æä¸åå¨ï¼ createTodayTableIfNotExists(); // 1. åå»ºæªæ¥3天ç表 createFutureTables(); @@ -43,6 +46,15 @@ } } // å建å½å¤©ç表ï¼å¦æä¸åå¨ï¼ private static void createTodayTableIfNotExists() throws SQLException { String today = LocalDate.now().format(DATE_FORMATTER); String tableName = TABLE_PREFIX + today; if (!tableExists(tableName)) { DBConnector.executeUpdate(getcreateSQL(tableName)); } } // åå»ºæªæ¥3天ç表ï¼å æ¬æå¤©ãå天å大åå¤©ï¼ private static void createFutureTables() throws SQLException { for (int i = 1; i <= 3; i++) { src/window/ContentPanelFactory.java
@@ -18,6 +18,8 @@ import dell_targets.SatelliteDevicePanel; import dell_targets.TagManagementPanel; import dell_targets.TagTypeManagementPanel; import publicsWay.GUIUtils; import javax.swing.*; import dell_Fence.FenceDrawerFrame; @@ -35,8 +37,7 @@ // æ ¹æ®èç¹åç§°å建对åºçå 容颿¿ if (nodeName.equals(messages.getString("MAP_DISPLAY"))) { // è¿éè¿åä¸ä¸ªå ä½é¢æ¿ï¼å®é æå¼å°å¾çæä½å¨Windowsç±»ä¸å¤ç JLabel label = new JLabel(messages.getString("CLICK_TO_OPEN_MAP"), SwingConstants.CENTER); panel.add(label, BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(messages.getString("CLICK_TO_OPEN_MAP")), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TAG_MANAGEMENT"))) { // æ ç¾ç®¡ç颿¿ panel.add(new TagManagementPanel(messages), BorderLayout.CENTER); @@ -45,7 +46,7 @@ panel.add(new BaseStationManagementPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("GATEWAY_MANAGEMENT"))) { // ç½å ³ç®¡ç颿¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("DIFF_BASE"))) { // å·®ååºç«é¢æ¿ panel.add(new DifferentialBaseStationManagementPanel(messages), BorderLayout.CENTER); @@ -75,25 +76,25 @@ panel.add(new FenceListPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("DEVICE_OFFLINE"))) { // 设å¤è±æºé¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TRACK_RECORD"))) { // 轨迹记å½é¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("ACCESS_RECORD"))) { // è¿åºè®°å½é¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("ALARM_RECORD"))) { // æ¥è¦è®°å½é¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("HEALTH_RECORD"))) { // å¥åº·è®°å½é¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("TAG_POWER"))) { // æ ç¾çµé颿¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("BASE_POWER"))) { // åºç«çµé颿¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("SYSTEM_SETTINGS"))) { // ç³»ç»è®¾ç½®é¢æ¿ panel.add(new SystemSettingsPanel(messages), BorderLayout.CENTER); @@ -102,7 +103,7 @@ panel.add(new MessageViewPanel(messages), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("SYSTEM_DEBUG"))) { // ç³»ç»è°è¯é¢æ¿ï¼å ä½ç¬¦ï¼ panel.add(new JLabel(nodeName, SwingConstants.CENTER), BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(nodeName), BorderLayout.CENTER); } else if (nodeName.equals(messages.getString("COMPANY_MANAGEMENT"))) { // å ¬å¸ç®¡ç颿¿ panel.add(new CompanyManagementPanel(messages), BorderLayout.CENTER); @@ -125,8 +126,7 @@ panel.add(new SatelliteDevicePanel(messages), BorderLayout.CENTER); } else { // å¯¹äºæªå®ç°åè½ï¼æ¾ç¤ºå¼åä¸æç¤º JLabel label = new JLabel(messages.getString("DEVELOPING") + ": " + nodeName, SwingConstants.CENTER); panel.add(label, BorderLayout.CENTER); panel.add(GUIUtils.createClickableLabel(messages.getString("DEVELOPING") + ": " + nodeName), BorderLayout.CENTER); } } catch (Exception e) { // å¼å¸¸å¤çï¼æ¾ç¤ºéè¯¯ä¿¡æ¯ src/window/NavigationTreeFactory.java
@@ -1,18 +1,19 @@ package window; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import dell_map.Dell_Map; import java.util.ResourceBundle; import java.awt.Font; import java.awt.Cursor; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class NavigationTreeFactory { public static JTree createNavigationTree(ResourceBundle messages) { DefaultMutableTreeNode root = new DefaultMutableTreeNode(messages.getString("NAVIGATION")); // å°å¾èç¹ // å°å¾èç¹ DefaultMutableTreeNode mapNode = new DefaultMutableTreeNode(messages.getString("MAP")); // å°å¾èç¹ (ä¸çº§) String[] mapNames = Dell_Map.getAllMapNames(); @@ -83,6 +84,27 @@ tree.setFont(new Font("微软é é»", Font.PLAIN, 14)); tree.setShowsRootHandles(true); // æ·»å é¼ æ ç§»å¨çå¬å¨æ¥æ¹åå æ tree.addMouseMotionListener(new MouseAdapter() { @Override public void mouseMoved(MouseEvent e) { int row = tree.getRowForLocation(e.getX(), e.getY()); if (row >= 0) { tree.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } else { tree.setCursor(Cursor.getDefaultCursor()); } } }); // æ·»å é¼ æ éåºçå¬å¨ï¼æ¢å¤é»è®¤å æ tree.addMouseListener(new MouseAdapter() { @Override public void mouseExited(MouseEvent e) { tree.setCursor(Cursor.getDefaultCursor()); } }); // å±å¼ææèç¹ for (int i = 0; i < tree.getRowCount(); i++) { tree.expandRow(i); systemfile/logfile/openlog.txt
@@ -1254,3 +1254,34 @@ 工使¶é¿: 0å°æ¶ 5åé 52ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 17:02:01 ç¨åºå ³é: 2025-08-24 22:05:36 工使¶é¿: 5å°æ¶ 3åé 35ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:05:39 ç¨åºå ³é: 2025-08-24 22:05:44 工使¶é¿: 0å°æ¶ 0åé 4ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:23:47 ç¨åºå ³é: 2025-08-24 22:28:28 工使¶é¿: 0å°æ¶ 4åé 40ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:28:30 ç¨åºå ³é: 2025-08-24 22:29:02 工使¶é¿: 0å°æ¶ 0åé 32ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:30:18 ç¨åºå ³é: 2025-08-24 22:31:37 工使¶é¿: 0å°æ¶ 1åé 19ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:31:39 ç¨åºå ³é: 2025-08-24 22:31:51 工使¶é¿: 0å°æ¶ 0åé 12ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:34:30 ç¨åºå ³é: 2025-08-24 22:38:56 工使¶é¿: 0å°æ¶ 4åé 26ç§ ----------------------------------- ç¨åºå¯å¨: 2025-08-24 22:38:58 ç¨åºå ³é: 2025-08-24 22:39:41 工使¶é¿: 0å°æ¶ 0åé 42ç§ -----------------------------------