Merge commit 'd5ea6fad1daf9b38262c57ec69eeb915ad1f06ae' into master_merge
This commit is contained in:
@@ -57,6 +57,8 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
/*
|
||||
* 下发给ACS时需要特殊处理
|
||||
*/
|
||||
//任务表
|
||||
WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0);
|
||||
|
||||
// 查询木箱信息
|
||||
@@ -107,6 +109,11 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
.interaction_json(interaction_json)
|
||||
.build();
|
||||
resultList.add(dto);
|
||||
|
||||
// 更新任务为下发
|
||||
JSONObject paramMap = new JSONObject();
|
||||
paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'");
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
package org.nl.b_lms.sch.tasks;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.impl.StIvtIostorinvOutServiceImpl;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.LashManageServiceImpl;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 堆垛机点位至行架点位任务(出库)
|
||||
* Created by Lxy on 2021/12/22.
|
||||
*/
|
||||
@Service
|
||||
public class TwoOutHeapTask extends AbstractAcsTask {
|
||||
private final String THIS_CLASS = TwoOutHeapTask.class.getName();
|
||||
|
||||
@Override
|
||||
public List<AcsTaskDto> addTask() {
|
||||
/*
|
||||
* 下发给ACS时需要特殊处理
|
||||
*/
|
||||
//任务表
|
||||
WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
|
||||
|
||||
JSONArray taskArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0);
|
||||
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < taskArr.size(); i++) {
|
||||
JSONObject json = taskArr.getJSONObject(i);
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
.ext_task_id(json.getString("task_id"))
|
||||
.task_code(json.getString("task_code"))
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
.dtl_type(String.valueOf(dtl_type))
|
||||
.remark(json.getString("remark"))
|
||||
.build();
|
||||
resultList.add(dto);
|
||||
|
||||
// 更新任务为下发
|
||||
JSONObject paramMap = new JSONObject();
|
||||
paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'");
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表
|
||||
|
||||
String task_id = taskObj.getString("task_id");
|
||||
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(jsonTask)) {
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
// 任务为执行之后就不允许取消
|
||||
if (jsonTask.getIntValue("task_status") > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
|
||||
throw new BadRequestException("任务:" + jsonTask.getString("task_code") + "已执行,不可取消");
|
||||
}
|
||||
|
||||
// 更新删除字段
|
||||
jsonTask.put("is_delete", "1");
|
||||
jsonTask.put("update_time", DateUtil.now());
|
||||
taskTab.update(jsonTask);
|
||||
}
|
||||
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
jsonTask.put("update_time", DateUtil.now());
|
||||
taskTab.update(jsonTask);
|
||||
|
||||
}
|
||||
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
// 更新任务完成
|
||||
jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
jsonTask.put("update_time", DateUtil.now());
|
||||
taskTab.update(jsonTask);
|
||||
|
||||
// 下发桁架任务:捆扎
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("device_code",jsonTask.getString("point_code2"));
|
||||
jsonParam.put("vehicle_code",jsonTask.getString("vehicle_code"));
|
||||
|
||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||
bean1.createLashTask(jsonParam);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findStartPoint() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void findNextPoint() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createTask(JSONObject form) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
||||
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("vehicle_type", form.getString("vehicle_type"));
|
||||
json.put("task_name", form.getString("task_name"));
|
||||
json.put("point_code1", form.getString("point_code1"));
|
||||
json.put("point_code2", form.getString("point_code2"));
|
||||
json.put("material_id", form.getString("material_id"));
|
||||
json.put("task_group_id", form.getString("task_group_id"));
|
||||
json.put("is_auto_issue", form.getString("is_auto_issue"));
|
||||
json.put("table_fk", form.getString("table_fk"));
|
||||
json.put("request_param", form.getString("request_param"));
|
||||
json.put("sort_seq", form.getIntValue("sort_seq"));
|
||||
|
||||
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
json.put("handle_class", THIS_CLASS);
|
||||
json.put("create_id", currentUserId);
|
||||
json.put("create_name", currentUsername);
|
||||
json.put("create_time", DateUtil.now());
|
||||
json.put("acs_task_type", "7");
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
|
||||
|
||||
return json.getString("task_id");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void forceFinish(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel(String task_id) {
|
||||
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
||||
this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("否"));
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -49,18 +50,44 @@ public class TwoOutTask extends AbstractAcsTask {
|
||||
map.put("flag", "1");
|
||||
map.put("handle_class", THIS_CLASS);
|
||||
|
||||
// 未下发的出库任务
|
||||
List<JSONObject> arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' order by sort_seq")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 根据任务组分组
|
||||
// 未下发的任务根据任务组进行分组
|
||||
Map<String, List<JSONObject>> groupMap = arr.stream()
|
||||
.collect(Collectors.groupingBy(row -> row.getString("task_group_id")));
|
||||
|
||||
// 需要下发的集合
|
||||
List<JSONObject> taskArr = new ArrayList<>();
|
||||
|
||||
// 用于判断下发几个任务组
|
||||
int flag = 2;
|
||||
|
||||
// 判断当前正在执行或者下发的任务有几种规格:根据任务组进行判断,同一任务组代表同一木箱规格
|
||||
List<JSONObject> likeAllArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete = '0' " )
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
Map<String, List<JSONObject>> likeArr = likeAllArr.stream()
|
||||
.collect(Collectors.groupingBy(row -> row.getString("task_group_id")));
|
||||
|
||||
// 判断长度
|
||||
if (likeArr.size() >= 2) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (likeArr.size() == 1) {
|
||||
flag = 1;
|
||||
}
|
||||
|
||||
// 组织需要下发的任务
|
||||
for(String task_group_id : groupMap.keySet()) {
|
||||
taskArr = groupMap.get(task_group_id);
|
||||
continue;
|
||||
taskArr.addAll(groupMap.get(task_group_id));
|
||||
flag -= 1;
|
||||
|
||||
if (flag == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||
@@ -104,7 +131,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
||||
if (ObjectUtil.isNotEmpty(jsonTask)) {
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
// 任务为执行之后就不允许取消
|
||||
if (jsonTask.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) {
|
||||
if (jsonTask.getIntValue("task_status") > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
|
||||
throw new BadRequestException("任务:" + jsonTask.getString("task_code") + "已执行,不可取消");
|
||||
}
|
||||
|
||||
@@ -139,13 +166,14 @@ public class TwoOutTask extends AbstractAcsTask {
|
||||
JSONArray resultJSONArray = taskTab.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
// 下发桁架任务:捆扎
|
||||
// 下发堆垛机至行架任务(2个行架位)
|
||||
JSONObject jsonParam = new JSONObject();
|
||||
jsonParam.put("device_code",jsonTask.getString("point_code2"));
|
||||
jsonParam.put("vehicle_code",jsonTask.getString("vehicle_code"));
|
||||
jsonParam.put("vehicle_type",jsonTask.getString("vehicle_type"));
|
||||
|
||||
LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class);
|
||||
bean1.createLashTask(jsonParam);
|
||||
bean1.createHeapTask(jsonParam);
|
||||
|
||||
if (ObjectUtil.isEmpty(resultJSONArray)) {
|
||||
this.immediateNotifyAcs(null);
|
||||
@@ -177,6 +205,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("vehicle_type", form.getString("vehicle_type"));
|
||||
json.put("task_name", form.getString("task_name"));
|
||||
json.put("point_code1", form.getString("point_code1"));
|
||||
json.put("point_code2", form.getString("point_code2"));
|
||||
|
||||
@@ -96,8 +96,12 @@ public enum IOSEnum {
|
||||
// 区域
|
||||
PRODUCT_AREA(MapOf.of("BLK", "BLK")),
|
||||
|
||||
// 出库口点位
|
||||
OUT_POINT(MapOf.of("出库口1", "CK2026","出库口2", "CK2027")),
|
||||
// 出库堆垛机点位
|
||||
OUT_POINT(MapOf.of("1","CK2036", "2","CK2038", "3","CK2040", "4","CK2042" ,"5","CK2044",
|
||||
"6","CK2046", "7","7", "8","8", "9","9", "10","10")),
|
||||
|
||||
// 行架点位
|
||||
OUT_HANGER(MapOf.of("行架位1", "CK2026","行架位2", "CK2027")),
|
||||
|
||||
//acs申请任务
|
||||
ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1","空盘入库","2","空盘出库","3","异常处理位","4","木箱入库","5","退货入库","6","贴标","1","捆扎","2")),
|
||||
|
||||
@@ -1221,32 +1221,16 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
String start_device_code = "";
|
||||
// 是否自动下发
|
||||
String is_auto_issue = IOSEnum.IS_SEND.code("是");
|
||||
// 终点
|
||||
String end_device_code = "";
|
||||
// 是否自动分配终点
|
||||
boolean is_auto_div_point = false;
|
||||
// 取绝对值
|
||||
int abs = Math.abs(taskMangeList.size() / 2);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(point_code)) {
|
||||
end_device_code = point_code;
|
||||
} else {
|
||||
is_auto_div_point = true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < taskMangeList.size(); i++) {
|
||||
// 确定终点
|
||||
if (is_auto_div_point) {
|
||||
if (abs > i) {
|
||||
end_device_code = IOSEnum.OUT_POINT.code("出库口1");
|
||||
} else {
|
||||
end_device_code = IOSEnum.OUT_POINT.code("出库口2");
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject json = taskMangeList.get(i);
|
||||
|
||||
// 确定起点
|
||||
start_device_code = json.getString("struct_code");
|
||||
|
||||
// 确定终点: 根据仓位所在排确定终点
|
||||
String end_device_code = IsEndCode(json);
|
||||
|
||||
// 过滤此仓位的分配明细
|
||||
List<StIvtIostorinvdis> disDaoList = disLikeList.stream()
|
||||
.filter(row -> row.getString("struct_code").equals(json.getString("struct_code")))
|
||||
@@ -1292,6 +1276,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
jsonTaskParam.put("point_code1", start_device_code);
|
||||
jsonTaskParam.put("point_code2", end_device_code);
|
||||
jsonTaskParam.put("vehicle_code", json.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("vehicle_type", json.getString("storagevehicle_type"));
|
||||
if (ObjectUtil.isNotEmpty(jsonExt)) {
|
||||
jsonTaskParam.put("vehicle_code2", jsonExt.getString("storagevehicle_code"));
|
||||
}
|
||||
@@ -1313,12 +1298,16 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
} else {
|
||||
jsonTaskParam.put("sort_seq", Integer.parseInt(IOSEnum.ZDEPTH_STRUCT.code("深")));
|
||||
}
|
||||
jsonTaskParam.put("request_param", jsonTaskParam);
|
||||
|
||||
TwoOutTask twoOutTask = new TwoOutTask();
|
||||
String task_id = twoOutTask.createTask(jsonTaskParam);
|
||||
|
||||
// 更新分配明细
|
||||
JSONObject jsonPoint = schBasePointService.query("point_code = '" + end_device_code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonPoint)) {
|
||||
throw new BadRequestException("出库点位不存在:"+end_device_code);
|
||||
}
|
||||
|
||||
disDaoList.forEach(row -> {
|
||||
row.setWork_status(IOSEnum.WORK_STATUS.code("生成"));
|
||||
@@ -1329,6 +1318,15 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 确定终点:根据仓位所在排确定终点
|
||||
* @param structDao:仓位对象
|
||||
* @return 终点
|
||||
*/
|
||||
private String IsEndCode(JSONObject structDao) {
|
||||
return IOSEnum.OUT_POINT.code(structDao.getString("row_num"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新异常货位
|
||||
* @param disDaoList:所有分配明细集合
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.nl.b_lms.sch.point.dao.SchBasePoint;
|
||||
import org.nl.b_lms.sch.point.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.b_lms.sch.point.service.IschBasePointService;
|
||||
import org.nl.b_lms.sch.tasks.TwoLashTask;
|
||||
import org.nl.b_lms.sch.tasks.TwoOutHeapTask;
|
||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||
@@ -20,13 +21,14 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManage
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -189,6 +191,41 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
twoLashTask.immediateNotifyAcs(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createHeapTask(JSONObject whereJson) {
|
||||
// 比较两行架点位的任务个数
|
||||
List<JSONObject> executeArr = WQLObject.getWQLObject("SCH_BASE_Task")
|
||||
.query("handle_class = '" + TwoOutHeapTask.class.getName() + "' and task_status IN ('05','06') and is_delete = '0' " )
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
// 根据终点点位进行分组
|
||||
Map<String, List<JSONObject>> groupPointMap = executeArr.stream()
|
||||
.collect(Collectors.groupingBy(row -> row.getString("point_code2")));
|
||||
|
||||
// 终点
|
||||
String next_device_code = IOSEnum.OUT_HANGER.code("行架位1");
|
||||
|
||||
List<JSONObject> heapOne = Optional.ofNullable(groupPointMap.get(IOSEnum.OUT_HANGER.code("行架位1"))).orElse(new ArrayList<>());
|
||||
List<JSONObject> heapTwo = Optional.ofNullable(groupPointMap.get(IOSEnum.OUT_HANGER.code("行架位2"))).orElse(new ArrayList<>());
|
||||
|
||||
if (heapOne.size() > heapTwo.size()) {
|
||||
next_device_code = IOSEnum.OUT_HANGER.code("行架位2");
|
||||
}
|
||||
|
||||
// 创建任务并下发
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010720");
|
||||
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||
jsonTaskParam.put("point_code1", whereJson.getString("device_code"));
|
||||
jsonTaskParam.put("point_code2", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("request_param", whereJson);
|
||||
|
||||
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
|
||||
bean.createTask(jsonTaskParam);
|
||||
bean.immediateNotifyAcs(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject applyTab(JSONObject whereJson) {
|
||||
// 载具扩展属性表
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
public interface LashManageService {
|
||||
|
||||
/**
|
||||
* 创建桁架任务
|
||||
* 创建 桁架-捆扎位任务
|
||||
* @param whereJson {
|
||||
* device_code:起点
|
||||
* vehicle_code: 箱号
|
||||
@@ -22,6 +22,17 @@ public interface LashManageService {
|
||||
*/
|
||||
void createLashTask(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 创建 堆垛机点位-桁架任务
|
||||
* @param whereJson {
|
||||
* device_code:起点
|
||||
* vehicle_code: 箱号
|
||||
* vehicle_type: 载具类型
|
||||
*
|
||||
* }
|
||||
*/
|
||||
void createHeapTask(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 申请是否贴标
|
||||
* @param whereJson {
|
||||
|
||||
Reference in New Issue
Block a user