add:增加固化室前置与后置任务
This commit is contained in:
@@ -5,6 +5,7 @@ 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.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.dynamictp.common.util.StringUtil;
|
||||
@@ -38,6 +39,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -139,7 +143,7 @@ public class GHCMLTask extends AbstractTask {
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("暂存区域[" + task.getPoint_code1() + "]未找到所需点位!");
|
||||
}
|
||||
log.info("当前任务{}找到预计终点{}",task.getTask_id(),point.getPoint_code());
|
||||
log.info("当前任务{}找到预计终点{}", task.getTask_id(), point.getPoint_code());
|
||||
// 设置组盘 - 需要的话由子类自行实现
|
||||
task.setGroup_id(setGroupPlate(jsonObject));
|
||||
// 设置等待点并修改创建成功状态
|
||||
@@ -148,9 +152,26 @@ public class GHCMLTask extends AbstractTask {
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setRemark("");
|
||||
task.setRequest_param(JSONObject.toJSONString(jsonObject));
|
||||
List<SchBaseTask> qlTask = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code2, task.getPoint_code1())
|
||||
.eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getIs_delete,false)
|
||||
.ge(SchBaseTask::getCreate_time,
|
||||
LocalDateTime.now().toLocalDate().atStartOfDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
||||
)
|
||||
.eq(SchBaseTask::getVehicle_code, startPoint.getVehicle_code())
|
||||
.orderByDesc(SchBaseTask::getCreate_time)
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isEmpty(qlTask)) {
|
||||
throw new BadRequestException("创建失败,找不到[" + task.getPoint_code1() + "]完成的前置GHCQLTask任务!");
|
||||
}
|
||||
//更新绑定前置任务固化室点位 -> 固化室出口标识
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, qlTask.get(0).getTask_id())
|
||||
.set(SchBaseTask::getTask_group_id, task.getTask_id());
|
||||
taskService.update(updateWrapper);
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
taskService.save(task);
|
||||
|
||||
PointUtils.setUpdateByAcs(point);
|
||||
pointService.updateById(point);
|
||||
|
||||
|
||||
@@ -38,6 +38,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -94,24 +97,13 @@ public class GHCQLTask extends AbstractTask {
|
||||
if (ObjectUtils.isEmpty(ghsExitList)) {
|
||||
return;
|
||||
}
|
||||
//过滤未完成的固化室出库任务的点位
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.in(SchBaseTask::getPoint_code1, ghsExitList)
|
||||
.lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
);
|
||||
if (ObjectUtils.isNotEmpty(taskList)) {
|
||||
taskList.stream().map(SchBaseTask::getPoint_code1).forEach(ghsExitList::remove);
|
||||
}
|
||||
if (ObjectUtils.isEmpty(ghsExitList)) {
|
||||
return;
|
||||
}
|
||||
AbstractTask task = taskFactory.getTask(TASK_CONFIG_CODE);
|
||||
ghsExitList.forEach(point -> {
|
||||
ghsExitList.forEach(r -> {
|
||||
try {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("config_code", TASK_CONFIG_CODE);
|
||||
param.put("requestNo", "LMS" + IdUtil.simpleUUID());
|
||||
param.put("device_code", point);
|
||||
param.put("device_code", r);
|
||||
param.put("create_mode", GeneralDefinition.AUTO_CREATION);
|
||||
task.apply(param);
|
||||
} catch (Exception e) {
|
||||
@@ -130,6 +122,17 @@ public class GHCQLTask extends AbstractTask {
|
||||
|
||||
@Override
|
||||
protected void createCompletion(SchBaseTask task) {
|
||||
List<SchBaseTask> qlTask = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code2, task.getPoint_code2())
|
||||
.eq(SchBaseTask::getConfig_code,"GHCQLTask")
|
||||
.eq(SchBaseTask::getIs_delete,false)
|
||||
.eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
|
||||
.orderByDesc(SchBaseTask::getCreate_time).last("limit 1"));
|
||||
if (ObjectUtil.isNotEmpty(qlTask)) {
|
||||
if (qlTask.get(0).getTask_group_id() == null) {
|
||||
throw new BadRequestException("创建失败,任务号[" + qlTask.get(0).getTask_code() + "]找不到相关的后置任务GHCMLTask任务!");
|
||||
}
|
||||
}
|
||||
// 配置信息
|
||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||
@@ -160,7 +163,6 @@ public class GHCQLTask extends AbstractTask {
|
||||
task.setGroup_id(point.getGroup_id());
|
||||
task.setRemark("");
|
||||
taskService.save(task);
|
||||
|
||||
point.setIng_task_code(task.getTask_code());
|
||||
PointUtils.setUpdateByAcs(point);
|
||||
pointService.updateById(point);
|
||||
|
||||
@@ -6,7 +6,7 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:xftn_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:123456}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
v-model="query.task_code"
|
||||
clearable
|
||||
style="width: 180px"
|
||||
placeholder="任务号"
|
||||
placeholder="请输入任务号"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -26,16 +26,34 @@
|
||||
v-model="query.vehicle_code"
|
||||
clearable
|
||||
style="width: 180px"
|
||||
placeholder="载具号"
|
||||
placeholder="请输入载具号"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位编码">
|
||||
<el-form-item label="任务类型">
|
||||
<el-input
|
||||
v-model="query.point_code"
|
||||
v-model="query.config_code"
|
||||
clearable
|
||||
style="width: 180px"
|
||||
placeholder="起点"
|
||||
placeholder="请输入任务类型"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务起点">
|
||||
<el-input
|
||||
v-model="query.point_code1"
|
||||
clearable
|
||||
style="width: 180px"
|
||||
placeholder="请输入起点"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务终点">
|
||||
<el-input
|
||||
v-model="query.point_code2"
|
||||
clearable
|
||||
style="width: 180px"
|
||||
placeholder="请输入终点"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -85,7 +103,7 @@
|
||||
<el-form-item label="任务状态">
|
||||
<el-input v-model="form.task_status" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="配置编码">
|
||||
<el-form-item label="任务类型">
|
||||
<el-input v-model="form.config_code" style="width: 240px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="点位1">
|
||||
@@ -179,12 +197,12 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="提示信息" :min-width="flexWidth('remark',crud.data,'提示信息')" />
|
||||
<el-table-column prop="config_code" label="配置编码" :min-width="flexWidth('config_code',crud.data,'配置编码')" />
|
||||
<el-table-column prop="config_code" label="任务类型" :min-width="flexWidth('config_code',crud.data,'任务类型')" />
|
||||
<el-table-column prop="point_code1" label="起点" :min-width="flexWidth('point_code1',crud.data,'点位1')" />
|
||||
<el-table-column prop="point_code2" label="终点" :min-width="flexWidth('point_code2',crud.data,'点位2')" />
|
||||
<!-- <el-table-column prop="point_code3" label="起点2" :min-width="flexWidth('point_code3',crud.data,'点位3')" />-->
|
||||
<!-- <el-table-column prop="point_code4" label="终点2" :min-width="flexWidth('point_code4',crud.data,'点位4')" />-->
|
||||
<!-- <el-table-column prop="start_wait_point" label="取货等待点" :min-width="flexWidth('start_wait_point',crud.data,'取货等待点')" />-->
|
||||
<!-- <el-table-column prop="point_code3" label="起点2" :min-width="flexWidth('point_code3',crud.data,'点位3')" />-->
|
||||
<!-- <el-table-column prop="point_code4" label="终点2" :min-width="flexWidth('point_code4',crud.data,'点位4')" />-->
|
||||
<!-- <el-table-column prop="start_wait_point" label="取货等待点" :min-width="flexWidth('start_wait_point',crud.data,'取货等待点')" />-->
|
||||
<el-table-column prop="next_wait_point" label="放货等待点" :min-width="flexWidth('next_wait_point',crud.data,'放货等待点')" />
|
||||
<el-table-column prop="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 20)">
|
||||
<template slot-scope="scope">
|
||||
@@ -208,8 +226,8 @@
|
||||
{{ dict.label.create_mode[scope.row.create_mode] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="request_param" label="生成任务的请求参数" :min-width="100" show-overflow-tooltip/>
|
||||
<el-table-column prop="workshop_code" v-if="false" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
|
||||
<el-table-column prop="request_param" label="生成任务的请求参数" :min-width="100" show-overflow-tooltip />
|
||||
<el-table-column v-if="false" prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
|
||||
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
|
||||
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||
<el-table-column prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
|
||||
|
||||
Reference in New Issue
Block a user