陈裕财 2 years ago
parent
commit
7827c43a47
  1. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmCostNlaborController.java
  2. 26
      xm-core/src/main/java/com/xm/core/ctrl/XmEnvListController.java
  3. 44
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java
  4. 113
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupUserController.java
  5. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmIterationMenuController.java
  6. 14
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuCommentController.java
  7. 50
      xm-core/src/main/java/com/xm/core/ctrl/XmMenuController.java
  8. 4
      xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java
  9. 20
      xm-core/src/main/java/com/xm/core/ctrl/XmProductProjectLinkController.java
  10. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmQuestionController.java
  11. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskBidOrderController.java
  12. 114
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  13. 321
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  14. 30
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskOrderController.java
  15. 24
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillController.java
  16. 6
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskSbillDetailController.java
  17. 10
      xm-core/src/main/java/com/xm/core/ctrl/XmTestPlanCaseController.java
  18. 16
      xm-core/src/main/java/com/xm/core/ctrl/XmWorkloadController.java
  19. 37
      xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java

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

@ -26,7 +26,7 @@ import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.fromMap; import static com.mdp.core.utils.BaseUtils.fromMap;
import static com.mdp.core.utils.BaseUtils.toMap; import static com.mdp.core.utils.BaseUtils.toMap;
import static com.mdp.core.utils.ResponseHelper.failed;
import static com.mdp.core.utils.Result.error;
/** /**
* url编制采用rest风格,如对xm_cost_nlabor 项目实际人工成本费用的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对xm_cost_nlabor 项目实际人工成本费用的操作有增删改查,对应的url分别为:<br>

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

@ -89,24 +89,24 @@ public class XmEnvListController {
public Result addXmEnvList(@RequestBody XmEnvList xmEnvList) { public Result addXmEnvList(@RequestBody XmEnvList xmEnvList) {
if(!StringUtils.hasText(xmEnvList.getProjectId())){ if(!StringUtils.hasText(xmEnvList.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
return Result.error("projectId-0","项目编号不能为空");
} }
if(!StringUtils.hasText(xmEnvList.getName())){ if(!StringUtils.hasText(xmEnvList.getName())){
return ResponseHelper.failed("name-0","名称不能为空");
return Result.error("name-0","名称不能为空");
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
if(StringUtils.hasText(xmEnvList.getProjectId())){ if(StringUtils.hasText(xmEnvList.getProjectId())){
boolean inProjectGroup=xmGroupService.checkUserExistsProjectGroup(xmEnvList.getProjectId(),user.getUserid()); boolean inProjectGroup=xmGroupService.checkUserExistsProjectGroup(xmEnvList.getProjectId(),user.getUserid());
if(!inProjectGroup){ if(!inProjectGroup){
return ResponseHelper.failed("no-in-project","您不在项目中【"+xmEnvList.getProjectId()+"】,不能添加环境清单");
return Result.error("no-in-project","您不在项目中【"+xmEnvList.getProjectId()+"】,不能添加环境清单");
} }
} }
if(!StringUtils.hasText(xmEnvList.getReadQx())){ if(!StringUtils.hasText(xmEnvList.getReadQx())){
return ResponseHelper.failed("readQx-0","请选中读权限");
return Result.error("readQx-0","请选中读权限");
} }
if(!StringUtils.hasText(xmEnvList.getWriteQx())){ if(!StringUtils.hasText(xmEnvList.getWriteQx())){
return ResponseHelper.failed("writeQx-0","请选中写权限");
return Result.error("writeQx-0","请选中写权限");
} }
xmEnvListService.addEnv(xmEnvList); xmEnvListService.addEnv(xmEnvList);
return Result.ok(); return Result.ok();
@ -122,24 +122,24 @@ public class XmEnvListController {
XmEnvList xmEnvListDb=this.xmEnvListService.selectOneById(xmEnvList.getId()); XmEnvList xmEnvListDb=this.xmEnvListService.selectOneById(xmEnvList.getId());
if(xmEnvListDb==null){ if(xmEnvListDb==null){
return ResponseHelper.failed("data-0","数据已不存在");
return Result.error("data-0","数据已不存在");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(StringUtils.hasText(xmEnvListDb.getWriteQx()) && !"0".equals(xmEnvListDb.getWriteQx()) && user.getUserid().equals(xmEnvListDb.getCreateUserid())){ if(StringUtils.hasText(xmEnvListDb.getWriteQx()) && !"0".equals(xmEnvListDb.getWriteQx()) && user.getUserid().equals(xmEnvListDb.getCreateUserid())){
String writeQx=xmEnvListDb.getWriteQx(); String writeQx=xmEnvListDb.getWriteQx();
if("1".equals(writeQx)){//同一机构可写 if("1".equals(writeQx)){//同一机构可写
if(!user.getBranchId().equals(xmEnvListDb.getBranchId())){ if(!user.getBranchId().equals(xmEnvListDb.getBranchId())){
return ResponseHelper.failed("writeQx-err-1","您无权更改");
return Result.error("writeQx-err-1","您无权更改");
} }
}else if("2".equals(writeQx)){//同一机构同一项目可写 }else if("2".equals(writeQx)){//同一机构同一项目可写
boolean inProject=this.xmGroupService.checkUserExistsProjectGroup(xmEnvListDb.getProjectId(), user.getUserid()); boolean inProject=this.xmGroupService.checkUserExistsProjectGroup(xmEnvListDb.getProjectId(), user.getUserid());
if(!inProject){ if(!inProject){
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
return Result.error("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId()); Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
return Result.error("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }
} }
} }
@ -158,24 +158,24 @@ public class XmEnvListController {
XmEnvList xmEnvListDb=this.xmEnvListService.selectOneById(xmEnvList.getId()); XmEnvList xmEnvListDb=this.xmEnvListService.selectOneById(xmEnvList.getId());
if(xmEnvListDb==null){ if(xmEnvListDb==null){
return ResponseHelper.failed("data-0","数据已不存在");
return Result.error("data-0","数据已不存在");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(StringUtils.hasText(xmEnvListDb.getWriteQx()) && !"0".equals(xmEnvListDb.getWriteQx()) && user.getUserid().equals(xmEnvListDb.getCreateUserid())){ if(StringUtils.hasText(xmEnvListDb.getWriteQx()) && !"0".equals(xmEnvListDb.getWriteQx()) && user.getUserid().equals(xmEnvListDb.getCreateUserid())){
String writeQx=xmEnvListDb.getWriteQx(); String writeQx=xmEnvListDb.getWriteQx();
if("1".equals(writeQx)){//同一机构可写 if("1".equals(writeQx)){//同一机构可写
if(!user.getBranchId().equals(xmEnvListDb.getBranchId())){ if(!user.getBranchId().equals(xmEnvListDb.getBranchId())){
return ResponseHelper.failed("writeQx-err-1","您无权更改");
return Result.error("writeQx-err-1","您无权更改");
} }
}else if("2".equals(writeQx)){//同一机构同一项目可写 }else if("2".equals(writeQx)){//同一机构同一项目可写
boolean inProject=this.xmGroupService.checkUserExistsProjectGroup(xmEnvListDb.getProjectId(), user.getUserid()); boolean inProject=this.xmGroupService.checkUserExistsProjectGroup(xmEnvListDb.getProjectId(), user.getUserid());
if(!inProject){ if(!inProject){
return ResponseHelper.failed("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
return Result.error("writeQx-err-2","您不在项目【"+xmEnvListDb.getProjectId()+"】,无权更改");
} }
}else if("3".equals(writeQx)){//同一机构同一项目可写 }else if("3".equals(writeQx)){//同一机构同一项目可写
Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId()); Tips tips isHeader=this.xmGroupService.checkIsProjectAdmOrTeamHeadOrAss(user,xmEnvListDb.getCreateUserid(),xmEnvListDb.getProjectId());
if(!isHeader.isOk()){ if(!isHeader.isOk()){
return ResponseHelper.failed("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
return Result.error("writeQx-err-3","您不是【"+xmEnvListDb.getCreateUsername()+"】的上级,无权更改");
} }
} }
} }

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

@ -95,12 +95,12 @@ public class XmGroupController {
return Result.error("小组信息不能为空"); return Result.error("小组信息不能为空");
} }
if(!StringUtils.hasText(group.getId())){ if(!StringUtils.hasText(group.getId())){
return ResponseHelper.failed("id-0","小组编号不能为空");
return Result.error("id-0","小组编号不能为空");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmGroup groupDb=this.xmGroupService.selectOneById( group.getId()); XmGroup groupDb=this.xmGroupService.selectOneById( group.getId());
if(groupDb==null){ if(groupDb==null){
return ResponseHelper.failed("data-0","小组已不存在。");
return Result.error("data-0","小组已不存在。");
} }
if("0".equals(groupDb.getPgClass())){ if("0".equals(groupDb.getPgClass())){
XmProject project=xmProjectService.getProjectFromCache(groupDb.getProjectId()); XmProject project=xmProjectService.getProjectFromCache(groupDb.getProjectId());
@ -108,7 +108,7 @@ public class XmGroupController {
if(!isPm){ if(!isPm){
Tips tips = projectQxService.checkProjectQx(project,0,user); Tips tips = projectQxService.checkProjectQx(project,0,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
} }
if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){ if(StringUtils.hasText(group.getLeaderUserid()) && !group.getLeaderUserid().equals(groupDb.getLeaderUserid())){
@ -238,47 +238,47 @@ public class XmGroupController {
User u = LoginUtils.getCurrentUserInfo(); User u = LoginUtils.getCurrentUserInfo();
if(StringUtils.isEmpty(xmGroup.getPgClass())){ if(StringUtils.isEmpty(xmGroup.getPgClass())){
return ResponseHelper.failed("pgClass-0","小组类型不能为空");
return Result.error("pgClass-0","小组类型不能为空");
} }
xmGroup.setBranchId(null); xmGroup.setBranchId(null);
if("0".equals(xmGroup.getPgClass())){ if("0".equals(xmGroup.getPgClass())){
if(!StringUtils.hasText(xmGroup.getProjectId())){ if(!StringUtils.hasText(xmGroup.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
return Result.error("projectId-0","项目编号不能为空");
} }
XmProject project = xmProjectService.getProjectFromCache(xmGroup.getProjectId()); XmProject project = xmProjectService.getProjectFromCache(xmGroup.getProjectId());
if(project==null){ if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
Tips tips =this.xmGroupService.checkProjectStatus(project); Tips tips =this.xmGroupService.checkProjectStatus(project);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
Tips tips =checkProjectGroupQxForAdd(project,u,xmGroup); Tips tips =checkProjectGroupQxForAdd(project,u,xmGroup);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
xmGroup.setProductId(null); xmGroup.setProductId(null);
xmGroup.setBranchId(project.getBranchId()); xmGroup.setBranchId(project.getBranchId());
}else if("1".equals(xmGroup.getPgClass())){ }else if("1".equals(xmGroup.getPgClass())){
if(!StringUtils.hasText(xmGroup.getProductId())){ if(!StringUtils.hasText(xmGroup.getProductId())){
return ResponseHelper.failed("productId-0","产品编号不能为空");
return Result.error("productId-0","产品编号不能为空");
} }
XmProduct xmProduct = xmProductService.getProductFromCache(xmGroup.getProductId()); XmProduct xmProduct = xmProductService.getProductFromCache(xmGroup.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
Tips tips =this.xmGroupService.checkProductStatus(xmProduct); Tips tips =this.xmGroupService.checkProductStatus(xmProduct);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
Tips tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup); Tips tips =checkProductGroupQxForAdd(xmProduct,u,xmGroup);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
xmGroup.setBranchId(xmProduct.getBranchId()); xmGroup.setBranchId(xmProduct.getBranchId());
}else{ }else{
return ResponseHelper.failed("pgClass-err","小组类型数值不正确");
return Result.error("pgClass-err","小组类型数值不正确");
} }
@ -359,34 +359,34 @@ public class XmGroupController {
User u = LoginUtils.getCurrentUserInfo(); User u = LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmGroup.getId())){ if(!StringUtils.hasText(xmGroup.getId())){
return ResponseHelper.failed("id-0","请上送小组编号");
return Result.error("id-0","请上送小组编号");
} }
XmGroup groupDb=this.xmGroupService.selectOneObject(xmGroup); XmGroup groupDb=this.xmGroupService.selectOneObject(xmGroup);
if(groupDb==null){ if(groupDb==null){
return ResponseHelper.failed("data-0","小组已不存在");
return Result.error("data-0","小组已不存在");
} }
if("0".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProjectId())){ if("0".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProjectId())){
XmProject project = xmProjectService.getProjectFromCache(groupDb.getProjectId()); XmProject project = xmProjectService.getProjectFromCache(groupDb.getProjectId());
if(project==null){ if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProjectAdm(project,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips =projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); Tips tips =projectQxService.checkProjectQx(project,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
} }
} else if("1".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProductId())){ } else if("1".equals(groupDb.getPgClass()) && StringUtils.hasText(groupDb.getProductId())){
XmProduct product = xmProductService.getProductFromCache(groupDb.getProductId()); XmProduct product = xmProductService.getProductFromCache(groupDb.getProductId());
if(product==null){ if(product==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid()); boolean isPm=xmGroupService.checkUserIsProductAdm(product,u.getUserid());
if(!isPm) { if(!isPm) {
Tips tips =productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null); Tips tips =productQxService.checkProductQx(product,0,u,groupDb.getLeaderUserid(),groupDb.getLeaderUsername(), null);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
} }
} }
@ -394,7 +394,7 @@ public class XmGroupController {
childrenGroupQuery.setPgroupId(xmGroup.getId()); childrenGroupQuery.setPgroupId(xmGroup.getId());
long childrenCnt=this.xmGroupService.countByWhere(childrenGroupQuery); long childrenCnt=this.xmGroupService.countByWhere(childrenGroupQuery);
if(childrenCnt>0){ if(childrenCnt>0){
return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
return Result.error("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
} }
xmGroupService.doDeleteByPk(xmGroup,groupDb); xmGroupService.doDeleteByPk(xmGroup,groupDb);
if("0".equals(groupDb.getPgClass())){ if("0".equals(groupDb.getPgClass())){
@ -426,7 +426,7 @@ public class XmGroupController {
List<XmGroup> groupsDb=this.xmGroupService.selectListByIds(xmGroups.stream().map(i->i.getId()).collect(Collectors.toList())); List<XmGroup> groupsDb=this.xmGroupService.selectListByIds(xmGroups.stream().map(i->i.getId()).collect(Collectors.toList()));
if(groupsDb==null || groupsDb.size()==0){ if(groupsDb==null || groupsDb.size()==0){
return ResponseHelper.failed("data-0","要删除的小组已不存在");
return Result.error("data-0","要删除的小组已不存在");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmGroup groupDb=groupsDb.get(0); XmGroup groupDb=groupsDb.get(0);
@ -438,7 +438,7 @@ public class XmGroupController {
XmProject prject=this.xmProjectService.getProjectFromCache(id); XmProject prject=this.xmProjectService.getProjectFromCache(id);
Map<String,String> projectAdmMap=xmGroupService.getProjectAdmUsers(prject); Map<String,String> projectAdmMap=xmGroupService.getProjectAdmUsers(prject);
if (!projectAdmMap.containsKey(user.getUserid())) { if (!projectAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
return Result.error("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
} }
if(canDelNodes.size()>0){ if(canDelNodes.size()>0){

113
xm-core/src/main/java/com/xm/core/ctrl/XmGroupUserController.java

@ -1,18 +1,21 @@
package com.xm.core.ctrl; package com.xm.core.ctrl;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
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.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.msg.client.PushNotifyMsgService; import com.mdp.msg.client.PushNotifyMsgService;
import com.mdp.core.entity.Result;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.XmBranchStateHis;
import com.xm.core.entity.XmGroupUser; import com.xm.core.entity.XmGroupUser;
import com.xm.core.entity.XmProduct; import com.xm.core.entity.XmProduct;
import com.xm.core.entity.XmProject; import com.xm.core.entity.XmProject;
import com.xm.core.service.*;
import com.xm.core.service.XmGroupService;
import com.xm.core.service.XmProductService;
import com.xm.core.service.XmProjectService;
import com.xm.core.service.XmRecordService;
import com.xm.core.service.push.XmPushMsgService; import com.xm.core.service.push.XmPushMsgService;
import com.xm.core.vo.XmGroupVo; import com.xm.core.vo.XmGroupVo;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -89,7 +92,7 @@ public class XmGroupUserController {
public Result listXmProjectGroupUser(@ApiIgnore @RequestParam Map<String,Object> params){ public Result listXmProjectGroupUser(@ApiIgnore @RequestParam Map<String,Object> params){
RequestUtils.transformArray(params, "ids"); RequestUtils.transformArray(params, "ids");
IPage page=QueryTools.initPage(params);
IPage page= QueryTools.initPage(params);
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params); QueryWrapper<XmBranchStateHis> qw = QueryTools.initQueryWrapper(XmBranchStateHis.class , params);
@ -109,52 +112,52 @@ public class XmGroupUserController {
if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){ if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){
return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid");
return Result.error("pk-0","请上送小组编号,用户编号groupId,userid");
} }
if(!StringUtils.hasText(gu.getPgClass())){ if(!StringUtils.hasText(gu.getPgClass())){
return ResponseHelper.failed("pgClass-0","请上送小组类型pgClass");
return Result.error("pgClass-0","请上送小组类型pgClass");
} }
String pgClass=gu.getPgClass(); String pgClass=gu.getPgClass();
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
String name=""; String name="";
if("0".equals(pgClass)){ if("0".equals(pgClass)){
if(!StringUtils.hasText(gu.getProjectId())){ if(!StringUtils.hasText(gu.getProjectId())){
return ResponseHelper.failed("projectId-0","请上送小组归属项目编号");
return Result.error("projectId-0","请上送小组归属项目编号");
} }
XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId());
if(xmProject==null){ if(xmProject==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
name=xmProject.getName(); name=xmProject.getName();
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){ if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
} }
} }
}else if("1".equals(pgClass)){ }else if("1".equals(pgClass)){
if(!StringUtils.hasText(gu.getProductId())){ if(!StringUtils.hasText(gu.getProductId())){
return ResponseHelper.failed("productId-0","请上送小组归属产品编号");
return Result.error("productId-0","请上送小组归属产品编号");
} }
XmProduct product=this.xmProductService.getProductFromCache(gu.getProductId()); XmProduct product=this.xmProductService.getProductFromCache(gu.getProductId());
if(product==null){ if(product==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
name=product.getProductName(); name=product.getProductName();
if(!xmGroupService.checkUserIsProductAdm(product, user.getUserid())){ if(!xmGroupService.checkUserIsProductAdm(product, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(product.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(product.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
} }
} }
} }
@ -192,11 +195,11 @@ public class XmGroupUserController {
public Result delXmProjectGroupUser(@RequestBody XmGroupUser gu){ public Result delXmProjectGroupUser(@RequestBody XmGroupUser gu){
if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){ if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){
return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid");
return Result.error("pk-0","请上送小组编号,用户编号groupId,userid");
} }
gu=this.xmGroupUserService.selectOneObject(gu); gu=this.xmGroupUserService.selectOneObject(gu);
if(gu==null){ if(gu==null){
return ResponseHelper.failed("data-0","小组组员已不存在");
return Result.error("data-0","小组组员已不存在");
} }
String pgClass=gu.getPgClass(); String pgClass=gu.getPgClass();
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
@ -204,40 +207,40 @@ public class XmGroupUserController {
String name=""; String name="";
if("0".equals(pgClass)){ if("0".equals(pgClass)){
if(!StringUtils.hasText(gu.getProjectId())){ if(!StringUtils.hasText(gu.getProjectId())){
return ResponseHelper.failed("projectId-0","请上送小组归属项目编号");
return Result.error("projectId-0","请上送小组归属项目编号");
} }
XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId());
if(xmProject==null){ if(xmProject==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
name=xmProject.getName(); name=xmProject.getName();
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){ if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
} }
} }
}else{ }else{
if(!StringUtils.hasText(gu.getProductId())){ if(!StringUtils.hasText(gu.getProductId())){
return ResponseHelper.failed("productId-0","请上送小组归属产品编号");
return Result.error("productId-0","请上送小组归属产品编号");
} }
XmProduct xmProduct=this.xmProductService.getProductFromCache(gu.getProductId()); XmProduct xmProduct=this.xmProductService.getProductFromCache(gu.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("productId-0","产品已不存在");
return Result.error("productId-0","产品已不存在");
} }
name=xmProduct.getProductName(); name=xmProduct.getProductName();
if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){ if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
} }
} }
} }
@ -276,50 +279,50 @@ public class XmGroupUserController {
public Result editXmProjectGroupUser(@RequestBody XmGroupUser gu0) { public Result editXmProjectGroupUser(@RequestBody XmGroupUser gu0) {
if(!StringUtils.hasText(gu0.getGroupId())||!StringUtils.hasText(gu0.getUserid())){ if(!StringUtils.hasText(gu0.getGroupId())||!StringUtils.hasText(gu0.getUserid())){
return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid");
return Result.error("pk-0","请上送小组编号,用户编号groupId,userid");
} }
XmGroupUser gu=this.xmGroupUserService.selectOneObject(gu0); XmGroupUser gu=this.xmGroupUserService.selectOneObject(gu0);
if(gu==null){ if(gu==null){
return ResponseHelper.failed("data-0","小组已不存在");
return Result.error("data-0","小组已不存在");
} }
String pgClass=gu.getPgClass(); String pgClass=gu.getPgClass();
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if("1".equals(pgClass)){ if("1".equals(pgClass)){
if(!StringUtils.hasText(gu.getProductId())){ if(!StringUtils.hasText(gu.getProductId())){
return ResponseHelper.failed("productId-0","请上送小组归属产品编号");
return Result.error("productId-0","请上送小组归属产品编号");
} }
XmProduct xmProduct=this.xmProductService.getProductFromCache(gu.getProductId()); XmProduct xmProduct=this.xmProductService.getProductFromCache(gu.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){ if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
} }
} }
}else{ }else{
if(!StringUtils.hasText(gu.getProjectId())){ if(!StringUtils.hasText(gu.getProjectId())){
return ResponseHelper.failed("projectId-0","请上送小组归属项目编号");
return Result.error("projectId-0","请上送小组归属项目编号");
} }
XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); XmProject xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId());
if(xmProject==null){ if(xmProject==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){ if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProject.getId(),gu.getGroupId()); XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){ if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
return Result.error("group-0","小组已不存在");
} }
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid()); boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){ if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
return Result.error("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
} }
} }
} }
@ -347,30 +350,30 @@ public class XmGroupUserController {
public Result batchAddXmProjectGroupUser(@RequestBody List<XmGroupUser> gus) { public Result batchAddXmProjectGroupUser(@RequestBody List<XmGroupUser> gus) {
if(gus==null || gus.size()==0){ if(gus==null || gus.size()==0){
return ResponseHelper.failed("data-0","请上送要删除的小组成员");
return Result.error("data-0","请上送要删除的小组成员");
} }
if(gus.stream().filter(i->!StringUtils.hasText(i.getUserid())||!StringUtils.hasText(i.getGroupId())).findAny().isPresent()){ if(gus.stream().filter(i->!StringUtils.hasText(i.getUserid())||!StringUtils.hasText(i.getGroupId())).findAny().isPresent()){
return ResponseHelper.failed("userid-or-groupId-0","请上送用户编号及小组编号");
return Result.error("userid-or-groupId-0","请上送用户编号及小组编号");
}else{ }else{
for (XmGroupUser gu : gus) { for (XmGroupUser gu : gus) {
if (!"1".equals(gu.getPgClass()) && !StringUtils.hasText(gu.getProjectId())) { if (!"1".equals(gu.getPgClass()) && !StringUtils.hasText(gu.getProjectId())) {
return ResponseHelper.failed("projectId-0", "项目编号不能为空");
return Result.error("projectId-0", "项目编号不能为空");
} else if ("1".equals(gu.getPgClass()) && !StringUtils.hasText(gu.getProductId())) { } else if ("1".equals(gu.getPgClass()) && !StringUtils.hasText(gu.getProductId())) {
return ResponseHelper.failed("productId-0", "产品编号不能为空");
return Result.error("productId-0", "产品编号不能为空");
} }
if (!StringUtils.hasText(gu.getObranchId())) { if (!StringUtils.hasText(gu.getObranchId())) {
return ResponseHelper.failed("obranchId-0", "用户归属机构号不能为空");
return Result.error("obranchId-0", "用户归属机构号不能为空");
} }
if (!StringUtils.hasText(gu.getUserid())) { if (!StringUtils.hasText(gu.getUserid())) {
return ResponseHelper.failed("userid-0", "用户编号不能为空");
return Result.error("userid-0", "用户编号不能为空");
} }
if (!StringUtils.hasText(gu.getUsername())) { if (!StringUtils.hasText(gu.getUsername())) {
return ResponseHelper.failed("username-0", "用户名称不能为空");
return Result.error("username-0", "用户名称不能为空");
} }
if (!StringUtils.hasText(gu.getGroupId())) { if (!StringUtils.hasText(gu.getGroupId())) {
return ResponseHelper.failed("groupId-0", "要加入的组编号不能为空");
return Result.error("groupId-0", "要加入的组编号不能为空");
} }
} }
} }
@ -378,7 +381,7 @@ public class XmGroupUserController {
//过滤掉已经存在的 //过滤掉已经存在的
List<XmGroupUser> gusNoExists=gus.stream().filter(i->!(gusDb.stream().filter(k->k.getGroupId().equals(i.getGroupId())&&k.getUserid().equals(i.getUserid()))).findAny().isPresent()).collect(Collectors.toList()); List<XmGroupUser> gusNoExists=gus.stream().filter(i->!(gusDb.stream().filter(k->k.getGroupId().equals(i.getGroupId())&&k.getUserid().equals(i.getUserid()))).findAny().isPresent()).collect(Collectors.toList());
if(gusNoExists.size()==0){ if(gusNoExists.size()==0){
return ResponseHelper.failed("user-had-exists","成功添加0个组员。以下用户已在小组中,不用再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
return Result.error("user-had-exists","成功添加0个组员。以下用户已在小组中,不用再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmGroupUser gu=gusNoExists.get(0); XmGroupUser gu=gusNoExists.get(0);
@ -391,20 +394,20 @@ public class XmGroupUserController {
if("1".equals(pgClass)){ if("1".equals(pgClass)){
xmProduct=this.xmProductService.getProductFromCache(gu.getProductId()); xmProduct=this.xmProductService.getProductFromCache(gu.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
gus2=gusNoExists.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList()); gus2=gusNoExists.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList());
if(gus2.size()<gusNoExists.size()){ if(gus2.size()<gusNoExists.size()){
return ResponseHelper.failed("data-0","批量新增只能新增同一个产品的成员。");
return Result.error("data-0","批量新增只能新增同一个产品的成员。");
} }
}else { }else {
xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId());
if(xmProject==null){ if(xmProject==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
gus2=gusNoExists.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList()); gus2=gusNoExists.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList());
if(gus2.size()<gusNoExists.size()){ if(gus2.size()<gusNoExists.size()){
return ResponseHelper.failed("data-0","批量新增只能新增同一个项目的成员。");
return Result.error("data-0","批量新增只能新增同一个项目的成员。");
} }
} }
@ -487,13 +490,13 @@ public class XmGroupUserController {
public Result batchDelXmProjectGroupUser(@RequestBody List<XmGroupUser> gus) { public Result batchDelXmProjectGroupUser(@RequestBody List<XmGroupUser> gus) {
if(gus==null || gus.size()==0){ if(gus==null || gus.size()==0){
return ResponseHelper.failed("data-0","请上送要删除的小组成员");
return Result.error("data-0","请上送要删除的小组成员");
} }
List<XmGroupUser> gusDb=this.xmGroupUserService.selectListByIds(gus); List<XmGroupUser> gusDb=this.xmGroupUserService.selectListByIds(gus);
if(gusDb.size()==0){ if(gusDb.size()==0){
return ResponseHelper.failed("data-0","要删除的数据已不存在。");
return Result.error("data-0","要删除的数据已不存在。");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmGroupUser gu=gusDb.get(0); XmGroupUser gu=gusDb.get(0);
@ -506,20 +509,20 @@ public class XmGroupUserController {
if("1".equals(pgClass)){ if("1".equals(pgClass)){
xmProduct=this.xmProductService.getProductFromCache(gu.getProductId()); xmProduct=this.xmProductService.getProductFromCache(gu.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
return Result.error("product-0","产品已不存在");
} }
gus2=gusDb.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList()); gus2=gusDb.stream().filter(i->productId.equals(i.getProductId())).collect(Collectors.toList());
if(gus2.size()<gusDb.size()){ if(gus2.size()<gusDb.size()){
return ResponseHelper.failed("data-0","批量删除只能删除同一个产品的成员。");
return Result.error("data-0","批量删除只能删除同一个产品的成员。");
} }
}else { }else {
xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId()); xmProject=this.xmProjectService.getProjectFromCache(gu.getProjectId());
if(xmProject==null){ if(xmProject==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
gus2=gusDb.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList()); gus2=gusDb.stream().filter(i->projectId.equals(i.getProjectId())).collect(Collectors.toList());
if(gus2.size()<gusDb.size()){ if(gus2.size()<gusDb.size()){
return ResponseHelper.failed("data-0","批量删除只能删除同一个项目的成员。");
return Result.error("data-0","批量删除只能删除同一个项目的成员。");
} }
} }

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

@ -105,11 +105,11 @@ public class XmIterationMenuController {
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
List<String> menuIds=xmIterationMenus.getMenuIds(); List<String> menuIds=xmIterationMenus.getMenuIds();
if(menuIds==null || menuIds.size()==0){ if(menuIds==null || menuIds.size()==0){
return ResponseHelper.failed("menuIds-0","用户故事编号不能为空");
return Result.error("menuIds-0","用户故事编号不能为空");
} }
List<XmMenu> menus=operQxService.getUserCanOpMenusByIds(menuIds,user.getUserid(),false); List<XmMenu> menus=operQxService.getUserCanOpMenusByIds(menuIds,user.getUserid(),false);
if(menus==null || menus.size()==0){ if(menus==null || menus.size()==0){
return ResponseHelper.failed("menus-0","无权限操作");
return Result.error("menus-0","无权限操作");
} }
List<XmMenu> canOpList=menus; List<XmMenu> canOpList=menus;
List<XmMenu> notJoins=new ArrayList<>(); List<XmMenu> notJoins=new ArrayList<>();
@ -152,15 +152,15 @@ public class XmIterationMenuController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmIterationMenus.getIterationId())){ if(!StringUtils.hasText(xmIterationMenus.getIterationId())){
return ResponseHelper.failed("iterationId-0","迭代编号不能为空");
return Result.error("iterationId-0","迭代编号不能为空");
} }
List<String> menuIds=xmIterationMenus.getMenuIds(); List<String> menuIds=xmIterationMenus.getMenuIds();
if(menuIds==null || menuIds.size()==0){ if(menuIds==null || menuIds.size()==0){
return ResponseHelper.failed("menuIds-0","用户故事编号不能为空");
return Result.error("menuIds-0","用户故事编号不能为空");
} }
List<XmMenu> menus=operQxService.getUserCanOpMenusByIds(menuIds,user.getUserid(),false); List<XmMenu> menus=operQxService.getUserCanOpMenusByIds(menuIds,user.getUserid(),false);
if(menus==null || menus.size()==0){ if(menus==null || menus.size()==0){
return ResponseHelper.failed("no-qx-0","无权限操作");
return Result.error("no-qx-0","无权限操作");
} }
List<XmMenu> canOpList=menus; List<XmMenu> canOpList=menus;
List<XmMenu> hadJoin=new ArrayList<>(); List<XmMenu> hadJoin=new ArrayList<>();
@ -186,14 +186,14 @@ public class XmIterationMenuController {
if(canAdds.size()>0){ if(canAdds.size()>0){
XmIteration xmIteration=xmIterationService.selectOneObject(new XmIteration(xmIterationMenus.getIterationId())); XmIteration xmIteration=xmIterationService.selectOneObject(new XmIteration(xmIterationMenus.getIterationId()));
if(!"0".equals(xmIteration.getIphase()) && !"1".equals(xmIteration.getIphase())){ if(!"0".equals(xmIteration.getIphase()) && !"1".equals(xmIteration.getIphase())){
return ResponseHelper.failed("iphase-not-0-1",xmIteration.getIterationName()+"已过了用户故事评审阶段,不能再添加用户故事");
return Result.error("iphase-not-0-1",xmIteration.getIterationName()+"已过了用户故事评审阶段,不能再添加用户故事");
} }
if(xmIteration==null){ if(xmIteration==null){
return ResponseHelper.failed("iteration-0","迭代不存在");
return Result.error("iteration-0","迭代不存在");
} }
msgs.add("成功将"+canAdds.size()+"个用户故事加入迭代"); msgs.add("成功将"+canAdds.size()+"个用户故事加入迭代");
if("1".equals(xmIteration.getIstatus())||"7".equals(xmIteration.getIphase())){ if("1".equals(xmIteration.getIstatus())||"7".equals(xmIteration.getIphase())){
return ResponseHelper.failed("istatus-1","迭代已关闭");
return Result.error("istatus-1","迭代已关闭");
} }
xmIterationMenus.setIterationName(xmIteration.getIterationName()); xmIterationMenus.setIterationName(xmIteration.getIterationName());
xmIterationMenus.setMenuIds(canAdds.stream().map(i->i.getMenuId()).collect(Collectors.toList())); xmIterationMenus.setMenuIds(canAdds.stream().map(i->i.getMenuId()).collect(Collectors.toList()));

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

@ -105,7 +105,7 @@ public class XmMenuCommentController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenuComment.getMenuId()); XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenuComment.getMenuId());
if(xmMenuDb==null){ if(xmMenuDb==null){
return ResponseHelper.failed("xmMenu-0","需求已不存在");
return Result.error("xmMenu-0","需求已不存在");
} }
xmMenuComment.setId(xmMenuCommentService.createKey("id")); xmMenuComment.setId(xmMenuCommentService.createKey("id"));
xmMenuComment.setBranchId(user.getBranchId()); xmMenuComment.setBranchId(user.getBranchId());
@ -135,13 +135,13 @@ public class XmMenuCommentController {
XmMenuComment commentDb=this.xmMenuCommentService.selectOneById(xmMenuComment.getId()); XmMenuComment commentDb=this.xmMenuCommentService.selectOneById(xmMenuComment.getId());
if(commentDb==null){ if(commentDb==null){
return ResponseHelper.failed("data-0","评论已不存在");
return Result.error("data-0","评论已不存在");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(!LoginUtils.isSuperAdmin()){ if(!LoginUtils.isSuperAdmin()){
if(!LoginUtils.isBranchAdmin(commentDb.getBranchId())){ if(!LoginUtils.isBranchAdmin(commentDb.getBranchId())){
if(!user.getUserid().equals(commentDb.getUserid())){ if(!user.getUserid().equals(commentDb.getUserid())){
return ResponseHelper.failed("no-qx-0","无权限删除评论");
return Result.error("no-qx-0","无权限删除评论");
} }
} }
} }
@ -176,14 +176,14 @@ public class XmMenuCommentController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids)); List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){ if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
return Result.error("data-0","评论已不存在");
} }
boolean isSuperAdmin=LoginUtils.isSuperAdmin(); boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) { for (XmMenuComment comment : comments) {
if(!isSuperAdmin){ if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){ if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){ if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限屏蔽评论【"+comment.getContext()+"】");
return Result.error("无权限修改","无权限屏蔽评论【"+comment.getContext()+"】");
} }
} }
} }
@ -203,14 +203,14 @@ public class XmMenuCommentController {
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids)); List<XmMenuComment> comments=this.xmMenuCommentService.selectListByIds(Arrays.asList(ids));
if(comments==null || comments.size()==0){ if(comments==null || comments.size()==0){
return ResponseHelper.failed("data-0","评论已不存在");
return Result.error("data-0","评论已不存在");
} }
boolean isSuperAdmin=LoginUtils.isSuperAdmin(); boolean isSuperAdmin=LoginUtils.isSuperAdmin();
for (XmMenuComment comment : comments) { for (XmMenuComment comment : comments) {
if(!isSuperAdmin){ if(!isSuperAdmin){
if(!LoginUtils.isBranchAdmin(comment.getBranchId())){ if(!LoginUtils.isBranchAdmin(comment.getBranchId())){
if(!user.getUserid().equals(comment.getUserid())){ if(!user.getUserid().equals(comment.getUserid())){
return ResponseHelper.failed("无权限修改","无权限打开此评论【"+comment.getContext()+"】");
return Result.error("无权限修改","无权限打开此评论【"+comment.getContext()+"】");
} }
} }
} }

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

@ -262,13 +262,13 @@ public class XmMenuController {
} }
if(!StringUtils.hasText(xmMenu.getPmenuId())|| "0".equals(xmMenu.getPmenuId())){ if(!StringUtils.hasText(xmMenu.getPmenuId())|| "0".equals(xmMenu.getPmenuId())){
if(!"1".equals(xmMenu.getDclass())){ if(!"1".equals(xmMenu.getDclass())){
return ResponseHelper.failed("dclass-not-1","一级需求目录只能是史诗");
return Result.error("dclass-not-1","一级需求目录只能是史诗");
} }
} }
XmProduct xmProduct= productService.getProductFromCache(xmMenu.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenu.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("data-0","产品已不存在");
return Result.error("data-0","产品已不存在");
} }
Tips tips=productQxService.checkProductQx(xmProduct,2,user); Tips tips=productQxService.checkProductQx(xmProduct,2,user);
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
@ -315,7 +315,7 @@ public class XmMenuController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmTask xmTask = new XmTask(); XmTask xmTask = new XmTask();
if(StringUtils.isEmpty(xmMenu.getMenuId())){ if(StringUtils.isEmpty(xmMenu.getMenuId())){
return ResponseHelper.failed("menuId-0","需求编号不能为空");
return Result.error("menuId-0","需求编号不能为空");
} }
xmTask.setMenuId(xmMenu.getMenuId()); xmTask.setMenuId(xmMenu.getMenuId());
long taskCount=xmTaskService.countByWhere(xmTask); long taskCount=xmTaskService.countByWhere(xmTask);
@ -324,17 +324,17 @@ public class XmMenuController {
}else { }else {
XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId()); XmMenu xmMenuDb=this.xmMenuService.selectOneById(xmMenu.getMenuId());
if(xmMenuDb==null){ if(xmMenuDb==null){
return ResponseHelper.failed("data-0","该需求已不存在");
return Result.error("data-0","该需求已不存在");
} }
XmMenu xmMenuCount=new XmMenu(); XmMenu xmMenuCount=new XmMenu();
xmMenuCount.setPmenuId(xmMenu.getMenuId()); xmMenuCount.setPmenuId(xmMenu.getMenuId());
long childrenCnt=this.xmMenuService.countByWhere(xmMenuCount); long childrenCnt=this.xmMenuService.countByWhere(xmMenuCount);
if(childrenCnt>0){ if(childrenCnt>0){
return ResponseHelper.failed("childrenCnt-1","存在"+childrenCnt+"个子需求,不允许删除,请先删除子需求");
return Result.error("childrenCnt-1","存在"+childrenCnt+"个子需求,不允许删除,请先删除子需求");
} }
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
return Result.error("product-data-0","产品已不存在");
} }
if(!groupService.checkUserIsProductAdm(xmProduct, user.getUserid())){ if(!groupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
Tips tips =productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null); Tips tips =productQxService.checkProductQx(xmProduct,2,user,xmMenuDb.getMmUserid(),xmMenuDb.getMmUsername(),null);
@ -362,7 +362,7 @@ public class XmMenuController {
List<String> menuIds= (List<String>) xmMenuMap.get("menuIds"); List<String> menuIds= (List<String>) xmMenuMap.get("menuIds");
if(menuIds==null || menuIds.size()==0){ if(menuIds==null || menuIds.size()==0){
return ResponseHelper.failed("menuIds-0","menuIds不能为空");
return Result.error("menuIds-0","menuIds不能为空");
} }
Set<String> fields=new HashSet<>(); Set<String> fields=new HashSet<>();
@ -373,29 +373,29 @@ public class XmMenuController {
fields.add("pbranchId"); fields.add("pbranchId");
for (String fieldName : xmMenuMap.keySet()) { for (String fieldName : xmMenuMap.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改");
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
} }
} }
Set<String> fieldKey=xmMenuMap.keySet().stream().filter(i->fieldsMap.containsKey(i)).collect(Collectors.toSet()); Set<String> fieldKey=xmMenuMap.keySet().stream().filter(i->fieldsMap.containsKey(i)).collect(Collectors.toSet());
fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmMenuMap.get(i) )).collect(Collectors.toSet()); fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmMenuMap.get(i) )).collect(Collectors.toSet());
if(fieldKey.size()<=0) { if(fieldKey.size()<=0) {
return ResponseHelper.failed("fieldKey-0","没有需要更新的字段");
return Result.error("fieldKey-0","没有需要更新的字段");
} }
XmMenu xmMenu= BaseUtils.fromMap(xmMenuMap,XmMenu.class); XmMenu xmMenu= BaseUtils.fromMap(xmMenuMap,XmMenu.class);
List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(menuIds); List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(menuIds);
if(xmMenusDb==null ||xmMenusDb.size()==0){ if(xmMenusDb==null ||xmMenusDb.size()==0){
return ResponseHelper.failed("menus-0","需求均已不存在");
return Result.error("menus-0","需求均已不存在");
} }
XmMenu xmMenuDb=xmMenusDb.get(0); XmMenu xmMenuDb=xmMenusDb.get(0);
if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){ if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("no-same-productId","批量操作只能在同一个产品进行。");
return Result.error("no-same-productId","批量操作只能在同一个产品进行。");
} }
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
return Result.error("product-data-0","产品已不存在");
} }
Tips tips=productQxService.checkProductQx(xmProduct,2,user); Tips tips=productQxService.checkProductQx(xmProduct,2,user);
@ -481,15 +481,15 @@ public class XmMenuController {
List<XmMenu> canDelList=new ArrayList<>(); List<XmMenu> canDelList=new ArrayList<>();
List<String> menuIds=xmMenus.stream().map(k->k.getMenuId()).collect(Collectors.toSet()).stream().collect(Collectors.toList()); List<String> menuIds=xmMenus.stream().map(k->k.getMenuId()).collect(Collectors.toSet()).stream().collect(Collectors.toList());
if(menuIds==null||menuIds.size()<=0){ if(menuIds==null||menuIds.size()<=0){
return ResponseHelper.failed("menuIds-0","需求编号不能为空");
return Result.error("menuIds-0","需求编号不能为空");
} }
List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIdsWithsChildrenCnt(menuIds); List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIdsWithsChildrenCnt(menuIds);
if(xmMenusDb==null ||xmMenusDb.size()==0){ if(xmMenusDb==null ||xmMenusDb.size()==0){
return ResponseHelper.failed("menus-0","需求均已不存在");
return Result.error("menus-0","需求均已不存在");
} }
XmMenu xmMenuDb=xmMenusDb.get(0); XmMenu xmMenuDb=xmMenusDb.get(0);
if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){ if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("no-same-productId","批量操作只能在同一个产品进行。");
return Result.error("no-same-productId","批量操作只能在同一个产品进行。");
} }
List<XmMenu> canOper=new ArrayList<>(); List<XmMenu> canOper=new ArrayList<>();
@ -498,7 +498,7 @@ public class XmMenuController {
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
return Result.error("product-data-0","产品已不存在");
} }
if(groupService.checkUserIsProductAdm(xmProduct,user.getUserid())){ if(groupService.checkUserIsProductAdm(xmProduct,user.getUserid())){
canOper.addAll(xmMenusDb); canOper.addAll(xmMenusDb);
@ -588,7 +588,7 @@ public class XmMenuController {
return Result.error("menuIds-0", "需求列表编号不能为空"); return Result.error("menuIds-0", "需求列表编号不能为空");
} }
if(!StringUtils.hasText(parentMenuVo.getPmenuId())){ if(!StringUtils.hasText(parentMenuVo.getPmenuId())){
return ResponseHelper.failed("parentMenuid-0", "上级编号不能为空");
return Result.error("parentMenuid-0", "上级编号不能为空");
} }
List<String> ids=parentMenuVo.getMenuIds().stream().collect(Collectors.toList()); List<String> ids=parentMenuVo.getMenuIds().stream().collect(Collectors.toList());
@ -596,19 +596,19 @@ public class XmMenuController {
ids=ids.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList()); ids=ids.stream().collect(Collectors.toSet()).stream().collect(Collectors.toList());
List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(ids); List<XmMenu> xmMenusDb=this.xmMenuService.selectListByIds(ids);
if(xmMenusDb==null ||xmMenusDb.size()==0){ if(xmMenusDb==null ||xmMenusDb.size()==0){
return ResponseHelper.failed("menus-0","需求均已不存在");
return Result.error("menus-0","需求均已不存在");
} }
XmMenu xmMenuDb=xmMenusDb.get(0); XmMenu xmMenuDb=xmMenusDb.get(0);
if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){ if(xmMenusDb.stream().filter(k->!xmMenuDb.getProductId().equals(k.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("no-same-productId","批量操作只能在同一个产品进行。");
return Result.error("no-same-productId","批量操作只能在同一个产品进行。");
} }
Optional<XmMenu> optional=xmMenusDb.stream().filter(k->k.getMenuId().equals(parentMenuVo.getPmenuId())).findAny(); Optional<XmMenu> optional=xmMenusDb.stream().filter(k->k.getMenuId().equals(parentMenuVo.getPmenuId())).findAny();
if(!optional.isPresent()){ if(!optional.isPresent()){
return ResponseHelper.failed("no-parent","上级需求不存在");
return Result.error("no-parent","上级需求不存在");
} }
XmMenu parentDb=optional.get(); XmMenu parentDb=optional.get();
if( !"1".equals(parentDb.getDclass()) && !"2".equals(parentDb.getDclass()) && !"0".equals(parentDb.getDclass())){ if( !"1".equals(parentDb.getDclass()) && !"2".equals(parentDb.getDclass()) && !"0".equals(parentDb.getDclass())){
return ResponseHelper.failed("parentMenu-dclass-not-1", "【"+parentDb.getMenuName()+"】为故事,不能作为上级节点。请另选上级。");
return Result.error("parentMenu-dclass-not-1", "【"+parentDb.getMenuName()+"】为故事,不能作为上级节点。请另选上级。");
} }
List<XmMenu> canOper=new ArrayList<>(); List<XmMenu> canOper=new ArrayList<>();
List<XmMenu> noOper=new ArrayList<>(); List<XmMenu> noOper=new ArrayList<>();
@ -616,7 +616,7 @@ public class XmMenuController {
XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId()); XmProduct xmProduct= productService.getProductFromCache(xmMenuDb.getProductId());
if(xmProduct==null){ if(xmProduct==null){
return ResponseHelper.failed("product-data-0","产品已不存在");
return Result.error("product-data-0","产品已不存在");
} }
if(groupService.checkUserIsProductAdm(xmProduct,user.getUserid())){ if(groupService.checkUserIsProductAdm(xmProduct,user.getUserid())){
canOper.addAll(xmMenusDb); canOper.addAll(xmMenusDb);
@ -627,7 +627,7 @@ public class XmMenuController {
canOper.add(xm); canOper.add(xm);
}else{ }else{
if(xm.getMenuId().equals(parentDb.getMenuId())){ if(xm.getMenuId().equals(parentDb.getMenuId())){
return ResponseHelper.failed("pmenu-id-0",String.format("无权限挂接需求到【%s】,原因【%s】",xm.getMenuName(),tips.getMsg()));
return Result.error("pmenu-id-0",String.format("无权限挂接需求到【%s】,原因【%s】",xm.getMenuName(),tips.getMsg()));
} }
noOper.add(xm); noOper.add(xm);
noOperTips.put(tips.getMsg(),tips); noOperTips.put(tips.getMsg(),tips);
@ -640,10 +640,10 @@ public class XmMenuController {
List<XmMenu> canOpxmMenus=xmMenusDb.stream().filter(i->!parentDb.getMenuId().equals(i.getPmenuId())).collect(Collectors.toList()); List<XmMenu> canOpxmMenus=xmMenusDb.stream().filter(i->!parentDb.getMenuId().equals(i.getPmenuId())).collect(Collectors.toList());
List<XmMenu> sameParentMenus=xmMenusDb.stream().filter(i->parentDb.getMenuId().equals(i.getPmenuId())).collect(Collectors.toList()); List<XmMenu> sameParentMenus=xmMenusDb.stream().filter(i->parentDb.getMenuId().equals(i.getPmenuId())).collect(Collectors.toList());
if(canOpxmMenus.size()==0){ if(canOpxmMenus.size()==0){
return ResponseHelper.failed("same-parent","所有需求均属于【"+parentDb.getMenuName()+"】,无需再变更");
return Result.error("same-parent","所有需求均属于【"+parentDb.getMenuName()+"】,无需再变更");
} }
if(canOpxmMenus.stream().filter(i->!i.getProductId().equals(parentDb.getProductId())).findAny().isPresent()){ if(canOpxmMenus.stream().filter(i->!i.getProductId().equals(parentDb.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("productId-not-same", "所有需求必须都是同一个产品之下");
return Result.error("productId-not-same", "所有需求必须都是同一个产品之下");
} }
Map<String,XmMenu> allowMenusDbMap=new HashMap<>(); Map<String,XmMenu> allowMenusDbMap=new HashMap<>();

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

@ -320,7 +320,7 @@ public class XmProductController {
if(!"1".equals(xmProductDb.getIsTpl())){ if(!"1".equals(xmProductDb.getIsTpl())){
long menus=xmProductService.checkExistsMenu(xmProduct.getId()); long menus=xmProductService.checkExistsMenu(xmProduct.getId());
if(menus>0) { if(menus>0) {
return ResponseHelper.failed("had-menus","该产品有"+menus+"个需求关联,不允许删除,请先解绑需求");
return Result.error("had-menus","该产品有"+menus+"个需求关联,不允许删除,请先解绑需求");
} }
} }
@ -369,7 +369,7 @@ public class XmProductController {
if(!"1".equals(xmProductDb.getIsTpl())){ if(!"1".equals(xmProductDb.getIsTpl())){
long menus=xmProductService.checkExistsMenu(xmProduct.getId()); long menus=xmProductService.checkExistsMenu(xmProduct.getId());
if(menus>0) { if(menus>0) {
return ResponseHelper.failed("had-menus","该产品有"+menus+"个需求关联,不允许删除,请先解绑需求");
return Result.error("had-menus","该产品有"+menus+"个需求关联,不允许删除,请先解绑需求");
} }
} }

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

@ -84,10 +84,10 @@ public class XmProductProjectLinkController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmProductProjectLink.getProductId())){ if(!StringUtils.hasText(xmProductProjectLink.getProductId())){
return ResponseHelper.failed("productId-0","产品编号不能为空");
return Result.error("productId-0","产品编号不能为空");
} }
if(!StringUtils.hasText(xmProductProjectLink.getProjectId())){ if(!StringUtils.hasText(xmProductProjectLink.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
return Result.error("projectId-0","项目编号不能为空");
} }
if(xmProductProjectLinkService.selectOneObject(xmProductProjectLink) !=null ){ if(xmProductProjectLinkService.selectOneObject(xmProductProjectLink) !=null ){
return Result.error("已加入,无需再添加"); return Result.error("已加入,无需再添加");
@ -95,7 +95,7 @@ public class XmProductProjectLinkController {
} }
if(!xmGroupService.checkUserIsProductAdm(xmProductProjectLink.getProductId(),user.getUserid())){ if(!xmGroupService.checkUserIsProductAdm(xmProductProjectLink.getProductId(),user.getUserid())){
if(!xmGroupService.checkUserIsProjectAdm(xmProductProjectLink.getProjectId(),user.getUserid())){ if(!xmGroupService.checkUserIsProjectAdm(xmProductProjectLink.getProjectId(),user.getUserid())){
return ResponseHelper.failed("not-pm","您不是项目管理人员、也不是产品管理人员,无权关联");
return Result.error("not-pm","您不是项目管理人员、也不是产品管理人员,无权关联");
} }
}; };
xmProductProjectLink.setCtime(new Date()); xmProductProjectLink.setCtime(new Date());
@ -119,19 +119,19 @@ public class XmProductProjectLinkController {
User user = LoginUtils.getCurrentUserInfo(); User user = LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmProductProjectLink.getProductId())){ if(!StringUtils.hasText(xmProductProjectLink.getProductId())){
return ResponseHelper.failed("productId-0","产品编号不能为空");
return Result.error("productId-0","产品编号不能为空");
} }
if(!StringUtils.hasText(xmProductProjectLink.getProjectId())){ if(!StringUtils.hasText(xmProductProjectLink.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
return Result.error("projectId-0","项目编号不能为空");
} }
if(!xmGroupService.checkUserIsProductAdm(xmProductProjectLink.getProductId(),user.getUserid())){ if(!xmGroupService.checkUserIsProductAdm(xmProductProjectLink.getProductId(),user.getUserid())){
if(!xmGroupService.checkUserIsProjectAdm(xmProductProjectLink.getProjectId(),user.getUserid())){ if(!xmGroupService.checkUserIsProjectAdm(xmProductProjectLink.getProjectId(),user.getUserid())){
return ResponseHelper.failed("not-pm","您不是项目管理人员、也不是产品管理人员,无权取消关联");
return Result.error("not-pm","您不是项目管理人员、也不是产品管理人员,无权取消关联");
} }
}; };
List<XmTask> tasks=xmTaskService.listTenTaskByProjectIdAndProductId(xmProductProjectLink.getProjectId(),xmProductProjectLink.getProductId()); List<XmTask> tasks=xmTaskService.listTenTaskByProjectIdAndProductId(xmProductProjectLink.getProjectId(),xmProductProjectLink.getProductId());
if(tasks!=null && tasks.size()>0){ if(tasks!=null && tasks.size()>0){
return ResponseHelper.failed("tasks-not-0","存在至少"+tasks.size()+"个任务与产品关联,不能移出.关联任务【"+tasks.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
return Result.error("tasks-not-0","存在至少"+tasks.size()+"个任务与产品关联,不能移出.关联任务【"+tasks.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
} }
xmProductProjectLinkService.deleteByPk(xmProductProjectLink); xmProductProjectLinkService.deleteByPk(xmProductProjectLink);
return Result.ok(); return Result.ok();
@ -161,7 +161,7 @@ public class XmProductProjectLinkController {
List<Map<String,Object>> ids= (List<Map<String, Object>>) map.get("pkList"); List<Map<String,Object>> ids= (List<Map<String, Object>>) map.get("pkList");
if(ids==null || ids.size()==0){ if(ids==null || ids.size()==0){
ResponseHelper.failed("ids-0","ids不能为空");
Result.error("ids-0","ids不能为空");
} }
Set<String> fields=new HashSet<>(); Set<String> fields=new HashSet<>();
@ -169,14 +169,14 @@ public class XmProductProjectLinkController {
fields.add("projectId"); fields.add("projectId");
for (String fieldName : map.keySet()) { for (String fieldName : map.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改");
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
} }
} }
Set<String> fieldKey=map.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet()); Set<String> fieldKey=map.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet());
fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(map.get(i) )).collect(Collectors.toSet()); fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(map.get(i) )).collect(Collectors.toSet());
if(fieldKey.size()<=0) { if(fieldKey.size()<=0) {
return ResponseHelper.failed("fieldKey-0","没有需要更新的字段");
return Result.error("fieldKey-0","没有需要更新的字段");
} }
this.xmProductProjectLinkService.editSomeFields(map); this.xmProductProjectLinkService.editSomeFields(map);
return Result.ok(); return Result.ok();

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

@ -282,11 +282,11 @@ public class XmQuestionController {
List<String> ids= (List<String>) xmQuestionMap.get("ids"); List<String> ids= (List<String>) xmQuestionMap.get("ids");
if(ids==null || ids.size()==0){ if(ids==null || ids.size()==0){
ResponseHelper.failed("ids-0","ids不能为空");
Result.error("ids-0","ids不能为空");
} }
List<XmQuestion> xmQuestionsDb=xmQuestionService.selectListByIds(ids); List<XmQuestion> xmQuestionsDb=xmQuestionService.selectListByIds(ids);
if(xmQuestionsDb==null ||xmQuestionsDb.size()==0){ if(xmQuestionsDb==null ||xmQuestionsDb.size()==0){
ResponseHelper.failed("bugs-0","该bug已不存在");
Result.error("bugs-0","该bug已不存在");
} }
List<XmQuestion> canOper=new ArrayList<>(); List<XmQuestion> canOper=new ArrayList<>();
@ -309,7 +309,7 @@ public class XmQuestionController {
Set<String> fields=new HashSet<>(); Set<String> fields=new HashSet<>();
for (String fieldName : xmQuestionMap.keySet()) { for (String fieldName : xmQuestionMap.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改");
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
} }
} }
if(StringUtils.hasText(xmQuestionsDb.get(0).getProductId()) && xmQuestionMap.containsKey("handlerUserid")){ if(StringUtils.hasText(xmQuestionsDb.get(0).getProductId()) && xmQuestionMap.containsKey("handlerUserid")){
@ -411,11 +411,11 @@ public class XmQuestionController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(xmQuestions==null || xmQuestions.size()==0){ if(xmQuestions==null || xmQuestions.size()==0){
return ResponseHelper.failed("p-0","参数不能为空");
return Result.error("p-0","参数不能为空");
} }
List<XmQuestion> xmQuestionsDb=xmQuestionService.selectListByIds(xmQuestions.stream().map(i->i.getId()).collect(Collectors.toList())); List<XmQuestion> xmQuestionsDb=xmQuestionService.selectListByIds(xmQuestions.stream().map(i->i.getId()).collect(Collectors.toList()));
if(xmQuestionsDb==null || xmQuestionsDb.size()==0){ if(xmQuestionsDb==null || xmQuestionsDb.size()==0){
return ResponseHelper.failed("data-0","所有数据已不存在");
return Result.error("data-0","所有数据已不存在");
} }
List<XmQuestion> canOper=new ArrayList<>(); List<XmQuestion> canOper=new ArrayList<>();

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

@ -115,21 +115,21 @@ public class XmTaskBidOrderController {
public Result addXmTaskBidOrder(@RequestBody AddXmTaskBidOrderVo bidOrderVo) { public Result addXmTaskBidOrder(@RequestBody AddXmTaskBidOrderVo bidOrderVo) {
if(!StringUtils.hasText(bidOrderVo.getTaskId())){ if(!StringUtils.hasText(bidOrderVo.getTaskId())){
return ResponseHelper.failed("taskId-0","任务编号不能为空");
return Result.error("taskId-0","任务编号不能为空");
} }
XmTask xmTaskDb=this.xmTaskService.selectOneById(bidOrderVo.getTaskId()); XmTask xmTaskDb=this.xmTaskService.selectOneById(bidOrderVo.getTaskId());
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","任务已不存在");
return Result.error("data-0","任务已不存在");
} }
if(!"1".equals(xmTaskDb.getTaskOut())){ if(!"1".equals(xmTaskDb.getTaskOut())){
return ResponseHelper.failed("taskOut-0","不是外包任务,无须付款");
return Result.error("taskOut-0","不是外包任务,无须付款");
} }
if(!"1".equals(xmTaskDb.getCrowd())){ if(!"1".equals(xmTaskDb.getCrowd())){
return ResponseHelper.failed("taskOut-0","不是众包任务,无须付款");
return Result.error("taskOut-0","不是众包任务,无须付款");
} }
if(!"2".equals(xmTaskDb.getBidStep()) ){ if(!"2".equals(xmTaskDb.getBidStep()) ){
return ResponseHelper.failed("bidStep-no-2","当前任务不是投标阶段,无须购买投标直通车");
return Result.error("bidStep-no-2","当前任务不是投标阶段,无须购买投标直通车");
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
User userInterests=sysClient.getUserInterestsByUserid(user.getUserid()); User userInterests=sysClient.getUserInterestsByUserid(user.getUserid());

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

@ -259,7 +259,7 @@ public class XmTaskController {
List<String> ids= (List<String>) xmTaskMap.get("ids"); List<String> ids= (List<String>) xmTaskMap.get("ids");
if(ids==null || ids.size()==0){ if(ids==null || ids.size()==0){
return ResponseHelper.failed("ids-0","ids不能为空");
return Result.error("ids-0","ids不能为空");
} }
if(xmTaskMap.containsKey("executorUserid")){ if(xmTaskMap.containsKey("executorUserid")){
if(ids.size()>1){ if(ids.size()>1){
@ -310,22 +310,22 @@ public class XmTaskController {
fields.add("quoteFinalAt"); fields.add("quoteFinalAt");
for (String fieldName : xmTaskMap.keySet()) { for (String fieldName : xmTaskMap.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改");
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
} }
} }
Set<String> fieldKey=xmTaskMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet()); Set<String> fieldKey=xmTaskMap.keySet().stream().filter(i-> fieldsMap.containsKey(i)).collect(Collectors.toSet());
fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmTaskMap.get(i) )).collect(Collectors.toSet()); fieldKey=fieldKey.stream().filter(i->!StringUtils.isEmpty(xmTaskMap.get(i) )).collect(Collectors.toSet());
if(fieldKey.size()<=0) { if(fieldKey.size()<=0) {
return ResponseHelper.failed("fieldKey-0","没有需要更新的字段");
return Result.error("fieldKey-0","没有需要更新的字段");
} }
if(fieldKey.contains("budgetAt") && ids.size()>1){ if(fieldKey.contains("budgetAt") && ids.size()>1){
return ResponseHelper.failed("ids-to0-more","修改预算只能一次修改一条数据");
return Result.error("ids-to0-more","修改预算只能一次修改一条数据");
} }
XmTask xmTask= BaseUtils.fromMap(xmTaskMap,XmTask.class); XmTask xmTask= BaseUtils.fromMap(xmTaskMap,XmTask.class);
List<XmTask> xmTasksDb=xmTaskService.selectListByIds(ids); List<XmTask> xmTasksDb=xmTaskService.selectListByIds(ids);
if(xmTasksDb==null ||xmTasksDb.size()==0){ if(xmTasksDb==null ||xmTasksDb.size()==0){
return ResponseHelper.failed("tasks-0","该任务已不存在");
return Result.error("tasks-0","该任务已不存在");
} }
Map<String,XmProject> projectMap=new HashMap<>(); Map<String,XmProject> projectMap=new HashMap<>();
@ -339,7 +339,7 @@ public class XmTaskController {
projectMap.put(xmProject.getId(),xmProject); projectMap.put(xmProject.getId(),xmProject);
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,createUserid,createUsername,cbranchId); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,createUserid,createUsername,cbranchId);
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
}; };
} }
@ -372,7 +372,7 @@ public class XmTaskController {
BigDecimal budgetAt=NumberUtil.getBigDecimal(xmTaskMap.get("budgetAt"),BigDecimal.ZERO); BigDecimal budgetAt=NumberUtil.getBigDecimal(xmTaskMap.get("budgetAt"),BigDecimal.ZERO);
if(xmProject.getMaxTaskAmt()!=null && xmProject.getMaxTaskAmt().compareTo(BigDecimal.ZERO)>0){ if(xmProject.getMaxTaskAmt()!=null && xmProject.getMaxTaskAmt().compareTo(BigDecimal.ZERO)>0){
if(budgetAt.compareTo(xmProject.getMaxTaskAmt())>0){ if(budgetAt.compareTo(xmProject.getMaxTaskAmt())>0){
return ResponseHelper.failed("budgetAt-maxTaskAmt-0",String.format("单个任务的金额超出预算。每个任务的预算最大为%s元",xmProject.getMaxTaskAmt()));
return Result.error("budgetAt-maxTaskAmt-0",String.format("单个任务的金额超出预算。每个任务的预算最大为%s元",xmProject.getMaxTaskAmt()));
} }
} }
if("1".equals(xmProject.getBudgetCtrl())){ if("1".equals(xmProject.getBudgetCtrl())){
@ -472,16 +472,16 @@ public class XmTaskController {
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params); Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params);
// 检测任务是否可被查询 // 检测任务是否可被查询
if(taskDb==null|| taskDb.isEmpty()){ if(taskDb==null|| taskDb.isEmpty()){
return ResponseHelper.failed("data-0","数据不存在");
return Result.error("data-0","数据不存在");
} }
String toTaskCenter= (String) taskDb.get("toTaskCenter"); String toTaskCenter= (String) taskDb.get("toTaskCenter");
String crowd= (String) taskDb.get("crowd"); String crowd= (String) taskDb.get("crowd");
if( ! "1".equals(crowd) ){ if( ! "1".equals(crowd) ){
return ResponseHelper.failed("crowd-0","非众包任务,无权查看");
return Result.error("crowd-0","非众包任务,无权查看");
} }
if( ! "1".equals(toTaskCenter)){ if( ! "1".equals(toTaskCenter)){
return ResponseHelper.failed("toTaskCenter-0","未开放互联网访问权限");
return Result.error("toTaskCenter-0","未开放互联网访问权限");
} }
XmTaskCalcService.putReadNum((String) taskDb.get("id"),1); XmTaskCalcService.putReadNum((String) taskDb.get("id"),1);
return Result.ok().setData(taskDb); return Result.ok().setData(taskDb);
@ -506,7 +506,7 @@ public class XmTaskController {
Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params); Map<String,Object> taskDb= xmTaskService.shareTaskDetail(params);
// 检测任务是否可被查询 // 检测任务是否可被查询
if(taskDb==null|| taskDb.isEmpty()){ if(taskDb==null|| taskDb.isEmpty()){
return ResponseHelper.failed("data-0","数据不存在");
return Result.error("data-0","数据不存在");
} }
XmTaskCalcService.putReadNum((String) taskDb.get("id"),1); XmTaskCalcService.putReadNum((String) taskDb.get("id"),1);
@ -528,7 +528,7 @@ public class XmTaskController {
} }
if(!StringUtils.hasText(xmTaskVo.getProjectId())){ if(!StringUtils.hasText(xmTaskVo.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
return Result.error("projectId-0","项目编号不能为空");
} }
Set<String> words=sensitiveWordService.getSensitiveWord(xmTaskVo.getName()); Set<String> words=sensitiveWordService.getSensitiveWord(xmTaskVo.getName());
@ -554,7 +554,7 @@ public class XmTaskController {
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskVo.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskVo.getProjectId());
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
if(StringUtils.hasText(xmTaskVo.getCreateUserid()) && !xmTaskVo.getCreateUserid().equals(user.getUserid())){ if(StringUtils.hasText(xmTaskVo.getCreateUserid()) && !xmTaskVo.getCreateUserid().equals(user.getUserid())){
tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),null); tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),null);
@ -563,12 +563,12 @@ public class XmTaskController {
if("1".equals(xmProject.getMenuLink()) && "0".equals(xmTaskVo.getNtype())){ if("1".equals(xmProject.getMenuLink()) && "0".equals(xmTaskVo.getNtype())){
if(!StringUtils.hasText(xmTaskVo.getMenuId())){ if(!StringUtils.hasText(xmTaskVo.getMenuId())){
return ResponseHelper.failed("menuId-0","该项目配置了任务必须关联需求,请关联需求后再提交");
return Result.error("menuId-0","该项目配置了任务必须关联需求,请关联需求后再提交");
} }
} }
if("1".equals(xmProject.getPhaseLink()) && "0".equals(xmTaskVo.getNtype())){ if("1".equals(xmProject.getPhaseLink()) && "0".equals(xmTaskVo.getNtype())){
if(!StringUtils.hasText(xmTaskVo.getParentTaskid())){ if(!StringUtils.hasText(xmTaskVo.getParentTaskid())){
return ResponseHelper.failed("parentTaskid-0","该项目配置了任务必须关联上级计划,请关联计划后再提交");
return Result.error("parentTaskid-0","该项目配置了任务必须关联上级计划,请关联计划后再提交");
} }
} }
xmTaskVo.setPbranchId(xmProject.getBranchId()); xmTaskVo.setPbranchId(xmProject.getBranchId());
@ -624,15 +624,15 @@ public class XmTaskController {
if(xmTaskVo.getSkills()!=null && xmTaskVo.getSkills().size()>0){ if(xmTaskVo.getSkills()!=null && xmTaskVo.getSkills().size()>0){
for (XmTaskSkill skill : xmTaskVo.getSkills()) { for (XmTaskSkill skill : xmTaskVo.getSkills()) {
if(!StringUtils.hasText(skill.getSkillId())){ if(!StringUtils.hasText(skill.getSkillId())){
return ResponseHelper.failed("skillId-0","标签编号不能为空");
return Result.error("skillId-0","标签编号不能为空");
} }
if(!StringUtils.hasText(skill.getSkillName())){ if(!StringUtils.hasText(skill.getSkillName())){
return ResponseHelper.failed("skillName-0","标签名称不能为空");
return Result.error("skillName-0","标签名称不能为空");
} }
/** /**
* 这个不控制 * 这个不控制
if(!StringUtils.hasText(skill.getCategoryId())){ if(!StringUtils.hasText(skill.getCategoryId())){
return ResponseHelper.failed("categoryId-0","标签分类不能为空");
return Result.error("categoryId-0","标签分类不能为空");
} }
*/ */
} }
@ -694,23 +694,23 @@ public class XmTaskController {
} }
XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTask);
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","数据已不存在");
return Result.error("data-0","数据已不存在");
} }
if(xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){ if(xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){
return ResponseHelper.failed("childrenCnt-no-0","有子计划任务不能删除");
return Result.error("childrenCnt-no-0","有子计划任务不能删除");
} }
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
if(xmProject!=null && groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(xmProject!=null && groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId()); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
} }
if(xmTaskService.checkExistsExecuser(xmTaskDb)){ if(xmTaskService.checkExistsExecuser(xmTaskDb)){
return ResponseHelper.failed("existsExecuser","有待验收、待结算的执行人,不能删除");
return Result.error("existsExecuser","有待验收、待结算的执行人,不能删除");
}; };
@ -746,13 +746,13 @@ public class XmTaskController {
if(!groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(!groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId()); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
} }
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),xmTaskVo.getCbranchId()); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskVo.getCreateUserid(),xmTaskVo.getCreateUsername(),xmTaskVo.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
XmTask xmTask=new XmTask(xmTaskVo.getId()); XmTask xmTask=new XmTask(xmTaskVo.getId());
xmTask.setCreateUserid(xmTaskVo.getCreateUserid()); xmTask.setCreateUserid(xmTaskVo.getCreateUserid());
@ -780,11 +780,11 @@ public class XmTaskController {
XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTaskVo); XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTaskVo);
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","任务已不存在");
return Result.error("data-0","任务已不存在");
} }
if("1".equals(xmTaskDb.getNtype())){ if("1".equals(xmTaskDb.getNtype())){
if("0".equals(xmTaskVo.getNtype()) && xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){ if("0".equals(xmTaskVo.getNtype()) && xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){
return ResponseHelper.failed("ntype-not-right","当前为计划节点,并且具有"+xmTaskDb.getChildrenCnt()+"个子节点,不能变更为任务节点");
return Result.error("ntype-not-right","当前为计划节点,并且具有"+xmTaskDb.getChildrenCnt()+"个子节点,不能变更为任务节点");
} }
}else{ }else{
if(xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){ if(xmTaskDb.getChildrenCnt()!=null && xmTaskDb.getChildrenCnt()>0){
@ -795,7 +795,7 @@ public class XmTaskController {
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId()); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user,xmTaskDb.getCreateUserid(),xmTaskDb.getCreateUsername(),xmTaskDb.getCbranchId());
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
this.xmTaskService.parentIdPathsCalcBeforeSave(xmTaskVo); this.xmTaskService.parentIdPathsCalcBeforeSave(xmTaskVo);
@ -834,7 +834,7 @@ public class XmTaskController {
} }
XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask);
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","任务已不存在");
return Result.error("data-0","任务已不存在");
} }
XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId()); XmProject xmProject=xmProjectService.getProjectFromCache(xmTaskDb.getProjectId());
@ -864,17 +864,17 @@ public class XmTaskController {
} }
if(!StringUtils.hasText(batchImportVo.getPtype())){ if(!StringUtils.hasText(batchImportVo.getPtype())){
return ResponseHelper.failed("ptype-0","请上送ptype,0代表项目计划(任务),1代表产品计划(任务)");
return Result.error("ptype-0","请上送ptype,0代表项目计划(任务),1代表产品计划(任务)");
} }
if(!StringUtils.hasText(batchImportVo.getProjectId())){ if(!StringUtils.hasText(batchImportVo.getProjectId())){
return ResponseHelper.failed("projectId-0","请上送项目编号");
return Result.error("projectId-0","请上送项目编号");
} }
String projectId=batchImportVo.getProjectId(); String projectId=batchImportVo.getProjectId();
String productId=batchImportVo.getProductId(); String productId=batchImportVo.getProductId();
XmProject xmProject=xmProjectService.getProjectFromCache(projectId); XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
Tips tips1=projectQxService.checkProjectQx(xmProject,2,user); Tips tips1=projectQxService.checkProjectQx(xmProject,2,user);
if(!tips1.isOk()){ if(!tips1.isOk()){
return ResponseHelper.failed(tips1);
return Result.error(tips1);
} }
Map<String,String> newIdMap=new HashMap<>(); Map<String,String> newIdMap=new HashMap<>();
if(!StringUtils.hasText(batchImportVo.getParentTaskid())){ if(!StringUtils.hasText(batchImportVo.getParentTaskid())){
@ -958,7 +958,7 @@ public class XmTaskController {
if(childBudgetAt.compareTo(BigDecimal.ZERO)>0){ if(childBudgetAt.compareTo(BigDecimal.ZERO)>0){
Tips tips = xmTaskService.judgetTaskBudget(pid,childBudgetAt,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList())); Tips tips = xmTaskService.judgetTaskBudget(pid,childBudgetAt,null,null,null,childs.stream().map(i->i.getId()).collect(Collectors.toList()));
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
return Result.error("budget-not-enought",tips.getMsg()+" 相关任务【"+childs.stream().map(i->i.getName()).collect(Collectors.joining(","))+"】");
} }
} }
} }
@ -1002,35 +1002,35 @@ public class XmTaskController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(tasksPhase==null){ if(tasksPhase==null){
return ResponseHelper.failed("params-0","参数不能为空");
return Result.error("params-0","参数不能为空");
} }
String phaseId=tasksPhase.getPhaseId(); String phaseId=tasksPhase.getPhaseId();
if( !StringUtils.hasText(phaseId) ){ if( !StringUtils.hasText(phaseId) ){
return ResponseHelper.failed("phaseId-0","项目计划编号不能为空");
return Result.error("phaseId-0","项目计划编号不能为空");
} }
XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(new XmProjectPhase(phaseId)); XmProjectPhase xmProjectPhaseDb=this.xmProjectPhaseService.selectOneObject(new XmProjectPhase(phaseId));
if(xmProjectPhaseDb==null){ if(xmProjectPhaseDb==null){
return ResponseHelper.failed("phase-0","计划【"+xmProjectPhaseDb.getName()+"】已不存在");
return Result.error("phase-0","计划【"+xmProjectPhaseDb.getName()+"】已不存在");
} }
if("1".equals(xmProjectPhaseDb.getNtype())){ if("1".equals(xmProjectPhaseDb.getNtype())){
return ResponseHelper.failed("phase-ntype-1","【"+xmProjectPhaseDb.getName()+"】属于计划集,无需关联任务。");
return Result.error("phase-ntype-1","【"+xmProjectPhaseDb.getName()+"】属于计划集,无需关联任务。");
} }
XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProjectPhaseDb.getProjectId()); XmProject xmProjectDb=this.xmProjectService.getProjectFromCache(xmProjectPhaseDb.getProjectId());
if(xmProjectDb==null){ if(xmProjectDb==null){
return ResponseHelper.failed("project-0","项目已不存在");
return Result.error("project-0","项目已不存在");
} }
if("8".equals(xmProjectDb.getStatus())){ if("8".equals(xmProjectDb.getStatus())){
return ResponseHelper.failed("project-status-8","项目已完成,不能再修改");
return Result.error("project-status-8","项目已完成,不能再修改");
} }
if( "9".equals(xmProjectDb.getStatus())){ if( "9".equals(xmProjectDb.getStatus())){
return ResponseHelper.failed("project-status-9","项目关闭,不能再修改");
return Result.error("project-status-9","项目关闭,不能再修改");
} }
List<XmGroupVo> pgroups=groupService.getProjectGroupVoList(xmProjectDb.getId()); List<XmGroupVo> pgroups=groupService.getProjectGroupVoList(xmProjectDb.getId());
if(pgroups==null || pgroups.size()==0){ if(pgroups==null || pgroups.size()==0){
return ResponseHelper.failed("group-0","该项目还未建立项目团队,请先进行团队成员维护");
return Result.error("group-0","该项目还未建立项目团队,请先进行团队成员维护");
} }
List<XmTask> allowTasks=new ArrayList<>(); List<XmTask> allowTasks=new ArrayList<>();
List<XmTask> noAllowTasks=new ArrayList<>(); List<XmTask> noAllowTasks=new ArrayList<>();
@ -1092,23 +1092,23 @@ public class XmTaskController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(tasksMenu==null||tasksMenu.getTaskIds()==null||tasksMenu.getTaskIds().size()==0 ){ if(tasksMenu==null||tasksMenu.getTaskIds()==null||tasksMenu.getTaskIds().size()==0 ){
return ResponseHelper.failed("tasks-0","任务列表不能为空");
return Result.error("tasks-0","任务列表不能为空");
}; };
if(!StringUtils.hasText(tasksMenu.getMenuId()) ){ if(!StringUtils.hasText(tasksMenu.getMenuId()) ){
return ResponseHelper.failed("menuId-0","需求编号不能为空");
return Result.error("menuId-0","需求编号不能为空");
}; };
XmMenu xmMenuDb= menuOperQxService.getUserCanOpMenuById(tasksMenu.getMenuId(), user.getUserid(), false); XmMenu xmMenuDb= menuOperQxService.getUserCanOpMenuById(tasksMenu.getMenuId(), user.getUserid(), false);
if(xmMenuDb==null){ if(xmMenuDb==null){
return ResponseHelper.failed("menu-0","无权限挂接任务到别人负责的需求上");
return Result.error("menu-0","无权限挂接任务到别人负责的需求上");
} }
if("8".equals(xmMenuDb.getStatus())){ if("8".equals(xmMenuDb.getStatus())){
return ResponseHelper.failed("menu-status-8","需求已下线");
return Result.error("menu-status-8","需求已下线");
} }
if("9".equals(xmMenuDb.getStatus())){ if("9".equals(xmMenuDb.getStatus())){
return ResponseHelper.failed("menu-status-8","需求已删除");
return Result.error("menu-status-8","需求已删除");
} }
List<XmTask> allowTasks=new ArrayList<>(); List<XmTask> allowTasks=new ArrayList<>();
List<XmTask> ntype1Tasks=new ArrayList<>(); List<XmTask> ntype1Tasks=new ArrayList<>();
@ -1192,18 +1192,18 @@ public class XmTaskController {
} }
XmTask xmTask=xmTasks.get(0); XmTask xmTask=xmTasks.get(0);
if(!StringUtils.hasText(xmTask.getId())){ if(!StringUtils.hasText(xmTask.getId())){
return ResponseHelper.failed("id-0","任务编号不能为空");
return Result.error("id-0","任务编号不能为空");
} }
XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=this.xmTaskService.selectOneObject(xmTask);
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","计划任务已不存在");
return Result.error("data-0","计划任务已不存在");
} }
String projectId=xmTaskDb.getProjectId(); String projectId=xmTaskDb.getProjectId();
XmProject xmProject=xmProjectService.getProjectFromCache(projectId); XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
Tips tips=projectQxService.checkProjectQx(xmProject,2,user); Tips tips=projectQxService.checkProjectQx(xmProject,2,user);
if(!tips.isOk()){ if(!tips.isOk()){
return ResponseHelper.failed(tips);
return Result.error(tips);
} }
List<XmTask> canOper=new ArrayList<>(); List<XmTask> canOper=new ArrayList<>();
List<XmTask> noOper=new ArrayList<>(); List<XmTask> noOper=new ArrayList<>();
@ -1211,7 +1211,7 @@ public class XmTaskController {
Map<String,XmTask> delNodesDbMap=this.xmTaskService.selectTasksMapByTasks(xmTasks); Map<String,XmTask> delNodesDbMap=this.xmTaskService.selectTasksMapByTasks(xmTasks);
for (XmTask node : delNodesDbMap.values()) { for (XmTask node : delNodesDbMap.values()) {
if(!projectId.equals(node.getProjectId()) ){ if(!projectId.equals(node.getProjectId()) ){
return ResponseHelper.failed("not-same-project","所有任务必须同属于一个项目");
return Result.error("not-same-project","所有任务必须同属于一个项目");
} }
} }
if(groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){ if(groupService.checkUserIsProjectAdm(xmProject,user.getUserid())){
@ -1230,7 +1230,7 @@ public class XmTaskController {
} }
if(canOper.size()==0){ if(canOper.size()==0){
return ResponseHelper.failed("noqx-del",String.format("无权限删除,原因【%s】",noTipsMap.keySet().stream().collect(Collectors.joining(";"))));
return Result.error("noqx-del",String.format("无权限删除,原因【%s】",noTipsMap.keySet().stream().collect(Collectors.joining(";"))));
} }
List<XmTask> existsExecuserList=new ArrayList<>(); List<XmTask> existsExecuserList=new ArrayList<>();
@ -1296,7 +1296,7 @@ public class XmTaskController {
} }
if(!StringUtils.hasText(xmTasksVo.getParentTaskid())){ if(!StringUtils.hasText(xmTasksVo.getParentTaskid())){
return ResponseHelper.failed("parentTaskid-0", "上级编号不能为空");
return Result.error("parentTaskid-0", "上级编号不能为空");
} }
List<String> ids=xmTasksVo.getTaskIds().stream().map(i->i).collect(Collectors.toList()); List<String> ids=xmTasksVo.getTaskIds().stream().map(i->i).collect(Collectors.toList());
ids.add(xmTasksVo.getParentTaskid()); ids.add(xmTasksVo.getParentTaskid());
@ -1304,29 +1304,29 @@ public class XmTaskController {
List<XmTask> xmTasks=this.xmTaskService.selectTaskListByIds(ids); List<XmTask> xmTasks=this.xmTaskService.selectTaskListByIds(ids);
Optional<XmTask> optional=xmTasks.stream().filter(i->i.getId().equals(xmTasksVo.getParentTaskid())).findAny(); Optional<XmTask> optional=xmTasks.stream().filter(i->i.getId().equals(xmTasksVo.getParentTaskid())).findAny();
if(!optional.isPresent()){ if(!optional.isPresent()){
return ResponseHelper.failed("parentTask-0", "上级不存在");
return Result.error("parentTask-0", "上级不存在");
} }
XmTask parentTask=optional.get(); XmTask parentTask=optional.get();
if(!"1".equals(parentTask.getNtype())){ if(!"1".equals(parentTask.getNtype())){
return ResponseHelper.failed("parentTask-ntype-not-1", "【"+parentTask.getName()+"】为任务,不能作为上级节点。请另选上级或者变更其为计划节点");
return Result.error("parentTask-ntype-not-1", "【"+parentTask.getName()+"】为任务,不能作为上级节点。请另选上级或者变更其为计划节点");
} }
Tips tips2=this.groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),parentTask.getProjectId()); Tips tips2=this.groupService.checkIsProjectAdmOrTeamHeadOrAss(user,user.getUserid(),parentTask.getProjectId());
if(!tips2.isOk()){ if(!tips2.isOk()){
return ResponseHelper.failed(tips2);
return Result.error(tips2);
} }
xmTasks=xmTasks.stream().filter(i->!i.getId().equals(parentTask.getId())).collect(Collectors.toList()); xmTasks=xmTasks.stream().filter(i->!i.getId().equals(parentTask.getId())).collect(Collectors.toList());
List<XmTask> canOpxmTasks=xmTasks.stream().filter(i->!parentTask.getId().equals(i.getParentTaskid())).collect(Collectors.toList()); List<XmTask> canOpxmTasks=xmTasks.stream().filter(i->!parentTask.getId().equals(i.getParentTaskid())).collect(Collectors.toList());
List<XmTask> sameParentTasks=xmTasks.stream().filter(i->parentTask.getId().equals(i.getParentTaskid())).collect(Collectors.toList()); List<XmTask> sameParentTasks=xmTasks.stream().filter(i->parentTask.getId().equals(i.getParentTaskid())).collect(Collectors.toList());
if(canOpxmTasks.size()==0){ if(canOpxmTasks.size()==0){
return ResponseHelper.failed("same-parent","所有任务均属于【"+parentTask.getName()+"】,无需再变更");
return Result.error("same-parent","所有任务均属于【"+parentTask.getName()+"】,无需再变更");
} }
if(!"1".equals(parentTask.getPtype())){ if(!"1".equals(parentTask.getPtype())){
if(canOpxmTasks.stream().filter(i->!i.getProjectId().equals(parentTask.getProjectId())).findAny().isPresent()){ if(canOpxmTasks.stream().filter(i->!i.getProjectId().equals(parentTask.getProjectId())).findAny().isPresent()){
return ResponseHelper.failed("projectId-not-same", "所有任务或计划必须都是同一个项目之下");
return Result.error("projectId-not-same", "所有任务或计划必须都是同一个项目之下");
} }
}else { }else {
if(canOpxmTasks.stream().filter(i->!i.getProductId().equals(parentTask.getProductId())).findAny().isPresent()){ if(canOpxmTasks.stream().filter(i->!i.getProductId().equals(parentTask.getProductId())).findAny().isPresent()){
return ResponseHelper.failed("productId-not-same", "所有任务或计划必须都是同一个产品之下");
return Result.error("productId-not-same", "所有任务或计划必须都是同一个产品之下");
} }
} }

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

@ -7,19 +7,20 @@ import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException; import com.mdp.core.err.BizException;
import com.mdp.core.query.QueryTools; import com.mdp.core.query.QueryTools;
import com.mdp.core.utils.NumberUtil; import com.mdp.core.utils.NumberUtil;
import com.mdp.core.utils.ObjectTools;
import com.mdp.core.utils.RequestUtils; import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.ResponseHelper;
import com.mdp.meta.client.service.ItemService; import com.mdp.meta.client.service.ItemService;
import com.mdp.msg.client.PushNotifyMsgService; import com.mdp.msg.client.PushNotifyMsgService;
import com.mdp.safe.client.entity.User; import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils; import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams; import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.*;
import com.xm.core.entity.XmProject;
import com.xm.core.entity.XmTask;
import com.xm.core.entity.XmTaskExecuser;
import com.xm.core.service.*; import com.xm.core.service.*;
import com.xm.core.service.client.AcClient; import com.xm.core.service.client.AcClient;
import com.xm.core.service.client.MkClient; import com.xm.core.service.client.MkClient;
import com.xm.core.service.client.SysClient; import com.xm.core.service.client.SysClient;
import com.xm.core.vo.XmGroupVo;
import com.xm.core.vo.XmTaskAcceptanceVo; import com.xm.core.vo.XmTaskAcceptanceVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -34,7 +35,10 @@ import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map; import static com.mdp.core.utils.BaseUtils.map;
@ -70,9 +74,6 @@ public class XmTaskExecuserController {
@Autowired @Autowired
private XmProjectQxService projectQxService; private XmProjectQxService projectQxService;
@Autowired
XmGroupUserService xmGroupUserService;
@Autowired @Autowired
PushNotifyMsgService notifyMsgService; PushNotifyMsgService notifyMsgService;
@ -164,6 +165,9 @@ public class XmTaskExecuserController {
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){
return Result.error("taskId-required","任务编号不能为空");
}
XmTask xmTaskDb=xmTaskService.selectOneObject(new XmTask(xmTaskExecuser.getTaskId())); XmTask xmTaskDb=xmTaskService.selectOneObject(new XmTask(xmTaskExecuser.getTaskId()));
if(xmTaskDb==null){ if(xmTaskDb==null){
return Result.error("任务已不存在"); return Result.error("任务已不存在");
@ -177,23 +181,25 @@ public class XmTaskExecuserController {
return Result.error("该任务已经处于完工、结算状态,不允许再修改"); return Result.error("该任务已经处于完工、结算状态,不允许再修改");
} }
if(!xmTaskExecuser.getUserid().equals(user.getUserid())){
User userDb=sysClient.getUserByUserid(xmTaskExecuser.getUserid());
if(ObjectTools.isNotEmpty(xmTaskExecuser.getBidUserid()) && !user.getUserid().equals(xmTaskExecuser.getBidUserid())){
User userDb=sysClient.getUserByUserid(xmTaskExecuser.getBidUserid());
if(userDb==null){ if(userDb==null){
return ResponseHelper.failed("userid-0","候选人不存在");
return Result.error("userid-0","候选人不存在");
} }
xmTaskExecuser.setExecUserBranchId(userDb.getBranchId());
xmTaskExecuser.setBidBranchId(userDb.getUserid());
xmTaskExecuser.setBidUsername(userDb.getUsername());
}else{ }else{
xmTaskExecuser.setExecUserBranchId(user.getBranchId());
xmTaskExecuser.setPrjUserid(user.getUserid());
xmTaskExecuser.setPrjUsername(user.getUsername());
xmTaskExecuser.setBidUserid(user.getUserid());
xmTaskExecuser.setBidUsername(user.getUsername());
xmTaskExecuser.setBidBranchId(user.getBranchId());
} }
if("1".equals(xmTaskDb.getCrowd())){ if("1".equals(xmTaskDb.getCrowd())){
Map<String,Object> result=sysClient.checkUserInterests(xmTaskExecuser.getUserid(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1);
Map<String,Object> result=sysClient.checkUserInterests(xmTaskExecuser.getBidUserid(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1);
Tips tips2= (Tips) result.get("tips"); Tips tips2= (Tips) result.get("tips");
if(!tips2.isOk()){
return ResponseHelper.failed(tips2);
}
Result.assertIsFalse(tips2);
Map<String,Object> data= (Map<String, Object>) result.get("data"); Map<String,Object> data= (Map<String, Object>) result.get("data");
if(data!=null && data.containsKey("sfeeRate")){ if(data!=null && data.containsKey("sfeeRate")){
xmTaskExecuser.setSfeeRate(NumberUtil.getInteger(data.get("sfeeRate"),0)); xmTaskExecuser.setSfeeRate(NumberUtil.getInteger(data.get("sfeeRate"),0));
@ -204,7 +210,7 @@ public class XmTaskExecuserController {
xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人 xmTaskExecuser.setStatus("0"); //如果是众包智能添加为候选人
}else { }else {
//如果不是众包需要判断是否已加入项目组组织架构中如未加入需要提示其先加入 //如果不是众包需要判断是否已加入项目组组织架构中如未加入需要提示其先加入
Tips tips =projectQxService.checkProjectQx(xmProjectDb,0,user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
Tips tips =projectQxService.checkProjectQx(xmProjectDb,0,user,xmTaskExecuser.getBidUserid(),xmTaskExecuser.getBidUsername(),xmTaskExecuser.getBidBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
//检查是否已经存在执行人 //检查是否已经存在执行人
XmTaskExecuser query=new XmTaskExecuser(); XmTaskExecuser query=new XmTaskExecuser();
@ -213,7 +219,7 @@ public class XmTaskExecuserController {
if(xmTaskExecusersDb !=null && xmTaskExecusersDb.size()>0) { if(xmTaskExecusersDb !=null && xmTaskExecusersDb.size()>0) {
for (XmTaskExecuser exe : xmTaskExecusersDb) { for (XmTaskExecuser exe : xmTaskExecusersDb) {
if(!"0".equals(exe.getStatus()) && !"7".equals(exe.getStatus())) { if(!"0".equals(exe.getStatus()) && !"7".equals(exe.getStatus())) {
throw new BizException(exe.getUsername()+"是当前执行人,不允许再添加其它执行人。如需更换,请在【执行人管理】变更【"+exe.getUsername()+"】的执行人身份");
throw new BizException(exe.getBidUsername()+"是当前执行人,不允许再添加其它执行人。如需更换,请在【执行人管理】变更【"+exe.getBidUsername()+"】的执行人身份");
} }
} }
} }
@ -223,9 +229,9 @@ public class XmTaskExecuserController {
boolean sendMsg=!"0".equals(xmTaskDb.getStatus()); boolean sendMsg=!"0".equals(xmTaskDb.getStatus());
xmTaskExecuserService.addExecuser(xmTaskExecuser,sendMsg); xmTaskExecuserService.addExecuser(xmTaskExecuser,sendMsg);
if(sendMsg){ if(sendMsg){
notifyMsgService.pushMsg(user, xmTaskDb.getCreateUserid(), xmTaskDb.getCreateUsername(), "用户【"+xmTaskExecuser.getUsername()+"】投标任务【"+xmTaskDb.getName()+"】,请及时跟进!",null);
notifyMsgService.pushMsg(user, xmTaskDb.getCreateUserid(), xmTaskDb.getCreateUsername(), "用户【"+xmTaskExecuser.getBidUsername()+"】投标任务【"+xmTaskDb.getName()+"】,请及时跟进!",null);
} }
sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getUserid(),xmTaskDb.getId(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1);
sysClient.pushBidsAfterBidSuccess(xmTaskExecuser.getBidUserid(),xmTaskDb.getId(),xmTaskDb.getBudgetAt(),xmTaskDb.getBudgetWorkload(),1);
return Result.ok(); return Result.ok();
} }
@ -242,12 +248,12 @@ public class XmTaskExecuserController {
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
List<XmTaskExecuser> xmTaskExecuserListDb=this.xmTaskExecuserService.selectListByIds(xmTaskExecusers.stream().map(i->map("taskId",i.getTaskId(),"userid",i.getUserid())).collect(Collectors.toList()));
List<XmTaskExecuser> xmTaskExecuserListDb=this.xmTaskExecuserService.listByIds(xmTaskExecusers.stream().map(i->map("taskId",i.getTaskId(),"bidUserid",i.getBidUserid())).collect(Collectors.toList()));
if(xmTaskExecuserListDb==null || xmTaskExecuserListDb.size()==0){ if(xmTaskExecuserListDb==null || xmTaskExecuserListDb.size()==0){
return ResponseHelper.failed("data-0","执行人/候选人都已不存在");
return Result.error("data-0","执行人/候选人都已不存在");
} }
String taskId=xmTaskExecuserListDb.get(0).getTaskId(); String taskId=xmTaskExecuserListDb.get(0).getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(xmTaskExecuserListDb.get(0).getTaskId()));
XmTask xmTask= xmTaskService.getById(xmTaskExecuserListDb.get(0).getTaskId());
if(xmTask==null ){ if(xmTask==null ){
return Result.error("任务已不存在"); return Result.error("任务已不存在");
@ -260,15 +266,15 @@ public class XmTaskExecuserController {
if(!taskId.equals(xmTaskExecuser.getTaskId())){ if(!taskId.equals(xmTaskExecuser.getTaskId())){
return Result.error("批量操作只允许在同一个任务进行"); return Result.error("批量操作只允许在同一个任务进行");
} }
if(!user.getUserid().equals(xmTaskExecuser.getUserid())) {//只有组长任务责任人可以请别人请离开任务
Tips tips =projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(xmTask.getProjectId()),2, user,xmTaskExecuser.getUserid(),xmTaskExecuser.getUsername(),xmTaskExecuser.getExecUserBranchId());
if(!user.getUserid().equals(xmTaskExecuser.getBidUserid())) {//只有组长任务责任人可以请别人请离开任务
Tips tips =projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(xmTask.getProjectId()),2, user,xmTaskExecuser.getBidUserid(),xmTaskExecuser.getBidUsername(),xmTaskExecuser.getBidBranchId());
Result.assertIsFalse(tips); Result.assertIsFalse(tips);
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername());
allowUserNames.add(xmTaskExecuser.getBidUsername());
}else {//自己离开任务可以的 }else {//自己离开任务可以的
allowUsers.add(xmTaskExecuser); allowUsers.add(xmTaskExecuser);
allowUserNames.add(xmTaskExecuser.getUsername());
allowUserNames.add(xmTaskExecuser.getBidUsername());
} }
} }
if(allowUsers.size()>0) { if(allowUsers.size()>0) {
@ -300,75 +306,36 @@ public class XmTaskExecuserController {
@RequestMapping(value="/execute",method=RequestMethod.POST) @RequestMapping(value="/execute",method=RequestMethod.POST)
public Result execute(@RequestBody XmTaskExecuser xmTaskExecuser) { public Result execute(@RequestBody XmTaskExecuser xmTaskExecuser) {
/**
* 如果是候选人变更为执行人需要检查该候选人是否已加入项目中的某个组
*/
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
return Result.error("任务已不存在");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经处于完工、结算状态,不允许再修改");
}
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTask.getProjectId();
List<XmGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
if(xmProject==null ){
return ResponseHelper.failed("project-0","项目已不存在");
}
if(ObjectTools.isEmpty(xmTaskExecuser.getBidUserid())){
return Result.error("bidUserid-required","投标人编号不能为空");
}
if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){
return Result.error("taskId-required","任务编号不能为空");
}
/**
* 如果是候选人变更为执行人需要检查该候选人是否已加入项目中的某个组
*/
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.getById(taskId);
if(xmTask==null ){
return Result.error("任务已不存在");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经处于完工、结算状态,不允许再修改");
}
User user=LoginUtils.getCurrentUserInfo();
Tips tips=projectQxService.checkProjectQx(xmProject,2,user);
Result.assertIsFalse(tips);
boolean exists=groupService.checkUserExistsGroup(pgroups, xmTaskExecuser.getUserid());
//如果还未加入项目组自动加入项目组
if(!exists) {
if(pgroups!=null && pgroups.size()>0){
XmGroupVo xg=pgroups.get(0);
XmGroupUser xmGroupUser=new XmGroupUser();
xmGroupUser.setGroupId(xg.getId());
xmGroupUser.setUsername(xmTaskExecuser.getUsername());
xmGroupUser.setUserid(xmTaskExecuser.getUserid());
xmGroupUser.setJoinTime(new Date());
xmGroupUser.setStatus("1");
xmGroupUser.setIsPri("1");
xmGroupUser.setObranchId(xmTaskExecuser.getExecUserBranchId());
this.xmGroupUserService.insert(xmGroupUser);
groupService.clearProjectGroup(projectId);
}else{
XmGroupVo xmGroupVo=new XmGroupVo();
xmGroupVo.setProjectId(projectId);
xmGroupVo.setAssUsername(user.getUsername());
xmGroupVo.setAssUserid(user.getUserid());
xmGroupVo.setBranchId(user.getBranchId());
xmGroupVo.setChildrenCnt(1);
xmGroupVo.setCtime(new Date());
xmGroupVo.setGroupName("默认管理小组");
XmGroupUser xmGroupUser=new XmGroupUser();
xmGroupUser.setUsername(xmTaskExecuser.getUsername());
xmGroupUser.setUserid(xmTaskExecuser.getUserid());
xmGroupUser.setJoinTime(new Date());
xmGroupUser.setStatus("1");
xmGroupUser.setIsPri("1");
xmGroupUser.setObranchId(xmTaskExecuser.getExecUserBranchId());
xmGroupVo.setGroupUsers(Arrays.asList(xmGroupUser));
groupService.addGroups(projectId,Arrays.asList(xmGroupVo));
}
//一个任务只能一个执行人
xmTaskExecuserService.becomeExecute(xmTask,xmTaskExecuser);
return Result.ok("变更成功");
//return Result.error("变更不成功,原因:候选人不在项目组中,请先将候选人加入项目团队中。");
}else {
xmTaskExecuserService.becomeExecute(xmTask,xmTaskExecuser);
return Result.ok("变更成功");
}
String projectId=xmTask.getProjectId();
XmProject xmProject=xmProjectService.getProjectFromCache(projectId);
if(xmProject==null ){
return Result.error("project-0","项目已不存在");
}
return Result.ok();
Tips tips=projectQxService.checkProjectQx(xmProject,2,user);
Result.assertIsFalse(tips);
//一个任务只能一个执行人
xmTaskExecuserService.becomeExecute(xmTask,xmTaskExecuser);
return Result.ok("变更成功");
} }
@ -382,9 +349,9 @@ public class XmTaskExecuserController {
String taskId=xmTaskAcceptanceVo.getTaskId(); String taskId=xmTaskAcceptanceVo.getTaskId();
if(!StringUtils.hasText(taskId)){ if(!StringUtils.hasText(taskId)){
return ResponseHelper.failed("taskId-0","任务编号不能为空");
return Result.error("taskId-0","任务编号不能为空");
} }
XmTask xmTaskDb= xmTaskService.selectOneById(taskId);
XmTask xmTaskDb= xmTaskService.getById(taskId);
if(xmTaskDb==null ){ if(xmTaskDb==null ){
return Result.error("任务已不存在"); return Result.error("任务已不存在");
} }
@ -416,20 +383,17 @@ public class XmTaskExecuserController {
//XmTaskExecuser xmTaskExecuserDb=this.xmTaskExecuserService.selectOneById(map("taskId",xmTaskDb.getId(),"userid",xmTaskDb.getExecutorUserid())); //XmTaskExecuser xmTaskExecuserDb=this.xmTaskExecuserService.selectOneById(map("taskId",xmTaskDb.getId(),"userid",xmTaskDb.getExecutorUserid()));
//调用ac系统付款给服务商 //调用ac系统付款给服务商
Tips payTips=acClient.platformBalancePayToClient(xmTaskDb.getExecutorUserid(),"3","1",xmTaskDb.getId(),xmTaskDb.getQuoteFinalAt(),"任务【"+xmTaskDb.getName()+"】验收完毕,发放佣金."); Tips payTips=acClient.platformBalancePayToClient(xmTaskDb.getExecutorUserid(),"3","1",xmTaskDb.getId(),xmTaskDb.getQuoteFinalAt(),"任务【"+xmTaskDb.getName()+"】验收完毕,发放佣金.");
if(payTips.isOk()){
xmTaskUpdate.setEtoDevTime(new Date());
xmTaskUpdate.setBidStep("7");
xmTaskUpdate.setEstate("3");
}else{
return ResponseHelper.failed(tips);
}
Result.assertIsFalse(payTips);
xmTaskUpdate.setEtoDevTime(new Date());
xmTaskUpdate.setBidStep("7");
xmTaskUpdate.setEstate("3");
} }
String taskState= xmTaskUpdate.getTaskState(); String taskState= xmTaskUpdate.getTaskState();
if("3".equals(taskState)||"4".equals(taskState)||"9".equals(taskState)){ if("3".equals(taskState)||"4".equals(taskState)||"9".equals(taskState)){
xmTaskUpdate.setEndTime(new Date()); xmTaskUpdate.setEndTime(new Date());
xmTaskUpdate.setActEndTime(new Date()); xmTaskUpdate.setActEndTime(new Date());
} }
xmTaskService.updateSomeFieldByPk(xmTaskUpdate);
xmTaskService.updateById(xmTaskUpdate,true);
if("2".equals(xmTaskDb.getOshare()) && xmTaskDb.getShareFee()!=null && xmTaskDb.getShareFee().compareTo(BigDecimal.ZERO)>0){ if("2".equals(xmTaskDb.getOshare()) && xmTaskDb.getShareFee()!=null && xmTaskDb.getShareFee().compareTo(BigDecimal.ZERO)>0){
mkClient.pushAfterTaskAcceptanceSuccess(xmTaskDb.getExecutorUserid(),xmTaskDb.getExecutorUsername(),xmTaskDb.getProjectId(),xmTaskDb.getId(),xmTaskDb.getShareFee()); mkClient.pushAfterTaskAcceptanceSuccess(xmTaskDb.getExecutorUserid(),xmTaskDb.getExecutorUsername(),xmTaskDb.getProjectId(),xmTaskDb.getId(),xmTaskDb.getShareFee());
} }
@ -454,35 +418,40 @@ public class XmTaskExecuserController {
////@HasQx(value = "xm_core_xmTaskExecuser_quotePrice",name = "项目中的任务报价",moduleId = "xm-project",moduleName = "管理端-项目管理系统") ////@HasQx(value = "xm_core_xmTaskExecuser_quotePrice",name = "项目中的任务报价",moduleId = "xm-project",moduleName = "管理端-项目管理系统")
@RequestMapping(value="/quotePrice",method=RequestMethod.POST) @RequestMapping(value="/quotePrice",method=RequestMethod.POST)
public Result quotePrice(@RequestBody XmTaskExecuser xmTaskExecuser) { public Result quotePrice(@RequestBody XmTaskExecuser xmTaskExecuser) {
if(ObjectTools.isEmpty(xmTaskExecuser.getBidUserid())){
return Result.error("bidUserid-required","投标人编号不能为空");
}
if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){
return Result.error("taskId-required","任务编号不能为空");
}
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.getById(taskId);
if(xmTask==null ){
return Result.error("任务已不存在");
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
return Result.error("任务已不存在");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经处于完工、结算计划,不允许再修改报价");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经处于完工、结算计划,不允许再修改报价");
}
if("2".equals(xmTask.getEstate())||"3".equals(xmTask.getEstate())){
return ResponseHelper.failed("estate-not-0-1-3","当前任务已缴纳保证金,无法再变更报价信息。");
}
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() );
Result.assertIsFalse(tips);
}
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskExecuser.getTaskId(),xmTaskExecuser.getUserid()));
if("0".equals(xmTaskExecuserDb.getStatus())) {
xmTaskExecuserService.quotePrice(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTask.getCreateUserid(), xmTask.getCreateUsername(), user.getUsername()+"修改任务【" + xmTask.getId() + "-" + xmTask.getName() + "】的报价信息,请尽快选标!",null);
}
if("2".equals(xmTask.getEstate())||"3".equals(xmTask.getEstate())){
return Result.error("estate-not-0-1-3","当前任务已缴纳保证金,无法再变更报价信息。");
}
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId();
if(!user.getUserid().equals(xmTaskExecuser.getBidUserid())) {
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getBidUserid(),xmTaskExecuser.getBidUsername(),xmTaskExecuser.getBidBranchId() );
Result.assertIsFalse(tips);
}
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskExecuser.getTaskId(),xmTaskExecuser.getBidUserid()));
if("0".equals(xmTaskExecuserDb.getStatus())) {
xmTaskExecuserService.quotePrice(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTask.getCreateUserid(), xmTask.getCreateUsername(), user.getUsername()+"修改任务【" + xmTask.getId() + "-" + xmTask.getName() + "】的报价信息,请尽快选标!",null);
}else {
return Result.error("只有修改处于候选状态的投标人的报价信息");
}
}else {
return Result.error("只有修改处于候选状态的投标人的报价信息");
}
return Result.ok(); return Result.ok();
} }
@ -493,26 +462,31 @@ public class XmTaskExecuserController {
////@HasQx(value = "xm_core_xmTaskExecuser_candidate",name = "变更成为任务候选人",moduleId = "xm-project",moduleName = "管理端-项目管理系统") ////@HasQx(value = "xm_core_xmTaskExecuser_candidate",name = "变更成为任务候选人",moduleId = "xm-project",moduleName = "管理端-项目管理系统")
@RequestMapping(value="/candidate",method=RequestMethod.POST) @RequestMapping(value="/candidate",method=RequestMethod.POST)
public Result becomeCandidate(@RequestBody XmTaskExecuser xmTaskExecuser) { public Result becomeCandidate(@RequestBody XmTaskExecuser xmTaskExecuser) {
if(ObjectTools.isEmpty(xmTaskExecuser.getBidUserid())){
return Result.error("bidUserid-required","投标人编号不能为空");
}
if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){
return Result.error("taskId-required","任务编号不能为空");
}
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
return Result.error("任务已不存在");
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTask= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTask==null ){
return Result.error("任务已不存在");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经不需要候选人");
}
if(!"0".equals(xmTask.getTaskState()) && !"1".equals(xmTask.getTaskState()) ){
return Result.error("该任务已经不需要候选人");
}
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());
Result.assertIsFalse(tips);
}
}
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskExecuser.getProjectId();
if(!user.getUserid().equals(xmTaskExecuser.getBidUserid())) {
Tips tips=projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuser.getBidUserid(),xmTaskExecuser.getBidUsername(),xmTaskExecuser.getBidBranchId());
Result.assertIsFalse(tips);
}
xmTaskExecuserService.becomeCandidate(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTask.getCreateUserid(), xmTask.getCreateUsername(), user.getUsername()+"投标任务【" + xmTask.getId() + "-" + xmTask.getName() + "】,请尽快选标!",null);
xmTaskExecuserService.becomeCandidate(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTask.getCreateUserid(), xmTask.getCreateUsername(), user.getUsername()+"投标任务【" + xmTask.getId() + "-" + xmTask.getName() + "】,请尽快选标!",null);
return Result.ok(); return Result.ok();
@ -527,35 +501,40 @@ public class XmTaskExecuserController {
////@HasQx(value = "xm_core_xmTaskExecuser_del",name = "删除项目中任务的执行人",moduleId = "xm-project",moduleName = "管理端-项目管理系统") ////@HasQx(value = "xm_core_xmTaskExecuser_del",name = "删除项目中任务的执行人",moduleId = "xm-project",moduleName = "管理端-项目管理系统")
@RequestMapping(value="/del",method=RequestMethod.POST) @RequestMapping(value="/del",method=RequestMethod.POST)
public Result delXmTaskExecuser(@RequestBody XmTaskExecuser xmTaskExecuser){ public Result delXmTaskExecuser(@RequestBody XmTaskExecuser xmTaskExecuser){
if(ObjectTools.isEmpty(xmTaskExecuser.getBidUserid())){
return Result.error("bidUserid-required","投标人编号不能为空");
}
if(ObjectTools.isEmpty(xmTaskExecuser.getTaskId())){
return Result.error("taskId-required","任务编号不能为空");
}
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTaskDb= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTaskDb==null ){
return Result.error("任务已不存在");
String taskId=xmTaskExecuser.getTaskId();
XmTask xmTaskDb= xmTaskService.selectOneObject(new XmTask(taskId));
if(xmTaskDb==null ){
return Result.error("任务已不存在");
}
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskDb.getProjectId();
XmTaskExecuser xmTaskExecuserDb = xmTaskExecuserService.selectOneObject(new XmTaskExecuser(xmTaskDb.getId(),xmTaskExecuser.getBidUserid()));
if(xmTaskExecuserDb !=null ) {
if(!user.getUserid().equals(xmTaskExecuser.getBidUserid())) {
Tips tips =projectQxService.checkProjectQx(xmProjectService.getProjectFromCache(projectId),2,user,xmTaskExecuserDb.getBidUserid(),xmTaskExecuserDb.getBidUsername(),xmTaskExecuserDb.getBidBranchId());
Result.assertIsFalse(tips);
} }
User user=LoginUtils.getCurrentUserInfo();
String projectId=xmTaskDb.getProjectId();
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());
Result.assertIsFalse(tips);
}
if( "0".equals( xmTaskExecuserDb.getStatus() ) || "7".equals( xmTaskExecuserDb.getStatus() ) || "8".equals( xmTaskExecuserDb.getStatus() ) ) {
xmTaskExecuserService.delete(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTaskDb.getCreateUserid(), xmTaskDb.getCreateUsername(), xmTaskExecuserDb.getUsername()+"离开任务【" + xmTaskDb.getId() + "-" + xmTaskDb.getName() + "】!",null);
notifyMsgService.pushMsg(user, xmTaskExecuserDb.getUserid(), xmTaskExecuserDb.getUsername(), "您已离开任务【" + xmTaskDb.getId() + "-" + xmTaskDb.getName() + "】!",null);
if( "0".equals( xmTaskExecuserDb.getStatus() ) || "7".equals( xmTaskExecuserDb.getStatus() ) || "8".equals( xmTaskExecuserDb.getStatus() ) ) {
xmTaskExecuserService.delete(xmTaskExecuser);
notifyMsgService.pushMsg(user, xmTaskDb.getCreateUserid(), xmTaskDb.getCreateUsername(), xmTaskExecuserDb.getBidUsername()+"离开任务【" + xmTaskDb.getId() + "-" + xmTaskDb.getName() + "】!",null);
notifyMsgService.pushMsg(user, xmTaskExecuserDb.getBidUserid(), xmTaskExecuserDb.getBidUsername(), "您已离开任务【" + xmTaskDb.getId() + "-" + xmTaskDb.getName() + "】!",null);
}else {
return Result.error("只有候选、放弃任务、黑名单中的数据可以被删除");
}
}
else {
return Result.error("没有查到数据");
}else {
return Result.error("只有候选、放弃任务、黑名单中的数据可以被删除");
} }
return Result.ok();
}
else {
return Result.error("没有查到数据");
}
return Result.ok();
} }
} }

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

@ -114,38 +114,38 @@ public class XmTaskOrderController {
public Result addXmTaskOrder(@RequestBody AddXmTaskOrderVo xmTaskOrder) { public Result addXmTaskOrder(@RequestBody AddXmTaskOrderVo xmTaskOrder) {
if(!StringUtils.hasText(xmTaskOrder.getTaskId())){ if(!StringUtils.hasText(xmTaskOrder.getTaskId())){
return ResponseHelper.failed("taskId-0","任务编号不能为空");
return Result.error("taskId-0","任务编号不能为空");
} }
XmTask xmTaskDb=this.xmTaskService.selectOneById(xmTaskOrder.getTaskId()); XmTask xmTaskDb=this.xmTaskService.selectOneById(xmTaskOrder.getTaskId());
if(xmTaskDb==null){ if(xmTaskDb==null){
return ResponseHelper.failed("data-0","任务已不存在");
return Result.error("data-0","任务已不存在");
} }
if(!"1".equals(xmTaskDb.getTaskOut())){ if(!"1".equals(xmTaskDb.getTaskOut())){
return ResponseHelper.failed("taskOut-0","不是外包任务,无须付款");
return Result.error("taskOut-0","不是外包任务,无须付款");
} }
if(!"1".equals(xmTaskDb.getCrowd())){ if(!"1".equals(xmTaskDb.getCrowd())){
return ResponseHelper.failed("taskOut-0","不是众包任务,无须付款");
return Result.error("taskOut-0","不是众包任务,无须付款");
} }
if(!StringUtils.hasText(xmTaskOrder.getBizType())){ if(!StringUtils.hasText(xmTaskOrder.getBizType())){
return ResponseHelper.failed("bizType-0","业务类型不能为空bizType:1-保证金,2-营销推广");
return Result.error("bizType-0","业务类型不能为空bizType:1-保证金,2-营销推广");
} }
if("1".equals(xmTaskOrder.getBizType())){ if("1".equals(xmTaskOrder.getBizType())){
if(!"4".equals(xmTaskDb.getBidStep())){ if(!"4".equals(xmTaskDb.getBidStep())){
return ResponseHelper.failed("bidStep-not-4","当前任务未到缴纳保证金步骤");
return Result.error("bidStep-not-4","当前任务未到缴纳保证金步骤");
} }
if(!"1".equals(xmTaskDb.getEstate()) && !"0".equals(xmTaskDb.getEstate()) && !StringUtils.hasText(xmTaskDb.getEstate())){ if(!"1".equals(xmTaskDb.getEstate()) && !"0".equals(xmTaskDb.getEstate()) && !StringUtils.hasText(xmTaskDb.getEstate())){
return ResponseHelper.failed("estate-not-1","当前任务不是待缴纳保证金状态");
return Result.error("estate-not-1","当前任务不是待缴纳保证金状态");
} }
if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){ if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){
return ResponseHelper.failed("quoteFinalAt-0","最终任务价格不能为空");
return Result.error("quoteFinalAt-0","最终任务价格不能为空");
} }
}else if("2".equals(xmTaskOrder.getBizType())){ }else if("2".equals(xmTaskOrder.getBizType())){
if(!"1".equals(xmTaskDb.getTop()) && !"1".equals(xmTaskDb.getOshare()) && !"1".equals(xmTaskDb.getUrgent()) && !"1".equals(xmTaskDb.getCrmSup()) && !"1".equals(xmTaskDb.getHot()) ) { if(!"1".equals(xmTaskDb.getTop()) && !"1".equals(xmTaskDb.getOshare()) && !"1".equals(xmTaskDb.getUrgent()) && !"1".equals(xmTaskDb.getCrmSup()) && !"1".equals(xmTaskDb.getHot()) ) {
return ResponseHelper.failed("no-need-pay", "没有选中任何推广活动,无须缴款");
return Result.error("no-need-pay", "没有选中任何推广活动,无须缴款");
} }
}else{ }else{
return ResponseHelper.failed("bizType-0", "业务类型错误bizType:1-保证金,2-营销推广");
return Result.error("bizType-0", "业务类型错误bizType:1-保证金,2-营销推广");
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
XmTaskOrder order=new XmTaskOrder(); XmTaskOrder order=new XmTaskOrder();
@ -163,21 +163,21 @@ public class XmTaskOrderController {
order.setEstate("1"); order.setEstate("1");
originFee=originFee.add(order.getEfunds()); originFee=originFee.add(order.getEfunds());
if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){ if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){
return ResponseHelper.failed("quoteFinalAt-0","保证金金额计算错误,原因为中标人报价金额为空。");
return Result.error("quoteFinalAt-0","保证金金额计算错误,原因为中标人报价金额为空。");
} }
}else if("2".equals(xmTaskDb.getEstate()) ){ }else if("2".equals(xmTaskDb.getEstate()) ){
if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){ if(xmTaskDb.getQuoteFinalAt()==null || xmTaskDb.getQuoteFinalAt().compareTo(BigDecimal.ZERO)<=0){
return ResponseHelper.failed("quoteFinalAt-0","保证金金额计算错误,原因为中标人报价金额为空。");
return Result.error("quoteFinalAt-0","保证金金额计算错误,原因为中标人报价金额为空。");
} }
if(xmTaskDb.getEfunds().compareTo(xmTaskDb.getQuoteFinalAt())>=0){ if(xmTaskDb.getEfunds().compareTo(xmTaskDb.getQuoteFinalAt())>=0){
return ResponseHelper.failed("estate-not-2-3","保证金已支付过,不能重复缴纳");
return Result.error("estate-not-2-3","保证金已支付过,不能重复缴纳");
}else{ }else{
order.setEfunds(xmTaskDb.getQuoteFinalAt().subtract(xmTaskDb.getEfunds())); order.setEfunds(xmTaskDb.getQuoteFinalAt().subtract(xmTaskDb.getEfunds()));
order.setEstate("1"); order.setEstate("1");
originFee=originFee.add(order.getEfunds()); originFee=originFee.add(order.getEfunds());
} }
}else{ }else{
return ResponseHelper.failed("estate-not-2-3","保证金已支付过,不能重复缴纳");
return Result.error("estate-not-2-3","保证金已支付过,不能重复缴纳");
} }
order.setName("托管任务赏金【"+xmTaskDb.getName()+"】"); order.setName("托管任务赏金【"+xmTaskDb.getName()+"】");
@ -222,7 +222,7 @@ public class XmTaskOrderController {
order.setOshare("1"); order.setOshare("1");
order.setShareFee(xmTaskDb.getShareFee()); order.setShareFee(xmTaskDb.getShareFee());
if(order.getShareFee()==null || order.getShareFee().compareTo(BigDecimal.ZERO)<0){ if(order.getShareFee()==null || order.getShareFee().compareTo(BigDecimal.ZERO)<0){
return ResponseHelper.failed("shareFee-0","分享佣金不能为空");
return Result.error("shareFee-0","分享佣金不能为空");
} }
originFee=originFee.add(order.getShareFee()); originFee=originFee.add(order.getShareFee());
} }

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

@ -167,46 +167,46 @@ public class XmTaskSbillController {
if(!StringUtils.hasText(batchJoinToSbill.getSbillId())){ if(!StringUtils.hasText(batchJoinToSbill.getSbillId())){
return ResponseHelper.failed("sbillId-0","请上送结算单编号");
return Result.error("sbillId-0","请上送结算单编号");
} }
if(batchJoinToSbill.getWorkloadIds()==null){ if(batchJoinToSbill.getWorkloadIds()==null){
return ResponseHelper.failed("workloadIds-0","请上送workloadIds");
return Result.error("workloadIds-0","请上送workloadIds");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmTaskSbill sbillDb=this.xmTaskSbillService.selectOneById(batchJoinToSbill.getSbillId()); XmTaskSbill sbillDb=this.xmTaskSbillService.selectOneById(batchJoinToSbill.getSbillId());
if(sbillDb==null){ if(sbillDb==null){
return ResponseHelper.failed("sbill-0","结算单不存在");
return Result.error("sbill-0","结算单不存在");
} }
if(!"0".equals(sbillDb.getStatus())){ if(!"0".equals(sbillDb.getStatus())){
return ResponseHelper.failed("status-not-0","结算单已提交,不允许再加入工时");
return Result.error("status-not-0","结算单已提交,不允许再加入工时");
} }
if(!user.getUserid().equals(sbillDb.getCuserid())){ if(!user.getUserid().equals(sbillDb.getCuserid())){
return ResponseHelper.failed("cuserid-0","结算单不是您的结算单,您不能操作");
return Result.error("cuserid-0","结算单不是您的结算单,您不能操作");
} }
List<XmWorkload> workloadsDb= xmWorkloadService.selectListByIds(batchJoinToSbill.getWorkloadIds()); List<XmWorkload> workloadsDb= xmWorkloadService.selectListByIds(batchJoinToSbill.getWorkloadIds());
if(workloadsDb==null || workloadsDb.size()<=0){ if(workloadsDb==null || workloadsDb.size()<=0){
return ResponseHelper.failed("workloadsDb-0","工时单已不存在");
return Result.error("workloadsDb-0","工时单已不存在");
} }
List<XmWorkload> workloadsDb2=workloadsDb.stream().filter(i->!StringUtils.hasText(i.getSbillId()) && "1".equals(i.getSstatus())&&"1".equals(i.getWstatus())).collect(Collectors.toList()); List<XmWorkload> workloadsDb2=workloadsDb.stream().filter(i->!StringUtils.hasText(i.getSbillId()) && "1".equals(i.getSstatus())&&"1".equals(i.getWstatus())).collect(Collectors.toList());
if(workloadsDb2==null || workloadsDb2.size()<=0){ if(workloadsDb2==null || workloadsDb2.size()<=0){
return ResponseHelper.failed("workloadsDb-0","不存在可以结算的工时单。");
return Result.error("workloadsDb-0","不存在可以结算的工时单。");
} }
if(workloadsDb2.stream().map(i->i.getProjectId()).collect(Collectors.toSet()).size()>1){ if(workloadsDb2.stream().map(i->i.getProjectId()).collect(Collectors.toSet()).size()>1){
return ResponseHelper.failed("projectId-not-1","不能一次性处理多个项目的工时单,请选择同一个项目的工时单再尝试。");
return Result.error("projectId-not-1","不能一次性处理多个项目的工时单,请选择同一个项目的工时单再尝试。");
} }
String projectId= sbillDb.getProjectId(); String projectId= sbillDb.getProjectId();
if(workloadsDb2.stream().filter(k->!k.getProjectId().equals(projectId)).findAny().isPresent()){ if(workloadsDb2.stream().filter(k->!k.getProjectId().equals(projectId)).findAny().isPresent()){
return ResponseHelper.failed("projectId-0",String.format("结算单项目编号为%s,请选择同项目的工时单加入结算单。",projectId));
return Result.error("projectId-0",String.format("结算单项目编号为%s,请选择同项目的工时单加入结算单。",projectId));
} }
List<XmTask> xmTasksDb=this.xmTaskService.selectListByIds(workloadsDb2.stream().map(i->i.getTaskId()).collect(Collectors.toList())); List<XmTask> xmTasksDb=this.xmTaskService.selectListByIds(workloadsDb2.stream().map(i->i.getTaskId()).collect(Collectors.toList()));
if(xmTasksDb==null || xmTasksDb.size()==0){ if(xmTasksDb==null || xmTasksDb.size()==0){
return ResponseHelper.failed("xmTasksDb-0","相关任务已不存在。");
return Result.error("xmTasksDb-0","相关任务已不存在。");
} }
List<XmTask> xmTasksDb2=xmTasksDb.stream().filter(i->"2".equals(i.getTaskState())).collect(Collectors.toList()); List<XmTask> xmTasksDb2=xmTasksDb.stream().filter(i->"2".equals(i.getTaskState())).collect(Collectors.toList());
if(xmTasksDb2==null || xmTasksDb2.size()==0){ if(xmTasksDb2==null || xmTasksDb2.size()==0){
return ResponseHelper.failed("taskState-not-2","任务必须是已完工状态才能结算。");
return Result.error("taskState-not-2","任务必须是已完工状态才能结算。");
} }
List<XmWorkload> workloadsDb3=workloadsDb2.stream().filter(i->xmTasksDb2.stream().filter(k->k.getId().equals(i.getTaskId())).findAny().isPresent()).collect(Collectors.toList()); List<XmWorkload> workloadsDb3=workloadsDb2.stream().filter(i->xmTasksDb2.stream().filter(k->k.getId().equals(i.getTaskId())).findAny().isPresent()).collect(Collectors.toList());
@ -219,7 +219,7 @@ public class XmTaskSbillController {
List<XmTaskSbillDetail> othSbillDetails=details.stream().filter(i->!sbillDb.getId().equals(i.getSbillId())).collect(Collectors.toList()); List<XmTaskSbillDetail> othSbillDetails=details.stream().filter(i->!sbillDb.getId().equals(i.getSbillId())).collect(Collectors.toList());
for (XmTaskSbillDetail i : othSbillDetails) { for (XmTaskSbillDetail i : othSbillDetails) {
if(!"4".equals(i.getSstatus())){ if(!"4".equals(i.getSstatus())){
return ResponseHelper.failed("user-task-exists-not-4",String.format("任务【%s】,人员【%s】存在未完成的结算单【%s】,暂时不允许发起结算。",i.getTaskName(),i.getUsername(),i.getSbillId()));
return Result.error("user-task-exists-not-4",String.format("任务【%s】,人员【%s】存在未完成的结算单【%s】,暂时不允许发起结算。",i.getTaskName(),i.getUsername(),i.getSbillId()));
} }
} }
if(sameSbillDetails!=null && sameSbillDetails.size()>0){ if(sameSbillDetails!=null && sameSbillDetails.size()>0){

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

@ -104,7 +104,7 @@ public class XmTaskSbillDetailController {
String bizYear= (String) params.get("bizYear"); String bizYear= (String) params.get("bizYear");
if(!StringUtils.hasText(bizYear)){ if(!StringUtils.hasText(bizYear)){
return ResponseHelper.failed("bizYear-0","年份不能为空");
return Result.error("bizYear-0","年份不能为空");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
@ -121,7 +121,7 @@ public class XmTaskSbillDetailController {
String bizYear= (String) params.get("bizYear"); String bizYear= (String) params.get("bizYear");
if(!StringUtils.hasText(bizYear)){ if(!StringUtils.hasText(bizYear)){
return ResponseHelper.failed("bizYear-0","年份不能为空");
return Result.error("bizYear-0","年份不能为空");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
params.put("branchId",user.getBranchId()); params.put("branchId",user.getBranchId());
@ -214,7 +214,7 @@ public class XmTaskSbillDetailController {
String sstatus= (String) xmTaskSbillDetailMap.get("sstatus"); String sstatus= (String) xmTaskSbillDetailMap.get("sstatus");
if(StringUtils.hasText(sstatus)){ if(StringUtils.hasText(sstatus)){
if(!"0".equals(sstatus) && !"1".equals(sstatus)){ if(!"0".equals(sstatus) && !"1".equals(sstatus)){
return ResponseHelper.failed("sstatus-not-01","只能修改为无需结算或者待结算");
return Result.error("sstatus-not-01","只能修改为无需结算或者待结算");
} }
} }
XmTaskSbillDetail xmTaskSbillDetail = fromMap(xmTaskSbillDetailMap,XmTaskSbillDetail.class); XmTaskSbillDetail xmTaskSbillDetail = fromMap(xmTaskSbillDetailMap,XmTaskSbillDetail.class);

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

@ -185,22 +185,22 @@ public class XmTestPlanCaseController {
public Result importFromTestCase(@RequestBody ImportFromTestCaseVo importFromTestCaseVo) { public Result importFromTestCase(@RequestBody ImportFromTestCaseVo importFromTestCaseVo) {
if(importFromTestCaseVo.getCaseIds()==null || importFromTestCaseVo.getCaseIds().size()==0){ if(importFromTestCaseVo.getCaseIds()==null || importFromTestCaseVo.getCaseIds().size()==0){
return ResponseHelper.failed("caseIds-0","测试用例编号不能为空");
return Result.error("caseIds-0","测试用例编号不能为空");
} }
if(!StringUtils.hasText(importFromTestCaseVo.getPlanId())){ if(!StringUtils.hasText(importFromTestCaseVo.getPlanId())){
return ResponseHelper.failed("planId-0","测试计划编号不能为空");
return Result.error("planId-0","测试计划编号不能为空");
} }
List<XmTestCase> casesDb=xmTestCaseService.selectListByIds(importFromTestCaseVo.getCaseIds()); List<XmTestCase> casesDb=xmTestCaseService.selectListByIds(importFromTestCaseVo.getCaseIds());
if(casesDb==null || casesDb.size()<=0){ if(casesDb==null || casesDb.size()<=0){
return ResponseHelper.failed("cases-0","测试用例不存在");
return Result.error("cases-0","测试用例不存在");
} }
XmTestPlan xmTestPlanDb=this.xmTestPlanService.selectOneById(importFromTestCaseVo.getPlanId()); XmTestPlan xmTestPlanDb=this.xmTestPlanService.selectOneById(importFromTestCaseVo.getPlanId());
if(xmTestPlanDb==null){ if(xmTestPlanDb==null){
return ResponseHelper.failed("testPlan-0","测试计划不存在");
return Result.error("testPlan-0","测试计划不存在");
} }
if("2".equals(xmTestPlanDb.getStatus())){ if("2".equals(xmTestPlanDb.getStatus())){
return ResponseHelper.failed("status-2","测试计划已结束");
return Result.error("status-2","测试计划已结束");
} }
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();
XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId()); XmProduct xmProductDb=productService.getProductFromCache(xmTestPlanDb.getProductId());

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

@ -30,7 +30,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.map; import static com.mdp.core.utils.BaseUtils.map;
import static com.mdp.core.utils.ResponseHelper.failed;
import static com.mdp.core.utils.Result.error;
/** /**
* url编制采用rest风格,如对xm_workload 工时登记表的操作有增删改查,对应的url分别为:<br> * url编制采用rest风格,如对xm_workload 工时登记表的操作有增删改查,对应的url分别为:<br>
@ -441,11 +441,11 @@ public class XmWorkloadController {
public Result batchDelXmWorkload(@RequestBody List<XmWorkload> xmWorkloads) { public Result batchDelXmWorkload(@RequestBody List<XmWorkload> xmWorkloads) {
if(xmWorkloads.stream().filter(i->!StringUtils.hasText(i.getId())).findAny().isPresent()){ if(xmWorkloads.stream().filter(i->!StringUtils.hasText(i.getId())).findAny().isPresent()){
return ResponseHelper.failed("id-0","主键不能为空");
return Result.error("id-0","主键不能为空");
} }
xmWorkloads = xmWorkloadService.selectListByIds(xmWorkloads.stream().map(i->i.getId()).collect(Collectors.toList())); xmWorkloads = xmWorkloadService.selectListByIds(xmWorkloads.stream().map(i->i.getId()).collect(Collectors.toList()));
if(xmWorkloads==null || xmWorkloads.size()==0){ if(xmWorkloads==null || xmWorkloads.size()==0){
return ResponseHelper.failed("data-0","工时已不存在");
return Result.error("data-0","工时已不存在");
} }
User user= LoginUtils.getCurrentUserInfo(); User user= LoginUtils.getCurrentUserInfo();
List<String> taskIds=xmWorkloads.stream().map(i->i.getTaskId()).collect(Collectors.toSet()).stream().collect(Collectors.toList()); List<String> taskIds=xmWorkloads.stream().map(i->i.getTaskId()).collect(Collectors.toSet()).stream().collect(Collectors.toList());
@ -531,7 +531,7 @@ public class XmWorkloadController {
List<String> ids= (List<String>) xmWorkloadMap.get("ids"); List<String> ids= (List<String>) xmWorkloadMap.get("ids");
if(ids==null || ids.size()==0){ if(ids==null || ids.size()==0){
return ResponseHelper.failed("ids-0","ids不能为空");
return Result.error("ids-0","ids不能为空");
} }
Set<String> fields=new HashSet<>(); Set<String> fields=new HashSet<>();
fields.add("workload"); fields.add("workload");
@ -542,23 +542,23 @@ public class XmWorkloadController {
for (String fieldName : xmWorkloadMap.keySet()) { for (String fieldName : xmWorkloadMap.keySet()) {
if(fields.contains(fieldName)){ if(fields.contains(fieldName)){
return ResponseHelper.failed(fieldName+"-no-edit",fieldName+"不允许修改");
return Result.error(fieldName+"-no-edit",fieldName+"不允许修改");
} }
} }
List<XmWorkload> xmWorkloadsDb= xmWorkloadService.selectListByIds(ids); List<XmWorkload> xmWorkloadsDb= xmWorkloadService.selectListByIds(ids);
if(xmWorkloadsDb==null ||xmWorkloadsDb.size()==0){ if(xmWorkloadsDb==null ||xmWorkloadsDb.size()==0){
return ResponseHelper.failed("tasks-0","该工时已不存在");
return Result.error("tasks-0","该工时已不存在");
} }
String wstatus= (String) xmWorkloadMap.get("wstatus"); String wstatus= (String) xmWorkloadMap.get("wstatus");
String sstatus= (String) xmWorkloadMap.get("sstatus"); String sstatus= (String) xmWorkloadMap.get("sstatus");
if(StringUtils.hasText(sstatus)){ if(StringUtils.hasText(sstatus)){
if(!"0".equals(sstatus) && !"1".equals(sstatus)){ if(!"0".equals(sstatus) && !"1".equals(sstatus)){
return ResponseHelper.failed("sstatus-not-01","只能修改为无需结算或者待结算");
return Result.error("sstatus-not-01","只能修改为无需结算或者待结算");
} }
} }
if(StringUtils.hasText(wstatus)){ if(StringUtils.hasText(wstatus)){
if(!"0".equals(wstatus) && !"1".equals(wstatus) ){ if(!"0".equals(wstatus) && !"1".equals(wstatus) ){
return ResponseHelper.failed("wstatus-not-01","工时状态不正确");
return Result.error("wstatus-not-01","工时状态不正确");
} }
} }
List<String> taskIds=xmWorkloadsDb.stream().map(i->i.getTaskId()).collect(Collectors.toSet()).stream().collect(Collectors.toList()); List<String> taskIds=xmWorkloadsDb.stream().map(i->i.getTaskId()).collect(Collectors.toSet()).stream().collect(Collectors.toList());

37
xm-core/src/main/java/com/xm/core/service/XmTaskExecuserService.java

@ -161,10 +161,6 @@ public class XmTaskExecuserService extends BaseService<XmTaskExecuserMapper,XmTa
public void becomeExecute(XmTask xmTaskDb,XmTaskExecuser xmTaskExecuser){ public void becomeExecute(XmTask xmTaskDb,XmTaskExecuser xmTaskExecuser){
String projectId=xmTaskDb.getProjectId(); String projectId=xmTaskDb.getProjectId();
String taskId=xmTaskExecuser.getTaskId(); String taskId=xmTaskExecuser.getTaskId();
List<XmGroupVo> pgroups=groupService.getProjectGroupVoList(projectId);
User user=LoginUtils.getCurrentUserInfo();
List<XmGroupVo> userGroups=groupService.getUserGroups(pgroups, xmTaskExecuser.getBidUserid());
XmTaskExecuser query=new XmTaskExecuser(); XmTaskExecuser query=new XmTaskExecuser();
query.setTaskId(taskId); query.setTaskId(taskId);
XmTaskExecuser xmTaskExecuserDb=null; XmTaskExecuser xmTaskExecuserDb=null;
@ -195,24 +191,22 @@ public class XmTaskExecuserService extends BaseService<XmTaskExecuserMapper,XmTa
XmTaskExecuser xmTaskExecuser2=new XmTaskExecuser(); XmTaskExecuser xmTaskExecuser2=new XmTaskExecuser();
xmTaskExecuser2.setTaskId(xmTaskExecuser.getTaskId()); xmTaskExecuser2.setTaskId(xmTaskExecuser.getTaskId());
xmTaskExecuser2.setBidUserid(xmTaskExecuser.getBidUserid()); xmTaskExecuser2.setBidUserid(xmTaskExecuser.getBidUserid());
xmTaskExecuser2.setStatus("1");
this.updateSomeFieldByPk(xmTaskExecuser2);
/**
* 下面为推送任务执行人变更im通知消息
*/
String imMsg=xmTaskExecuser.getBidUsername()+"变更为任务["+xmTaskDb.getId()+"-"+xmTaskDb.getName()+"]执行人";
for (XmGroupVo g : userGroups) {
this.pushMsgService.pushGroupMsg(user.getBranchId(),g.getId(), xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(),imMsg );
this.pushMsgService.pushPrichatMsgToIm(user.getBranchId(), user.getUserid(),user.getUsername(),xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(),imMsg);
}
this.pushMsgService.pushCssMsg(user.getBranchId(), xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), imMsg);
xmTaskExecuser2.setStatus("1");
this.updateById(xmTaskExecuser2,true);
User user=LoginUtils.getCurrentUserInfo();
/**
* 下面为推送任务执行人变更im通知消息
*/
String imMsg=xmTaskExecuser.getBidUsername()+"变更为任务["+xmTaskDb.getId()+"-"+xmTaskDb.getName()+"]执行人";
notifyMsgService.pushMsg(user, xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), "恭喜您被雇主选为任务【" + xmTaskExecuser.getTaskId() + "-" + xmTaskDb.getName() + "】的中标人,请尽快开展工作。",null);
this.pushMsgService.pushCssMsg(user.getBranchId(), xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), imMsg);
updateXmTaskExeUseridsAndUsernamesByTaskId(taskId);
if("2".equals(xmTaskDb.getOshare()) && xmTaskDb.getShareFee()!=null && xmTaskDb.getShareFee().compareTo(BigDecimal.ZERO)>0){
mkClient.pushAfterTaskExecSuccess(xmTaskExecuserDb.getBidUserid(),xmTaskExecuserDb.getBidUsername(),xmTaskDb.getProjectId(),xmTaskDb.getId(),xmTaskDb.getShareFee());
}
notifyMsgService.pushMsg(user, xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), "恭喜您被雇主选为任务【" + xmTaskExecuser.getTaskId() + "-" + xmTaskDb.getName() + "】的中标人,请尽快开展工作。",null);
updateXmTaskExeUseridsAndUsernamesByTaskId(taskId);
if("2".equals(xmTaskDb.getOshare()) && xmTaskDb.getShareFee()!=null && xmTaskDb.getShareFee().compareTo(BigDecimal.ZERO)>0){
mkClient.pushAfterTaskExecSuccess(xmTaskExecuserDb.getBidUserid(),xmTaskExecuserDb.getBidUsername(),xmTaskDb.getProjectId(),xmTaskDb.getId(),xmTaskDb.getShareFee());
}
xmRecordService.addXmTaskRecord(projectId, taskId, "项目-任务-变更为执行人", xmTaskExecuser.getBidUsername()+"变更为任务执行人",null,null); xmRecordService.addXmTaskRecord(projectId, taskId, "项目-任务-变更为执行人", xmTaskExecuser.getBidUsername()+"变更为任务执行人",null,null);
} }
@ -224,6 +218,7 @@ public class XmTaskExecuserService extends BaseService<XmTaskExecuserMapper,XmTa
public void becomeCandidate(XmTaskExecuser xmTaskExecuser) { public void becomeCandidate(XmTaskExecuser xmTaskExecuser) {
XmTaskExecuser xmTaskExecuserNew=new XmTaskExecuser(); XmTaskExecuser xmTaskExecuserNew=new XmTaskExecuser();
xmTaskExecuserNew.setTaskId(xmTaskExecuser.getTaskId()); xmTaskExecuserNew.setTaskId(xmTaskExecuser.getTaskId());
xmTaskExecuserNew.setBidUsername(xmTaskExecuser.getBidUsername());
xmTaskExecuserNew.setBidUserid(xmTaskExecuser.getBidUserid()); xmTaskExecuserNew.setBidUserid(xmTaskExecuser.getBidUserid());
xmTaskExecuserNew.setQuoteWeekday(xmTaskExecuser.getQuoteWeekday()); xmTaskExecuserNew.setQuoteWeekday(xmTaskExecuser.getQuoteWeekday());
xmTaskExecuserNew.setQuoteWorkload(xmTaskExecuser.getQuoteWorkload()); xmTaskExecuserNew.setQuoteWorkload(xmTaskExecuser.getQuoteWorkload());
@ -232,7 +227,7 @@ public class XmTaskExecuserService extends BaseService<XmTaskExecuserMapper,XmTa
xmTaskExecuserNew.setQuoteStartTime(xmTaskExecuser.getQuoteStartTime()); xmTaskExecuserNew.setQuoteStartTime(xmTaskExecuser.getQuoteStartTime());
xmTaskExecuserNew.setSkillRemark(xmTaskExecuser.getSkillRemark()); xmTaskExecuserNew.setSkillRemark(xmTaskExecuser.getSkillRemark());
xmTaskExecuserNew.setStatus("0"); xmTaskExecuserNew.setStatus("0");
this.updateSomeFieldByPk(xmTaskExecuserNew);
this.updateById(xmTaskExecuserNew,true);
updateXmTaskExeUseridsAndUsernamesByTaskId(xmTaskExecuser.getTaskId()); updateXmTaskExeUseridsAndUsernamesByTaskId(xmTaskExecuser.getTaskId());
this.pushMsgService.pushCssMsg(xmTaskExecuser.getBranchId(), xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), xmTaskExecuser.getBidUsername()+"变更为候选人并提交关于任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】报价信息"); this.pushMsgService.pushCssMsg(xmTaskExecuser.getBranchId(), xmTaskExecuser.getBidUserid(), xmTaskExecuser.getBidUsername(), xmTaskExecuser.getBidUsername()+"变更为候选人并提交关于任务【"+xmTaskExecuser.getTaskId()+"-"+xmTaskExecuser.getTaskName()+"】报价信息");
User user=LoginUtils.getCurrentUserInfo(); User user=LoginUtils.getCurrentUserInfo();

Loading…
Cancel
Save