Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
3eaa8a34dc
  1. 13
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml
  2. 15
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml

13
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml

@ -198,23 +198,20 @@
sum(ifnull(t.budget_workload,0)) as budget_workload,
sum(ifnull(t.budget_cost,0)) as budget_cost,
sum(ifnull(t.act_workload,0)) as act_workload,
sum(ifnull(t.act_cost,0)) as act_cost,
sum(ifnull(t.rworkload,ifnull(t.budget_workload,0)-ifnull(t.act_workload,0))) as rworkload
sum(ifnull(t.act_cost,0)) as act_cost
from xm_task t where t.menu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item})
</foreach>
and t.ntype='0'
group by menu_id
group by t.menu_id
) t on t.menu_id=res.menu_id
left join (
select q.menu_id,
sum(ifnull(q.budget_workload,0)) as budget_workload,
sum(ifnull(q.budget_cost,0)) as budget_cost,
sum(ifnull(q.act_workload,0)) as act_workload,
sum(ifnull(q.act_cost,0)) as act_cost,
sum(ifnull(q.rworkload,ifnull(q.budget_workload,0)-ifnull(q.act_workload,0))) as rworkload
sum(ifnull(q.act_cost,0)) as act_cost
from xm_question q where q.menu_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
( #{item})
@ -225,8 +222,8 @@
res.budget_cost=ifnull(t.budget_cost,0)+ifnull(q.budget_cost,0),
res.mact_workload=ifnull(t.act_workload,0)+ifnull(q.act_workload,0),
res.mact_cost=ifnull(t.act_cost,0)+ifnull(q.act_cost,0),
res.rworkload=ifnull(t.rworkload,0)+ifnull(q.rworkload,0),
res.mact_rate=case when (ifnull(t.rworkload,0)+ifnull(q.rworkload,0)+ifnull(t.act_workload,0)+ifnull(q.act_workload,0))!=0 then (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))*100/(ifnull(t.rworkload,0)+ifnull(q.rworkload,0)+ifnull(t.act_workload,0)+ifnull(q.act_workload,0))
res.mact_rate=case when (ifnull(t.budget_workload,0)+ifnull(q.budget_workload,0) )!=0 then (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))*100/(ifnull(t.budget_workload,0)+ifnull(q.budget_workload,0) )
when (ifnull(t.act_workload,0)+ifnull(q.act_workload,0))>0 then 100
else 0 end
where (res.menu_id) in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >

15
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml

@ -240,7 +240,6 @@
sum( ifnull( t.budget_workload, 0 ) ) AS budget_workload,
sum( ifnull( t.act_cost, 0 ) ) AS act_cost,
sum( ifnull( t.act_workload, 0 ) ) AS act_workload,
sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.act_workload,0)),0) ) ) AS rworkload,
sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) AS budget_workload_rate,
sum( ifnull(t.rate,0)) as total_rate,
min( t.start_time ) AS start_time,
@ -262,8 +261,8 @@
res.budget_cost=ifnull(t2.budget_cost,0),
res.act_cost = t2.act_cost,
res.act_workload = t2.act_workload,
res.rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)>0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0))
when t2.children_cnt >0 then t2.total_rate/t2.children_cnt
res.rate = case when (ifnull(t2.budget_workload,0) >0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.budget_workload,0) )
when t2.act_workload >0 100
else 0 end,
res.start_time = ifnull(res.start_time,t2.start_time),
res.end_time = ifnull(t2.end_time,t2.end_time),
@ -289,8 +288,6 @@
sum( ifnull( t.act_cost, 0 ) ) AS act_cost,
sum( ifnull( t.act_workload, 0 ) ) AS act_workload,
sum( ifnull( t.budget_cost, 0 ) ) AS budget_cost,
sum( ifnull( t.rworkload, if(t.budget_workload>0,(t.budget_workload-ifnull(t.act_workload,0)),0) ) ) AS rworkload,
sum( ifnull( t.budget_workload, 0 ) * ifnull( t.rate, 0 ) ) as budget_workload_rate,
sum( ifnull(t.rate,0)) as total_rate,
sum( ifnull( t.budget_workload, 0 )) as budget_workload,
@ -308,8 +305,8 @@
res.budget_cost=ifnull(t2.budget_cost,0),
res.act_cost = t2.act_cost,
res.act_workload = t2.act_workload,
res.rate = case when (ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0)>0) then ifnull(t2.act_workload,0)*100/(ifnull(t2.rworkload,0)+ifnull(t2.act_workload,0))
when t2.children_cnt >0 then t2.total_rate/t2.children_cnt
res.rate = case when ( ifnull(t2.budget_workload,0)>0) then ifnull(t2.act_workload,0)*100/( ifnull(t2.budget_workload,0))
when t2.act_workload >0 then 100
else 0 end,
res.start_time = ifnull(res.start_time,t2.start_time),
res.end_time = ifnull(t2.end_time,t2.end_time),
@ -389,8 +386,8 @@
group by w.task_id
)
as w on res.id=w.task_id
set res.act_workload=w.workload,res.rate=case when res.rworkload>0 then ifnull(w.workload,0)*100/(ifnull(w.workload,0)+res.rworkload)
when res.budget_workload>0 then ifnull(w.workload,0)*100/res.budget_workload
set res.act_workload=w.workload,res.rate=case when res.budget_workload>0 then ifnull(w.workload,0)*100/ res.budget_workload
when w.workload>0 then 100
else 0 end
where res.id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >

Loading…
Cancel
Save