From 1b16ab6c4045dc3084db4baa4d3609809406d14f Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Jul 2021 11:05:56 +0800 Subject: [PATCH] =?UTF-8?q?20210729=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/common/bean/dto/CPluginDto.java | 6 +-- .../com/ccsens/common/bean/dto/CTaskDto.java | 11 +++++ .../ccsens/common/persist/dao/PluginDao.java | 9 ++++ .../common/persist/dao/ProTaskDetailDao.java | 2 +- .../common/persist/dao/ProTaskProcessDao.java | 3 +- .../ccsens/common/service/ITaskService.java | 6 +++ .../ccsens/common/service/PluginService.java | 14 ++++++- .../ccsens/common/service/TaskService.java | 41 ++++++++++++++++--- .../ccsens/common/util/CommonCodeError.java | 1 + .../main/resources/mapper_dao/PluginDao.xml | 15 +++++++ pom.xml | 2 +- 11 files changed, 97 insertions(+), 13 deletions(-) create mode 100644 common/src/main/java/com/ccsens/common/persist/dao/PluginDao.java create mode 100644 common/src/main/resources/mapper_dao/PluginDao.xml diff --git a/common/src/main/java/com/ccsens/common/bean/dto/CPluginDto.java b/common/src/main/java/com/ccsens/common/bean/dto/CPluginDto.java index d6bf08a0..207ba36d 100644 --- a/common/src/main/java/com/ccsens/common/bean/dto/CPluginDto.java +++ b/common/src/main/java/com/ccsens/common/bean/dto/CPluginDto.java @@ -29,9 +29,9 @@ public class CPluginDto { @NotNull(message = "任务详情id不能为空") @ApiModelProperty("任务详情id") private Long taskDetailId; - @NotNull(message = "插件id不能为空") - @ApiModelProperty("插件id") - private Long pluginId; + @NotNull(message = "插件名不能为空") + @ApiModelProperty("插件名") + private String pluginName; @ApiModelProperty("参数") private String param; @Min(1) diff --git a/common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java b/common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java index a9bc234e..309fffde 100644 --- a/common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java +++ b/common/src/main/java/com/ccsens/common/bean/dto/CTaskDto.java @@ -58,4 +58,15 @@ public class CTaskDto { private byte type; } + @Data + @ApiModel("修改任务状态") + public static class UpdateTaskProcess{ + @NotNull(message = "任务id不能为空") + @ApiModelProperty("任务详情id") + private Long detailId; + @ApiModelProperty("关联类型(0开始前,1开始时,2开始后,3结束前,4结束时,5结束后") + private byte type; + @ApiModelProperty("关联的绝对时间") + private Long timeDifference; + } } diff --git a/common/src/main/java/com/ccsens/common/persist/dao/PluginDao.java b/common/src/main/java/com/ccsens/common/persist/dao/PluginDao.java new file mode 100644 index 00000000..00ace468 --- /dev/null +++ b/common/src/main/java/com/ccsens/common/persist/dao/PluginDao.java @@ -0,0 +1,9 @@ +package com.ccsens.common.persist.dao; + +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +public interface PluginDao { + Long getPluginIdByName(@Param("pluginName") String pluginName); +} diff --git a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java index f7e73b2e..0eee51f2 100644 --- a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java +++ b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskDetailDao.java @@ -40,7 +40,7 @@ public interface ProTaskDetailDao extends ProTaskDetailMapper { * @param timeFormat 时间格式 * @return 定期任务列表 */ - List queryRegularTask(@Param("roleId") List roleIdList, @Param("timeUnit") int timeUnit, @Param("timeNode") Long timeNode + List queryRegularTask(@Param("roleIdList") List roleIdList, @Param("timeUnit") int timeUnit, @Param("timeNode") Long timeNode , @Param("queryType") int queryType, @Param("query") String query, @Param("timeFormat") String timeFormat); /** diff --git a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskProcessDao.java b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskProcessDao.java index cd75ea99..1a3dc507 100644 --- a/common/src/main/java/com/ccsens/common/persist/dao/ProTaskProcessDao.java +++ b/common/src/main/java/com/ccsens/common/persist/dao/ProTaskProcessDao.java @@ -1,6 +1,7 @@ package com.ccsens.common.persist.dao; import com.ccsens.common.bean.po.ProTaskProcess; +import com.ccsens.common.persist.mapper.ProTaskProcessMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -10,7 +11,7 @@ import java.util.List; * @author AUSU */ @Repository -public interface ProTaskProcessDao { +public interface ProTaskProcessDao extends ProTaskProcessMapper { /** * 根据任务id列表查询所有上下道工序 diff --git a/common/src/main/java/com/ccsens/common/service/ITaskService.java b/common/src/main/java/com/ccsens/common/service/ITaskService.java index c8f194c5..9e3015bc 100644 --- a/common/src/main/java/com/ccsens/common/service/ITaskService.java +++ b/common/src/main/java/com/ccsens/common/service/ITaskService.java @@ -41,4 +41,10 @@ public interface ITaskService { void updateTaskType(CTaskDto.UpdateTaskType param, Long userId) throws Exception; void updateTaskStartTime(Long taskSubId,Byte statusOfUpdate); + + /** + * 添加任务上下工序 + * @param updateTaskProcesses 任务信息 + */ + void updateTaskStartTime(List updateTaskProcesses); } diff --git a/common/src/main/java/com/ccsens/common/service/PluginService.java b/common/src/main/java/com/ccsens/common/service/PluginService.java index 479ceab9..eabb34f1 100644 --- a/common/src/main/java/com/ccsens/common/service/PluginService.java +++ b/common/src/main/java/com/ccsens/common/service/PluginService.java @@ -7,7 +7,10 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.common.bean.dto.CPluginDto; import com.ccsens.common.bean.po.ProTaskPlugin; import com.ccsens.common.bean.po.ProTaskPluginExample; +import com.ccsens.common.persist.dao.PluginDao; import com.ccsens.common.persist.dao.ProTaskPluginDao; +import com.ccsens.common.util.CommonCodeError; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -24,13 +27,20 @@ public class PluginService implements IPluginService{ private ProTaskPluginDao proTaskPluginDao; @Resource private Snowflake snowflake; + @Resource + private PluginDao pluginDao; @Override public void updateTaskPlugin(CPluginDto.UpdateTaskPlugin updateTaskPlugin) { + //查询插件信息 + Long pluginId = pluginDao.getPluginIdByName(updateTaskPlugin.getPluginName()); + if(ObjectUtil.isNull(pluginId)){ + throw new BaseException(CommonCodeError.PLUGIN_NAME_ERROR); + } //根据任务id和插件id查找以前的关联信息 ProTaskPluginExample taskPluginExample = new ProTaskPluginExample(); taskPluginExample.createCriteria().andTaskDetailIdEqualTo(updateTaskPlugin.getTaskDetailId()) - .andPluginIdEqualTo(updateTaskPlugin.getPluginId()); + .andPluginIdEqualTo(pluginId); List proTaskPlugins = proTaskPluginDao.selectByExample(taskPluginExample); if(CollectionUtil.isNotEmpty(proTaskPlugins)){ //有则修改 @@ -56,7 +66,7 @@ public class PluginService implements IPluginService{ ProTaskPlugin proTaskPlugin = new ProTaskPlugin(); proTaskPlugin.setId(snowflake.nextId()); proTaskPlugin.setTaskDetailId(updateTaskPlugin.getTaskDetailId()); - proTaskPlugin.setPluginId(updateTaskPlugin.getPluginId()); + proTaskPlugin.setPluginId(pluginId); proTaskPlugin.setPlginRow(updateTaskPlugin.getRow()); proTaskPlugin.setPlginCol(updateTaskPlugin.getCol()); proTaskPlugin.setRowspan(updateTaskPlugin.getRowspan()); diff --git a/common/src/main/java/com/ccsens/common/service/TaskService.java b/common/src/main/java/com/ccsens/common/service/TaskService.java index 8a30d258..0557ab52 100644 --- a/common/src/main/java/com/ccsens/common/service/TaskService.java +++ b/common/src/main/java/com/ccsens/common/service/TaskService.java @@ -6,10 +6,7 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.ObjectUtil; import com.ccsens.common.bean.dto.CTaskDto; import com.ccsens.common.bean.message.TaskMessageWithStatus; -import com.ccsens.common.bean.po.ProRole; -import com.ccsens.common.bean.po.ProTaskProcess; -import com.ccsens.common.bean.po.ProTaskStatusRecord; -import com.ccsens.common.bean.po.ProTaskSub; +import com.ccsens.common.bean.po.*; import com.ccsens.common.bean.vo.CRoleVo; import com.ccsens.common.bean.vo.CTaskVo; import com.ccsens.common.persist.dao.*; @@ -536,4 +533,38 @@ public class TaskService implements ITaskService { } } -} + + @Override + public void updateTaskStartTime(List updateTaskProcesses) { + if(CollectionUtil.isNotEmpty(updateTaskProcesses) && updateTaskProcesses.size() > 1){ + Long task1; + Long task2; + for (int i = 1; i < updateTaskProcesses.size(); i++) { + task1 = updateTaskProcesses.get(i - 1).getDetailId(); + CTaskDto.UpdateTaskProcess taskProcess = updateTaskProcesses.get(i); + task2 = taskProcess.getDetailId(); + //查找任务之前的上到工序信息,有就替换,没有添加 + ProTaskProcessExample proTaskProcessExample = new ProTaskProcessExample(); + proTaskProcessExample.createCriteria().andNextTaskDetailIdEqualTo(task2); + List proTaskProcesses = taskProcessDao.selectByExample(proTaskProcessExample); + if(CollectionUtil.isNotEmpty(proTaskProcesses)){ + for (ProTaskProcess process : proTaskProcesses){ + process.setTaskDetailId(task1); + process.setProcessType(taskProcess.getType()); + process.setNextTaskDetailId(taskProcess.getTimeDifference()); + taskProcessDao.updateByPrimaryKeySelective(process); + } + }else { + ProTaskProcess proTaskProcess = new ProTaskProcess(); + proTaskProcess.setId(snowflake.nextId()); + proTaskProcess.setTaskDetailId(task1); + proTaskProcess.setNextTaskDetailId(task2); + proTaskProcess.setProcessType(taskProcess.getType()); + proTaskProcess.setNextTaskDetailId(taskProcess.getTimeDifference()); + taskProcessDao.insertSelective(proTaskProcess); + } + } + } + } + +} \ No newline at end of file diff --git a/common/src/main/java/com/ccsens/common/util/CommonCodeError.java b/common/src/main/java/com/ccsens/common/util/CommonCodeError.java index 94e3f11f..16ada100 100644 --- a/common/src/main/java/com/ccsens/common/util/CommonCodeError.java +++ b/common/src/main/java/com/ccsens/common/util/CommonCodeError.java @@ -14,5 +14,6 @@ public class CommonCodeError extends CodeError { public static final Code OPERATION_ERROR = new Code(5,"请选择正确的操作!", true); public static final Code PROJECT_NOT_FOUND = new Code(6,"项目不存在,请检查后再试!", true); public static final Code TASK_SUB_NOT_FOUND = new Code(6,"分解任务不存在,请检查后再试!", true); + public static final Code PLUGIN_NAME_ERROR = new Code(7,"请选择正确的插件", true); } diff --git a/common/src/main/resources/mapper_dao/PluginDao.xml b/common/src/main/resources/mapper_dao/PluginDao.xml new file mode 100644 index 00000000..395c0231 --- /dev/null +++ b/common/src/main/resources/mapper_dao/PluginDao.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index f44ad966..56c929ea 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ cloudutil util tall - recovery +