From 1bda9524add969e315d870f284046ecf1097f956 Mon Sep 17 00:00:00 2001 From: 826220679@qq.com <826220679@qq.com> Date: 星期日, 24 八月 2025 18:01:25 +0800 Subject: [PATCH] 修改 --- src/dell_targets/Dell_tag.java | 305 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 303 insertions(+), 2 deletions(-) diff --git a/src/dell_targets/Dell_tag.java b/src/dell_targets/Dell_tag.java index 2a1f489..bad10aa 100644 --- a/src/dell_targets/Dell_tag.java +++ b/src/dell_targets/Dell_tag.java @@ -21,7 +21,7 @@ } while (rs.next()) { LocationTag locationTag = new LocationTag(); - locationTag.setId((int) rs.getLong("id")); + locationTag.setId((int) rs.getLong("id")); locationTag.setDeviceNumber(rs.getString("device_id")); locationTag.setDeviceName(rs.getString("device_name")); locationTag.setDeviceVersion(rs.getString("device_version")); @@ -90,7 +90,11 @@ locationTag.setMotionlessEndTime(rs.getString("stationary_end_time")); locationTag.setMotionlessDuration(rs.getString("stationary_duration")); locationTag.setValidSatelliteSignal(rs.getString("tag_valid_satellite_signal")); - locationTag.setCompany(rs.getString("company")); + String company=rs.getString("company"); + if (company == null || company.trim().isEmpty() || company.equals("-1") ) { + company = "Unknown"; + } + locationTag.setCompany(company); locationTag.setSleepTime(rs.getString("sleep_time")); locationTag.setVibrationTime(rs.getString("vibration_time")); locationTag.setFrequency(rs.getString("frequency")); @@ -106,6 +110,257 @@ locationTag.setInteractionType(rs.getString("Interaction_Type")); locationTag.setIpAddress(rs.getString("ipAddress")); locationTag.setIpPort(rs.getString("Interaction_Type")); + + locationTag.setId((int) rs.getLong("id")); + + String deviceNumber = rs.getString("device_id"); + if (deviceNumber == null || deviceNumber.trim().isEmpty() || deviceNumber.equals("-1")) { + deviceNumber = "Unknown"; + } + locationTag.setDeviceNumber(deviceNumber); + + String deviceName = rs.getString("device_name"); + if (deviceName == null || deviceName.trim().isEmpty() || deviceName.equals("-1")) { + deviceName = "Unknown"; + } + locationTag.setDeviceName(deviceName); + + String deviceVersion = rs.getString("device_version"); + if (deviceVersion == null || deviceVersion.trim().isEmpty() || deviceVersion.equals("-1")) { + deviceVersion = "Unknown"; + } + locationTag.setDeviceVersion(deviceVersion); + + String deviceCardNumber = rs.getString("device_card_number"); + if (deviceCardNumber == null || deviceCardNumber.trim().isEmpty() || deviceCardNumber.equals("-1")) { + deviceCardNumber = "Unknown"; + } + locationTag.setDeviceCardNumber(deviceCardNumber); + + String deviceType = rs.getString("device_type"); + if (deviceType == null || deviceType.trim().isEmpty() || deviceType.equals("-1")) { + deviceType = "Unknown"; + } + locationTag.setDeviceType(deviceType); + + String team = rs.getString("affiliated_class"); + if (team == null || team.trim().isEmpty() || team.equals("-1")) { + team = "Unknown"; + } + locationTag.setTeam(team); + + String group = rs.getString("affiliated_group"); + if (group == null || group.trim().isEmpty() || group.equals("-1")) { + group = "Unknown"; + } + locationTag.setGroup(group); + + String department = rs.getString("department"); + if (department == null || department.trim().isEmpty() || department.equals("-1")) { + department = "Unknown"; + } + locationTag.setDepartment(department); + + String iconAddress = rs.getString("icon_url"); + if (iconAddress == null || iconAddress.trim().isEmpty() || iconAddress.equals("-1")) { + iconAddress = "Unknown"; + } + locationTag.setIconAddress(iconAddress); + + String gender = rs.getString("gender"); + if (gender == null || gender.trim().isEmpty() || gender.equals("-1")) { + gender = "Unknown"; + } + locationTag.setGender(gender); + + String ethnicity = rs.getString("ethnic_group"); + if (ethnicity == null || ethnicity.trim().isEmpty() || ethnicity.equals("-1")) { + ethnicity = "Unknown"; + } + locationTag.setEthnicity(ethnicity); + + String communicationAddress = rs.getString("communication_address"); + if (communicationAddress == null || communicationAddress.trim().isEmpty() || communicationAddress.equals("-1")) { + communicationAddress = "Unknown"; + } + locationTag.setCommunicationAddress(communicationAddress); + + String boundPhone = rs.getString("bound_phone"); + if (boundPhone == null || boundPhone.trim().isEmpty() || boundPhone.equals("-1")) { + boundPhone = "Unknown"; + } + locationTag.setBoundPhone(boundPhone); + + String idNumber = rs.getString("id_card_number"); + if (idNumber == null || idNumber.trim().isEmpty() || idNumber.equals("-1")) { + idNumber = "Unknown"; + } + locationTag.setIdNumber(idNumber); + + String position = rs.getString("personnel_position"); + if (position == null || position.trim().isEmpty() || position.equals("-1")) { + position = "Unknown"; + } + locationTag.setPosition(position); + + String boundPlateNumber = rs.getString("bound_license_plate"); + if (boundPlateNumber == null || boundPlateNumber.trim().isEmpty() || boundPlateNumber.equals("-1")) { + boundPlateNumber = "Unknown"; + } + locationTag.setBoundPlateNumber(boundPlateNumber); + + String faceAddress = rs.getString("face_image_url"); + if (faceAddress == null || faceAddress.trim().isEmpty() || faceAddress.equals("-1")) { + faceAddress = "Unknown"; + } + locationTag.setFaceAddress(faceAddress); + + String heartRate = rs.getString("heart_rate"); + if (heartRate == null || heartRate.trim().isEmpty() || heartRate.equals("-1")) { + heartRate = "Unknown"; + } + locationTag.setHeartRate(heartRate); + + String bloodPressure = rs.getString("blood_pressure"); + if (bloodPressure == null || bloodPressure.trim().isEmpty() || bloodPressure.equals("-1")) { + bloodPressure = "Unknown"; + } + locationTag.setBloodPressure(bloodPressure); + + String bloodOxygen = rs.getString("blood_oxygen"); + if (bloodOxygen == null || bloodOxygen.trim().isEmpty() || bloodOxygen.equals("-1")) { + bloodOxygen = "Unknown"; + } + locationTag.setBloodOxygen(bloodOxygen); + + String temperature = rs.getString("body_temperature"); + if (temperature == null || temperature.trim().isEmpty() || temperature.equals("-1")) { + temperature = "Unknown"; + } + locationTag.setTemperature(temperature); + + String sosStatus = rs.getString("sos_status"); + if (sosStatus == null || sosStatus.trim().isEmpty() || sosStatus.equals("-1")) { + sosStatus = "Unknown"; + } + locationTag.setSosStatus(sosStatus); + + String motionStatus = rs.getString("motion_status"); + if (motionStatus == null || motionStatus.trim().isEmpty() || motionStatus.equals("-1")) { + motionStatus = "Unknown"; + } + locationTag.setMotionStatus(motionStatus); + + String onlineStatus = rs.getString("online_status"); + if (onlineStatus == null || onlineStatus.trim().isEmpty() || onlineStatus.equals("-1")) { + onlineStatus = "Unknown"; + } + locationTag.setOnlineStatus(onlineStatus); + + String searchStatus = rs.getString("search_status"); + if (searchStatus == null || searchStatus.trim().isEmpty() || searchStatus.equals("-1")) { + searchStatus = "Unknown"; + } + locationTag.setSearchStatus(searchStatus); + + String batteryStatus = rs.getString("battery_status"); + if (batteryStatus == null || batteryStatus.trim().isEmpty() || batteryStatus.equals("-1")) { + batteryStatus = "Unknown"; + } + locationTag.setBatteryStatus(batteryStatus); + + String deviceBattery = rs.getString("device_battery"); + if (deviceBattery == null || deviceBattery.trim().isEmpty() || deviceBattery.equals("-1")) { + deviceBattery = "Unknown"; + } + locationTag.setDeviceBattery(deviceBattery); + + String removalStatus = rs.getString("removal_status"); + if (removalStatus == null || removalStatus.trim().isEmpty() || removalStatus.equals("-1")) { + removalStatus = "Unknown"; + } + locationTag.setRemovalStatus(removalStatus); + + String collisionStatus = rs.getString("collision_status"); + if (collisionStatus == null || collisionStatus.trim().isEmpty() || collisionStatus.equals("-1")) { + collisionStatus = "Unknown"; + } + locationTag.setCollisionStatus(collisionStatus); + + String elevationStatus = rs.getString("climbing_status"); + if (elevationStatus == null || elevationStatus.trim().isEmpty() || elevationStatus.equals("-1")) { + elevationStatus = "Unknown"; + } + locationTag.setElevationStatus(elevationStatus); + + String gatheringCount = rs.getString("gathering_count"); + if (gatheringCount == null || gatheringCount.trim().isEmpty() || gatheringCount.equals("-1")) { + gatheringCount = "Unknown"; + } + locationTag.setGatheringCount(gatheringCount); + + String proximityAlarm = rs.getString("proximity_alarm"); + if (proximityAlarm == null || proximityAlarm.trim().isEmpty() || proximityAlarm.equals("-1")) { + proximityAlarm = "Unknown"; + } + locationTag.setProximityAlarm(proximityAlarm); + + String area = rs.getString("current_area"); + if (area == null || area.trim().isEmpty() || area.equals("-1")) { + area = "Unknown"; + } + locationTag.setArea(area); + + String xCoordinate = rs.getString("x_coordinate"); + if (xCoordinate == null || xCoordinate.trim().isEmpty() || xCoordinate.equals("-1")) { + xCoordinate = "Unknown"; + } + locationTag.setXCoordinate(xCoordinate); + + String yCoordinate = rs.getString("y_coordinate"); + if (yCoordinate == null || yCoordinate.trim().isEmpty() || yCoordinate.equals("-1")) { + yCoordinate = "Unknown"; + } + locationTag.setYCoordinate(yCoordinate); + + String zCoordinate = rs.getString("z_coordinate"); + if (zCoordinate == null || zCoordinate.trim().isEmpty() || zCoordinate.equals("-1")) { + zCoordinate = "Unknown"; + } + locationTag.setZCoordinate(zCoordinate); + + String floor = rs.getString("current_floor"); + if (floor == null || floor.trim().isEmpty() || floor.equals("-1")) { + floor = "Unknown"; + } + locationTag.setFloor(floor); + + String speed = rs.getString("movement_speed"); + if (speed == null || speed.trim().isEmpty() || speed.equals("-1")) { + speed = "Unknown"; + } + locationTag.setSpeed(speed); + + String locationSource = rs.getString("position_source"); + if (locationSource == null || locationSource.trim().isEmpty() || locationSource.equals("-1")) { + locationSource = "Unknown"; + } + locationTag.setLocationSource(locationSource); + + String lastUwbSignalTime = rs.getString("last_uwb_signal_time"); + if (lastUwbSignalTime == null || lastUwbSignalTime.trim().isEmpty() || lastUwbSignalTime.equals("-1")) { + lastUwbSignalTime = "Unknown"; + } + locationTag.setLastUwbSignalTime(lastUwbSignalTime); + + String lastSatelliteSignalTime = rs.getString("last_satellite_signal_time"); + if (lastSatelliteSignalTime == null || lastSatelliteSignalTime.trim().isEmpty() || lastSatelliteSignalTime.equals("-1")) { + lastSatelliteSignalTime = "Unknown"; + } + + locationTag.setAutoUpgraded("Unknown"); + locationTag.setIsSatelliteDevice("-1"); + locationTag.setRTKsource("Unknown"); locationTags.add(locationTag); tagMap.put(locationTag.getDeviceNumber(), locationTag); // 添加到映射 } @@ -226,6 +481,9 @@ case "interactionType": tag.setInteractionType(value); break; case "ipAddress": tag.setIpAddress(value); break; case "ipPort": tag.setIpPort(value); break; + case "gnGgaDataTime": tag.setGnGgaDataTime(value); break; + case "isSatelliteDevice": tag.setIsSatelliteDevice(value);break; + case "RTKsource": tag.setRTKsource(value);break; default: throw new IllegalArgumentException("无效属性: " + propertyName); } @@ -293,4 +551,47 @@ } return tagMap.size(); } + + /** + * 根据单个属性查询LocationTag对象 + * @param propertyName 属性名(deviceNumber/deviceVersion/company) + * @param propertyValue 属性值 + * @return 满足条件的LocationTag对象列表 + */ + public static List<LocationTag> getLocationTagsByProperty(String propertyName, String propertyValue) { + if (tagMap == null || tagMap.isEmpty()) { + try { + getlocationTags(); // 初始化数据 + } catch (SQLException e) { + e.printStackTrace(); + return Collections.emptyList(); + } + } + + List<LocationTag> result = new ArrayList<>(); + + for (LocationTag tag : tagMap.values()) { + switch (propertyName) { + case "deviceNumber": + if (propertyValue.equals(tag.getDeviceNumber())) { + result.add(tag); + } + break; + case "deviceVersion": + if (propertyValue.equals(tag.getDeviceVersion())) { + result.add(tag); + } + break; + case "company": + if (propertyValue.equals(tag.getCompany())) { + result.add(tag); + } + break; + default: + throw new IllegalArgumentException("不支持的属性: " + propertyName); + } + } + + return result; + } } \ No newline at end of file -- Gitblit v1.9.3