Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
c035d39874
|
|
@ -18,6 +18,8 @@ public class TypeTreeNode {
|
||||||
|
|
||||||
private String num;
|
private String num;
|
||||||
|
|
||||||
|
private String unitName;
|
||||||
|
|
||||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||||
private String level;
|
private String level;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
tt.task_status as taskStatus,
|
tt.task_status as taskStatus,
|
||||||
tta.agreement_id as agreementId,
|
tta.agreement_id as agreementId,
|
||||||
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
|
GROUP_CONCAT(DISTINCT bad.type_id) as typeId,
|
||||||
GROUP_CONCAT(CONCAT_WS('/', IFNULL(mt3.type_name, ''))) AS typeName
|
GROUP_CONCAT(mt2.type_name) AS typeName
|
||||||
FROM
|
FROM
|
||||||
back_apply_info bai
|
back_apply_info bai
|
||||||
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
|
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
|
||||||
|
|
@ -303,8 +303,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LEFT JOIN sys_user us on us.user_id=bai.create_by
|
LEFT JOIN sys_user us on us.user_id=bai.create_by
|
||||||
LEFT JOIN ma_type mt1 ON mt1.type_id=bad.type_id
|
LEFT JOIN ma_type mt1 ON mt1.type_id=bad.type_id
|
||||||
LEFT JOIN ma_type mt2 ON mt2.type_id=mt1.parent_id
|
LEFT JOIN ma_type mt2 ON mt2.type_id=mt1.parent_id
|
||||||
LEFT JOIN ma_type mt3 ON mt3.type_id=mt2.parent_id
|
|
||||||
LEFT JOIN ma_type mt4 ON mt4.type_id=mt3.parent_id
|
|
||||||
WHERE
|
WHERE
|
||||||
1=1
|
1=1
|
||||||
<if test="keyWord != null and keyWord != ''">
|
<if test="keyWord != null and keyWord != ''">
|
||||||
|
|
@ -422,71 +420,73 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</select>
|
</select>
|
||||||
<select id="getUseTypeTree" resultType="com.bonus.sgzb.material.domain.TypeTreeNode">
|
<select id="getUseTypeTree" resultType="com.bonus.sgzb.material.domain.TypeTreeNode">
|
||||||
WITH RECURSIVE cte AS (
|
WITH RECURSIVE cte AS (
|
||||||
SELECT
|
SELECT
|
||||||
mt.type_id,
|
mt.type_id,
|
||||||
mt.parent_id,
|
mt.parent_id,
|
||||||
mt.type_name,
|
mt.type_name,
|
||||||
mt.`level`,
|
mt.`level`,
|
||||||
mt4.num
|
mt.unit_name,
|
||||||
FROM
|
mt4.num
|
||||||
ma_type mt
|
FROM
|
||||||
LEFT JOIN (
|
ma_type mt
|
||||||
SELECT
|
LEFT JOIN (
|
||||||
subquery1.type_id AS typeId,
|
SELECT
|
||||||
subquery1.parent_id ,
|
subquery1.type_id AS typeId,
|
||||||
subquery1.typeName typeCode,
|
subquery1.parent_id ,
|
||||||
subquery1.out_num - COALESCE ( subquery2.audit_num, 0 ) AS num
|
subquery1.typeName typeCode,
|
||||||
FROM
|
subquery1.out_num - COALESCE ( subquery2.audit_num, 0 ) AS num
|
||||||
(-- 第一个查询作为子查询
|
FROM
|
||||||
SELECT
|
(-- 第一个查询作为子查询
|
||||||
mt.type_id,
|
SELECT
|
||||||
mt.parent_id,
|
mt.type_id,
|
||||||
mt.type_name AS typeName,
|
mt.parent_id,
|
||||||
SUM( lod.out_num ) AS out_num
|
mt.type_name AS typeName,
|
||||||
FROM
|
SUM( lod.out_num ) AS out_num
|
||||||
lease_apply_info lai
|
FROM
|
||||||
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
|
lease_apply_info lai
|
||||||
LEFT JOIN lease_out_details lod ON lod.parent_id = lai.id
|
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
|
||||||
LEFT JOIN tm_task tt ON tt.task_id = tta.task_id
|
LEFT JOIN lease_out_details lod ON lod.parent_id = lai.id
|
||||||
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id
|
LEFT JOIN tm_task tt ON tt.task_id = tta.task_id
|
||||||
WHERE
|
LEFT JOIN ma_type mt ON lod.type_id = mt.type_id
|
||||||
tta.agreement_id = #{agreementId}
|
WHERE
|
||||||
AND tt.task_type = '29'
|
tta.agreement_id = #{agreementId}
|
||||||
AND mt.`level` = '4'
|
AND tt.task_type = '29'
|
||||||
GROUP BY
|
AND mt.`level` = '4'
|
||||||
mt.type_id
|
GROUP BY
|
||||||
) AS subquery1
|
mt.type_id
|
||||||
LEFT JOIN (-- 第二个查询作为子查询
|
) AS subquery1
|
||||||
SELECT
|
LEFT JOIN (-- 第二个查询作为子查询
|
||||||
mt.type_id,
|
SELECT
|
||||||
mt.parent_id,
|
mt.type_id,
|
||||||
mt.type_name,
|
mt.parent_id,
|
||||||
SUM( bad.audit_num ) AS audit_num
|
mt.type_name,
|
||||||
FROM
|
SUM( bad.audit_num ) AS audit_num
|
||||||
back_apply_info bai
|
FROM
|
||||||
LEFT JOIN tm_task tt ON tt.task_id = bai.task_id
|
back_apply_info bai
|
||||||
LEFT JOIN back_apply_details bad ON bad.parent_id = bai.id
|
LEFT JOIN tm_task tt ON tt.task_id = bai.task_id
|
||||||
LEFT JOIN tm_task_agreement tta ON tta.task_id = tt.task_id
|
LEFT JOIN back_apply_details bad ON bad.parent_id = bai.id
|
||||||
LEFT JOIN ma_type mt ON mt.type_id = bad.type_id
|
LEFT JOIN tm_task_agreement tta ON tta.task_id = tt.task_id
|
||||||
WHERE
|
LEFT JOIN ma_type mt ON mt.type_id = bad.type_id
|
||||||
tta.agreement_id = #{agreementId}
|
WHERE
|
||||||
AND tt.task_type = '36'
|
tta.agreement_id = #{agreementId}
|
||||||
AND mt.`level` = '4'
|
AND tt.task_type = '36'
|
||||||
GROUP BY
|
AND mt.`level` = '4'
|
||||||
mt.type_id
|
GROUP BY
|
||||||
) AS subquery2 ON subquery1.type_id = subquery2.type_id
|
mt.type_id
|
||||||
WHERE
|
) AS subquery2 ON subquery1.type_id = subquery2.type_id
|
||||||
subquery1.out_num - COALESCE ( subquery2.audit_num, 0 )> 0) mt4 on mt4.typeId = mt.type_id
|
WHERE
|
||||||
HAVING num> 0
|
subquery1.out_num - COALESCE ( subquery2.audit_num, 0 )> 0) mt4 on mt4.typeId = mt.type_id
|
||||||
UNION ALL
|
HAVING num> 0
|
||||||
SELECT ma_type.type_id, ma_type.parent_id,ma_type.type_name as typeCode, ma_type.`level`,0 as num
|
UNION ALL
|
||||||
FROM ma_type
|
SELECT ma_type.type_id, ma_type.parent_id,ma_type.type_name as typeCode, ma_type.`level`,ma_type.unit_name,0 as
|
||||||
JOIN cte ON ma_type.type_id = cte.parent_id
|
num
|
||||||
|
FROM ma_type
|
||||||
|
JOIN cte ON ma_type.type_id = cte.parent_id
|
||||||
)
|
)
|
||||||
SELECT type_id as typeId, parent_id as parentId,type_name as typeName,num,`level`
|
SELECT type_id as typeId, parent_id as parentId,type_name as typeName,num,`level`,unit_name as unitName
|
||||||
FROM cte
|
FROM cte
|
||||||
WHERE
|
WHERE
|
||||||
1=1
|
1=1
|
||||||
<if test="level!=null and level!=''">
|
<if test="level!=null and level!=''">
|
||||||
<if test="level == 2">
|
<if test="level == 2">
|
||||||
AND level IN ('1','2')
|
AND level IN ('1','2')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue