代码更新

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 任务配置编码
* @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.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.dao.mapper.SchBaseTaskMapper;
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.task.TaskFactory;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -36,6 +37,8 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
@Autowired
private SchBaseTaskMapper schBaseTaskMapper;
@Autowired
private SchBaseTaskconfigMapper schBaseTaskconfigMapper;
@Override
public IPage<SchBaseTask> queryAll(Map whereJson, PageQuery page) {
@@ -46,7 +49,6 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
}
@Override
public void update(SchBaseTask entity) {
SchBaseTask dto = schBaseTaskMapper.selectById(entity.getTask_code());
@@ -69,8 +71,26 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
}
@Override
public List<SchBaseTask> findUnFishedTasksByTaskConfig(String config_code) {
return null;
public List<SchBaseTask> findUnFinishTasksByTaskConfig(String config_code) {
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
@@ -79,7 +99,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
// 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.setCreate_id(currentUserId);

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.task_manage;
import cn.hutool.core.lang.Assert;
import com.alibaba.fastjson.JSONObject;
import org.nl.config.SpringContextHolder;
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.impl.SchBaseTaskServiceImpl;
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 java.util.List;
/**
* @author ldjun
* @version 1.0
@@ -21,21 +25,26 @@ public abstract class BaseTask {
private ISchBaseTaskService taskService;
public void apply(JSONObject param) {
String point_code = "";
String config_code = "d";
//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();
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();
task.setAcs_trace_id("");
task.setConfig_code("");
task.setConfig_code(config_code);
task.setCreate_id("");
task.setCreate_mode("");
task.setPoint_code1("");
task.setVehicle_code("");
// task.setTask_status("01");
task.setTask_status(TaskStatus.APPLY.getCode());
SpringContextHolder.getBean(SchBaseTaskServiceImpl.class).create(task);
//1、如果是送料检测载具状态
//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;
}
}