rev:成品出库优先级
This commit is contained in:
@@ -13,6 +13,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.LashManageSer
|
|||||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService;
|
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.nl.modules.wql.WQL;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
import org.nl.modules.wql.util.SpringContextHolder;
|
||||||
import org.nl.wms.sch.AcsTaskDto;
|
import org.nl.wms.sch.AcsTaskDto;
|
||||||
@@ -51,7 +52,10 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
map.put("handle_class", THIS_CLASS);
|
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")
|
/* 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);*/
|
||||||
|
|
||||||
|
List<JSONObject> arr = WQL.getWO("OUT_TASK01").addParam("flag", "1").process()
|
||||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
|
|
||||||
// 未下发的任务根据任务组进行分组
|
// 未下发的任务根据任务组进行分组
|
||||||
@@ -90,6 +94,9 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 判断是否有深货位对应的浅货位有起点终点确定的的任务:有就下发
|
||||||
|
taskArr = ifShallow(taskArr);
|
||||||
|
|
||||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||||
for (int i = 0; i < taskArr.size(); i++) {
|
for (int i = 0; i < taskArr.size(); i++) {
|
||||||
JSONObject json = taskArr.get(i);
|
JSONObject json = taskArr.get(i);
|
||||||
@@ -105,7 +112,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
.vehicle_code2(json.getString("vehicle_code"))
|
.vehicle_code2(json.getString("vehicle_code"))
|
||||||
.interaction_json(json.getJSONObject("request_param"))
|
.interaction_json(json.getJSONObject("request_param"))
|
||||||
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
||||||
.priority(json.getString("priority"))
|
.priority(json.getString("zdepth"))
|
||||||
.class_type(json.getString("task_type"))
|
.class_type(json.getString("task_type"))
|
||||||
.dtl_type(String.valueOf(dtl_type))
|
.dtl_type(String.valueOf(dtl_type))
|
||||||
.product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
|
.product_area(IOSEnum.PRODUCT_AREA.code("BLK"))
|
||||||
@@ -121,6 +128,33 @@ public class TwoOutTask extends AbstractAcsTask {
|
|||||||
return resultList;
|
return resultList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<JSONObject> ifShallow(List<JSONObject> taskArr) {
|
||||||
|
// 筛选出深货位
|
||||||
|
List<JSONObject> collect = taskArr.stream()
|
||||||
|
.filter(row -> row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深")))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(collect)){
|
||||||
|
return taskArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 找对应的浅货位任务
|
||||||
|
for (JSONObject json : collect) {
|
||||||
|
json.put("flag", "2");
|
||||||
|
JSONObject jsonObject = WQL.getWO("OUT_TASK01").addParamMap(json)
|
||||||
|
.process().uniqueResult(0);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonObject)) {
|
||||||
|
taskArr.add(jsonObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<JSONObject> result = taskArr.stream()
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||||
|
|||||||
@@ -0,0 +1,102 @@
|
|||||||
|
[交易说明]
|
||||||
|
交易名: 出库任务
|
||||||
|
所属模块:
|
||||||
|
功能简述:
|
||||||
|
版权所有:
|
||||||
|
表引用:
|
||||||
|
版本经历:
|
||||||
|
|
||||||
|
[数据库]
|
||||||
|
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||||
|
|
||||||
|
[IO定义]
|
||||||
|
#################################################
|
||||||
|
## 表字段对应输入参数
|
||||||
|
#################################################
|
||||||
|
输入.flag TYPEAS s_string
|
||||||
|
输入.row_num TYPEAS s_string
|
||||||
|
输入.col_num TYPEAS s_string
|
||||||
|
输入.layer_num TYPEAS s_string
|
||||||
|
输入.block_num TYPEAS s_string
|
||||||
|
[临时表]
|
||||||
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
|
|
||||||
|
[临时变量]
|
||||||
|
--所有中间过程变量均可在此处定义
|
||||||
|
|
||||||
|
[业务过程]
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 1、输入输出检查 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 2、主过程前处理 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 3、业务主过程 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
IF 输入.flag = "1"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
task.*,
|
||||||
|
attr.zdepth,
|
||||||
|
attr.row_num,
|
||||||
|
attr.col_num,
|
||||||
|
attr.layer_num,
|
||||||
|
attr.block_num
|
||||||
|
FROM
|
||||||
|
sch_base_task task
|
||||||
|
INNER JOIN st_ivt_structattr attr ON attr.struct_code = task.point_code1
|
||||||
|
WHERE
|
||||||
|
task.handle_class = 'org.nl.b_lms.sch.tasks.TwoOutTask'
|
||||||
|
and task.task_status = '04'
|
||||||
|
and task.is_delete = '0'
|
||||||
|
and attr.sect_code = 'BZC01'
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "2"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
task.*,
|
||||||
|
attr.zdepth,
|
||||||
|
attr.row_num,
|
||||||
|
attr.col_num,
|
||||||
|
attr.layer_num,
|
||||||
|
attr.block_num
|
||||||
|
FROM
|
||||||
|
sch_base_task task
|
||||||
|
INNER JOIN st_ivt_structattr attr ON attr.struct_code = task.point_code1
|
||||||
|
WHERE
|
||||||
|
task.handle_class = 'org.nl.b_lms.sch.tasks.TwoOutTask'
|
||||||
|
and task.task_status = '04'
|
||||||
|
and task.is_delete = '0'
|
||||||
|
and attr.sect_code = 'BZC01'
|
||||||
|
and attr.zdepth = '1'
|
||||||
|
|
||||||
|
OPTION 输入.row_num <> ""
|
||||||
|
attr.row_num = 输入.row_num
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.col_num <> ""
|
||||||
|
attr.col_num = 输入.col_num
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.layer_num <> ""
|
||||||
|
attr.layer_num = 输入.layer_num
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.block_num <> ""
|
||||||
|
attr.block_num = 输入.block_num
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
@@ -443,9 +443,11 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|||||||
.map(row -> JSONObject.parseObject(JSON.toJSONString(row)))
|
.map(row -> JSONObject.parseObject(JSON.toJSONString(row)))
|
||||||
.collect(Collectors.toList()).get(0);
|
.collect(Collectors.toList()).get(0);
|
||||||
|
|
||||||
if (jsonDis.getIntValue("work_status") > Integer.parseInt(IOSEnum.WORK_STATUS.code("生成"))) {
|
// 完成了不能取消
|
||||||
|
/* if (jsonDis.getIntValue("work_status") > Integer.parseInt(IOSEnum.WORK_STATUS.code("生成"))) {
|
||||||
throw new BadRequestException("任务正在执行中或已经完成,不能取消!");
|
throw new BadRequestException("任务正在执行中或已经完成,不能取消!");
|
||||||
}
|
|
||||||
|
}*/
|
||||||
|
|
||||||
// 解锁仓位
|
// 解锁仓位
|
||||||
ArrayList<String> paramLockList = new ArrayList<>();
|
ArrayList<String> paramLockList = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user