opt: 套轴计划查询SQL
This commit is contained in:
@@ -4,94 +4,67 @@
|
||||
|
||||
<select id="getAllCutPlan"
|
||||
resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto">
|
||||
SELECT
|
||||
p.resource_name,
|
||||
CASE
|
||||
WHEN LENGTH(p.parent_container_name) > 0 THEN p.parent_container_name
|
||||
ELSE p.restruct_container_name
|
||||
END AS parent_container_name,
|
||||
p.split_group,
|
||||
p.up_or_down,
|
||||
p.qzz_size,
|
||||
p.qzz_generation,
|
||||
COALESCE ( count_table.num, 0 ) num,
|
||||
COALESCE ( ct1.cn, 0 ) AS cn,
|
||||
COALESCE ( ct2.cnn, 0 ) AS cnn
|
||||
FROM
|
||||
`pdm_bi_slittingproductionplan` p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
pp.resource_name,
|
||||
COUNT(*) AS num
|
||||
FROM
|
||||
pdm_bi_slittingproductionplan pp
|
||||
WHERE
|
||||
pp.qzzno IN ( SELECT IF ( LENGTH( bc.qzz_no1 )> 0, bc.qzz_no1, bc.qzz_no2 ) FROM bst_ivt_cutpointivt bc )
|
||||
AND pp.`status` <![CDATA[ < ]]> '09'
|
||||
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)
|
||||
SELECT resource_name,
|
||||
parent_container_name,
|
||||
split_group,
|
||||
up_or_down,
|
||||
qzz_size,
|
||||
qzz_generation,
|
||||
start_time
|
||||
FROM (SELECT p.resource_name,
|
||||
p.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 0 DAY)
|
||||
AND IFNULL(p.parent_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.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.split_group,
|
||||
p.up_or_down,
|
||||
p.qzz_size,
|
||||
p.qzz_generation,
|
||||
num,
|
||||
cn,
|
||||
cnn
|
||||
p.qzz_generation
|
||||
) AS combined_data
|
||||
ORDER BY
|
||||
cnn DESC,
|
||||
num,
|
||||
cn,
|
||||
p.resource_name,
|
||||
p.parent_container_name,
|
||||
p.restruct_container_name,
|
||||
p.split_group,
|
||||
p.up_or_down
|
||||
start_time
|
||||
</select>
|
||||
<select id="getAllHalfPlan" resultType="org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto">
|
||||
WITH RankedData AS (
|
||||
|
||||
@@ -154,10 +154,7 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
if (ObjectUtil.isNotEmpty(useXn) && "1".equals(useXn.getValue())) {
|
||||
planAll = slittingproductionplanService.getAllCutPlan2(integer);
|
||||
} else {
|
||||
planAll = slittingproductionplanService.getAllCutPlan(integer).stream()
|
||||
.sorted(Comparator.comparing(
|
||||
dto -> LocalDateTime.parse(dto.getStart_time(), TIME_FORMATTER)
|
||||
)).collect(Collectors.toList());
|
||||
planAll = slittingproductionplanService.getAllCutPlan(integer);
|
||||
}
|
||||
// 过滤
|
||||
String value = paramObj.getValue();
|
||||
|
||||
Reference in New Issue
Block a user