Browse Source

20220328移动项目

contest
zy_Java 3 years ago
parent
commit
32a92e7e57
  1. 208
      src/main/java/com/ccsens/ptccsens/service/TallService.java

208
src/main/java/com/ccsens/ptccsens/service/TallService.java

@ -155,9 +155,6 @@ public class TallService implements ITallService {
@SneakyThrows
@Override
public TallWbsVo.WbsPath exportWbs(String token, TallProjectDto.ProjectById param) {
//TODO 验证项目id是否正确
//TODO 暂时只查询二级任务,不管二级以下的子任务
//查询下项目信息
TallWbsVo.WbsProjectInfo wbsProjectInfo = proProjectDao.getWbsProjectId(param.getProjectId());
if(ObjectUtil.isNull(wbsProjectInfo)){
@ -200,18 +197,8 @@ public class TallService implements ITallService {
@Override
public List<TallProjectVo.ProjectInfo> queryProjectByUser(String token, TallProjectDto.QueryProjectDto param) {
// TallTokenVo.UserIdByToken userByToken = TokenUtil.getUserByToken(new TallTokenDto.GetUserByToken(token, Constant.APP_ID, Constant.APP_SECRET));
// if(ObjectUtil.isNull(userByToken)){
// return null;
// }
// //通过手机号获取用户在服务内的userId
// ProUser user = null;
// if(StrUtil.isNotBlank(userByToken.getPhone())){
// user = userDao.getUserIdByPhone(userByToken.getPhone());
// }
//TODO 暂时查询全部,无论是否查到user
// List<TallProjectVo.ProjectInfo> projectInfos = new ArrayList<>();
//查找所有没有上级的项目,作为MWBS
List<TallProjectVo.ProjectInfo> mWbs = taskDetailDao.queryMwbs(param.getStartTime(),param.getEndTime(),null);
if(CollectionUtil.isNotEmpty(mWbs)){
@ -398,44 +385,45 @@ public class TallService implements ITallService {
return regularTask;
}
/**
* 判断当前用户的角色是否被设置不可见(是否有权限查看任务)
*
* @param roleId 查看的角色id
* @param userId 用户id
* @return 是否可见(true可见, false不可见)
*/
public Boolean queryRoleIsLook(Long roleId, Long userId) {
byte visitor = 0;
Long projectId = roleDao.findRoleOfProjectId(roleId);
if (ObjectUtil.isNull(projectId)) {
throw new BaseException(BasicsCodeError.ROLE_ERROR);
}
Long memberId = memberDao.findUserOfMemberId(projectId, userId);
//不是项目成员则为游客
if (ObjectUtil.isNull(memberId)) {
visitor = 1;
}
//查看角色互斥表是否有对所属角色不可见
List<Long> repulsionRoleIds = roleRepulsionDao.findRepulsionByRoleId(roleId);
//如果为游客
if (1 == visitor) {
return !CollectionUtil.isNotEmpty(repulsionRoleIds);
}
//查找成员所属的所有角色
List<Long> roleIds = roleMemberDao.findMemberOfRoleIds(memberId);
if (CollectionUtil.isEmpty(roleIds)) {
if (CollectionUtil.isNotEmpty(repulsionRoleIds)) {
return false;
}
}
//排斥角色包含所有所属角色则不可见
if (CollectionUtil.isNotEmpty(repulsionRoleIds) && CollectionUtil.isNotEmpty(roleIds)) {
boolean isLook = repulsionRoleIds.containsAll(roleIds);
return !isLook;
}
return true;
}
// /**
// * 判断当前用户的角色是否被设置不可见(是否有权限查看任务)
// *
// * @param roleId 查看的角色id
// * @param userId 用户id
// * @return 是否可见(true可见, false不可见)
// */
// public Boolean queryRoleIsLook(Long roleId, Long userId) {
// byte visitor = 0;
// Long projectId = roleDao.findRoleOfProjectId(roleId);
// if (ObjectUtil.isNull(projectId)) {
// throw new BaseException(BasicsCodeError.ROLE_ERROR);
// }
// Long memberId = memberDao.findUserOfMemberId(projectId, userId);
// //不是项目成员则为游客
// if (ObjectUtil.isNull(memberId)) {
// visitor = 1;
// }
// //查看角色互斥表是否有对所属角色不可见
// List<Long> repulsionRoleIds = roleRepulsionDao.findRepulsionByRoleId(roleId);
// //如果为游客
// if (1 == visitor) {
// return !CollectionUtil.isNotEmpty(repulsionRoleIds);
// }
// //查找成员所属的所有角色
// List<Long> roleIds = roleMemberDao.findMemberOfRoleIds(memberId);
// if (CollectionUtil.isEmpty(roleIds)) {
// if (CollectionUtil.isNotEmpty(repulsionRoleIds)) {
// return false;
// }
// }
// //排斥角色包含所有所属角色则不可见
// if (CollectionUtil.isNotEmpty(repulsionRoleIds) && CollectionUtil.isNotEmpty(roleIds)) {
// boolean isLook = repulsionRoleIds.containsAll(roleIds);
// return !isLook;
// }
// return true;
// }
/**
* 查询任务的插件相关信息
@ -535,65 +523,65 @@ public class TallService implements ITallService {
}
/**
* 查看定期任务和任务下的插件展示信息
* @param token token
* @param param 查询条件
* @return 返回任务列表和对应的插件展示信息
*/
@Override
public List<TallTaskVo.QueryTask> queryRegularTaskAndPlugin(String token, TallTaskDto.QueryRegularTask param) {
ProUser user = getUserByToken(token);
log.info("本服务下的用户信息:{}", user);
//查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含
//根据参数配置sql语句
String query = "";
String timeFormat = Constant.timeFormat.get(param.getTimeUnit());
String unit = Constant.timeUnit.get(param.getTimeUnit());
if (0 == param.getQueryType()) {
query = "interval -" + param.getQueryNum() + " " + unit;
} else {
query += "interval " + (param.getQueryNum() - 1) + " " + unit;
}
List<Long> roleIds = new ArrayList<>();
roleIds.add(param.getRoleId());
List<TallTaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
//如果该时段没有任务向上或向下补充
if (CollectionUtil.isEmpty(regularTask)) {
List<TallTaskVo.QueryTask> replenishTask = taskDetailDao.continueQueryTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
Map<String, List<TallTaskVo.QueryTask>> taskMap = replenishTask.stream().collect(Collectors.groupingBy(task -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(task.getPlanStart()))));
List<String> mapOfKey = new ArrayList<>();
taskMap.forEach((key, val) -> mapOfKey.add(key));
if (CollectionUtil.isNotEmpty(mapOfKey)) {
if (0 == param.getQueryType()) {
String max = Collections.max(mapOfKey);
queryPluginForTask(taskMap.get(max));
return taskMap.get(max);
} else {
String min = Collections.min(mapOfKey);
queryPluginForTask(taskMap.get(min));
return taskMap.get(min);
}
}
queryPluginForTask(replenishTask);
//查询任务下的检查人
queryCheckerOfTask(replenishTask);
//查询插件展示信息
queryPluginShow(regularTask,user == null ? null : user.getId());
return replenishTask;
}
queryPluginForTask(regularTask);
//查询任务下的检查人
queryCheckerOfTask(regularTask);
//查询插件展示信息
queryPluginShow(regularTask,user == null ? null : user.getId());
return regularTask;
}
// /**
// * 查看定期任务和任务下的插件展示信息
// * @param token token
// * @param param 查询条件
// * @return 返回任务列表和对应的插件展示信息
// */
// @Override
// public List<TallTaskVo.QueryTask> queryRegularTaskAndPlugin(String token, TallTaskDto.QueryRegularTask param) {
// ProUser user = getUserByToken(token);
// log.info("本服务下的用户信息:{}", user);
//
// //查找类型:0向上查找,1向下查找(默认),下查包含自己,上查不包含
// //根据参数配置sql语句
// String query = "";
// String timeFormat = Constant.timeFormat.get(param.getTimeUnit());
// String unit = Constant.timeUnit.get(param.getTimeUnit());
// if (0 == param.getQueryType()) {
// query = "interval -" + param.getQueryNum() + " " + unit;
// } else {
// query += "interval " + (param.getQueryNum() - 1) + " " + unit;
// }
//
// List<Long> roleIds = new ArrayList<>();
// roleIds.add(param.getRoleId());
//
// List<TallTaskVo.QueryTask> regularTask = taskDetailDao.queryRegularTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
// //如果该时段没有任务向上或向下补充
// if (CollectionUtil.isEmpty(regularTask)) {
// List<TallTaskVo.QueryTask> replenishTask = taskDetailDao.continueQueryTask(roleIds, param.getTimeUnit(), param.getTimeNode(), param.getQueryType(), query, timeFormat);
// Map<String, List<TallTaskVo.QueryTask>> taskMap = replenishTask.stream().collect(Collectors.groupingBy(task -> new SimpleDateFormat("yyyy-MM-dd").format(new Date(task.getPlanStart()))));
// List<String> mapOfKey = new ArrayList<>();
// taskMap.forEach((key, val) -> mapOfKey.add(key));
// if (CollectionUtil.isNotEmpty(mapOfKey)) {
// if (0 == param.getQueryType()) {
// String max = Collections.max(mapOfKey);
// queryPluginForTask(taskMap.get(max));
// return taskMap.get(max);
// } else {
// String min = Collections.min(mapOfKey);
// queryPluginForTask(taskMap.get(min));
// return taskMap.get(min);
// }
// }
// queryPluginForTask(replenishTask);
// //查询任务下的检查人
// queryCheckerOfTask(replenishTask);
// //查询插件展示信息
// queryPluginShow(regularTask,user == null ? null : user.getId());
// return replenishTask;
// }
// queryPluginForTask(regularTask);
// //查询任务下的检查人
// queryCheckerOfTask(regularTask);
//
// //查询插件展示信息
// queryPluginShow(regularTask,user == null ? null : user.getId());
//
// return null;
// }
private void queryPluginShow(List<TallTaskVo.QueryTask> regularTask,Long userId) {
if(CollectionUtil.isEmpty(regularTask)){

Loading…
Cancel
Save