剔除 物料绑定货位的规则
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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", "入窑输送线区"),
|
||||
|
||||
@@ -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,则需要加上托盘类型
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user