剔除 物料绑定货位的规则

This commit is contained in:
18188916393
2022-09-09 13:58:05 +08:00
parent 07478eb069
commit e0301e2dfd
5 changed files with 18 additions and 21 deletions

View File

@@ -23,15 +23,12 @@ public class StructFindUtil {
if (ObjectUtil.isEmpty(vehicleObj)) {
throw new BadRequestException("未找到托盘号为'" + vehicle_code + "' 托盘信息!");
}*/
if (StrUtil.isEmpty(material_id)) {
throw new BadRequestException("物料不能为空!");
}
if (StrUtil.isEmpty(area_type)) {
throw new BadRequestException("区域不能为空!");
}
// String vehice_type = vehicleObj.getString("vehicle_type");
JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "2")
.addParam("material_id", material_id).addParam("area_type", area_type).process().uniqueResult(0);
.addParam("area_type", area_type).process().uniqueResult(0);
return result;
}

View File

@@ -76,7 +76,7 @@ IF 输入.flag = "2"
FROM
st_ivt_structattr structattr
LEFT JOIN sch_base_point point ON point.point_id = structattr.struct_id
LEFT JOIN ST_IVT_StructRelaMaterial rule ON rule.struct_id = structattr.struct_id
LEFT JOIN ST_IVT_StructRelaVehicleType rulevehicle ON rulevehicle.struct_id = structattr.struct_id
left join st_rule_IOdisStruct ruledis on ruledis.struct_uuid = structattr.struct_id
WHERE
@@ -84,9 +84,7 @@ IF 输入.flag = "2"
AND ( point.vehicle_code = '' OR point.vehicle_code IS NULL )
AND point.is_used = '1'
AND point.point_status = '00'
OPTION 输入.material_id <> ""
rule.material_id = 输入.material_id
ENDOPTION
OPTION 输入.area_type <> ""
point.area_type = 输入.area_type
ENDOPTION
@@ -112,9 +110,11 @@ IF 输入.flag = "3"
ivt.canuse_qty,
ivt.workprocedure_id,
ivt.producetask_id,
material.stewing_time,
ruledis.out_seq_no
FROM
st_ivt_structivt ivt
left join md_me_material material on material.material_id = ivt.material_id
LEFT JOIN sch_base_point point ON point.point_id = ivt.struct_id
left join st_rule_IOdisStruct ruledis on ruledis.struct_uuid = ivt.struct_id
LEFT JOIN st_buss_vehiclegroup vehiclegroup ON vehiclegroup.vehicle_code = ivt.vehicle_code
@@ -139,7 +139,7 @@ IF 输入.flag = "3"
OPTION 输入.is_full <> ""
ivt.is_full = 输入.is_full
ENDOPTION
order by ruledis.out_seq_no
order by material.stewing_time desc,ruledis.out_seq_no
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -8,8 +8,8 @@ package org.nl.wms.sch.manage;
public enum AreaEnum {
RYHCHJ("01", "入窑缓存库"),
CYHCHJ("02", "出窑缓存货架"),
DKKTTPQ("03", "单口空铁托"),
DDKTTPQ("04", "堆叠空铁托"),
KTTHCQ("03", "空铁托缓存"),
KTTDDQ("04", "空铁托堆叠"),
MTPQ("05", "木托盘区"),
BTHCQ("06", "半托缓存库区"),
RYSSXQ("07", "入窑输送线区"),

View File

@@ -128,7 +128,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
// 压制工序
case YZGX:
vehicle_type = VehicleTypeEnum.GTP.getCode();
start_area = AreaEnum.DDKTTPQ.getCode();
start_area = AreaEnum.KTTDDQ.getCode();
//分拣工序
case FJGX:
@@ -136,7 +136,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
start_area = AreaEnum.MTPQ.getCode();
default:
vehicle_type = VehicleTypeEnum.LZ.getCode();
start_area = AreaEnum.DDKTTPQ.getCode();
start_area = AreaEnum.KTTDDQ.getCode();
}
//寻找一个合适的仓位
JSONObject outStructObj = StructFindUtil.getEmptyVehicleOutStruct(param);
@@ -209,7 +209,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
// 压制工序
case YZGX:
vehicle_type = VehicleTypeEnum.GTP.getCode();
start_area = AreaEnum.DDKTTPQ.getCode();
start_area = AreaEnum.KTTDDQ.getCode();
break;
//分拣工序
case FJGX:
@@ -221,7 +221,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
break;
default:
vehicle_type = VehicleTypeEnum.GTP.getCode();
start_area = AreaEnum.DDKTTPQ.getCode();
start_area = AreaEnum.KTTDDQ.getCode();
}
JSONObject param = new JSONObject();
//如果托盘类型不是02则需要加上托盘类型

View File

@@ -109,18 +109,18 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
@Override
@Transactional
public String createTask(JSONObject form) {
//送空托盘只会有钢托盘有这个需求, 所以终点永远都是 KTPHCW5 都是从码垛机械手送到空托盘缓存位5
//送空托盘只会有钢托盘有这个需求, 所以终点永远都是 KTPDDW1 都是从码垛机械手送到KTPDDW1
//除开送到ktphcw 还有从空托盘缓存位3 送到堆叠区
PointService pointService = SpringContextHolder.getBean(PointService.class);
//起点,托盘 不能为空,终点可以为空
String vehicle_code = form.getString("vehicle_code");
String start_point_code = form.getString("start_point_code");
String next_point_code = "KTPHCW5";
String next_area = AreaEnum.DKKTTPQ.getCode();
String next_point_code = "KTPDDW1";
String next_area = AreaEnum.KTTDDQ.getCode();
//假如起点是KTPHCW3就需要送到堆叠位
if (StrUtil.equals(start_point_code, "KTPHCW3")) {
if (StrUtil.equals(start_point_code, "KTPDDW3")) {
WQLObject point_table = WQLObject.getWQLObject("sch_base_point");
JSONArray pointArr = point_table.query("area_type='04'").getResultJSONArray(0);
JSONArray pointArr = point_table.query("area_type='" + AreaEnum.KTTHCQ + "'").getResultJSONArray(0);
//更新点位
PointUpdateUtil.updatePoint(pointArr);
//查询有没有空的点位
@@ -129,7 +129,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
throw new BadRequestException("未找到合适的点位");
}
next_point_code = (String) pointObj.get("point_code");
next_area = AreaEnum.DDKTTPQ.getCode();
next_area = AreaEnum.KTTHCQ.getCode();
}
String task_status = TaskStatusEnum.START_AND_POINT.getCode();