puzhibing
2026-09-30 861e77328ed3a09c4d21706d201b380c8e8ea1a1
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/udan/service/UdanEmsMessageProcessor.java
@@ -238,6 +238,9 @@
                case 31: value.setAPhaseActivePower((double) f32(input, type)); break;
                case 34: value.setBPhaseActivePower((double) f32(input, type)); break;
                case 37: value.setCPhaseActivePower((double) f32(input, type)); break;
                case 50: value.setControlMode(enumName(input, type, "PcsControlMode")); break;
                case 60: value.setCommStatus(enumName(input, type, "CommStatus")); break;
                default: skip(input, type);
            }
        });
@@ -263,6 +266,9 @@
                case 33: value.setCumulativeDischargeKwh(f64(input, type)); break;
                case 34: value.setCumulativeChargeKwh(f64(input, type)); break;
                case 36: value.setAvgCellTemp((double) u32(input, type) - 40D); break;
                case 52: value.setCommStatus(enumName(input, type, "CommStatus")); break;
                case 48: value.setBatteryStatus(enumName(input, type, "BatteryStatus")); break;
                default: skip(input, type);
            }
        });
@@ -299,12 +305,13 @@
                case 4: value.setSupply_temp((double) f32(input, type)); break;
                case 5: value.setReturn_temp((double) f32(input, type)); break;
                case 8: value.setEnv_temp((double) f32(input, type)); break;
                case 9: value.setBackwater_press((double) f32(input, type)); break;
                case 10: value.setOut_water_press((double) f32(input, type)); break;
                case 13: value.setCompress_status(enumName(input, type, "RunStatus")); break;
                case 14: value.setCompress_heat_status(enumName(input, type, "RunStatus")); break;
                case 15: value.setElectric_heat_status(enumName(input, type, "RunStatus")); break;
                case 16: value.setPump_status(enumName(input, type, "RunStatus")); break;
                case 21: value.setCool_start_temp((double) f32(input, type)); break;
                case 22: value.setCool_stop_temp((double) f32(input, type)); break;
                case 23: value.setHeat_start_temp((double) f32(input, type)); break;
                case 24: value.setHeat_stop_temp((double) f32(input, type)); break;
                case 6: value.setTms_mode(enumName(input, type, "TmsMode")); break;
                case 28: value.setControl_mode(enumName(input, type, "TmsControlMode")); break;
                case 25: value.setComm_status(enumName(input, type, "CommStatus")); break;
                default: skip(input, type);
            }
        });
@@ -384,6 +391,20 @@
        if ("TmsRunStatus".equals(prefix)) {
            return new String[]{"TMS_RUN_STATUS_UNKNOWN", "TMS_RUN_STATUS_IDLE", "TMS_RUN_STATUS_READY_TO_START", "TMS_RUN_STATUS_RUNNING", "TMS_RUN_STATUS_DELAYED_SHUTDOWN", "TMS_RUN_STATUS_SELF_TEST", "TMS_RUN_STATUS_ALARMING"}[number < 0 || number > 6 ? 0 : number];
        }
        if ("PcsControlMode".equals(prefix)) {
            return new String[]{"PCS_CONTROL_MODE_UNKNOWN", "PCS_CONTROL_MODE_LOCAL_CONTROL", "PCS_CONTROL_MODE_REMOTE_CONTROL"}[number < 0 || number > 3 ? 0 : number];
        }
        if ("BatteryStatus".equals(prefix)) {
            return new String[]{"Battery_Status_BAN_CHARGE_DISCHARGE", "Battery_Status_ONLY_CHARGE", "Battery_Status_ONLY_DISCHARGE","Battery_Status_NORMAL","Battery_Status_BAN_CHARGE_DISCHARGE_NEW","Battery_Status_IDLE"}[number < 0 || number > 6 ? 0 : number];
        }
        if ("TmsMode".equals(prefix)) {
            return new String[]{"TMS_MODE_UNKNOWN", "TMS_MODE_REFRIGERATION", "TMS_MODE_HEATING","TMS_MODE_SELF_LOOP","TMS_MODE_AUTOMATIC","TMS_MODE_STOP"}[number < 0 || number > 6 ? 0 : number];
        }
        if ("TmsControlMode".equals(prefix)) {
            return new String[]{"UNKNOWN", "OUTLET_WATER_TEMP", "INLET_WATER_TEMP","CELL_WEIGHT_TEMP","CELL_AVG_TEMP"}[number < 0 || number > 5 ? 0 : number];
        }
        return prefix + "_" + number;
    }
    private static <T> T enumAt(T[] values, CodedInputStream input, int type) throws IOException {