陈裕财 2 years ago
parent
commit
6045f64c72
  1. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java
  2. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmBudgetLaborController.java
  3. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmBudgetNlaborController.java
  4. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmCostNlaborController.java
  5. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java
  6. 15
      xm-core/src/main/java/com/xm/core/ctrl/XmFuncController.java
  7. 40
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java
  8. 158
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java
  9. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java
  10. 270
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuCommentController.java
  11. 287
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java
  12. 20
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuStateController.java
  13. 6
      xm-core/src/main/java/com/xm/core/ctrl/XmMyFocusController.java
  14. 102
      xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java
  15. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProductProjectLinkController.java
  16. 93
      xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java
  17. 136
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectContractController.java
  18. 39
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java
  19. 37
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectKpiController.java
  20. 7
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java
  21. 170
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectTaskTypeStateController.java
  22. 107
      xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java
  23. 6
      xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java
  24. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmRptDataController.java
  25. 39
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java
  26. 104
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  27. 11
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskEvalController.java
  28. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  29. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java
  30. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java
  31. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillDetailController.java
  32. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java
  33. 14
      xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java
  34. 18
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java
  35. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java
  36. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java
  37. 8
      xm-core/src/main/java/com/xm/core/mapper/XmBranchStateMapper.java
  38. 2
      xm-core/src/main/java/com/xm/core/mapper/XmMenuCommentMapper.java
  39. 25
      xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java
  40. 14
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java
  41. 10
      xm-core/src/main/java/com/xm/core/service/XmIterationService.java
  42. 8
      xm-core/src/main/java/com/xm/core/service/XmMenuCommentService.java
  43. 1
      xm-core/src/main/java/com/xm/core/service/XmProductService.java
  44. 1
      xm-core/src/main/java/com/xm/core/service/XmProductStateHisService.java

12
xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java

@ -3,11 +3,8 @@ package com.xm.core.ctrl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.mybatis.PageUtils;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
@ -21,7 +18,6 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -138,7 +134,7 @@ public class XmBranchStateController {
xmBranchStateService.insert(xmBranchState); xmBranchStateService.insert(xmBranchState);
m.put("data",xmBranchState); m.put("data",xmBranchState);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
return Result.error(e.getMessage()); return Result.error(e.getMessage());
@ -161,7 +157,7 @@ public class XmBranchStateController {
xmBranchStateService.deleteByPk(xmBranchState); xmBranchStateService.deleteByPk(xmBranchState);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
return Result.error(e.getMessage()); return Result.error(e.getMessage());
@ -185,7 +181,7 @@ public class XmBranchStateController {
xmBranchStateService.updateByPk(xmBranchState); xmBranchStateService.updateByPk(xmBranchState);
m.put("data",xmBranchState); m.put("data",xmBranchState);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
return Result.error(e.getMessage()); return Result.error(e.getMessage());
@ -210,7 +206,7 @@ public class XmBranchStateController {
xmBranchStateService.batchDelete(xmBranchStates); xmBranchStateService.batchDelete(xmBranchStates);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
return Result.error(e.getMessage()); return Result.error(e.getMessage());

2
xm-core/src/main/java/com/xm/core/ctrl/XmBudgetLaborController.java

@ -177,7 +177,7 @@ public class XmBudgetLaborController {
List<XmBudgetLabor> no=new ArrayList<>(); List<XmBudgetLabor> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmBudgetLabor xmBudgetLaborDb : xmBudgetLaborsDb) { for (XmBudgetLabor xmBudgetLaborDb : xmBudgetLaborsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmBudgetLaborDb); no.add(xmBudgetLaborDb);
}else{ }else{

2
xm-core/src/main/java/com/xm/core/ctrl/XmBudgetNlaborController.java

@ -176,7 +176,7 @@ public class XmBudgetNlaborController {
List<XmBudgetNlabor> no=new ArrayList<>(); List<XmBudgetNlabor> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmBudgetNlabor xmBudgetNlaborDb : xmBudgetNlaborsDb) { for (XmBudgetNlabor xmBudgetNlaborDb : xmBudgetNlaborsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmBudgetNlaborDb); no.add(xmBudgetNlaborDb);
}else{ }else{

2
xm-core/src/main/java/com/xm/core/ctrl/XmCostNlaborController.java

@ -180,7 +180,7 @@ public class XmCostNlaborController {
List<XmCostNlabor> no=new ArrayList<>(); List<XmCostNlabor> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmCostNlabor xmCostNlaborDb : xmCostNlaborsDb) { for (XmCostNlabor xmCostNlaborDb : xmCostNlaborsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmCostNlaborDb); no.add(xmCostNlaborDb);
}else{ }else{

4
xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java

@ -137,7 +137,7 @@ public class XmEnvListController {
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改"); return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改"); return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }
@ -173,7 +173,7 @@ public class XmEnvListController {
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改"); return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改"); return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }

15
xm-core/src/main/java/com/xm/core/ctrl/XmFuncController.java

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
@ -28,8 +27,8 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.*;
import static com.mdp.core.utils.ResponseHelper.failed;
import static com.mdp.core.utils.BaseUtils.fromMap;
import static com.mdp.core.utils.BaseUtils.toMap;
/** /**
* url编制采用rest风格,如对xm_func 功能模块表的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对xm_func 功能模块表的操作有增删改查,对应的url分别为:<br>
@ -78,7 +77,7 @@ public class XmFuncController {
RequestUtils.transformArray(params, "ids"); RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(params); IPage page=QueryTools.initPage(params);
QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params); QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params);
List<Map<String,Object>> datas = sensitiveWordService.selectListMapByWhere(page,qw,params);
List<Map<String,Object>> datas = xmFuncService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmFunc列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmFunc列表
} }
@ -116,7 +115,7 @@ public class XmFuncController {
xmFunc.setPbranchId(xmProduct.getBranchId()); xmFunc.setPbranchId(xmProduct.getBranchId());
xmFuncService.parentIdPathsCalcBeforeSave(xmFunc); xmFuncService.parentIdPathsCalcBeforeSave(xmFunc);
xmFuncService.insert(xmFunc); xmFuncService.insert(xmFunc);
return Result.ok();
} }
@ApiOperation( value = "删除一条功能模块表信息",notes=" ") @ApiOperation( value = "删除一条功能模块表信息",notes=" ")
@ -133,7 +132,7 @@ public class XmFuncController {
if( xmFuncDb == null ){ if( xmFuncDb == null ){
return Result.error("data-not-exists","数据不存在,无法删除"); return Result.error("data-not-exists","数据不存在,无法删除");
} }
Long childcnt=xmFuncService.countByWhere(map("pid",xmFuncDb.getId()));
int childcnt=xmFuncService.count(QueryTools.initQueryWrapper(XmFunc.class).eq("pid",xmFuncDb.getId()));
if(childcnt>0){ if(childcnt>0){
return Result.error("childcnt-not-0","至少还有"+childcnt+"个子节点,请先删除子节点,再删除父节点"); return Result.error("childcnt-not-0","至少还有"+childcnt+"个子节点,请先删除子节点,再删除父节点");
} }
@ -157,7 +156,7 @@ public class XmFuncController {
return Result.error("data-not-exists","数据不存在,无法修改"); return Result.error("data-not-exists","数据不存在,无法修改");
} }
xmFuncService.updateSomeFieldByPk(xmFunc); xmFuncService.updateSomeFieldByPk(xmFunc);
return Result.ok();
} }
@ApiOperation( value = "批量修改某些字段",notes="") @ApiOperation( value = "批量修改某些字段",notes="")
@ -196,7 +195,7 @@ public class XmFuncController {
List<XmFunc> no=new ArrayList<>(); List<XmFunc> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmFunc xmFuncDb : xmFuncsDb) { for (XmFunc xmFuncDb : xmFuncsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmFuncDb); no.add(xmFuncDb);
}else{ }else{

40
xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java

@ -108,27 +108,27 @@ public class XmGroupController {
XmProject project=xmProjectService.getProjectFromCache(groupDb.getProjectId()); XmProject project=xmProjectService.getProjectFromCache(groupDb.getProjectId());
boolean isPm=xmGroupService.checkUserIsProjectAdm(project, user.getUserid()); boolean isPm=xmGroupService.checkUserIsProjectAdm(project, user.getUserid());
if(!isPm){ if(!isPm){
tips = projectQxService.checkProjectQx(project,0,user);
Tips tips = projectQxService.checkProjectQx(project,0,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
} }
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
tips = projectQxService.checkProjectQx(project,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null);
Tips tips = projectQxService.checkProjectQx(project,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=projectQxService.checkProjectScopeQx(project,0,group.getLeaderUserid(),group.getLeaderUsername(),null);
Tips tips =projectQxService.checkProjectScopeQx(project,0,group.getLeaderUserid(),group.getLeaderUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
} }
if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){
tips = projectQxService.checkProjectQx(project,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null);
Tips tips = projectQxService.checkProjectQx(project,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=projectQxService.checkProjectScopeQx(project,0,group.getAssUserid(),group.getAssUsername(),null);
Tips tips =projectQxService.checkProjectScopeQx(project,0,group.getAssUserid(),group.getAssUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -137,27 +137,27 @@ public class XmGroupController {
XmProduct product=xmProductService.getProductFromCache(groupDb.getProductId()); XmProduct product=xmProductService.getProductFromCache(groupDb.getProductId());
boolean isPm=xmGroupService.checkUserIsProductAdm(product, user.getUserid()); boolean isPm=xmGroupService.checkUserIsProductAdm(product, user.getUserid());
if(!isPm){ if(!isPm){
tips = productQxService.checkProductQx(product,0,user);
Tips tips = productQxService.checkProductQx(product,0,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
} }
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
tips = productQxService.checkProductQx(product,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null);
Tips tips = productQxService.checkProductQx(product,0,user, groupDb.getLeaderUserid(),groupDb.getLeaderUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=productQxService.checkProductScopeQx(product,0,group.getLeaderUserid(),group.getLeaderUsername(),null);
Tips tips =productQxService.checkProductScopeQx(product,0,group.getLeaderUserid(),group.getLeaderUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
} }
if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){
tips = productQxService.checkProductQx(product,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null);
Tips tips = productQxService.checkProductQx(product,0,user, groupDb.getAssUserid(),groupDb.getAssUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=productQxService.checkProductScopeQx(product,0,group.getAssUserid(),group.getAssUsername(),null);
Tips tips =productQxService.checkProductScopeQx(product,0,group.getAssUserid(),group.getAssUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -268,11 +268,11 @@ public class XmGroupController {
if(project==null){ if(project==null){
return ResponseHelper.failed("project-0","项目已不存在"); return ResponseHelper.failed("project-0","项目已不存在");
} }
Tips tips=this.xmGroupService.checkProjectStatus(project);
Tips tips =this.xmGroupService.checkProjectStatus(project);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=checkProjectGroupQxForAdd(project,u,xmGroup);
Tips tips =checkProjectGroupQxForAdd(project,u,xmGroup);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -287,11 +287,11 @@ public class XmGroupController {
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在"); return ResponseHelper.failed("product-0","产品已不存在");
} }
Tips tips=this.xmGroupService.checkProductStatus(xmProduct);
Tips tips =this.xmGroupService.checkProductStatus(xmProduct);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
Tips tips=checkProductGroupQxForAdd(xmProduct,u,xmGroup);
Tips tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -338,13 +338,13 @@ public class XmGroupController {
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){
tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
Tips tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
} }
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){
tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
Tips tips=productQxService.checkProductScopeQx(xmProduct,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
} }
return tips; return tips;
} }
@ -358,13 +358,13 @@ public class XmGroupController {
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getLeaderUserid()) && !xmGroup.getLeaderUserid().equals(u.getUserid())){
tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
Tips tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getLeaderUserid(),xmGroup.getLeaderUsername(),null);
} }
if(!tips.isOk()){ if(!tips.isOk()){
return tips; return tips;
} }
if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){ if(StringUtils.hasText(xmGroup.getAssUserid()) && !xmGroup.getAssUserid().equals(u.getUserid())){
tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
Tips tips=projectQxService.checkProjectScopeQx(project,0,xmGroup.getAssUserid(),xmGroup.getAssUsername(),null);
} }
return tips; return tips;
} }
@ -391,7 +391,7 @@ public class XmGroupController {
} }
boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips=projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
Tips tips =projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -403,7 +403,7 @@ public class XmGroupController {
} }
boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips=productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
Tips tips =productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }

158
xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils; import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
@ -14,7 +13,6 @@ import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.sensitive.SensitiveWordService; import com.mdp.sensitive.SensitiveWordService;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmIteration; import com.xm.core.entity.XmIteration;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.service.*; import com.xm.core.service.*;
@ -31,7 +29,6 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.fromMap; import static com.mdp.core.utils.BaseUtils.fromMap;
import static com.mdp.core.utils.ResponseHelper.failed;
/** /**
* url编制采用rest风格,如对XM.xm_iteration 迭代定义的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_iteration 迭代定义的操作有增删改查,对应的url分别为:<br>
@ -182,54 +179,49 @@ public class XmIterationController {
@RequestMapping(value="/add",method=RequestMethod.POST) @RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmIteration(@RequestBody XmIterationVo xmIteration) { public Result addXmIteration(@RequestBody XmIterationVo xmIteration) {
XmIteration q=new XmIteration();
User user= LoginUtils.getCurrentUserInfo();
Set<String> words=sensitiveWordService.getSensitiveWord(xmIteration.getIterationName());
if(words!=null && words.size()>0){
return Result.error("name-sensitive-word","名字有敏感词"+words+",请修改后再提交");
}
words=sensitiveWordService.getSensitiveWord(xmIteration.getRemark());
if(words!=null && words.size()>0){
return Result.error("remark-sensitive-word","备注中有敏感词"+words+",请修改后再提交");
}
q.setBranchId(user.getBranchId());
Long count=this.xmIterationService.countByWhere(q);
xmIteration.setId(this.xmIterationService.createIterationId(count));
xmIteration.setSeqNo(Long.toString(count+1));
xmIteration.setCtime(new Date());
xmIteration.setCuserid(user.getUserid());
xmIteration.setCusername(user.getUsername());
xmIteration.setIstatus("0");
xmIteration.setIphase("0");
XmProduct xmProductDb=xmProductService.getProductFromCache(xmIteration.getProductId());
tips=productQxService.checkProductQx(xmProductDb,3,user);
if(!tips.isOk()){
return Result.error(tips);
}
xmIteration.setBranchId(xmProductDb.getBranchId());
if(!StringUtils.hasText(xmIteration.getAdminUserid())){
xmIteration.setAdminUserid(user.getUserid());
xmIteration.setAdminUsername(user.getUsername());
}else if(!xmIteration.getAdminUserid().equals(user.getUserid())){
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if( !isPm ){
tips = productQxService.checkProductQx(xmProductDb,3,user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),null);
if(!tips.isOk()){
return Result.error(tips);
}
}
XmIteration q=new XmIteration();
User user= LoginUtils.getCurrentUserInfo();
Set<String> words=sensitiveWordService.getSensitiveWord(xmIteration.getIterationName());
if(words!=null && words.size()>0){
return Result.error("name-sensitive-word","名字有敏感词"+words+",请修改后再提交");
}
words=sensitiveWordService.getSensitiveWord(xmIteration.getRemark());
if(words!=null && words.size()>0){
return Result.error("remark-sensitive-word","备注中有敏感词"+words+",请修改后再提交");
}
q.setBranchId(user.getBranchId());
Long count=this.xmIterationService.countByWhere(q);
xmIteration.setId(this.xmIterationService.createIterationId(count));
xmIteration.setSeqNo(Long.toString(count+1));
xmIteration.setCtime(new Date());
xmIteration.setCuserid(user.getUserid());
xmIteration.setCusername(user.getUsername());
xmIteration.setIstatus("0");
xmIteration.setIphase("0");
XmProduct xmProductDb=xmProductService.getProductFromCache(xmIteration.getProductId());
Tips tips=productQxService.checkProductQx(xmProductDb,3,user);
Result.assertIsFalse(tips);
xmIteration.setBranchId(xmProductDb.getBranchId());
if(!StringUtils.hasText(xmIteration.getAdminUserid())){
xmIteration.setAdminUserid(user.getUserid());
xmIteration.setAdminUsername(user.getUsername());
}else if(!xmIteration.getAdminUserid().equals(user.getUserid())){
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if( !isPm ){
tips = productQxService.checkProductQx(xmProductDb,3,user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),null);
Result.assertIsFalse(tips);
} }
notifyMsgService.pushMsg(user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),"6",xmIteration.getProductId(),xmIteration.getId(),"您成为迭代【"+xmIteration.getIterationName()+"】管理员,请及时跟进。");
xmIterationService.addIteration(xmIteration);
xmIterationStateService.loadTasksToXmIterationState(xmIteration.getId());
xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-新增","新增迭代"+xmIteration.getIterationName());
}
notifyMsgService.pushMsg(user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),"您成为迭代【"+xmIteration.getIterationName()+"】管理员,请及时跟进。",null);
xmIterationService.addIteration(xmIteration);
xmIterationStateService.loadTasksToXmIterationState(xmIteration.getId());
xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-新增","新增迭代"+xmIteration.getIterationName());
return Result.ok();
} }
@ -253,7 +245,7 @@ public class XmIterationController {
XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId()); XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if( !isPm ){ if( !isPm ){
tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null);
Tips tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
@ -275,25 +267,25 @@ public class XmIterationController {
@RequestMapping(value="/edit",method=RequestMethod.POST) @RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmIteration(@RequestBody XmIteration xmIteration) { public Result editXmIteration(@RequestBody XmIteration xmIteration) {
if(!StringUtils.hasText(xmIteration.getId())){
return Result.error("id-0","请上送迭代编号");
}
XmIteration iterationDb=this.xmIterationService.selectOneById(xmIteration.getId());
if(iterationDb==null){
return Result.error("data-0","迭代不存在");
}
User user=LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if( !isPm ){
tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null);
Result.assertIsFalse(tips);
}
xmIteration.setAdminUserid(null);//不允许更改负责人
xmIteration.setAdminUsername(null);
xmIterationService.updateByPk(xmIteration);
xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-修改","修改迭代"+iterationDb.getIterationName(),JSON.toJSONString(xmIteration), JSON.toJSONString(iterationDb));
if(!StringUtils.hasText(xmIteration.getId())){
return Result.error("id-0","请上送迭代编号");
}
XmIteration iterationDb=this.xmIterationService.selectOneById(xmIteration.getId());
if(iterationDb==null){
return Result.error("data-0","迭代不存在");
}
User user=LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=xmProductService.getProductFromCache(iterationDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if( !isPm ){
Tips tips = productQxService.checkProductQx(xmProductDb,3,user,iterationDb.getAdminUserid(),iterationDb.getAdminUsername(),null);
Result.assertIsFalse(tips);
}
xmIteration.setAdminUserid(null);//不允许更改负责人
xmIteration.setAdminUsername(null);
xmIterationService.updateByPk(xmIteration);
xmRecordService.addXmIterationRecord(xmIteration.getId(),"迭代-修改","修改迭代"+iterationDb.getIterationName(),JSON.toJSONString(xmIteration), JSON.toJSONString(iterationDb));
return Result.ok();
} }
@ApiOperation( value = "批量修改某些字段",notes="") @ApiOperation( value = "批量修改某些字段",notes="")
@ -344,17 +336,15 @@ public class XmIterationController {
String adminUserid= (String) xmIterationMap.get("adminUserid"); String adminUserid= (String) xmIterationMap.get("adminUserid");
String adminUsername= (String) xmIterationMap.get("adminUsername"); String adminUsername= (String) xmIterationMap.get("adminUsername");
if(StringUtils.hasText(adminUserid)){ if(StringUtils.hasText(adminUserid)){
Tips tips=productQxService.checkProductQx(xmProductDb,3,user,adminUserid,adminUsername,null);
if(!tips.isOk()){
return Result.error(tips);
}
Tips tips =productQxService.checkProductQx(xmProductDb,3,user,adminUserid,adminUsername,null);
Result.assertIsFalse(tips);
} }
} }
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
for (XmIteration iterationDb2 : xmIterationsDb) { for (XmIteration iterationDb2 : xmIterationsDb) {
if( !isPm ){ if( !isPm ){
Tips tips=productQxService.checkProductQx(xmProductDb,3,user,iterationDb2.getAdminUserid(),iterationDb2.getAdminUsername(),null);
Tips tips =productQxService.checkProductQx(xmProductDb,3,user,iterationDb2.getAdminUserid(),iterationDb2.getAdminUsername(),null);
if(!tips.isOk()){ if(!tips.isOk()){
no.add(iterationDb2); no.add(iterationDb2);
noTipsMap.put(tips.getMsg(),tips); noTipsMap.put(tips.getMsg(),tips);
@ -373,7 +363,7 @@ public class XmIterationController {
String adminUsername= (String) xmIterationMap.get("adminUsername"); String adminUsername= (String) xmIterationMap.get("adminUsername");
if(StringUtils.hasText(adminUserid)){ if(StringUtils.hasText(adminUserid)){
for (XmIteration iteration : can) { for (XmIteration iteration : can) {
notifyMsgService.pushMsg(user,adminUserid,adminUsername,"6",iteration.getProductId(),iteration.getId(),"您成为迭代【"+iteration.getIterationName()+"】管理员,请及时跟进。");
notifyMsgService.pushMsg(user,adminUserid,adminUsername,"您成为迭代【"+iteration.getIterationName()+"】管理员,请及时跟进。",null);
} }
} }
@ -414,21 +404,5 @@ public class XmIterationController {
} }
return Result.ok(); return Result.ok();
}
/**
@ApiOperation( value = "根据主键列表批量删除迭代定义信息",notes="batchDelXmIteration,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmIteration(@RequestBody List<XmIteration> xmIterations) {
xmIterationService.batchDelete(xmIterations);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
} }
*/
} }

4
xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java

@ -1,7 +1,6 @@
package com.xm.core.ctrl; package com.xm.core.ctrl;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips;
import com.mdp.core.utils.ResponseHelper; import com.mdp.core.utils.ResponseHelper;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
@ -146,7 +145,6 @@ public class XmIterationMenuController {
}else { }else {
return Result.ok(msgs.stream().collect(Collectors.joining(" "))); return Result.ok(msgs.stream().collect(Collectors.joining(" ")));
} }
return Result.ok();
} }
@RequestMapping(value="/batchAdd",method=RequestMethod.POST) @RequestMapping(value="/batchAdd",method=RequestMethod.POST)
@ -218,8 +216,6 @@ public class XmIterationMenuController {
}else { }else {
return Result.ok(msgs.stream().collect(Collectors.joining(" "))); return Result.ok(msgs.stream().collect(Collectors.joining(" ")));
} }
return Result.ok();
} }
} }

270
xm-core/src/main/java/com/xm/core/ctrl/XmMenuCommentController.java

@ -3,8 +3,6 @@ package com.xm.core.ctrl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper; import com.mdp.core.utils.ResponseHelper;
@ -13,7 +11,6 @@ import com.mdp.qx.HasRole;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMenu; import com.xm.core.entity.XmMenu;
import com.xm.core.entity.XmMenuComment; import com.xm.core.entity.XmMenuComment;
import com.xm.core.service.XmMenuCalcService; import com.xm.core.service.XmMenuCalcService;
@ -27,6 +24,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -87,7 +85,7 @@ public class XmMenuCommentController {
if(datas.size()>0) { if(datas.size()>0) {
List<Map<String, Object>> children=xmMenuCommentService.selectListByPids(datas.stream().map(k->(String)k.get("id")).collect(Collectors.toList()));
List<XmMenuComment> children=xmMenuCommentService.selectListByPids(datas.stream().map(k->(String)k.get("id")).collect(Collectors.toList()));
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()).put("children",children); //列出XmMenuComment列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()).put("children",children); //列出XmMenuComment列表
} }
@ -121,16 +119,9 @@ public class XmMenuCommentController {
} }
XmMenuCalcService.commentsSet.add(xmMenuComment.getMenuId()); XmMenuCalcService.commentsSet.add(xmMenuComment.getMenuId());
if(!user.getUserid().equals(xmMenuDb.getMmUserid())){ if(!user.getUserid().equals(xmMenuDb.getMmUserid())){
notifyMsgService.pushMsg(user, xmMenuDb.getMmUserid(), xmMenuDb.getMmUsername(),"10",xmMenuDb.getMenuId(),xmMenuComment.getId(),user.getUsername()+"发表评论:"+xmMenuComment.getContext());
}
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
notifyMsgService.pushMsg(user, xmMenuDb.getMmUserid(), xmMenuDb.getMmUsername(),user.getUsername()+"发表评论:"+xmMenuComment.getContext(),null);
}
return Result.ok();
} }
@ -157,14 +148,8 @@ public class XmMenuCommentController {
xmMenuCommentService.deleteByPk(xmMenuComment); xmMenuCommentService.deleteByPk(xmMenuComment);
if(StringUtils.hasText(commentDb.getPid())){ if(StringUtils.hasText(commentDb.getPid())){
xmMenuCommentService.updateChildrenSum(commentDb.getPid(),Integer.valueOf(-1)); xmMenuCommentService.updateChildrenSum(commentDb.getPid(),Integer.valueOf(-1));
}
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
}
return Result.ok();
} }
@ -176,16 +161,8 @@ public class XmMenuCommentController {
@RequestMapping(value="/praise",method=RequestMethod.POST) @RequestMapping(value="/praise",method=RequestMethod.POST)
public Result praiseComment(@RequestBody XmMenuComment xmMenuComment) { public Result praiseComment(@RequestBody XmMenuComment xmMenuComment) {
xmMenuCommentService.update("praiseComment", xmMenuComment);
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
xmMenuCommentService.praiseComment(xmMenuComment);
return Result.ok();
} }
@ -196,29 +173,23 @@ public class XmMenuCommentController {
@RequestMapping(value="/unshow",method=RequestMethod.POST) @RequestMapping(value="/unshow",method=RequestMethod.POST)
public Result unShowComment(@RequestBody String[] ids) { public Result unShowComment(@RequestBody String[] ids) {
User user=LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
}
boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) {
if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限屏蔽评论【"+comment.getContext()+"】");
}
User user=LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
}
boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) {
if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限屏蔽评论【"+comment.getContext()+"】");
} }
} }
} }
xmMenuCommentService.unShowComment(ids);
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
} }
xmMenuCommentService.unShowComment(ids);
return Result.ok();
} }
@ -229,198 +200,25 @@ public class XmMenuCommentController {
@RequestMapping(value="/show",method=RequestMethod.POST) @RequestMapping(value="/show",method=RequestMethod.POST)
public Result showComment(@RequestBody String[] ids) { public Result showComment(@RequestBody String[] ids) {
User user= LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
}
boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) {
if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限打开此评论【"+comment.getContext()+"】");
}
User user= LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
}
boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) {
if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限打开此评论【"+comment.getContext()+"】");
} }
} }
} }
xmMenuCommentService.showComment(ids);
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
} }
}
/**
@ApiOperation( value = "新增一条档案评论表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmMenuComment.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmMenuComment(@RequestBody XmMenuComment xmMenuComment) {
boolean createPk=false;
if(!StringUtils.hasText(xmMenuComment.getId())) {
createPk=true;
xmMenuComment.setId(xmMenuCommentService.createKey("id"));
}
if(createPk==false){
if(xmMenuCommentService.selectOneObject(xmMenuComment) !=null ){
return Result.error("pk-exists","编号重复,请修改编号再提交");
}
}
xmMenuCommentService.insert(xmMenuComment);
}
*/
/**
@ApiOperation( value = "删除一条档案评论表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmMenuComment(@RequestBody XmMenuComment xmMenuComment){
if(!StringUtils.hasText(xmMenuComment.getId())) {
return Result.error("pk-not-exists","请上送主键参数id");
}
XmMenuComment xmMenuCommentDb = xmMenuCommentService.selectOneObject(xmMenuComment);
if( xmMenuCommentDb == null ){
return Result.error("data-not-exists","数据不存在,无法删除");
}
xmMenuCommentService.deleteByPk(xmMenuComment);
xmMenuCommentService.showComment(ids);
return Result.ok(); return Result.ok();
} }
*/
/**
@ApiOperation( value = "根据主键修改一条档案评论表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmMenuComment.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmMenuComment(@RequestBody XmMenuComment xmMenuComment) {
if(!StringUtils.hasText(xmMenuComment.getId())) {
return Result.error("pk-not-exists","请上送主键参数id");
}
XmMenuComment xmMenuCommentDb = xmMenuCommentService.selectOneObject(xmMenuComment);
if( xmMenuCommentDb == null ){
return Result.error("data-not-exists","数据不存在,无法修改");
}
xmMenuCommentService.updateSomeFieldByPk(xmMenuComment);
}
*/
/**
@ApiOperation( value = "批量修改某些字段",notes="")
@ApiEntityParams( value = XmMenuComment.class, props={ }, remark = "档案评论表", paramType = "body" )
@ApiResponses({
@ApiResponse(code = 200,response=XmMenuComment.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/editSomeFields",method=RequestMethod.POST)
public Result editSomeFields( @ApiIgnore @RequestBody Map<String,Object> xmMenuCommentMap) {
List<String> ids= (List<String>) xmMenuCommentMap.get("ids");
if(ids==null || ids.size()==0){
return Result.error("ids-0","ids不能为空");
}
Set<String> fields=new HashSet<>();
fields.add("id");
for (String fieldName : xmMenuCommentMap.keySet()) {
if(fields.contains(fieldName)){
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
}
}
Set<String> fieldKey=xmMenuCommentMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet());
fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmMenuCommentMap.get(i) )).collect(Collectors.toSet());
if(fieldKey.size()<=0) {
return Result.error("fieldKey-0","没有需要更新的字段");
}
XmMenuComment xmMenuComment = fromMap(xmMenuCommentMap,XmMenuComment.class);
List<XmMenuComment> xmMenuCommentsDb=xmMenuCommentService.selectListByIds(ids);
if(xmMenuCommentsDb==null ||xmMenuCommentsDb.size()==0){
return Result.error("data-0","记录已不存在");
}
List<XmMenuComment> can=new ArrayList<>();
List<XmMenuComment> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo();
for (XmMenuComment xmMenuCommentDb : xmMenuCommentsDb) {
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){
no.add(xmMenuCommentDb);
}else{
can.add(xmMenuCommentDb);
}
}
if(can.size()>0){
xmMenuCommentMap.put("ids",can.stream().map(i->i.getId()).collect(Collectors.toList()));
xmMenuCommentService.editSomeFields(xmMenuCommentMap);
}
List<String> msgs=new ArrayList<>();
if(can.size()>0){
msgs.add(String.format("成功更新以下%s条数据",can.size()));
}
if(no.size()>0){
msgs.add(String.format("以下%s个数据无权限更新",no.size()));
}
if(can.size()>0){
return Result.ok(msgs.stream().collect(Collectors.joining()));
}else {
return Result.error(msgs.stream().collect(Collectors.joining()));
}
}
*/
/**
@ApiOperation( value = "根据主键列表批量删除档案评论表信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmMenuComment(@RequestBody List<XmMenuComment> xmMenuComments) {
if(xmMenuComments.size()<=0){
return Result.error("data-0","请上送待删除数据列表");
}
List<XmMenuComment> datasDb=xmMenuCommentService.selectListByIds(xmMenuComments.stream().map(i-> i.getId() ).collect(Collectors.toList()));
List<XmMenuComment> can=new ArrayList<>();
List<XmMenuComment> no=new ArrayList<>();
for (XmMenuComment data : datasDb) {
if(true){
can.add(data);
}else{
no.add(data);
}
}
List<String> msgs=new ArrayList<>();
if(can.size()>0){
xmMenuCommentService.batchDelete(can);
msgs.add(String.format("成功删除%s条数据.",can.size()));
}
if(no.size()>0){
msgs.add(String.format("以下%s条数据不能删除.【%s】",no.size(),no.stream().map(i-> i.getId() ).collect(Collectors.joining(","))));
}
if(can.size()>0){
return Result.ok(msgs.stream().collect(Collectors.joining()));
}else {
return Result.error(msgs.stream().collect(Collectors.joining()));
}
}
*/
} }

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

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils; import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
@ -15,7 +14,6 @@ import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.sensitive.SensitiveWordService; import com.mdp.sensitive.SensitiveWordService;
import com.xm.core.PubTool; import com.xm.core.PubTool;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMenu; import com.xm.core.entity.XmMenu;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmTask; import com.xm.core.entity.XmTask;
@ -35,7 +33,6 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map; import static com.mdp.core.utils.BaseUtils.map;
import static com.mdp.core.utils.ResponseHelper.failed;
/** /**
* url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br>
@ -234,77 +231,75 @@ public class XmMenuController {
@RequestMapping(value="/add",method=RequestMethod.POST) @RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmMenu(@RequestBody XmMenu xmMenu) { public Result addXmMenu(@RequestBody XmMenu xmMenu) {
if(StringUtils.isEmpty(xmMenu.getMenuId())) {
xmMenu.setMenuId(xmMenuService.createKey("menuId"));
}else{
XmMenu xmMenuQuery = new XmMenu(xmMenu.getMenuId());
if(xmMenuService.countByWhere(xmMenuQuery)>0){
return Result.error("编号重复,请修改编号再提交");
}
}
Set<String> words=sensitiveWordService.getSensitiveWord(xmMenu.getMenuName());
if(words!=null && words.size()>0){
return Result.error("name-sensitive-word","名字有敏感词"+words+",请修改后再提交");
}
words=sensitiveWordService.getSensitiveWord(xmMenu.getRemark());
if(words!=null && words.size()>0){
return Result.error("remark-sensitive-word","备注中有敏感词"+words+",请修改后再提交");
}
if(!StringUtils.hasText(xmMenu.getMenuName())){
return Result.error("menuName-0","需求名称不能为空");
}
if(StringUtils.isEmpty(xmMenu.getMenuId())) {
xmMenu.setMenuId(xmMenuService.createKey("menuId"));
}else{
XmMenu xmMenuQuery = new XmMenu(xmMenu.getMenuId());
if(xmMenuService.countByWhere(xmMenuQuery)>0){
return Result.error("编号重复,请修改编号再提交");
if(!StringUtils.hasText(xmMenu.getProductId())){
return Result.error("productId-0","需求归属产品不能为空");
}
User user= LoginUtils.getCurrentUserInfo();
if(StringUtils.isEmpty(xmMenu.getMmUserid())) {
xmMenu.setMmUserid(user.getUserid());
xmMenu.setMmUsername(user.getUsername());
}
if(!StringUtils.hasText(xmMenu.getPmenuId())|| "0".equals(xmMenu.getPmenuId())){
if(!"1".equals(xmMenu.getDclass())){
return ResponseHelper.failed("dclass-not-1","一级需求目录只能是史诗");
}
} }
}
Set<String> words=sensitiveWordService.getSensitiveWord(xmMenu.getMenuName());
if(words!=null && words.size()>0){
return Result.error("name-sensitive-word","名字有敏感词"+words+",请修改后再提交");
}
words=sensitiveWordService.getSensitiveWord(xmMenu.getRemark());
if(words!=null && words.size()>0){
return Result.error("remark-sensitive-word","备注中有敏感词"+words+",请修改后再提交");
}
if(!StringUtils.hasText(xmMenu.getMenuName())){
return Result.error("menuName-0","需求名称不能为空");
}
XmProduct xmProduct= productService.getProductFromCache(xmMenu.getProductId());
if(xmProduct==null){
return ResponseHelper.failed("data-0","产品已不存在");
}
tips=productQxService.checkProductQx(xmProduct,2,user);
if(!tips.isOk()){
return Result.error(tips);
}
if(StringUtils.hasText(xmMenu.getMmUserid()) && !xmMenu.getMmUserid().equals(user.getUserid())){
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null);
Result.assertIsFalse(tips);
if(!StringUtils.hasText(xmMenu.getProductId())){
return Result.error("productId-0","需求归属产品不能为空");
}
User user= LoginUtils.getCurrentUserInfo();
if(StringUtils.isEmpty(xmMenu.getMmUserid())) {
xmMenu.setMmUserid(user.getUserid());
xmMenu.setMmUsername(user.getUsername());
}
if(!StringUtils.hasText(xmMenu.getPmenuId())|| "0".equals(xmMenu.getPmenuId())){
if(!"1".equals(xmMenu.getDclass())){
return ResponseHelper.failed("dclass-not-1","一级需求目录只能是史诗");
} }
}
XmProduct xmProduct= productService.getProductFromCache(xmMenu.getProductId());
if(xmProduct==null){
return ResponseHelper.failed("data-0","产品已不存在");
}
Tips tips=productQxService.checkProductQx(xmProduct,2,user);
Result.assertIsFalse(tips);
if(StringUtils.hasText(xmMenu.getMmUserid()) && !xmMenu.getMmUserid().equals(user.getUserid())){
tips =productQxService.checkProductQx(xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null);
Result.assertIsFalse(tips);
}
xmMenuService.parentIdPathsCalcBeforeSave(xmMenu);
xmMenu.setStatus("0");
xmMenu.setChildrenCnt(0);
xmMenu.setPbranchId(xmProduct.getBranchId());
if(!StringUtils.hasText(xmMenu.getProposerId())){
xmMenu.setProposerId(user.getUserid());
xmMenu.setProposerName(user.getUsername());
}
xmMenu.setCtime(new Date());
xmMenu.setLtime(new Date());
if(xmMenu.getStartTime()==null){
xmMenu.setStartTime( xmMenu.getCtime());
}
if(xmMenu.getEndTime()==null){
xmMenu.setEndTime(DateUtils.addDays(xmMenu.getCtime(),14));
}
xmMenuService.insert(xmMenu);
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"4",xmMenu.getProductId(),xmMenu.getMenuId(),"您成为需求【"+xmMenu.getMenuName()+"】的负责人,请跟进需求!");
xmMenuService.parentIdPathsCalcBeforeSave(xmMenu);
xmMenu.setStatus("0");
xmMenu.setChildrenCnt(0);
xmMenu.setPbranchId(xmProduct.getBranchId());
xmRecordService.addXmMenuRecord(xmMenu.getProductId(),xmMenu.getMenuId(),"新增产品需求","新增需求"+xmMenu.getMenuName());
if(!StringUtils.hasText(xmMenu.getProposerId())){
xmMenu.setProposerId(user.getUserid());
xmMenu.setProposerName(user.getUsername());
}
xmMenu.setCtime(new Date());
xmMenu.setLtime(new Date());
if(xmMenu.getStartTime()==null){
xmMenu.setStartTime( xmMenu.getCtime());
}
if(xmMenu.getEndTime()==null){
xmMenu.setEndTime(DateUtils.addDays(xmMenu.getCtime(),14));
}
xmMenuService.insert(xmMenu);
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"您成为需求【"+xmMenu.getMenuName()+"】的负责人,请跟进需求!",null);
xmRecordService.addXmMenuRecord(xmMenu.getProductId(),xmMenu.getMenuId(),"新增产品需求","新增需求"+xmMenu.getMenuName());
return Result.ok();
} }
@ -317,86 +312,43 @@ public class XmMenuController {
@RequestMapping(value="/del",method=RequestMethod.POST) @RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmMenu(@RequestBody XmMenu xmMenu){ public Result delXmMenu(@RequestBody XmMenu xmMenu){
User user=LoginUtils.getCurrentUserInfo();
XmTask xmTask = new XmTask();
if(StringUtils.isEmpty(xmMenu.getMenuId())){
return ResponseHelper.failed("menuId-0","需求编号不能为空");
}
xmTask.setMenuId(xmMenu.getMenuId());
long taskCount=xmTaskService.countByWhere(xmTask);
if(taskCount>0) {
return Result.error("存在"+taskCount+"个任务关联该需求,不允许删除");
return ResponseHelper.failed(tips);
}else {
XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId());
if(xmMenuDb==null){
return ResponseHelper.failed("data-0","该需求已不存在");
}
XmMenu xmMenuCount=new XmMenu();
xmMenuCount.setPmenuId(xmMenu.getMenuId());
long childrenCnt=this.xmMenuService.countByWhere(xmMenuCount);
if(childrenCnt>0){
return ResponseHelper.failed("childrenCnt-1","存在"+childrenCnt+"个子需求,不允许删除,请先删除子需求");
}
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
}
if(!groupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
if(!tips.isOk()){
return Result.error(tips);
}
}
xmMenuService.deleteByPk(xmMenu);
xmRecordService.addXmMenuRecord(xmMenuDb.getProductId(),xmMenu.getMenuId(),"删除产品需求","删除需求"+xmMenuDb.getMenuName(),"",JSON.toJSONString(xmMenu));
}
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
}
/**
@ApiOperation( value = "根据主键修改一条项目菜单表信息",notes="editXmMenu")
@ApiResponses({
@ApiResponse(code = 200,response=XmMenu.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
//@HasQx(value = "xm_core_xmMenu_edit",name = "修改用户需求",moduleId = "xm-project",moduleName = "管理端-项目管理系统")
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmMenu(@RequestBody XmMenu xmMenu) {
User user=LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmMenu.getMenuId())){
ResponseHelper.failed("menuId-0","menuId不能为空");
}
User user=LoginUtils.getCurrentUserInfo();
XmTask xmTask = new XmTask();
if(StringUtils.isEmpty(xmMenu.getMenuId())){
return ResponseHelper.failed("menuId-0","需求编号不能为空");
}
xmTask.setMenuId(xmMenu.getMenuId());
long taskCount=xmTaskService.countByWhere(xmTask);
if(taskCount>0) {
return Result.error("存在"+taskCount+"个任务关联该需求,不允许删除");
}else {
XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId()); XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId());
if(xmMenuDb==null){
return ResponseHelper.failed("data-0","该需求已不存在");
}
XmMenu xmMenuCount=new XmMenu();
xmMenuCount.setPmenuId(xmMenu.getMenuId());
long childrenCnt=this.xmMenuService.countByWhere(xmMenuCount);
if(childrenCnt>0){
return ResponseHelper.failed("childrenCnt-1","存在"+childrenCnt+"个子需求,不允许删除,请先删除子需求");
}
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在"); return ResponseHelper.failed("product-data-0","产品已不存在");
} }
tips=productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
if(!tips.isOk()){
return Result.error(tips);
if(!groupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
Tips tips =productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
Result.assertIsFalse(tips);
} }
if("1".equals(xmMenuDb.getNtype())){
if("0".equals(xmMenu.getNtype()) && xmMenuDb.getChildrenCnt()!=null && xmMenuDb.getChildrenCnt()>0){
return ResponseHelper.failed("ntype-not-right","当前为"+("1".equals(xmMenuDb.getDclass())?"史诗":"特性")+",并且具有"+xmMenuDb.getChildrenCnt()+"个子项,不能变更为故事");
}
}else{
if(xmMenuDb.getChildrenCnt()!=null && xmMenuDb.getChildrenCnt()>0){
xmMenu.setNtype("1");
}
}
xmMenu.setLtime(new Date());
xmMenuService.updateSomeFieldByPk(xmMenu);
xmRecordService.addXmMenuRecord(xmMenuDb.getProductId(),xmMenuDb.getMenuId(),"修改产品需求","修改产品需求"+xmMenuDb.getMenuName(),JSON.toJSONString(xmMenu),"");
xmMenuService.deleteByPk(xmMenu);
xmRecordService.addXmMenuRecord(xmMenuDb.getProductId(),xmMenu.getMenuId(),"删除产品需求","删除需求"+xmMenuDb.getMenuName(),"",JSON.toJSONString(xmMenu));
}
return Result.ok();
} }
*/
/***/ /***/
@ApiOperation( value = "根据主键修改一条项目菜单表信息",notes="editXmMenu") @ApiOperation( value = "根据主键修改一条项目菜单表信息",notes="editXmMenu")
@ApiResponses({ @ApiResponses({
@ -446,18 +398,14 @@ public class XmMenuController {
return ResponseHelper.failed("product-data-0","产品已不存在"); return ResponseHelper.failed("product-data-0","产品已不存在");
} }
tips=productQxService.checkProductQx(xmProduct,2,user);
if(!tips.isOk()){
return Result.error(tips);
}
Tips tips=productQxService.checkProductQx(xmProduct,2,user);
Result.assertIsFalse(tips);
if(xmMenuMap.containsKey("mmUserid")){ if(xmMenuMap.containsKey("mmUserid")){
String mmUserid= (String) xmMenuMap.get("mmUserid"); String mmUserid= (String) xmMenuMap.get("mmUserid");
String mmUsername= (String) xmMenuMap.get("mmUsername"); String mmUsername= (String) xmMenuMap.get("mmUsername");
if(!user.getUserid().equals(mmUserid)){ if(!user.getUserid().equals(mmUserid)){
Tips tips=productQxService.checkProductQx(xmProduct,2,user,mmUserid,mmUsername,null);
if(!tips.isOk()){
return Result.error(tips);
}
tips =productQxService.checkProductQx(xmProduct,2,user,mmUserid,mmUsername,null);
Result.assertIsFalse(tips);
} }
} }
List<XmMenu> canOper=new ArrayList<>(); List<XmMenu> canOper=new ArrayList<>();
@ -467,7 +415,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb); canOper.addAll(xmMenusDb);
}else{ }else{
for (XmMenu xm : xmMenusDb) { for (XmMenu xm : xmMenusDb) {
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(), xm.getMmUsername(), null);
tips =productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(), xm.getMmUsername(), null);
if(tips.isOk()){ if(tips.isOk()){
canOper.add(xm); canOper.add(xm);
}else{ }else{
@ -489,7 +437,7 @@ public class XmMenuController {
xmMenuService.editSomeFields(xmMenuMap); xmMenuService.editSomeFields(xmMenuMap);
if(xmMenuMap.containsKey("mmUserid")){ if(xmMenuMap.containsKey("mmUserid")){
for (XmMenu menu : canOper) { for (XmMenu menu : canOper) {
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"4",menu.getProductId(),menu.getMenuId(),"您成为需求【"+menu.getMenuName()+"】的负责人,请跟进需求!");
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"您成为需求【"+menu.getMenuName()+"】的负责人,请跟进需求!",null);
} }
} }
@ -515,8 +463,6 @@ public class XmMenuController {
}else{ }else{
return Result.error(msgs.stream().collect(Collectors.joining())); return Result.error(msgs.stream().collect(Collectors.joining()));
} }
//
return Result.ok();
} }
@ -558,7 +504,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb); canOper.addAll(xmMenusDb);
}else{ }else{
for (XmMenu xm : xmMenusDb) { for (XmMenu xm : xmMenusDb) {
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(),xm.getMmUsername(),null);
Tips tips =productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(),xm.getMmUsername(),null);
if(tips.isOk()){ if(tips.isOk()){
canOper.add(xm); canOper.add(xm);
}else{ }else{
@ -602,33 +548,28 @@ public class XmMenuController {
}else{ }else{
return Result.error(msgs.stream().collect(Collectors.joining())); return Result.error(msgs.stream().collect(Collectors.joining()));
} }
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
} }
//@HasQx(value = "xm_core_xmMenu_batchAdd",name = "批量新增用户需求",moduleId = "xm-project",moduleName = "管理端-项目管理系统") //@HasQx(value = "xm_core_xmMenu_batchAdd",name = "批量新增用户需求",moduleId = "xm-project",moduleName = "管理端-项目管理系统")
@RequestMapping(value="/batchAdd",method=RequestMethod.POST) @RequestMapping(value="/batchAdd",method=RequestMethod.POST)
public Result batchAddXmMenu(@RequestBody List<XmMenu> xmMenus) { public Result batchAddXmMenu(@RequestBody List<XmMenu> xmMenus) {
if(xmMenus.size()>0) {
List<XmMenu> canEdit=new ArrayList<>();
List<XmMenu> noQx=new ArrayList<>();
if(canEdit.size()>0){
this.xmMenuService.parentIdPathsCalcBeforeSave(canEdit);
this.xmMenuService.doBatchInsert(canEdit);
xmRecordService.addXmMenuRecord(canEdit,"批量新增产品需求","批量新增产品需求");
}else{
return Result.error("您无权限新增需求。");
}
if(xmMenus.size()>0) {
List<XmMenu> canEdit=new ArrayList<>();
List<XmMenu> noQx=new ArrayList<>();
if(canEdit.size()>0){
this.xmMenuService.parentIdPathsCalcBeforeSave(canEdit);
this.xmMenuService.doBatchInsert(canEdit);
xmRecordService.addXmMenuRecord(canEdit,"批量新增产品需求","批量新增产品需求");
}else{
return Result.error("您无权限新增需求。");
}
}else {
return Result.error("没有数据可以新增,请上送数据");
}
}else {
return Result.error("没有数据可以新增,请上送数据");
}
return Result.ok();
} }
@ -644,9 +585,7 @@ public class XmMenuController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(parentMenuVo.getMenuIds()==null || parentMenuVo.getMenuIds().size()==0){ if(parentMenuVo.getMenuIds()==null || parentMenuVo.getMenuIds().size()==0){
return Result.error("需求列表不能为空");
m.put("tips", tips);
ResponseHelper.failed("menuIds-0", "需求列表编号不能为空");
return Result.error("menuIds-0", "需求列表编号不能为空");
} }
if(!StringUtils.hasText(parentMenuVo.getPmenuId())){ if(!StringUtils.hasText(parentMenuVo.getPmenuId())){
return ResponseHelper.failed("parentMenuid-0", "上级编号不能为空"); return ResponseHelper.failed("parentMenuid-0", "上级编号不能为空");
@ -683,7 +622,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb); canOper.addAll(xmMenusDb);
}else{ }else{
for (XmMenu xm : xmMenusDb) { for (XmMenu xm : xmMenusDb) {
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(),xm.getMmUsername(),null);
Tips tips =productQxService.checkProductQx(xmProduct,2,user,xm.getMmUserid(),xm.getMmUsername(),null);
if(tips.isOk()){ if(tips.isOk()){
canOper.add(xm); canOper.add(xm);
}else{ }else{
@ -752,8 +691,6 @@ public class XmMenuController {
}else{ }else{
return Result.error(msgs.stream().collect(Collectors.joining(" "))); return Result.error(msgs.stream().collect(Collectors.joining(" ")));
} }
return Result.ok();
} }
} }

20
xm-core/src/main/java/com/xm/core/ctrl/XmMenuStateController.java

@ -6,7 +6,6 @@ import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMenuState; import com.xm.core.entity.XmMenuState;
import com.xm.core.service.XmMenuStateService; import com.xm.core.service.XmMenuStateService;
import com.xm.core.vo.XmMenuStateVo; import com.xm.core.vo.XmMenuStateVo;
@ -119,13 +118,12 @@ public class XmMenuStateController {
}) })
@RequestMapping(value="/add",method=RequestMethod.POST) @RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmMenuState(@RequestBody XmMenuState xmMenuState) { public Result addXmMenuState(@RequestBody XmMenuState xmMenuState) {
if(xmMenuStateService.countByWhere(xmMenuState)>0){
return Result.error("编号重复,请修改编号再提交");
if(xmMenuStateService.countByWhere(xmMenuState)>0){
return Result.error("编号重复,请修改编号再提交");
}
xmMenuStateService.insert(xmMenuState);
}
xmMenuStateService.insert(xmMenuState);
return Result.ok();
} }
@ -152,7 +150,7 @@ public class XmMenuStateController {
public Result editXmMenuState(@RequestBody XmMenuState xmMenuState) { public Result editXmMenuState(@RequestBody XmMenuState xmMenuState) {
xmMenuStateService.updateByPk(xmMenuState); xmMenuStateService.updateByPk(xmMenuState);
return Result.ok();
} }
@ -191,10 +189,8 @@ public class XmMenuStateController {
}) })
@RequestMapping(value="/batchAddStateByProductIdAndMenuList",method=RequestMethod.POST) @RequestMapping(value="/batchAddStateByProductIdAndMenuList",method=RequestMethod.POST)
public Result batchAddStateByProductIdAndMenuList(@RequestBody XmMenuStateVo vo) { public Result batchAddStateByProductIdAndMenuList(@RequestBody XmMenuStateVo vo) {
tips = xmMenuStateService.batchAddStateByProductIdAndMenuList(vo.getProductId(), vo.getProductName(), vo.getXmMenus());
Tips tips = xmMenuStateService.batchAddStateByProductIdAndMenuList(vo.getProductId(), vo.getProductName(), vo.getXmMenus());
Result.assertIsFalse(tips);
return Result.ok(); return Result.ok();
} }

6
xm-core/src/main/java/com/xm/core/ctrl/XmMyFocusController.java

@ -3,15 +3,12 @@ package com.xm.core.ctrl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.qx.HasRole; import com.mdp.qx.HasRole;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMyFocus; import com.xm.core.entity.XmMyFocus;
import com.xm.core.service.XmMyFocusService; import com.xm.core.service.XmMyFocusService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -29,7 +26,6 @@ import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map; import static com.mdp.core.utils.BaseUtils.map;
import static com.mdp.core.utils.BaseUtils.toMap; import static com.mdp.core.utils.BaseUtils.toMap;
import static com.mdp.core.utils.ResponseHelper.failed;
/** /**
* url编制采用rest风格,如对xm_my_focus 我关注的项目或者任务的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对xm_my_focus 我关注的项目或者任务的操作有增删改查,对应的url分别为:<br>
@ -212,7 +208,7 @@ public class XmMyFocusController {
List<XmMyFocus> no=new ArrayList<>(); List<XmMyFocus> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmMyFocus xmMyFocusDb : xmMyFocussDb) { for (XmMyFocus xmMyFocusDb : xmMyFocussDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmMyFocusDb); no.add(xmMyFocusDb);
}else{ }else{

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

@ -11,7 +11,6 @@ import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.sensitive.SensitiveWordService; import com.mdp.sensitive.SensitiveWordService;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmProductCopyVo; import com.xm.core.entity.XmProductCopyVo;
import com.xm.core.entity.XmProductProjectLink; import com.xm.core.entity.XmProductProjectLink;
@ -177,8 +176,8 @@ public class XmProductController {
} }
params.put("platformBranchId",platformBranchId); params.put("platformBranchId",platformBranchId);
params.put("linkBranchId",user.getBranchId()); params.put("linkBranchId",user.getBranchId());
List<Map<String,Object>> xmProductList = xmProductService.selectListMapByWhereWithState(params); //列出XmProduct列表
List<Map<String,Object>> datas = xmProductService.selectListMapByWhereWithState(params); //列出XmProduct列表
return Result.ok().setData(datas).setTotal(page.getTotal());
} }
/***/ /***/
@ -277,17 +276,17 @@ public class XmProductController {
} }
} }
xmProductService.addProduct(xmProduct); xmProductService.addProduct(xmProduct);
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"3",xmProduct.getId(),xmProduct.getId(),"您成为产品【"+xmProduct.getProductName()+"】的产品经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"您成为产品【"+xmProduct.getProductName()+"】的产品经理,请及时跟进。",null);
if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProduct.getPmUserid())){ if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProduct.getPmUserid())){
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"3",xmProduct.getId(),xmProduct.getId(),"您成为产品【"+xmProduct.getProductName()+"】的副经理、助理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"您成为产品【"+xmProduct.getProductName()+"】的副经理、助理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProduct.getPmUserid())){ if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProduct.getPmUserid())){
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"3",xmProduct.getId(),xmProduct.getId(),"您成为产品【"+xmProduct.getProductName()+"】的产品总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"您成为产品【"+xmProduct.getProductName()+"】的产品总监,请及时跟进。",null);
} }
xmRecordService.addXmProductRecord(xmProduct.getId(),"创建产品","创建产品【"+xmProduct.getId()+"】【"+xmProduct.getProductName()+"】"); xmRecordService.addXmProductRecord(xmProduct.getId(),"创建产品","创建产品【"+xmProduct.getId()+"】【"+xmProduct.getProductName()+"】");
xmProductStateService.loadTasksToXmProductState(xmProduct.getId()); xmProductStateService.loadTasksToXmProductState(xmProduct.getId());
return Result.ok();
} }
/***/ /***/
@ApiOperation( value = "从回收站恢复产品",notes="unDelXmProduct,仅需要上传主键字段") @ApiOperation( value = "从回收站恢复产品",notes="unDelXmProduct,仅需要上传主键字段")
@ -383,8 +382,7 @@ public class XmProductController {
xmProductService.clearCache(xmProduct.getId()); xmProductService.clearCache(xmProduct.getId());
xmRecordService.addXmProductRecord(xmProduct.getId(),"删除产品",user.getUsername()+"删除产品【"+xmProductDb.getId()+"】【"+xmProductDb.getProductName()+"】","",JSON.toJSONString(xmProductDb)); xmRecordService.addXmProductRecord(xmProduct.getId(),"删除产品",user.getUsername()+"删除产品【"+xmProductDb.getId()+"】【"+xmProductDb.getProductName()+"】","",JSON.toJSONString(xmProductDb));
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
return Result.ok();
} }
@ApiOperation( value = "批量修改某些字段",notes="") @ApiOperation( value = "批量修改某些字段",notes="")
@ApiEntityParams( value = XmProduct.class, props={ }, remark = "产品", paramType = "body" ) @ApiEntityParams( value = XmProduct.class, props={ }, remark = "产品", paramType = "body" )
@ -455,15 +453,15 @@ public class XmProductController {
xmProductService.editSomeFields(xmProductMap); xmProductService.editSomeFields(xmProductMap);
xmProductService.clearCache(xmProductDb.getId()); xmProductService.clearCache(xmProductDb.getId());
if(StringUtils.hasText(xmProduct.getPmUserid()) && !xmProduct.getPmUserid().equals(xmProductDb.getPmUserid())){ if(StringUtils.hasText(xmProduct.getPmUserid()) && !xmProduct.getPmUserid().equals(xmProductDb.getPmUserid())){
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的产品经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的产品经理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProductDb.getAssUserid())){ if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProductDb.getAssUserid())){
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的副经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的副经理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProductDb.getAdmUserid())){ if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProductDb.getAdmUserid())){
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。",null);
} }
return Result.ok(); return Result.ok();
@ -516,92 +514,20 @@ public class XmProductController {
xmRecordService.addXmProductRecord(xmProduct.getId(),"修改产品","修改产品【"+xmProductDb.getId()+"】【"+xmProductDb.getProductName()+"】",JSON.toJSONString(xmProduct),JSON.toJSONString(xmProductDb)); xmRecordService.addXmProductRecord(xmProduct.getId(),"修改产品","修改产品【"+xmProductDb.getId()+"】【"+xmProductDb.getProductName()+"】",JSON.toJSONString(xmProduct),JSON.toJSONString(xmProductDb));
if(StringUtils.hasText(xmProduct.getPmUserid()) && !xmProduct.getPmUserid().equals(xmProductDb.getPmUserid())){ if(StringUtils.hasText(xmProduct.getPmUserid()) && !xmProduct.getPmUserid().equals(xmProductDb.getPmUserid())){
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的产品经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getPmUserid(),xmProduct.getPmUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的产品经理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProductDb.getAssUserid())){ if(StringUtils.hasText(xmProduct.getAssUserid()) && !xmProduct.getAssUserid().equals(xmProductDb.getAssUserid())){
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的副经理、助理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAssUserid(),xmProduct.getAssUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的副经理、助理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProductDb.getAdmUserid()) ){ if(StringUtils.hasText(xmProduct.getAdmUserid()) && !xmProduct.getAdmUserid().equals(xmProductDb.getAdmUserid()) ){
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。",null);
} }
return Result.ok();
} }
/**
@ApiOperation( value = "根据主键列表批量删除产品表信息",notes="batchDelXmProduct,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
//@HasQx(value = "xm_core_xmProduct_batchDel",name = "批量删除产品/战略规划等基本信息",moduleId = "xm-project",moduleName = "管理端-产品管理系统")
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProduct(@RequestBody List<XmProduct> xmProducts) {
User user=LoginUtils.getCurrentUserInfo();
List<XmProduct> canDelList=new ArrayList<>();
List<Tips> errTips=new ArrayList<>();
for (XmProduct xmProduct : xmProducts) {
Tips otips=new Tips();
if(!StringUtils.hasText(xmProduct.getId())){
oreturn Result.error("id-0","","产品编号不能为空");
errTips.add(otips);
continue;
}
XmProduct xmProductDb=xmProductService.getProductFromCache(xmProduct.getId());
if(xmProductDb==null){
oreturn Result.error("data-0","","产品【"+xmProductDb.getProductName()+"】已不存在");
}else if(!"0".equals(xmProductDb.getPstatus())&&!"3".equals(xmProductDb.getPstatus())){
oreturn Result.error("pstatus-not-0-3","产品【"+xmProductDb.getProductName()+"】不是初始、已关闭状态,不允许删除");
}else if(!user.getBranchId().equals(xmProductDb.getBranchId())){
oreturn Result.error("branchId-not-right","产品【"+xmProductDb.getProductName()+"】不属于您所在的机构,不允许删除");
}else if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){
oreturn Result.error("pmUserid-not-right","您不是产品【"+xmProductDb.getProductName()+"】负责人,也不是产品助理,不允许删除");
}else{
if(!"1".equals(xmProductDb.getIsTpl())){
long menus=xmProductService.checkExistsMenu(xmProduct.getId());
if(menus>0) {
oreturn Result.error("had-menus","产品【"+xmProductDb.getProductName()+"】有"+menus+"个需求关联,不允许删除,请先解绑需求");
}
}
}
if(otips.isOk()){
canDelList.add(xmProductDb);
}else {
errTips.add(tips);
}
}
if(canDelList.size()>0) {
//xmProductService.doBatchDelete(canDelList);//不允许批量删除
for (XmProduct xmProduct : canDelList) {
xmProductService.clearCache(xmProduct.getId());
xmRecordService.addXmProductRecord(xmProduct.getId(),"批量删除产品","批量删除产品【"+xmProduct.getId()+"】【"+xmProduct.getProductName()+"】","",JSON.toJSONString(xmProduct));
}
}
String msg="成功删除"+canDelList.size()+"条产品信息";
if(canDelList.size()==xmProducts.size()){
return Result.ok(msg);
}else{
if(errTips.size()>0 && canDelList.size()>0){
String errmsg=errTips.stream().map(i->i.getMsg()).collect(Collectors.joining(" "));
return Result.ok(msg+"\n"+errmsg);
}else{
return Result.error(errTips.stream().map(i->i.getMsg()).collect(Collectors.joining(" ")));
}
}
return tips;
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
}
*/
} }

2
xm-core/src/main/java/com/xm/core/ctrl/XmProductProjectLinkController.java

@ -107,7 +107,7 @@ public class XmProductProjectLinkController {
xmProductProjectLink.setCuserid(user.getUserid()); xmProductProjectLink.setCuserid(user.getUserid());
xmProductProjectLink.setCusername(user.getUsername()); xmProductProjectLink.setCusername(user.getUsername());
xmProductProjectLinkService.insert(xmProductProjectLink); xmProductProjectLinkService.insert(xmProductProjectLink);
return Result.ok();
} }
@ApiOperation( value = "删除一条产品与项目的关联关系表,一般由产品经理挂接项目到产品上信息",notes=" ") @ApiOperation( value = "删除一条产品与项目的关联关系表,一般由产品经理挂接项目到产品上信息",notes=" ")

93
xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java

@ -61,102 +61,11 @@ public class XmProductStateHisController {
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
QueryWrapper<XmProductStateHis> qw = QueryTools.initQueryWrapper(XmProductStateHis.class , params); QueryWrapper<XmProductStateHis> qw = QueryTools.initQueryWrapper(XmProductStateHis.class , params);
List<Map<String,Object>> datas = QueryTools.xmProductStateHisService(page,qw,params);
List<Map<String,Object>> datas = xmProductStateHisService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProductStateHis列表 return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProductStateHis列表
} }
/**
@ApiOperation( value = "新增一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmProductStateHis.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) {
boolean createPk=false;
if(!StringUtils.hasText(xmProductStateHis.getProductId())) {
createPk=true;
xmProductStateHis.setProductId(xmProductStateHisService.createKey("productId"));
}
if(!StringUtils.hasText(xmProductStateHis.getBizDate())) {
createPk=true;
xmProductStateHis.setBizDate(xmProductStateHisService.createKey("bizDate"));
}
if(createPk==false){
if(xmProductStateHisService.selectOneObject(xmProductStateHis) !=null ){
return Result.error("pk-exists","编号重复,请修改编号再提交");
}
}
xmProductStateHisService.insert(xmProductStateHis);
}
*/
/**
@ApiOperation( value = "删除一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis){
if(!StringUtils.hasText(xmProductStateHis.getProductId())) {
return Result.error("pk-not-exists","请上送主键参数productId");
}
if(!StringUtils.hasText(xmProductStateHis.getBizDate())) {
return Result.error("pk-not-exists","请上送主键参数bizDate");
}
XmProductStateHis xmProductStateHisDb = xmProductStateHisService.selectOneObject(xmProductStateHis);
if( xmProductStateHisDb == null ){
return Result.error("data-not-exists","数据不存在,无法删除");
}
xmProductStateHisService.deleteByPk(xmProductStateHis);
return Result.ok();
}
*/
/**
@ApiOperation( value = "根据主键修改一条功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmProductStateHis.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmProductStateHis(@RequestBody XmProductStateHis xmProductStateHis) {
if(!StringUtils.hasText(xmProductStateHis.getProductId())) {
return Result.error("pk-not-exists","请上送主键参数productId");
}
if(!StringUtils.hasText(xmProductStateHis.getBizDate())) {
return Result.error("pk-not-exists","请上送主键参数bizDate");
}
XmProductStateHis xmProductStateHisDb = xmProductStateHisService.selectOneObject(xmProductStateHis);
if( xmProductStateHisDb == null ){
return Result.error("data-not-exists","数据不存在,无法修改");
}
xmProductStateHisService.updateSomeFieldByPk(xmProductStateHis);
}
*/
/**
@ApiOperation( value = "根据主键列表批量删除功能状态表,无需前端维护,所有数据由汇总统计得出信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProductStateHis(@RequestBody List<XmProductStateHis> xmProductStateHiss) {
xmProductStateHisService.batchDelete(xmProductStateHiss);
return Result.ok();
}
*/
} }

136
xm-core/src/main/java/com/xm/core/ctrl/XmProjectContractController.java

@ -1,136 +0,0 @@
package com.xm.core.ctrl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result;
import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmProjectContract;
import io.swagger.annotations.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
/**
* url编制采用rest风格,如对XM.xm_project_contract xm_project_contract的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmProjectContract/add <br>
* 查询: xm/xmProjectContract/list<br>
* 模糊查询: xm/xmProjectContract/listKey<br>
* 修改: xm/xmProjectContract/edit <br>
* 删除: xm/xmProjectContract/del<br>
* 批量删除: xm/xmProjectContract/batchDel<br>
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br>
* 实体 XmProjectContract XM.xm_project_contract 当前主键(包括多主键): ht_id;
***/
@RestController("xm.core.xmProjectContractController")
@RequestMapping(value="/**/xm/core/xmProjectContract")
@Api(tags={"xm_project_contract操作接口"})
public class XmProjectContractController {
static Log logger=LogFactory.getLog(XmProjectContractController.class);
@Autowired
private XmProjectContractService xmProjectContractService;
@ApiOperation( value = "查询xm_project_contract信息列表",notes="listXmProjectContract,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}")
@ApiImplicitParams({
@ApiImplicitParam(name="htId",value="合同编号,主键",required=false),
@ApiImplicitParam(name="projectId",value="项目编号",required=false),
@ApiImplicitParam(name="pageSize",value="每页记录数",required=false),
@ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false),
@ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false),
@ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student_id desc",required=false),
@ApiImplicitParam(name="count",value="是否进行总条数计算,count=true|false",required=false)
})
@ApiResponses({
@ApiResponse(code = 200,response= XmProjectContract.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/list",method=RequestMethod.GET)
public Result listXmProjectContract(@ApiIgnore @RequestParam Map<String,Object> params){
RequestUtils.transformArray(params, "htIds");
IPage page=QueryTools.initPage(params);
QueryWrapper<XmProjectContract> qw=QueryTools.initQueryWrapper(XmProjectContract.class,params);
List<Map<String,Object>> datas= xmProjectContractService.selectListMapByWhere(page,qw,params);
return Result.ok().setData(datas).setTotal(page.getTotal());
}
/**
@ApiOperation( value = "新增一条xm_project_contract信息",notes="addXmProjectContract,主键如果为空,后台自动生成")
@ApiResponses({
@ApiResponse(code = 200,response=XmProjectContract.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmProjectContract(@RequestBody XmProjectContract xmProjectContract) {
if(StringUtils.isEmpty(xmProjectContract.getHtId())) {
xmProjectContract.setHtId(xmProjectContractService.createKey("htId"));
}else{
XmProjectContract xmProjectContractQuery = new XmProjectContract(xmProjectContract.getHtId());
if(xmProjectContractService.countByWhere(xmProjectContractQuery)>0){
return Result.error("编号重复,请修改编号再提交");
}
}
xmProjectContractService.insert(xmProjectContract);
}
*/
/**
@ApiOperation( value = "删除一条xm_project_contract信息",notes="delXmProjectContract,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmProjectContract(@RequestBody XmProjectContract xmProjectContract){
xmProjectContractService.deleteByPk(xmProjectContract);
return Result.ok();
}
*/
/**
@ApiOperation( value = "根据主键修改一条xm_project_contract信息",notes="editXmProjectContract")
@ApiResponses({
@ApiResponse(code = 200,response=XmProjectContract.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmProjectContract(@RequestBody XmProjectContract xmProjectContract) {
xmProjectContractService.updateByPk(xmProjectContract);
}
*/
/**
@ApiOperation( value = "根据主键列表批量删除xm_project_contract信息",notes="batchDelXmProjectContract,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProjectContract(@RequestBody List<XmProjectContract> xmProjectContracts) {
xmProjectContractService.batchDelete(xmProjectContracts);
return Result.ok();
}
*/
}

39
xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java

@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.audit.log.client.annotation.AuditLog; import com.mdp.audit.log.client.annotation.AuditLog;
import com.mdp.audit.log.client.annotation.OperType; import com.mdp.audit.log.client.annotation.OperType;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils; import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
@ -118,7 +117,7 @@ public class XmProjectController {
params.put("linkBranchId",user.getBranchId()); params.put("linkBranchId",user.getBranchId());
params.put("platformBranchId",platformBranchId); params.put("platformBranchId",platformBranchId);
QueryWrapper<XmProject> qw = QueryTools.initQueryWrapper(XmProject.class , params); QueryWrapper<XmProject> qw = QueryTools.initQueryWrapper(XmProject.class , params);
List<Map<String,Object>> datas = xmProjectService.getProject(params); //列出XmProject列表
List<Map<String,Object>> datas = xmProjectService.selectListMapByWhere(page,qw,params); //列出XmProject列表
return Result.ok().setData(datas); return Result.ok().setData(datas);
@ -197,15 +196,15 @@ public class XmProjectController {
this.xmProjectService.editSomeFields(xmProjectMap); this.xmProjectService.editSomeFields(xmProjectMap);
this.xmProjectService.clearProject(xmProjectDb.getId()); this.xmProjectService.clearProject(xmProjectDb.getId());
if(StringUtils.hasText(xmProject.getPmUserid()) && !xmProject.getPmUserid().equals(xmProjectDb.getPmUserid())){ if(StringUtils.hasText(xmProject.getPmUserid()) && !xmProject.getPmUserid().equals(xmProjectDb.getPmUserid())){
notifyMsgService.pushMsg(user,xmProject.getPmUserid(),xmProject.getPmUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的项目经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getPmUserid(),xmProject.getPmUsername(),"您成为项目【"+xmProjectDb.getName()+"】的项目经理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProject.getAssUserid()) && !xmProject.getAssUserid().equals(xmProjectDb.getAssUserid())){ if(StringUtils.hasText(xmProject.getAssUserid()) && !xmProject.getAssUserid().equals(xmProjectDb.getAssUserid())){
notifyMsgService.pushMsg(user,xmProject.getAssUserid(),xmProject.getAssUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的副经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getAssUserid(),xmProject.getAssUsername(),"您成为项目【"+xmProjectDb.getName()+"】的副经理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProject.getAdmUserid()) && !xmProject.getAdmUserid().equals(xmProjectDb.getAdmUserid())){ if(StringUtils.hasText(xmProject.getAdmUserid()) && !xmProject.getAdmUserid().equals(xmProjectDb.getAdmUserid())){
notifyMsgService.pushMsg(user,xmProject.getAdmUserid(),xmProject.getAdmUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的项目总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getAdmUserid(),xmProject.getAdmUsername(),"您成为项目【"+xmProjectDb.getName()+"】的项目总监,请及时跟进。",null);
} }
// //
return Result.ok(); return Result.ok();
@ -245,13 +244,13 @@ public class XmProjectController {
} }
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
xmProjectService.saveProject(xmProjectVo); xmProjectService.saveProject(xmProjectVo);
notifyMsgService.pushMsg(user,xmProjectVo.getPmUserid(),xmProjectVo.getPmUsername(),"1",xmProjectVo.getId(),xmProjectVo.getId(),"您成为项目【"+xmProjectVo.getName()+"】的项目经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProjectVo.getPmUserid(),xmProjectVo.getPmUsername(),"您成为项目【"+xmProjectVo.getName()+"】的项目经理,请及时跟进。",null);
if(StringUtils.hasText(xmProjectVo.getAssUserid()) && !xmProjectVo.getAssUserid().equals(xmProjectVo.getPmUserid())){ if(StringUtils.hasText(xmProjectVo.getAssUserid()) && !xmProjectVo.getAssUserid().equals(xmProjectVo.getPmUserid())){
notifyMsgService.pushMsg(user,xmProjectVo.getAssUserid(),xmProjectVo.getAssUsername(),"1",xmProjectVo.getId(),xmProjectVo.getId(),"您成为项目【"+xmProjectVo.getName()+"】的副经理、助理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProjectVo.getAssUserid(),xmProjectVo.getAssUsername(),"您成为项目【"+xmProjectVo.getName()+"】的副经理、助理,请及时跟进。",null);
} }
if(StringUtils.hasText(xmProjectVo.getAdmUserid()) && !xmProjectVo.getAdmUserid().equals(xmProjectVo.getPmUserid())){ if(StringUtils.hasText(xmProjectVo.getAdmUserid()) && !xmProjectVo.getAdmUserid().equals(xmProjectVo.getPmUserid())){
notifyMsgService.pushMsg(user,xmProjectVo.getAdmUserid(),xmProjectVo.getAdmUsername(),"1",xmProjectVo.getId(),xmProjectVo.getId(),"您成为项目【"+xmProjectVo.getName()+"】的项目总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProjectVo.getAdmUserid(),xmProjectVo.getAdmUsername(),"您成为项目【"+xmProjectVo.getName()+"】的项目总监,请及时跟进。",null);
} }
xmProjectService.clearProject(xmProjectVo.getId()); xmProjectService.clearProject(xmProjectVo.getId());
xmProjectStateService.loadTasksToXmProjectState(xmProjectVo.getId()); xmProjectStateService.loadTasksToXmProjectState(xmProjectVo.getId());
@ -310,7 +309,6 @@ public class XmProjectController {
XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProject.getId()); XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProject.getId());
if(xmProjectDb==null){ if(xmProjectDb==null){
return Result.error("项目不存在"); return Result.error("项目不存在");
return Result.error(tips);
} }
if(!user.getBranchId().equals(xmProjectDb.getBranchId())){ if(!user.getBranchId().equals(xmProjectDb.getBranchId())){
return Result.error("branchId-not-right","该项目不属于您的组织,不允许您进行删除"); return Result.error("branchId-not-right","该项目不属于您的组织,不允许您进行删除");
@ -460,15 +458,15 @@ public class XmProjectController {
} }
xmProjectService.updateProject(xmProject); xmProjectService.updateProject(xmProject);
if(StringUtils.hasText(xmProject.getPmUserid()) && !xmProject.getPmUserid().equals(xmProjectDb.getPmUserid())){ if(StringUtils.hasText(xmProject.getPmUserid()) && !xmProject.getPmUserid().equals(xmProjectDb.getPmUserid())){
notifyMsgService.pushMsg(user,xmProject.getPmUserid(),xmProject.getPmUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的项目经理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getPmUserid(),xmProject.getPmUsername(),"您成为项目【"+xmProjectDb.getName()+"】的项目经理,请及时跟进。");
} }
if(StringUtils.hasText(xmProject.getAssUserid()) && !xmProject.getAssUserid().equals(xmProjectDb.getAssUserid())){ if(StringUtils.hasText(xmProject.getAssUserid()) && !xmProject.getAssUserid().equals(xmProjectDb.getAssUserid())){
notifyMsgService.pushMsg(user,xmProject.getAssUserid(),xmProject.getAssUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的副经理、助理,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getAssUserid(),xmProject.getAssUsername(),"您成为项目【"+xmProjectDb.getName()+"】的副经理、助理,请及时跟进。");
} }
if(StringUtils.hasText(xmProject.getAdmUserid()) && !xmProject.getAdmUserid().equals(xmProjectDb.getAdmUserid())){ if(StringUtils.hasText(xmProject.getAdmUserid()) && !xmProject.getAdmUserid().equals(xmProjectDb.getAdmUserid())){
notifyMsgService.pushMsg(user,xmProject.getAdmUserid(),xmProject.getAdmUsername(),"1",xmProjectDb.getId(),xmProjectDb.getId(),"您成为项目【"+xmProjectDb.getName()+"】的项目总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProject.getAdmUserid(),xmProject.getAdmUsername(),"您成为项目【"+xmProjectDb.getName()+"】的项目总监,请及时跟进。");
} }
xmProjectService.clearProject(xmProject.getId()); xmProjectService.clearProject(xmProject.getId());
xmRecordService.addXmProjectRecord(xmProject.getId(),"项目-修改","修改项目【"+xmProjectDb.getName()+"】的基础信息", JSON.toJSONString(xmProject), JSON.toJSONString(xmProjectDb)); xmRecordService.addXmProjectRecord(xmProject.getId(),"项目-修改","修改项目【"+xmProjectDb.getName()+"】的基础信息", JSON.toJSONString(xmProject), JSON.toJSONString(xmProjectDb));
@ -556,20 +554,7 @@ public class XmProjectController {
@AuditLog(firstMenu="办公平台",secondMenu="项目管理",func="processApprova",funcDesc="项目立项等审批",operType=OperType.UPDATE) @AuditLog(firstMenu="办公平台",secondMenu="项目管理",func="processApprova",funcDesc="项目立项等审批",operType=OperType.UPDATE)
@RequestMapping(value="/processApprova",method=RequestMethod.POST) @RequestMapping(value="/processApprova",method=RequestMethod.POST)
public Result processApprova( @RequestBody Map<String,Object> flowVars){ public Result processApprova( @RequestBody Map<String,Object> flowVars){
this.xmProjectService.processApprova(flowVars);
logger.debug("procInstId====="+flowVars.get("procInstId"));
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
this.xmProjectService.processApprova(flowVars);
return Result.ok();
} }
} }

37
xm-core/src/main/java/com/xm/core/ctrl/XmProjectKpiController.java

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmProjectKpi; import com.xm.core.entity.XmProjectKpi;
import com.xm.core.service.XmProjectKpiService; import com.xm.core.service.XmProjectKpiService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -76,7 +75,7 @@ public class XmProjectKpiController {
IPage page=QueryTools.initPage(params); IPage page=QueryTools.initPage(params);
QueryWrapper<XmProjectKpi> qw = QueryTools.initQueryWrapper(XmProjectKpi.class , params); QueryWrapper<XmProjectKpi> qw = QueryTools.initQueryWrapper(XmProjectKpi.class , params);
List<Map<String,Object>> datas = xmProjectKpiService.selectListMapByWhere(page,qw,params); List<Map<String,Object>> datas = xmProjectKpiService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectKpi列表
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectKpi列表
} }
@ -90,17 +89,17 @@ public class XmProjectKpiController {
@RequestMapping(value="/add",method=RequestMethod.POST) @RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi) { public Result addXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi) {
if(StringUtils.isEmpty(xmProjectKpi.getId())) {
xmProjectKpi.setId(xmProjectKpiService.createKey("id"));
}else{
XmProjectKpi xmProjectKpiQuery = new XmProjectKpi(xmProjectKpi.getId());
if(xmProjectKpiService.countByWhere(xmProjectKpiQuery)>0){
return Result.error("编号重复,请修改编号再提交");
}
if(StringUtils.isEmpty(xmProjectKpi.getId())) {
xmProjectKpi.setId(xmProjectKpiService.createKey("id"));
}else{
XmProjectKpi xmProjectKpiQuery = new XmProjectKpi(xmProjectKpi.getId());
if(xmProjectKpiService.countByWhere(xmProjectKpiQuery)>0){
return Result.error("编号重复,请修改编号再提交");
} }
xmProjectKpiService.insert(xmProjectKpi);
}
xmProjectKpiService.insert(xmProjectKpi);
return Result.ok();
} }
@ -112,8 +111,8 @@ public class XmProjectKpiController {
@RequestMapping(value="/del",method=RequestMethod.POST) @RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi){ public Result delXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi){
xmProjectKpiService.deleteByPk(xmProjectKpi);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
xmProjectKpiService.deleteByPk(xmProjectKpi);
return Result.ok();
} }
@ -126,7 +125,8 @@ public class XmProjectKpiController {
@RequestMapping(value="/edit",method=RequestMethod.POST) @RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi) { public Result editXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi) {
xmProjectKpiService.updateByPk(xmProjectKpi);
xmProjectKpiService.updateByPk(xmProjectKpi);
return Result.ok();
} }
@ -140,11 +140,8 @@ public class XmProjectKpiController {
}) })
@RequestMapping(value="/batchDel",method=RequestMethod.POST) @RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProjectKpi(@RequestBody List<XmProjectKpi> xmProjectKpis) { public Result batchDelXmProjectKpi(@RequestBody List<XmProjectKpi> xmProjectKpis) {
xmProjectKpiService.batchDelete(xmProjectKpis);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
xmProjectKpiService.batchDelete(xmProjectKpis);
return Result.ok();
} }

7
xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java

@ -137,10 +137,11 @@ public class XmProjectStateController {
RequestUtils.transformArray(params, "ids"); RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(params); IPage page=QueryTools.initPage(params);
List<Map<String,Object>> xmProjectStateList =null; //列出XmProductState列表
if(xmProjectStateList==null){
xmProjectStateList=xmProjectStateService.selectPortalProjectStates(xmProductState);
List<Map<String,Object>> datas =null; //列出XmProductState列表
if(datas==null){
datas=xmProjectStateService.selectPortalProjectStates(params);
} }
return Result.ok().setData(datas);
} }

170
xm-core/src/main/java/com/xm/core/ctrl/XmProjectTaskTypeStateController.java

@ -1,170 +0,0 @@
package com.xm.core.ctrl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result;
import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmProjectTaskTypeState;
import io.swagger.annotations.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
/**
* url编制采用rest风格,如对XM.xm_project_task_type_state 按任务类型汇总的操作有增删改查,对应的url分别为:<br>
* 新增: core/xmProjectTaskTypeState/add <br>
* 查询: core/xmProjectTaskTypeState/list<br>
* 模糊查询: core/xmProjectTaskTypeState/listKey<br>
* 修改: core/xmProjectTaskTypeState/edit <br>
* 删除: core/xmProjectTaskTypeState/del<br>
* 批量删除: core/xmProjectTaskTypeState/batchDel<br>
* 组织 com.qqkj 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmProjectTaskTypeState XM.xm_project_task_type_state 当前主键(包括多主键): id;
***/
@RestController("xm.core.xmProjectTaskTypeStateController")
@RequestMapping(value="/**/core/xmProjectTaskTypeState")
@Api(tags={"按任务类型汇总操作接口"})
public class XmProjectTaskTypeStateController {
static Log logger=LogFactory.getLog(XmProjectTaskTypeStateController.class);
@Autowired
private XmProjectTaskTypeStateService xmProjectTaskTypeStateService;
@ApiOperation( value = "查询按任务类型汇总信息列表",notes="listXmProjectTaskTypeState,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}")
@ApiImplicitParams({
@ApiImplicitParam(name="id",value="主键,主键",required=false),
@ApiImplicitParam(name="projectId",value="项目编号",required=false),
@ApiImplicitParam(name="projectName",value="项目名称",required=false),
@ApiImplicitParam(name="taskType",value="任务类型",required=false),
@ApiImplicitParam(name="planWorkload",value="工作量",required=false),
@ApiImplicitParam(name="planAmount",value="预算金额",required=false),
@ApiImplicitParam(name="actWorkload",value="实际完成工作量",required=false),
@ApiImplicitParam(name="actAmount",value="实际完成金额",required=false),
@ApiImplicitParam(name="branchId",value="机构编号",required=false),
@ApiImplicitParam(name="bizDate",value="业务日期yyyy-MM-dd型",required=false),
@ApiImplicitParam(name="calcTime",value="计算日期",required=false),
@ApiImplicitParam(name="planOuserAt",value="外购资金预算",required=false),
@ApiImplicitParam(name="planIuserAt",value="内购资金预算",required=false),
@ApiImplicitParam(name="actOuserAt",value="实际外购成本",required=false),
@ApiImplicitParam(name="actIuserAt",value="实际内购成本",required=false),
@ApiImplicitParam(name="planOuserWorkload",value="计划外购工作量",required=false),
@ApiImplicitParam(name="planIuserWorkload",value="计划内购工作量",required=false),
@ApiImplicitParam(name="actOuserWorkload",value="实际外购工作量",required=false),
@ApiImplicitParam(name="actIuserWorkload",value="实际内购工作量",required=false),
@ApiImplicitParam(name="planNouserAt",value="计划非人力成本",required=false),
@ApiImplicitParam(name="actNouserAt",value="实际非人力成本",required=false),
@ApiImplicitParam(name="pageSize",value="每页记录数",required=false),
@ApiImplicitParam(name="pageNum",value="当前页码,从1开始",required=false),
@ApiImplicitParam(name="total",value="总记录数,服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算",required=false),
@ApiImplicitParam(name="orderBy",value="排序列 如性别、学生编号排序 orderBy = sex desc,student_id desc",required=false),
@ApiImplicitParam(name="count",value="是否进行总条数计算,count=true|false",required=false)
})
@ApiResponses({
@ApiResponse(code = 200,response= XmProjectTaskTypeState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/list",method=RequestMethod.GET)
public Result listXmProjectTaskTypeState(@ApiIgnore @RequestParam Map<String,Object> params){
RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(params);
QueryWrapper<XmProjectTaskTypeState> qw = QueryTools.initQueryWrapper(XmProjectTaskTypeState.class , params);
List<Map<String,Object>> datas = xmProjectTaskTypeStateService.selectListMapByWhere(page,qw,params);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal()); //列出XmProjectTaskTypeState列表
}
@ApiOperation( value = "从任务表汇总数据到项目任务类型汇总表",notes="")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/loadTasksToXmProjectTaskTypeState",method=RequestMethod.POST)
public Result loadTasksToXmProjectTaskTypeState(@RequestBody XmProjectTaskTypeState xmProjectTaskTypeState){
if(StringUtils.isEmpty(xmProjectTaskTypeState.getProjectId())) {
return Result.error("项目编号projectId必填");
}else {
xmProjectTaskTypeStateService.loadTasksToXmProjectTaskTypeState(xmProjectTaskTypeState.getBranchId());
}
return Result.ok();
}
/**
@ApiOperation( value = "新增一条按任务类型汇总信息",notes="addXmProjectTaskTypeState,主键如果为空,后台自动生成")
@ApiResponses({
@ApiResponse(code = 200,response=XmProjectTaskTypeState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Result addXmProjectTaskTypeState(@RequestBody XmProjectTaskTypeState xmProjectTaskTypeState) {
if(StringUtils.isEmpty(xmProjectTaskTypeState.getId())) {
xmProjectTaskTypeState.setId(xmProjectTaskTypeStateService.createKey("id"));
}else{
XmProjectTaskTypeState xmProjectTaskTypeStateQuery = new XmProjectTaskTypeState(xmProjectTaskTypeState.getId());
if(xmProjectTaskTypeStateService.countByWhere(xmProjectTaskTypeStateQuery)>0){
return Result.error("编号重复,请修改编号再提交");
}
}
xmProjectTaskTypeStateService.insert(xmProjectTaskTypeState);
}
*/
/**
@ApiOperation( value = "删除一条按任务类型汇总信息",notes="delXmProjectTaskTypeState,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmProjectTaskTypeState(@RequestBody XmProjectTaskTypeState xmProjectTaskTypeState){
xmProjectTaskTypeStateService.deleteByPk(xmProjectTaskTypeState);
return Result.ok();
}
*/
/**
@ApiOperation( value = "根据主键修改一条按任务类型汇总信息",notes="editXmProjectTaskTypeState")
@ApiResponses({
@ApiResponse(code = 200,response=XmProjectTaskTypeState.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Result editXmProjectTaskTypeState(@RequestBody XmProjectTaskTypeState xmProjectTaskTypeState) {
xmProjectTaskTypeStateService.updateByPk(xmProjectTaskTypeState);
}
*/
/**
@ApiOperation( value = "根据主键列表批量删除按任务类型汇总信息",notes="batchDelXmProjectTaskTypeState,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProjectTaskTypeState(@RequestBody List<XmProjectTaskTypeState> xmProjectTaskTypeStates) {
xmProjectTaskTypeStateService.batchDelete(xmProjectTaskTypeStates);
return Result.ok();
}
*/
}

107
xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java

@ -6,7 +6,6 @@ import com.mdp.audit.log.client.annotation.AuditLog;
import com.mdp.audit.log.client.annotation.OperType; import com.mdp.audit.log.client.annotation.OperType;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils; import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
@ -35,8 +34,6 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.ResponseHelper.failed;
/** /**
* url编制采用rest风格,如对XM.xm_question xm_question的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对XM.xm_question xm_question的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmQuestion/add <br> * 新增: xm/xmQuestion/add <br>
@ -129,7 +126,7 @@ public class XmQuestionController {
} }
QueryWrapper<XmQuestion> qw=QueryTools.initQueryWrapper(XmQuestion.class,params); QueryWrapper<XmQuestion> qw=QueryTools.initQueryWrapper(XmQuestion.class,params);
List<Map<String,Object>> datas = xmQuestionService.selectListByWhere(page,qw,params); //列出XmQuestion列表
List<Map<String,Object>> datas = xmQuestionService.selectListMapByWhere(page,qw,params); //列出XmQuestion列表
return Result.ok().setData(datas).setTotal(page.getTotal()); return Result.ok().setData(datas).setTotal(page.getTotal());
} }
@ -214,25 +211,12 @@ public class XmQuestionController {
xmQuestionService.addQuestion(xmQuestionVo); xmQuestionService.addQuestion(xmQuestionVo);
if(!StringUtils.isEmpty(xmQuestionVo.getHandlerUserid())) { if(!StringUtils.isEmpty(xmQuestionVo.getHandlerUserid())) {
notifyMsgService.pushMsg(user,xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(),"5",xmQuestionVo.getProductId(),xmQuestionVo.getId(),"您有新的bug【"+xmQuestionVo.getName()+"】需要处理,请尽快修复!");
notifyMsgService.pushMsg(user,xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(),"您有新的bug【"+xmQuestionVo.getName()+"】需要处理,请尽快修复!",null);
xmPushMsgService.pushPrichatMsgToIm(user.getBranchId(), user.getUserid(), user.getUsername(), xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(), user.getUsername()+"创建bug【"+xmQuestionVo.getName()+"】并指派给"+xmQuestionVo.getHandlerUsername()); xmPushMsgService.pushPrichatMsgToIm(user.getBranchId(), user.getUserid(), user.getUsername(), xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(), user.getUsername()+"创建bug【"+xmQuestionVo.getName()+"】并指派给"+xmQuestionVo.getHandlerUsername());
} }
}
/**
@ApiOperation( value = "删除一条xm_question信息",notes="delXmQuestion,仅需要上传主键字段")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmQuestion(@RequestBody XmQuestion xmQuestion){
xmQuestionService.deleteByPk(xmQuestion);
return Result.ok(); return Result.ok();
} }
*/
@ApiOperation( value = "根据主键修改一条xm_question信息",notes="editXmQuestion") @ApiOperation( value = "根据主键修改一条xm_question信息",notes="editXmQuestion")
@ApiResponses({ @ApiResponses({
@ -244,20 +228,18 @@ public class XmQuestionController {
if(!StringUtils.hasText(xmQuestionVo.getId())){
return Result.error("id-0","编号不能为空");
}
XmQuestion xmQuestionDb=this.xmQuestionService.selectOneById(xmQuestionVo.getId());
tips=checkOneQx(xmQuestionDb.getProjectId(),xmQuestionDb.getProductId());
if(!tips.isOk()){
return Result.error(tips);
}
User user=LoginUtils.getCurrentUserInfo();
xmQuestionService.updateQuestion(xmQuestionVo);
if(!StringUtils.isEmpty(xmQuestionVo.getHandlerUserid())) {
xmPushMsgService.pushPrichatMsgToIm(user.getBranchId(), user.getUserid(), user.getUsername(), xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(), user.getUsername()+"修改bug【"+xmQuestionVo.getName()+"】");
}
if(!StringUtils.hasText(xmQuestionVo.getId())){
return Result.error("id-0","编号不能为空");
}
XmQuestion xmQuestionDb=this.xmQuestionService.selectOneById(xmQuestionVo.getId());
Tips tips=checkOneQx(xmQuestionDb.getProjectId(),xmQuestionDb.getProductId());
Result.assertIsFalse(tips);
User user=LoginUtils.getCurrentUserInfo();
xmQuestionService.updateQuestion(xmQuestionVo);
if(!StringUtils.isEmpty(xmQuestionVo.getHandlerUserid())) {
xmPushMsgService.pushPrichatMsgToIm(user.getBranchId(), user.getUserid(), user.getUsername(), xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(), user.getUsername()+"修改bug【"+xmQuestionVo.getName()+"】");
}
return Result.ok();
} }
@ApiOperation( value = "根据主键修改一条xm_question信息",notes="editXmQuestion") @ApiOperation( value = "根据主键修改一条xm_question信息",notes="editXmQuestion")
@ -334,14 +316,12 @@ public class XmQuestionController {
String handlerUserid= (String) xmQuestionMap.get("handlerUserid"); String handlerUserid= (String) xmQuestionMap.get("handlerUserid");
String handlerUsername= (String) xmQuestionMap.get("handlerUsername"); String handlerUsername= (String) xmQuestionMap.get("handlerUsername");
XmQuestion xmQuedb=canOper.get(0); XmQuestion xmQuedb=canOper.get(0);
Tips tips1=productQxService.checkProductScopeQx(productService.getProductFromCache(xmQuedb.getProductId()),1,user,handlerUserid,handlerUsername,null);
Tips tips1=productQxService.checkProductScopeQx(productService.getProductFromCache(xmQuedb.getProductId()),1,user,handlerUserid,handlerUsername,null);
if(!tips1.isOk()){ if(!tips1.isOk()){
if(StringUtils.hasText(xmQuedb.getProjectId())){ if(StringUtils.hasText(xmQuedb.getProjectId())){
tips1=projectQxService.checkProjectScopeQx(projectService.getProjectFromCache(xmQuedb.getProjectId()),1,user,handlerUserid,handlerUsername,null);
}
if(!tips1.isOk()){
return Result.error(tips1);
tips1=projectQxService.checkProjectScopeQx(projectService.getProjectFromCache(xmQuedb.getProjectId()),1,user,handlerUserid,handlerUsername,null);
} }
Result.assertIsFalse(tips1);
} }
} }
@ -369,7 +349,7 @@ public class XmQuestionController {
handle.setReceiptMessage(user.getUsername()+"修改缺陷处理意见为:"+xmQuestionVo.getRemarks()); handle.setReceiptMessage(user.getUsername()+"修改缺陷处理意见为:"+xmQuestionVo.getRemarks());
}else if(StringUtils.hasText(handlerUsername)){ }else if(StringUtils.hasText(handlerUsername)){
handle.setReceiptMessage(user.getUsername()+"将缺陷指派给"+handlerUsername); handle.setReceiptMessage(user.getUsername()+"将缺陷指派给"+handlerUsername);
notifyMsgService.pushMsg(user,xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(),"5",xmQuestionVo.getProductId(),xmQuestionVo.getId(),user.getUsername()+"将bug【"+xmQuestionVo.getName()+"】指派给您,请及时跟进。");
notifyMsgService.pushMsg(user,xmQuestionVo.getHandlerUserid(),xmQuestionVo.getHandlerUsername(),user.getUsername()+"将bug【"+xmQuestionVo.getName()+"】指派给您,请及时跟进。",null);
}else if(StringUtils.hasText(bugStatus)){ }else if(StringUtils.hasText(bugStatus)){
handle.setReceiptMessage(user.getUsername()+"将缺陷状态改为"+bugStatus); handle.setReceiptMessage(user.getUsername()+"将缺陷状态改为"+bugStatus);
@ -409,7 +389,7 @@ public class XmQuestionController {
if(noOper.size()>0){ if(noOper.size()>0){
Set<String> noDelTips2=new HashSet<>(); Set<String> noDelTips2=new HashSet<>();
for (XmQuestion xmQuestion : noOper) { for (XmQuestion xmQuestion : noOper) {
Tips tips1=noOperTips.get(xmQuestion.getId());
Tips tips1=noOperTips.get(xmQuestion.getId());
noDelTips2.add(tips1.getMsg()); noDelTips2.add(tips1.getMsg());
} }
msgs.add(String.format("其中%s个缺陷,无权限修改。原因【%s】",noOper.size(),noDelTips2.stream().collect(Collectors.joining(";")))); msgs.add(String.format("其中%s个缺陷,无权限修改。原因【%s】",noOper.size(),noDelTips2.stream().collect(Collectors.joining(";"))));
@ -418,9 +398,7 @@ public class XmQuestionController {
return Result.ok(msgs.stream().collect(Collectors.joining())); return Result.ok(msgs.stream().collect(Collectors.joining()));
}else{ }else{
return Result.error(msgs.stream().collect(Collectors.joining())); return Result.error(msgs.stream().collect(Collectors.joining()));
}
//
return Result.ok();
}
} }
@ -461,7 +439,7 @@ public class XmQuestionController {
if(noOper.size()>0){ if(noOper.size()>0){
Set<String> noDelTips2=new HashSet<>(); Set<String> noDelTips2=new HashSet<>();
for (XmQuestion xmQuestion : noOper) { for (XmQuestion xmQuestion : noOper) {
Tips tips1=noOperTips.get(xmQuestion.getId());
Tips tips1=noOperTips.get(xmQuestion.getId());
noDelTips2.add(tips1.getMsg()); noDelTips2.add(tips1.getMsg());
} }
msgs.add(String.format("其中%s个缺陷,无权限删除。原因【%s】",noOper.size(),noDelTips2.stream().collect(Collectors.joining(";")))); msgs.add(String.format("其中%s个缺陷,无权限删除。原因【%s】",noOper.size(),noDelTips2.stream().collect(Collectors.joining(";"))));
@ -470,9 +448,7 @@ public class XmQuestionController {
return Result.ok(msgs.stream().collect(Collectors.joining())); return Result.ok(msgs.stream().collect(Collectors.joining()));
}else{ }else{
return Result.error(msgs.stream().collect(Collectors.joining())); return Result.error(msgs.stream().collect(Collectors.joining()));
}
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
}
} }
@ -487,7 +463,7 @@ public class XmQuestionController {
if((StringUtils.hasText(projectId) && !tips1.isOk()) || !StringUtils.hasText(projectId)){ if((StringUtils.hasText(projectId) && !tips1.isOk()) || !StringUtils.hasText(projectId)){
if(StringUtils.hasText(productId)){ if(StringUtils.hasText(productId)){
XmProduct xmProduct=productService.getProductFromCache(productId); XmProduct xmProduct=productService.getProductFromCache(productId);
tips1=this.productQxService.checkProductQx(xmProduct,1,user);
tips1=this.productQxService.checkProductQx(xmProduct,1,user);
} }
} }
return tips1; return tips1;
@ -536,7 +512,7 @@ public class XmQuestionController {
if(productsMap.size()>0){ if(productsMap.size()>0){
for (String productId : productsMap.keySet()) { for (String productId : productsMap.keySet()) {
XmProduct xmProduct=productService.getProductFromCache(productId); XmProduct xmProduct=productService.getProductFromCache(productId);
Tips tips1=productQxService.checkProductQx(xmProduct,1,user);
Tips tips1=productQxService.checkProductQx(xmProduct,1,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
productNoDel.addAll(productsMap.get(productId)); productNoDel.addAll(productsMap.get(productId));
for (XmQuestion xmQuestion : productsMap.get(productId)) { for (XmQuestion xmQuestion : productsMap.get(productId)) {
@ -552,7 +528,7 @@ public class XmQuestionController {
canOper.addAll(questions); canOper.addAll(questions);
}else if(opType==2){//重新指派要检查被指派人是否在项目组 }else if(opType==2){//重新指派要检查被指派人是否在项目组
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
tips1=productQxService.checkProductScopeQx(xmProduct,1,question.getHandlerUserid(),question.getHandlerUsername(),null);
tips1=productQxService.checkProductScopeQx(xmProduct,1,question.getHandlerUserid(),question.getHandlerUsername(),null);
if(!tips1.isOk()){ if(!tips1.isOk()){
productNoDel.add(question); productNoDel.add(question);
noOperTips.put(question.getId(),tips1); noOperTips.put(question.getId(),tips1);
@ -565,11 +541,11 @@ public class XmQuestionController {
}else{ }else{
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
if(opType==0){ if(opType==0){
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getCreateUserid(),question.getCreateUsername(),null);
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getCreateUserid(),question.getCreateUsername(),null);
}else if(opType==1){ }else if(opType==1){
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getHandlerUserid(),question.getHandlerUsername(),null);
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getHandlerUserid(),question.getHandlerUsername(),null);
}else if(opType==2){ }else if(opType==2){
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getHandlerUserid(),question.getHandlerUsername(),null);
tips1=productQxService.checkProductQx(xmProduct,1,user,question.getHandlerUserid(),question.getHandlerUsername(),null);
} }
if(!tips1.isOk()){ if(!tips1.isOk()){
@ -603,7 +579,7 @@ public class XmQuestionController {
if(projectsMap.size()>0){ if(projectsMap.size()>0){
for (String projectId : projectsMap.keySet()) { for (String projectId : projectsMap.keySet()) {
XmProject xmProject=projectService.getProjectFromCache(projectId); XmProject xmProject=projectService.getProjectFromCache(projectId);
Tips tips1=projectQxService.checkProjectQx(xmProject,1,user);
Tips tips1=projectQxService.checkProjectQx(xmProject,1,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
noOper.addAll(projectsMap.get(projectId)); noOper.addAll(projectsMap.get(projectId));
for (XmQuestion xmQuestion : projectsMap.get(projectId)) { for (XmQuestion xmQuestion : projectsMap.get(projectId)) {
@ -619,7 +595,7 @@ public class XmQuestionController {
canOper.addAll(questions); canOper.addAll(questions);
}else if(opType==2){//重新指派要检查被指派人是否在项目组 }else if(opType==2){//重新指派要检查被指派人是否在项目组
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
tips1=projectQxService.checkProjectScopeQx(xmProject,1,question.getHandlerUserid(),question.getHandlerUsername(),null);
tips1=projectQxService.checkProjectScopeQx(xmProject,1,question.getHandlerUserid(),question.getHandlerUsername(),null);
if(!tips1.isOk()){ if(!tips1.isOk()){
noOper.add(question); noOper.add(question);
noOperTips.put(question.getId(),tips1); noOperTips.put(question.getId(),tips1);
@ -632,11 +608,11 @@ public class XmQuestionController {
}else { }else {
for (XmQuestion question : questions) { for (XmQuestion question : questions) {
if (opType == 0) { if (opType == 0) {
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getCreateUserid(), question.getCreateUsername(), null);
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getCreateUserid(), question.getCreateUsername(), null);
} else if (opType == 1) { } else if (opType == 1) {
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getHandlerUserid(), question.getHandlerUsername(), null);
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getHandlerUserid(), question.getHandlerUsername(), null);
} else if (opType == 2) { } else if (opType == 2) {
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getHandlerUserid(), question.getHandlerUsername(), null);
tips1 = projectQxService.checkProjectQx( xmProject, 1, user, question.getHandlerUserid(), question.getHandlerUsername(), null);
} }
if (!tips1.isOk()) { if (!tips1.isOk()) {
@ -672,21 +648,8 @@ public class XmQuestionController {
@AuditLog(firstMenu="办公平台",secondMenu="项目问题管理",func="processApprova",funcDesc="项目问题审核",operType=OperType.UPDATE) @AuditLog(firstMenu="办公平台",secondMenu="项目问题管理",func="processApprova",funcDesc="项目问题审核",operType=OperType.UPDATE)
@RequestMapping(value="/processApprova",method=RequestMethod.POST) @RequestMapping(value="/processApprova",method=RequestMethod.POST)
public Result processApprova( @RequestBody Map<String,Object> flowVars){ public Result processApprova( @RequestBody Map<String,Object> flowVars){
this.xmQuestionService.processApprova(flowVars); this.xmQuestionService.processApprova(flowVars);
logger.debug("procInstId====="+flowVars.get("procInstId"));
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
return Result.ok();
} }

6
xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java

@ -86,7 +86,7 @@ public class XmRptConfigController {
xmRptConfig.setCbranchId(user.getBranchId()); xmRptConfig.setCbranchId(user.getBranchId());
xmRptConfig.setCtime(new Date()); xmRptConfig.setCtime(new Date());
xmRptConfigService.insert(xmRptConfig); xmRptConfigService.insert(xmRptConfig);
return Result.ok().setData(xmRptConfig);
} }
@ApiOperation( value = "删除一条测试报告配置表信息",notes=" ") @ApiOperation( value = "删除一条测试报告配置表信息",notes=" ")
@ -123,7 +123,7 @@ public class XmRptConfigController {
return Result.error("data-not-exists","数据不存在,无法修改"); return Result.error("data-not-exists","数据不存在,无法修改");
} }
xmRptConfigService.updateSomeFieldByPk(xmRptConfig); xmRptConfigService.updateSomeFieldByPk(xmRptConfig);
return Result.ok();
} }
@ApiOperation( value = "批量修改某些字段",notes="") @ApiOperation( value = "批量修改某些字段",notes="")
@ -161,7 +161,7 @@ public class XmRptConfigController {
List<XmRptConfig> no=new ArrayList<>(); List<XmRptConfig> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmRptConfig xmRptConfigDb : xmRptConfigsDb) { for (XmRptConfig xmRptConfigDb : xmRptConfigsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmRptConfigDb); no.add(xmRptConfigDb);
}else{ }else{

2
xm-core/src/main/java/com/xm/core/ctrl/XmRptDataController.java

@ -173,7 +173,7 @@ public class XmRptDataController {
List<XmRptData> no=new ArrayList<>(); List<XmRptData> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmRptData xmRptDataDb : xmRptDatasDb) { for (XmRptData xmRptDataDb : xmRptDatasDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmRptDataDb); no.add(xmRptDataDb);
}else{ }else{

39
xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java

@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.NumberUtil; import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
@ -197,7 +196,7 @@ public class XmTaskBidOrderController {
xmTaskBidOrderService.insert(order); xmTaskBidOrderService.insert(order);
redisTemplate.opsForValue().set(XmTaskBidOrder.class.getSimpleName()+"-"+order.getId(), JSON.toJSONString(bidOrderVo),1, TimeUnit.HOURS); redisTemplate.opsForValue().set(XmTaskBidOrder.class.getSimpleName()+"-"+order.getId(), JSON.toJSONString(bidOrderVo),1, TimeUnit.HOURS);
String remark="投标直通车费用"; String remark="投标直通车费用";
msgService.pushMsg(user,user.getUserid(),user.getUsername(),"2",order.getProjectId(),order.getTaskId(),"您为任务支付"+remark+order.getFinalFee()+"元订单提交成功,请及时付款");
msgService.pushMsg(user,user.getUserid(),user.getUsername(),"您为任务支付"+remark+order.getFinalFee()+"元订单提交成功,请及时付款",null);
} }
return Result.ok(); return Result.ok();
@ -217,9 +216,7 @@ public class XmTaskBidOrderController {
return Result.error("data-0","订单Id不能为空"); return Result.error("data-0","订单Id不能为空");
} }
XmTaskBidOrder moOrder = xmTaskBidOrderService.selectOneById(orderId); XmTaskBidOrder moOrder = xmTaskBidOrderService.selectOneById(orderId);
m.put("tips", tips);
return m;
return Result.ok().setData(moOrder);
} }
@ApiOperation( value = "通过Id获取订单",notes=" ") @ApiOperation( value = "通过Id获取订单",notes=" ")
@ -228,8 +225,7 @@ public class XmTaskBidOrderController {
}) })
@RequestMapping(value="/orderPaySuccess",method=RequestMethod.POST) @RequestMapping(value="/orderPaySuccess",method=RequestMethod.POST)
public Result orderPaySuccess(@RequestBody XmTaskBidOrder order) { public Result orderPaySuccess(@RequestBody XmTaskBidOrder order) {
try {
if(!StringUtils.hasText(order.getId())) { if(!StringUtils.hasText(order.getId())) {
return Result.error("data-0","订单Id不能为空"); return Result.error("data-0","订单Id不能为空");
@ -239,16 +235,7 @@ public class XmTaskBidOrderController {
return Result.error("pay-notify-success-flag-0","验证码错误"); return Result.error("pay-notify-success-flag-0","验证码错误");
} }
xmTaskBidOrderService.orderPaySuccess(order.getId(),order.getPayId(),order.getPrepayId(), order.getTranId(), order.getPayAt(), order.getRemark()); xmTaskBidOrderService.orderPaySuccess(order.getId(),order.getPayId(),order.getPrepayId(), order.getTranId(), order.getPayAt(), order.getRemark());
m.put("tips", tips);
return m;
}catch (BizException e) {
logger.error("",e);
return Result.error("data-0",e.getMessage());
} catch (Exception e) {
logger.error("",e);
return Result.error("data-0", "开通模块失败");
}
return Result.ok();
} }
@ApiOperation( value = "订单支付取消判断",notes=" ") @ApiOperation( value = "订单支付取消判断",notes=" ")
@ -257,9 +244,7 @@ public class XmTaskBidOrderController {
}) })
@RequestMapping(value="/payCancel",method=RequestMethod.POST) @RequestMapping(value="/payCancel",method=RequestMethod.POST)
public Result payCancel(@RequestBody XmTaskBidOrder order) { public Result payCancel(@RequestBody XmTaskBidOrder order) {
try {
if(!StringUtils.hasText(order.getId())) { if(!StringUtils.hasText(order.getId())) {
return Result.error("data-0","订单Id不能为空"); return Result.error("data-0","订单Id不能为空");
} }
@ -268,15 +253,7 @@ public class XmTaskBidOrderController {
return Result.error("pay-notify-cancel-flag-0","验证码错误"); return Result.error("pay-notify-cancel-flag-0","验证码错误");
} }
this.xmTaskBidOrderService.payCancel(order.getId(),order.getPayId(), order.getRemark()); this.xmTaskBidOrderService.payCancel(order.getId(),order.getPayId(), order.getRemark());
m.put("tips", tips);
return m;
}catch (BizException e) {
logger.error("",e);
return Result.error("data-0",e.getMessage());
} catch (Exception e) {
logger.error("",e);
return Result.error("data-0", "付款取消操作失败");
}
return Result.ok();
} }
@ApiOperation( value = "修改订单的第三方流水号",notes=" ") @ApiOperation( value = "修改订单的第三方流水号",notes=" ")
@ApiResponses({ @ApiResponses({
@ -295,8 +272,6 @@ public class XmTaskBidOrderController {
moOrder.setPrepayId(order.getPrepayId()); moOrder.setPrepayId(order.getPrepayId());
moOrder.setPayTime(new Date()); moOrder.setPayTime(new Date());
xmTaskBidOrderService.updateSomeFieldByPk(moOrder); xmTaskBidOrderService.updateSomeFieldByPk(moOrder);
m.put("tips", tips);
return m;
return Result.ok();
} }
} }

104
xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java

@ -7,7 +7,6 @@ import com.mdp.audit.log.client.annotation.AuditLog;
import com.mdp.audit.log.client.annotation.OperType; import com.mdp.audit.log.client.annotation.OperType;
import com.mdp.core.entity.Result; import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips; import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils; import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.NumberUtil; import com.mdp.core.utils.NumberUtil;
@ -273,24 +272,24 @@ public class XmTaskController {
xmTaskExecuser.setUserid((String)xmTaskMap.get("executorUserid")); xmTaskExecuser.setUserid((String)xmTaskMap.get("executorUserid"));
xmTaskExecuser.setUsername((String)xmTaskMap.get("executorUsername")); xmTaskExecuser.setUsername((String)xmTaskMap.get("executorUsername"));
Map<String,Object> result=execuserController.addXmTaskExecuser(xmTaskExecuser); Map<String,Object> result=execuserController.addXmTaskExecuser(xmTaskExecuser);
Tips tips3= (Tips) result.get("tips");
tips3.put("taskId",id);
if(!tips3.isOk()){
errs.add(tips3);
Tips tips= (Tips) result.get("tips");
tips.put("taskId",id);
if(!tips.isOk()){
errs.add(tips);
}else{ }else{
oks.add(tips3);
oks.add(tips);
} }
} }
Tips returnTips=new Tips();
Tips returnTips=new Tips();
if(errs.size()>0){ if(errs.size()>0){
msg="以下"+errs.size()+"个任务更新不成功:"+errs.stream().map(i->"["+i.get("taskId")+"]"+i.getMsg()).collect(Collectors.joining(";")); msg="以下"+errs.size()+"个任务更新不成功:"+errs.stream().map(i->"["+i.get("taskId")+"]"+i.getMsg()).collect(Collectors.joining(";"));
} }
if(oks.size()>0){ if(oks.size()>0){
msg="成功设置"+oks.size()+"个任务的执行人。"+msg; msg="成功设置"+oks.size()+"个任务的执行人。"+msg;
returnreturn Result.ok(msg);
return Result.ok(msg);
} }
return ResponseHelper.result(returnTips); return ResponseHelper.result(returnTips);
}else if(ids.size()==1){ }else if(ids.size()==1){
@ -338,7 +337,7 @@ public class XmTaskController {
for (String project : projects) { for (String project : projects) {
XmProject xmProject=xmProjectService.getProjectFromCache(project); XmProject xmProject=xmProjectService.getProjectFromCache(project);
projectMap.put(xmProject.getId(),xmProject); projectMap.put(xmProject.getId(),xmProject);
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,createUserid,createUsername,cbranchId);
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,createUserid,createUsername,cbranchId);
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
}; };
@ -357,7 +356,7 @@ public class XmTaskController {
if(groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
can.add(xmTaskDb); can.add(xmTaskDb);
}else{ }else{
Tips tips=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
Tips tips =projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips.isOk()){ if(!tips.isOk()){
no.add(xmTaskDb); no.add(xmTaskDb);
}else{ }else{
@ -378,12 +377,12 @@ public class XmTaskController {
} }
if("1".equals(xmProject.getBudgetCtrl())){ if("1".equals(xmProject.getBudgetCtrl())){
if(taskDb.getLvl()<=1){ if(taskDb.getLvl()<=1){
Tips tips=this.xmTaskService.judgetProjectBudget(taskDb.getProjectId(),budgetAt,Arrays.asList(taskDb.getId()));
Tips tips =this.xmTaskService.judgetProjectBudget(taskDb.getProjectId(),budgetAt,Arrays.asList(taskDb.getId()));
Result.assertIsFalse(tips);
}else { }else {
Tips tips=this.xmTaskService.judgetTaskBudget(taskDb.getParentTaskid(),budgetAt,null,null,null,Arrays.asList(taskDb.getId()));
}
if(!tips.isOk()){
return ResponseHelper.failed(tips);
Tips tips =this.xmTaskService.judgetTaskBudget(taskDb.getParentTaskid(),budgetAt,null,null,null,Arrays.asList(taskDb.getId()));
Result.assertIsFalse(tips);
} }
} }
} }
@ -425,7 +424,7 @@ public class XmTaskController {
String createUsername= (String) xmTaskMap.get("createUsername"); String createUsername= (String) xmTaskMap.get("createUsername");
for (XmTask task : can) { for (XmTask task : can) {
if(!user.getUserid().equals(createUserid) && !"0".equals(task.getStatus())) { if(!user.getUserid().equals(createUserid) && !"0".equals(task.getStatus())) {
notifyMsgService.pushMsg(user, createUserid, createUsername, "2", task.getProjectId(), task.getId(), "您成为任务【" + task.getName() + "】的负责人,请注意跟进。");
notifyMsgService.pushMsg(user, createUserid, createUsername, "您成为任务【" + task.getName() + "】的负责人,请注意跟进。",null);
} }
} }
} }
@ -461,8 +460,8 @@ public class XmTaskController {
public Result shareTaskDetail(@ApiIgnore @RequestParam Map<String,Object> params){ public Result shareTaskDetail(@ApiIgnore @RequestParam Map<String,Object> params){
String id=(String) xmTask.get("id");
String shareKey= (String) xmTask.get("shareKey");
String id=(String) params.get("id");
String shareKey= (String) params.get("shareKey");
if(!StringUtils.hasText(id)){ if(!StringUtils.hasText(id)){
return Result.error("任务编号id必传"); return Result.error("任务编号id必传");
} }
@ -470,8 +469,7 @@ public class XmTaskController {
//return Result.error("分享码shareKey必传"); //return Result.error("分享码shareKey必传");
} }
if(tips.isOk()){
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(xmTask);
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params);
// 检测任务是否可被查询 // 检测任务是否可被查询
if(taskDb==null|| taskDb.isEmpty()){ if(taskDb==null|| taskDb.isEmpty()){
return ResponseHelper.failed("data-0","数据不存在"); return ResponseHelper.failed("data-0","数据不存在");
@ -486,9 +484,7 @@ public class XmTaskController {
return ResponseHelper.failed("toTaskCenter-0","未开放互联网访问权限"); return ResponseHelper.failed("toTaskCenter-0","未开放互联网访问权限");
} }
XmTaskCalcService.putReadNum((String) taskDb.get("id"),1); XmTaskCalcService.putReadNum((String) taskDb.get("id"),1);
m.put("tips", tips);
}
return Result.ok().setData(taskDb);
} }
@ -502,21 +498,19 @@ public class XmTaskController {
public Result taskDetail(@ApiIgnore @RequestParam Map<String,Object> params){ public Result taskDetail(@ApiIgnore @RequestParam Map<String,Object> params){
String id=(String) xmTask.get("id");
String id=(String) params.get("id");
if(!StringUtils.hasText(id)){ if(!StringUtils.hasText(id)){
return Result.error("任务编号id必传"); return Result.error("任务编号id必传");
} }
if(tips.isOk()){
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(xmTask);
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params);
// 检测任务是否可被查询 // 检测任务是否可被查询
if(taskDb==null|| taskDb.isEmpty()){ if(taskDb==null|| taskDb.isEmpty()){
return ResponseHelper.failed("data-0","数据不存在"); return ResponseHelper.failed("data-0","数据不存在");
} }
XmTaskCalcService.putReadNum((String) taskDb.get("id"),1); XmTaskCalcService.putReadNum((String) taskDb.get("id"),1);
m.put("tips", tips);
}
return Result.ok().setData(taskDb);
} }
@ApiOperation( value = "新增一条任务信息",notes="addXmTask,主键如果为空,后台自动生成") @ApiOperation( value = "新增一条任务信息",notes="addXmTask,主键如果为空,后台自动生成")
@ -563,10 +557,8 @@ public class XmTaskController {
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
} }
if(StringUtils.hasText(xmTaskVo.getCreateUserid()) && !xmTaskVo.getCreateUserid().equals(user.getUserid())){ if(StringUtils.hasText(xmTaskVo.getCreateUserid()) && !xmTaskVo.getCreateUserid().equals(user.getUserid())){
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),null);
if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
}
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),null);
Result.assertIsFalse(tips1);
} }
if("1".equals(xmProject.getMenuLink()) && "0".equals(xmTaskVo.getNtype())){ if("1".equals(xmProject.getMenuLink()) && "0".equals(xmTaskVo.getNtype())){
@ -619,10 +611,10 @@ public class XmTaskController {
if("1".equals(xmProject.getBudgetCtrl())){ if("1".equals(xmProject.getBudgetCtrl())){
if(xmTaskVo.getBudgetAt()!=null && xmTaskVo.getBudgetAt().compareTo(BigDecimal.ZERO)>0){ if(xmTaskVo.getBudgetAt()!=null && xmTaskVo.getBudgetAt().compareTo(BigDecimal.ZERO)>0){
if(xmTaskVo.getLvl()<=1){ if(xmTaskVo.getLvl()<=1){
Tips tips=xmTaskService.judgetProjectBudget(xmTaskVo.getProjectId(),xmTaskVo.getBudgetAt(),null);
Tips tips =xmTaskService.judgetProjectBudget(xmTaskVo.getProjectId(),xmTaskVo.getBudgetAt(),null);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
}else{ }else{
Tips tips=xmTaskService.judgetTaskBudget(xmTaskVo.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,null);
Tips tips =xmTaskService.judgetTaskBudget(xmTaskVo.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,null);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
} }
@ -710,7 +702,7 @@ public class XmTaskController {
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
if(xmProject!=null && groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(xmProject!=null && groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
} }
@ -752,7 +744,7 @@ public class XmTaskController {
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
if(!groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(!groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1); return ResponseHelper.failed(tips1);
} }
@ -813,15 +805,16 @@ public class XmTaskController {
excludeIds.add(xmTaskDb.getId()); excludeIds.add(xmTaskDb.getId());
if( "1".equals(xmProject.getBudgetCtrl()) && xmTaskDb.getBudgetAt().compareTo(xmTaskVo.getBudgetAt())!=0){ if( "1".equals(xmProject.getBudgetCtrl()) && xmTaskDb.getBudgetAt().compareTo(xmTaskVo.getBudgetAt())!=0){
if(xmTaskVo.getLvl()<=1){ if(xmTaskVo.getLvl()<=1){
Tips tips=xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(), xmTaskVo.getBudgetAt(),excludeIds);
Tips tips =xmTaskService.judgetProjectBudget(xmTaskDb.getProjectId(), xmTaskVo.getBudgetAt(),excludeIds);
Result.assertIsFalse(tips);
}else if(StringUtils.hasText(xmTaskDb.getParentTaskid())){ }else if(StringUtils.hasText(xmTaskDb.getParentTaskid())){
Tips tips=xmTaskService.judgetTaskBudget(xmTaskDb.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,excludeIds);
Tips tips =xmTaskService.judgetTaskBudget(xmTaskDb.getParentTaskid(), xmTaskVo.getBudgetAt(),null,null,null,excludeIds);
Result.assertIsFalse(tips);
} }
} }
if(tips.isOk()) {
xmTaskService.updateTask(xmTaskVo,xmTaskDb);
}
xmTaskService.updateTask(xmTaskVo,xmTaskDb);
return Result.ok(); return Result.ok();
@ -847,10 +840,8 @@ public class XmTaskController {
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId()); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getExecutorUserid(),xmTaskDb.getExecutorUsername(),null);
if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
}
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getExecutorUserid(),xmTaskDb.getExecutorUsername(),null);
Result.assertIsFalse(tips1);
} }
xmTaskService.updateTime(xmTask,xmTaskDb); xmTaskService.updateTime(xmTask,xmTaskDb);
@ -948,11 +939,10 @@ public class XmTaskController {
totalTaskBudgetAt=totalTaskBudgetAt.add(task.getBudgetAt()); totalTaskBudgetAt=totalTaskBudgetAt.add(task.getBudgetAt());
} }
if("0".equals(batchImportVo.getPtype())&&totalTaskBudgetAt.compareTo(BigDecimal.ZERO)>0){ if("0".equals(batchImportVo.getPtype())&&totalTaskBudgetAt.compareTo(BigDecimal.ZERO)>0){
Tips tips=xmTaskService.judgetProjectBudget(projectId,totalTaskBudgetAt,tasksLvl1.stream().map(i->i.getId()).collect(Collectors.toList()));
Tips tips =xmTaskService.judgetProjectBudget(projectId,totalTaskBudgetAt,tasksLvl1.stream().map(i->i.getId()).collect(Collectors.toList()));
if(!tips.isOk()){ if(!tips.isOk()){
return Result.error(tips.getMsg()+" 相关任务【"+tasksLvl1.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】"); return Result.error(tips.getMsg()+" 相关任务【"+tasksLvl1.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
return ResponseHelper.failed(tips);
}
}
} }
}else{ }else{
List<XmTask> tasks=xmTasks.stream().filter(i->!xmTasks.stream().filter(k->k.getId().equals(i.getParentTaskid())).findAny().isPresent()).collect(Collectors.toList()); List<XmTask> tasks=xmTasks.stream().filter(i->!xmTasks.stream().filter(k->k.getId().equals(i.getParentTaskid())).findAny().isPresent()).collect(Collectors.toList());
@ -966,7 +956,7 @@ public class XmTaskController {
childBudgetAt=childBudgetAt.add(child.getBudgetAt()); childBudgetAt=childBudgetAt.add(child.getBudgetAt());
} }
if(childBudgetAt.compareTo(BigDecimal.ZERO)>0){ if(childBudgetAt.compareTo(BigDecimal.ZERO)>0){
Tips tips= xmTaskService.judgetTaskBudget(pid,childBudgetAt,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList()));
Tips tips = xmTaskService.judgetTaskBudget(pid,childBudgetAt,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList()));
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】"); return ResponseHelper.failed("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
} }
@ -976,8 +966,7 @@ public class XmTaskController {
} }
} }
if(tips.isOk()) {
for (XmTask task : xmTasks) {
for (XmTask task : xmTasks) {
task.setChildrenCnt( Integer.valueOf(xmTasks.stream().filter(i->task.getId().equals(i.getParentTaskid())).count()+"")); task.setChildrenCnt( Integer.valueOf(xmTasks.stream().filter(i->task.getId().equals(i.getParentTaskid())).count()+""));
if(task.getChildrenCnt()>0){ if(task.getChildrenCnt()>0){
task.setNtype("1"); task.setNtype("1");
@ -986,12 +975,11 @@ public class XmTaskController {
task.setNtype("0"); task.setNtype("0");
} }
} }
}
xmTaskService.batchImportFromTemplate(xmTasks); xmTaskService.batchImportFromTemplate(xmTasks);
for (XmTask t : xmTasks) { for (XmTask t : xmTasks) {
if(!user.getUserid().equals(t.getCreateUserid()) && !"0".equals(t.getStatus())) { if(!user.getUserid().equals(t.getCreateUserid()) && !"0".equals(t.getStatus())) {
notifyMsgService.pushMsg(user, t.getCreateUserid(), t.getCreateUsername(), "2", t.getProjectId(), t.getId(), "您成为任务【" + t.getName() + "】的负责人,请注意跟进。");
notifyMsgService.pushMsg(user, t.getCreateUserid(), t.getCreateUsername(), "您成为任务【" + t.getName() + "】的负责人,请注意跟进。",null);
} }
xmRecordService.addXmTaskRecord(t.getProjectId(), t.getId(), "项目-任务-批量新增任务", "新增任务"+t.getName(),"",null); xmRecordService.addXmTaskRecord(t.getProjectId(), t.getId(), "项目-任务-批量新增任务", "新增任务"+t.getName(),"",null);
@ -1145,12 +1133,12 @@ public class XmTaskController {
for (Map.Entry<String, List<XmTask>> pt : projectTasksMap.entrySet()) { for (Map.Entry<String, List<XmTask>> pt : projectTasksMap.entrySet()) {
XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(pt.getKey()); XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(pt.getKey());
Tips tips1=projectQxService.checkProjectQx(xmProjectDb,0,user);
Tips tips1=projectQxService.checkProjectQx(xmProjectDb,0,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
noAllowTasks.addAll(pt.getValue()); noAllowTasks.addAll(pt.getValue());
}else{ }else{
for (XmTask xmTask : pt.getValue()) { for (XmTask xmTask : pt.getValue()) {
tips1=projectQxService.checkProjectQx(xmProjectDb,0,user, xmTask.getCreateUserid(),xmTask.getCreateUsername(),xmTask.getCbranchId());
tips1=projectQxService.checkProjectQx(xmProjectDb,0,user, xmTask.getCreateUserid(),xmTask.getCreateUsername(),xmTask.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
noAllowTasks.add(xmTask); noAllowTasks.add(xmTask);
} }
@ -1213,7 +1201,7 @@ public class XmTaskController {
String projectId=xmTaskDb.getProjectId(); String projectId=xmTaskDb.getProjectId();
XmProject xmProject=xmProjectService.getProjectFromCache(projectId); XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
tips=projectQxService.checkProjectQx(xmProject,2,user);
Tips tips=projectQxService.checkProjectQx(xmProject,2,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
} }
@ -1230,7 +1218,7 @@ public class XmTaskController {
canOper.addAll(delNodesDbMap.values()); canOper.addAll(delNodesDbMap.values());
}else{ }else{
for (XmTask node : delNodesDbMap.values()) { for (XmTask node : delNodesDbMap.values()) {
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,node.getCreateUserid(),node.getCreateUsername(),node.getCbranchId());
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,node.getCreateUserid(),node.getCreateUsername(),node.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
noOper.add(node); noOper.add(node);
noTipsMap.put(tips1.getMsg(),tips1); noTipsMap.put(tips1.getMsg(),tips1);

11
xm-core/src/main/java/com/xm/core/ctrl/XmTaskEvalController.java

@ -88,7 +88,7 @@ public class XmTaskEvalController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getServiceProviderEval(user); //列出XmTaskEval列表 MyTotalEval myTotalEval = xmTaskEvalService.getServiceProviderEval(user); //列出XmTaskEval列表
return Result.ok().setData(myTotalEval);
} }
@ -102,8 +102,9 @@ public class XmTaskEvalController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getPersonEval(user); //列出XmTaskEval列表 MyTotalEval myTotalEval = xmTaskEvalService.getPersonEval(user); //列出XmTaskEval列表
return Result.ok().setData(myTotalEval);
} }
@ApiOperation( value = "新增一条xm_task_eval信息",notes=" ") @ApiOperation( value = "新增一条xm_task_eval信息",notes=" ")
@ApiResponses({ @ApiResponses({
@ -146,7 +147,7 @@ public class XmTaskEvalController {
xmTaskEval.setToUsername(toUser.getUsername()); xmTaskEval.setToUsername(toUser.getUsername());
xmTaskEval.setToBranchId(toUser.getBranchId()); xmTaskEval.setToBranchId(toUser.getBranchId());
xmTaskEvalService.insert(xmTaskEval); xmTaskEvalService.insert(xmTaskEval);
return Result.ok();
return Result.ok().setData(xmTaskEval);
} }
@ApiOperation( value = "删除一条xm_task_eval信息",notes=" ") @ApiOperation( value = "删除一条xm_task_eval信息",notes=" ")
@ -221,7 +222,7 @@ public class XmTaskEvalController {
List<XmTaskEval> no=new ArrayList<>(); List<XmTaskEval> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmTaskEval xmTaskEvalDb : xmTaskEvalsDb) { for (XmTaskEval xmTaskEvalDb : xmTaskEvalsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTaskEvalDb); no.add(xmTaskEvalDb);
}else{ }else{

16
xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java

@ -190,7 +190,7 @@ public class XmTaskExecuserController {
if("1".equals(xmTaskDb.getCrowd())){ if("1".equals(xmTaskDb.getCrowd())){
Map<String,Object> result=sysClient.checkUserInterests(xmTaskExecuser.getUserid(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1); Map<String,Object> result=sysClient.checkUserInterests(xmTaskExecuser.getUserid(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1);
Tips tips2= (Tips) result.get("tips");
Tips tips2= (Tips) result.get("tips");
if(!tips2.isOk()){ if(!tips2.isOk()){
return ResponseHelper.failed(tips2); return ResponseHelper.failed(tips2);
} }
@ -204,7 +204,7 @@ public class XmTaskExecuserController {
xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人 xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人
}else { }else {
//如果不是众包需要判断是否已加入项目组组织架构中如未加入需要提示其先加入 //如果不是众包需要判断是否已加入项目组组织架构中如未加入需要提示其先加入
Tips tips=projectQxService.checkProjectQx(xmProjectDb,0,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Tips tips =projectQxService.checkProjectQx(xmProjectDb,0,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
//检查是否已经存在执行人 //检查是否已经存在执行人
XmTaskExecuser query=new XmTaskExecuser(); XmTaskExecuser query=new XmTaskExecuser();
@ -262,7 +262,7 @@ public class XmTaskExecuserController {
break; break;
} }
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {//只有组长任务责任人可以请别人请离开任务 if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {//只有组长任务责任人可以请别人请离开任务
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(xmTask.getProjectId()),2, user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Tips tips =projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(xmTask.getProjectId()),2, user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername()); allowUserNames.add(xmTaskExecuser.getUsername());
@ -403,7 +403,7 @@ public class XmTaskExecuserController {
boolean needPay=false; boolean needPay=false;
if("1".equals(xmTaskDb.getCrowd())){ if("1".equals(xmTaskDb.getCrowd())){
boolean isTaskCreater=user.getUserid().equals(xmTaskDb.getCreateUserid()); boolean isTaskCreater=user.getUserid().equals(xmTaskDb.getCreateUserid());
Tips tips1=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),projectId);
Tips tips1=groupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),projectId);
if( !isTaskCreater && !tips1.isOk() ) { if( !isTaskCreater && !tips1.isOk() ) {
return Result.error("您无权验收该任务!"); return Result.error("您无权验收该任务!");
return ResponseHelper.failed(tips); return ResponseHelper.failed(tips);
@ -418,7 +418,7 @@ public class XmTaskExecuserController {
if(needPay){ if(needPay){
//XmTaskExecuser xmTaskExecuserDb=this.xmTaskExecuserService.selectOneById(map("taskId",xmTaskDb.getId(),"userid",xmTaskDb.getExecutorUserid())); //XmTaskExecuser xmTaskExecuserDb=this.xmTaskExecuserService.selectOneById(map("taskId",xmTaskDb.getId(),"userid",xmTaskDb.getExecutorUserid()));
//调用ac系统付款给服务商 //调用ac系统付款给服务商
Tips payTips=acClient.platformBalancePayToClient(xmTaskDb.getExecutorUserid(),"3","1",xmTaskDb.getId(),xmTaskDb.getQuoteFinalAt(),"任务【"+xmTaskDb.getName()+"】验收完毕,发放佣金.");
Tips tips payTips=acClient.platformBalancePayToClient(xmTaskDb.getExecutorUserid(),"3","1",xmTaskDb.getId(),xmTaskDb.getQuoteFinalAt(),"任务【"+xmTaskDb.getName()+"】验收完毕,发放佣金.");
if(payTips.isOk()){ if(payTips.isOk()){
xmTaskUpdate.setEtoDevTime(new Date()); xmTaskUpdate.setEtoDevTime(new Date());
xmTaskUpdate.setBidStep("7"); xmTaskUpdate.setBidStep("7");
@ -474,7 +474,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId() );
Tips tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId() );
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskExecuser.getTaskId(),xmTaskExecuser.getUserid())); XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskExecuser.getTaskId(),xmTaskExecuser.getUserid()));
@ -510,7 +510,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId(); String projectId=xmTaskExecuser.getProjectId();
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Tips tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
@ -543,7 +543,7 @@ public class XmTaskExecuserController {
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskDb.getId(),xmTaskExecuser.getUserid())); XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskDb.getId(),xmTaskExecuser.getUserid()));
if(xmTaskExecuserDb !=null ) { if(xmTaskExecuserDb !=null ) {
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) { if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuserDb.getUserid(),xmTaskExecuserDb.getUsername(),xmTaskExecuserDb.getExecUserBranchId());
Tips tips =projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuserDb.getUserid(),xmTaskExecuserDb.getUsername(),xmTaskExecuserDb.getExecUserBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
if( "0".equals( xmTaskExecuserDb.getStatus() ) || "7".equals( xmTaskExecuserDb.getStatus() ) || "8".equals( xmTaskExecuserDb.getStatus() ) ) { if( "0".equals( xmTaskExecuserDb.getStatus() ) || "7".equals( xmTaskExecuserDb.getStatus() ) || "8".equals( xmTaskExecuserDb.getStatus() ) ) {

2
xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java

@ -334,7 +334,7 @@ public class XmTaskOrderController {
List<XmTaskOrder> no=new ArrayList<>(); List<XmTaskOrder> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmTaskOrder xmTaskOrderDb : xmTaskOrdersDb) { for (XmTaskOrder xmTaskOrderDb : xmTaskOrdersDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTaskOrderDb); no.add(xmTaskOrderDb);
}else{ }else{

2
xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java

@ -324,7 +324,7 @@ public class XmTaskSbillController {
xmTaskSbillService.batchDelete(xmTaskSbills); xmTaskSbillService.batchDelete(xmTaskSbills);
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e); logger.error("",e);
}catch (Exception e) { }catch (Exception e) {
return Result.error(e.getMessage()); return Result.error(e.getMessage());

2
xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillDetailController.java

@ -243,7 +243,7 @@ public class XmTaskSbillDetailController {
List<XmTaskSbillDetail> no=new ArrayList<>(); List<XmTaskSbillDetail> no=new ArrayList<>();
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
for (XmTaskSbillDetail xmTaskSbillDetailDb : xmTaskSbillDetailsDb) { for (XmTaskSbillDetail xmTaskSbillDetailDb : xmTaskSbillDetailsDb) {
Tips tips2 = new Tips("检查通过");
Tips tips2 = new Tips("检查通过");
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTaskSbillDetailDb); no.add(xmTaskSbillDetailDb);
}else{ }else{

10
xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java

@ -177,7 +177,7 @@ public class XmTestCaseController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),xmTestCaseDb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),xmTestCaseDb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestCaseService.deleteByPk(xmTestCase); xmTestCaseService.deleteByPk(xmTestCase);
@ -203,7 +203,7 @@ public class XmTestCaseController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null);
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
@ -258,7 +258,7 @@ public class XmTestCaseController {
} }
XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb2.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb2.getProductId());
if( StringUtils.hasText(xmTestCase.getCuserid()) ){ if( StringUtils.hasText(xmTestCase.getCuserid()) ){
Tips tips=this.productQxService.checkProductQx(xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),null);
Tips tips =this.productQxService.checkProductQx(xmProductDb,1,user,xmTestCase.getCuserid(),xmTestCase.getCusername(),null);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
@ -266,7 +266,7 @@ public class XmTestCaseController {
can=xmTestCasesDb; can=xmTestCasesDb;
}else{ }else{
for (XmTestCase xmTestCaseDb : xmTestCasesDb) { for (XmTestCase xmTestCaseDb : xmTestCasesDb) {
Tips tips2 = productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null);
Tips tips 2 = productQxService.checkProductQx(xmProductDb,1,user,xmTestCaseDb.getCuserid(),xmTestCaseDb.getCusername(),null);
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTestCaseDb); no.add(xmTestCaseDb);
noTipsMap.put(tips2.getMsg(),tips2); noTipsMap.put(tips2.getMsg(),tips2);
@ -323,7 +323,7 @@ public class XmTestCaseController {
can=datasDb; can=datasDb;
}else { }else {
for (XmTestCase data : datasDb) { for (XmTestCase data : datasDb) {
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
if(tips.isOk()){ if(tips.isOk()){
can.add(data); can.add(data);
}else { }else {

14
xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java

@ -109,7 +109,7 @@ public class XmTestCasedbController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestCasedb.setPbranchId(xmProductDb.getBranchId()); xmTestCasedb.setPbranchId(xmProductDb.getBranchId());
@ -139,7 +139,7 @@ public class XmTestCasedbController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestCasedbService.deleteByPk(xmTestCasedb); xmTestCasedbService.deleteByPk(xmTestCasedb);
@ -166,11 +166,11 @@ public class XmTestCasedbController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(StringUtils.hasText(xmTestCasedb.getCuserid())){ if(StringUtils.hasText(xmTestCasedb.getCuserid())){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId());
Tips tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedbDb.getCuserid(),xmTestCasedbDb.getCusername(),xmTestCasedbDb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestCasedbService.updateSomeFieldByPk(xmTestCasedb); xmTestCasedbService.updateSomeFieldByPk(xmTestCasedb);
@ -216,7 +216,7 @@ public class XmTestCasedbController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
if(StringUtils.hasText(xmTestCasedb.getCuserid())){ if(StringUtils.hasText(xmTestCasedb.getCuserid())){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestCasedb.getCuserid(),xmTestCasedb.getCusername(),xmTestCasedb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
@ -228,7 +228,7 @@ public class XmTestCasedbController {
can=xmTestCasedbsDb; can=xmTestCasedbsDb;
}else { }else {
for (XmTestCasedb data : xmTestCasedbsDb) { for (XmTestCasedb data : xmTestCasedbsDb) {
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
if(!tips.isOk()){ if(!tips.isOk()){
no.add(data); no.add(data);
noTips.add(tips.getMsg()); noTips.add(tips.getMsg());
@ -288,7 +288,7 @@ public class XmTestCasedbController {
can=datasDb; can=datasDb;
}else { }else {
for (XmTestCasedb data : datasDb) { for (XmTestCasedb data : datasDb) {
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,data.getCuserid(),data.getCusername(),data.getCbranchId());
if(!tips.isOk()){ if(!tips.isOk()){
no.add(data); no.add(data);
noTips.add(tips.getMsg()); noTips.add(tips.getMsg());

18
xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java

@ -286,10 +286,8 @@ public class XmTestPlanCaseController {
return Result.error("product-not-exists","产品已不存在"); return Result.error("product-not-exists","产品已不存在");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
tips=productQxService.checkProductQx(xmProductDb,1,user);
if(!tips.isOk()){
return Result.error(tips);
}
Tips tips=productQxService.checkProductQx(xmProductDb,1,user);
Result.assertIsFalse(tips);
xmTestPlanCaseService.updateSomeFieldByPk(xmTestPlanCase); xmTestPlanCaseService.updateSomeFieldByPk(xmTestPlanCase);
} }
@ -344,19 +342,17 @@ public class XmTestPlanCaseController {
return Result.error("product-not-exists","产品已不存在"); return Result.error("product-not-exists","产品已不存在");
} }
if(StringUtils.hasText(xmTestPlanCase.getExecUserid())){ if(StringUtils.hasText(xmTestPlanCase.getExecUserid())){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanCase.getExecUserid(),xmTestPlanCase.getExecUsername(),null);
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanCase.getExecUserid(),xmTestPlanCase.getExecUsername(),null);
}else { }else {
Tips tips=productQxService.checkProductQx(xmProductDb,1,user);
}
if(!tips.isOk()){
return Result.error(tips);
Tips tips =productQxService.checkProductQx(xmProductDb,1,user);
} }
Result.assertIsFalse(tips);
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(isPm){ if(isPm){
can=xmTestPlanCasesDb; can=xmTestPlanCasesDb;
}else { }else {
for (XmTestPlanCase pcDb : xmTestPlanCasesDb) { for (XmTestPlanCase pcDb : xmTestPlanCasesDb) {
Tips tips2 = productQxService.checkProductQx(xmProductDb, 1, user, pcDb.getExecUserid(), pcDb.getExecUsername(), null);
Tips tips 2 = productQxService.checkProductQx(xmProductDb, 1, user, pcDb.getExecUserid(), pcDb.getExecUsername(), null);
if (!tips2.isOk()) { if (!tips2.isOk()) {
no.add(xmTestPlanCaseDb); no.add(xmTestPlanCaseDb);
noTipsSet.add(tips2.getMsg()); noTipsSet.add(tips2.getMsg());
@ -416,7 +412,7 @@ public class XmTestPlanCaseController {
can=datasDb; can=datasDb;
}else { }else {
for (XmTestPlanCase pcDb : datasDb) { for (XmTestPlanCase pcDb : datasDb) {
Tips tips1=productQxService.checkProductQx(xmProductDb,1,user,pcDb.getExecUserid(),pcDb.getExecUsername(),null);
Tips tips1=productQxService.checkProductQx(xmProductDb,1,user,pcDb.getExecUserid(),pcDb.getExecUsername(),null);
if(tips1.isOk()){ if(tips1.isOk()){
can.add(pcDb); can.add(pcDb);
}else{ }else{

12
xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java

@ -133,7 +133,7 @@ public class XmTestPlanController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlan.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestPlan.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestPlan.setPbranchId(xmProductDb.getBranchId()); xmTestPlan.setPbranchId(xmProductDb.getBranchId());
@ -164,7 +164,7 @@ public class XmTestPlanController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestPlanService.deleteByPk(xmTestPlan); xmTestPlanService.deleteByPk(xmTestPlan);
@ -192,7 +192,7 @@ public class XmTestPlanController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
if(!isPm){ if(!isPm){
Tips tips=productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Tips tips =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
xmTestPlanService.updateSomeFieldByPk(xmTestPlan); xmTestPlanService.updateSomeFieldByPk(xmTestPlan);
@ -237,7 +237,7 @@ public class XmTestPlanController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb2.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb2.getProductId());
if(StringUtils.hasText(xmTestPlan.getCuserid())){ if(StringUtils.hasText(xmTestPlan.getCuserid())){
Tips tips=this.productQxService.checkProductQx(xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId());
Tips tips =this.productQxService.checkProductQx(xmProductDb,1,user,xmTestPlan.getCuserid(),xmTestPlan.getCusername(),xmTestPlan.getCbranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
} }
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid()); boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
@ -248,7 +248,7 @@ public class XmTestPlanController {
can=xmTestPlansDb; can=xmTestPlansDb;
}else { }else {
for (XmTestPlan xmTestPlanDb : xmTestPlansDb) { for (XmTestPlan xmTestPlanDb : xmTestPlansDb) {
Tips tips2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Tips tips 2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTestPlanDb); no.add(xmTestPlanDb);
noTips.add(tips2.getMsg()); noTips.add(tips2.getMsg());
@ -303,7 +303,7 @@ public class XmTestPlanController {
can=datasDb; can=datasDb;
}else { }else {
for (XmTestPlan xmTestPlanDb : datasDb) { for (XmTestPlan xmTestPlanDb : datasDb) {
Tips tips2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
Tips tips 2 =productQxService.checkProductQx(xmProductDb,1,user,xmTestPlanDb.getCuserid(),xmTestPlanDb.getCusername(),xmTestPlanDb.getCbranchId());
if(!tips2.isOk()){ if(!tips2.isOk()){
no.add(xmTestPlanDb); no.add(xmTestPlanDb);
noTips.add(tips2.getMsg()); noTips.add(tips2.getMsg());

10
xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java

@ -287,7 +287,7 @@ public class XmWorkloadController {
} }
//待他人报工需要检查我的权限需要项目管理人员才有权限代他人报工 //待他人报工需要检查我的权限需要项目管理人员才有权限代他人报工
if(!xmWorkload.getUserid().equals(user.getUserid())){ if(!xmWorkload.getUserid().equals(user.getUserid())){
Tips tips3=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
Tips tips 3=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
if(!tips3.isOk()){ if(!tips3.isOk()){
return Result.error("no-qx-for-oth-user","无权限代他人报工。只有项目管理人员可以代他人报工。"); return Result.error("no-qx-for-oth-user","无权限代他人报工。只有项目管理人员可以代他人报工。");
} }
@ -419,9 +419,9 @@ public class XmWorkloadController {
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){ if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){
Tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
Tips tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
if(!isCreate.isOk()){ if(!isCreate.isOk()){
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){ if(!isExec.isOk()){
return Result.error("noqx-0","你无权针对该业务进行报工"); return Result.error("noqx-0","你无权针对该业务进行报工");
} }
@ -461,9 +461,9 @@ public class XmWorkloadController {
Set<String> xmMenuIds=new HashSet<>(); Set<String> xmMenuIds=new HashSet<>();
for (XmTask xmTaskDb : tasksDb) { for (XmTask xmTaskDb : tasksDb) {
if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){ if(!(user.getUserid().equals(xmTaskDb.getCreateUserid())|| user.getUserid().equals(xmTaskDb.getExecutorUserid()))){
Tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
Tips tips isCreate=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getCreateUserid(),xmTaskDb.getProjectId());
if(!isCreate.isOk()){ if(!isCreate.isOk()){
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){ if(!isExec.isOk()){
break; break;
} }

8
xm-core/src/main/java/com/xm/core/mapper/XmBranchStateMapper.java

@ -3,12 +3,11 @@ package com.xm.core.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xm.core.entity.XmBranchState;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.xm.core.entity.XmBranchState;
/** /**
* @author maimeng-mdp code-gen * @author maimeng-mdp code-gen
* @since 2023-10-3 * @since 2023-10-3
@ -24,5 +23,10 @@ public interface XmBranchStateMapper extends BaseMapper<XmBranchState> {
*/ */
List<Map<String,Object>> selectListMapByWhere(IPage page, @Param("ew") QueryWrapper ew,@Param("ext") Map<String,Object> ext); List<Map<String,Object>> selectListMapByWhere(IPage page, @Param("ew") QueryWrapper ew,@Param("ext") Map<String,Object> ext);
List<Map<String, Object>> listPortalAllXmBranchSumState(IPage page, QueryWrapper<XmBranchState> qw, Map<String, Object> params);
List<Map<String, Object>> taskSunDw(String userid);
void loadProjectStateToXmBranchState(String branchId);
} }

2
xm-core/src/main/java/com/xm/core/mapper/XmMenuCommentMapper.java

@ -28,5 +28,7 @@ public interface XmMenuCommentMapper extends BaseMapper<XmMenuComment> {
void unShowComment(String[] ids); void unShowComment(String[] ids);
void updateChildrenSum(Map<String, Object> map); void updateChildrenSum(Map<String, Object> map);
void praiseComment(XmMenuComment xmMenuComment);
} }

25
xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java

@ -2,18 +2,15 @@ package com.xm.core.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.service.BaseService;
import com.xm.core.entity.XmBranchState;
import com.xm.core.mapper.XmBranchStateMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mdp.core.service.BaseService;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.xm.core.entity.XmBranchState;
import com.xm.core.mapper.XmBranchStateMapper;
import java.util.List;
import java.util.Map;
/** /**
* @author maimeng-mdp code-gen * @author maimeng-mdp code-gen
* @since 2023-10-3 * @since 2023-10-3
@ -32,5 +29,17 @@ public class XmBranchStateService extends BaseService<XmBranchStateMapper,XmBran
public List<Map<String,Object>> selectListMapByWhere(IPage page, QueryWrapper ew, Map<String,Object> ext){ public List<Map<String,Object>> selectListMapByWhere(IPage page, QueryWrapper ew, Map<String,Object> ext){
return baseMapper.selectListMapByWhere(page,ew,ext); return baseMapper.selectListMapByWhere(page,ew,ext);
} }
public List<Map<String, Object>> listPortalAllXmBranchSumState(IPage page, QueryWrapper<XmBranchState> qw, Map<String, Object> params) {
return baseMapper.listPortalAllXmBranchSumState(page,qw,params);
}
public List<Map<String, Object>> tasksSumDw(String userid) {
return baseMapper.taskSunDw(userid);
}
public void loadProjectStateToXmBranchState(String branchId) {
baseMapper.loadProjectStateToXmBranchState(branchId);
}
} }

14
xm-core/src/main/java/com/xm/core/service/XmGroupService.java

@ -697,17 +697,17 @@ public class XmGroupService extends BaseService<XmGroupMapper,XmGroup> {
if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){
if(!proUsersMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){ if(!proUsersMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){
tips.setFailureMsg("no-qx-change-pro-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-pro-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。");
} }
} }
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
if(!proUsersMap.containsKey(user.getUserid())){ if(!proUsersMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-pro-g-leaderUserid","您无权限修改小组组长.产品级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-pro-g-leaderUserid","您无权限修改小组组长.产品级助理及以上人员可以修改。");
} }
} }
if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){ if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){
if(!proUsersMap.containsKey(user.getUserid())){ if(!proUsersMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-g-pgroupId","您无权限修改小组归属上级单位.产品级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-g-pgroupId","您无权限修改小组归属上级单位.产品级助理及以上人员可以修改。");
} }
} }
return tips; return tips;
@ -731,25 +731,25 @@ public class XmGroupService extends BaseService<XmGroupMapper,XmGroup> {
Map<String,String> pmUserMap=this.getProjectAdmUsers(xmProject); Map<String,String> pmUserMap=this.getProjectAdmUsers(xmProject);
if(!pmUserMap.containsKey(user.getUserid())){ if(!pmUserMap.containsKey(user.getUserid())){
if(!user.getUserid().equals(groupDb.getLeaderUserid()) && !user.getUserid().equals(groupDb.getAssUserid())){ if(!user.getUserid().equals(groupDb.getLeaderUserid()) && !user.getUserid().equals(groupDb.getAssUserid())){
tips.setFailureMsg("not-prj-group-adm-user","您无权修改小组信息。 组长助理及以上人员有权限修改。");
Tips tips.setFailureMsg("not-prj-group-adm-user","您无权修改小组信息。 组长助理及以上人员有权限修改。");
return tips; return tips;
} }
} }
if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){ if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){
if(!pmUserMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){ if(!pmUserMap.containsKey(user.getUserid()) && !user.getUserid().equals(groupDb.getLeaderUserid())){
tips.setFailureMsg("no-qx-change-prj-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-prj-g-assUserid","您无权限修改小组助理.组长及以上人员可以修改。");
return tips; return tips;
} }
} }
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
if(!pmUserMap.containsKey(user.getUserid())){ if(!pmUserMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-prj-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-prj-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。");
return tips; return tips;
} }
} }
if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){ if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){
if(!pmUserMap.containsKey(user.getUserid())){ if(!pmUserMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-prj-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-prj-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。");
return tips; return tips;
} }
} }

10
xm-core/src/main/java/com/xm/core/service/XmIterationService.java

@ -1,5 +1,7 @@
package com.xm.core.service; package com.xm.core.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdp.core.service.BaseService; import com.mdp.core.service.BaseService;
import com.xm.core.entity.XmIteration; import com.xm.core.entity.XmIteration;
import com.xm.core.mapper.XmIterationMapper; import com.xm.core.mapper.XmIterationMapper;
@ -20,7 +22,13 @@ public class XmIterationService extends BaseService<XmIterationMapper, XmIterati
/**
* 连同功能关联的状态数据一起带出
* @return
*/
public List<Map<String, Object>> selectListMapByWhere(IPage page, QueryWrapper qw, Map<String, Object> params) {
return baseMapper.selectListMapByWhere( page,qw,params);
}
/** /**
* 调用存储过程计算指定迭代的任务预算数据 * 调用存储过程计算指定迭代的任务预算数据

8
xm-core/src/main/java/com/xm/core/service/XmMenuCommentService.java

@ -42,5 +42,13 @@ public class XmMenuCommentService extends BaseService<XmMenuCommentMapper, XmMen
public void updateChildrenSum(String pid,Integer addCount) { public void updateChildrenSum(String pid,Integer addCount) {
baseMapper.updateChildrenSum(map("pid",pid,"addCount",addCount)); baseMapper.updateChildrenSum(map("pid",pid,"addCount",addCount));
} }
public List<XmMenuComment> selectListByPids(List<String> ids) {
return super.listByIds(ids);
}
public void praiseComment(XmMenuComment xmMenuComment) {
baseMapper.praiseComment(xmMenuComment);
}
} }

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

@ -96,7 +96,6 @@ public class XmProductService extends BaseService<XmProductMapper,XmProduct> {
* @return * @return
*/ */
public List<Map<String, Object>> selectListMapByWhereWithState(Map<String, Object> iterationMap) { public List<Map<String, Object>> selectListMapByWhereWithState(Map<String, Object> iterationMap) {
// TODO Auto-generated method stub
return baseMapper.selectListMapByWhereWithState( iterationMap); return baseMapper.selectListMapByWhereWithState( iterationMap);
} }

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

@ -30,5 +30,6 @@ public class XmProductStateHisService extends BaseService<XmProductStateHisMappe
public List<Map<String,Object>> selectListMapByWhere(IPage page, QueryWrapper ew, Map<String,Object> ext){ public List<Map<String,Object>> selectListMapByWhere(IPage page, QueryWrapper ew, Map<String,Object> ext){
return baseMapper.selectListMapByWhere(page,ew,ext); return baseMapper.selectListMapByWhere(page,ew,ext);
} }
} }
Loading…
Cancel
Save