Browse Source

修改定期任务代码20210723

tall3
ma 4 years ago
parent
commit
70e00d2b67
  1. 4
      common/src/main/java/com/ccsens/common/bean/vo/TaskVo.java
  2. 85
      common/src/main/java/com/ccsens/common/service/TaskService.java
  3. 6
      common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

4
common/src/main/java/com/ccsens/common/bean/vo/TaskVo.java

@ -65,9 +65,9 @@ public class TaskVo {
@ApiModel("任务下的插件信息")
public static class TaskPluginInfo{
@ApiModelProperty("插件id")
private int pluginId;
private Long pluginId;
@ApiModelProperty("参数")
private int param;
private String param;
@ApiModelProperty("行")
private int row;
@ApiModelProperty("列")

85
common/src/main/java/com/ccsens/common/service/TaskService.java

@ -89,35 +89,83 @@ public class TaskService implements ITaskService{
*/
public void queryPluginForTask(List<TaskVo.QueryTask> taskList){
if (CollectionUtil.isNotEmpty(taskList)){
List<List<TaskVo.TaskPluginInfo>> plugins = new ArrayList<>();
for (TaskVo.QueryTask queryTask : taskList) {
List<List<TaskVo.TaskPluginInfo>> plugins = new ArrayList<>();
//如果任务面板信息不为空,则根据任务面板的行/列创建二维数组
if (ObjectUtil.isNotNull(queryTask.getPanel())){
int panelRow = queryTask.getPanel().getRow();
int panelCol = queryTask.getPanel().getCol();
//创建任务面板的二维数组
for (int i = 0; i < panelRow; i++) {
List<TaskVo.TaskPluginInfo> pluginInfoList = new ArrayList<>();
for (int j = 0; j < panelCol; j++) {
pluginInfoList.add(null);
}
plugins.add(pluginInfoList);
}
//将插件放入二维数组对应的位置中
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
for (TaskVo.TaskPluginInfo taskPlugin : taskPluginInfoList) {
int pluginCol = taskPlugin.getCol();
int pluginRow = taskPlugin.getRow();
plugins.get(pluginRow - 1).set(pluginCol-1,taskPlugin);
if (0 != panelRow && 0 != panelCol){
//创建任务面板的二维数组
createSecondPanel(plugins,panelRow,panelCol);
//将插件放入二维数组对应的位置中
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
putDateInList(taskPluginInfoList,plugins,queryTask);
}else{
//根据插件最大的行和列创建二维数组
createPanelByPlugin(queryTask.getDetailId(),plugins,queryTask);
}
}else {
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(queryTask.getDetailId());
plugins.add(taskPluginInfoList);
//根据插件最大的行和列创建二维数组
createPanelByPlugin(queryTask.getDetailId(),plugins,queryTask);
}
queryTask.setPlugins(plugins);
}
}
}
/**
* 根据插件的最大行列创建面板
* @param taskDetailId 任务详情id
* @param plugins 插件列表
* @param queryTask 任务
*/
public void createPanelByPlugin(Long taskDetailId,List<List<TaskVo.TaskPluginInfo>> plugins,TaskVo.QueryTask queryTask){
List<TaskVo.TaskPluginInfo> taskPluginInfoList = taskPluginDao.queryTaskOfPlugin(taskDetailId);
if (CollectionUtil.isNotEmpty(taskPluginInfoList)){
List<Integer> col = taskPluginInfoList.stream().map(TaskVo.TaskPluginInfo::getCol).collect(Collectors.toList());
List<Integer> row = taskPluginInfoList.stream().map(TaskVo.TaskPluginInfo::getRow).collect(Collectors.toList());
Integer newCol = Collections.max(col);
Integer newRow = Collections.max(row);
//创建任务面板的二维数组
createSecondPanel(plugins,newRow,newCol);
//将插件放入二维数组对应的位置中
putDateInList(taskPluginInfoList,plugins,queryTask);
}
}
/**
* 创建面板
* @param plugins 插件列表
* @param row
* @param col
*/
public void createSecondPanel(List<List<TaskVo.TaskPluginInfo>> plugins,int row,int col){
for (int i = 0; i < row; i++) {
List<TaskVo.TaskPluginInfo> pluginInfoList = new ArrayList<>();
for (int j = 0; j < col; j++) {
pluginInfoList.add(null);
}
plugins.add(pluginInfoList);
}
}
/**
* 向空面板里插入插件详情
* @param taskPluginInfoList 插件详情列表
* @param plugins 插件列表
* @param queryTask 任务
*/
public void putDateInList(List<TaskVo.TaskPluginInfo> taskPluginInfoList,List<List<TaskVo.TaskPluginInfo>> plugins,TaskVo.QueryTask queryTask){
for (TaskVo.TaskPluginInfo taskPlugin : taskPluginInfoList) {
int pluginCol = taskPlugin.getCol();
int pluginRow = taskPlugin.getRow();
if (0 == pluginCol || 0 == pluginRow) {
continue;
}
plugins.get(pluginRow - 1).set(pluginCol - 1, taskPlugin);
}
queryTask.setPlugins(plugins);
}
@Override
public List<TaskVo.QueryTask> queryPermanentGlobalTask(TaskDto.QueryPermanentGlobalTask param, Long userId) {
@ -186,6 +234,7 @@ public class TaskService implements ITaskService{
queryPluginForTask(replenishTask);
return replenishTask;
}
queryPluginForTask(regularTask);
return regularTask;
}

6
common/src/main/resources/mapper_dao/ProTaskDetailDao.xml

@ -66,7 +66,7 @@
AND rt.role_id = #{roleId}
</select>
<select id="queryGlobalTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="queryGlobalTask" resultMap="queryTask">
SELECT
alltask.*
FROM
@ -130,7 +130,7 @@
AND ll.`level` >= #{timeUnit}
</select>
<select id="queryRegularTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="queryRegularTask" resultMap="queryTask">
SELECT
alltask.*
FROM
@ -206,7 +206,7 @@
AND ll.`level` >= #{timeUnit}
</select>
<select id="continueQueryTask" resultType="com.ccsens.common.bean.vo.TaskVo$QueryTask">
<select id="continueQueryTask" resultMap="queryTask">
SELECT
alltask.*
FROM

Loading…
Cancel
Save