From 271810c0e2e500e781b20a6a014aa2aea252f66f Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 14 Apr 2021 09:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BB=BB=E5=8A=A1=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=8F=AF=E4=BB=A5=E6=9F=A5=E5=87=BA=E4=BA=A4=E4=BB=98?= =?UTF-8?q?=E7=89=A9=E4=BF=A1=E6=81=AF4.14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/TaskDto.java | 2 ++ .../com/ccsens/tall/bean/vo/DeliverVo.java | 9 ++++++ .../com/ccsens/tall/bean/vo/InputDocVo.java | 8 +++++ .../java/com/ccsens/tall/bean/vo/TaskVo.java | 4 +++ .../tall/persist/dao/ProTaskInputDocDao.java | 21 +++++++++++++ .../tall/persist/dao/TaskDeliverDao.java | 7 +++++ .../ccsens/tall/service/InputDocService.java | 16 ++++++++++ .../tall/service/ProTaskDetailService.java | 31 +++++++++++++------ .../com/ccsens/tall/service/UserService.java | 2 +- .../main/resources/mapper_dao/DeliverDao.xml | 10 ++++++ .../mapper_dao/ProTaskInputDocDao.xml | 15 +++++++++ .../main/java/com/ccsens/util/CodeEnum.java | 2 +- 12 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskInputDocDao.java create mode 100644 tall/src/main/resources/mapper_dao/ProTaskInputDocDao.xml diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index 29dab668..779ee2f9 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java @@ -223,6 +223,8 @@ public class TaskDto { private List plugins; @ApiModelProperty("任务提醒信息") private List taskRemindList; + @ApiModelProperty("父任务id") + private Long parentId; } @Data @ApiModel("修改任务时修改交付物名称") diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/DeliverVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/DeliverVo.java index 3201f185..60b61e85 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/DeliverVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/DeliverVo.java @@ -189,4 +189,13 @@ public class DeliverVo { private List fileList = new ArrayList<>(); } + @ApiModel + @Data + public static class OutputDocInfo{ + @ApiModelProperty("输出文档id") + private Long id; + @ApiModelProperty("输出文档名称") + private String name; + } + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java index fc4426a3..dcee65f7 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java @@ -117,5 +117,13 @@ public class InputDocVo { private String fileIds; } + @Data + @ApiModel + public static class InputDocInfo{ + @ApiModelProperty("输入文档id") + private Long id; + @ApiModelProperty("输入文档名称") + private String name; + } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 4f7a0c79..0b6a770a 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -157,6 +157,10 @@ public class TaskVo { private Byte priority; @ApiModelProperty("是否是里程碑 0否 1里程碑 2普通任务 3关键任务") private String milestone; + @ApiModelProperty("输入文档的信息") + private List inputDoc; + @ApiModelProperty("输出文档的信息") + private List outputDoc; @ApiModelProperty("提醒的信息") private List remindInfoList; public Long getDuration(){ diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskInputDocDao.java new file mode 100644 index 00000000..064e693b --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProTaskInputDocDao.java @@ -0,0 +1,21 @@ +package com.ccsens.tall.persist.dao; + +import com.ccsens.tall.bean.vo.InputDocVo; +import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author mz + */ +@Repository +public interface ProTaskInputDocDao extends ProTaskInputDocMapper { + + /** + * 根据任务详情id查询输入文档 + * @param taskId + * @return 输入文档 + */ + List selectDocByTaskId(Long taskId); +} diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDeliverDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDeliverDao.java index 4675a2fb..a453054a 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDeliverDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDeliverDao.java @@ -33,4 +33,11 @@ public interface TaskDeliverDao extends ProTaskDeliverMapper{ * @return 返回交付物详情 */ List queryDeliverByTaskId(@Param("userId")Long userId, @Param("subTimeId")Long subTimeId, @Param("taskDetailId")Long taskDetailId); + + /** + * 根据任务详情id查询输出文档的列表 + * @param taskId + * @return + */ + List selectOutputDocByTaskId(Long taskId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index 453cea7f..cc16413d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -67,6 +67,8 @@ public class InputDocService implements IInputDocService { private ProDeliverHistoryRecordDao deliverHistoryRecordDao; @Resource private IProMemberService iProMemberService; + @Resource + private ProPluginConfigDao pluginConfigDao; @@ -106,6 +108,7 @@ public class InputDocService implements IInputDocService { TaskVo.ProTaskInfo taskInfo=new TaskVo.ProTaskInfo(); //普通的任务和全局的 List normalTaskList1= iInputDocDao.selectByCompany(param,userId); + //给二级任务下添加子任务 //遍历项目 if(param.getId()!=null){ @@ -164,6 +167,19 @@ public class InputDocService implements IInputDocService { } taskInfo.setGlobalTaskList(globalTaskList); taskInfo.setNormalTaskList(normalTaskList); + for (TaskVo.NormalTask normalTask : taskInfo.getNormalTaskList()) { + if (null != normalTask.getDetailId()){ + ProPluginConfigExample configExample = new ProPluginConfigExample(); + configExample.createCriteria().andTaskIdEqualTo(normalTask.getDetailId()).andPlaceLocationEqualTo((byte) 0); + List proPluginConfigs = pluginConfigDao.selectByExample(configExample); + if (CollectionUtil.isNotEmpty(proPluginConfigs)){ + ProPluginConfig config = proPluginConfigs.get(0); + normalTask.setImportParam(config.getImportParam()); + normalTask.setRoutineLocation(config.getRoutineLocation()); + normalTask.setWebPath(config.getWebPath()); + } + } + } return taskInfo; } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 1cd8a7ec..625460e9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -10,10 +10,7 @@ import com.ccsens.cloudutil.feign.MtFeignClient; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.dto.TaskDto; import com.ccsens.tall.bean.po.*; -import com.ccsens.tall.bean.vo.MemberVo; -import com.ccsens.tall.bean.vo.PluginVo; -import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.TaskVo; +import com.ccsens.tall.bean.vo.*; import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.dao.ProTaskShowDao; import com.ccsens.tall.persist.mapper.ProPluginConfigMapper; @@ -95,7 +92,7 @@ public class ProTaskDetailService implements IProTaskDetailService { @Resource private ProTaskDeliverMapper proTaskDeliverMapper; @Resource - private ProTaskInputDocMapper proTaskInputDocMapper; + private ProTaskInputDocDao proTaskInputDocDao; @Override public void saveTaskDetail(ProTaskDetail taskDetail) { @@ -788,6 +785,16 @@ public class ProTaskDetailService implements IProTaskDetailService { taskDetail.getSecondTasks().addAll(groupTaskList); } } + //查询此任务下的输入文档 + List inputDocInfos = proTaskInputDocDao.selectDocByTaskId(taskDetail.getDetailId()); + if (CollectionUtil.isNotEmpty(inputDocInfos)){ + taskDetail.setInputDoc(inputDocInfos); + } + //查询此任务下的输出文档 + List outputDocInfos = taskDeliverDao.selectOutputDocByTaskId(taskDetail.getDetailId()); + if (CollectionUtil.isNotEmpty(outputDocInfos)){ + taskDetail.setOutputDoc(outputDocInfos); + } return taskDetail; } @@ -1342,6 +1349,10 @@ 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()) || @@ -1419,10 +1430,10 @@ public class ProTaskDetailService implements IProTaskDetailService { updateTaskInfo.getInputList().forEach(taskDeliver -> { if (StrUtil.isNotEmpty(taskDeliver.getDeliverName())) { if (ObjectUtil.isNotNull(taskDeliver.getDeliverId())) { - ProTaskInputDoc deliver = proTaskInputDocMapper.selectByPrimaryKey(taskDeliver.getDeliverId()); + ProTaskInputDoc deliver = proTaskInputDocDao.selectByPrimaryKey(taskDeliver.getDeliverId()); if (ObjectUtil.isNotNull(deliver)) { deliver.setName(taskDeliver.getDeliverName()); - proTaskInputDocMapper.updateByPrimaryKeySelective(deliver); + proTaskInputDocDao.updateByPrimaryKeySelective(deliver); } } else { ProTaskInputDoc deliver = new ProTaskInputDoc(); @@ -1430,7 +1441,7 @@ public class ProTaskDetailService implements IProTaskDetailService { deliver.setTaskDetailId(taskDetail.getId()); deliver.setName(taskDeliver.getDeliverName()); deliver.setIsUpload(0); - proTaskInputDocMapper.insertSelective(deliver); + proTaskInputDocDao.insertSelective(deliver); } } }); @@ -1701,12 +1712,12 @@ public class ProTaskDetailService implements IProTaskDetailService { proTaskDeliver.setId(jiaoFuWu.getId()); proTaskDeliver.setName(jiaoFuWu.getNames()); proTaskDeliverExample.createCriteria().andIdEqualTo(jiaoFuWu.getId()).andRecStatusEqualTo((byte) 0); - proTaskInputDocMapper.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); + proTaskInputDocDao.updateByExampleSelective(proTaskDeliver,proTaskDeliverExample); }else if(jiaoFuWu.getId()==null && StringUtils.isNotBlank(jiaoFuWu.getNames())) { //新增 proTaskDeliver.setId(snowflake.nextId()); proTaskDeliver.setName(jiaoFuWu.getNames()); - proTaskInputDocMapper.insertSelective(proTaskDeliver); + proTaskInputDocDao.insertSelective(proTaskDeliver); } } } diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index 7c9e57d1..2959b3c9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -366,7 +366,7 @@ public class UserService implements IUserService { throw new BaseException(CodeEnum.PASSWORD_ERROR); } } else { - throw new BaseException(CodeEnum.NOT_ACCOUNT); + throw new BaseException(CodeEnum.PASSWORD_ERROR); } long end = System.currentTimeMillis(); log.info("查询并验证账号用时:{}",end - start); diff --git a/tall/src/main/resources/mapper_dao/DeliverDao.xml b/tall/src/main/resources/mapper_dao/DeliverDao.xml index acd9824d..f7aa0c79 100644 --- a/tall/src/main/resources/mapper_dao/DeliverDao.xml +++ b/tall/src/main/resources/mapper_dao/DeliverDao.xml @@ -290,4 +290,14 @@ d.task_detail_id = #{taskDetailId} and d.rec_status = 0 + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/ProTaskInputDocDao.xml b/tall/src/main/resources/mapper_dao/ProTaskInputDocDao.xml new file mode 100644 index 00000000..b716eeea --- /dev/null +++ b/tall/src/main/resources/mapper_dao/ProTaskInputDocDao.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index c3596d9b..9a3045f6 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -124,7 +124,7 @@ public enum CodeEnum { NICKNAME_REPEAT(102,"该名字已经存在,请换一个再试",true), NEW_PASSWORD_REPEAT_OLD(103,"新密码不能和旧密码相同",true), - PASSWORD_ERROR(104,"密码错误",true), + PASSWORD_ERROR(104,"账号或密码错误",true), NOT_ACCOUNT(105,"未找到该账号",true), FILE_NOT_FOUND(106,"未找到对应的文件,请检查后操作",true),