|
@@ -26,11 +26,11 @@
|
|
|
id, project_id, contract_id, is_deleted, `status`, create_time, update_time, parent_id, ancestors, leaf_num, fill_num, approve_num, complete_num, jl_fill_num, jl_approve_num, jl_complete_num, is_leaf
|
|
|
</sql>
|
|
|
<update id="updateLeafNum">
|
|
|
- UPDATE m_wbs_tree_contract_statistics a
|
|
|
- INNER JOIN ( SELECT b.id, COUNT(c.id) as leaf_num FROM m_wbs_tree_contract_statistics b LEFT JOIN m_wbs_tree_contract_statistics c
|
|
|
- ON c.is_leaf = 1 AND c.is_deleted = 0 AND c.status = 1 AND c.contract_id = b.contract_id AND c.ancestors LIKE CONCAT(b.ancestors, ',' b.id, '%')
|
|
|
- WHERE b.id IN (#{ids}) GROUP BY b.id ) AS temp ON a.id = temp.id
|
|
|
- SET a.leaf_num = temp.leaf_num;
|
|
|
+ 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
|
|
|
+ FROM m_wbs_tree_contract_statistics b INNER JOIN m_wbs_tree_contract_statistics c ON c.contract_id = b.contract_id AND c.is_leaf = 1 AND c.is_deleted = 0 AND c.status = 1 AND c.ancestors LIKE CONCAT(b.ancestors, ',', b.id, '%') WHERE b.id IN (#{ids}) GROUP BY b.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;
|
|
|
</update>
|
|
|
<select id="getByIdOnLock" resultMap="ResultMap">
|
|
|
select <include refid="includeSql"/> from m_wbs_tree_contract_statistics where id = #{id} for update
|