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,16 +1,17 @@ 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")); // å°å¾èç¹ (ä¸çº§) @@ -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ç§ -----------------------------------