Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
d83416c4d2
  1. 88
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java
  2. 22
      xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java

88
xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java

@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* url编制采用rest风格,如对XM.xm_project_group xm_project_group的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_project_group xm_project_group的操作有增删改查,对应的url分别为:<br>
@ -255,7 +256,6 @@ public class XmProjectGroupController {
return m; return m;
} }
/**
@ApiOperation( value = "删除一条xm_project_group信息",notes="delXmProjectGroup,仅需要上传主键字段") @ApiOperation( value = "删除一条xm_project_group信息",notes="delXmProjectGroup,仅需要上传主键字段")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
@ -265,7 +265,44 @@ public class XmProjectGroupController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除一条数据"); Tips tips=new Tips("成功删除一条数据");
try{ try{
xmProjectGroupService.deleteByPk(xmProjectGroup);
User u = LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmProjectGroup.getId())){
return ResponseHelper.failed("id-0","请上送小组编号");
}
XmProjectGroup groupDb=this.xmProjectGroupService.selectOneObject(xmProjectGroup);
if(groupDb==null){
return ResponseHelper.failed("data-0","小组已不存在");
}
if(!"1".equals(groupDb.getPgClass())) {
if(StringUtils.hasText(groupDb.getProjectId())){
XmProject project = xmProjectService.getProjectFromCache(xmProjectGroup.getProjectId());
if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
Map<String,String> projectAdmMap=xmProjectGroupService.getProjectAdmUsers(project);
if (projectAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
}
}
}else{
if(!StringUtils.hasText(xmProjectGroup.getProductId())){
XmProduct product = xmProductService.selectOneObject(new XmProduct(xmProjectGroup.getProductId()));
if(product==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
if (productAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能删除小组。产品级助理及以上人员可以删除小组。");
}
}
}
if(groupDb.getChildrenCnt()!=null && groupDb.getChildrenCnt()>0){
return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
}
xmProjectGroupService.doDeleteByPk(xmProjectGroup,groupDb);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);
@ -276,7 +313,6 @@ public class XmProjectGroupController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
*/
/** /**
@ApiOperation( value = "根据主键修改一条xm_project_group信息",notes="editXmProjectGroup") @ApiOperation( value = "根据主键修改一条xm_project_group信息",notes="editXmProjectGroup")
@ -304,7 +340,6 @@ public class XmProjectGroupController {
/**
@ApiOperation( value = "根据主键列表批量删除xm_project_group信息",notes="batchDelXmProjectGroup,仅需要上传主键字段") @ApiOperation( value = "根据主键列表批量删除xm_project_group信息",notes="batchDelXmProjectGroup,仅需要上传主键字段")
@ApiResponses({ @ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}") @ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
@ -314,7 +349,49 @@ public class XmProjectGroupController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmProjectGroups.size()+"条数据"); Tips tips=new Tips("成功删除"+xmProjectGroups.size()+"条数据");
try{ try{
xmProjectGroupService.batchDelete(xmProjectGroups);
List<XmProjectGroup> groupsDb=this.xmProjectGroupService.selectListByIds(xmProjectGroups.stream().map(i->i.getId()).collect(Collectors.toList()));
if(groupsDb==null || groupsDb.size()==0){
return ResponseHelper.failed("data-0","要删除的小组已不存在");
}
User user=LoginUtils.getCurrentUserInfo();
XmProjectGroup groupDb=groupsDb.get(0);
String pgClass=groupDb.getPgClass();
String id=groupDb.getProductId();
List<XmProjectGroup> hasChildNodes=new ArrayList<>();
List<XmProjectGroup> noQxs=new ArrayList<>();
List<XmProjectGroup> canDelNodes=new ArrayList<>();
if("0".equals(pgClass)){
id=groupDb.getProjectId();
XmProject prject=this.xmProjectService.getProjectFromCache(id);
Map<String,String> projectAdmMap=xmProjectGroupService.getProjectAdmUsers(prject);
if (projectAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
}
}else{
id=groupDb.getProductId();
XmProduct product=this.xmProductService.selectOneObject(new XmProduct(id));
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
if (productAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能删除小组。产品级助理以上人员可以删除小组。");
}
}
if(canDelNodes.size()>0){
for (XmProjectGroup canDelNode : canDelNodes) {
if(!xmProjectGroupService.checkCanDelAllChild(canDelNode,canDelNodes)){
hasChildNodes.add(canDelNode);
}else{
canDelNodes.add(canDelNode);
}
}
}
if(canDelNodes.size()>0){
if("1".equals(pgClass)){
xmProjectGroupService.doBatchDeleteProductGroups(canDelNodes);
}else {
xmProjectGroupService.doBatchDeleteProjectGroups(canDelNodes);
}
}
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);
@ -325,5 +402,4 @@ public class XmProjectGroupController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
*/
} }

22
xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java

@ -752,5 +752,27 @@ public class XmProjectGroupService extends BaseService {
return true; return true;
} }
@Transactional
public void doDeleteByPk(XmProjectGroup xmProjectGroup,XmProjectGroup groupDb) {
super.deleteByPk(xmProjectGroup);
this.sumParents(groupDb);
}
public List<XmProjectGroup> selectListByIds(List<String> ids) {
return super.selectList("selectListByIds",ids);
}
@Transactional
public void doBatchDeleteProductGroups(List<XmProjectGroup> canDelNodes) {
super.batchDelete(canDelNodes);
batchSumParents(canDelNodes);
}
@Transactional
public void doBatchDeleteProjectGroups(List<XmProjectGroup> canDelNodes) {
super.batchDelete(canDelNodes);
batchSumParents(canDelNodes);
}
} }
Loading…
Cancel
Save