Browse Source

提交代码

recovery
wang0018 4 years ago
parent
commit
afee4601fa
  1. 18
      tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java
  2. 3
      tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java
  3. 8
      tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java
  4. 95
      tall/src/main/java/com/ccsens/tall/service/ExcelService.java
  5. 4
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  6. 255
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  7. 1
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  8. 16
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  9. 17
      tall/src/main/resources/mapper_dao/ProRoleDao.xml
  10. 4
      util/src/main/java/com/ccsens/util/CodeEnum.java

18
tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java

@ -79,4 +79,22 @@ public class RoleDto {
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("修改角色是否展示")
public static class QueryRoleIsShows {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("角色id")
private List<Long> roleIds;
@ApiModelProperty("是否展示 true是展示,false是删除不展示")
private Boolean isShow;
}
@Data
@ApiModel("为角色排序得集合")
public static class UpRoleShowsOrder {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("按照展示的排序进行排序号")
private List<Long> roleIds;
}
}

3
tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java

@ -1,5 +1,6 @@
package com.ccsens.tall.bean.vo;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -36,6 +37,8 @@ public class RoleVo {
private String name;
@ApiModelProperty("角色排序")
private Integer sequence;
@ApiModelProperty("是否是pm 是pm;true 不是pm; false ")
private Boolean isPM;
}
@Data
@ApiModel("添加时返回成员信息")

8
tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java

@ -72,18 +72,18 @@ public interface ProRoleDao extends ProRoleMapper{
/**
* 查询已经存在的角色
* @param projectId
* @param memberId
* @return
*/
List<RoleVo.JueSeByProId> queryRoleShowslistAfter(Long projectId);
List<RoleVo.JueSeByProId> queryRoleShowslistAfter(Long memberId);
/**
* 查询未添加的角色
* @param memberId
* @param projectId
* @param listBeforeId
* @return
*/
List<RoleVo.JueSeByProId> queryRoleShowslistBefore(Long memberId, List<Long> listBeforeId);
List<RoleVo.JueSeByProId> queryRoleShowslistBefore(Long projectId, List<Long> listBeforeId);
// /**
// * 查找项目下的所有成员的名字用“,”分隔

95
tall/src/main/java/com/ccsens/tall/service/ExcelService.java

@ -8,6 +8,7 @@ import com.ccsens.tall.bean.dto.WpsDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.persist.mapper.ProTaskDeliverMapper;
import com.ccsens.util.*;
import com.ccsens.util.cron.CronConstant;
import com.ccsens.util.cron.NatureToDate;
@ -82,6 +83,8 @@ public class ExcelService implements IExcelService {
private ProRoleDao proRoleDao;
@Resource
private ProPluginConfigDao proPluginConfigDao;
@Resource
private ProTaskDeliverMapper proTaskDeliverMapper;
@Override
@ -1001,6 +1004,7 @@ public class ExcelService implements IExcelService {
// else {
// //不是分组任务,直接添加交付物
readDeliverSheet(deliver, xssfWorkbook, taskDetail.getId());
// }
//添加任务
proTaskDetailService.saveTaskDetail(taskDetail);
@ -1178,45 +1182,60 @@ public class ExcelService implements IExcelService {
*/
@Override
public void readDeliverSheet(String deliverCell, XSSFWorkbook xssfWorkbook, Long taskId) {
if (StrUtil.isNotEmpty(deliverCell)) {
String str = "";
if (deliverCell.length() > 4) {
str = deliverCell.substring(0, 3);
}
if ("关联表".equalsIgnoreCase(str)) {
String subStr = deliverCell.substring(4);
XSSFSheet subSheet = xssfWorkbook.getSheet(subStr);
if(ObjectUtil.isNull(subSheet)){
throw new BaseException(CodeEnum.WBS_NOT_SUB_TASK);
}
for (int i = 2; i <= subSheet.getLastRowNum(); i++) {
XSSFRow row = subSheet.getRow(i);
if(ObjectUtil.isNull(row)){
continue;
}
String deliver = ExcelUtil.getCellValue(row.getCell(1));
if (StrUtil.isNotEmpty(deliver)) {
ProTaskDeliver taskDeliver = new ProTaskDeliver();
taskDeliver.setId(snowflake.nextId());
taskDeliver.setName(deliver);
taskDeliver.setTaskDetailId(taskId);
taskDeliver.setIsInput(0);
taskDeliver.setIsFinal(0);
if (i == subSheet.getLastRowNum()) {
taskDeliver.setIsFinal(1);
}
taskDeliverService.saveDeliver(taskDeliver);
}
// if (StrUtil.isNotEmpty(deliverCell)) {
// String str = "";
// if (deliverCell.length() > 4) {
// str = deliverCell.substring(0, 3);
// }
// if ("关联表".equalsIgnoreCase(str)) {
// String subStr = deliverCell.substring(4);
// XSSFSheet subSheet = xssfWorkbook.getSheet(subStr);
// if(ObjectUtil.isNull(subSheet)){
// throw new BaseException(CodeEnum.WBS_NOT_SUB_TASK);
// }
// for (int i = 2; i <= subSheet.getLastRowNum(); i++) {
// XSSFRow row = subSheet.getRow(i);
// if(ObjectUtil.isNull(row)){
// continue;
// }
// String deliver = ExcelUtil.getCellValue(row.getCell(1));
// if (StrUtil.isNotEmpty(deliver)) {
// ProTaskDeliver taskDeliver = new ProTaskDeliver();
// taskDeliver.setId(snowflake.nextId());
// taskDeliver.setName(deliver);
// taskDeliver.setTaskDetailId(taskId);
// taskDeliver.setIsInput(0);
// taskDeliver.setIsFinal(0);
// if (i == subSheet.getLastRowNum()) {
// taskDeliver.setIsFinal(1);
// }
// taskDeliverService.saveDeliver(taskDeliver);
// }
// }
// } else {
// ProTaskDeliver taskDeliver = new ProTaskDeliver();
// taskDeliver.setId(snowflake.nextId());
// taskDeliver.setTaskDetailId(taskId);
// taskDeliver.setName(deliverCell);
// taskDeliver.setIsInput(0);
// taskDeliver.setIsFinal(1);
// taskDeliverService.saveDeliver(taskDeliver);
// }
// }
String regex=",|,|;|:|;|:|、|。";
deliverCell= deliverCell.replace("\n","").replace("\r","");
String[] fileNames= deliverCell.split(regex);
if(fileNames.length>0){
for (int i = 0; i < fileNames.length; i++) {
if(StringUtils.isNotBlank(fileNames[i])){
ProTaskDeliver proTaskDeliver=new ProTaskDeliver();
proTaskDeliver.setName(fileNames[i].trim());
proTaskDeliver.setId(snowflake.nextId());
proTaskDeliver.setTaskDetailId(taskId);
proTaskDeliverMapper.insertSelective(proTaskDeliver);
}
} else {
ProTaskDeliver taskDeliver = new ProTaskDeliver();
taskDeliver.setId(snowflake.nextId());
taskDeliver.setTaskDetailId(taskId);
taskDeliver.setName(deliverCell);
taskDeliver.setIsInput(0);
taskDeliver.setIsFinal(1);
taskDeliverService.saveDeliver(taskDeliver);
}
}
}
@ -1240,7 +1259,7 @@ public class ExcelService implements IExcelService {
throw new BaseException(CodeEnum.NOT_ROW.addMsg(sheet.getSheetName() + (2)));
}
for (int i = 2; i < sheet.getLastRowNum() + 1; i++) {
for (int i = 3; i < sheet.getLastRowNum() + 1; i++) {
List<ProTaskDetail> taskNameList = null;
XSSFRow pluginRow = sheet.getRow(i);
if(ObjectUtil.isNull(pluginRow)){

4
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -66,4 +66,8 @@ public interface IProRoleService {
* @return
*/
RoleVo.JueSeByProIdLists queryRoleShows(QueryDto<RoleDto.QueryRoleShows> param);
void queryRoleIsShows(QueryDto<RoleDto.QueryRoleIsShows> param);
void upRoleShowsOrder(QueryDto<RoleDto.UpRoleShowsOrder> param);
}

255
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -12,16 +12,14 @@ import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.persist.mapper.ProMemberMapper;
import com.ccsens.tall.persist.mapper.ProMemberRoleMapper;
import com.ccsens.tall.persist.mapper.ProMemberRoleShowMapper;
import com.ccsens.tall.persist.mapper.ProUserAttentionRoleMapper;
import com.ccsens.tall.persist.mapper.*;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.util.exception.BaseException;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.apache.bcel.classfile.Code;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@ -29,6 +27,7 @@ import org.w3c.dom.ls.LSInput;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@ -71,6 +70,10 @@ public class ProRoleService implements IProRoleService {
private ProMemberMapper proMemberMapper;
@Resource
private ProMemberRoleMapper proMemberRoleMapper;
@Resource
private ProRoleMapper proRoleMapper;
@Resource
private ProRoleExcludeMapper proRoleExcludeMapper;
@Override
public void saveProRole(ProRole proRole) {
proRoleDao.insertSelective(proRole);
@ -265,6 +268,7 @@ public class ProRoleService implements IProRoleService {
proMemberRoleShowExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0);
List<ProMemberRoleShow> proMemberRoleShows = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample);
if(CollectionUtil.isEmpty(proMemberRoleShows)){
Integer[] seq=new Integer[]{0};
//需要从原表中导入数据
ProMemberRoleExample proMemberRoleExample=new ProMemberRoleExample();
proMemberRoleExample.createCriteria().andMemberIdEqualTo(memberId).andRecStatusEqualTo((byte)0);
@ -272,7 +276,7 @@ public class ProRoleService implements IProRoleService {
if(CollectionUtil.isNotEmpty(proMemberRoles)){
ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow();
Long finalMemberId = memberId;
Integer[] seq=new Integer[]{0};
proMemberRoles.forEach(action->{
proMemberRoleShow.setId(action.getId());
proMemberRoleShow.setMemberId(finalMemberId);
@ -281,6 +285,68 @@ public class ProRoleService implements IProRoleService {
proMemberRoleShowMapper.insertSelective(proMemberRoleShow);
});
}
//这里插入项目经理
//查一下项目经理的角色id,
ProRoleExample proRoleExample=new ProRoleExample();
proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(projectId);
//一级角色项目经理
List<Long> jili=proRoleMapper.selectByExample(proRoleExample).stream().map(action->action.getId()).collect(Collectors.toList());
//二级角色项目经理
ProRoleExample proRoleExample1=new ProRoleExample();
proRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andParentIdIn(jili);
List<ProRole> proRoles = proRoleMapper.selectByExample(proRoleExample1);
List<Long> jili1=proRoles.stream().map(action->action.getId()).collect(Collectors.toList());
//是否是pm true是经理 false不是经理
boolean[] isPm = new boolean[]{false};
//经理是否对他不可见 true不可见 false可见
boolean[] isshow=new boolean[]{false};
//查询已经添加的角色
List<RoleVo.JueSeByProId> listBefor=proRoleDao.queryRoleShowslistAfter(memberId);
List<Long> listBeforeId= listBefor.stream().map(action ->{return action.getId();}).collect(Collectors.toList());
//判断该成员是不是项目经理
ProMemberRoleExample proMemberRoleExample1=new ProMemberRoleExample();
proMemberRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andMemberIdEqualTo(memberId).andRoleIdEqualTo(jili1.get(0));
List<ProMemberRole> proMemberRoles1 = proMemberRoleMapper.selectByExample(proMemberRoleExample1);
if(CollectionUtil.isEmpty(proMemberRoles1)){
isPm[0]=false;
}else {
isPm[0]=true;
}
if(!isPm[0]){
//先按照一个经理的算
ProRoleExcludeExample proRoleExcludeExample=new ProRoleExcludeExample();
proRoleExcludeExample.createCriteria().andRecStatusEqualTo((byte)0).andRoleIdEqualTo(jili1.get(0));
List<ProRoleExclude> proRoleExcludes = proRoleExcludeMapper.selectByExample(proRoleExcludeExample);
proRoleExcludes.forEach(action->{
//查看查询出的不可见角色id是否在角色id里面
if(listBeforeId.contains(action.getOtherRoleId()))
{
isshow[0]=true;
}
});
}
if(!isPm[0]&&!isshow[0]){
//添加经理
if(!listBeforeId.contains(jili1.get(0))) {
RoleVo.JueSeByProId jueSeByProId = new RoleVo.JueSeByProId();
jueSeByProId.setId(proRoles.get(0).getId());
jueSeByProId.setName(proRoles.get(0).getName());
jueSeByProId.setSequence(proRoles.get(0).getSequence());
listBefor.add(jueSeByProId);
//顺道插入到show表里面
ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow();
proMemberRoleShow.setId(snowflake.nextId());
proMemberRoleShow.setRoleId(proRoles.get(0).getId());
proMemberRoleShow.setMemberId(memberId);
proMemberRoleShow.setSequence(0);
proMemberRoleShowMapper.insertSelective(proMemberRoleShow);
}
}
}
//查询二级角色
List<ProjectVo.RoleInfo> memberRoleList;
@ -646,9 +712,177 @@ public class ProRoleService implements IProRoleService {
@Override
public RoleVo.JueSeByProIdLists queryRoleShows(QueryDto<RoleDto.QueryRoleShows> param) {
RoleVo.JueSeByProIdLists jueSeByProIdLists=new RoleVo.JueSeByProIdLists();
//获取成员id
Long memberId = queryMemberId(param.getParam().getProjectId(), param.getUserId());
//获取经理角色id
ProRoleExample proRoleExample=new ProRoleExample();
proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(param.getParam().getProjectId());
//一级角色项目经理
List<Long> jili=proRoleMapper.selectByExample(proRoleExample).stream().map(action->action.getId()).collect(Collectors.toList());
//二级角色项目经理
ProRoleExample proRoleExample1=new ProRoleExample();
proRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andParentIdIn(jili);
List<ProRole> proRoles = proRoleMapper.selectByExample(proRoleExample1);
List<Long> jili1=proRoles.stream().map(action->action.getId()).collect(Collectors.toList());
//查询已经添加的角色
List<RoleVo.JueSeByProId> listBefor=proRoleDao.queryRoleShowslistAfter(memberId);
List<Long> listBeforeId= listBefor.stream().map(action ->{return action.getId();}).collect(Collectors.toList());
for (int i = 0; i < listBefor.size(); i++) {
if(jili1.contains(listBefor.get(i).getId())){
listBefor.get(i).setIsPM(true);
}else {
listBefor.get(i).setIsPM(false);
}
}
//查询未添加的角色
List<RoleVo.JueSeByProId> listAfter=proRoleDao.queryRoleShowslistBefore(param.getParam().getProjectId(),listBeforeId);
jueSeByProIdLists.setListAfter(listAfter);
jueSeByProIdLists.setListBefore(listBefor);
return jueSeByProIdLists;
}
/**
* 修改角色是否展示
* @param param
*/
@Override
public void queryRoleIsShows(QueryDto<RoleDto.QueryRoleIsShows> param) {
//获取成员id
Long memberId=queryMemberId(param.getParam().getProjectId(),param.getUserId());
//获取经理得id
ProRoleExample proRoleExample=new ProRoleExample();
proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(param.getParam().getProjectId());
//一级角色项目经理
List<Long> jili=proRoleMapper.selectByExample(proRoleExample).stream().map(action->action.getId()).collect(Collectors.toList());
//二级角色项目经理
ProRoleExample proRoleExample1=new ProRoleExample();
proRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andParentIdIn(jili);
List<ProRole> proRoles = proRoleMapper.selectByExample(proRoleExample1);
List<Long> jili1=proRoles.stream().map(action->action.getId()).collect(Collectors.toList());
if(param.getParam().getIsShow()){
//展示的 增加的 不需要考虑是否为经理
ProMemberRoleShowExample proMemberRoleShowExample=new ProMemberRoleShowExample();
proMemberRoleShowExample.createCriteria().andRecStatusEqualTo((byte) 0).andMemberIdEqualTo(memberId);
List<ProMemberRoleShow> proMemberRoleShows = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample);
if((proMemberRoleShows.size()+param.getParam().getRoleIds().size())>10){
throw new BaseException(CodeEnum.CHAOGUOSHI);
}else {
if(param.getParam().getRoleIds().size()>0){
//查一下目前最大得排序是多少
Integer[] seq=new Integer[]{proMemberRoleShows.stream().mapToInt(action->action.getSequence()).max().getAsInt()};
ProMemberRoleShowExample proMemberRoleShowExample1=new ProMemberRoleShowExample();
proMemberRoleShowExample1.createCriteria().andMemberIdEqualTo(memberId).andRoleIdIn(param.getParam().getRoleIds()).andRecStatusEqualTo((byte)0);
List<ProMemberRoleShow> proMemberRoleShows1 = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample1);
if(proMemberRoleShows1.size()>0){
throw new BaseException(CodeEnum.CHONGFUTIJIAO);
}
param.getParam().getRoleIds().forEach(ac->{
ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow();
proMemberRoleShow.setId(snowflake.nextId());
proMemberRoleShow.setRoleId(ac);
proMemberRoleShow.setMemberId(memberId);
if(jili1.contains(ac)){
proMemberRoleShow.setSequence(0);
}else {
proMemberRoleShow.setSequence(++seq[0]);
}
proMemberRoleShowMapper.insertSelective(proMemberRoleShow);
});
}
}
}else {
//不展示的,删除的
if(param.getParam().getRoleIds().size()>0){
//先判断是不是经理了
if(param.getParam().getRoleIds().contains(jili1.get(0))){
throw new BaseException(CodeEnum.BAOHANJINLI);
}
for (int i = 0; i <param.getParam().getRoleIds().size() ; i++) {
ProMemberRoleShowExample proMemberRoleShowExample=new ProMemberRoleShowExample();
proMemberRoleShowExample.createCriteria().andMemberIdEqualTo(memberId).andRoleIdEqualTo(param.getParam().getRoleIds().get(i)).andRecStatusEqualTo((byte)0);
ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow();
proMemberRoleShow.setRecStatus((byte)2);
proMemberRoleShowMapper.updateByExampleSelective(proMemberRoleShow,proMemberRoleShowExample);
}
}
}
}
/**
* 修改传入的角色的排序
* @param param
*/
@Override
public void upRoleShowsOrder(QueryDto<RoleDto.UpRoleShowsOrder> param) {
if(param.getParam().getRoleIds().size()<=1){
throw new BaseException(CodeEnum.ZUISHAOCHUANLIANGE);
}
Long memberId=queryMemberId(param.getParam().getProjectId(),param.getUserId());
ProRoleExample proRoleExample=new ProRoleExample();
proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(param.getParam().getProjectId());
//一级角色项目经理
List<Long> jili=proRoleMapper.selectByExample(proRoleExample).stream().map(action->action.getId()).collect(Collectors.toList());
//二级角色项目经理
ProRoleExample proRoleExample1=new ProRoleExample();
proRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andParentIdIn(jili);
List<ProRole> proRoles = proRoleMapper.selectByExample(proRoleExample1);
List<Long> jili1=proRoles.stream().map(action->action.getId()).collect(Collectors.toList());
for (int i = param.getParam().getRoleIds().size() - 1; i >= 0; i--) {
if(jili1.get(0).equals(param.getParam().getRoleIds().get(i))){
param.getParam().getRoleIds().remove(i);
}
}
//先查出来在数据库中这几个数据中最大的序号是多少,然后再最大的上面进行加加操作
ProMemberRoleShowExample proMemberRoleShowExample=new ProMemberRoleShowExample();
proMemberRoleShowExample.createCriteria().andRoleIdIn(param.getParam().getRoleIds()).andRecStatusEqualTo((byte)0);
List<ProMemberRoleShow> proMemberRoleShows = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExample);
Integer[] seq=new Integer[]{ proMemberRoleShows.stream().mapToInt(action->action.getSequence()).max().getAsInt()};
param.getParam().getRoleIds().forEach(action->{
ProMemberRoleShowExample proMemberRoleShowExample1=new ProMemberRoleShowExample();
proMemberRoleShowExample1.createCriteria().andRecStatusEqualTo((byte)0).andMemberIdEqualTo(memberId).andRoleIdEqualTo(action);
ProMemberRoleShow proMemberRoleShow=new ProMemberRoleShow();
proMemberRoleShow.setSequence(++seq[0]);
proMemberRoleShowMapper.updateByExampleSelective(proMemberRoleShow,proMemberRoleShowExample1);
});
}
/**
* 是否是pm
* @return
*/
public boolean queryIsPm(Long projectId,Long memberId){
ProRoleExample proRoleExample=new ProRoleExample();
proRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andNameEqualTo(WebConstant.ROLE_NAME.PM.value).andParentIdEqualTo(0L).andProjectIdEqualTo(projectId);
//一级角色项目经理
List<Long> jili=proRoleMapper.selectByExample(proRoleExample).stream().map(action->action.getId()).collect(Collectors.toList());
//二级角色项目经理
ProRoleExample proRoleExample1=new ProRoleExample();
proRoleExample1.createCriteria().andRecStatusEqualTo((byte)0).andParentIdIn(jili);
List<ProRole> proRoles = proRoleMapper.selectByExample(proRoleExample1);
List<Long> jili1=proRoles.stream().map(action->action.getId()).collect(Collectors.toList());
//目前考虑的是只有一个经理
ProMemberRoleExample proMemberRoleExample=new ProMemberRoleExample();
proMemberRoleExample.createCriteria().andRecStatusEqualTo((byte)0).andMemberIdEqualTo(memberId).andRoleIdEqualTo(jili1.get(0));
List<ProMemberRole> proMemberRoles = proMemberRoleMapper.selectByExample(proMemberRoleExample);
if(CollectionUtil.isEmpty(proMemberRoles)){
return false;
}
return true;
}
/**
* 查询成员id
* @return
*/
public Long queryMemberId(Long projectId,Long userId){
ProMemberExample proMemberExample=new ProMemberExample();
proMemberExample.createCriteria().andUserIdEqualTo(param.getUserId()).andProjectIdEqualTo(param.getParam().getProjectId()).andRecStatusEqualTo((byte)0);
proMemberExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(projectId).andRecStatusEqualTo((byte)0);
List<ProMember> proMembers = proMemberMapper.selectByExample(proMemberExample);
Long memberId=0L;
if(CollectionUtil.isNotEmpty(proMembers)&&proMembers.size()==1){
@ -656,13 +890,6 @@ public class ProRoleService implements IProRoleService {
}else {
throw new BaseException(CodeEnum.CHONGFU);
}
RoleVo.JueSeByProIdLists jueSeByProIdLists=new RoleVo.JueSeByProIdLists();
//查询已经添加的角色
List<RoleVo.JueSeByProId> listAfter=proRoleDao.queryRoleShowslistAfter(param.getParam().getProjectId());
List<Long> listBeforeId= listAfter.stream().map(action ->{
return action.getId();
}).collect(Collectors.toList());
List<RoleVo.JueSeByProId> listBefor=proRoleDao.queryRoleShowslistBefore(memberId,listBeforeId);
return null;
return memberId;
}
}

1
tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java

@ -83,6 +83,7 @@ public class TaskDeliverService implements ITaskDeliverService {
public void saveProTaskInputDoc(String[] inputs,Long taskId){
for (int i = 0; i < inputs.length; i++) {
if(StringUtils.isNotBlank(inputs[i])){
inputs[i]=inputs[i].replace("\r","").replace("\n","");
ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc();
proTaskInputDoc.setId(snowflake.nextId());
proTaskInputDoc.setTaskDetailId(taskId);

16
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -128,4 +128,20 @@ public class RoleController {
RoleVo.JueSeByProIdLists jueSeByProIdLists=proRoleService.queryRoleShows(param);
return JsonResponse.newInstance().ok(jueSeByProIdLists);
}
@MustLoginTall
@ApiOperation(value = "修改角色是否展示",notes = "")
@RequestMapping(value = "/queryRoleIsShows", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse queryRoleIsShows(@ApiParam @Validated @RequestBody QueryDto<RoleDto.QueryRoleIsShows> param){
log.info("传入参数:{}", param);
proRoleService.queryRoleIsShows(param);
return JsonResponse.newInstance().ok();
}
@MustLoginTall
@ApiOperation(value = "给角色排序",notes = "")
@RequestMapping(value = "/upRoleShowsOrder", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse upRoleShowsOrder(@ApiParam @Validated @RequestBody QueryDto<RoleDto.UpRoleShowsOrder> param){
log.info("传入参数:{}", param);
proRoleService.upRoleShowsOrder(param);
return JsonResponse.newInstance().ok();
}
}

17
tall/src/main/resources/mapper_dao/ProRoleDao.xml

@ -311,14 +311,25 @@
<select id="queryRoleShowslistAfter" resultType="com.ccsens.tall.bean.vo.RoleVo$JueSeByProId">
select tpr.id,tpr.name,tpmrs.sequence
from t_pro_member_role_show tpmrs
left join t_pro_role tpr on tpr.rec_status=0 and tpr.id=tpmrs=role_id
left join t_pro_role tpr on tpr.rec_status=0 and tpr.id=tpmrs.role_id
where
tpmrs.rec_status=0
and tpmrs.member_id=#{projectId}
and tpmrs.member_id=#{memberId}
order by tpmrs.sequence
</select>
<select id="queryRoleShowslistBefore" resultType="com.ccsens.tall.bean.vo.RoleVo$JueSeByProId">
select id,name,sequence
from t_pro_role tpr
where tpr.rec_status=0
and tpr.project_id=#{param1}
and tpr.parent_id !=0
<if test="param2!=null and param2.size>0">
and tpr.id not in
<foreach collection="param2" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</if>
order by tpr.sequence
</select>
</mapper>

4
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -189,6 +189,10 @@ public enum CodeEnum {
DOC_REPEAT(158,"输入文档已存在",true),
NOTNAME(159,"未找到该列",true),
CHONGFU(160,"该成员在项目下有多个成员角色",true),
CHAOGUOSHI(161,"角色展示不能超过10个",true),
BAOHANJINLI(162,"不能删除包含经理得角色",true),
CHONGFUTIJIAO(163,"不要重复提交",true),
ZUISHAOCHUANLIANGE(164,"排序最少需要传入两个",true),
;

Loading…
Cancel
Save