|
|
|
@ -23,40 +23,76 @@ |
|
|
|
<update id="batchSumParents" parameterType="List"> |
|
|
|
update xm_menu_state s left join |
|
|
|
(select m.pmenu_id, |
|
|
|
sum(1) as children_cnt, |
|
|
|
sum(ss.plan_workload) as plan_workload , |
|
|
|
sum(ss.plan_cost_amount) as plan_cost_amount , |
|
|
|
sum(ss.budget_workload) as budget_workload , |
|
|
|
sum(ss.budget_iuser_workload) as budget_iuser_workload , |
|
|
|
sum(ss.budget_ouser_workload) as budget_ouser_workload , |
|
|
|
sum(ss.budget_at) as budget_at , |
|
|
|
sum(ss.budget_iuser_at) as budget_iuser_at , |
|
|
|
sum(ss.budget_ouser_at) as budget_ouser_at , |
|
|
|
|
|
|
|
sum(ss.act_workload) as act_workload , |
|
|
|
sum(ss.act_cost_amount) as act_cost_amount , |
|
|
|
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0)) as plan_workload_rate, |
|
|
|
sum(ss.act_iuser_workload) as act_iuser_workload , |
|
|
|
sum(ss.act_ouser_workload) as act_ouser_workload , |
|
|
|
sum(ss.act_at) as act_at , |
|
|
|
sum(ss.act_iuser_at) as act_iuser_at , |
|
|
|
sum(ss.act_ouser_at) as act_ouser_at , |
|
|
|
|
|
|
|
sum(ifnull(ss.finish_rate,0))/count(1) as raw_rate , |
|
|
|
|
|
|
|
sum(ss.task_cnt) as task_cnt , |
|
|
|
sum(ss.finish_task_cnt) as finish_task_cnt , |
|
|
|
sum(ss.project_cnt) as project_cnt , |
|
|
|
sum(ss.iteration_cnt) as iteration_cnt , |
|
|
|
sum(ss.task_unstart_cnt) as task_unstart_cnt , |
|
|
|
sum(ss.task_exec_cnt) as task_exec_cnt , |
|
|
|
sum(ss.task_finish_cnt) as task_finish_cnt , |
|
|
|
sum(ss.task_set_cnt) as task_set_cnt , |
|
|
|
sum(ss.task_close_cnt) as task_close_cnt , |
|
|
|
|
|
|
|
|
|
|
|
sum(ss.test_cases) as test_cases , |
|
|
|
sum(ss.exec_cases) as exec_cases , |
|
|
|
sum(ss.design_cases) as design_cases , |
|
|
|
sum(ss.finish_cases) as finish_cases , |
|
|
|
|
|
|
|
|
|
|
|
sum(ss.bug_cnt) as bug_cnt , |
|
|
|
sum(ss.active_bugs) as active_bugs , |
|
|
|
sum(ss.confirmed_bugs) as confirmed_bugs , |
|
|
|
sum(ss.resolved_bugs) as resolved_bugs , |
|
|
|
sum(ss.closed_bugs) as closed_bugs |
|
|
|
sum(ss.closed_bugs) as closed_bugs, |
|
|
|
|
|
|
|
min(ss.min_start_time) as min_start_time, |
|
|
|
max(ss.max_end_time) as max_end_time |
|
|
|
from xm_menu_state ss inner join xm_menu m on ss.menu_id=m.menu_id where m.pmenu_id in |
|
|
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=","> |
|
|
|
#{item} |
|
|
|
</foreach> |
|
|
|
|
|
|
|
group by m.pmenu_id) s2 on s2.pmenu_id=s.menu_id inner join xm_menu xm on xm.menu_id=s.menu_id |
|
|
|
set s.plan_workload=ifnull(s2.plan_workload,0), |
|
|
|
s.plan_cost_amount=ifnull(s2.plan_cost_amount,0), |
|
|
|
group by m.pmenu_id) s2 on s2.pmenu_id=s.menu_id inner join xm_menu xmm on xmm.menu_id=s.menu_id |
|
|
|
set |
|
|
|
s.budget_workload=ifnull(s2.budget_workload,0), |
|
|
|
s.budget_iuser_workload=ifnull(s2.budget_iuser_workload,0), |
|
|
|
s.budget_ouser_workload=ifnull(s2.budget_ouser_workload,0), |
|
|
|
s.budget_at=ifnull(s2.budget_at,0), |
|
|
|
s.budget_iuser_at=ifnull(s2.budget_iuser_at,0), |
|
|
|
s.budget_ouser_at=ifnull(s2.budget_ouser_at,0), |
|
|
|
|
|
|
|
s.act_workload=ifnull(s2.act_workload,0), |
|
|
|
s.act_cost_amount=ifnull(s2.act_cost_amount,0), |
|
|
|
s.finish_rate=if(s2.plan_workload is null or s2.plan_workload=0,0,s2.plan_workload_rate/s2.plan_workload), |
|
|
|
s.act_iuser_workload=ifnull(s2.act_iuser_workload,0), |
|
|
|
s.act_ouser_workload=ifnull(s2.act_ouser_workload,0), |
|
|
|
s.act_at=ifnull(s2.act_at,0), |
|
|
|
s.act_iuser_at=ifnull(s2.act_iuser_at,0), |
|
|
|
s.act_ouser_at=ifnull(s2.act_ouser_at,0), |
|
|
|
|
|
|
|
s.finish_rate=case when ifnull(s2.budget_workload,0) >0 |
|
|
|
then 100*(ifnull(s2.act_workload,0)) / s2.budget_workload |
|
|
|
when ifnull(s2.act_workload,0)>0 then 100 |
|
|
|
else 0 end, |
|
|
|
|
|
|
|
s.task_cnt=ifnull(s2.task_cnt,0), |
|
|
|
s.finish_task_cnt=ifnull(s2.finish_task_cnt,0), |
|
|
|
s.project_cnt=ifnull(s2.project_cnt,0), |
|
|
|
s.iteration_cnt=ifnull(s2.iteration_cnt,0), |
|
|
|
s.task_unstart_cnt=ifnull(s2.task_unstart_cnt,0), |
|
|
|
s.task_finish_cnt=ifnull(s2.task_finish_cnt,0), |
|
|
|
s.task_set_cnt=ifnull(s2.task_set_cnt,0), |
|
|
|
s.task_close_cnt=ifnull(s2.task_close_cnt,0), |
|
|
|
|
|
|
|
|
|
|
|
s.test_cases=ifnull(s2.test_cases,0), |
|
|
|
s.exec_cases=ifnull(s2.exec_cases,0), |
|
|
|
@ -68,7 +104,18 @@ |
|
|
|
s.confirmed_bugs=ifnull(s2.confirmed_bugs,0), |
|
|
|
s.resolved_bugs=ifnull(s2.resolved_bugs,0), |
|
|
|
s.closed_bugs=ifnull(s2.closed_bugs,0), |
|
|
|
xm.children_cnt=ifnull(s2.children_cnt,0) |
|
|
|
xmm.children_cnt=ifnull(s2.children_cnt,0), |
|
|
|
xmm.mact_workload=ifnull(s2.act_workload,0), |
|
|
|
xmm.mact_cost=ifnull(s2.act_at,0), |
|
|
|
xmm.mact_rate=case when ifnull(s2.budget_workload,0) >0 |
|
|
|
then 100*(ifnull(s2.act_workload,0)) / s2.budget_workload |
|
|
|
when ifnull(s2.act_workload,0)>0 then 100 |
|
|
|
else 0 end, |
|
|
|
s.biz_date=bizDate, |
|
|
|
s.min_start_time=s2.min_start_time, |
|
|
|
s.max_end_time=s2.max_end_time, |
|
|
|
xmm.start_time=s2.min_start_time, |
|
|
|
xmm.end_time=s2.max_end_time |
|
|
|
where s.menu_id in |
|
|
|
<foreach collection="list" index="index" item="item" open="(" close=")" separator=","> |
|
|
|
#{item} |
|
|
|
@ -79,37 +126,74 @@ |
|
|
|
<foreach collection="list" item="item" index="index" open="" separator=";" close="" > |
|
|
|
update xm_menu_state s left join |
|
|
|
(select m.pmenu_id, |
|
|
|
sum(1) as children_cnt, |
|
|
|
sum(ss.plan_workload) as plan_workload , |
|
|
|
sum(ss.plan_cost_amount) as plan_cost_amount , |
|
|
|
count(1) as children_cnt, |
|
|
|
sum(ss.budget_workload) as budget_workload , |
|
|
|
sum(ss.budget_iuser_workload) as budget_iuser_workload , |
|
|
|
sum(ss.budget_ouser_workload) as budget_ouser_workload , |
|
|
|
sum(ss.budget_at) as budget_at , |
|
|
|
sum(ss.budget_iuser_at) as budget_iuser_at , |
|
|
|
sum(ss.budget_ouser_at) as budget_ouser_at , |
|
|
|
|
|
|
|
sum(ss.act_workload) as act_workload , |
|
|
|
sum(ss.act_cost_amount) as act_cost_amount , |
|
|
|
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0)) as plan_workload_rate, |
|
|
|
sum(ss.act_iuser_workload) as act_iuser_workload , |
|
|
|
sum(ss.act_ouser_workload) as act_ouser_workload , |
|
|
|
sum(ss.act_at) as act_at , |
|
|
|
sum(ss.act_iuser_at) as act_iuser_at , |
|
|
|
sum(ss.act_ouser_at) as act_ouser_at , |
|
|
|
|
|
|
|
sum(ifnull(ss.finish_rate,0))/count(1) as raw_rate , |
|
|
|
|
|
|
|
sum(ss.task_cnt) as task_cnt , |
|
|
|
sum(ss.finish_task_cnt) as finish_task_cnt , |
|
|
|
sum(ss.project_cnt) as project_cnt , |
|
|
|
sum(ss.iteration_cnt) as iteration_cnt , |
|
|
|
sum(ss.task_unstart_cnt) as task_unstart_cnt , |
|
|
|
sum(ss.task_exec_cnt) as task_exec_cnt , |
|
|
|
sum(ss.task_finish_cnt) as task_finish_cnt , |
|
|
|
sum(ss.task_set_cnt) as task_set_cnt , |
|
|
|
sum(ss.task_close_cnt) as task_close_cnt , |
|
|
|
|
|
|
|
|
|
|
|
sum(ss.test_cases) as test_cases , |
|
|
|
sum(ss.exec_cases) as exec_cases , |
|
|
|
sum(ss.design_cases) as design_cases , |
|
|
|
sum(ss.finish_cases) as finish_cases , |
|
|
|
|
|
|
|
|
|
|
|
sum(ss.bug_cnt) as bug_cnt , |
|
|
|
sum(ss.active_bugs) as active_bugs , |
|
|
|
sum(ss.confirmed_bugs) as confirmed_bugs , |
|
|
|
sum(ss.resolved_bugs) as resolved_bugs , |
|
|
|
sum(ss.closed_bugs) as closed_bugs |
|
|
|
sum(ss.closed_bugs) as closed_bugs, |
|
|
|
|
|
|
|
min(ss.min_start_time) as min_start_time, |
|
|
|
max(ss.max_end_time) as max_end_time |
|
|
|
from xm_menu_state ss inner join xm_menu m on ss.menu_id=m.menu_id where m.pmenu_id =#{item} |
|
|
|
|
|
|
|
group by m.pmenu_id) s2 on s2.pmenu_id=s.menu_id inner join xm_menu xm on s.menu_id=xm.menu_id |
|
|
|
set s.plan_workload=ifnull(s2.plan_workload,0), |
|
|
|
s.plan_cost_amount=ifnull(s2.plan_cost_amount,0), |
|
|
|
group by m.pmenu_id) s2 on s2.pmenu_id=s.menu_id inner join xm_menu xmm on s.menu_id=xmm.menu_id |
|
|
|
set |
|
|
|
s.budget_workload=ifnull(s2.budget_workload,0), |
|
|
|
s.budget_iuser_workload=ifnull(s2.budget_iuser_workload,0), |
|
|
|
s.budget_ouser_workload=ifnull(s2.budget_ouser_workload,0), |
|
|
|
s.budget_at=ifnull(s2.budget_at,0), |
|
|
|
s.budget_iuser_at=ifnull(s2.budget_iuser_at,0), |
|
|
|
s.budget_ouser_at=ifnull(s2.budget_ouser_at,0), |
|
|
|
|
|
|
|
s.act_workload=ifnull(s2.act_workload,0), |
|
|
|
s.act_cost_amount=ifnull(s2.act_cost_amount,0), |
|
|
|
s.finish_rate=if(s2.plan_workload is null or s2.plan_workload=0,0,s2.plan_workload_rate/s2.plan_workload), |
|
|
|
s.act_iuser_workload=ifnull(s2.act_iuser_workload,0), |
|
|
|
s.act_ouser_workload=ifnull(s2.act_ouser_workload,0), |
|
|
|
s.act_at=ifnull(s2.act_at,0), |
|
|
|
s.act_iuser_at=ifnull(s2.act_iuser_at,0), |
|
|
|
s.act_ouser_at=ifnull(s2.act_ouser_at,0), |
|
|
|
|
|
|
|
s.finish_rate=case when ifnull(s2.budget_workload,0) >0 |
|
|
|
then 100*(ifnull(s2.act_workload,0)) / s2.budget_workload |
|
|
|
when ifnull(s2.act_workload,0)>0 then 100 |
|
|
|
else 0 end, |
|
|
|
|
|
|
|
s.task_cnt=ifnull(s2.task_cnt,0), |
|
|
|
s.finish_task_cnt=ifnull(s2.finish_task_cnt,0), |
|
|
|
s.project_cnt=ifnull(s2.project_cnt,0), |
|
|
|
s.iteration_cnt=ifnull(s2.iteration_cnt,0), |
|
|
|
s.task_unstart_cnt=ifnull(s2.task_unstart_cnt,0), |
|
|
|
s.task_finish_cnt=ifnull(s2.task_finish_cnt,0), |
|
|
|
s.task_set_cnt=ifnull(s2.task_set_cnt,0), |
|
|
|
s.task_close_cnt=ifnull(s2.task_close_cnt,0), |
|
|
|
|
|
|
|
|
|
|
|
s.test_cases=ifnull(s2.test_cases,0), |
|
|
|
s.exec_cases=ifnull(s2.exec_cases,0), |
|
|
|
@ -121,7 +205,18 @@ |
|
|
|
s.confirmed_bugs=ifnull(s2.confirmed_bugs,0), |
|
|
|
s.resolved_bugs=ifnull(s2.resolved_bugs,0), |
|
|
|
s.closed_bugs=ifnull(s2.closed_bugs,0), |
|
|
|
xm.children_cnt=ifnull(s2.children_cnt,0) |
|
|
|
xmm.children_cnt=ifnull(s2.children_cnt,0), |
|
|
|
xmm.mact_workload=ifnull(s2.act_workload,0), |
|
|
|
xmm.mact_cost=ifnull(s2.act_at,0), |
|
|
|
xmm.mact_rate=case when ifnull(s2.budget_workload,0) >0 |
|
|
|
then 100*(ifnull(s2.act_workload,0)) / s2.budget_workload |
|
|
|
when ifnull(s2.act_workload,0)>0 then 100 |
|
|
|
else 0 end, |
|
|
|
s.biz_date=bizDate, |
|
|
|
s.min_start_time=s2.min_start_time, |
|
|
|
s.max_end_time=s2.max_end_time, |
|
|
|
xmm.start_time=s2.min_start_time, |
|
|
|
xmm.end_time=s2.max_end_time |
|
|
|
where s.menu_id = #{item} |
|
|
|
</foreach> |
|
|
|
</update> |
|
|
|
|