提交
This commit is contained in:
@@ -11,7 +11,8 @@ public enum WorkProcedureEnum {
|
||||
HNGX(1, "1514444198529601536", "01", "混碾工序", ""),
|
||||
YZGX(2, "1514444247439380480", "02", "压制工序", ""),
|
||||
SZGX(3, "1514444321896665088", "03", "烧制工序", ""),
|
||||
FJGX(4, "1514444386174373888", "04", "分拣工序", "");
|
||||
FJGX(4, "1514444386174373888", "04", "分拣工序", ""),
|
||||
DPGX(4, "1514444386174373888", "05", "分拣工序", "");
|
||||
//顺序号
|
||||
private int index;
|
||||
//工序标识
|
||||
|
||||
@@ -2,9 +2,11 @@ package org.nl.wms.common;
|
||||
|
||||
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.exception.BadRequestException;
|
||||
import org.nl.start.day01.Struct;
|
||||
import org.nl.wms.sch.manage.AreaEnum;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
|
||||
@@ -63,9 +65,14 @@ public class StructFindUtil {
|
||||
public static JSONObject getEmptyVehicleInStruct(JSONObject jsonObject) {
|
||||
String area_type = jsonObject.getString("area_type");
|
||||
String vehicle_code = jsonObject.getString("vehicle_code");
|
||||
String point_code = jsonObject.getString("point_code");
|
||||
if (StrUtil.isEmpty(vehicle_code)) {
|
||||
throw new BadRequestException("托盘不能为空!");
|
||||
}
|
||||
if (StrUtil.equals(point_code,"KGTPDDW05")){
|
||||
JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", AreaEnum.KGTDDQ).addParam("flag", "2").process().getResultJSONArray(0);
|
||||
PointUpdateUtil.updatePoint(pointarr);
|
||||
}
|
||||
//根据托盘找托盘类型,
|
||||
JSONObject vehicleObj = WQLObject.getWQLObject("md_pb_vehicle").query("vehicle_code='" + vehicle_code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(vehicleObj)) {
|
||||
@@ -76,18 +83,30 @@ public class StructFindUtil {
|
||||
}
|
||||
String vehice_type = vehicleObj.getString("vehicle_type");
|
||||
JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "4")
|
||||
.addParam("area_type", area_type).addParam("vehice_type", vehice_type).process().uniqueResult(0);
|
||||
.addParam("area_type", area_type)
|
||||
.addParam("vehice_type", vehice_type)
|
||||
.addParam("point_code", point_code)
|
||||
.process().uniqueResult(0);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static JSONObject getEmptyVehicleOutStruct(JSONObject jsonObject) {
|
||||
String area_type = jsonObject.getString("area_type");
|
||||
String vehicle_type = jsonObject.getString("vehicle_type");
|
||||
String point_code = jsonObject.getString("point_code");
|
||||
//如果是堆叠位5 需要更新 设备状态
|
||||
if(StrUtil.equals(point_code,"KGTPDDW05")){
|
||||
JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", AreaEnum.KGTDDQ).addParam("flag", "2").process().getResultJSONArray(0);
|
||||
PointUpdateUtil.updatePoint(pointarr);
|
||||
}
|
||||
if (StrUtil.isEmpty(area_type)) {
|
||||
throw new BadRequestException("区域不能为空!");
|
||||
}
|
||||
JSONObject result = WQL.getWO("QSTRUCT_RULE").addParam("flag", "5")
|
||||
.addParam("area_type", area_type).addParam("vehicle_type", vehicle_type).process().uniqueResult(0);
|
||||
.addParam("area_type", area_type)
|
||||
.addParam("vehicle_type", vehicle_type)
|
||||
.addParam("point_code", point_code)
|
||||
.process().uniqueResult(0);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,15 +13,16 @@
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.code TYPEAS s_string
|
||||
输入.flag TYPEAS s_string
|
||||
输入.code TYPEAS s_string
|
||||
输入.material_id TYPEAS s_string
|
||||
输入.sect_id TYPEAS s_string
|
||||
输入.area_type TYPEAS s_string
|
||||
输入.area_type TYPEAS s_string
|
||||
输入.vehicle_type TYPEAS s_string
|
||||
输入.workprocedure_id TYPEAS s_string
|
||||
输入.workprocedure_id TYPEAS s_string
|
||||
输入.is_full TYPEAS s_string
|
||||
输入.vehicle_type TYPEAS s_string
|
||||
输入.point_code TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
@@ -149,13 +150,11 @@ ENDIF
|
||||
IF 输入.flag = "4"
|
||||
QUERY
|
||||
SELECT DISTINCT
|
||||
structattr.struct_id,
|
||||
structattr.struct_code,
|
||||
structattr.struct_name
|
||||
point.point_id as struct_id,
|
||||
point.point_code as struct_code,
|
||||
point.point_name as struct_name
|
||||
FROM
|
||||
st_ivt_structattr structattr
|
||||
LEFT JOIN sch_base_point point ON point.point_id = structattr.struct_id
|
||||
LEFT JOIN ST_IVT_StructRelaVehicleType rulevehicle ON rulevehicle.struct_id = structattr.struct_id
|
||||
sch_base_point point ON point.point_id = structattr.struct_id
|
||||
WHERE
|
||||
point.lock_type = '00'
|
||||
AND ( point.vehicle_code = '' OR point.vehicle_code IS NULL )
|
||||
@@ -163,12 +162,12 @@ IF 输入.flag = "4"
|
||||
OPTION 输入.area_type <> ""
|
||||
point.area_type = 输入.area_type
|
||||
ENDOPTION
|
||||
OPTION 输入.sect_id <> ""
|
||||
point.structattr = 输入.sect_id
|
||||
ENDOPTION
|
||||
OPTION 输入.vehicle_type <> ""
|
||||
rulevehicle.vehicle_type = 输入.vehicle_type
|
||||
ENDOPTION
|
||||
OPTION 输入.point_code <> ""
|
||||
point.point_code = 输入.point_code
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -181,8 +180,6 @@ IF 输入.flag = "5"
|
||||
point.point_code AS struct_code,
|
||||
point.point_name AS struct_name,
|
||||
point.vehicle_code
|
||||
|
||||
|
||||
FROM
|
||||
sch_base_point point
|
||||
LEFT JOIN md_pb_vehicle vehicle ON vehicle.vehicle_code = point.vehicle_code
|
||||
@@ -196,6 +193,11 @@ IF 输入.flag = "5"
|
||||
OPTION 输入.vehicle_type <> ""
|
||||
vehicle.vehicle_type = 输入.vehicle_type
|
||||
ENDOPTION
|
||||
OPTION 输入.point_code <> ""
|
||||
point.point_code = 输入.point_code
|
||||
ENDOPTION
|
||||
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -61,3 +61,22 @@
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
|
||||
point.point_code as device_code
|
||||
FROM
|
||||
sch_base_point point
|
||||
WHERE
|
||||
1=1
|
||||
OPTION 输入.area_type <> ""
|
||||
point.area_type = 输入.area_type
|
||||
ENDOPTION
|
||||
OPTION 输入.point_code <> ""
|
||||
point.point_code = 输入.point_code
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -115,17 +115,17 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
vehicle_type = VehicleTypeEnum.XLZ.getCode();
|
||||
start_area = AreaEnum.KLHJ.getCode();
|
||||
break;
|
||||
// 压制工序
|
||||
// 压制工序
|
||||
case YZGX:
|
||||
vehicle_type = VehicleTypeEnum.GTP.getCode();
|
||||
start_area = AreaEnum.KLHJ.getCode();
|
||||
break;
|
||||
//烧制工序
|
||||
//烧制工序
|
||||
case SZGX:
|
||||
vehicle_type = VehicleTypeEnum.GTP.getCode();
|
||||
start_area = AreaEnum.KLHJ.getCode();
|
||||
break;
|
||||
//分拣工序
|
||||
//分拣工序
|
||||
case FJGX:
|
||||
// 根据点位code查找对应设备,根据设备查找对应工单,从工单中取托盘类型
|
||||
vehicle_type = WQL.getWO("BUSSTASK_001")
|
||||
@@ -141,7 +141,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
start_area = AreaEnum.KLHJ.getCode();
|
||||
}
|
||||
//寻找一个合适的仓位
|
||||
param.put("vehicle_type",vehicle_type);
|
||||
param.put("vehicle_type", vehicle_type);
|
||||
JSONObject outStructObj = StructFindUtil.getEmptyVehicleOutStruct(param);
|
||||
if (ObjectUtil.isEmpty(outStructObj)) {
|
||||
continue;
|
||||
@@ -213,7 +213,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
case YZGX:
|
||||
vehicle_type = VehicleTypeEnum.GTP.getCode();
|
||||
start_area = AreaEnum.KGTDDQ.getCode();
|
||||
|
||||
start_point_code = "KGTPDDW05";
|
||||
break;
|
||||
//烧制工序
|
||||
case SZGX:
|
||||
@@ -227,6 +227,13 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
start_area = AreaEnum.CYZC.getCode();
|
||||
is_auto_issue = "0";
|
||||
break;
|
||||
//叠盘工序
|
||||
case DPGX:
|
||||
//托盘类型取当前工单生产的托盘类型
|
||||
vehicle_type = VehicleTypeEnum.GTP.getCode();
|
||||
start_area = AreaEnum.CYHJ.getCode();
|
||||
is_auto_issue = "0";
|
||||
break;
|
||||
default:
|
||||
vehicle_type = VehicleTypeEnum.DLZ.getCode();
|
||||
start_area = AreaEnum.KLHJ.getCode();
|
||||
@@ -234,6 +241,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("vehicle_type", vehicle_type);
|
||||
param.put("area_type", start_area);
|
||||
param.put("point_code", start_point_code);
|
||||
JSONObject outStructObj = StructFindUtil.getEmptyVehicleOutStruct(param);
|
||||
if (ObjectUtil.isEmpty(outStructObj)) {
|
||||
throw new BadRequestException("未找到合适的空托盘点位");
|
||||
@@ -258,6 +266,10 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
}
|
||||
String task_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
//生成空载具搬运单据
|
||||
//如果载具点位上取不到,则给一个默认的999
|
||||
if (StrUtil.isEmpty(vehicle_code)) {
|
||||
vehicle_code = "999";
|
||||
}
|
||||
JSONObject EmptyVehicleObj = new JSONObject();
|
||||
EmptyVehicleObj.put("record_uuid", IdUtil.getSnowflake(1, 1).nextId());
|
||||
EmptyVehicleObj.put("bill_code", CodeUtil.getNewCode("KZJ_BILL_CODE"));
|
||||
|
||||
@@ -154,7 +154,6 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
if (StrUtil.isEmpty(vehicle_code)) {
|
||||
throw new BadRequestException("载具未找到!");
|
||||
}
|
||||
|
||||
//判断起点有没有未完成的指令
|
||||
JSONObject beforTaskObj = taskTable.
|
||||
query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
|
||||
@@ -162,7 +161,6 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
if (ObjectUtil.isNotEmpty(beforTaskObj)) {
|
||||
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
|
||||
}
|
||||
|
||||
//根据起点去找工序,找一个合适的仓位 并且生成单据
|
||||
if (StrUtil.isEmpty(next_point_code)) {
|
||||
JSONObject workInfo = WQL.getWO("QSTRUCT_RULE").addParam("flag", "1").addParam("code", start_point_code)
|
||||
@@ -186,6 +184,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
//分拣工序
|
||||
case FJGX:
|
||||
next_area = AreaEnum.KGTDDQ.getCode();
|
||||
next_point_code = "KGTPDDW05";
|
||||
break;
|
||||
default:
|
||||
next_area = AreaEnum.KLHJ.getCode();
|
||||
@@ -193,6 +192,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("area_type", next_area);
|
||||
param.put("vehicle_code", vehicle_code);
|
||||
param.put("point_code", next_point_code);
|
||||
JSONObject inStructObj = StructFindUtil.getEmptyVehicleInStruct(param);
|
||||
next_point_code = inStructObj.getString("struct_code");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user