package dell_targets; import databases.DBConnector; import targets.SystemConfiguration; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.ResourceBundle; import javax.swing.JOptionPane; public class Dell_SystemConfiguration { static List configs; public static boolean xytognssOpen=false; public static boolean gnsstoxyOpen=false; public static String language="0"; public static int hexport=8234; public static int ascallport=7000; // »ñȡϵͳÅäÖÃÁбí public static List getSystemConfigurations() { // ´´½¨ÅäÖöÔÏóÁбí configs = new ArrayList<>(); // ´ÓÊý¾Ý¿â²éѯsystem_configuration±íÊý¾Ý ResultSet rs = DBConnector.queryTableData("system_configuration"); // ±éÀú½á¹û¼¯ try { while (rs.next()) { // ´´½¨ÐµÄϵͳÅäÖöÔÏó SystemConfiguration config = new SystemConfiguration(); // Ó³ÉäËùÓÐ×ֶΣ¨Ê¹ÓÃÊý¾Ý¿âʵ¼ÊÁÐÃû£© // ÉèÖÃID£¨Ö÷¼ü£© config.setId(rs.getInt("id")); // ϵͳÃû³Æ config.setSystemName(rs.getString("system_name")); // Êý¾Ý¿âÃû³Æ config.setDatabaseName(rs.getString("database_name")); // Êý¾Ý¿âÃÜÂë config.setDatabasePassword(rs.getString("database_password")); // HEXÊý¾ÝUDP½ÓÊÕ¶Ë¿Ú String hexp=rs.getString("hex_data_udp_receive_port"); hexport=Integer.parseInt(hexp); config.setHexDataUdpReceivePort(hexp); String ascll=rs.getString("ascii_data_udp_receive_port"); ascallport=Integer.parseInt(ascll);; // ASCIIÊý¾ÝUDP½ÓÊÕ¶Ë¿Ú config.setAsciiDataUdpReceivePort(ascll); // TCPÊý¾Ý½ÓÊÕ¶Ë¿Ú1 config.setTcpDataReceivePort1(rs.getString("tcp_data_receive_port1")); // TCPÊý¾Ý½ÓÊÕ¶Ë¿Ú2 config.setTcpDataReceivePort2(rs.getString("tcp_data_receive_port2")); // UDP·¢ËÍ¶Ë¿Ú config.setUdpSendPort(rs.getString("udp_send_port")); // λÖÃÆ½»¬Ê±³¤ config.setLocationSmoothingDuration(rs.getString("location_smoothing_duration")); // λÖÃת·¢¼ä¸ô config.setLocationForwardingInterval(rs.getString("location_forwarding_interval")); // ¹ì¼£±£´æÌìÊý config.setTrajectorySaveDays(rs.getString("trajectory_save_days")); // ±êÇ©ÀëÏßÅжÏʱ³¤ config.setTagOfflineJudgmentDuration(rs.getString("tag_offline_judgment_duration")); // »ùÕ¾ÀëÏßÅжÏʱ³¤ config.setBaseStationOfflineJudgmentDuration(rs.getString("base_station_offline_judgment_duration")); // TCPÐÄÌø°ü»Ø¸´Ê±¼ä config.setTcpHeartbeatReplyTime(rs.getString("tcp_heartbeat_reply_time")); // ÊÇ·ñ¿ªÆô×Ô½âËãģʽ config.setSelfResolutionMode(rs.getString("self_resolution_mode")); // ·þÎñÆ÷µØÖ· config.setServerAddress(rs.getString("server_address")); // µçÁ¿Ï·¢ÏÞÖÆ config.setElectricityIssueLimit(rs.getString("electricity_issue_limit")); // ÂÒÐò»ØËÝ config.setDisorderRetrospection(rs.getString("disorder_retrospection")); // Õð¶¯Ê±³¤ config.setVibrationDuration(rs.getString("vibration_duration")); // URTΧÀ¸¼ä¾à config.setUrtFenceSpacing(rs.getString("urt_fence_spacing")); // BSÊý¾Ýת·¢±ê־λ config.setBsDataForwardingFlag(rs.getString("bs_data_forwarding_flag")); // CS¶Ë½ÓÊÕ¿ÚÁî config.setCsEndReceivePassword(rs.getString("cs_end_receive_password")); // ¿¼ÇÚ±£´æÌìÊý config.setAttendanceSaveDays(rs.getString("attendance_save_days")); // µçÁ¿±£´æÌìÊý config.setElectricitySaveDays(rs.getString("electricity_save_days")); // ˮƽ¾«¶ÈÒò×Ó¹ýÂË config.setHorizontalPrecisionFactorFilter(rs.getString("horizontal_precision_factor_filter")); // ÎÀÐÇÊýÁ¿¹ýÂË config.setSatelliteNumberFilter(rs.getString("satellite_number_filter")); // »·¾³Ë¥¼õÒò×Ó config.setEnvironmentalAttenuationFactor(rs.getString("environmental_attenuation_factor")); // ÐźÅÇ¿¶È config.setSignalStrength(rs.getString("signal_strength")); // Ãâ²¼Ïßģʽ config.setWireFreeMode(rs.getString("wire_free_mode")); // »ùÕ¾WIFIģʽ config.setBaseStationWifiMode(rs.getString("base_station_wifi_mode")); // Èýά¶¨Î»Ä£Ê½ config.setThreeDimensionalPositioningMode(rs.getString("three_dimensional_positioning_mode")); // ×öBSÒýÇæ config.setDoBsEngine(rs.getString("do_bs_engine")); // ºǫ́ÏÔʾ config.setBackgroundDisplay(rs.getString("background_display")); // ¿ªÆôÒýÇæÐÄÌø°ü config.setEnableEngineHeartbeatPacket(rs.getString("enable_engine_heartbeat_packet")); // ×Ô½¨²î·Ö»ùÕ¾ config.setSelfDifferentialBaseStation(rs.getString("self_differential_base_station")); // XYתGNSS String GnssToXyValue=rs.getString("gnss_to_xy"); String xytognssValue=rs.getString("xy_to_gnss"); config.setXyToGnss(xytognssValue); // GNSSתXY config.setGnssToXy(GnssToXyValue); xytognssOpen= "1".equals(xytognssValue); gnsstoxyOpen= "1".equals(GnssToXyValue); // ¿ªÆôUDP¼àÌý config.setEnableUdpListening(rs.getString("enable_udp_listening")); // ÏÔʾµ¼º½À¸Í¼±ê config.setDisplayNavigationBarIcon(rs.getString("display_navigation_bar_icon")); // URT×ö»ùվģʽ config.setUrtDoBaseStationMode(rs.getString("urt_do_base_station_mode")); // ÆäËû²ãÏÔʾÔÚ0²ã config.setOtherLayersDisplayIn0Layer(rs.getString("other_layers_display_in_0_layer")); // ×Ô¶¯Ê±¼äƬģʽ config.setAutomaticTimeSliceMode(rs.getString("automatic_time_slice_mode")); // ±êÇ©×ø±êÏÔʾ config.setTagCoordinateDisplay(rs.getString("tag_coordinate_display")); // ÏÔʾ±êÇ©±àºÅ config.setDisplayTagNumber(rs.getString("display_tag_number")); // ÏÔʾ»ùÕ¾±àºÅ config.setDisplayBaseStationNumber(rs.getString("display_base_station_number")); // ÏÔʾ»ùվͼ±ê config.setDisplayBaseStationIcon(rs.getString("display_base_station_icon")); // ÏÔʾ»ùÕ¾×ø±ê config.setDisplayBaseStationCoordinates(rs.getString("display_base_station_coordinates")); // ʵʱµçÁ¿ÏÔʾ config.setRealTimeElectricityDisplay(rs.getString("real_time_electricity_display")); // ³ö¿¼ÇÚÈ¥Ïûʧ config.setAttendanceGoDisappear(rs.getString("attendance_go_disappear")); // ÏÔʾÃû³Æ config.setDisplayName(rs.getString("display_name")); // ÀëÏßÏûʧ config.setOfflineDisappear(rs.getString("offline_disappear")); // ËíµÀ¶¨Î» config.setTunnelPositioning(rs.getString("tunnel_positioning")); // ¿ªÆô¹ì¼£±£´æ config.setEnableTrajectorySave(rs.getString("enable_trajectory_save")); // ¿ªÆôÆøÌåÏÔʾ config.setEnableGasDisplay(rs.getString("enable_gas_display")); // »ùÕ¾Éý¼¶Ä£Ê½ config.setBaseStationUpgradeMode(rs.getString("base_station_upgrade_mode")); // ²â¾àÅжÏÔÚÏß config.setRangingJudgmentOnline(rs.getString("ranging_judgment_online")); // ¶ÁÈ¡»ùվͨѶ×é config.setReadBaseStationCommunicationGroup(rs.getString("read_base_station_communication_group")); // ÏÔʾΧÀ¸ config.setDisplayFence(rs.getString("display_fence")); // ¾²Ö¹×ø±ê¹Ì¶¨ config.setStaticCoordinateFix(rs.getString("static_coordinate_fix")); // ʵʱ¹ì¼£Ê±³¤ config.setRealTimeTrajectoryDuration(rs.getString("real_time_trajectory_duration")); // ʵʱ¹ì¼£ÑÕÉ« config.setRealTimeTrajectoryColor(rs.getString("real_time_trajectory_color")); String langua=rs.getString("system_language"); language=langua; // ϵͳÓïÑÔ config.setSystemLanguage(langua); // JNAÈÕÖ¾¿ª¹Ø config.setJnaLogSwitch(rs.getString("jna_log_switch")); // ʱ¼äƬ·ÖÅ䷽ʽ config.setTimeSliceDistributionMethod(rs.getString("time_slice_distribution_method")); // µÍµçÁ¿¸æ¾¯Öµ config.setLowElectricityWarningValue(rs.getString("low_electricity_warning_value")); // ϵͳËùÊô¹«Ë¾ config.setSystemBelongingCompany(rs.getString("system_belonging_company")); // ±£Áô×Ö¶Î1 config.setReserved1(rs.getString("reserved1")); // ±£Áô×Ö¶Î2 config.setReserved2(rs.getString("reserved2")); // ±£Áô×Ö¶Î3 config.setReserved3(rs.getString("reserved3")); // ±£Áô×Ö¶Î4 config.setReserved4(rs.getString("reserved4")); // ±£Áô×Ö¶Î5 config.setReserved5(rs.getString("reserved5")); // ±£Áô×Ö¶Î6 config.setReserved6(rs.getString("reserved6")); // ±£Áô×Ö¶Î7 config.setReserved7(rs.getString("reserved7")); // ±£Áô×Ö¶Î8 config.setReserved8(rs.getString("reserved8")); // ±£Áô×Ö¶Î9 config.setReserved9(rs.getString("reserved9")); // ±£Áô×Ö¶Î10 config.setReserved10(rs.getString("reserved10")); // ±£Áô×Ö¶Î11 config.setReserved11(rs.getString("reserved11")); // ±£Áô×Ö¶Î12 config.setReserved12(rs.getString("reserved12")); // ±£Áô×Ö¶Î13 config.setReserved13(rs.getString("reserved13")); // ±£Áô×Ö¶Î14 config.setReserved14(rs.getString("reserved14")); // ±£Áô×Ö¶Î15 config.setReserved15(rs.getString("reserved15")); // ½«ÅäÖöÔÏóÌí¼Óµ½Áбí configs.add(config); } } catch (SQLException e) { // TODO ×Ô¶¯Éú³ÉµÄ catch ¿é e.printStackTrace(); } // ·µ»ØÅäÖöÔÏóÁбí return configs; } public static SystemConfiguration getSystemConfigurationByCompany(String companyName) { // »ñÈ¡ËùÓÐϵͳÅäÖÃÁбí List configs = getSystemConfigurations(); // ±éÀúÅäÖÃÁбí²éÕÒÆ¥ÅäÏî for (SystemConfiguration config : configs) { // ±È½ÏϵͳËùÊô¹«Ë¾×ֶΣ¨×¢Òâ¿ÕÖµ´¦Àí£© String configCompany = config.getSystemBelongingCompany(); if (configCompany != null && configCompany.equals(companyName)) { return config; // ÕÒµ½Æ¥ÅäÏ·µ»ØÅäÖöÔÏó } } return null; // δÕÒµ½Æ¥ÅäµÄÅäÖà } /** * ͨ¹ý¹«Ë¾Ãû³Æ»ñÈ¡xyToGnssÊôÐÔÖµ£¬²¢ÔÚΪfalseʱÏÔʾ¹ú¼Ê»¯Ìáʾ * @param companyName ¹«Ë¾Ãû³Æ * @return xyToGnssÊôÐÔÖµ£¨true/false£© */ public static boolean getXyToGnssByCompanyWithAlert(String companyName) { // »ñȡָ¶¨¹«Ë¾µÄϵͳÅäÖà SystemConfiguration config = getSystemConfigurationByCompany(companyName); ResourceBundle bundle = ResourceBundle.getBundle("Messages"); if (config == null) { // ¹«Ë¾ÅäÖÃδÕÒµ½Ê±ÏÔʾ´íÎó String title = bundle.getString("ERROR"); String message = String.format(bundle.getString("COMPANY_NOT_FOUND"), companyName); JOptionPane.showMessageDialog(null, message, title, JOptionPane.ERROR_MESSAGE); return false; } // »ñÈ¡xyToGnssÊôÐÔÖµ String xyToGnssValue = config.getXyToGnss(); boolean isEnabled = "1".equals(xyToGnssValue); if (!isEnabled) { // µ±xyToGnssδÆôÓÃʱÏÔʾ¾¯¸æµ¯´° String title = bundle.getString("WARNING"); String featureName = bundle.getString("XY_TO_GNSS"); String message = String.format(bundle.getString("FEATURE_DISABLED_WARNING"), featureName); JOptionPane.showMessageDialog(null, message, title, JOptionPane.WARNING_MESSAGE); } return isEnabled; } /** * ͨ¹ý¹«Ë¾Ãû³Æ»ñÈ¡GnssToXyÊôÐÔÖµ£¬²¢ÔÚΪfalseʱÏÔʾ¹ú¼Ê»¯Ìáʾ * @param companyName ¹«Ë¾Ãû³Æ * @return GnssToXyÊôÐÔÖµ£¨true/false£© */ public static boolean getGnssToXyByCompanyWithAlert(String companyName) { // »ñȡָ¶¨¹«Ë¾µÄϵͳÅäÖà SystemConfiguration config = getSystemConfigurationByCompany(companyName); ResourceBundle bundle = ResourceBundle.getBundle("Messages"); if (config == null) { // ¹«Ë¾ÅäÖÃδÕÒµ½Ê±ÏÔʾ´íÎó String title = bundle.getString("ERROR"); String message = String.format(bundle.getString("COMPANY_NOT_FOUND"), companyName); JOptionPane.showMessageDialog(null, message, title, JOptionPane.ERROR_MESSAGE); return false; } // »ñÈ¡xyToGnssÊôÐÔÖµ String GnssToXyValue = config.getGnssToXy(); boolean isEnabled = "1".equals(GnssToXyValue); if (!isEnabled) { // µ±xyToGnssδÆôÓÃʱÏÔʾ¾¯¸æµ¯´° String title = bundle.getString("WARNING"); String featureName = bundle.getString("XY_TO_GNSS"); String message = String.format(bundle.getString("FEATURE_DISABLED_WARNING"), featureName); JOptionPane.showMessageDialog(null, message, title, JOptionPane.WARNING_MESSAGE); } return isEnabled; } }