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