Browse Source

添加节点类型、标签等

master
陈裕财 4 years ago
parent
commit
43dd0888e2
  1. 168
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupController.java
  2. 46
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupStateController.java
  3. 136
      xm-core/src/main/java/com/xm/core/ctrl/XmGroupUserController.java
  4. 2
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskExecuserController.java
  5. 156
      xm-core/src/main/java/com/xm/core/service/XmGroupService.java

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

@ -33,12 +33,12 @@ import java.util.stream.Collectors;
/**
* url编制采用rest风格,如对XM.xm_group xm_group的操作有增删改查,对应的url分别为:<br>
* 新增: xm/xmProjectGroup/add <br>
* 查询: xm/xmProjectGroup/list<br>
* 模糊查询: xm/xmProjectGroup/listKey<br>
* 修改: xm/xmProjectGroup/edit <br>
* 删除: xm/xmProjectGroup/del<br>
* 批量删除: xm/xmProjectGroup/batchDel<br>
* 新增: xm/xmGroup/add <br>
* 查询: xm/xmGroup/list<br>
* 模糊查询: xm/xmGroup/listKey<br>
* 修改: xm/xmGroup/edit <br>
* 删除: xm/xmGroup/del<br>
* 批量删除: xm/xmGroup/batchDel<br>
* 组织 com.qqkj 顶级模块 oa 大模块 xm 小模块 <br>
* 实体 XmProjectGroup XM.xm_group 当前主键(包括多主键): id;
***/
@ -50,11 +50,11 @@ public class XmGroupController {
static Log logger=LogFactory.getLog(XmGroupController.class);
@Autowired
private XmGroupService xmProjectGroupService;
private XmGroupService xmGroupService;
@Autowired
private XmGroupCacheService xmProjectGroupCacheService;
private XmGroupCacheService xmGroupCacheService;
@Autowired
private XmProjectService xmProjectService;
@ -73,7 +73,7 @@ public class XmGroupController {
@ApiResponses({
@ApiResponse(code = 200,response= XmGroup.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@HasQx(value = "xm_core_xmProjectGroup_updateGroup",name = "批量更新修改项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@HasQx(value = "xm_core_xmGroup_updateGroup",name = "批量更新修改项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Map<String,Object> updateGroup(@RequestBody XmGroup group) {
@ -88,38 +88,38 @@ public class XmGroupController {
return ResponseHelper.failed("id-0","小组编号不能为空");
}
User user=LoginUtils.getCurrentUserInfo();
XmGroup groupDb=this.xmProjectGroupService.selectOneObject(new XmGroup(group.getId()));
XmGroup groupDb=this.xmGroupService.selectOneObject(new XmGroup(group.getId()));
if(groupDb==null){
return ResponseHelper.failed("data-0","小组已不存在。");
}
if("1".equals(groupDb.getPgClass())){
XmProduct xmProduct=this.xmProductService.selectOneObject(new XmProduct(groupDb.getProductId()));
tips=this.xmProjectGroupService.checkProductStatus(xmProduct);
tips=this.xmGroupService.checkProductStatus(xmProduct);
if(tips.isOk()==false){
return ResponseHelper.failed(tips);
}
tips=this.xmProjectGroupService.checkHasEditProdcutGroupQx(user,group,groupDb,xmProduct);
tips=this.xmGroupService.checkHasEditProdcutGroupQx(user,group,groupDb,xmProduct);
if(tips.isOk()==false){
return ResponseHelper.failed(tips);
}
}else{
XmProject xmProject=this.xmProjectService.getProjectFromCache(groupDb.getProjectId());
tips=this.xmProjectGroupService.checkProjectStatus(xmProject);
tips=this.xmGroupService.checkProjectStatus(xmProject);
if(tips.isOk()==false){
return ResponseHelper.failed(tips);
}
tips=this.xmProjectGroupService.checkHasEditProjectGroupQx(user,group,groupDb,xmProject);
tips=this.xmGroupService.checkHasEditProjectGroupQx(user,group,groupDb,xmProject);
if(tips.isOk()==false){
return ResponseHelper.failed(tips);
}
}
xmProjectGroupService.parentIdPathsCalcBeforeSave(group);
tips= xmProjectGroupService.updateGroup(group,groupDb); //列出XmProjectGroup列表
xmGroupService.parentIdPathsCalcBeforeSave(group);
tips= xmGroupService.updateGroup(group,groupDb); //列出XmProjectGroup列表
if("1".equals(groupDb.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(groupDb.getProductId());
xmGroupCacheService.clearProductGroup(groupDb.getProductId());
xmRecordService.addXmProductGroupRecord(groupDb.getProductId(),groupDb.getId(),"团队-小组-修改小组","修改小组信息【"+groupDb.getGroupName()+"】");
}else {
xmProjectGroupCacheService.clearProjectGroup(groupDb.getProjectId());
xmGroupCacheService.clearProjectGroup(groupDb.getProjectId());
xmRecordService.addXmGroupRecord(groupDb.getProjectId(),groupDb.getId(),"团队-小组-修改小组","修改小组信息【"+groupDb.getGroupName()+"】");
}
@ -143,26 +143,26 @@ public class XmGroupController {
@ApiResponses({
@ApiResponse(code = 200,response= XmGroup.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@HasQx(value = "xm_core_xmProjectGroup_getGroups",name = "查找项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@HasQx(value = "xm_core_xmGroup_getGroups",name = "查找项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@RequestMapping(value="/getGroups",method=RequestMethod.GET)
public Map<String,Object> getGroup(@RequestParam Map<String,Object> params) {
Map<String,Object> m = new HashMap<>();
RequestUtils.transformArray(params, "ids");
PageUtils.startPage(params);
List<XmGroupVo> xmProjectGroupList=new ArrayList<>();
List<XmGroupVo> xmGroupList=new ArrayList<>();
String iterationId= (String) params.get("iterationId");
String projectId= (String) params.get("projectId");
String productId= (String) params.get("productId");
if(StringUtils.hasText(projectId)){
xmProjectGroupList = xmProjectGroupService.getProjectGroupVoList(projectId); //列出XmProjectGroup列表
xmGroupList = xmGroupService.getProjectGroupVoList(projectId); //列出XmProjectGroup列表
}else if(StringUtils.hasText(iterationId)){
xmProjectGroupList = xmProjectGroupService.getProjectGroupVoListByIterationId(iterationId ); //列出XmProjectGroup列表
xmGroupList = xmGroupService.getProjectGroupVoListByIterationId(iterationId ); //列出XmProjectGroup列表
}else if(StringUtils.hasText(productId)){
xmProjectGroupList = xmProjectGroupService.getProjectGroupVoListByProductId( productId); //列出XmProjectGroup列表
xmGroupList = xmGroupService.getProjectGroupVoListByProductId( productId); //列出XmProjectGroup列表
}
PageUtils.responePage(m, xmProjectGroupList);
m.put("data",xmProjectGroupList);
PageUtils.responePage(m, xmGroupList);
m.put("data",xmGroupList);
Tips tips=new Tips("查询成功");
m.put("tips", tips);
return m;
@ -187,21 +187,21 @@ public class XmGroupController {
@ApiResponse(code = 200,response= XmGroup.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/list",method=RequestMethod.GET)
public Map<String,Object> listXmProjectGroup( @RequestParam Map<String,Object> xmProjectGroup){
public Map<String,Object> listXmProjectGroup( @RequestParam Map<String,Object> xmGroup){
Map<String,Object> m = new HashMap<>();
RequestUtils.transformArray(xmProjectGroup, "ids");
PageUtils.startPage(xmProjectGroup);
RequestUtils.transformArray(xmGroup, "ids");
PageUtils.startPage(xmGroup);
User user=LoginUtils.getCurrentUserInfo();
String projectId= (String) xmProjectGroup.get("projectId");
String productId= (String) xmProjectGroup.get("productId");
String iterationId= (String) xmProjectGroup.get("iterationId");
String projectId= (String) xmGroup.get("projectId");
String productId= (String) xmGroup.get("productId");
String iterationId= (String) xmGroup.get("iterationId");
if(!StringUtils.hasText(projectId) && !StringUtils.hasText(productId) && !StringUtils.hasText(iterationId)){
xmProjectGroup.put("branchId",user.getBranchId());
xmProjectGroup.put("orCrowBranchId",user.getBranchId());
xmGroup.put("branchId",user.getBranchId());
xmGroup.put("orCrowBranchId",user.getBranchId());
}
List<Map<String,Object>> xmProjectGroupList = xmProjectGroupService.selectListMapByWhere(xmProjectGroup); //列出XmProjectGroup列表
PageUtils.responePage(m, xmProjectGroupList);
m.put("data",xmProjectGroupList);
List<Map<String,Object>> xmGroupList = xmGroupService.selectListMapByWhere(xmGroup); //列出XmProjectGroup列表
PageUtils.responePage(m, xmGroupList);
m.put("data",xmGroupList);
Tips tips=new Tips("查询成功");
m.put("tips", tips);
return m;
@ -211,77 +211,77 @@ public class XmGroupController {
@ApiResponses({
@ApiResponse(code = 200,response= XmGroup.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@HasQx(value = "xm_core_xmProjectGroup_add",name = "新增项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@HasQx(value = "xm_core_xmGroup_add",name = "新增项目团队信息",categoryId = "admin-xm",categoryName = "管理端-项目管理系统")
@RequestMapping(value="/add",method=RequestMethod.POST)
public Map<String,Object> addXmProjectGroup(@RequestBody XmGroup xmProjectGroup) {
public Map<String,Object> addXmProjectGroup(@RequestBody XmGroup xmGroup) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
try{
User u = LoginUtils.getCurrentUserInfo();
if(!"1".equals(xmProjectGroup.getPgClass())) {
if(!StringUtils.hasText(xmProjectGroup.getProjectId())){
if(!"1".equals(xmGroup.getPgClass())) {
if(!StringUtils.hasText(xmGroup.getProjectId())){
return ResponseHelper.failed("projectId-0","项目编号不能为空");
}
XmProject project = xmProjectService.getProjectFromCache(xmProjectGroup.getProjectId());
XmProject project = xmProjectService.getProjectFromCache(xmGroup.getProjectId());
if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
tips=this.xmProjectGroupService.checkProjectStatus(project);
tips=this.xmGroupService.checkProjectStatus(project);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
Map<String,String> projectAdmMap=xmProjectGroupService.getProjectAdmUsers(project);
Map<String,String> projectAdmMap=xmGroupService.getProjectAdmUsers(project);
if(!projectAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能创建小组。项目级助理以上人员可以创建小组。");
}
xmProjectGroup.setProductId(null);
xmGroup.setProductId(null);
xmProjectGroup.setBranchId(project.getBranchId());
xmGroup.setBranchId(project.getBranchId());
}else{
if(!StringUtils.hasText(xmProjectGroup.getProductId())){
if(!StringUtils.hasText(xmGroup.getProductId())){
return ResponseHelper.failed("productId-0","产品编号不能为空");
}
XmProduct product = xmProductService.selectOneObject(new XmProduct(xmProjectGroup.getProductId()));
XmProduct product = xmProductService.selectOneObject(new XmProduct(xmGroup.getProductId()));
if(product==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
tips=this.xmProjectGroupService.checkProductStatus(product);
tips=this.xmGroupService.checkProductStatus(product);
if(!tips.isOk()){
return ResponseHelper.failed(tips);
}
xmProjectGroup.setBranchId(product.getBranchId());
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
xmGroup.setBranchId(product.getBranchId());
Map<String,String> productAdmMap=xmGroupService.getProductAdmUsers(product);
if(!productAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能创建小组。产品级助理及以上人员可以创建小组。");
}
xmProjectGroup.setProjectId(null);
xmGroup.setProjectId(null);
}
if (StringUtils.isEmpty(xmProjectGroup.getId())) {
xmProjectGroup.setId(xmProjectGroupService.createKey("id"));
if (StringUtils.isEmpty(xmGroup.getId())) {
xmGroup.setId(xmGroupService.createKey("id"));
} else {
XmGroup xmProjectGroupQuery = new XmGroup(xmProjectGroup.getId());
if (xmProjectGroupService.countByWhere(xmProjectGroupQuery) > 0) {
XmGroup xmGroupQuery = new XmGroup(xmGroup.getId());
if (xmGroupService.countByWhere(xmGroupQuery) > 0) {
tips.setFailureMsg("编号重复,请修改编号再提交");
m.put("tips", tips);
return m;
}
}
if(StringUtils.hasText(xmProjectGroup.getBranchId())){
xmProjectGroup.setBranchId(u.getBranchId());
if(StringUtils.hasText(xmGroup.getBranchId())){
xmGroup.setBranchId(u.getBranchId());
}
this.xmProjectGroupService.parentIdPathsCalcBeforeSave(xmProjectGroup);
xmProjectGroupService.insert(xmProjectGroup);
if("1".equals(xmProjectGroup.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(xmProjectGroup.getProductId());
xmRecordService.addXmProductGroupRecord(xmProjectGroup.getProductId(),xmProjectGroup.getId(),"团队-小组-新增小组","新增小组【"+xmProjectGroup.getGroupName()+"】");
this.xmGroupService.parentIdPathsCalcBeforeSave(xmGroup);
xmGroupService.insert(xmGroup);
if("1".equals(xmGroup.getPgClass())){
xmGroupCacheService.clearProductGroup(xmGroup.getProductId());
xmRecordService.addXmProductGroupRecord(xmGroup.getProductId(),xmGroup.getId(),"团队-小组-新增小组","新增小组【"+xmGroup.getGroupName()+"】");
}else {
xmProjectGroupCacheService.clearProjectGroup(xmProjectGroup.getProjectId());
xmRecordService.addXmProductGroupRecord(xmProjectGroup.getProductId(),xmProjectGroup.getId(),"团队-小组-新增小组","新增小组【"+xmProjectGroup.getGroupName()+"】");
xmGroupCacheService.clearProjectGroup(xmGroup.getProjectId());
xmRecordService.addXmProductGroupRecord(xmGroup.getProductId(),xmGroup.getId(),"团队-小组-新增小组","新增小组【"+xmGroup.getGroupName()+"】");
}
m.put("data",xmProjectGroup);
m.put("data",xmGroup);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
@ -298,15 +298,15 @@ public class XmGroupController {
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Map<String,Object> delXmProjectGroup(@RequestBody XmGroup xmProjectGroup){
public Map<String,Object> delXmProjectGroup(@RequestBody XmGroup xmGroup){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除一条数据");
try{
User u = LoginUtils.getCurrentUserInfo();
if(!StringUtils.hasText(xmProjectGroup.getId())){
if(!StringUtils.hasText(xmGroup.getId())){
return ResponseHelper.failed("id-0","请上送小组编号");
}
XmGroup groupDb=this.xmProjectGroupService.selectOneObject(xmProjectGroup);
XmGroup groupDb=this.xmGroupService.selectOneObject(xmGroup);
if(groupDb==null){
return ResponseHelper.failed("data-0","小组已不存在");
}
@ -316,7 +316,7 @@ public class XmGroupController {
if(project==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
Map<String,String> projectAdmMap=xmProjectGroupService.getProjectAdmUsers(project);
Map<String,String> projectAdmMap=xmGroupService.getProjectAdmUsers(project);
if(!projectAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
}
@ -324,12 +324,12 @@ public class XmGroupController {
}else{
if(!StringUtils.hasText(xmProjectGroup.getProductId())){
if(!StringUtils.hasText(xmGroup.getProductId())){
XmProduct product = xmProductService.selectOneObject(new XmProduct(groupDb.getProductId()));
if(product==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
Map<String,String> productAdmMap=xmGroupService.getProductAdmUsers(product);
if(!productAdmMap.containsKey(u.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能删除小组。产品级助理及以上人员可以删除小组。");
}
@ -339,12 +339,12 @@ public class XmGroupController {
if(groupDb.getChildrenCnt()!=null && groupDb.getChildrenCnt()>0){
return ResponseHelper.failed("childrenCnt-no-0","该小组有下级小组,不能删除。请先删除下级小组。");
}
xmProjectGroupService.doDeleteByPk(xmProjectGroup,groupDb);
xmGroupService.doDeleteByPk(xmGroup,groupDb);
if("1".equals(groupDb.getPgClass())){
xmProjectGroupCacheService.clearProductGroup(groupDb.getProductId());
xmGroupCacheService.clearProductGroup(groupDb.getProductId());
xmRecordService.addXmProductGroupRecord(groupDb.getProductId(),groupDb.getId(),"团队-小组-删除小组","删除小组【"+groupDb.getGroupName()+"】");
}else {
xmProjectGroupCacheService.clearProjectGroup(groupDb.getProjectId());
xmGroupCacheService.clearProjectGroup(groupDb.getProjectId());
xmRecordService.addXmGroupRecord(groupDb.getProjectId(),groupDb.getId(),"团队-小组-删除小组","删除小组【"+groupDb.getGroupName()+"】");
}
@ -368,11 +368,11 @@ public class XmGroupController {
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Map<String,Object> batchDelXmProjectGroup(@RequestBody List<XmGroup> xmProjectGroups) {
public Map<String,Object> batchDelXmProjectGroup(@RequestBody List<XmGroup> xmGroups) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmProjectGroups.size()+"条数据");
Tips tips=new Tips("成功删除"+xmGroups.size()+"条数据");
try{
List<XmGroup> groupsDb=this.xmProjectGroupService.selectListByIds(xmProjectGroups.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){
return ResponseHelper.failed("data-0","要删除的小组已不存在");
}
@ -387,21 +387,21 @@ public class XmGroupController {
if("0".equals(pgClass)){
id=groupDb.getProjectId();
XmProject prject=this.xmProjectService.getProjectFromCache(id);
Map<String,String> projectAdmMap=xmProjectGroupService.getProjectAdmUsers(prject);
Map<String,String> projectAdmMap=xmGroupService.getProjectAdmUsers(prject);
if (!projectAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-project-adm","您不是项目管理人员,不能删除小组。项目级助理以上人员可以删除小组。");
}
}else{
id=groupDb.getProductId();
XmProduct product=this.xmProductService.getProductFromCache( id );
Map<String,String> productAdmMap=xmProjectGroupService.getProductAdmUsers(product);
Map<String,String> productAdmMap=xmGroupService.getProductAdmUsers(product);
if(!productAdmMap.containsKey(user.getUserid())) {
return ResponseHelper.failed("not-product-adm","您不是产品管理人员,不能删除小组。产品级助理以上人员可以删除小组。");
}
}
if(canDelNodes.size()>0){
for (XmGroup canDelNode : canDelNodes) {
if(!xmProjectGroupService.checkCanDelAllChild(canDelNode,canDelNodes)){
if(!xmGroupService.checkCanDelAllChild(canDelNode,canDelNodes)){
hasChildNodes.add(canDelNode);
}else{
canDelNodes.add(canDelNode);
@ -411,13 +411,13 @@ public class XmGroupController {
if(canDelNodes.size()>0){
String groupNames=canDelNodes.stream().map(i->i.getGroupName()).collect(Collectors.joining(","));
if("1".equals(pgClass)){
xmProjectGroupService.doBatchDeleteProductGroups(canDelNodes);
xmProjectGroupCacheService.clearProductGroups(groupDb.getProductId());
xmGroupService.doBatchDeleteProductGroups(canDelNodes);
xmGroupCacheService.clearProductGroups(groupDb.getProductId());
xmRecordService.addXmProductGroupRecord(groupDb.getProductId(),groupDb.getId(),"团队-小组-批量删除小组","删除"+canDelNodes.size()+"个小组【"+groupNames+"】");
}else {
xmProjectGroupService.doBatchDeleteProjectGroups(canDelNodes);
xmProjectGroupCacheService.clearProjectGroups(groupDb.getProjectId());
xmGroupService.doBatchDeleteProjectGroups(canDelNodes);
xmGroupCacheService.clearProjectGroups(groupDb.getProjectId());
xmRecordService.addXmGroupRecord(groupDb.getProjectId(),groupDb.getId(),"团队-小组-批量删除小组","删除"+canDelNodes.size()+"个小组【"+groupNames+"】");
}

46
xm-core/src/main/java/com/xm/core/ctrl/XmGroupStateController.java

@ -35,7 +35,7 @@ public class XmGroupStateController {
static Log logger=LogFactory.getLog(XmGroupStateController.class);
@Autowired
private XmGroupStateService xmProjectGroupStateService;
private XmGroupStateService xmGroupStateService;
@ -88,13 +88,13 @@ public class XmGroupStateController {
@ApiResponse(code = 200,response= XmGroupState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/list",method=RequestMethod.GET)
public Map<String,Object> listXmProjectGroupState( @RequestParam Map<String,Object> xmProjectGroupState){
public Map<String,Object> listXmProjectGroupState( @RequestParam Map<String,Object> xmGroupState){
Map<String,Object> m = new HashMap<>();
RequestUtils.transformArray(xmProjectGroupState, "ids");
PageUtils.startPage(xmProjectGroupState);
List<Map<String,Object>> xmProjectGroupStateList = xmProjectGroupStateService.selectListMapByWhere(xmProjectGroupState); //列出XmProjectGroupState列表
PageUtils.responePage(m, xmProjectGroupStateList);
m.put("data",xmProjectGroupStateList);
RequestUtils.transformArray(xmGroupState, "ids");
PageUtils.startPage(xmGroupState);
List<Map<String,Object>> xmGroupStateList = xmGroupStateService.selectListMapByWhere(xmGroupState); //列出XmProjectGroupState列表
PageUtils.responePage(m, xmGroupStateList);
m.put("data",xmGroupStateList);
Tips tips=new Tips("查询成功");
m.put("tips", tips);
return m;
@ -111,7 +111,7 @@ public class XmGroupStateController {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功修改数据");
try{
int i= xmProjectGroupStateService.loadTasksToXmProjectGroupState((String) params.get("projectId"));
int i= xmGroupStateService.loadTasksToXmProjectGroupState((String) params.get("projectId"));
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
@ -128,22 +128,22 @@ public class XmGroupStateController {
@ApiResponse(code = 200,response=XmProjectGroupState.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/add",method=RequestMethod.POST)
public Map<String,Object> addXmProjectGroupState(@RequestBody XmProjectGroupState xmProjectGroupState) {
public Map<String,Object> addXmProjectGroupState(@RequestBody XmProjectGroupState xmGroupState) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功新增一条数据");
try{
if(StringUtils.isEmpty(xmProjectGroupState.getId())) {
xmProjectGroupState.setId(xmProjectGroupStateService.createKey("id"));
if(StringUtils.isEmpty(xmGroupState.getId())) {
xmGroupState.setId(xmGroupStateService.createKey("id"));
}else{
XmProjectGroupState xmProjectGroupStateQuery = new XmProjectGroupState(xmProjectGroupState.getId());
if(xmProjectGroupStateService.countByWhere(xmProjectGroupStateQuery)>0){
XmProjectGroupState xmGroupStateQuery = new XmProjectGroupState(xmGroupState.getId());
if(xmGroupStateService.countByWhere(xmGroupStateQuery)>0){
tips.setFailureMsg("编号重复,请修改编号再提交");
m.put("tips", tips);
return m;
}
}
xmProjectGroupStateService.insert(xmProjectGroupState);
m.put("data",xmProjectGroupState);
xmGroupStateService.insert(xmGroupState);
m.put("data",xmGroupState);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
@ -162,11 +162,11 @@ public class XmGroupStateController {
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
})
@RequestMapping(value="/del",method=RequestMethod.POST)
public Map<String,Object> delXmProjectGroupState(@RequestBody XmProjectGroupState xmProjectGroupState){
public Map<String,Object> delXmProjectGroupState(@RequestBody XmProjectGroupState xmGroupState){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除一条数据");
try{
xmProjectGroupStateService.deleteByPk(xmProjectGroupState);
xmGroupStateService.deleteByPk(xmGroupState);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
@ -185,12 +185,12 @@ public class XmGroupStateController {
@ApiResponse(code = 200,response=XmProjectGroupState.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
})
@RequestMapping(value="/edit",method=RequestMethod.POST)
public Map<String,Object> editXmProjectGroupState(@RequestBody XmProjectGroupState xmProjectGroupState) {
public Map<String,Object> editXmProjectGroupState(@RequestBody XmProjectGroupState xmGroupState) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功更新一条数据");
try{
xmProjectGroupStateService.updateByPk(xmProjectGroupState);
m.put("data",xmProjectGroupState);
xmGroupStateService.updateByPk(xmGroupState);
m.put("data",xmGroupState);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);
@ -211,11 +211,11 @@ public class XmGroupStateController {
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
})
@RequestMapping(value="/batchDel",method=RequestMethod.POST)
public Map<String,Object> batchDelXmProjectGroupState(@RequestBody List<XmProjectGroupState> xmProjectGroupStates) {
public Map<String,Object> batchDelXmProjectGroupState(@RequestBody List<XmProjectGroupState> xmGroupStates) {
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("成功删除"+xmProjectGroupStates.size()+"条数据");
Tips tips=new Tips("成功删除"+xmGroupStates.size()+"条数据");
try{
xmProjectGroupStateService.batchDelete(xmProjectGroupStates);
xmGroupStateService.batchDelete(xmGroupStates);
}catch (BizException e) {
tips=e.getTips();
logger.error("",e);

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

@ -44,7 +44,7 @@ public class XmGroupUserController {
static Log logger=LogFactory.getLog(XmGroupUserController.class);
@Autowired
private XmGroupUserService xmProjectGroupUserService;
private XmGroupUserService xmGroupUserService;
@Autowired
@ -55,7 +55,7 @@ public class XmGroupUserController {
private XmProductService xmProductService;
@Autowired
XmGroupService xmProjectGroupService;
XmGroupService xmGroupService;
@Autowired
@ -88,13 +88,13 @@ public class XmGroupUserController {
@ApiResponse(code = 200,response= XmGroupUser.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},pageInfo:{total:总记录数},data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/list",method=RequestMethod.GET)
public Map<String,Object> listXmProjectGroupUser( @RequestParam Map<String,Object> xmProjectGroupUser){
public Map<String,Object> listXmProjectGroupUser( @RequestParam Map<String,Object> xmGroupUser){
Map<String,Object> m = new HashMap<>();
RequestUtils.transformArray(xmProjectGroupUser, "ids");
PageUtils.startPage(xmProjectGroupUser);
List<Map<String,Object>> xmProjectGroupUserList = xmProjectGroupUserService.selectListMapByWhere(xmProjectGroupUser); //列出XmProjectGroupUser列表
PageUtils.responePage(m, xmProjectGroupUserList);
m.put("data",xmProjectGroupUserList);
RequestUtils.transformArray(xmGroupUser, "ids");
PageUtils.startPage(xmGroupUser);
List<Map<String,Object>> xmGroupUserList = xmGroupUserService.selectListMapByWhere(xmGroupUser); //列出XmProjectGroupUser列表
PageUtils.responePage(m, xmGroupUserList);
m.put("data",xmGroupUserList);
Tips tips=new Tips("查询成功");
m.put("tips", tips);
return m;
@ -129,12 +129,12 @@ public class XmGroupUserController {
if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
if(!xmProjectGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
}
@ -148,24 +148,24 @@ public class XmGroupUserController {
if(xmProject==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
if(!xmProjectGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以添加小组成员。");
}
}
}
if(xmProjectGroupUserService.countByWhere(gu)>0){
if(xmGroupUserService.countByWhere(gu)>0){
tips.setFailureMsg("该用户已在小组中");
m.put("tips", tips);
return m;
}
xmProjectGroupUserService.insert(gu);
xmGroupUserService.insert(gu);
Map<String,Object> usermap=new HashMap<>();
usermap.put("userid", gu.getUserid());
usermap.put("username", gu.getUsername());
@ -173,10 +173,10 @@ public class XmGroupUserController {
users.add(usermap);
pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users);
if("1".equals(pgClass)){
xmProjectGroupService.clearProductGroup(gu.getProductId());
xmGroupService.clearProductGroup(gu.getProductId());
xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "产品-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null);
}else{
xmProjectGroupService.clearProjectGroup(gu.getProjectId());
xmGroupService.clearProjectGroup(gu.getProjectId());
xmRecordService.addXmGroupRecord(gu.getProjectId(),gu.getGroupId(), "项目-团队-新增小组成员", "增加组员["+gu.getUsername()+"]",gu.getUserid(),null);
}
@ -204,7 +204,7 @@ public class XmGroupUserController {
if(!StringUtils.hasText(gu.getGroupId())||!StringUtils.hasText(gu.getUserid())){
return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid");
}
gu=this.xmProjectGroupUserService.selectOneObject(gu);
gu=this.xmGroupUserService.selectOneObject(gu);
if(gu==null){
return ResponseHelper.failed("data-0","小组组员已不存在");
}
@ -219,12 +219,12 @@ public class XmGroupUserController {
if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
if(!xmProjectGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
}
@ -238,18 +238,18 @@ public class XmGroupUserController {
if(xmProject==null){
return ResponseHelper.failed("project-0","项目已不存在");
}
if(!xmProjectGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以删除小组成员。");
}
}
}
xmProjectGroupUserService.deleteByPk(gu);
xmGroupUserService.deleteByPk(gu);
Map<String,Object> usermap=new HashMap<>();
usermap.put("userid", gu.getUserid());
usermap.put("username", gu.getUsername());
@ -258,10 +258,10 @@ public class XmGroupUserController {
pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(), gu.getGroupId(), users);
if("1".equals(pgClass)){
xmProjectGroupService.clearProductGroup(gu.getProductId());
xmGroupService.clearProductGroup(gu.getProductId());
xmRecordService.addXmGroupRecord(gu.getProductId(),gu.getGroupId(), "项目-团队-删除小组成员", "删除组员["+gu.getUsername()+"]",gu.getUserid(),null);
}else{
xmProjectGroupService.clearProjectGroup(gu.getProjectId());
xmGroupService.clearProjectGroup(gu.getProjectId());
xmRecordService.addXmGroupRecord(gu.getProjectId(),gu.getGroupId(), "项目-团队-删除小组成员", "删除组员["+gu.getUsername()+"]",gu.getUserid(),null);
}
@ -289,7 +289,7 @@ public class XmGroupUserController {
if(!StringUtils.hasText(gu0.getGroupId())||!StringUtils.hasText(gu0.getUserid())){
return ResponseHelper.failed("pk-0","请上送小组编号,用户编号groupId,userid");
}
XmGroupUser gu=this.xmProjectGroupUserService.selectOneObject(gu0);
XmGroupUser gu=this.xmGroupUserService.selectOneObject(gu0);
if(gu==null){
return ResponseHelper.failed("data-0","小组已不存在");
}
@ -304,12 +304,12 @@ public class XmGroupUserController {
if(xmProduct==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
if(!xmProjectGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProductAdm(xmProduct, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
}
@ -323,26 +323,26 @@ public class XmGroupUserController {
if(xmProject==null){
return ResponseHelper.failed("product-0","产品已不存在");
}
if(!xmProjectGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmProjectGroupVo==null){
if(!xmGroupService.checkUserIsProjectAdm(xmProject, user.getUserid())){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProject.getId(),gu.getGroupId());
if(xmGroupVo==null){
return ResponseHelper.failed("group-0","小组已不存在");
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
return ResponseHelper.failed("not-leader-ass","组长、副组长、组长助理以上人员可以修改小组成员。");
}
}
}
xmProjectGroupUserService.updateSomeFieldByPk(gu0);
xmGroupUserService.updateSomeFieldByPk(gu0);
if("0".equals(pgClass)){
xmProjectGroupService.clearProjectGroup(gu.getProjectId());
xmGroupService.clearProjectGroup(gu.getProjectId());
xmRecordService.addXmGroupRecord(gu.getProjectId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]");
}else {
xmProjectGroupService.clearProductGroup(gu.getProductId());
xmGroupService.clearProductGroup(gu.getProductId());
xmRecordService.addXmGroupRecord(gu.getProductId(), gu.getGroupId(),"项目-团队-修改小组成员信息", "变更["+gu.getUsername()+"]");
}
@ -382,7 +382,7 @@ public class XmGroupUserController {
}
}
List<XmGroupUser> gusDb=this.xmProjectGroupUserService.selectListByIds(gus);
List<XmGroupUser> gusDb=this.xmGroupUserService.selectListByIds(gus);
//过滤掉已经存在的
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){
@ -421,25 +421,25 @@ public class XmGroupUserController {
Map<String,List<XmGroupUser>> groupUsersMap=new HashMap<>();
for (String groupId : groupIds) {
if("1".equals(pgClass)){
boolean isPm=xmProjectGroupService.checkUserIsProductAdm(xmProduct,user.getUserid());
boolean isPm=xmGroupService.checkUserIsProductAdm(xmProduct,user.getUserid());
if(!isPm){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),groupId);
if(xmProjectGroupVo==null){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),groupId);
if(xmGroupVo==null){
continue;
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
continue;
}
}
}else {
boolean isPm=xmProjectGroupService.checkUserIsProjectAdm(xmProject,user.getUserid());
boolean isPm=xmGroupService.checkUserIsProjectAdm(xmProject,user.getUserid());
if(!isPm){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProjectGroupFromCache(xmProject.getId(),groupId);
if(xmProjectGroupVo==null){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),groupId);
if(xmGroupVo==null){
continue;
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
continue;
}
@ -452,7 +452,7 @@ public class XmGroupUserController {
List<String> msg=new ArrayList<>();
msg.add("成功新增"+canAddUsers.size()+"个小组用户.");
if(canAddUsers.size()>0){
xmProjectGroupUserService.batchInsert(canAddUsers);
xmGroupUserService.batchInsert(canAddUsers);
}
if(canAddUsers.size()<gus.size()){
msg.add("以下"+gusDb.size()+"个小组用户已在组里,无需再添加。【"+gusDb.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"】");
@ -468,10 +468,10 @@ public class XmGroupUserController {
pushMsgService.pushJoinChannelGroupMsg(user.getBranchId(),groupId, users);
if("0".equals(pgClass)){
xmProjectGroupService.clearProjectGroup(projectId);
xmGroupService.clearProjectGroup(projectId);
xmRecordService.addXmGroupRecord(projectId,groupId, "项目-团队-新增小组成员", "新增组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
}else{
xmProjectGroupService.clearProductGroup(productId);
xmGroupService.clearProductGroup(productId);
xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-新增小组成员", "新增组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
}
});
@ -501,7 +501,7 @@ public class XmGroupUserController {
}
Tips tips=new Tips("成功删除"+gus.size()+"条数据");
try{
List<XmGroupUser> gusDb=this.xmProjectGroupUserService.selectListByIds(gus);
List<XmGroupUser> gusDb=this.xmGroupUserService.selectListByIds(gus);
if(gusDb.size()==0){
return ResponseHelper.failed("data-0","要删除的数据已不存在。");
}
@ -538,25 +538,25 @@ public class XmGroupUserController {
Map<String,List<XmGroupUser>> groupUsersMap=new HashMap<>();
for (String groupId : groupIds) {
if("1".equals(pgClass)){
boolean isPm=xmProjectGroupService.checkUserIsProductAdm(xmProduct,user.getUserid());
boolean isPm=xmGroupService.checkUserIsProductAdm(xmProduct,user.getUserid());
if(!isPm){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProductGroupFromCache(xmProduct.getId(),groupId);
if(xmProjectGroupVo==null){
XmGroupVo xmGroupVo=this.xmGroupService.getProductGroupFromCache(xmProduct.getId(),groupId);
if(xmGroupVo==null){
continue;
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
continue;
}
}
}else {
boolean isPm=xmProjectGroupService.checkUserIsProjectAdm(xmProject,user.getUserid());
boolean isPm=xmGroupService.checkUserIsProjectAdm(xmProject,user.getUserid());
if(!isPm){
XmGroupVo xmProjectGroupVo=this.xmProjectGroupService.getProjectGroupFromCache(xmProject.getId(),groupId);
if(xmProjectGroupVo==null){
XmGroupVo xmGroupVo=this.xmGroupService.getProjectGroupFromCache(xmProject.getId(),groupId);
if(xmGroupVo==null){
continue;
}
boolean isHead=xmProjectGroupService.checkUserIsTeamHeadOrAss(xmProjectGroupVo,user.getUserid());
boolean isHead=xmGroupService.checkUserIsTeamHeadOrAss(xmGroupVo,user.getUserid());
if(isHead==false){
continue;
}
@ -569,7 +569,7 @@ public class XmGroupUserController {
List<String> msg=new ArrayList<>();
msg.add("成功删除"+canDelUsers.size()+"个小组用户.");
if(canDelUsers.size()>0){
xmProjectGroupUserService.doBatchDelete(canDelUsers);
xmGroupUserService.doBatchDelete(canDelUsers);
}
List<String> noDelUsers=new ArrayList<>();
if(canDelUsers.size()<gus.size()){
@ -592,10 +592,10 @@ public class XmGroupUserController {
pushMsgService.pushLeaveChannelGroupMsg(user.getBranchId(),groupId, users);
if("0".equals(pgClass)){
xmProjectGroupService.clearProjectGroup(projectId);
xmGroupService.clearProjectGroup(projectId);
xmRecordService.addXmGroupRecord(projectId,groupId, "项目-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
}else{
xmProjectGroupService.clearProductGroup(productId);
xmGroupService.clearProductGroup(productId);
xmRecordService.addXmGroupRecord(productId,groupId, "产品-团队-删除小组成员", "删除组员["+groupUsers.stream().map(i->i.getUsername()).collect(Collectors.joining(","))+"]",user.getUserid(),null);
}
});

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

@ -59,7 +59,7 @@ public class XmTaskExecuserController {
private XmTaskService xmTaskService;
@Autowired
XmGroupUserService xmProjectGroupUserService;
XmGroupUserService xmGroupUserService;
@Autowired
ItemService itemService;

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

@ -32,10 +32,10 @@ public class XmGroupService extends BaseService {
XmRecordService xmRecordService;
@Autowired
XmGroupService xmProjectGroupService;
XmGroupService xmGroupService;
@Autowired
XmGroupUserService xmProjectGroupUserService;
XmGroupUserService xmGroupUserService;
@Autowired
XmGroupCacheService groupCacheService;
@ -179,7 +179,7 @@ public class XmGroupService extends BaseService {
groupCacheService.putProjectGroups(projectId, groupVoList);
return groupVoList;
}
List<XmGroupUser> groupUserList=this.xmProjectGroupUserService.selectGroupUserListByProjectId(projectId);
List<XmGroupUser> groupUserList=this.xmGroupUserService.selectGroupUserListByProjectId(projectId);
if(groupUserList==null || groupUserList.size()==0) {
//groupCacheService.putProjectGroups(projectId, groupVoList);
//return groupVoList;
@ -259,7 +259,7 @@ public class XmGroupService extends BaseService {
groupCacheService.putProductGroups(productId, groupVoList);
return groupVoList;
}
List<XmGroupUser> groupUserList=this.xmProjectGroupUserService.selectGroupUserListByProductId(productId);
List<XmGroupUser> groupUserList=this.xmGroupUserService.selectGroupUserListByProductId(productId);
if(groupUserList==null || groupUserList.size()==0) {
}
groupList.forEach(g -> {
@ -284,26 +284,26 @@ public class XmGroupService extends BaseService {
/**
* 新增项目时同时新增项目团队及小组组员等
* @param projectId
* @param xmProjectGroupVoList
* @param xmGroupVoList
*/
@Transactional
public void addGroups(String projectId,List<XmGroupVo> xmProjectGroupVoList) {
public void addGroups(String projectId,List<XmGroupVo> xmGroupVoList) {
List<XmGroup> groups=new ArrayList<>();
List<XmGroupUser> groupUsers=new ArrayList<>();
for (XmGroupVo xmProjectGroupVo : xmProjectGroupVoList) {
for (XmGroupVo xmGroupVo : xmGroupVoList) {
XmGroup group=new XmGroup();
xmProjectGroupVo.setId(this.createKey("id"));
BeanUtils.copyProperties(xmProjectGroupVo, group);
xmGroupVo.setId(this.createKey("id"));
BeanUtils.copyProperties(xmGroupVo, group);
groups.add(group);
List<XmGroupUser> groupUsersTemp=xmProjectGroupVo.getGroupUsers();
List<XmGroupUser> groupUsersTemp=xmGroupVo.getGroupUsers();
if(groupUsersTemp==null || groupUsersTemp.size()==0) {
continue;
}else {
for (XmGroupUser xmProjectGroupUser : groupUsersTemp) {
xmProjectGroupUser.setGroupId(group.getId());
xmProjectGroupUser.setJoinTime(new Date());
xmProjectGroupUser.setStatus("0");
groupUsers.add(xmProjectGroupUser);
for (XmGroupUser xmGroupUser : groupUsersTemp) {
xmGroupUser.setGroupId(group.getId());
xmGroupUser.setJoinTime(new Date());
xmGroupUser.setStatus("0");
groupUsers.add(xmGroupUser);
}
}
@ -312,13 +312,13 @@ public class XmGroupService extends BaseService {
this.batchInsert(groups);
User u=LoginUtils.getCurrentUserInfo();
for (XmGroupVo group : xmProjectGroupVoList) {
for (XmGroupVo group : xmGroupVoList) {
List<XmGroupUser> users=group.getGroupUsers();
List<Map<String,Object>> umaps=new ArrayList<>();
for (XmGroupUser xmProjectGroupUser : users) {
for (XmGroupUser xmGroupUser : users) {
Map<String,Object> u2=new HashMap<>();
u2.put("userid", xmProjectGroupUser.getUserid());
u2.put("username", xmProjectGroupUser.getUsername());
u2.put("userid", xmGroupUser.getUserid());
u2.put("username", xmGroupUser.getUsername());
umaps.add(u2);
}
@ -334,7 +334,7 @@ public class XmGroupService extends BaseService {
}
}
if(groupUsers.size()>0) {
xmProjectGroupUserService.batchInsert(groupUsers);
xmGroupUserService.batchInsert(groupUsers);
}
groupCacheService.putProjectGroups(projectId, null);
}
@ -366,8 +366,8 @@ public class XmGroupService extends BaseService {
* @return
*/
public List<XmGroupVo> getUserGroupsByProjectId(String projectId, String userid){
List<XmGroupVo> xmProjectGroupVoList=this.getProjectGroupVoList(projectId);
return this.getUserGroups(xmProjectGroupVoList, userid);
List<XmGroupVo> xmGroupVoList=this.getProjectGroupVoList(projectId);
return this.getUserGroups(xmGroupVoList, userid);
}
/**
* 获取用户在某个项目中的组
@ -376,23 +376,23 @@ public class XmGroupService extends BaseService {
* @return
*/
public List<XmGroupVo> getUserGroupsByProductId(String productId, String userid){
List<XmGroupVo> xmProjectGroupVoList=this.getProductGroupVoList(productId);
return this.getUserGroups(xmProjectGroupVoList, userid);
List<XmGroupVo> xmGroupVoList=this.getProductGroupVoList(productId);
return this.getUserGroups(xmGroupVoList, userid);
}
/**
* 检查用户是否在一些组中任意个组当组长
* @param xmProjectGroupVoList
* @param xmGroupVoList
* @param teamHeadUserid
* @return
*/
public boolean checkUserIsHeadInGroups(List<XmGroupVo> xmProjectGroupVoList, String teamHeadUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0)return false;
public boolean checkUserIsHeadInGroups(List<XmGroupVo> xmGroupVoList, String teamHeadUserid){
if(xmGroupVoList==null || xmGroupVoList.size()==0)return false;
if(!StringUtils.hasText(teamHeadUserid)){
return false;
}
for (XmGroupVo xmProjectGroupVo : xmProjectGroupVoList) {
if(teamHeadUserid.equals(xmProjectGroupVo.getLeaderUserid())){
for (XmGroupVo xmGroupVo : xmGroupVoList) {
if(teamHeadUserid.equals(xmGroupVo.getLeaderUserid())){
return true;
}
@ -402,13 +402,13 @@ public class XmGroupService extends BaseService {
/**
* 检查用户是否在指定的小组中做组长
* @param xmProjectGroupVoList
* @param xmGroupVoList
* @param groupId
* @param teamHeadUserid
* @return
*/
public boolean checkUserIsHeadInGroup(List<XmGroupVo> xmProjectGroupVoList, String groupId, String teamHeadUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0)return false;
public boolean checkUserIsHeadInGroup(List<XmGroupVo> xmGroupVoList, String groupId, String teamHeadUserid){
if(xmGroupVoList==null || xmGroupVoList.size()==0)return false;
if(!StringUtils.hasText(teamHeadUserid)){
return false;
}
@ -416,21 +416,21 @@ public class XmGroupService extends BaseService {
return false;
}
for (XmGroupVo xmProjectGroupVo : xmProjectGroupVoList) {
if(groupId.equals(xmProjectGroupVo.getId())){
if(teamHeadUserid.equals(xmProjectGroupVo.getLeaderUserid())){
for (XmGroupVo xmGroupVo : xmGroupVoList) {
if(groupId.equals(xmGroupVo.getId())){
if(teamHeadUserid.equals(xmGroupVo.getLeaderUserid())){
return true;
}
}
}
return false;
}
public List<XmGroupVo> getUserGroups(List<XmGroupVo> xmProjectGroupVoList, String userid){
public List<XmGroupVo> getUserGroups(List<XmGroupVo> xmGroupVoList, String userid){
List<XmGroupVo> userGroups=new ArrayList<>();
if(xmProjectGroupVoList==null) {
if(xmGroupVoList==null) {
return userGroups;
}
for (XmGroupVo g : xmProjectGroupVoList) {
for (XmGroupVo g : xmGroupVoList) {
if(userid.equals(g.getLeaderUserid())||userid.equals(g.getAssUserid())){
userGroups.add(g);
}else{
@ -470,15 +470,15 @@ public class XmGroupService extends BaseService {
}
/**
* 检查某个人是否为指定的小组的组长
* @param xmProjectGroupVo
* @param xmGroupVo
* @param headUserid
* @return
*/
public boolean checkUserIsTeamHead(XmGroupVo xmProjectGroupVo, String headUserid){
if(xmProjectGroupVo==null){
public boolean checkUserIsTeamHead(XmGroupVo xmGroupVo, String headUserid){
if(xmGroupVo==null){
return false;
}
if(headUserid.equals(xmProjectGroupVo.getLeaderUserid())){
if(headUserid.equals(xmGroupVo.getLeaderUserid())){
return true;
}
return false;
@ -486,15 +486,15 @@ public class XmGroupService extends BaseService {
}
/**
* 检查某个人是否为指定的小组的组长\副组长\助理
* @param xmProjectGroupVo
* @param xmGroupVo
* @param headUserid
* @return
*/
public boolean checkUserIsTeamHeadOrAss(XmGroupVo xmProjectGroupVo, String headUserid){
if(xmProjectGroupVo==null){
public boolean checkUserIsTeamHeadOrAss(XmGroupVo xmGroupVo, String headUserid){
if(xmGroupVo==null){
return false;
}
if(headUserid.equals(xmProjectGroupVo.getLeaderUserid())||headUserid.equals(xmProjectGroupVo.getAssUserid())){
if(headUserid.equals(xmGroupVo.getLeaderUserid())||headUserid.equals(xmGroupVo.getAssUserid())){
return true;
}
return false;
@ -502,17 +502,17 @@ public class XmGroupService extends BaseService {
}
/**
* 检查某个人是否另外一个人的组长
* @param xmProjectGroupVoList
* @param xmGroupVoList
* @param memUserid
* @param headUserid
* @return
*/
public boolean checkUserIsOtherUserTeamHead(List<XmGroupVo> xmProjectGroupVoList, String memUserid, String headUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
public boolean checkUserIsOtherUserTeamHead(List<XmGroupVo> xmGroupVoList, String memUserid, String headUserid){
if(xmGroupVoList==null || xmGroupVoList.size()==0) {
return false;
}
List<XmGroupVo> userGroups=this.getUserGroups(xmProjectGroupVoList, memUserid);
List<XmGroupVo> userGroups=this.getUserGroups(xmGroupVoList, memUserid);
if(userGroups==null || userGroups.size()==0) {
return false;
}
@ -526,17 +526,17 @@ public class XmGroupService extends BaseService {
/**
* 检查某个人是否另外一个人的组长
* @param xmProjectGroupVoList
* @param xmGroupVoList
* @param memUserid
* @param headUserid
* @return
*/
public boolean checkUserIsOtherUserTeamHeadOrAss(List<XmGroupVo> xmProjectGroupVoList, String memUserid, String headUserid){
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
public boolean checkUserIsOtherUserTeamHeadOrAss(List<XmGroupVo> xmGroupVoList, String memUserid, String headUserid){
if(xmGroupVoList==null || xmGroupVoList.size()==0) {
return false;
}
List<XmGroupVo> userGroups=this.getUserGroups(xmProjectGroupVoList, memUserid);
List<XmGroupVo> userGroups=this.getUserGroups(xmGroupVoList, memUserid);
if(userGroups==null || userGroups.size()==0) {
return false;
}
@ -547,8 +547,8 @@ public class XmGroupService extends BaseService {
}
return false;
}
public List<XmGroupUser> getProjectManagers(List<XmGroupVo> xmProjectGroupVoList){
for (XmGroupVo g : xmProjectGroupVoList) {
public List<XmGroupUser> getProjectManagers(List<XmGroupVo> xmGroupVoList){
for (XmGroupVo g : xmGroupVoList) {
if("nbxmjl".equals(g.getPgTypeId())) {
return g.getGroupUsers();
}
@ -562,15 +562,15 @@ public class XmGroupService extends BaseService {
/**
* 检测某个用户是否属于项目组的内部管理团队成员内部管理组成员
* @param xmProjectGroupVoList
* @param xmGroupVoList
* @param pmUserid
* @return
*/
public boolean checkUserIsProjectManager(List<XmGroupVo> xmProjectGroupVoList , String pmUserid) {
if(xmProjectGroupVoList==null || xmProjectGroupVoList.size()==0) {
public boolean checkUserIsProjectManager(List<XmGroupVo> xmGroupVoList , String pmUserid) {
if(xmGroupVoList==null || xmGroupVoList.size()==0) {
return false;
}
List<XmGroupUser> getProjectManagers=this.getProjectManagers(xmProjectGroupVoList);
List<XmGroupUser> getProjectManagers=this.getProjectManagers(xmGroupVoList);
if(getProjectManagers==null || getProjectManagers.size()==0) {
return false;
}
@ -958,8 +958,8 @@ public class XmGroupService extends BaseService {
}
@Transactional
public void doDeleteByPk(XmGroup xmProjectGroup, XmGroup groupDb) {
super.deleteByPk(xmProjectGroup);
public void doDeleteByPk(XmGroup xmGroup, XmGroup groupDb) {
super.deleteByPk(xmGroup);
this.sumParents(groupDb);
}
@ -982,14 +982,14 @@ public class XmGroupService extends BaseService {
if(group==null){
return null;
}else{
XmGroupUser xmProjectGroupUser=new XmGroupUser();
xmProjectGroupUser.setGroupId(groupId);
List<XmGroupUser> users=this.xmProjectGroupUserService.selectListByWhere(xmProjectGroupUser);
XmGroupVo xmProjectGroupVo=new XmGroupVo();
BeanUtils.copyProperties(group,xmProjectGroupVo);
xmProjectGroupVo.setGroupUsers(users);
this.groupCacheService.putProductGroup(xmProjectGroupVo);
return xmProjectGroupVo;
XmGroupUser xmGroupUser=new XmGroupUser();
xmGroupUser.setGroupId(groupId);
List<XmGroupUser> users=this.xmGroupUserService.selectListByWhere(xmGroupUser);
XmGroupVo xmGroupVo=new XmGroupVo();
BeanUtils.copyProperties(group,xmGroupVo);
xmGroupVo.setGroupUsers(users);
this.groupCacheService.putProductGroup(xmGroupVo);
return xmGroupVo;
}
}else {
return groupVo;
@ -1002,14 +1002,14 @@ public class XmGroupService extends BaseService {
if(group==null){
return null;
}else{
XmGroupUser xmProjectGroupUser=new XmGroupUser();
xmProjectGroupUser.setGroupId(groupId);
List<XmGroupUser> users=this.xmProjectGroupUserService.selectListByWhere(xmProjectGroupUser);
XmGroupVo xmProjectGroupVo=new XmGroupVo();
BeanUtils.copyProperties(group,xmProjectGroupVo);
xmProjectGroupVo.setGroupUsers(users);
this.groupCacheService.putProjectGroup(xmProjectGroupVo);
return xmProjectGroupVo;
XmGroupUser xmGroupUser=new XmGroupUser();
xmGroupUser.setGroupId(groupId);
List<XmGroupUser> users=this.xmGroupUserService.selectListByWhere(xmGroupUser);
XmGroupVo xmGroupVo=new XmGroupVo();
BeanUtils.copyProperties(group,xmGroupVo);
xmGroupVo.setGroupUsers(users);
this.groupCacheService.putProjectGroup(xmGroupVo);
return xmGroupVo;
}
}else {
return groupVo;

Loading…
Cancel
Save