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. 39
      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.XmProjectService;
import com.xm.core.service.XmRecordService;
import com.xm.core.service.cache.XmProjectGroupCacheService;
import com.xm.core.service.push.XmPushMsgService;
import com.xm.core.vo.XmProjectGroupVo;
import io.swagger.annotations.*;
@ -52,6 +53,10 @@ public class XmProjectGroupController {
@Autowired
private XmProjectGroupService xmProjectGroupService;
@Autowired
private XmProjectGroupCacheService xmProjectGroupCacheService;
@Autowired
private XmProjectService xmProjectService;
@ -111,6 +116,12 @@ public class XmProjectGroupController {
}
xmProjectGroupService.parentIdPathsCalcBeforeSave(group);
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);
return m;
}
@ -242,6 +253,11 @@ public class XmProjectGroupController {
}
this.xmProjectGroupService.parentIdPathsCalcBeforeSave(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());
xmRecordService.addXmGroupRecord(xmProjectGroup.getProjectId(), xmProjectGroup.getId(), "项目-团队-新增小组", "新增小组"+xmProjectGroup.getGroupName(),JSON.toJSONString(xmProjectGroup),null);
m.put("data",xmProjectGroup);
@ -303,6 +319,12 @@ public class XmProjectGroupController {
return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
}
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) {
tips=e.getTips();
logger.error("",e);
@ -365,8 +387,10 @@ public class XmProjectGroupController {
if(canDelNodes.size()>0){
if("1".equals(pgClass)){
xmProjectGroupService.doBatchDeleteProductGroups(canDelNodes);
xmProjectGroupCacheService.clearProductGroups(groupDb.getProductId());
}else {
xmProjectGroupService.doBatchDeleteProjectGroups(canDelNodes);
xmProjectGroupCacheService.clearProjectGroups(groupDb.getProjectId());
}
}
}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.utils.LoginUtils;
import com.xm.core.PubTool;
import com.xm.core.entity.XmProject;
import com.xm.core.entity.XmTask;
import com.xm.core.service.XmProjectGroupService;
import com.xm.core.service.XmProjectService;
import com.xm.core.service.XmRecordService;
import com.xm.core.service.XmTaskService;
import com.xm.core.service.cache.XmTaskCacheService;
@ -68,6 +70,8 @@ public class XmTaskController {
@Autowired
private XmPushMsgService xmPushMsgService;
private XmProjectService xmProjectService;
@ApiOperation( value = "查询xm_task信息列表",notes="listXmTask,条件之间是 and关系,模糊查询写法如 {studentName:'%才哥%'}")
@ApiImplicitParams({
@ -468,7 +472,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),user.getUserid());
if(!isHead){
tips.setFailureMsg("您无权删除该任务!项目经理、组长可以删除任务。");
m.put("tips", tips);
@ -524,6 +528,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
List<XmProjectGroupVo> pgroups=groupService.getProjectGroupVoList(xmTaskVo.getProjectId());
if(pgroups==null || pgroups.size()==0){
tips.setFailureMsg("该项目还未建立项目团队,请先进行团队成员维护");
@ -536,7 +541,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){
boolean isPm=groupService.checkUserIsProjectManager(pgroups,user.getUserid());
if(!isPm){
@ -599,7 +604,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,xmTaskDb.getCreateUserid(),user.getUserid());
if(!isHead){
tips.setFailureMsg("您无权修改该任务基础信息!项目经理、组长可以修改任务的基础信息。");
m.put("tips", tips);
@ -686,7 +691,7 @@ public class XmTaskController {
return m;
}
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){
boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid());
boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid());
@ -736,7 +741,7 @@ public class XmTaskController {
return m;
}
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){
boolean isCreateUser=user.getUserid().equals(xmTaskDb.getCreateUserid());
boolean isExecUser=user.getUserid().equals(xmTaskDb.getExecutorUserid());
@ -808,7 +813,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,user.getUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,user.getUserid(),user.getUserid());
if(!isHead){
tips.setFailureMsg("您无权批量导入任务!项目经理、组长可以批量导入任务。");
m.put("tips", tips);
@ -915,7 +920,7 @@ public class XmTaskController {
if(isMyCreate){
allowTasks.add(task);
}else{
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){
noAllowTasks.add(task);
}else {
@ -994,7 +999,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,node.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,node.getCreateUserid(),user.getUserid());
if(!isHead){
noAllowNodes.add(node);
@ -1141,7 +1146,7 @@ public class XmTaskController {
m.put("tips", tips);
return m;
}
boolean isHead=groupService.checkUserIsOtherUserTeamHead(pgroups,task.getCreateUserid(),user.getUserid());
boolean isHead=groupService.checkUserIsOtherUserTeamHeadOrAss(pgroups,task.getCreateUserid(),user.getUserid());
if(!isHead){
noAllowTasksDbMap.put(task.getId(),task);
}else {

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

@ -320,6 +320,22 @@ public class XmProjectGroupService extends BaseService {
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
@ -344,6 +360,29 @@ public class XmProjectGroupService extends BaseService {
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){
for (XmProjectGroupVo g : xmProjectGroupVoList) {
if("nbxmjl".equals(g.getPgTypeId())) {

Loading…
Cancel
Save