Browse Source

20210428v1.7

recovery
zy_Java 4 years ago
parent
commit
c057d4fe0a
  1. 20
      tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java
  2. 203
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  3. 2
      tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java
  4. 3
      util/src/main/java/com/ccsens/util/CodeEnum.java

20
tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java

@ -56,14 +56,14 @@ public interface IProTaskDetailService {
*/
List<TaskVo.TaskListByProjectId> queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectId) throws Exception;
/**
* 新增和修改交付物的方法
* @param jiaoFuWu
*/
void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu);
/**
* 新增和修改交付物的方法
* @param jiaoFuWu
*/
void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu);
// /**
// * 新增和修改交付物的方法
// * @param jiaoFuWu
// */
// void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu);
// /**
// * 新增和修改交付物的方法
// * @param jiaoFuWu
// */
// void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu);
}

203
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -170,7 +170,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
TaskVo.NormalTask normalTask;
SysProject project = sysProjectDao.selectByPrimaryKey(projectId);
if (ObjectUtil.isNull(project)){
if (ObjectUtil.isNull(project)) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
if (endTime < project.getBeginTime() || startTime > project.getEndTime()) {
@ -180,10 +180,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProShowExample proShowExample = new ProShowExample();
proShowExample.createCriteria().andProjectIdEqualTo(projectId);
List<ProShow> proShowList = proShowDao.selectByExample(proShowExample);
if(CollectionUtil.isNotEmpty(proShowList)){
if (CollectionUtil.isNotEmpty(proShowList)) {
ProShow proShow = proShowList.get(0);
if(proShow.getSelectTaskType() == 4){
return getTaskAndType4ByPM(currentUserId,projectId,startTime,endTime,page,pageSize,roleId);
if (proShow.getSelectTaskType() == 4) {
return getTaskAndType4ByPM(currentUserId, projectId, startTime, endTime, page, pageSize, roleId);
}
}
@ -278,7 +278,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
//特殊任务分页查找项目经理下的任务(不处理时间)
private TaskVo.ProTaskInfo getTaskAndType4ByPM(Long currentUserId,Long projectId,Long startTime,Long endTime,int page,int pageSize,Long roleId) throws Exception {
private TaskVo.ProTaskInfo getTaskAndType4ByPM(Long currentUserId, Long projectId, Long startTime, Long endTime, int page, int pageSize, Long roleId) throws Exception {
List<TaskVo.NormalTask> normalTasks = new ArrayList<>();
//1、查找一级任务
PageHelper.startPage(page, pageSize);
@ -290,7 +290,6 @@ public class ProTaskDetailService implements IProTaskDetailService {
PageInfo pageInfo = new PageInfo<>(firstTaskDetailList);
if (CollectionUtil.isNotEmpty(firstTaskDetailList)) {
int sequence = 1;
for (ProTaskDetail firstTaskDetail : firstTaskDetailList) {
@ -338,8 +337,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
return proTaskInfo;
}
private TaskVo.ProTaskInfo getTaskAndType4ByMember(Long currentUserId,Long projectId,Long startTime,Integer imitation,
Long endTime,int page,int pageSize,Long roleId,Long allMemberId,Integer priority) throws Exception {
private TaskVo.ProTaskInfo getTaskAndType4ByMember(Long currentUserId, Long projectId, Long startTime, Integer imitation,
Long endTime, int page, int pageSize, Long roleId, Long allMemberId, Integer priority) throws Exception {
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
PageHelper.startPage(page, pageSize);
@ -353,12 +352,12 @@ public class ProTaskDetailService implements IProTaskDetailService {
//通过角色id查找 负责人名称 检查人名称
Long executorRole = normalTask.getExecutorRole();
ProRole executor = proRoleDao.selectByPrimaryKey(executorRole);
if(ObjectUtil.isNotNull(executor)){
if (ObjectUtil.isNotNull(executor)) {
normalTask.setExecutorRoleName(executor.getName());
}
Long checkerRole = normalTask.getCheckerRole();
ProRole checker = proRoleDao.selectByPrimaryKey(checkerRole);
if(ObjectUtil.isNotNull(checker)){
if (ObjectUtil.isNotNull(checker)) {
normalTask.setCheckerRoleName(checker.getName());
}
@ -412,10 +411,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProShowExample proShowExample = new ProShowExample();
proShowExample.createCriteria().andProjectIdEqualTo(projectId);
List<ProShow> proShowList = proShowDao.selectByExample(proShowExample);
if(CollectionUtil.isNotEmpty(proShowList)){
if (CollectionUtil.isNotEmpty(proShowList)) {
ProShow proShow = proShowList.get(0);
if(proShow.getSelectTaskType() == 4){
return getTaskAndType4ByMember(currentUserId,projectId,startTime,imitation,endTime,page,pageSize,roleId,allMemberId,priority);
if (proShow.getSelectTaskType() == 4) {
return getTaskAndType4ByMember(currentUserId, projectId, startTime, imitation, endTime, page, pageSize, roleId, allMemberId, priority);
}
}
//查找该角色的所有任务(全体成员的任务也是这个角色的任务)
@ -435,16 +434,16 @@ public class ProTaskDetailService implements IProTaskDetailService {
//通过角色id查找 负责人名称 检查人名称
Long executorRole = normalTask.getExecutorRole();
ProRole executor = proRoleDao.selectByPrimaryKey(executorRole);
if(ObjectUtil.isNotNull(executor)){
if (ObjectUtil.isNotNull(executor)) {
normalTask.setExecutorRoleName(executor.getName());
}
//设置默认检查人
Long checkerRole = normalTask.getCheckerRole();
ProRole checker = proRoleDao.selectByPrimaryKey(checkerRole);
if(ObjectUtil.isNotNull(checker)) {
if (ObjectUtil.isNotNull(checker)) {
normalTask.setCheckerRoleName(checker.getName());
}else{
} else {
//根据任务id查询项目下项目经理
Long pmId = taskDetailDao.selectPmByTaskId(normalTask.getDetailId());
ProRole proRole = proRoleDao.selectByPrimaryKey(pmId);
@ -648,7 +647,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (ObjectUtil.isNotNull(proPluginConfig)) {
//如果是周会相关的插件,且入参为空。特殊查询
SysPlugin sysPlugin = sysPluginDao.selectByPrimaryKey(Long.parseLong(pluginIds[i]));
if(ObjectUtil.isNotNull(sysPlugin) && sysPlugin.getScene() == 6 && StrUtil.isEmpty(proPluginConfig.getImportParam())){
if (ObjectUtil.isNotNull(sysPlugin) && sysPlugin.getScene() == 6 && StrUtil.isEmpty(proPluginConfig.getImportParam())) {
PluginVo.PersonalTaskReport personalTaskReport = taskPluginService.getPersonalTaskReport(normalTask.getProjectId());
proPluginConfig.setImportParam(JacksonUtil.beanToJson(personalTaskReport));
}
@ -755,7 +754,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (ObjectUtil.isNull(task)) {
throw new BaseException(CodeEnum.NOT_TASK);
}
if(ObjectUtil.isNull(taskSubTimeId)){
if (ObjectUtil.isNull(taskSubTimeId)) {
taskSubTimeId = taskDeliverService.isTaskOrSubTime(taskId);
}
@ -821,20 +820,20 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
//查询此任务下的输入文档
List<InputDocVo.InputDocInfo> inputDocInfos = proTaskInputDocDao.selectDocByTaskId(taskDetail.getDetailId());
if (CollectionUtil.isNotEmpty(inputDocInfos)){
if (CollectionUtil.isNotEmpty(inputDocInfos)) {
taskDetail.setInputDoc(inputDocInfos);
}
//查询此任务下的输出文档
List<DeliverVo.OutputDocInfo> outputDocInfos = taskDeliverDao.selectOutputDocByTaskId(taskDetail.getDetailId());
if (CollectionUtil.isNotEmpty(outputDocInfos)){
if (CollectionUtil.isNotEmpty(outputDocInfos)) {
taskDetail.setOutputDoc(outputDocInfos);
}
//设置检查人
ProRole checkRole = proRoleDao.selectByPrimaryKey(task.getCheckerRole());
if (ObjectUtil.isNotNull(checkRole)){
if (ObjectUtil.isNotNull(checkRole)) {
taskDetail.setCheckerRole(checkRole.getId());
taskDetail.setCheckerRoleName(checkRole.getName());
}else{
} else {
//根据任务id查询项目下项目经理
Long pmId = taskDetailDao.selectPmByTaskId(task.getId());
ProRole proRole = proRoleDao.selectByPrimaryKey(pmId);
@ -1395,10 +1394,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (ObjectUtil.isNotNull(updateTaskInfo.getMilestone())) {
taskDetail.setMilestone(updateTaskInfo.getMilestone());
}
//父任务id
if(null != updateTaskInfo.getParentId()){
taskDetail.setParentId(updateTaskInfo.getParentId());
}
//时间
if (ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) ||
ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) ||
@ -1492,34 +1488,47 @@ public class ProTaskDetailService implements IProTaskDetailService {
}
});
}
//修改项目信息 当前的项目
if(ObjectUtil.isNotNull(updateTaskInfo.getId())){
if(ObjectUtil.isNotNull(updateTaskInfo.getProjectId())){
if(ObjectUtil.isNotNull(updateTaskInfo.getParentId())){
//检查父任务在不在移动后的项目下,不在的话提示错误信息 该任务不在该项目下,在的话则修改项目信息
//B项目updateTaskInfo.getProjectId() 父任务updateTaskInfo.getParentId()
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(updateTaskInfo.getProjectId());
long l = taskDetailDao.countByExample(proTaskDetailExample);
if(l > 0 ){
throw new BaseException(CodeEnum.NOT_TASK);
}else { //在的话则修改项目信息
taskDetail.setId(updateTaskInfo.getId());
taskDetail.setParentId(updateTaskInfo.getParentId());
taskDetail.setProjectId(updateTaskInfo.getProjectId());
taskDetailDao.updateByPrimaryKeySelective(taskDetail);
}
//修改任务所属的项目
if (ObjectUtil.isNotNull(updateTaskInfo.getProjectId())) {
if (ObjectUtil.isNotNull(updateTaskInfo.getParentId())) {
//检查父任务在不在移动后的项目下,不在的话提示错误信息 该任务不在该项目下,在的话则修改项目信息
//B项目updateTaskInfo.getProjectId() 父任务updateTaskInfo.getParentId()
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(updateTaskInfo.getProjectId());
long l = taskDetailDao.countByExample(proTaskDetailExample);
if (l > 0) {
// throw new BaseException(CodeEnum.NOT_TASK);
taskDetail.setProjectId(updateTaskInfo.getProjectId());
taskDetail.setParentId(updateTaskInfo.getParentId());
} else { //在的话则修改项目信息
throw new BaseException(CodeEnum.PARENT_PROJECT_NOT_MATCHING);
}
//把这个任务当作父任务,如果原来任务下的父任务有值 设置为0,修改项目信息
//taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); //任务详情
if(ObjectUtil.isNotNull(taskDetail.getParentId())){
taskDetail.setParentId(0L);
taskDetailDao.updateByPrimaryKeySelective(taskDetail);
}
taskDetail.setId(updateTaskInfo.getId());
} else {
taskDetail.setParentId(0L);
taskDetail.setProjectId(updateTaskInfo.getProjectId());
taskDetailDao.updateByPrimaryKeySelective(taskDetail);
}
//将此任务以前的子任务的父id改成0
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andParentIdEqualTo(taskDetail.getId());
List<ProTaskDetail> proTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample);
if(CollectionUtil.isNotEmpty(proTaskDetailList)){
proTaskDetailList.forEach(proTaskDetail -> {
proTaskDetail.setParentId(0L);
taskDetailDao.updateByPrimaryKeySelective(proTaskDetail);
});
}
} else {
//父任务id
if (null != updateTaskInfo.getParentId()) {
ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample();
proTaskDetailExample.createCriteria().andIdEqualTo(updateTaskInfo.getParentId()).andProjectIdEqualTo(taskDetail.getProjectId());
long l = taskDetailDao.countByExample(proTaskDetailExample);
if (l <= 0) {
throw new BaseException(CodeEnum.PARENT_PROJECT_NOT_MATCHING);
}
taskDetail.setParentId(updateTaskInfo.getParentId());
}
}
//修改数据
@ -1741,7 +1750,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (CollectionUtil.isNotEmpty(firstTaskDetailList)) {
firstTaskDetailList.forEach(firstTaskDetail -> {
TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId());
List<TaskVo.TaskListByProjectId> secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(), null,null,null);
List<TaskVo.TaskListByProjectId> secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(), null, null, null);
if (CollectionUtil.isNotEmpty(secondTaskList)) {
secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName()));
}
@ -1752,48 +1761,50 @@ public class ProTaskDetailService implements IProTaskDetailService {
return taskList;
}
/**
* 新增和修改交付物
* @param jiaoFuWu
*/
@Override
public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) {
ProTaskDeliverExample proTaskDeliverExample=new ProTaskDeliverExample();
ProTaskDeliver proTaskDeliver=new ProTaskDeliver();
if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){
//修改
proTaskDeliver.setId(jiaoFuWu.getId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample);
}else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
//新增
proTaskDeliver.setId(snowflake.nextId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverMapper.insertSelective(proTaskDeliver);
}
}
/**
* 新增和修改输入文档
* @param jiaoFuWu
*/
@Override
public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) {
ProTaskInputDocExample proTaskDeliverExample=new ProTaskInputDocExample();
ProTaskInputDoc proTaskDeliver=new ProTaskInputDoc();
if(jiaoFuWu.getId()!=null && StringUtils.isNotBlank(jiaoFuWu.getNames())){
//修改
proTaskDeliver.setId(jiaoFuWu.getId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
proTaskInputDocDao.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample);
}else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
//新增
proTaskDeliver.setId(snowflake.nextId());
proTaskDeliver.setName(jiaoFuWu.getNames());
proTaskInputDocDao.insertSelective(proTaskDeliver);
}
}
// /**
// * 新增和修改交付物
// *
// * @param jiaoFuWu
// */
// @Override
// public void addAndUpdateJiaoFuWu(TaskDto.JiaoFuWu jiaoFuWu) {
// ProTaskDeliverExample proTaskDeliverExample = new ProTaskDeliverExample();
// ProTaskDeliver proTaskDeliver = new ProTaskDeliver();
// if (jiaoFuWu.getId() != null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
// //修改
// proTaskDeliver.setId(jiaoFuWu.getId());
// proTaskDeliver.setName(jiaoFuWu.getNames());
// proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
// proTaskDeliverMapper.updateByExampleSelective(proTaskDeliver, proTaskDeliverExample);
// } else if (jiaoFuWu.getId() == null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
// //新增
// proTaskDeliver.setId(snowflake.nextId());
// proTaskDeliver.setName(jiaoFuWu.getNames());
// proTaskDeliverMapper.insertSelective(proTaskDeliver);
// }
//
// }
//
// /**
// * 新增和修改输入文档
// *
// * @param jiaoFuWu
// */
// @Override
// public void addAndUpdateShuWuWenDang(TaskDto.JiaoFuWu jiaoFuWu) {
// ProTaskInputDocExample proTaskDeliverExample = new ProTaskInputDocExample();
// ProTaskInputDoc proTaskDeliver = new ProTaskInputDoc();
// if (jiaoFuWu.getId() != null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
// //修改
// proTaskDeliver.setId(jiaoFuWu.getId());
// proTaskDeliver.setName(jiaoFuWu.getNames());
// proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0);
// proTaskInputDocDao.updateByExampleSelective(proTaskDeliver, proTaskDeliverExample);
// } else if (jiaoFuWu.getId() == null && StringUtils.isNotBlank(jiaoFuWu.getNames())) {
// //新增
// proTaskDeliver.setId(snowflake.nextId());
// proTaskDeliver.setName(jiaoFuWu.getNames());
// proTaskInputDocDao.insertSelective(proTaskDeliver);
// }
// }
}

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

@ -1272,7 +1272,7 @@ public class TaskDeliverService implements ITaskDeliverService {
proTaskDeliverExample.createCriteria().andTaskDetailIdEqualTo(taskDetailId).andNameEqualTo(param.getFileName()[i]);
long l = taskDeliverDao.countByExample(proTaskDeliverExample);
if(l>0){
throw new BaseException(CodeEnum.Deliver_REPEAT);
throw new BaseException(CodeEnum.DELIVER_REPEAT);
}
//添加交付物
ProTaskDeliver proTaskDeliver = new ProTaskDeliver();

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

@ -210,7 +210,8 @@ public enum CodeEnum {
CANNOT_DELETE_PM(170,"无法删除项目经理",true),
LABEL_TOO_LONG(171,"标签长度过长,请不要超过六个字",true),
WBS_PROJECT_NAME_REPEAT(172,"项目名称不能重复",true),
Deliver_REPEAT(173,"交付物已存在",true),
DELIVER_REPEAT(173,"交付物已存在",true),
PARENT_PROJECT_NOT_MATCHING(174,"父任务与项目不匹配",true),
;

Loading…
Cancel
Save