领料审核库存
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}, '%'))
|
mt.type_name like concat('%', #{keyWord}, '%'))
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</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">
|
<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
|
SELECT
|
||||||
*
|
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
|
FROM
|
||||||
type_hierarchy
|
ma_type t4
|
||||||
|
LEFT JOIN slt_agreement_info sai ON t4.type_id = sai.type_id
|
||||||
|
WHERE
|
||||||
|
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
|
GROUP BY
|
||||||
type_id
|
t4.type_id
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
t3.type_id,
|
||||||
|
t3.type_name,
|
||||||
|
t3.parent_id,
|
||||||
|
t3.unit_name,
|
||||||
|
t3.company_id,
|
||||||
|
0 AS num,
|
||||||
|
3 AS LEVEL
|
||||||
|
FROM
|
||||||
|
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
|
||||||
|
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
|
ORDER BY
|
||||||
LEVEL ASC;
|
LEVEL ASC, type_id;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo">
|
<select id="exportList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue