opt: 套轴计划查询SQL

This commit is contained in:
2025-06-12 15:37:04 +08:00
parent 285605b151
commit 251723507c
2 changed files with 54 additions and 84 deletions

View File

@@ -4,94 +4,67 @@
<select id="getAllCutPlan" <select id="getAllCutPlan"
resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto"> resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto">
SELECT SELECT resource_name,
p.resource_name, parent_container_name,
CASE split_group,
WHEN LENGTH(p.parent_container_name) > 0 THEN p.parent_container_name up_or_down,
ELSE p.restruct_container_name qzz_size,
END AS parent_container_name, qzz_generation,
p.split_group, start_time
p.up_or_down, FROM (SELECT p.resource_name,
p.qzz_size, p.parent_container_name,
p.qzz_generation, p.split_group,
COALESCE ( count_table.num, 0 ) num, p.up_or_down,
COALESCE ( ct1.cn, 0 ) AS cn, p.qzz_size,
COALESCE ( ct2.cnn, 0 ) AS cnn p.qzz_generation,
FROM MIN(p.start_time) AS start_time
`pdm_bi_slittingproductionplan` p FROM `pdm_bi_slittingproductionplan` p
LEFT JOIN ( WHERE p.`status` = '01'
SELECT AND p.is_child_tz_ok = '0'
pp.resource_name, AND p.is_paper_ok = '1'
COUNT(*) AS num AND p.is_delete = '0'
FROM AND IFNULL(p.up_or_down, '') <![CDATA[ <> ]]> ''
pdm_bi_slittingproductionplan pp AND IFNULL(p.left_or_right, '') <![CDATA[ <> ]]> ''
WHERE AND DATE (p.start_time) >= DATE_SUB(CURDATE(), INTERVAL 0 DAY)
pp.qzzno IN ( SELECT IF ( LENGTH( bc.qzz_no1 )> 0, bc.qzz_no1, bc.qzz_no2 ) FROM bst_ivt_cutpointivt bc ) AND IFNULL(p.parent_container_name, '') <![CDATA[ <> ]]> ''
AND pp.`status` <![CDATA[ < ]]> '09' AND '1' = ( SELECT c.is_used FROM st_ivt_cutpointivt c WHERE c.ext_code = p.resource_name )
AND pp.is_child_tz_ok = '1' AND DATE( pp.start_time ) = CURDATE()
GROUP BY pp.resource_name
) AS count_table ON p.resource_name = count_table.resource_name
LEFT JOIN (
SELECT
pp.resource_name,
COUNT(*) AS cn
FROM
pdm_bi_slittingproductionplan pp
WHERE
pp.qzzno IN ( SELECT IF ( LENGTH( tc.up_qzzno )> 0, tc.up_qzzno, tc.down_qzzno ) FROM st_ivt_cutpointivt tc )
AND pp.`status` = '05' AND DATE( pp.start_time ) = CURDATE()
GROUP BY pp.resource_name
) AS ct1 ON p.resource_name = ct1.resource_name
LEFT JOIN (
SELECT
pp.resource_name,
pp.parent_container_name,
pp.split_group,
pp.up_or_down,
COUNT(*) AS cnn
FROM
pdm_bi_slittingproductionplan pp
WHERE
pp.`status` = '01'
AND pp.is_child_tz_ok = '1' AND DATE( pp.start_time ) = CURDATE()
GROUP BY
pp.resource_name,
pp.parent_container_name,
pp.split_group,
pp.up_or_down
) AS ct2 ON p.resource_name = ct2.resource_name
AND p.parent_container_name = ct2.parent_container_name
AND p.split_group = ct2.split_group
AND p.up_or_down <![CDATA[ <> ]]> ct2.up_or_down
WHERE
p.`status` = '01'
AND p.is_child_tz_ok = '0'
AND p.is_paper_ok = '1'
AND p.is_delete = '0'
AND IFNULL(p.up_or_down,'') <![CDATA[ <> ]]> ''
AND IFNULL(p.left_or_right,'') <![CDATA[ <> ]]> ''
AND DATE(p.start_time) >= DATE_SUB(CURDATE(), INTERVAL #{day} DAY)
AND '1' = (SELECT c.is_used FROM st_ivt_cutpointivt c WHERE c.ext_code = p.resource_name)
GROUP BY GROUP BY
p.resource_name, p.resource_name,
p.parent_container_name, p.parent_container_name,
p.split_group,
p.up_or_down,
p.qzz_size,
p.qzz_generation
UNION ALL
SELECT p.resource_name,
p.restruct_container_name AS parent_container_name,
p.split_group,
p.up_or_down,
p.qzz_size,
p.qzz_generation,
MIN(p.start_time) AS start_time
FROM `pdm_bi_slittingproductionplan` p
WHERE p.`status` = '01'
AND p.is_child_tz_ok = '0'
AND p.is_paper_ok = '1'
AND p.is_delete = '0'
AND IFNULL(p.up_or_down, '') <![CDATA[ <> ]]> ''
AND IFNULL(p.left_or_right, '') <![CDATA[ <> ]]> ''
AND DATE (p.start_time) >= DATE_SUB(CURDATE()
, INTERVAL #{day} DAY)
AND IFNULL(p.restruct_container_name
, '') <![CDATA[ <> ]]> ''
AND '1' = ( SELECT c.is_used FROM st_ivt_cutpointivt c WHERE c.ext_code = p.resource_name )
GROUP BY
p.resource_name,
p.restruct_container_name, p.restruct_container_name,
p.split_group, p.split_group,
p.up_or_down, p.up_or_down,
p.qzz_size, p.qzz_size,
p.qzz_generation, p.qzz_generation
num, ) AS combined_data
cn,
cnn
ORDER BY ORDER BY
cnn DESC, start_time
num,
cn,
p.resource_name,
p.parent_container_name,
p.restruct_container_name,
p.split_group,
p.up_or_down
</select> </select>
<select id="getAllHalfPlan" resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto"> <select id="getAllHalfPlan" resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto">
WITH RankedData AS ( WITH RankedData AS (

View File

@@ -154,10 +154,7 @@ public class AutoCallAirShaftTask extends Prun {
if (ObjectUtil.isNotEmpty(useXn) && "1".equals(useXn.getValue())) { if (ObjectUtil.isNotEmpty(useXn) && "1".equals(useXn.getValue())) {
planAll = slittingproductionplanService.getAllCutPlan2(integer); planAll = slittingproductionplanService.getAllCutPlan2(integer);
} else { } else {
planAll = slittingproductionplanService.getAllCutPlan(integer).stream() planAll = slittingproductionplanService.getAllCutPlan(integer);
.sorted(Comparator.comparing(
dto -> LocalDateTime.parse(dto.getStart_time(), TIME_FORMATTER)
)).collect(Collectors.toList());
} }
// 过滤 // 过滤
String value = paramObj.getValue(); String value = paramObj.getValue();