SET @station_path_len_weight_percent = (
|
SELECT COALESCE(MAX(REPLACE(TRIM(`value`), '%', '')), '50')
|
FROM `sys_config`
|
WHERE `code` = 'stationPathLenWeightPercent'
|
);
|
|
SET @station_path_cong_weight_percent = (
|
SELECT COALESCE(MAX(REPLACE(TRIM(`value`), '%', '')), '50')
|
FROM `sys_config`
|
WHERE `code` = 'stationPathCongWeightPercent'
|
);
|
|
SET @station_path_pass_other_out_station_weight_percent = (
|
SELECT COALESCE(MAX(REPLACE(TRIM(`value`), '%', '')), '100')
|
FROM `sys_config`
|
WHERE `code` = 'stationPathPassOtherOutStationWeightPercent'
|
);
|
|
SET @station_path_pass_other_out_station_force_skip = (
|
SELECT COALESCE(MAX(TRIM(`value`)), '0')
|
FROM `sys_config`
|
WHERE `code` = 'stationPathPassOtherOutStationForceSkip'
|
);
|
|
UPDATE `asr_bas_station_path_profile`
|
SET `config_json` = JSON_SET(
|
CASE
|
WHEN `config_json` IS NULL OR TRIM(`config_json`) = '' THEN '{}'
|
ELSE `config_json`
|
END,
|
'$.stationPathLenWeightPercent', CAST(@station_path_len_weight_percent AS DECIMAL(10,2)),
|
'$.stationPathCongWeightPercent', CAST(@station_path_cong_weight_percent AS DECIMAL(10,2)),
|
'$.stationPathPassOtherOutStationWeightPercent', CAST(@station_path_pass_other_out_station_weight_percent AS DECIMAL(10,2)),
|
'$.stationPathPassOtherOutStationForceSkip',
|
CASE
|
WHEN LOWER(@station_path_pass_other_out_station_force_skip) IN ('1', 'true', 'yes', 'y', 'on') THEN TRUE
|
ELSE FALSE
|
END
|
)
|
WHERE `id` IS NOT NULL;
|
|
DELETE FROM `sys_config`
|
WHERE `code` IN (
|
'stationPathLenWeightPercent',
|
'stationPathCongWeightPercent',
|
'stationPathPassOtherOutStationWeightPercent',
|
'stationPathPassOtherOutStationForceSkip'
|
);
|