领料审核库存
This commit is contained in:
parent
29f45e6103
commit
25523e3f4b
|
|
@ -571,43 +571,123 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
mt.type_name like concat('%', #{keyWord}, '%'))
|
||||
</if>
|
||||
</select>
|
||||
<!-- <select id="getUseTypeTree" resultType="com.bonus.sgzb.material.domain.TypeTreeNode">-->
|
||||
<!-- WITH RECURSIVE type_hierarchy AS (-- 基础情况:从第四级开始-->
|
||||
<!-- SELECT-->
|
||||
<!-- mt.type_id,-->
|
||||
<!-- mt.type_name,-->
|
||||
<!-- mt.parent_id,-->
|
||||
<!-- mt.unit_name as unitNames,-->
|
||||
<!-- mt.company_id,-->
|
||||
<!-- SUM( CASE WHEN sai.agreement_id = #{agreementId} AND sai.STATUS = '0' THEN sai.num ELSE 0 END ) AS num,-->
|
||||
<!-- mt.LEVEL-->
|
||||
<!-- FROM-->
|
||||
<!-- ma_type mt-->
|
||||
<!-- LEFT JOIN slt_agreement_info sai ON mt.type_id = sai.type_id-->
|
||||
<!-- WHERE-->
|
||||
<!-- EXISTS ( SELECT 1 FROM slt_agreement_info sai2 WHERE sai2.type_id = mt.type_id AND sai2.agreement_id = #{agreementId} AND sai2.STATUS = '0' and sai.lease_type = 0)-->
|
||||
<!-- GROUP BY-->
|
||||
<!-- mt.type_id UNION ALL-- 递归情况:向上查找父级-->
|
||||
<!-- SELECT-->
|
||||
<!-- mt.type_id,-->
|
||||
<!-- mt.type_name,-->
|
||||
<!-- mt.parent_id,-->
|
||||
<!-- mt.unit_name,-->
|
||||
<!-- mt.company_id,-->
|
||||
<!-- 0 AS num,-- 父级没有直接关联的 num,可以设为0或NULL-->
|
||||
<!-- mt.LEVEL-->
|
||||
<!-- FROM-->
|
||||
<!-- ma_type mt-->
|
||||
<!-- INNER JOIN type_hierarchy th ON mt.type_id = th.parent_id-->
|
||||
<!-- ) -- 查询结果,包括从第四级到第一级的所有元素-->
|
||||
<!-- SELECT-->
|
||||
<!-- *-->
|
||||
<!-- FROM-->
|
||||
<!-- type_hierarchy-->
|
||||
<!-- GROUP BY-->
|
||||
<!-- type_id-->
|
||||
<!-- ORDER BY-->
|
||||
<!-- LEVEL ASC;-->
|
||||
<!-- </select>-->
|
||||
|
||||
<select id="getUseTypeTree" resultType="com.bonus.sgzb.material.domain.TypeTreeNode">
|
||||
WITH RECURSIVE type_hierarchy AS (-- 基础情况:从第四级开始
|
||||
-- 查询从第四级到第一级的所有类型及相关信息
|
||||
SELECT
|
||||
mt.type_id,
|
||||
mt.type_name,
|
||||
mt.parent_id,
|
||||
mt.unit_name as unitNames,
|
||||
mt.company_id,
|
||||
SUM( CASE WHEN sai.agreement_id = #{agreementId} AND sai.STATUS = '0' THEN sai.num ELSE 0 END ) AS num,
|
||||
mt.LEVEL
|
||||
t4.type_id,
|
||||
t4.type_name,
|
||||
t4.parent_id,
|
||||
t4.unit_name,
|
||||
t4.company_id,
|
||||
COALESCE(SUM(CASE WHEN sai.agreement_id = #{agreementId} AND sai.status = '0' THEN sai.num ELSE 0 END), 0) AS num,
|
||||
4 AS LEVEL
|
||||
FROM
|
||||
ma_type mt
|
||||
LEFT JOIN slt_agreement_info sai ON mt.type_id = sai.type_id
|
||||
ma_type t4
|
||||
LEFT JOIN slt_agreement_info sai ON t4.type_id = sai.type_id
|
||||
WHERE
|
||||
EXISTS ( SELECT 1 FROM slt_agreement_info sai2 WHERE sai2.type_id = mt.type_id AND sai2.agreement_id = #{agreementId} AND sai2.STATUS = '0' and sai.lease_type = 0)
|
||||
t4.level = 4
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM slt_agreement_info sai2
|
||||
WHERE sai2.type_id = t4.type_id AND sai2.agreement_id = #{agreementId} AND sai2.status = '0'
|
||||
)
|
||||
GROUP BY
|
||||
mt.type_id UNION ALL-- 递归情况:向上查找父级
|
||||
t4.type_id
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
mt.type_id,
|
||||
mt.type_name,
|
||||
mt.parent_id,
|
||||
mt.unit_name,
|
||||
mt.company_id,
|
||||
0 AS num,-- 父级没有直接关联的 num,可以设为0或NULL
|
||||
mt.LEVEL
|
||||
t3.type_id,
|
||||
t3.type_name,
|
||||
t3.parent_id,
|
||||
t3.unit_name,
|
||||
t3.company_id,
|
||||
0 AS num,
|
||||
3 AS LEVEL
|
||||
FROM
|
||||
ma_type mt
|
||||
INNER JOIN type_hierarchy th ON mt.type_id = th.parent_id
|
||||
) -- 查询结果,包括从第四级到第一级的所有元素
|
||||
ma_type t3
|
||||
INNER JOIN (
|
||||
SELECT DISTINCT t4.parent_id
|
||||
FROM ma_type t4
|
||||
WHERE t4.level = 4
|
||||
) AS parent_t4 ON t3.type_id = parent_t4.parent_id
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
*
|
||||
t2.type_id,
|
||||
t2.type_name,
|
||||
t2.parent_id,
|
||||
t2.unit_name,
|
||||
t2.company_id,
|
||||
0 AS num,
|
||||
2 AS LEVEL
|
||||
FROM
|
||||
type_hierarchy
|
||||
GROUP BY
|
||||
type_id
|
||||
ma_type t2
|
||||
INNER JOIN (
|
||||
SELECT DISTINCT t3.parent_id
|
||||
FROM ma_type t3
|
||||
WHERE t3.level = 3
|
||||
) AS parent_t3 ON t2.type_id = parent_t3.parent_id
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
t1.type_id,
|
||||
t1.type_name,
|
||||
t1.parent_id,
|
||||
t1.unit_name,
|
||||
t1.company_id,
|
||||
0 AS num,
|
||||
1 AS LEVEL
|
||||
FROM
|
||||
ma_type t1
|
||||
INNER JOIN (
|
||||
SELECT DISTINCT t2.parent_id
|
||||
FROM ma_type t2
|
||||
WHERE t2.level = 2
|
||||
) AS parent_t2 ON t1.type_id = parent_t2.parent_id
|
||||
|
||||
ORDER BY
|
||||
LEVEL ASC;
|
||||
LEVEL ASC, type_id;
|
||||
</select>
|
||||
|
||||
<select id="exportList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo">
|
||||
|
|
|
|||
Loading…
Reference in New Issue