Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
35c0833272
  1. 46
      xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java

46
xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java

@ -21,6 +21,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* url编制采用rest风格,如对XM.xm_product 产品表的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_product 产品表的操作有增删改查,对应的url分别为:<br>
@ -329,35 +330,54 @@ public class XmProductController {
Map<String,Object> m = new HashMap<>(); Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmProducts.size()+"条数据"); Tips tips=new Tips("成功删除"+xmProducts.size()+"条数据");
try{ try{
User user=LoginUtils.getCurrentUserInfo();
List<String> hasProjects=new ArrayList<>(); List<String> hasProjects=new ArrayList<>();
List<String> hasMenus=new ArrayList<>(); List<String> hasMenus=new ArrayList<>();
List<XmProduct> canDelList=new ArrayList<>(); List<XmProduct> canDelList=new ArrayList<>();
List<Tips> errTips=new ArrayList<>();
for (XmProduct xmProduct : xmProducts) { for (XmProduct xmProduct : xmProducts) {
long projects=xmProductService.checkExistsProject(xmProduct.getId());
if(projects>0) {
hasProjects.add(xmProduct.getProductName());
}else {
XmProduct xmProductDb=xmProductService.selectOneObject(new XmProduct(xmProduct.getId()));
Tips otips=new Tips();
if(xmProductDb==null){
otips.setFailureMsg("data-0","","产品【"+xmProductDb.getProductName()+"】已不存在");
}else if(!"0".equals(xmProductDb.getPstatus())&&!"3".equals(xmProductDb.getPstatus())){
otips.setFailureMsg("pstatus-not-0-3","产品【"+xmProductDb.getProductName()+"】不是初始、已关闭状态,不允许删除");
}else if(!user.getBranchId().equals(xmProductDb.getBranchId())){
otips.setFailureMsg("branchId-not-right","产品【"+xmProductDb.getProductName()+"】不属于您所在的机构,不允许删除");
}else if(!user.getUserid().equals(xmProductDb.getPmUserid()) && !user.getUserid().equals(xmProductDb.getAssistantUserid())){
otips.setFailureMsg("pmUserid-not-right","您不是产品【"+xmProductDb.getProductName()+"】负责人,也不是产品助理,不允许删除");
}else{
if(!"1".equals(xmProductDb.getIsTpl())){
long menus=xmProductService.checkExistsMenu(xmProduct.getId()); long menus=xmProductService.checkExistsMenu(xmProduct.getId());
if(menus>0) { if(menus>0) {
hasMenus.add(xmProduct.getProductName()); hasMenus.add(xmProduct.getProductName());
}else {
canDelList.add(xmProduct);
otips.setFailureMsg("had-menus","产品【"+xmProductDb.getProductName()+"】有"+menus+"个需求关联,不允许删除,请先解绑需求");
}
}
} }
if(otips.isOk()){
canDelList.add(xmProductDb);
}else {
errTips.add(tips);
} }
} }
if(canDelList.size()>0) { if(canDelList.size()>0) {
xmProductService.batchDelete(canDelList); xmProductService.batchDelete(canDelList);
} }
String msg="成功删除"+canDelList+"条产品信息";
if(hasProjects.size()>0 ) {
msg=msg+",【"+StringUtils.arrayToDelimitedString(hasProjects.toArray(), ",")+"】存在项目关联,不允许删除";
String msg="成功删除"+canDelList.size()+"条产品信息";
if(canDelList.size()==xmProducts.size()){
tips.setOkMsg(msg);
}else{
if(errTips.size()>0 && canDelList.size()>0){
String errmsg=errTips.stream().map(i->i.getMsg()).collect(Collectors.joining("\n"));
tips.setOkMsg(msg+"\n"+errmsg);
}else{
tips.setFailureMsg(errTips.stream().map(i->i.getMsg()).collect(Collectors.joining("\n")));
} }
if(hasMenus.size()>0 ) {
msg=msg+",【"+StringUtils.arrayToDelimitedString(hasMenus.toArray(), ",")+"】存在需求关联,不允许删除";
} }
tips.setOkMsg(msg);
return tips;
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);

Loading…
Cancel
Save