Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
a2f03a0594
  1. 5
      xm-core/src/main/java/com/xm/core/service/XmMenuStateService.java
  2. 167
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuStateMapper.xml

5
xm-core/src/main/java/com/xm/core/service/XmMenuStateService.java

@ -64,13 +64,8 @@ public class XmMenuStateService extends BaseService {
state.setProductId(productId);
state.setMenuId(xmMenu.getMenuId());
state.setMenuName(xmMenu.getMenuName());
state.setPlanStartTime(new Date());
state.setCtime(new Date());
state.setLtime(new Date());
state.setBizDate(DateUtils.getDate("yyyy-MM-dd"));
state.setCuserid(user.getUserid());
state.setCusername(user.getUsername());
state.setProductName(productName);
addStates.add(state);
}
}

167
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuStateMapper.xml

@ -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>

Loading…
Cancel
Save