|
@@ -28,14 +28,16 @@
|
|
<update id="updateLeafNum">
|
|
<update id="updateLeafNum">
|
|
UPDATE m_wbs_tree_contract_statistics a INNER JOIN (
|
|
UPDATE m_wbs_tree_contract_statistics a INNER JOIN (
|
|
select b.id, COUNT(c.id) AS leaf_num, sum(c.fill_num) as fill_num, sum(c.approve_num) as approve_num, sum(c.complete_num) as complete_num, sum(c.jl_fill_num) as jl_fill_num, sum(c.jl_approve_num) as jl_approve_num, sum(c.jl_complete_num) as jl_complete_num
|
|
select b.id, COUNT(c.id) AS leaf_num, sum(c.fill_num) as fill_num, sum(c.approve_num) as approve_num, sum(c.complete_num) as complete_num, sum(c.jl_fill_num) as jl_fill_num, sum(c.jl_approve_num) as jl_approve_num, sum(c.jl_complete_num) as jl_complete_num
|
|
- FROM m_wbs_tree_contract_statistics b INNER JOIN m_wbs_tree_contract_statistics c ON c.contract_id = b.contract_id AND c.leaf_num = 0 AND c.is_deleted = 0 AND c.status = 1 AND c.ancestors LIKE CONCAT(b.ancestors, ',', b.id, '%')
|
|
|
|
|
|
+ FROM m_wbs_tree_contract_statistics b LEFT JOIN m_wbs_tree_contract_statistics c ON c.contract_id = b.contract_id AND c.leaf_num = 0 AND c.is_deleted = 0 AND c.status = 1 AND c.ancestors LIKE CONCAT(b.ancestors, ',', b.id, '%')
|
|
WHERE b.id IN (
|
|
WHERE b.id IN (
|
|
<foreach collection="ids" item="item" separator=",">
|
|
<foreach collection="ids" item="item" separator=",">
|
|
#{item}
|
|
#{item}
|
|
</foreach>
|
|
</foreach>
|
|
) GROUP BY b.id
|
|
) GROUP BY b.id
|
|
) AS t ON a.id = t.id
|
|
) AS t ON a.id = t.id
|
|
- SET a.leaf_num = t.leaf_num, a.fill_num = t.fill_num,a.approve_num = t.approve_num, a.complete_num = t.complete_num, a.jl_fill_num =t.jl_fill_num, a.jl_approve_num = t.jl_approve_num, a.jl_complete_num = t.jl_complete_num, a.is_leaf = if(t.leaf_num > 0, 0, 1);
|
|
|
|
|
|
+ SET a.leaf_num = ifnull(t.leaf_num, a.leaf_num), a.fill_num = ifnull(t.fill_num, a.fill_num),a.approve_num = ifnull(t.approve_num, a.approve_num),
|
|
|
|
+ a.complete_num = ifnull(t.complete_num, a.complete_num), a.jl_fill_num = ifnull(t.jl_fill_num, a.jl_fill_num), a.jl_approve_num = ifnull(t.jl_approve_num, a.jl_approve_num),
|
|
|
|
+ a.jl_complete_num = ifnull(t.jl_complete_num, a.jl_complete_num), a.is_leaf = if(t.leaf_num > 0, 0, 1);
|
|
</update>
|
|
</update>
|
|
<select id="getByIdOnLock" resultMap="ResultMap">
|
|
<select id="getByIdOnLock" resultMap="ResultMap">
|
|
select <include refid="includeSql"/> from m_wbs_tree_contract_statistics where id = #{id} for update
|
|
select <include refid="includeSql"/> from m_wbs_tree_contract_statistics where id = #{id} for update
|