rev:木箱出库任务卡控
This commit is contained in:
@@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -50,10 +51,33 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
|||||||
/*
|
/*
|
||||||
* 下发给ACS时需要特殊处理
|
* 下发给ACS时需要特殊处理
|
||||||
*/
|
*/
|
||||||
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);
|
// 任务表
|
||||||
|
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
|
// 装箱点位库存表
|
||||||
|
WQLObject packTab = WQLObject.getWQLObject("bst_ivt_packageinfoivt");
|
||||||
|
|
||||||
|
JSONArray arr = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' order by create_time").getResultJSONArray(0);
|
||||||
|
|
||||||
|
// 判断当前有多少个正在执行中的任务
|
||||||
|
int num = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.EXECUTING.getCode() + "' and is_delete ='0'")
|
||||||
|
.getResultJSONArray(0).size();
|
||||||
|
|
||||||
|
// 查询装箱对接位是否有木箱
|
||||||
|
JSONObject jsonPack = packTab.query("point_code = '" + PackageInfoIvtEnum.PACK_POINT.code("装箱对接位01") + "' AND is_used = '1'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonPack.getString("container_name"))) {
|
||||||
|
num += 1;
|
||||||
|
}
|
||||||
|
|
||||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||||
|
// 如果缓存了4个箱子则不下发任务
|
||||||
|
if (num >= 4) {
|
||||||
|
return resultList;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < arr.size(); i++) {
|
for (int i = 0; i < arr.size(); i++) {
|
||||||
|
if (num >= 4) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
JSONObject json = arr.getJSONObject(i);
|
JSONObject json = arr.getJSONObject(i);
|
||||||
|
|
||||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||||
@@ -72,6 +96,8 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
|||||||
.remark(json.getString("remark"))
|
.remark(json.getString("remark"))
|
||||||
.build();
|
.build();
|
||||||
resultList.add(dto);
|
resultList.add(dto);
|
||||||
|
|
||||||
|
num += 1;
|
||||||
}
|
}
|
||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
@@ -138,6 +164,11 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
|||||||
map.put("update_optname", SecurityUtils.getCurrentNickName());
|
map.put("update_optname", SecurityUtils.getCurrentNickName());
|
||||||
map.put("update_time", DateUtil.now());
|
map.put("update_time", DateUtil.now());
|
||||||
WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'");
|
WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'");
|
||||||
|
|
||||||
|
// 如果是完成则在下发一次
|
||||||
|
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
|
||||||
|
immediateNotifyAcs(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,9 @@ public enum PackageInfoIvtEnum {
|
|||||||
//位置
|
//位置
|
||||||
POINT_LOCATION(MapOf.of("上", "0", "下", "1")),
|
POINT_LOCATION(MapOf.of("上", "0", "下", "1")),
|
||||||
|
|
||||||
|
// 装箱对接位
|
||||||
|
PACK_POINT(MapOf.of("装箱对接位01", "ZXQ_1_1")),
|
||||||
|
|
||||||
//库存状态
|
//库存状态
|
||||||
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user