Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
7f223357a9
  1. 24
      xm-core/src/main/java/com/xm/core/ctrl/XmProjectGroupController.java
  2. 23
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskController.java
  3. 41
      xm-core/src/main/java/com/xm/core/service/XmProjectGroupService.java

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

@ -16,6 +16,7 @@ import com.xm.core.service.XmProductService;
import com.xm.core.service.XmProjectGroupService; import com.xm.core.service.XmProjectGroupService;
import com.xm.core.service.XmProjectService; import com.xm.core.service.XmProjectService;
import com.xm.core.service.XmRecordService; import com.xm.core.service.XmRecordService;
import com.xm.core.service.cache.XmProjectGroupCacheService;
import com.xm.core.service.push.XmPushMsgService; import com.xm.core.service.push.XmPushMsgService;
import com.xm.core.vo.XmProjectGroupVo; import com.xm.core.vo.XmProjectGroupVo;
import io.swagger.annotations.*; import io.swagger.annotations.*;
@ -51,6 +52,10 @@ public class XmProjectGroupController {
@Autowired @Autowired
private XmProjectGroupService xmProjectGroupService; private XmProjectGroupService xmProjectGroupService;
@Autowired
private XmProjectGroupCacheService xmProjectGroupCacheService;
@Autowired @Autowired
private XmProjectService xmProjectService; private XmProjectService xmProjectService;
@ -111,6 +116,12 @@ public class XmProjectGroupController {
} }
xmProjectGroupService.parentIdPathsCalcBeforeSave(group); xmProjectGroupService.parentIdPathsCalcBeforeSave(group);
tips= xmProjectGroupService.updateGroup(group,groupDb); //列出XmProjectGroup列表 tips= xmProjectGroupService.updateGroup(group,groupDb); //列出XmProjectGroup列表
if("1".equals(groupDb.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(groupDb.getProductId(),groupDb.getId());
}else {
xmProjectGroupCacheService.clearProjectGroup(groupDb.getProjectId(),groupDb.getId());
}
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
@ -242,6 +253,11 @@ public class XmProjectGroupController {
} }
this.xmProjectGroupService.parentIdPathsCalcBeforeSave(xmProjectGroup); this.xmProjectGroupService.parentIdPathsCalcBeforeSave(xmProjectGroup);
xmProjectGroupService.insert(xmProjectGroup); xmProjectGroupService.insert(xmProjectGroup);
if("1".equals(xmProjectGroup.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(xmProjectGroup.getProductId(),xmProjectGroup.getId());
}else {
xmProjectGroupCacheService.clearProjectGroup(xmProjectGroup.getProjectId(),xmProjectGroup.getId());
}
pushMsgService.pushChannelGroupCreateMsg(u.getBranchId(), xmProjectGroup.getProjectId(),xmProjectGroup.getId(), xmProjectGroup.getId(),xmProjectGroup.getGroupName(), u.getUserid(), u.getUsername(), null, "新增小组"+xmProjectGroup.getGroupName()); pushMsgService.pushChannelGroupCreateMsg(u.getBranchId(), xmProjectGroup.getProjectId(),xmProjectGroup.getId(), xmProjectGroup.getId(),xmProjectGroup.getGroupName(), u.getUserid(), u.getUsername(), null, "新增小组"+xmProjectGroup.getGroupName());
xmRecordService.addXmGroupRecord(xmProjectGroup.getProjectId(), xmProjectGroup.getId(), "项目-团队-新增小组", "新增小组"+xmProjectGroup.getGroupName(),JSON.toJSONString(xmProjectGroup),null); xmRecordService.addXmGroupRecord(xmProjectGroup.getProjectId(), xmProjectGroup.getId(), "项目-团队-新增小组", "新增小组"+xmProjectGroup.getGroupName(),JSON.toJSONString(xmProjectGroup),null);
m.put("data",xmProjectGroup); m.put("data",xmProjectGroup);
@ -303,6 +319,12 @@ public class XmProjectGroupController {
return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。"); return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
} }
xmProjectGroupService.doDeleteByPk(xmProjectGroup,groupDb); xmProjectGroupService.doDeleteByPk(xmProjectGroup,groupDb);
if("1".equals(groupDb.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(groupDb.getProductId(),groupDb.getId());
}else {
xmProjectGroupCacheService.clearProjectGroup(groupDb.getProjectId(),groupDb.getId());
}
}catch (BizException e) { }catch (BizException e) {
tips=e.getTips(); tips=e.getTips();
logger.error("",e); logger.error("",e);
@ -365,8 +387,10 @@ public class XmProjectGroupController {
if(canDelNodes.size()>0){ if(canDelNodes.size()>0){
if("1".equals(pgClass)){ if("1".equals(pgClass)){
xmProjectGroupService.doBatchDeleteProductGroups(canDelNodes); xmProjectGroupService.doBatchDeleteProductGroups(canDelNodes);
xmProjectGroupCacheService.clearProductGroups(groupDb.getProductId());
}else { }else {
xmProjectGroupService.doBatchDeleteProjectGroups(canDelNodes); xmProjectGroupService.doBatchDeleteProjectGroups(canDelNodes);
xmProjectGroupCacheService.clearProjectGroups(groupDb.getProjectId());
} }
} }
}catch (BizException e) { }catch (BizException e) {

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

@ -14,8 +14,10 @@ import com.mdp.qx.HasQx;
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.xm.core.PubTool; import com.xm.core.PubTool;
import com.xm.core.entity.XmProject;
import com.xm.core.entity.XmTask; import com.xm.core.entity.XmTask;
import com.xm.core.service.XmProjectGroupService; import com.xm.core.service.XmProjectGroupService;
import com.xm.core.service.XmProjectService;
import com.xm.core.service.XmRecordService; import com.xm.core.service.XmRecordService;
import com.xm.core.service.XmTaskService; import com.xm.core.service.XmTaskService;
import com.xm.core.service.cache.XmTaskCacheService; import com.xm.core.service.cache.XmTaskCacheService;
@ -68,6 +70,8 @@ public class XmTaskController {
@Autowired @Autowired
private XmPushMsgService xmPushMsgService; private XmPushMsgService xmPushMsgService;
private XmProjectService xmProjectService;
@ApiOperation( value = "查询xm_task信息列表",notes="listXmTask,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}") @ApiOperation( value = "查询xm_task信息列表",notes="listXmTask,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}")
@ApiImplicitParams({ @ApiImplicitParams({
@ -468,7 +472,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权删除该任务!项目经理、组长可以删除任务。"); tips.setFailureMsg("您无权删除该任务!项目经理、组长可以删除任务。");
m.put("tips", tips); m.put("tips", tips);
@ -524,6 +528,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(xmTaskVo.getProjectId()); List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(xmTaskVo.getProjectId());
if(pgroups==null || pgroups.size()==0){ if(pgroups==null || pgroups.size()==0){
tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护"); tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护");
@ -536,7 +541,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
boolean isPm=groupService.checkUserIsProjectManager(pgroups,user.getUserid()); boolean isPm=groupService.checkUserIsProjectManager(pgroups,user.getUserid());
if(!isPm){ if(!isPm){
@ -599,7 +604,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权修改该任务基础信息!项目经理、组长可以修改任务的基础信息。"); tips.setFailureMsg("您无权修改该任务基础信息!项目经理、组长可以修改任务的基础信息。");
m.put("tips", tips); m.put("tips", tips);
@ -686,7 +691,7 @@ public class XmTaskController {
return m; return m;
} }
XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask);
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid()); boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid());
boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid()); boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid());
@ -736,7 +741,7 @@ public class XmTaskController {
return m; return m;
} }
XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask); XmTask xmTaskDb=xmTaskService.selectOneObject(xmTask);
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid()); boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid());
boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid()); boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid());
@ -808,7 +813,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),user.getUserid());
if(!isHead){ if(!isHead){
tips.setFailureMsg("您无权批量导入任务!项目经理、组长可以批量导入任务。"); tips.setFailureMsg("您无权批量导入任务!项目经理、组长可以批量导入任务。");
m.put("tips", tips); m.put("tips", tips);
@ -915,7 +920,7 @@ public class XmTaskController {
if(isMyCreate){ if(isMyCreate){
allowTasks.add(task); allowTasks.add(task);
}else{ }else{
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowTasks.add(task); noAllowTasks.add(task);
}else { }else {
@ -994,7 +999,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,node.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,node.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowNodes.add(node); noAllowNodes.add(node);
@ -1141,7 +1146,7 @@ public class XmTaskController {
m.put("tips", tips); m.put("tips", tips);
return m; return m;
} }
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){ if(!isHead){
noAllowTasksDbMap.put(task.getId(),task); noAllowTasksDbMap.put(task.getId(),task);
}else { }else {

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

@ -320,6 +320,22 @@ public class XmProjectGroupService extends BaseService {
return false; return false;
} }
/**
* 检查某个人是否为指定的小组的组长\副组长\助理
* @param xmProjectGroupVo
* @param headUserid
* @return
*/
public boolean checkUserIsTeamHeadOrAss(XmProjectGroupVo xmProjectGroupVo, String headUserid){
if(xmProjectGroupVo==null){
return false;
}
if(headUserid.equals(xmProjectGroupVo.getLeaderUserid())||headUserid.equals(xmProjectGroupVo.getAssUserid())){
return true;
}
return false;
}
/** /**
* 检查某个人是否另外一个人的组长 * 检查某个人是否另外一个人的组长
* @param xmProjectGroupVoList * @param xmProjectGroupVoList
@ -343,7 +359,30 @@ public class XmProjectGroupService extends BaseService {
} }
return false; return false;
} }
/**
* 检查某个人是否另外一个人的组长
* @param xmProjectGroupVoList
* @param memUserid
* @param headUserid
* @return
*/
public boolean checkUserIsOtherUserTeamHeadOrAss(List<XmProjectGroupVo> xmProjectGroupVoList, String memUserid, String headUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
return false;
}
List<XmProjectGroupVo> userGroups=this.getUserGroups(xmProjectGroupVoList, memUserid);
if(userGroups==null || userGroups.size()==0) {
return false;
}
for (XmProjectGroupVo ug : userGroups) {
if(headUserid.equals(ug.getLeaderUserid())||headUserid.equals(ug.getAssUserid())){
return true;
}
}
return false;
}
public List<XmProjectGroupUser> getProjectManagers( List<XmProjectGroupVo> xmProjectGroupVoList){ public List<XmProjectGroupUser> getProjectManagers( List<XmProjectGroupVo> xmProjectGroupVoList){
for (XmProjectGroupVo g : xmProjectGroupVoList) { for (XmProjectGroupVo g : xmProjectGroupVoList) {
if("nbxmjl".equals(g.getPgTypeId())) { if("nbxmjl".equals(g.getPgTypeId())) {

Loading…
Cancel
Save