From 42a5c0d9909ed43928887c60354c43d2b2beeed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Thu, 17 Feb 2022 21:53:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xm/core/ctrl/XmMenuController.java | 6 ++++++ .../xm/core/ctrl/XmProjectPhaseController.java | 8 +++++++- .../java/com/xm/core/ctrl/XmTaskController.java | 17 ++++++++++++++++- .../java/com/xm/core/service/XmMenuService.java | 6 +++++- .../xm/core/service/XmProjectPhaseService.java | 5 +++++ .../java/com/xm/core/service/XmTaskService.java | 5 +++++ .../mybatis/mapper/xm/core/dao/XmMenuMapper.xml | 8 +++++++- .../mapper/xm/core/dao/XmProjectPhaseMapper.xml | 8 +++++++- .../mybatis/mapper/xm/core/dao/XmTaskMapper.xml | 9 +++++++++ 9 files changed, 67 insertions(+), 5 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java index 1bfbcf45..8e42e520 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java @@ -168,6 +168,9 @@ public class XmMenuController { xmMenu.setMmUsername(user.getUsername()); } xmMenuService.insert(xmMenu); + if(StringUtils.hasText(xmMenu.getPmenuId())){ + this.xmMenuService.updateMenuChildrenCntByMenuId(xmMenu.getPmenuId()); + } m.put("data",xmMenu); }catch (BizException e) { tips=e.getTips(); @@ -205,6 +208,9 @@ public class XmMenuController { tips.setFailureMsg("存在"+childCount+"个子故事关联该故事,不允许删除"); }else { xmMenuService.deleteByPk(xmMenu); + if(StringUtils.hasText(xmMenu.getPmenuId())){ + this.xmMenuService.updateMenuChildrenCntByMenuId(xmMenu.getPmenuId()); + } } } }catch (BizException e) { diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java index 01bdfb51..72ba6c13 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProjectPhaseController.java @@ -229,7 +229,10 @@ public class XmProjectPhaseController { excludePhaseIds.add(xmProjectPhase.getId()); Tips judgetTips=xmProjectPhaseService.judgetBudget(projectId, phaseBudgetCost,phaseBudgetInnerUserAt,phaseBudgetOutUserAt,phaseBudgetNouserAt,excludePhaseIds); if(judgetTips.isOk()) { - xmProjectPhaseService.insert(xmProjectPhase); + xmProjectPhaseService.insert(xmProjectPhase); + if(StringUtils.hasText(xmProjectPhase.getParentPhaseId())){ + this.xmProjectPhaseService.updatePhaseChildrenCntByPhaseId(xmProjectPhase.getParentPhaseId()); + } xmRecordService.addXmPhaseRecord(projectId, xmProjectPhase.getId(), "项目-阶段计划-新增计划", "新增阶段计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); m.put("data",xmProjectPhase); }else { @@ -282,6 +285,9 @@ public class XmProjectPhaseController { }else { xmProjectPhaseService.deleteByPk(xmProjectPhase); + if(StringUtils.hasText(xmProjectPhase.getParentPhaseId())){ + this.xmProjectPhaseService.updatePhaseChildrenCntByPhaseId(xmProjectPhase.getParentPhaseId()); + } xmRecordService.addXmPhaseRecord(xmProjectPhase.getProjectId(), xmProjectPhase.getId(), "项目-阶段计划-删除计划", "删除阶段计划"+xmProjectPhase.getPhaseName(),JSON.toJSONString(xmProjectPhase),null); } } diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java index b08442b5..f63bcbc1 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java @@ -261,6 +261,12 @@ public class XmTaskController { Tips tips=new Tips("成功新增一条数据"); try{ + + if(!StringUtils.hasText(xmTaskVo.getNtype())){ + tips.setFailureMsg("节点类型ntype不能为空"); + m.put("tips", tips); + return m; + } User user=LoginUtils.getCurrentUserInfo(); xmTaskVo.setCreateUserid(user.getUserid()); xmTaskVo.setCreateUsername(user.getUsername()); @@ -299,7 +305,10 @@ public class XmTaskController { taskBudgetCost=taskBudgetCost.add(taskBudgetInnerUserAt).add(taskBudgetOutUserAt).add(taskBudgetNouserAt); Tips judgetTips=xmTaskService.judgetBudget(projectPhaseId, taskBudgetCost,taskBudgetInnerUserAt,taskBudgetOutUserAt,taskBudgetNouserAt,null); if(judgetTips.isOk()) { - xmTaskVo = xmTaskService.addTask(xmTaskVo); + xmTaskVo = xmTaskService.addTask(xmTaskVo); + if(StringUtils.hasText(xmTaskVo.getParentTaskid())){ + xmTaskService.updateTaskChildrenCntByTaskId(xmTaskVo.getParentTaskid()); + } }else { tips=judgetTips; } @@ -424,7 +433,13 @@ public class XmTaskController { m.put("tips", tips); return m; } + if(StringUtils.hasText(xmTaskDb.getParentTaskid())){ + xmTaskService.updateTaskChildrenCntByTaskId(xmTaskDb.getParentTaskid()); + } xmTaskService.deleteTask(xmTask); + if(StringUtils.hasText(xmTaskDb.getParentTaskid())){ + xmTaskService.updateTaskChildrenCntByTaskId(xmTaskDb.getParentTaskid()); + } }catch (BizException e) { tips=e.getTips(); logger.error("",e); diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index e3ced731..2d6e47ab 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -35,7 +35,11 @@ public class XmMenuService extends BaseService { // TODO Auto-generated method stub return this.selectList("selectListMapByWhereWithState", xmMenu); } - + + + public void updateMenuChildrenCntByMenuId(String menuId){ + super.update("updateMenuChildrenCntByMenuId",menuId); + } @Transactional public void batchInsertOrUpdate(List xmMenus) { diff --git a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java index ebaeac4b..ad6bed6f 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProjectPhaseService.java @@ -145,6 +145,11 @@ public class XmProjectPhaseService extends BaseService { Long i= this.selectOne("checkExistsTask", phaseId); return i; } + + + public void updatePhaseChildrenCntByPhaseId(String phaseId){ + super.update("updatePhaseChildrenCntByPhaseId",phaseId); + } public Long checkExistsChildren(String phaseId) { Long i= this.selectOne("checkExistsChildren", phaseId); diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java index 4a4e5d74..ba0b75ed 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java @@ -120,6 +120,11 @@ public class XmTaskService extends BaseService { } + + public void updateTaskChildrenCntByTaskId(String taskId){ + super.update("updateTaskChildrenCntByTaskId",taskId); + } + public List> getTask(Map xmTask){ List> mapList = this.selectListMapByWhere(xmTask);//所有数据 return mapList; diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml index 1877bc9f..5164ed3a 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmMenuMapper.xml @@ -58,7 +58,13 @@ order by res.seq_no asc - + + UPDATE xm_menu t + LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.pmenu_id AS menu_id FROM xm_menu tt WHERE tt.pmenu_id = #{menuId} ) t2 ON t2.menu_id = t.menu_id + SET t.children_cnt = ifnull( t2.children_cnt, 0 ) + WHERE + t.menu_id = #{menuId} + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml index d9884923..56ad7b59 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmProjectPhaseMapper.xml @@ -65,7 +65,13 @@ select count(1) from xm_project_phase res where res.parent_phase_id = #{id} - + + UPDATE xm_project_phase t + LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_phase_id AS id FROM xm_project_phase tt WHERE tt.parent_phase_id = #{id} ) t2 ON t2.id = t.id + SET t.children_cnt = ifnull( t2.children_cnt, 0 ) + WHERE + t.id = #{id} + diff --git a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml index cd43165a..10a46529 100644 --- a/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml +++ b/xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskMapper.xml @@ -78,6 +78,15 @@ update xm_task set menu_id = #{menuId}, menu_name = #{menuName},product_id=#{productId},product_name=#{productName} where id = #{id} + + UPDATE xm_task t + LEFT JOIN ( SELECT count( 1 ) AS children_cnt, tt.parent_taskid AS id FROM xm_task tt WHERE tt.parent_taskid = #{id} ) t2 ON t2.id = t.id + SET t.children_cnt = ifnull( t2.children_cnt, 0 ) + WHERE + t.id = #{id} + + +