代码更新

This commit is contained in:
ludj
2023-05-16 19:40:39 +08:00
parent 12fc701a56
commit 7a09c4aa27
5 changed files with 104 additions and 22 deletions

View File

@@ -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);
/** /**
* 任务申请 * 任务申请

View File

@@ -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);

View File

@@ -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、送空载具

View File

@@ -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;
}
}

View File

@@ -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: [