with i as (
SELECT is_delete,
api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param1
FROM ocp_api_param
WHERE api_param_classification = 'in'
GROUP BY api_code, is_delete
),
o as (
SELECT is_delete,
api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param2
FROM ocp_api_param
WHERE api_param_classification = 'out'
GROUP BY api_code, is_delete
)
SELECT i.api_code apiCode, i.model_name iString, o.model_name oString, i.param1, o.param2
FROM i
LEFT JOIN o ON i.api_code = o.api_code
WHERE i.is_delete = '0'
update ocp_api_param
set ratio = #{ratio}
where api_code = #{apiCode}
with i as (
SELECT is_delete,
api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param1,
ratio,
ratio_param ratio2
FROM ocp_api_param
WHERE api_param_classification = 'in'
GROUP BY api_code, ratio, is_delete, ratio_param
),
o as (
SELECT is_delete,
api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param2,
ratio,
ratio_param ratio2
FROM ocp_api_param
WHERE api_param_classification = 'out'
GROUP BY api_code, ratio, is_delete,
ratio_param
)
SELECT ocp_api_base.api_name apiName,
i.api_code apiCode,
i.model_name iString,
o.model_name oString,
i.param1,
o.param2,
i.ratio,
i.ratio2
FROM i
LEFT JOIN o ON i.api_code = o.api_code
LEFT JOIN ocp_api_base ON i.api_code = ocp_api_base.api_code
WHERE i.is_delete = '0'
ORDER BY ratio DESC, ratio2 DESC
LIMIT 5
update ocp_api_param
set is_delete = '1'
where api_code = #{apiCode}
with i as (
SELECT api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param1
FROM ocp_api_param
WHERE api_param_classification = 'in'
GROUP BY api_code
),
o as (
SELECT api_code,
array_to_string(array_agg(model_name), ',') as model_name,
array_to_string(array_agg(api_param_name), ',') as param2
FROM ocp_api_param
WHERE api_param_classification = 'out'
GROUP BY api_code
)
SELECT i.api_code apiCode, i.model_name iString, o.model_name oString, i.param1, o.param2
FROM i
LEFT JOIN o ON i.api_code = o.api_code
WHERE i.api_code = #{apiCode}
update ocp_api_param
set ratio_param = #{ratio2}
where api_code = #{apiCode}
update ocp_api_param
set is_delete = '0'
where api_code = #{apiCode}
select count(0)
from ocp_api_param
where api_code = #{apiCode}
select approval_stats,
last_approval_stats,
approval_department,
approval_user_name,
approval_ctime,
approval_audit
from ocp_api_requirement_approval
where requirement_code = #{requirementCode}