代码更新
This commit is contained in:
@@ -50,12 +50,21 @@ public interface ISchBaseTaskService extends IService<SchBaseTask> {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据任务配置查询为完成的任务数
|
* 根据任务配置查询为完成的列表
|
||||||
*
|
*
|
||||||
* @param config_code 任务配置编码
|
* @param config_code 任务配置编码
|
||||||
* @return 未完成任务列表
|
* @return 未完成任务列表
|
||||||
*/
|
*/
|
||||||
List<SchBaseTask> findUnFishedTasksByTaskConfig(String config_code);
|
List<SchBaseTask> findUnFinishTasksByTaskConfig(String config_code);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据任务配置查询为完成的列表
|
||||||
|
*
|
||||||
|
* @param config_code 任务配置编码
|
||||||
|
* @param task_code 当前任务
|
||||||
|
* @return 未完成任务列表
|
||||||
|
*/
|
||||||
|
List<SchBaseTask> findUnFinishTasksByTaskConfig(String config_code, String task_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务申请
|
* 任务申请
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package org.nl.wms.sch.task.service.impl;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@@ -16,8 +15,10 @@ import org.nl.common.utils.SecurityUtils;
|
|||||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper;
|
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper;
|
||||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper;
|
||||||
import org.nl.wms.sch.task_manage.BaseTask;
|
import org.nl.wms.sch.task_manage.BaseTask;
|
||||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -36,6 +37,8 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SchBaseTaskMapper schBaseTaskMapper;
|
private SchBaseTaskMapper schBaseTaskMapper;
|
||||||
|
@Autowired
|
||||||
|
private SchBaseTaskconfigMapper schBaseTaskconfigMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SchBaseTask> queryAll(Map whereJson, PageQuery page) {
|
public IPage<SchBaseTask> queryAll(Map whereJson, PageQuery page) {
|
||||||
@@ -46,7 +49,6 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(SchBaseTask entity) {
|
public void update(SchBaseTask entity) {
|
||||||
SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_code());
|
SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_code());
|
||||||
@@ -69,8 +71,26 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SchBaseTask> findUnFishedTasksByTaskConfig(String config_code) {
|
public List<SchBaseTask> findUnFinishTasksByTaskConfig(String config_code) {
|
||||||
return null;
|
Assert.notNull(config_code, "任务配置编码不能为空!");
|
||||||
|
LambdaQueryWrapper<SchBaseTask> lam = new LambdaQueryWrapper<>();
|
||||||
|
lam.eq(SchBaseTask::getConfig_code, config_code)
|
||||||
|
.ne(SchBaseTask::getIs_delete, true)
|
||||||
|
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode());
|
||||||
|
List<SchBaseTask> schBaseTasks = schBaseTaskMapper.selectList(lam);
|
||||||
|
return schBaseTasks;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchBaseTask> findUnFinishTasksByTaskConfig(String config_code, String task_code) {
|
||||||
|
Assert.notNull(config_code, "任务配置编码不能为空!");
|
||||||
|
LambdaQueryWrapper<SchBaseTask> lam = new LambdaQueryWrapper<>();
|
||||||
|
lam.eq(SchBaseTask::getConfig_code, config_code)
|
||||||
|
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||||
|
.ne(SchBaseTask::getTask_code, task_code)
|
||||||
|
.ne(SchBaseTask::getIs_delete, true);
|
||||||
|
List<SchBaseTask> schBaseTasks = schBaseTaskMapper.selectList(lam);
|
||||||
|
return schBaseTasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -79,7 +99,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
String nickName = SecurityUtils.getCurrentNickName();
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
// if (ObjectUtil.isEmpty(entity.getTask_status())) throw new BadRequestException("任务状态不能为空!");
|
// if (ObjectUtil.isEmpty(entity.getTask_status())) throw new BadRequestException("任务状态不能为空!");
|
||||||
Assert.notNull(entity.getTask_status(),"任务状态不能为空!");
|
Assert.notNull(entity.getTask_status(), "任务状态不能为空!");
|
||||||
|
|
||||||
entity.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr());
|
entity.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||||
entity.setCreate_id(currentUserId);
|
entity.setCreate_id(currentUserId);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.wms.sch.task_manage;
|
package org.nl.wms.sch.task_manage;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.nl.config.SpringContextHolder;
|
import org.nl.config.SpringContextHolder;
|
||||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
@@ -7,8 +8,11 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
|||||||
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||||
import org.nl.wms.sch.task.service.impl.SchBaseTaskServiceImpl;
|
import org.nl.wms.sch.task.service.impl.SchBaseTaskServiceImpl;
|
||||||
import org.nl.wms.sch.task.service.impl.SchBaseTaskconfigServiceImpl;
|
import org.nl.wms.sch.task.service.impl.SchBaseTaskconfigServiceImpl;
|
||||||
|
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ldjun
|
* @author ldjun
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
@@ -21,21 +25,26 @@ public abstract class BaseTask {
|
|||||||
private ISchBaseTaskService taskService;
|
private ISchBaseTaskService taskService;
|
||||||
|
|
||||||
public void apply(JSONObject param) {
|
public void apply(JSONObject param) {
|
||||||
|
String point_code = "";
|
||||||
|
String config_code = "d";
|
||||||
//1、校验数据
|
//1、校验数据
|
||||||
SchBaseTaskconfig taskConfig = SpringContextHolder.getBean(SchBaseTaskconfigServiceImpl.class).getById(null);
|
SchBaseTaskconfig taskConfig = SpringContextHolder.getBean(SchBaseTaskconfigServiceImpl.class).getById(config_code);
|
||||||
Integer tcmn = taskConfig.getTask_create_max_num();
|
Integer tcmn = taskConfig.getTask_create_max_num();
|
||||||
|
|
||||||
SpringContextHolder.getBean(SchBaseTaskServiceImpl.class);
|
SchBaseTaskServiceImpl taskService = SpringContextHolder.getBean(SchBaseTaskServiceImpl.class);
|
||||||
|
List<SchBaseTask> unFinishTasksByTaskConfig = taskService.findUnFinishTasksByTaskConfig(taskConfig.getConfig_code());
|
||||||
|
|
||||||
|
Assert.isFalse(unFinishTasksByTaskConfig.size() > tcmn, "该点位{}申请的任务未完成数已超过上限,无法申请任务", point_code);
|
||||||
|
|
||||||
|
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setAcs_trace_id("");
|
task.setAcs_trace_id("");
|
||||||
task.setConfig_code("");
|
task.setConfig_code(config_code);
|
||||||
task.setCreate_id("");
|
task.setCreate_id("");
|
||||||
task.setCreate_mode("");
|
task.setCreate_mode("");
|
||||||
task.setPoint_code1("");
|
task.setPoint_code1("");
|
||||||
task.setVehicle_code("");
|
task.setVehicle_code("");
|
||||||
// task.setTask_status("01");
|
task.setTask_status(TaskStatus.APPLY.getCode());
|
||||||
SpringContextHolder.getBean(SchBaseTaskServiceImpl.class).create(task);
|
SpringContextHolder.getBean(SchBaseTaskServiceImpl.class).create(task);
|
||||||
//1、如果是送料,检测载具状态
|
//1、如果是送料,检测载具状态
|
||||||
//2、送空载具
|
//2、送空载具
|
||||||
|
|||||||
@@ -1 +1,45 @@
|
|||||||
package org.nl.wms.sch.task_manage.task.core;
|
package org.nl.wms.sch.task_manage.task.core;
|
||||||
|
|
||||||
|
public enum TaskStatus {
|
||||||
|
APPLY("1", "申请", "申请"),
|
||||||
|
CREATED("2", "创建完成", "创建完成"),
|
||||||
|
ISSUED("3", "下发", "下发"),
|
||||||
|
EXECUTING("4", "执行中", "执行中"),
|
||||||
|
FINISHED("5", "完成", "执行中"),
|
||||||
|
CANCELED("6", "已取消", "已取消");
|
||||||
|
|
||||||
|
|
||||||
|
TaskStatus(String code, String name, String desc) {
|
||||||
|
this.code = code;
|
||||||
|
this.name = name;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDesc(String desc) {
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -90,9 +90,9 @@
|
|||||||
style="width: 240px;"
|
style="width: 240px;"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务生成数上限" prop="task_create_num">
|
<el-form-item label="任务生成数上限" prop="task_create_max_num">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model.number="form.task_create_num"
|
v-model.number="form.task_create_max_num"
|
||||||
:min="1"
|
:min="1"
|
||||||
:max="999"
|
:max="999"
|
||||||
style="width: 240px;"
|
style="width: 240px;"
|
||||||
@@ -104,9 +104,9 @@
|
|||||||
<el-radio :label="false">否</el-radio>
|
<el-radio :label="false">否</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务下发数上限" prop="task_issue_num">
|
<el-form-item label="任务下发数上限" prop="task_issue_max_num">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
v-model.number="form.task_issue_num"
|
v-model.number="form.task_issue_max_num"
|
||||||
:min="1"
|
:min="1"
|
||||||
:max="999"
|
:max="999"
|
||||||
style="width: 240px;"
|
style="width: 240px;"
|
||||||
@@ -240,8 +240,8 @@
|
|||||||
<el-table-column prop="task_name" label="任务名字" :min-width="flexWidth('task_name',crud.data,'任务名字')" />
|
<el-table-column prop="task_name" label="任务名字" :min-width="flexWidth('task_name',crud.data,'任务名字')" />
|
||||||
<el-table-column prop="task_type" label="任务类型" :min-width="flexWidth('task_type',crud.data,'任务类型')" />
|
<el-table-column prop="task_type" label="任务类型" :min-width="flexWidth('task_type',crud.data,'任务类型')" />
|
||||||
<el-table-column prop="priority" label="优先级" :min-width="flexWidth('priority',crud.data,'优先级')" />
|
<el-table-column prop="priority" label="优先级" :min-width="flexWidth('priority',crud.data,'优先级')" />
|
||||||
<el-table-column prop="task_create_num" label="任务生成数上限" :min-width="flexWidth('task_create_num',crud.data,'任务生成数上限')" />
|
<el-table-column prop="task_create_max_num" label="任务生成数上限" :min-width="flexWidth('task_create_max_num',crud.data,'任务生成数上限')" />
|
||||||
<el-table-column prop="task_issue_num" label="任务下发数上限" :min-width="flexWidth('task_issue_num',crud.data,'任务下发数上限')" />
|
<el-table-column prop="task_issue_max_num" label="任务下发数上限" :min-width="flexWidth('task_issue_max_num',crud.data,'任务下发数上限')" />
|
||||||
<el-table-column prop="is_auto_issue" label="是否自动下发" :min-width="flexWidth('is_auto_issue',crud.data,'是否自动下发')">
|
<el-table-column prop="is_auto_issue" label="是否自动下发" :min-width="flexWidth('is_auto_issue',crud.data,'是否自动下发')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.is_auto_issue?'是':'否' }}
|
{{ scope.row.is_auto_issue?'是':'否' }}
|
||||||
@@ -348,8 +348,8 @@ const defaultForm = {
|
|||||||
task_name: null,
|
task_name: null,
|
||||||
task_type: null,
|
task_type: null,
|
||||||
priority: null,
|
priority: null,
|
||||||
task_create_num: null,
|
task_create_max_num: null,
|
||||||
task_issue_num: null,
|
task_issue_max_num: null,
|
||||||
is_auto_issue: true,
|
is_auto_issue: true,
|
||||||
start_region_str: null,
|
start_region_str: null,
|
||||||
next_region_str: null,
|
next_region_str: null,
|
||||||
@@ -407,10 +407,10 @@ export default {
|
|||||||
acs_task_type: [
|
acs_task_type: [
|
||||||
{ required: true, message: '请输入acs类型', trigger: 'blur' }
|
{ required: true, message: '请输入acs类型', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
task_create_num: [
|
task_create_max_num: [
|
||||||
{ required: true, message: '请输入最大任务生成数', trigger: 'blur' }
|
{ required: true, message: '请输入最大任务生成数', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
task_issue_num: [
|
task_issue_max_num: [
|
||||||
{ required: true, message: '请输入最大任务下发数', trigger: 'blur' }
|
{ required: true, message: '请输入最大任务下发数', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
unfinish_notify_time: [
|
unfinish_notify_time: [
|
||||||
|
|||||||
Reference in New Issue
Block a user