陈裕财 2 years ago
parent
commit
6045f64c72
  1. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmBranchStateController.java
  2. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java
  3. 13
      xm-core/src/main/java/com/xm/core/ctrl/XmFuncController.java
  4. 40
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java
  5. 50
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationController.java
  6. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java
  7. 218
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuCommentController.java
  8. 99
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java
  9. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuStateController.java
  10. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmMyFocusController.java
  11. 102
      xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java
  12. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmProductProjectLinkController.java
  13. 93
      xm-core/src/main/java/com/xm/core/ctrl/XmProductStateHisController.java
  14. 136
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectContractController.java
  15. 37
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectController.java
  16. 11
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectKpiController.java
  17. 7
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectStateController.java
  18. 170
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectTaskTypeStateController.java
  19. 55
      xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java
  20. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmRptConfigController.java
  21. 35
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java
  22. 78
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  23. 5
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskEvalController.java
  24. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  25. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java
  26. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmTestCaseController.java
  27. 14
      xm-core/src/main/java/com/xm/core/ctrl/XmTestCasedbController.java
  28. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java
  29. 12
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanController.java
  30. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java
  31. 8
      xm-core/src/main/java/com/xm/core/mapper/XmBranchStateMapper.java
  32. 2
      xm-core/src/main/java/com/xm/core/mapper/XmMenuCommentMapper.java
  33. 25
      xm-core/src/main/java/com/xm/core/service/XmBranchStateService.java
  34. 14
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java
  35. 10
      xm-core/src/main/java/com/xm/core/service/XmIterationService.java
  36. 8
      xm-core/src/main/java/com/xm/core/service/XmMenuCommentService.java
  37. 1
      xm-core/src/main/java/com/xm/core/service/XmProductService.java
  38. 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.metadata.IPage;
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.utils.RequestUtils;
import com.mdp.mybatis.PageUtils;
import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams;
@ -21,7 +18,6 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -138,7 +134,7 @@ public class XmBranchStateController {
xmBranchStateService.insert(xmBranchState);
m.put("data",xmBranchState);
}catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
return Result.error(e.getMessage());
@ -161,7 +157,7 @@ public class XmBranchStateController {
xmBranchStateService.deleteByPk(xmBranchState);
}catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
return Result.error(e.getMessage());
@ -185,7 +181,7 @@ public class XmBranchStateController {
xmBranchStateService.updateByPk(xmBranchState);
m.put("data",xmBranchState);
}catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
return Result.error(e.getMessage());
@ -210,7 +206,7 @@ public class XmBranchStateController {
xmBranchStateService.batchDelete(xmBranchStates);
}catch (BizException e) {
tips=e.getTips();
Tips tips=e.getTips();
logger.error("",e);
}catch (Exception e) {
return Result.error(e.getMessage());

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()+"】,无权更改");
}
}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()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
}
@ -173,7 +173,7 @@ public class XmEnvListController {
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
}
}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()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
}

13
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.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.utils.RequestUtils;
import com.mdp.safe.client.entity.User;
@ -28,8 +27,8 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.*;
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>
@ -78,7 +77,7 @@ public class XmFuncController {
RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(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列表
}
@ -116,7 +115,7 @@ public class XmFuncController {
xmFunc.setPbranchId(xmProduct.getBranchId());
xmFuncService.parentIdPathsCalcBeforeSave(xmFunc);
xmFuncService.insert(xmFunc);
return Result.ok();
}
@ApiOperation( value = "删除一条功能模块表信息",notes=" ")
@ -133,7 +132,7 @@ public class XmFuncController {
if( xmFuncDb == null ){
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){
return Result.error("childcnt-not-0","至少还有"+childcnt+"个子节点,请先删除子节点,再删除父节点");
}
@ -157,7 +156,7 @@ public class XmFuncController {
return Result.error("data-not-exists","数据不存在,无法修改");
}
xmFuncService.updateSomeFieldByPk(xmFunc);
return Result.ok();
}
@ApiOperation( value = "批量修改某些字段",notes="")

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());
boolean isPm=xmGroupService.checkUserIsProjectAdm(project, user.getUserid());
if(!isPm){
tips = projectQxService.checkProjectQx(project,0,user);
Tips tips = projectQxService.checkProjectQx(project,0,user);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
}
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()){
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()){
return ResponseHelper.failed(tips);
}
}
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()){
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()){
return ResponseHelper.failed(tips);
}
@ -137,27 +137,27 @@ public class XmGroupController {
XmProduct product=xmProductService.getProductFromCache(groupDb.getProductId());
boolean isPm=xmGroupService.checkUserIsProductAdm(product, user.getUserid());
if(!isPm){
tips = productQxService.checkProductQx(product,0,user);
Tips tips = productQxService.checkProductQx(product,0,user);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
}
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()){
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()){
return ResponseHelper.failed(tips);
}
}
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()){
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()){
return ResponseHelper.failed(tips);
}
@ -268,11 +268,11 @@ public class XmGroupController {
if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
Tips tips=this.xmGroupService.checkProjectStatus(project);
Tips tips =this.xmGroupService.checkProjectStatus(project);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
Tips tips=checkProjectGroupQxForAdd(project,u,xmGroup);
Tips tips =checkProjectGroupQxForAdd(project,u,xmGroup);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
@ -287,11 +287,11 @@ public class XmGroupController {
if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
Tips tips=this.xmGroupService.checkProductStatus(xmProduct);
Tips tips =this.xmGroupService.checkProductStatus(xmProduct);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
Tips tips=checkProductGroupQxForAdd(xmProduct,u,xmGroup);
Tips tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
@ -338,13 +338,13 @@ public class XmGroupController {
return tips;
}
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()){
return tips;
}
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;
}
@ -358,13 +358,13 @@ public class XmGroupController {
return tips;
}
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()){
return tips;
}
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;
}
@ -391,7 +391,7 @@ public class XmGroupController {
}
boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid());
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()){
return ResponseHelper.failed(tips);
}
@ -403,7 +403,7 @@ public class XmGroupController {
}
boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid());
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()){
return ResponseHelper.failed(tips);
}

50
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.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.utils.BaseUtils;
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.sensitive.SensitiveWordService;
import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmIteration;
import com.xm.core.entity.XmProduct;
import com.xm.core.service.*;
@ -31,7 +29,6 @@ import java.util.*;
import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.fromMap;
import static com.mdp.core.utils.ResponseHelper.failed;
/**
* url编制采用rest风格,如对XM.xm_iteration 迭代定义的操作有增删改查,对应的url分别为:<br>
@ -203,11 +200,8 @@ public class XmIterationController {
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);
}
Tips tips=productQxService.checkProductQx(xmProductDb,3,user);
Result.assertIsFalse(tips);
xmIteration.setBranchId(xmProductDb.getBranchId());
if(!StringUtils.hasText(xmIteration.getAdminUserid())){
@ -217,19 +211,17 @@ public class XmIterationController {
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);
}
Result.assertIsFalse(tips);
}
}
notifyMsgService.pushMsg(user,xmIteration.getAdminUserid(),xmIteration.getAdminUsername(),"6",xmIteration.getProductId(),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());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
@ -286,14 +278,14 @@ public class XmIterationController {
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);
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="")
@ -344,17 +336,15 @@ public class XmIterationController {
String adminUserid= (String) xmIterationMap.get("adminUserid");
String adminUsername= (String) xmIterationMap.get("adminUsername");
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());
for (XmIteration iterationDb2 : xmIterationsDb) {
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()){
no.add(iterationDb2);
noTipsMap.put(tips.getMsg(),tips);
@ -373,7 +363,7 @@ public class XmIterationController {
String adminUsername= (String) xmIterationMap.get("adminUsername");
if(StringUtils.hasText(adminUserid)){
for (XmIteration iteration : can) {
notifyMsgService.pushMsg(user,adminUserid,adminUsername,"6",iteration.getProductId(),iteration.getId(),"您成为迭代【"+iteration.getIterationName()+"】管理员,请及时跟进。");
notifyMsgService.pushMsg(user,adminUserid,adminUsername,"您成为迭代【"+iteration.getIterationName()+"】管理员,请及时跟进。",null);
}
}
@ -415,20 +405,4 @@ public class XmIterationController {
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;
import com.mdp.core.entity.Result;
import com.mdp.core.entity.Tips;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils;
@ -146,7 +145,6 @@ public class XmIterationMenuController {
}else {
return Result.ok(msgs.stream().collect(Collectors.joining(" ")));
}
return Result.ok();
}
@RequestMapping(value="/batchAdd",method=RequestMethod.POST)
@ -219,7 +217,5 @@ public class XmIterationMenuController {
return Result.ok(msgs.stream().collect(Collectors.joining(" ")));
}
return Result.ok();
}
}

218
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.metadata.IPage;
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.utils.RequestUtils;
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.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMenu;
import com.xm.core.entity.XmMenuComment;
import com.xm.core.service.XmMenuCalcService;
@ -27,6 +24,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -87,7 +85,7 @@ public class XmMenuCommentController {
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列表
}
@ -121,16 +119,9 @@ public class XmMenuCommentController {
}
XmMenuCalcService.commentsSet.add(xmMenuComment.getMenuId());
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();
}
@ -158,13 +149,7 @@ public class XmMenuCommentController {
if(StringUtils.hasText(commentDb.getPid())){
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)
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();
}
@ -212,13 +189,7 @@ public class XmMenuCommentController {
}
}
xmMenuCommentService.unShowComment(ids);
}catch (BizException e) {
tips=e.getTips();
logger.error("执行异常",e);
}catch (Exception e) {
return Result.error(e.getMessage());
logger.error("执行异常",e);
}
return Result.ok();
}
@ -245,182 +216,9 @@ public class XmMenuCommentController {
}
}
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);
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()));
}
}
*/
}

99
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.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.utils.BaseUtils;
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.sensitive.SensitiveWordService;
import com.xm.core.PubTool;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMenu;
import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmTask;
@ -35,7 +33,6 @@ import java.util.*;
import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map;
import static com.mdp.core.utils.ResponseHelper.failed;
/**
* url编制采用rest风格,如对XM.xm_menu 项目菜单表的操作有增删改查,对应的url分别为:<br>
@ -273,12 +270,10 @@ public class XmMenuController {
if(xmProduct==null){
return ResponseHelper.failed("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(StringUtils.hasText(xmMenu.getMmUserid()) && !xmMenu.getMmUserid().equals(user.getUserid())){
Tips tips=productQxService.checkProductQx(xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null);
tips =productQxService.checkProductQx(xmProduct,2,user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),null);
Result.assertIsFalse(tips);
}
@ -301,10 +296,10 @@ public class XmMenuController {
xmMenu.setEndTime(DateUtils.addDays(xmMenu.getCtime(),14));
}
xmMenuService.insert(xmMenu);
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"4",xmMenu.getProductId(),xmMenu.getMenuId(),"您成为需求【"+xmMenu.getMenuName()+"】的负责人,请跟进需求!");
notifyMsgService.pushMsg(user,xmMenu.getMmUserid(),xmMenu.getMmUsername(),"您成为需求【"+xmMenu.getMenuName()+"】的负责人,请跟进需求!",null);
xmRecordService.addXmMenuRecord(xmMenu.getProductId(),xmMenu.getMenuId(),"新增产品需求","新增需求"+xmMenu.getMenuName());
return Result.ok();
}
@ -326,7 +321,6 @@ public class XmMenuController {
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){
@ -343,60 +337,18 @@ public class XmMenuController {
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);
}
Tips tips =productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
Result.assertIsFalse(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不能为空");
}
XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId());
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
}
tips=productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
if(!tips.isOk()){
return Result.error(tips);
return Result.ok();
}
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),"");
}
*/
/***/
@ApiOperation( value = "根据主键修改一条项目菜单表信息",notes="editXmMenu")
@ApiResponses({
@ -446,18 +398,14 @@ public class XmMenuController {
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")){
String mmUserid= (String) xmMenuMap.get("mmUserid");
String mmUsername= (String) xmMenuMap.get("mmUsername");
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<>();
@ -467,7 +415,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb);
}else{
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()){
canOper.add(xm);
}else{
@ -489,7 +437,7 @@ public class XmMenuController {
xmMenuService.editSomeFields(xmMenuMap);
if(xmMenuMap.containsKey("mmUserid")){
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{
return Result.error(msgs.stream().collect(Collectors.joining()));
}
//
return Result.ok();
}
@ -558,7 +504,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb);
}else{
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()){
canOper.add(xm);
}else{
@ -602,17 +548,12 @@ public class XmMenuController {
}else{
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 = "管理端-项目管理系统")
@RequestMapping(value="/batchAdd",method=RequestMethod.POST)
public Result batchAddXmMenu(@RequestBody List<XmMenu> xmMenus) {
if(xmMenus.size()>0) {
List<XmMenu> canEdit=new ArrayList<>();
List<XmMenu> noQx=new ArrayList<>();
@ -628,7 +569,7 @@ public class XmMenuController {
}else {
return Result.error("没有数据可以新增,请上送数据");
}
return Result.ok();
}
@ -644,9 +585,7 @@ public class XmMenuController {
User user=LoginUtils.getCurrentUserInfo();
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())){
return ResponseHelper.failed("parentMenuid-0", "上级编号不能为空");
@ -683,7 +622,7 @@ public class XmMenuController {
canOper.addAll(xmMenusDb);
}else{
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()){
canOper.add(xm);
}else{
@ -753,7 +692,5 @@ public class XmMenuController {
return Result.error(msgs.stream().collect(Collectors.joining(" ")));
}
return Result.ok();
}
}

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

4
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.metadata.IPage;
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.utils.RequestUtils;
import com.mdp.qx.HasRole;
import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmMyFocus;
import com.xm.core.service.XmMyFocusService;
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.toMap;
import static com.mdp.core.utils.ResponseHelper.failed;
/**
* url编制采用rest风格,如对xm_my_focus 我关注的项目或者任务的操作有增删改查,对应的url分别为:<br>

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.sensitive.SensitiveWordService;
import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmProductCopyVo;
import com.xm.core.entity.XmProductProjectLink;
@ -177,8 +176,8 @@ public class XmProductController {
}
params.put("platformBranchId",platformBranchId);
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);
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())){
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())){
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()+"】");
xmProductStateService.loadTasksToXmProductState(xmProduct.getId());
return Result.ok();
}
/***/
@ApiOperation( value = "从回收站恢复产品",notes="unDelXmProduct,仅需要上传主键字段")
@ -383,8 +382,7 @@ public class XmProductController {
xmProductService.clearCache(xmProduct.getId());
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="")
@ApiEntityParams( value = XmProduct.class, props={ }, remark = "产品", paramType = "body" )
@ -455,15 +453,15 @@ public class XmProductController {
xmProductService.editSomeFields(xmProductMap);
xmProductService.clearCache(xmProductDb.getId());
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())){
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())){
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();
@ -516,92 +514,20 @@ public class XmProductController {
xmRecordService.addXmProductRecord(xmProduct.getId(),"修改产品","修改产品【"+xmProductDb.getId()+"】【"+xmProductDb.getProductName()+"】",JSON.toJSONString(xmProduct),JSON.toJSONString(xmProductDb));
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())){
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()) ){
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"3",xmProductDb.getId(),xmProductDb.getId(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。");
notifyMsgService.pushMsg(user,xmProduct.getAdmUserid(),xmProduct.getAdmUsername(),"您成为产品【"+xmProductDb.getProductName()+"】的产品总监,请及时跟进。",null);
}
}
/**
@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));
return Result.ok();
}
}
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.setCusername(user.getUsername());
xmProductProjectLinkService.insert(xmProductProjectLink);
return Result.ok();
}
@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();
params.put("branchId",user.getBranchId());
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列表
}
/**
@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();
}
*/
}

37
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.OperType;
import com.mdp.core.entity.Result;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils;
@ -118,7 +117,7 @@ public class XmProjectController {
params.put("linkBranchId",user.getBranchId());
params.put("platformBranchId",platformBranchId);
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);
@ -197,15 +196,15 @@ public class XmProjectController {
this.xmProjectService.editSomeFields(xmProjectMap);
this.xmProjectService.clearProject(xmProjectDb.getId());
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())){
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())){
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();
@ -245,13 +244,13 @@ public class XmProjectController {
}
User user = LoginUtils.getCurrentUserInfo();
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())){
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())){
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());
xmProjectStateService.loadTasksToXmProjectState(xmProjectVo.getId());
@ -310,7 +309,6 @@ public class XmProjectController {
XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProject.getId());
if(xmProjectDb==null){
return Result.error("项目不存在");
return Result.error(tips);
}
if(!user.getBranchId().equals(xmProjectDb.getBranchId())){
return Result.error("branchId-not-right","该项目不属于您的组织,不允许您进行删除");
@ -460,15 +458,15 @@ public class XmProjectController {
}
xmProjectService.updateProject(xmProject);
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())){
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())){
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());
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)
@RequestMapping(value="/processApprova",method=RequestMethod.POST)
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);
}
return Result.ok();
}
}

11
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.query.QueryTools;
import com.mdp.core.utils.RequestUtils;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmProjectKpi;
import com.xm.core.service.XmProjectKpiService;
import io.swagger.annotations.*;
@ -100,7 +99,7 @@ public class XmProjectKpiController {
}
}
xmProjectKpiService.insert(xmProjectKpi);
return Result.ok();
}
@ -113,7 +112,7 @@ public class XmProjectKpiController {
public Result delXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi){
xmProjectKpiService.deleteByPk(xmProjectKpi);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
return Result.ok();
}
@ -127,6 +126,7 @@ public class XmProjectKpiController {
public Result editXmProjectKpi(@RequestBody XmProjectKpi xmProjectKpi) {
xmProjectKpiService.updateByPk(xmProjectKpi);
return Result.ok();
}
@ -140,11 +140,8 @@ public class XmProjectKpiController {
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Result batchDelXmProjectKpi(@RequestBody List<XmProjectKpi> xmProjectKpis) {
xmProjectKpiService.batchDelete(xmProjectKpis);
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
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");
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();
}
*/
}

55
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.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.utils.BaseUtils;
import com.mdp.core.utils.RequestUtils;
@ -35,8 +34,6 @@ import springfox.documentation.annotations.ApiIgnore;
import java.util.*;
import java.util.stream.Collectors;
import static com.mdp.core.utils.ResponseHelper.failed;
/**
* url编制采用rest风格,如对XM.xm_question xm_question的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmQuestion/add <br>
@ -129,7 +126,7 @@ public class XmQuestionController {
}
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());
}
@ -214,25 +211,12 @@ public class XmQuestionController {
xmQuestionService.addQuestion(xmQuestionVo);
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());
}
}
/**
@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();
}
*/
@ApiOperation( value = "根据主键修改一条xm_question信息",notes="editXmQuestion")
@ApiResponses({
@ -248,16 +232,14 @@ public class XmQuestionController {
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);
}
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")
@ -339,9 +321,7 @@ public class XmQuestionController {
if(StringUtils.hasText(xmQuedb.getProjectId())){
tips1=projectQxService.checkProjectScopeQx(projectService.getProjectFromCache(xmQuedb.getProjectId()),1,user,handlerUserid,handlerUsername,null);
}
if(!tips1.isOk()){
return Result.error(tips1);
}
Result.assertIsFalse(tips1);
}
}
@ -369,7 +349,7 @@ public class XmQuestionController {
handle.setReceiptMessage(user.getUsername()+"修改缺陷处理意见为:"+xmQuestionVo.getRemarks());
}else if(StringUtils.hasText(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)){
handle.setReceiptMessage(user.getUsername()+"将缺陷状态改为"+bugStatus);
@ -419,8 +399,6 @@ public class XmQuestionController {
}else{
return Result.error(msgs.stream().collect(Collectors.joining()));
}
//
return Result.ok();
}
@ -472,8 +450,6 @@ public class XmQuestionController {
return Result.error(msgs.stream().collect(Collectors.joining()));
}
return Result.ok("query-ok","查询成功").setData(datas).setTotal(page.getTotal());
}
@ -672,21 +648,8 @@ public class XmQuestionController {
@AuditLog(firstMenu="办公平台",secondMenu="项目问题管理",func="processApprova",funcDesc="项目问题审核",operType=OperType.UPDATE)
@RequestMapping(value="/processApprova",method=RequestMethod.POST)
public Result processApprova( @RequestBody Map<String,Object> 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();
}

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

@ -86,7 +86,7 @@ public class XmRptConfigController {
xmRptConfig.setCbranchId(user.getBranchId());
xmRptConfig.setCtime(new Date());
xmRptConfigService.insert(xmRptConfig);
return Result.ok().setData(xmRptConfig);
}
@ApiOperation( value = "删除一条测试报告配置表信息",notes=" ")
@ -123,7 +123,7 @@ public class XmRptConfigController {
return Result.error("data-not-exists","数据不存在,无法修改");
}
xmRptConfigService.updateSomeFieldByPk(xmRptConfig);
return Result.ok();
}
@ApiOperation( value = "批量修改某些字段",notes="")

35
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.metadata.IPage;
import com.mdp.core.entity.Result;
import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.RequestUtils;
@ -197,7 +196,7 @@ public class XmTaskBidOrderController {
xmTaskBidOrderService.insert(order);
redisTemplate.opsForValue().set(XmTaskBidOrder.class.getSimpleName()+"-"+order.getId(), JSON.toJSONString(bidOrderVo),1, TimeUnit.HOURS);
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();
@ -217,9 +216,7 @@ public class XmTaskBidOrderController {
return Result.error("data-0","订单Id不能为空");
}
XmTaskBidOrder moOrder = xmTaskBidOrderService.selectOneById(orderId);
m.put("tips", tips);
return m;
return Result.ok().setData(moOrder);
}
@ApiOperation( value = "通过Id获取订单",notes=" ")
@ -229,7 +226,6 @@ public class XmTaskBidOrderController {
@RequestMapping(value="/orderPaySuccess",method=RequestMethod.POST)
public Result orderPaySuccess(@RequestBody XmTaskBidOrder order) {
try {
if(!StringUtils.hasText(order.getId())) {
return Result.error("data-0","订单Id不能为空");
@ -239,16 +235,7 @@ public class XmTaskBidOrderController {
return Result.error("pay-notify-success-flag-0","验证码错误");
}
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=" ")
@ -258,8 +245,6 @@ public class XmTaskBidOrderController {
@RequestMapping(value="/payCancel",method=RequestMethod.POST)
public Result payCancel(@RequestBody XmTaskBidOrder order) {
try {
if(!StringUtils.hasText(order.getId())) {
return Result.error("data-0","订单Id不能为空");
}
@ -268,15 +253,7 @@ public class XmTaskBidOrderController {
return Result.error("pay-notify-cancel-flag-0","验证码错误");
}
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=" ")
@ApiResponses({
@ -295,8 +272,6 @@ public class XmTaskBidOrderController {
moOrder.setPrepayId(order.getPrepayId());
moOrder.setPayTime(new Date());
xmTaskBidOrderService.updateSomeFieldByPk(moOrder);
m.put("tips", tips);
return m;
return Result.ok();
}
}

78
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.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.utils.BaseUtils;
import com.mdp.core.utils.NumberUtil;
@ -273,12 +272,12 @@ public class XmTaskController {
xmTaskExecuser.setUserid((String)xmTaskMap.get("executorUserid"));
xmTaskExecuser.setUsername((String)xmTaskMap.get("executorUsername"));
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{
oks.add(tips3);
oks.add(tips);
}
@ -290,7 +289,7 @@ public class XmTaskController {
}
if(oks.size()>0){
msg="成功设置"+oks.size()+"个任务的执行人。"+msg;
returnreturn Result.ok(msg);
return Result.ok(msg);
}
return ResponseHelper.result(returnTips);
}else if(ids.size()==1){
@ -357,7 +356,7 @@ public class XmTaskController {
if(groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
can.add(xmTaskDb);
}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()){
no.add(xmTaskDb);
}else{
@ -378,12 +377,12 @@ public class XmTaskController {
}
if("1".equals(xmProject.getBudgetCtrl())){
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 {
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");
for (XmTask task : can) {
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){
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)){
return Result.error("任务编号id必传");
}
@ -470,8 +469,7 @@ public class XmTaskController {
//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()){
return ResponseHelper.failed("data-0","数据不存在");
@ -486,9 +484,7 @@ public class XmTaskController {
return ResponseHelper.failed("toTaskCenter-0","未开放互联网访问权限");
}
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){
String id=(String) xmTask.get("id");
String id=(String) params.get("id");
if(!StringUtils.hasText(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()){
return ResponseHelper.failed("data-0","数据不存在");
}
XmTaskCalcService.putReadNum((String) taskDb.get("id"),1);
m.put("tips", tips);
}
return Result.ok().setData(taskDb);
}
@ApiOperation( value = "新增一条任务信息",notes="addXmTask,主键如果为空,后台自动生成")
@ -564,9 +558,7 @@ public class XmTaskController {
}
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);
}
Result.assertIsFalse(tips1);
}
if("1".equals(xmProject.getMenuLink()) && "0".equals(xmTaskVo.getNtype())){
@ -619,10 +611,10 @@ public class XmTaskController {
if("1".equals(xmProject.getBudgetCtrl())){
if(xmTaskVo.getBudgetAt()!=null && xmTaskVo.getBudgetAt().compareTo(BigDecimal.ZERO)>0){
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);
}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);
}
}
@ -813,15 +805,16 @@ public class XmTaskController {
excludeIds.add(xmTaskDb.getId());
if( "1".equals(xmProject.getBudgetCtrl()) && xmTaskDb.getBudgetAt().compareTo(xmTaskVo.getBudgetAt())!=0){
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())){
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);
}
return Result.ok();
@ -848,9 +841,7 @@ public class XmTaskController {
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getExecutorUserid(),xmTaskDb.getExecutorUsername(),null);
if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
}
Result.assertIsFalse(tips1);
}
xmTaskService.updateTime(xmTask,xmTaskDb);
@ -948,10 +939,9 @@ public class XmTaskController {
totalTaskBudgetAt=totalTaskBudgetAt.add(task.getBudgetAt());
}
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()){
return Result.error(tips.getMsg()+" 相关任务【"+tasksLvl1.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
return ResponseHelper.failed(tips);
}
}
}else{
@ -966,7 +956,7 @@ public class XmTaskController {
childBudgetAt=childBudgetAt.add(child.getBudgetAt());
}
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()){
return ResponseHelper.failed("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
}
@ -976,7 +966,6 @@ public class XmTaskController {
}
}
if(tips.isOk()) {
for (XmTask task : xmTasks) {
task.setChildrenCnt( Integer.valueOf(xmTasks.stream().filter(i->task.getId().equals(i.getParentTaskid())).count()+""));
if(task.getChildrenCnt()>0){
@ -986,12 +975,11 @@ public class XmTaskController {
task.setNtype("0");
}
}
}
xmTaskService.batchImportFromTemplate(xmTasks);
for (XmTask t : xmTasks) {
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);
@ -1213,7 +1201,7 @@ public class XmTaskController {
String projectId=xmTaskDb.getProjectId();
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
tips=projectQxService.checkProjectQx(xmProject,2,user);
Tips tips=projectQxService.checkProjectQx(xmProject,2,user);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}

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

@ -88,7 +88,7 @@ public class XmTaskEvalController {
User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getServiceProviderEval(user); //列出XmTaskEval列表
return Result.ok().setData(myTotalEval);
}
@ -102,6 +102,7 @@ public class XmTaskEvalController {
User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getPersonEval(user); //列出XmTaskEval列表
return Result.ok().setData(myTotalEval);
}
@ -146,7 +147,7 @@ public class XmTaskEvalController {
xmTaskEval.setToUsername(toUser.getUsername());
xmTaskEval.setToBranchId(toUser.getBranchId());
xmTaskEvalService.insert(xmTaskEval);
return Result.ok();
return Result.ok().setData(xmTaskEval);
}
@ApiOperation( value = "删除一条xm_task_eval信息",notes=" ")

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

@ -204,7 +204,7 @@ public class XmTaskExecuserController {
xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人
}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);
//检查是否已经存在执行人
XmTaskExecuser query=new XmTaskExecuser();
@ -262,7 +262,7 @@ public class XmTaskExecuserController {
break;
}
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);
allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername());
@ -418,7 +418,7 @@ public class XmTaskExecuserController {
if(needPay){
//XmTaskExecuser xmTaskExecuserDb=this.xmTaskExecuserService.selectOneById(map("taskId",xmTaskDb.getId(),"userid",xmTaskDb.getExecutorUserid()));
//调用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()){
xmTaskUpdate.setEtoDevTime(new Date());
xmTaskUpdate.setBidStep("7");
@ -474,7 +474,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId();
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);
}
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskExecuser.getTaskId(),xmTaskExecuser.getUserid()));
@ -510,7 +510,7 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId();
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);
}
@ -543,7 +543,7 @@ public class XmTaskExecuserController {
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskDb.getId(),xmTaskExecuser.getUserid()));
if(xmTaskExecuserDb !=null ) {
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);
}
if( "0".equals( xmTaskExecuserDb.getStatus() ) || "7".equals( xmTaskExecuserDb.getStatus() ) || "8".equals( xmTaskExecuserDb.getStatus() ) ) {

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

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

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());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestCaseService.deleteByPk(xmTestCase);
@ -203,7 +203,7 @@ public class XmTestCaseController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
@ -258,7 +258,7 @@ public class XmTestCaseController {
}
XmProduct xmProductDb=productService.getProductFromCache(xmTestCaseDb2.getProductId());
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);
}
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
@ -266,7 +266,7 @@ public class XmTestCaseController {
can=xmTestCasesDb;
}else{
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()){
no.add(xmTestCaseDb);
noTipsMap.put(tips2.getMsg(),tips2);
@ -323,7 +323,7 @@ public class XmTestCaseController {
can=datasDb;
}else {
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()){
can.add(data);
}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());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestCasedb.setPbranchId(xmProductDb.getBranchId());
@ -139,7 +139,7 @@ public class XmTestCasedbController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestCasedbService.deleteByPk(xmTestCasedb);
@ -166,11 +166,11 @@ public class XmTestCasedbController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
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);
}
xmTestCasedbService.updateSomeFieldByPk(xmTestCasedb);
@ -216,7 +216,7 @@ public class XmTestCasedbController {
User user = LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=productService.getProductFromCache(xmTestCasedbDb.getProductId());
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);
}
@ -228,7 +228,7 @@ public class XmTestCasedbController {
can=xmTestCasedbsDb;
}else {
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()){
no.add(data);
noTips.add(tips.getMsg());
@ -288,7 +288,7 @@ public class XmTestCasedbController {
can=datasDb;
}else {
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()){
no.add(data);
noTips.add(tips.getMsg());

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

@ -286,10 +286,8 @@ public class XmTestPlanCaseController {
return Result.error("product-not-exists","产品已不存在");
}
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);
}
@ -344,19 +342,17 @@ public class XmTestPlanCaseController {
return Result.error("product-not-exists","产品已不存在");
}
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 {
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());
if(isPm){
can=xmTestPlanCasesDb;
}else {
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()) {
no.add(xmTestPlanCaseDb);
noTipsSet.add(tips2.getMsg());

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());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestPlan.setPbranchId(xmProductDb.getBranchId());
@ -164,7 +164,7 @@ public class XmTestPlanController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestPlanService.deleteByPk(xmTestPlan);
@ -192,7 +192,7 @@ public class XmTestPlanController {
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId());
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
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);
}
xmTestPlanService.updateSomeFieldByPk(xmTestPlan);
@ -237,7 +237,7 @@ public class XmTestPlanController {
User user = LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb2.getProductId());
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);
}
boolean isPm=groupService.checkUserIsProductAdm(xmProductDb,user.getUserid());
@ -248,7 +248,7 @@ public class XmTestPlanController {
can=xmTestPlansDb;
}else {
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()){
no.add(xmTestPlanDb);
noTips.add(tips2.getMsg());
@ -303,7 +303,7 @@ public class XmTestPlanController {
can=datasDb;
}else {
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()){
no.add(xmTestPlanDb);
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())){
Tips tips3=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
Tips tips 3=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmWorkload.getUserid(),xmTaskDb.getProjectId());
if(!tips3.isOk()){
return Result.error("no-qx-for-oth-user","无权限代他人报工。只有项目管理人员可以代他人报工。");
}
@ -419,9 +419,9 @@ public class XmWorkloadController {
}
User user= LoginUtils.getCurrentUserInfo();
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()){
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){
return Result.error("noqx-0","你无权针对该业务进行报工");
}
@ -461,9 +461,9 @@ public class XmWorkloadController {
Set<String> xmMenuIds=new HashSet<>();
for (XmTask xmTaskDb : tasksDb) {
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()){
Tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
Tips tips isExec=xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmTaskDb.getExecutorUserid(),xmTaskDb.getProjectId());
if(!isExec.isOk()){
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.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xm.core.entity.XmBranchState;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import com.xm.core.entity.XmBranchState;
/**
* @author maimeng-mdp code-gen
* @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>> 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 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.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.LoggerFactory;
import java.util.List;
import java.util.Map;
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
* @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){
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(!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(!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(!proUsersMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-g-pgroupId","您无权限修改小组归属上级单位.产品级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-g-pgroupId","您无权限修改小组归属上级单位.产品级助理及以上人员可以修改。");
}
}
return tips;
@ -731,25 +731,25 @@ public class XmGroupService extends BaseService<XmGroupMapper,XmGroup> {
Map<String,String> pmUserMap=this.getProjectAdmUsers(xmProject);
if(!pmUserMap.containsKey(user.getUserid())){
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;
}
}
if(StringUtils.hasText(group.getAssUserid()) && !group.getAssUserid().equals(groupDb.getAssUserid())){
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;
}
}
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
if(!pmUserMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-prj-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-prj-g-leaderUserid","您无权限修改小组组长.项目级助理及以上人员可以修改。");
return tips;
}
}
if(StringUtils.hasText(group.getPgroupId()) && !group.getPgroupId().equals(groupDb.getPgroupId())){
if(!pmUserMap.containsKey(user.getUserid())){
tips.setFailureMsg("no-qx-change-prj-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。");
Tips tips.setFailureMsg("no-qx-change-prj-g-pgroupId","您无权限修改小组归属上级单位.项目级助理及以上人员可以修改。");
return tips;
}
}

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

@ -1,5 +1,7 @@
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.xm.core.entity.XmIteration;
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) {
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
*/
public List<Map<String, Object>> selectListMapByWhereWithState(Map<String, Object> iterationMap) {
// TODO Auto-generated method stub
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){
return baseMapper.selectListMapByWhere(page,ew,ext);
}
}
Loading…
Cancel
Save