Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
d7b0007ac9
  1. 5
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java
  2. 1
      xm-core/src/main/java/com/xm/core/service/XmProjectService.java
  3. 88
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuStateMapper.xml

5
xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java

@ -433,6 +433,7 @@ public class XmMenuController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmMenus.size()+"条数据"); Tips tips=new Tips("成功删除"+xmMenus.size()+"条数据");
try{ try{
List<XmMenu> noExists=new ArrayList<>();
List<String> hasChildMenus=new ArrayList<>(); List<String> hasChildMenus=new ArrayList<>();
List<XmMenu> canDelList=new ArrayList<>(); List<XmMenu> canDelList=new ArrayList<>();
List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(xmMenus.stream().map(i->i.getMenuId()).collect(Collectors.toList())); List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(xmMenus.stream().map(i->i.getMenuId()).collect(Collectors.toList()));
@ -444,6 +445,7 @@ public class XmMenuController {
hasChildMenus.add(xmMenu.getMenuName()); hasChildMenus.add(xmMenu.getMenuName());
} }
} }
noExists=noExists.stream().filter(i->!xmMenusDb.stream().filter(k->k.getMenuId().equals(i.getMenuId())).findAny().isPresent()).collect(Collectors.toList());
List<XmMenu> canDelResult=new ArrayList<>(); List<XmMenu> canDelResult=new ArrayList<>();
List<XmMenu> noQxResult=new ArrayList<>(); List<XmMenu> noQxResult=new ArrayList<>();
if(canDelList.size()>0) { if(canDelList.size()>0) {
@ -460,6 +462,9 @@ public class XmMenuController {
if(noQxResult.size()>0){ if(noQxResult.size()>0){
msg.add("无权限操作以下"+noQxResult.size()+"个需求.【"+noQxResult.stream().map(i->i.getMenuName()).collect(Collectors.joining(",")) +"】"); msg.add("无权限操作以下"+noQxResult.size()+"个需求.【"+noQxResult.stream().map(i->i.getMenuName()).collect(Collectors.joining(",")) +"】");
} }
if(noExists.size()>0){
msg.add("以下"+noExists.size()+"个需求已不存在,【"+noExists.stream().map(i->i.getMenuName()).collect(Collectors.joining(","))+"】");
}
if(canDelResult.size()==0){ if(canDelResult.size()==0){
tips.setFailureMsg(msg.stream().collect(Collectors.joining(" "))); tips.setFailureMsg(msg.stream().collect(Collectors.joining(" ")));
}else{ }else{

1
xm-core/src/main/java/com/xm/core/service/XmProjectService.java

@ -168,6 +168,7 @@ public class XmProjectService extends BaseService {
node.setMenuName(null); node.setMenuName(null);
node.setProductId(null); node.setProductId(null);
node.setProductName(null); node.setProductName(null);
node.setPreTaskid(newTaskIdMap.get(node.getPreTaskid()));
} }
this.xmTaskService.parentIdPathsCalcBeforeSave(xmTasks); this.xmTaskService.parentIdPathsCalcBeforeSave(xmTasks);
this.xmTaskService.batchImportFromTemplate(xmTasks); this.xmTaskService.batchImportFromTemplate(xmTasks);

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

@ -21,13 +21,14 @@
<!-- 适合没有交叉的,没用父子关系的一批任务的更新 --> <!-- 适合没有交叉的,没用父子关系的一批任务的更新 -->
<update id="batchSumParents" parameterType="List"> <update id="batchSumParents" parameterType="List">
update xm_menu_state s inner join
update xm_menu_state s left join
(select m.pmenu_id, (select m.pmenu_id,
sum(1) as children_cnt,
sum(ss.plan_workload) as plan_workload , sum(ss.plan_workload) as plan_workload ,
sum(ss.plan_cost_amount) as plan_cost_amount , sum(ss.plan_cost_amount) as plan_cost_amount ,
sum(ss.act_workload) as act_workload , sum(ss.act_workload) as act_workload ,
sum(ss.act_cost_amount) as act_cost_amount , sum(ss.act_cost_amount) as act_cost_amount ,
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0))/ifnull(sum(ifnull(ss.plan_workload,0.00001)),9999) as finish_rate ,
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0)) as plan_workload_rate,
sum(ss.task_cnt) as task_cnt , sum(ss.task_cnt) as task_cnt ,
sum(ss.finish_task_cnt) as finish_task_cnt , sum(ss.finish_task_cnt) as finish_task_cnt ,
sum(ss.project_cnt) as project_cnt , sum(ss.project_cnt) as project_cnt ,
@ -46,27 +47,28 @@
#{item} #{item}
</foreach> </foreach>
group by m.pmenu_id) s2 on s2.pmenu_id=s.menu_id
set s.plan_workload=s2.plan_workload,
s.plan_cost_amount=s2.plan_cost_amount,
s.act_workload=s2.act_workload,
s.act_cost_amount=s2.act_cost_amount,
s.finish_rate=s2.finish_rate,
s.task_cnt=s2.task_cnt,
s.finish_task_cnt=s2.finish_task_cnt,
s.project_cnt=s2.project_cnt,
s.iteration_cnt=s2.iteration_cnt,
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),
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.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.test_cases=s2.test_cases,
s.exec_cases=s2.exec_cases,
s.design_cases=s2.design_cases,
s.finish_cases=s2.finish_cases,
s.test_cases=ifnull(s2.test_cases,0),
s.exec_cases=ifnull(s2.exec_cases,0),
s.design_cases=ifnull(s2.design_cases,0),
s.finish_cases=ifnull(s2.finish_cases,0),
s.bug_cnt=s2.bug_cnt,
s.active_bugs=s2.active_bugs,
s.confirmed_bugs=s2.confirmed_bugs,
s.resolved_bugs=s2.resolved_bugs,
s.closed_bugs=s2.closed_bugs
s.bug_cnt=ifnull(s2.bug_cnt,0),
s.active_bugs=ifnull(s2.active_bugs,0),
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)
where s.menu_id in where s.menu_id in
<foreach collection="list" index="index" item="item" open="(" close=")" separator=","> <foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
#{item} #{item}
@ -75,13 +77,14 @@
<!-- 适合父子关系的一批任务的更新 --> <!-- 适合父子关系的一批任务的更新 -->
<update id="sumParents" parameterType="List"> <update id="sumParents" parameterType="List">
<foreach collection="list" item="item" index="index" open="" separator=";" close="" > <foreach collection="list" item="item" index="index" open="" separator=";" close="" >
update xm_menu_state s inner join
update xm_menu_state s left join
(select m.pmenu_id, (select m.pmenu_id,
sum(1) as children_cnt,
sum(ss.plan_workload) as plan_workload , sum(ss.plan_workload) as plan_workload ,
sum(ss.plan_cost_amount) as plan_cost_amount , sum(ss.plan_cost_amount) as plan_cost_amount ,
sum(ss.act_workload) as act_workload , sum(ss.act_workload) as act_workload ,
sum(ss.act_cost_amount) as act_cost_amount , sum(ss.act_cost_amount) as act_cost_amount ,
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0))/ifnull(sum(ifnull(ss.plan_workload,0.00001)),9999) as finish_rate ,
sum(ifnull(ss.finish_rate,0) * ifnull(ss.plan_workload,0)) as plan_workload_rate,
sum(ss.task_cnt) as task_cnt , sum(ss.task_cnt) as task_cnt ,
sum(ss.finish_task_cnt) as finish_task_cnt , sum(ss.finish_task_cnt) as finish_task_cnt ,
sum(ss.project_cnt) as project_cnt , sum(ss.project_cnt) as project_cnt ,
@ -97,27 +100,28 @@
sum(ss.closed_bugs) as closed_bugs sum(ss.closed_bugs) as closed_bugs
from xm_menu_state ss inner join xm_menu m on ss.menu_id=m.menu_id where m.pmenu_id =#{item} 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
set s.plan_workload=s2.plan_workload,
s.plan_cost_amount=s2.plan_cost_amount,
s.act_workload=s2.act_workload,
s.act_cost_amount=s2.act_cost_amount,
s.finish_rate=s2.finish_rate,
s.task_cnt=s2.task_cnt,
s.finish_task_cnt=s2.finish_task_cnt,
s.project_cnt=s2.project_cnt,
s.iteration_cnt=s2.iteration_cnt,
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),
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.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.test_cases=s2.test_cases,
s.exec_cases=s2.exec_cases,
s.design_cases=s2.design_cases,
s.finish_cases=s2.finish_cases,
s.test_cases=ifnull(s2.test_cases,0),
s.exec_cases=ifnull(s2.exec_cases,0),
s.design_cases=ifnull(s2.design_cases,0),
s.finish_cases=ifnull(s2.finish_cases,0),
s.bug_cnt=s2.bug_cnt,
s.active_bugs=s2.active_bugs,
s.confirmed_bugs=s2.confirmed_bugs,
s.resolved_bugs=s2.resolved_bugs,
s.closed_bugs=s2.closed_bugs
s.bug_cnt=ifnull(s2.bug_cnt,0),
s.active_bugs=ifnull(s2.active_bugs,0),
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)
where s.menu_id = #{item} where s.menu_id = #{item}
</foreach> </foreach>
</update> </update>

Loading…
Cancel
Save