添加查询字段映射

This commit is contained in:
wangshilong 2024-12-10 09:51:10 +08:00
parent 4bc2281229
commit c17a1e1d28
6 changed files with 303 additions and 81 deletions

View File

@ -0,0 +1,42 @@
package com.isu.gaswellwatch.modbus.data.decode.impl;
import com.isu.gaswellwatch.modbus.data.ModbusMessage;
import com.isu.gaswellwatch.modbus.data.decode.DecodeHandler;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* 本地时间类型解析器
*
* @author <a href="mailto:scwsl@foxmail.com">王仕龙</a>
* 2024/12/09 14:40
*/
@Component(SecondLocalTimeDecodeHandler.NAME + DecodeHandler.DECODE_NAME)
public class SecondLocalTimeDecodeHandler implements DecodeHandler {
public static final String NAME = "secondLocalTime";
@Override
public String decode(Map<String, Object> commandPointMap, String value) {
if (NumberUtils.isCreatable(value)) {
long totalSeconds = NumberUtils.createLong(value);
long hours = TimeUnit.SECONDS.toHours(totalSeconds);
long remainingSeconds = totalSeconds - TimeUnit.HOURS.toSeconds(hours);
long minutes = TimeUnit.SECONDS.toMinutes(remainingSeconds);
remainingSeconds = remainingSeconds - TimeUnit.MINUTES.toSeconds(minutes);
return String.format("%02d:%02d:%02d", hours, minutes, remainingSeconds);
}
return value;
}
@Override
public void decode(Map<String, Object> commandPointMap, ModbusMessage.MessagePoint point) {
point.setValue(this.decode(commandPointMap, point.getValue()));
}
}

View File

@ -40,12 +40,22 @@ public abstract class AbstractPersistenceHandler implements PersistenceHandler {
} }
protected Map<String, Object> getLastRow(String tableName) { protected Map<String, Object> getLastRow(String tableName) {
return this.jdbcTemplate.queryForList("SELECT * FROM " + tableName + " ORDER BY ID DESC LIMIT 1") Map<String, String> columnMappingMap = this.getColumnMappingMap();
StringBuilder sqlBuilder = new StringBuilder(500);
sqlBuilder.append("SELECT id, device_id AS deviceId, created_time AS createdTime, " +
"collection_time AS collectionTime, receive_time AS receiveTime");
columnMappingMap.forEach((column, field) -> sqlBuilder.append(", ").append(column).append(" AS ").append(field));
sqlBuilder.append(" FROM ");
sqlBuilder.append(tableName);
sqlBuilder.append(" ORDER BY ID DESC LIMIT 1");
return this.jdbcTemplate.queryForList(sqlBuilder.toString())
.stream() .stream()
.findFirst() .findFirst()
.orElse(null); .orElse(null);
} }
protected abstract Map<String, String> getColumnMappingMap();
protected void setValue(PreparedStatement ps, Map<String, Object> row, int index, String key, int sqlType) throws SQLException { protected void setValue(PreparedStatement ps, Map<String, Object> row, int index, String key, int sqlType) throws SQLException {
String value = MapUtil.getStr(row, key); String value = MapUtil.getStr(row, key);
if (Objects.isNull(value)) { if (Objects.isNull(value)) {

View File

@ -18,6 +18,18 @@ import java.util.Objects;
@Component(PersistenceHandler.ETC_MODBUS_TYPE) @Component(PersistenceHandler.ETC_MODBUS_TYPE)
public class EtcPersistenceHandler extends AbstractPersistenceHandler { public class EtcPersistenceHandler extends AbstractPersistenceHandler {
private static final Map<String, String> ETC_COLUMN_MAPPING_MAP = Map.of(
"solenoid_valve_status", "solenoidValveStatus",
"controller_current_status", "controllerCurrentStatus",
"current_status_remaining_time", "currentStatusRemainingTime",
"current_status_start_time", "currentStatusStartTime",
"cas_pressure", "casPressure",
"oil_pressure", "oilPressure",
"plunger_rise_time", "plungerRiseTime",
"arrival_sensor_delay_time", "arrivalSensorDelayTime",
"well_shut_in_time", "wellShutInTime",
"after_flow_time", "afterFlowTime");
@Override @Override
public void createTable(String tableName, Long deviceId) { public void createTable(String tableName, Long deviceId) {
this.createTable("sql/CREATE_ETC.sql", tableName, deviceId); this.createTable("sql/CREATE_ETC.sql", tableName, deviceId);
@ -56,4 +68,10 @@ public class EtcPersistenceHandler extends AbstractPersistenceHandler {
} }
return Map.of("new", newRow, "old", oldRow); return Map.of("new", newRow, "old", oldRow);
} }
@Override
protected Map<String, String> getColumnMappingMap() {
return ETC_COLUMN_MAPPING_MAP;
}
} }

View File

@ -8,6 +8,7 @@ import org.springframework.stereotype.Component;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Types; import java.sql.Types;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -18,6 +19,58 @@ import java.util.Objects;
@Component(PersistenceHandler.KNPCV1_MODBUS_TYPE) @Component(PersistenceHandler.KNPCV1_MODBUS_TYPE)
public class Knpcv1PersistenceHandler extends AbstractPersistenceHandler { public class Knpcv1PersistenceHandler extends AbstractPersistenceHandler {
private static final Map<String, String> KNPC_V1_COLUMN_MAPPING_MAP = new HashMap<>();
static {
KNPC_V1_COLUMN_MAPPING_MAP.put("well_status", "wellStatus");
KNPC_V1_COLUMN_MAPPING_MAP.put("plug_status", "plugStatus");
KNPC_V1_COLUMN_MAPPING_MAP.put("status_start_time", "statusOpenTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("status_end_time", "statusCloseTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("oil_pressure", "oilPressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("cas_pressure", "casPressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("pre_pressure", "prePressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("pipe_pressure", "pipePressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("liquid_level", "liquidLevel");
KNPC_V1_COLUMN_MAPPING_MAP.put("temperature", "temperature");
KNPC_V1_COLUMN_MAPPING_MAP.put("humidity", "humidity");
KNPC_V1_COLUMN_MAPPING_MAP.put("op_mode", "opmode");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_able1", "timer1");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_able2", "timer2");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_open1", "timer1Open");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_close1", "timer1Close");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_open2", "timer2Open");
KNPC_V1_COLUMN_MAPPING_MAP.put("timer_close2", "timer2Close");
KNPC_V1_COLUMN_MAPPING_MAP.put("timing_open", "timingOpen");
KNPC_V1_COLUMN_MAPPING_MAP.put("timing_close", "timingClose");
KNPC_V1_COLUMN_MAPPING_MAP.put("timing_delay", "timingCelay");
KNPC_V1_COLUMN_MAPPING_MAP.put("presource", "presource");
KNPC_V1_COLUMN_MAPPING_MAP.put("pressure_open", "pressureOpen");
KNPC_V1_COLUMN_MAPPING_MAP.put("pressure_close", "pressureClose");
KNPC_V1_COLUMN_MAPPING_MAP.put("trigger_type", "triggerType");
KNPC_V1_COLUMN_MAPPING_MAP.put("stability_time", "stabilityTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("max_open_well", "maxOpenWell");
KNPC_V1_COLUMN_MAPPING_MAP.put("max_close_well", "maxCloseWell");
KNPC_V1_COLUMN_MAPPING_MAP.put("min_open_well", "minOpenWell");
KNPC_V1_COLUMN_MAPPING_MAP.put("min_close_well", "minCloseWell");
KNPC_V1_COLUMN_MAPPING_MAP.put("prespro_tect", "presproTect");
KNPC_V1_COLUMN_MAPPING_MAP.put("prespro_source", "presproSource");
KNPC_V1_COLUMN_MAPPING_MAP.put("open_well_limit_max", "openWellLimitMax");
KNPC_V1_COLUMN_MAPPING_MAP.put("open_well_limit_min", "openWellLimitMin");
KNPC_V1_COLUMN_MAPPING_MAP.put("plug_init_status", "plugInitStatus");
KNPC_V1_COLUMN_MAPPING_MAP.put("plug_sustain_time", "plugSustainTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("plug_close_time", "plugCloseTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_init_status", "tpInitStatus");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_open_source", "tpOpenSource");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_open_trigger", "tpOpenTrigger");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_open_pressure", "tpOpenPressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_open_time", "tpOpenTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_close_source", "tpCloseSource");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_close_trigger", "tpCloseTrigger");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_close_pressure", "tpClosePressure");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_close_time", "tpCloseTime");
KNPC_V1_COLUMN_MAPPING_MAP.put("tp_stability_time", "tpStabilityTime");
}
@Override @Override
public void createTable(String tableName, Long deviceId) { public void createTable(String tableName, Long deviceId) {
this.createTable("sql/CREATE_KNPCV1.sql", tableName, deviceId); this.createTable("sql/CREATE_KNPCV1.sql", tableName, deviceId);
@ -95,4 +148,10 @@ public class Knpcv1PersistenceHandler extends AbstractPersistenceHandler {
} }
return Map.of("new", newRow, "old", oldRow); return Map.of("new", newRow, "old", oldRow);
} }
@Override
protected Map<String, String> getColumnMappingMap() {
return KNPC_V1_COLUMN_MAPPING_MAP;
}
} }

View File

@ -8,6 +8,7 @@ import org.springframework.stereotype.Component;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Types; import java.sql.Types;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -18,6 +19,92 @@ import java.util.Objects;
@Component(PersistenceHandler.SCSS_MODBUS_TYPE) @Component(PersistenceHandler.SCSS_MODBUS_TYPE)
public class ScssPersistenceHandler extends AbstractPersistenceHandler { public class ScssPersistenceHandler extends AbstractPersistenceHandler {
private static final Map<String, String> SCSS_COLUMN_MAPPING_MAP = new HashMap<>();
static {
SCSS_COLUMN_MAPPING_MAP.put("cas_pressure", "casPressure");
SCSS_COLUMN_MAPPING_MAP.put("oil_pressure", "oilPressure");
SCSS_COLUMN_MAPPING_MAP.put("first_solenoid_status", "firstSolenoidStatus");
SCSS_COLUMN_MAPPING_MAP.put("battery_voltage", "batteryVoltage");
SCSS_COLUMN_MAPPING_MAP.put("solar_voltage", "solarVoltage");
SCSS_COLUMN_MAPPING_MAP.put("remaining_time_action", "remainingTimeAction");
SCSS_COLUMN_MAPPING_MAP.put("second_solenoid_status", "secondSolenoidStatus");
SCSS_COLUMN_MAPPING_MAP.put("pre_pressure", "prePressure");
SCSS_COLUMN_MAPPING_MAP.put("internet_traffic", "internetTraffic");
SCSS_COLUMN_MAPPING_MAP.put("load_factor", "loadFactor");
SCSS_COLUMN_MAPPING_MAP.put("data_time", "dataTime");
SCSS_COLUMN_MAPPING_MAP.put("show_delay", "showDelay");
SCSS_COLUMN_MAPPING_MAP.put("open_well_sampling_interval", "openWellSamplingInterval");
SCSS_COLUMN_MAPPING_MAP.put("close_well_sampling_interval", "closeWellSamplingInterval");
SCSS_COLUMN_MAPPING_MAP.put("ctl_model", "ctlModel");
SCSS_COLUMN_MAPPING_MAP.put("min_pressure", "minPressure");
SCSS_COLUMN_MAPPING_MAP.put("max_pressure", "maxPressure");
SCSS_COLUMN_MAPPING_MAP.put("pressure_min_voltage", "pressureMinVoltage");
SCSS_COLUMN_MAPPING_MAP.put("pressure_max_voltage", "pressureMaxVoltage");
SCSS_COLUMN_MAPPING_MAP.put("oil_min", "oilMin");
SCSS_COLUMN_MAPPING_MAP.put("oil_max", "oliMax");
SCSS_COLUMN_MAPPING_MAP.put("oil_min_voltage", "oilMinVoltage");
SCSS_COLUMN_MAPPING_MAP.put("oil_max_voltage", "oilMaxVoltage");
SCSS_COLUMN_MAPPING_MAP.put("input_pressure_min_value", "inputPressureMinValue");
SCSS_COLUMN_MAPPING_MAP.put("input_pressure_max_value", "inputPressureMaxValue");
SCSS_COLUMN_MAPPING_MAP.put("input_voltage_min_value", "inputVoltageMinValue");
SCSS_COLUMN_MAPPING_MAP.put("input_voltage_max_value", "inputVoltageMaxValue");
SCSS_COLUMN_MAPPING_MAP.put("flow_rate_min_value", "flowRateMinValue");
SCSS_COLUMN_MAPPING_MAP.put("flow_rate_max_value", "flowRateMaxValue");
SCSS_COLUMN_MAPPING_MAP.put("flow_voltage_min_value", "flowVoltageMinValue");
SCSS_COLUMN_MAPPING_MAP.put("flow_voltage_max_value", "flowVoltageMaxValue");
SCSS_COLUMN_MAPPING_MAP.put("continuous_sampling_interval_duration", "continuousSamplingIntervalDuration");
SCSS_COLUMN_MAPPING_MAP.put("sensor_signal_effective_level", "sensorSignalEffectiveLevel");
SCSS_COLUMN_MAPPING_MAP.put("pressure_compensation_polarity_flag", "pressureCompensationPolarityFlag");
SCSS_COLUMN_MAPPING_MAP.put("pressure_compensation_value_setting", "pressureCompensationValueSetting");
SCSS_COLUMN_MAPPING_MAP.put("oil_pressure_compensation_polarity_flag", "oilPressureCompensationPolarityFlag");
SCSS_COLUMN_MAPPING_MAP.put("oil_pressure_compensation_value_setting", "oilPressureCompensationValueSetting");
SCSS_COLUMN_MAPPING_MAP.put("input_pressure_compensation_polarity_flag", "inputPressureCompensationPolarityFlag");
SCSS_COLUMN_MAPPING_MAP.put("input_pressure_compensation_value_setting", "inputPressureCompensationValueSetting");
SCSS_COLUMN_MAPPING_MAP.put("flow_compensation_polarity_flag", "flowCompensationPolarityFlag");
SCSS_COLUMN_MAPPING_MAP.put("flow_compensation_value_setting", "flowCompensationValueSetting");
SCSS_COLUMN_MAPPING_MAP.put("well_open_time_timestamp", "wellOpenTimeTimestamp");
SCSS_COLUMN_MAPPING_MAP.put("well_open_pressure_value", "wellOpenPressureValue");
SCSS_COLUMN_MAPPING_MAP.put("well_open_oil_pressure_value", "wellOpenOilPressureValue");
SCSS_COLUMN_MAPPING_MAP.put("well_open_load_factor_presets", "wellOpenLoadFactorPresets");
SCSS_COLUMN_MAPPING_MAP.put("well_close_time_timestamp", "wellCloseTimeTimestamp");
SCSS_COLUMN_MAPPING_MAP.put("well_close_pressure_value", "wellClosePressureValue");
SCSS_COLUMN_MAPPING_MAP.put("well_close_oil_pressure_value", "wellCloseOilPressureValue");
SCSS_COLUMN_MAPPING_MAP.put("well_close_flow_value", "wellCloseFlowValue");
SCSS_COLUMN_MAPPING_MAP.put("min_well_open_time_duration", "minWellOpenTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("max_well_open_time_duration", "maxWellOpenTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("min_well_close_time_duration", "minWellCloseTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("max_well_close_time_duration", "maxWellCloseTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("pressure_stabilization_duration", "pressureStabilizationDuration");
SCSS_COLUMN_MAPPING_MAP.put("flow_stabilization_duration", "flowStabilizationDuration");
SCSS_COLUMN_MAPPING_MAP.put("load_factor_stabilization_duration", "loadFactorStabilizationDuration");
SCSS_COLUMN_MAPPING_MAP.put("plunger_delay_duration", "plungerDelayDuration");
SCSS_COLUMN_MAPPING_MAP.put("plunger_rise_duration", "plungerRiseDuration");
SCSS_COLUMN_MAPPING_MAP.put("continuos_flow_duration", "continuosFlowDuration");
SCSS_COLUMN_MAPPING_MAP.put("well_close_time_duration", "wellCloseTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("well_close_time_not_reached_duration", "wellCloseTimeNotReachedDuration");
SCSS_COLUMN_MAPPING_MAP.put("well_close_not_reached_count_value", "wellCloseNotReachedCountValue");
SCSS_COLUMN_MAPPING_MAP.put("plunger_delay_duration_repeat", "plungerDelayDurationRepeat");
SCSS_COLUMN_MAPPING_MAP.put("target_time_timestamp", "targetTimeTimestamp");
SCSS_COLUMN_MAPPING_MAP.put("target_time_range_value", "targetTimeRangeValue");
SCSS_COLUMN_MAPPING_MAP.put("continuos_flow_increase_duration", "continuosFlowIncreaseDuration");
SCSS_COLUMN_MAPPING_MAP.put("continuos_flow_decrease_duration", "continuosFlowDecreaseDuration");
SCSS_COLUMN_MAPPING_MAP.put("well_close_increase_duration", "wellCloseIncreaseDuration");
SCSS_COLUMN_MAPPING_MAP.put("well_close_decrease_duration", "wellCloseDecreaseDuration");
SCSS_COLUMN_MAPPING_MAP.put("min_well_close_time_duration2", "minWellCloseTimeDuration2");
SCSS_COLUMN_MAPPING_MAP.put("max_well_close_time_duration2", "maxWellCloseTimeDuration2");
SCSS_COLUMN_MAPPING_MAP.put("min_continous_flow_time_duration", "minContinuosFlowTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("max_continous_flow_time_duration", "maxContinuosFlowTimeDuration");
SCSS_COLUMN_MAPPING_MAP.put("min_well_open_time_duration2", "minWellOpenTimeDuration2");
SCSS_COLUMN_MAPPING_MAP.put("max_well_open_time_duration2", "maxWellOpenTimeDuration2");
SCSS_COLUMN_MAPPING_MAP.put("well_open_pressure_value_at_open", "wellOpenPressureValueAtOpen");
SCSS_COLUMN_MAPPING_MAP.put("well_open_oil_pressure_value_at_open", "wellOpenOilPressureValueAtOpen");
SCSS_COLUMN_MAPPING_MAP.put("well_open_load_factor_presets_at_open", "wellOpenLoadFactorPresetsAtOpen");
SCSS_COLUMN_MAPPING_MAP.put("well_close_pressure_value_at_close", "wellClosePressureValueAtClose");
SCSS_COLUMN_MAPPING_MAP.put("well_close_oil_ppressure_value_at_close", "wellCloseOilPressureValueAtClose");
SCSS_COLUMN_MAPPING_MAP.put("well_close_flow_value_at_close", "wellCloseFlowValueAtClose");
}
@Override @Override
public void createTable(String tableName, Long deviceId) { public void createTable(String tableName, Long deviceId) {
this.createTable("sql/CREATE_SCSS.sql", tableName, deviceId); this.createTable("sql/CREATE_SCSS.sql", tableName, deviceId);
@ -53,22 +140,22 @@ public class ScssPersistenceHandler extends AbstractPersistenceHandler {
ScssPersistenceHandler.this.setValue(ps, newRow, 17, "openWellSamplingInterval", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 17, "openWellSamplingInterval", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 18, "closeWellSamplingInterval", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 18, "closeWellSamplingInterval", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 19, "ctlModel", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 19, "ctlModel", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 20, "minPressure", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 20, "minPressure", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 21, "maxPressure", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 21, "maxPressure", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 22, "pressureMinVoltage", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 22, "pressureMinVoltage", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 23, "pressureMaxVoltage", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 23, "pressureMaxVoltage", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 24, "oilMin", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 24, "oilMin", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 25, "oliMax", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 25, "oliMax", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 26, "oilMinVoltage", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 26, "oilMinVoltage", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 27, "oilMaxVoltage", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 27, "oilMaxVoltage", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 28, "inputPressureMinValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 28, "inputPressureMinValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 29, "inputPressureMaxValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 29, "inputPressureMaxValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 30, "inputVoltageMinValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 30, "inputVoltageMinValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 31, "inputVoltageMaxValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 31, "inputVoltageMaxValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 32, "flowRateMinValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 32, "flowRateMinValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 33, "flowRateMaxValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 33, "flowRateMaxValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 34, "flowVoltageMinValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 34, "flowVoltageMinValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 35, "flowVoltageMaxValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 35, "flowVoltageMaxValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 36, "continuousSamplingIntervalDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 36, "continuousSamplingIntervalDuration", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 37, "sensorSignalEffectiveLevel", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 37, "sensorSignalEffectiveLevel", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 38, "pressureCompensationPolarityFlag", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 38, "pressureCompensationPolarityFlag", Types.INTEGER);
@ -84,35 +171,35 @@ public class ScssPersistenceHandler extends AbstractPersistenceHandler {
ScssPersistenceHandler.this.setValue(ps, newRow, 48, "wellOpenOilPressureValue", Types.DECIMAL); ScssPersistenceHandler.this.setValue(ps, newRow, 48, "wellOpenOilPressureValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 49, "wellOpenLoadFactorPresets", Types.DECIMAL); ScssPersistenceHandler.this.setValue(ps, newRow, 49, "wellOpenLoadFactorPresets", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 50, "wellCloseTimeTimestamp", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 50, "wellCloseTimeTimestamp", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 51, "wellClosePressureValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 51, "wellClosePressureValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 52, "wellCloseOilPressureValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 52, "wellCloseOilPressureValue", Types.DECIMAL);
ScssPersistenceHandler.this.setValue(ps, newRow, 53, "wellCloseFlowValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 53, "wellCloseFlowValue", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 54, "minWellOpenTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 54, "minWellOpenTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 55, "maxWellOpenTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 55, "maxWellOpenTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 56, "minWellCloseTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 56, "minWellCloseTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 57, "maxWellCloseTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 57, "maxWellCloseTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 58, "pressureStabilizationDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 58, "pressureStabilizationDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 59, "flowStabilizationDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 59, "flowStabilizationDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 60, "loadFactorStabilizationDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 60, "loadFactorStabilizationDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 61, "plungerDelayDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 61, "plungerDelayDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 62, "plungerRiseDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 62, "plungerRiseDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 63, "continuosFlowDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 63, "continuosFlowDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 64, "wellCloseTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 64, "wellCloseTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 65, "wellCloseTimeNotReachedDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 65, "wellCloseTimeNotReachedDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 66, "wellCloseNotReachedCountValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 66, "wellCloseNotReachedCountValue", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 67, "plungerDelayDurationRepeat", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 67, "plungerDelayDurationRepeat", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 68, "targetTimeTimestamp", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 68, "targetTimeTimestamp", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 69, "targetTimeRangeValue", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 69, "targetTimeRangeValue", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 70, "continuosFlowIncreaseDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 70, "continuosFlowIncreaseDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 71, "continuosFlowDecreaseDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 71, "continuosFlowDecreaseDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 72, "wellCloseIncreaseDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 72, "wellCloseIncreaseDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 73, "wellCloseDecreaseDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 73, "wellCloseDecreaseDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 74, "minWellCloseTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 74, "minWellCloseTimeDuration2", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 75, "maxWellCloseTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 75, "maxWellCloseTimeDuration2", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 76, "minContinuosFlowTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 76, "minContinuosFlowTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 77, "maxContinuosFlowTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 77, "maxContinuosFlowTimeDuration", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 78, "minWellOpenTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 78, "minWellOpenTimeDuration2", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 79, "maxWellOpenTimeDuration", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 79, "maxWellOpenTimeDuration2", Types.VARCHAR);
ScssPersistenceHandler.this.setValue(ps, newRow, 80, "wellOpenPressureValueAtOpen", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 80, "wellOpenPressureValueAtOpen", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 81, "wellOpenOilPressureValueAtOpen", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 81, "wellOpenOilPressureValueAtOpen", Types.INTEGER);
ScssPersistenceHandler.this.setValue(ps, newRow, 82, "wellOpenLoadFactorPresetsAtOpen", Types.INTEGER); ScssPersistenceHandler.this.setValue(ps, newRow, 82, "wellOpenLoadFactorPresetsAtOpen", Types.INTEGER);
@ -127,4 +214,10 @@ public class ScssPersistenceHandler extends AbstractPersistenceHandler {
} }
return Map.of("new", newRow, "old", oldRow); return Map.of("new", newRow, "old", oldRow);
} }
@Override
protected Map<String, String> getColumnMappingMap() {
return SCSS_COLUMN_MAPPING_MAP;
}
} }

View File

@ -20,22 +20,22 @@ CREATE TABLE `$TableName$`
`open_well_sampling_interval` int NULL DEFAULT NULL COMMENT '开井采样间隔', `open_well_sampling_interval` int NULL DEFAULT NULL COMMENT '开井采样间隔',
`close_well_sampling_interval` int NULL DEFAULT NULL COMMENT '关井采样间隔', `close_well_sampling_interval` int NULL DEFAULT NULL COMMENT '关井采样间隔',
`ctl_model` int NULL DEFAULT NULL COMMENT '控制模式', `ctl_model` int NULL DEFAULT NULL COMMENT '控制模式',
`min_pressure` int NULL DEFAULT NULL COMMENT '套压最小值', `min_pressure` decimal(10, 2) NULL DEFAULT NULL COMMENT '套压最小值',
`max_pressure` int NULL DEFAULT NULL COMMENT '套压最大值', `max_pressure` decimal(10, 2) NULL DEFAULT NULL COMMENT '套压最大值',
`pressure_min_voltage` int NULL DEFAULT NULL COMMENT '套压最小电压', `pressure_min_voltage` decimal(10, 2) NULL DEFAULT NULL COMMENT '套压最小电压',
`pressure_max_voltage` int NULL DEFAULT NULL COMMENT '套压最大电压', `pressure_max_voltage` decimal(10, 2) NULL DEFAULT NULL COMMENT '套压最大电压',
`oil_min` int NULL DEFAULT NULL COMMENT '油压最小值', `oil_min` decimal(10, 2) NULL DEFAULT NULL COMMENT '油压最小值',
`oil_max` int NULL DEFAULT NULL COMMENT '油压最大值', `oil_max` decimal(10, 2) NULL DEFAULT NULL COMMENT '油压最大值',
`oil_min_voltage` int NULL DEFAULT NULL COMMENT '油压最小电压', `oil_min_voltage` decimal(10, 2) NULL DEFAULT NULL COMMENT '油压最小电压',
`oil_max_voltage` int NULL DEFAULT NULL COMMENT '油压最大电压', `oil_max_voltage` decimal(10, 2) NULL DEFAULT NULL COMMENT '油压最大电压',
`input_pressure_min_value` int NULL DEFAULT NULL COMMENT '输压最小值', `input_pressure_min_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '输压最小值',
`input_pressure_max_value` int NULL DEFAULT NULL COMMENT '输压最大值', `input_pressure_max_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '输压最大值',
`input_voltage_min_value` int NULL DEFAULT NULL COMMENT '输压最小电压', `input_voltage_min_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '输压最小电压',
`input_voltage_max_value` int NULL DEFAULT NULL COMMENT '输压最大电压', `input_voltage_max_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '输压最大电压',
`flow_rate_min_value` int NULL DEFAULT NULL COMMENT '流量最小值', `flow_rate_min_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '流量最小值',
`flow_rate_max_value` int NULL DEFAULT NULL COMMENT '流量最大值', `flow_rate_max_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '流量最大值',
`flow_voltage_min_value` int NULL DEFAULT NULL COMMENT '流量最小电压', `flow_voltage_min_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '流量最小电压',
`flow_voltage_max_value` int NULL DEFAULT NULL COMMENT '流量最大电压', `flow_voltage_max_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '流量最大电压',
`continuous_sampling_interval_duration` int NULL DEFAULT NULL COMMENT '连续采样间隔', `continuous_sampling_interval_duration` int NULL DEFAULT NULL COMMENT '连续采样间隔',
`sensor_signal_effective_level` int NULL DEFAULT NULL COMMENT '到达传感器有效电平', `sensor_signal_effective_level` int NULL DEFAULT NULL COMMENT '到达传感器有效电平',
`pressure_compensation_polarity_flag` int NULL DEFAULT NULL COMMENT '套压补偿极性', `pressure_compensation_polarity_flag` int NULL DEFAULT NULL COMMENT '套压补偿极性',
@ -51,35 +51,35 @@ CREATE TABLE `$TableName$`
`well_open_oil_pressure_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '开井油压', `well_open_oil_pressure_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '开井油压',
`well_open_load_factor_presets` decimal(10, 2) NULL DEFAULT NULL COMMENT '开井载荷因子预设值', `well_open_load_factor_presets` decimal(10, 2) NULL DEFAULT NULL COMMENT '开井载荷因子预设值',
`well_close_time_timestamp` int NULL DEFAULT NULL COMMENT '关井时间时间戳', `well_close_time_timestamp` int NULL DEFAULT NULL COMMENT '关井时间时间戳',
`well_close_pressure_value` int NULL DEFAULT NULL COMMENT '关井压力值', `well_close_pressure_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '关井压力值',
`well_close_oil_pressure_value` int NULL DEFAULT NULL COMMENT '关井油压值', `well_close_oil_pressure_value` decimal(10, 2) NULL DEFAULT NULL COMMENT '关井油压值',
`well_close_flow_value` int NULL DEFAULT NULL COMMENT '关井流量值', `well_close_flow_value` int NULL DEFAULT NULL COMMENT '关井流量值',
`min_well_open_time_duration` int NULL DEFAULT NULL COMMENT '最小开井时间持续时长', `min_well_open_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最小开井时间持续时长',
`max_well_open_time_duration` int NULL DEFAULT NULL COMMENT '最大开井时间持续时长', `max_well_open_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最大开井时间持续时长',
`min_well_close_time_duration` int NULL DEFAULT NULL COMMENT '最小关井时间持续时长', `min_well_close_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最小关井时间持续时长',
`max_well_close_time_duration` int NULL DEFAULT NULL COMMENT '最大关井时间持续时长', `max_well_close_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最大关井时间持续时长',
`pressure_stabilization_duration` int NULL DEFAULT NULL COMMENT '压力稳定持续时长', `pressure_stabilization_duration` varchar(10) NULL DEFAULT NULL COMMENT '压力稳定持续时长',
`flow_stabilization_duration` int NULL DEFAULT NULL COMMENT '流量稳定持续时长', `flow_stabilization_duration` varchar(10) NULL DEFAULT NULL COMMENT '流量稳定持续时长',
`load_factor_stabilization_duration` int NULL DEFAULT NULL COMMENT '载荷因子稳定持续时长', `load_factor_stabilization_duration` varchar(10) NULL DEFAULT NULL COMMENT '载荷因子稳定持续时长',
`plunger_delay_duration` int NULL DEFAULT NULL COMMENT '柱塞延迟时长', `plunger_delay_duration` varchar(10) NULL DEFAULT NULL COMMENT '柱塞延迟时长',
`plunger_rise_duration` int NULL DEFAULT NULL COMMENT '柱塞上升时长', `plunger_rise_duration` varchar(10) NULL DEFAULT NULL COMMENT '柱塞上升时长',
`continuos_flow_duration` int NULL DEFAULT NULL COMMENT '连续流量持续时长', `continuos_flow_duration` varchar(10) NULL DEFAULT NULL COMMENT '连续流量持续时长',
`well_close_time_duration` int NULL DEFAULT NULL COMMENT '关井时间持续时长', `well_close_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '关井时间持续时长',
`well_close_time_not_reached_duration` int NULL DEFAULT NULL COMMENT '关井时间未达到持续时长', `well_close_time_not_reached_duration` varchar(10) NULL DEFAULT NULL COMMENT '关井时间未达到持续时长',
`well_close_not_reached_count_value` int NULL DEFAULT NULL COMMENT '关井未达到次数值', `well_close_not_reached_count_value` int NULL DEFAULT NULL COMMENT '关井未达到次数值',
`plunger_delay_duration_repeat` int NULL DEFAULT NULL COMMENT '柱塞延迟时长重复次数', `plunger_delay_duration_repeat` int NULL DEFAULT NULL COMMENT '柱塞延迟时长重复次数',
`target_time_timestamp` int NULL DEFAULT NULL COMMENT '目标时间时间戳', `target_time_timestamp` int NULL DEFAULT NULL COMMENT '目标时间时间戳',
`target_time_range_value` int NULL DEFAULT NULL COMMENT '目标时间范围值', `target_time_range_value` int NULL DEFAULT NULL COMMENT '目标时间范围值',
`continuos_flow_increase_duration` int NULL DEFAULT NULL COMMENT '连续流量增加持续时长', `continuos_flow_increase_duration` varchar(10) NULL DEFAULT NULL COMMENT '连续流量增加持续时长',
`continuos_flow_decrease_duration` int NULL DEFAULT NULL COMMENT '连续流量减少持续时长', `continuos_flow_decrease_duration` varchar(10) NULL DEFAULT NULL COMMENT '连续流量减少持续时长',
`well_close_increase_duration` int NULL DEFAULT NULL COMMENT '关井增加持续时长', `well_close_increase_duration` varchar(10) NULL DEFAULT NULL COMMENT '关井增加持续时长',
`well_close_decrease_duration` int NULL DEFAULT NULL COMMENT '关井减少持续时长', `well_close_decrease_duration` varchar(10) NULL DEFAULT NULL COMMENT '关井减少持续时长',
`min_well_close_time_duration2` int NULL DEFAULT NULL COMMENT '最小关井时间持续时长', `min_well_close_time_duration2` varchar(10) NULL DEFAULT NULL COMMENT '最小关井时间持续时长',
`max_well_close_time_duration2` int NULL DEFAULT NULL COMMENT '最大关井时间持续时长', `max_well_close_time_duration2` varchar(10) NULL DEFAULT NULL COMMENT '最大关井时间持续时长',
`min_continous_flow_time_duration` int NULL DEFAULT NULL COMMENT '最小连续流量时间持续时长', `min_continous_flow_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最小连续流量时间持续时长',
`max_continous_flow_time_duration` int NULL DEFAULT NULL COMMENT '最大连续流量时间持续时长', `max_continous_flow_time_duration` varchar(10) NULL DEFAULT NULL COMMENT '最大连续流量时间持续时长',
`min_well_open_time_duration2` int NULL DEFAULT NULL COMMENT '最小开井时间持续时长', `min_well_open_time_duration2` varchar(10) NULL DEFAULT NULL COMMENT '最小开井时间持续时长',
`max_well_open_time_duration2` int NULL DEFAULT NULL COMMENT '最大开井时间持续时长', `max_well_open_time_duration2` varchar(10) NULL DEFAULT NULL COMMENT '最大开井时间持续时长',
`well_open_pressure_value_at_open` int NULL DEFAULT NULL COMMENT '开井时压力值(开井瞬间)', `well_open_pressure_value_at_open` int NULL DEFAULT NULL COMMENT '开井时压力值(开井瞬间)',
`well_open_oil_pressure_value_at_open` int NULL DEFAULT NULL COMMENT '开井时油压值(开井瞬间)', `well_open_oil_pressure_value_at_open` int NULL DEFAULT NULL COMMENT '开井时油压值(开井瞬间)',
`well_open_load_factor_presets_at_open` int NULL DEFAULT NULL COMMENT '开井时载荷因子预设值(开井瞬间)', `well_open_load_factor_presets_at_open` int NULL DEFAULT NULL COMMENT '开井时载荷因子预设值(开井瞬间)',