fix:出入库任务类型给托盘类型,空木箱出库返回木箱号

This commit is contained in:
zhouz
2024-05-14 15:04:44 +08:00
parent ad7c2ddd03
commit 48ba755ad9
9 changed files with 44 additions and 26 deletions

View File

@@ -63,7 +63,7 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
); );
if (ObjectUtil.isEmpty(pointDao)) { if (ObjectUtil.isEmpty(pointDao)) {
throw new BadRequestException("点位:"+point_code+"不存在或未启用!"); throw new BadRequestException("点位:" + point_code + "不存在或未启用!");
} }
// 判断入库叠盘位的 托盘类型是否相同、是否叠满 // 判断入库叠盘位的 托盘类型是否相同、是否叠满
@@ -77,18 +77,17 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
JSONObject data = device_data.getJSONArray("data").getJSONObject(0); JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
// 判断是否有货 且托盘类型相同、数量小于5 // 判断是否有货 且托盘类型相同、数量小于5
if (data.getString("move").equals(IOSEnum.IS_NOTANDYES.code("")) || if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5){
(data.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))
&& vehicle_type.equals(data.getString("container_type"))
&& data.getIntValue("qty") < 5)
) {
// 生成入库叠盘机输送任务 // 生成入库叠盘机输送任务
JSONObject jsonTaskParam = new JSONObject(); JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010715"); jsonTaskParam.put("task_type", "010715");
jsonTaskParam.put("start_device_code", point_code); jsonTaskParam.put("start_device_code", point_code);
jsonTaskParam.put("next_device_code", "RK1004"); jsonTaskParam.put("next_device_code", "RK1004");
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type")); jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
JSONObject param = new JSONObject();
param.put("containerType", whereJson.getString("vehicle_type"));
jsonTaskParam.put("request_param", param.toString());
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask(); TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
taskBean.createTask(jsonTaskParam); taskBean.createTask(jsonTaskParam);
@@ -100,28 +99,28 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
// 生层到出库口叠盘机任务 // 生层到出库口叠盘机任务
// 判断托盘类型 // 判断托盘类型
String next_device_code = ""; String next_device_code = "CK2005";
if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code(""))) { /*if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
// 小托盘 CK2009 // 小托盘 CK2009
next_device_code = "CK2009"; next_device_code = "CK2009";
} else { } else {
// 大托盘 CK2011 // 大托盘 CK2011
next_device_code = "CK2011"; next_device_code = "CK2011";
} }*/
// 判断点位状态 // 判断点位状态
device_jo.put("device_code", next_device_code); device_jo.put("device_code", "CK2005");
JSONArray device_ja2 = new JSONArray(); JSONArray device_ja2 = new JSONArray();
device_ja2.add(device_jo); device_ja2.add(device_jo);
JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2); JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2);
JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0); JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0);
// 判断是否有货 且数量小于5 /*// 判断是否有货 且数量小于5
if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) || if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) ||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是")) (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是"))
&& data2.getIntValue("qty") < 5) && data2.getIntValue("qty") < 5)
) { ) {*/
// 生层到出库口叠盘机任务 // 生层到出库口叠盘机任务
JSONObject jsonTaskParam = new JSONObject(); JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010714"); jsonTaskParam.put("task_type", "010714");
@@ -129,14 +128,17 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
jsonTaskParam.put("next_device_code", next_device_code); jsonTaskParam.put("next_device_code", next_device_code);
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type")); jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
JSONObject param = new JSONObject();
param.put("containerType", whereJson.getString("vehicle_type"));
jsonTaskParam.put("request_param", param.toString());
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask(); TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
taskBean.createTask(jsonTaskParam); taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null); taskBean.immediateNotifyAcs(null);
} else { /*} else {
result.put("message", "入库失败! 出库叠盘位已叠满!"+next_device_code); result.put("message", "入库失败! 出库叠盘位已叠满!" + next_device_code);
return result; return result;
} }*/
result.put("message", "入库成功!"); result.put("message", "入库成功!");
return result; return result;

View File

@@ -90,8 +90,8 @@ public class TwoInBoxTask extends AbstractAcsTask {
// 更新仓位 // 更新仓位
JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0);
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定")); jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code",jsonTask.getString("vehicle_code")); jsonAttr.put("storagevehicle_code", jsonTask.getString("vehicle_code"));
attrTab.update(jsonAttr); attrTab.update(jsonAttr);
} }
@@ -107,11 +107,11 @@ public class TwoInBoxTask extends AbstractAcsTask {
// 解锁仓位 // 解锁仓位
JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0);
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定")); jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
attrTab.update(jsonAttr); attrTab.update(jsonAttr);
// 删除载具对应木箱记录 // 删除载具对应木箱记录
veExtTab.delete("pcsn = '"+jsonTask.getString("vehicle_code")+"'"); veExtTab.delete("pcsn = '" + jsonTask.getString("vehicle_code") + "'");
} }
@@ -164,6 +164,7 @@ public class TwoInBoxTask extends AbstractAcsTask {
json.put("handle_class", this.getClass().getName()); json.put("handle_class", this.getClass().getName());
json.put("create_id", SecurityUtils.getCurrentUserId()); json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentUsername()); json.put("create_name", SecurityUtils.getCurrentUsername());
json.put("request_param", form.getString("request_param"));
json.put("create_time", DateUtil.now()); json.put("create_time", DateUtil.now());
json.put("priority", "1"); json.put("priority", "1");
json.put("acs_task_type", "7"); json.put("acs_task_type", "7");

View File

@@ -48,6 +48,7 @@ public class TwoInEmpExcepTask extends AbstractAcsTask {
.next_device_code(json.getString("point_code2")) .next_device_code(json.getString("point_code2"))
.vehicle_code(json.getString("vehicle_code")) .vehicle_code(json.getString("vehicle_code"))
.priority(json.getString("priority")) .priority(json.getString("priority"))
.interaction_json(json.getJSONObject("request_param"))
.class_type(json.getString("task_type")) .class_type(json.getString("task_type"))
.dtl_type("7") .dtl_type("7")
.remark(json.getString("remark")) .remark(json.getString("remark"))
@@ -143,9 +144,10 @@ public class TwoInEmpExcepTask extends AbstractAcsTask {
json.put("handle_class", this.getClass().getName()); json.put("handle_class", this.getClass().getName());
json.put("create_id", SecurityUtils.getCurrentUserId()); json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentUsername()); json.put("create_name", SecurityUtils.getCurrentUsername());
json.put("request_param", form.getString("request_param"));
json.put("create_time", DateUtil.now()); json.put("create_time", DateUtil.now());
json.put("priority", "1"); json.put("priority", "1");
json.put("acs_task_type", "7"); json.put("acs_task_type", "5");
WQLObject.getWQLObject("SCH_BASE_Task").insert(json); WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
return json.getString("task_id"); return json.getString("task_id");

View File

@@ -159,6 +159,7 @@ public class TwoOutEmpTask extends AbstractAcsTask {
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
json.put("point_code1", form.getString("start_device_code")); json.put("point_code1", form.getString("start_device_code"));
json.put("point_code2", form.getString("next_device_code")); json.put("point_code2", form.getString("next_device_code"));
json.put("request_param", form.getString("request_param"));
json.put("handle_class", this.getClass().getName()); json.put("handle_class", this.getClass().getName());
json.put("create_id", SecurityUtils.getCurrentUserId()); json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentUsername()); json.put("create_name", SecurityUtils.getCurrentUsername());

View File

@@ -82,6 +82,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
// 仓位表 // 仓位表
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
String box_arr = whereJson.getString("box_no");
// 查询木箱信息 // 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda() new QueryWrapper<BstIvtBoxinfo>().lambda()
@@ -126,7 +127,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
jsonTaskParam.put("vehicle_code", whereJson.getString("box_no")); jsonTaskParam.put("vehicle_code", whereJson.getString("box_no"));
jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code")); jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("vehicle_type", boxDao.getVehicle_type()); param.put("containerType", boxDao.getVehicle_type());
jsonTaskParam.put("request_param", param.toString()); jsonTaskParam.put("request_param", param.toString());
TwoInBoxTask taskBean = new TwoInBoxTask(); TwoInBoxTask taskBean = new TwoInBoxTask();
@@ -200,7 +201,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
JSONObject device_data = wmsToAcsService.getPointStatus(device_ja); JSONObject device_data = wmsToAcsService.getPointStatus(device_ja);
JSONObject data = device_data.getJSONArray("data").getJSONObject(0); JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
//如果此时拆叠盘位为空 //如果此时拆叠盘位为空
if (data.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))) { if (data.getIntValue("qty") == 0) {
//生成空托盘出库任务 //生成空托盘出库任务
JSONObject apply_jo = new JSONObject(); JSONObject apply_jo = new JSONObject();
apply_jo.put("device_code", "RK1004"); apply_jo.put("device_code", "RK1004");

View File

@@ -63,7 +63,7 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void outBox(JSONObject whereJson) { public String outBox(JSONObject whereJson) {
/* /*
* 1.找到符合条件的空木箱 * 1.找到符合条件的空木箱
*/ */
@@ -112,6 +112,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
// 清空缓存 // 清空缓存
notOutRowList.clear(); notOutRowList.clear();
notOutBlockList.clear(); notOutBlockList.clear();
return jsonAttr.getString("storagevehicle_code");
} }
@Override @Override

View File

@@ -95,7 +95,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code")); jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type")); jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("vehicle_type", whereJson.getString("vehicle_type")); param.put("containerType", whereJson.getString("vehicle_type"));
jsonTaskParam.put("request_param", param.toString()); jsonTaskParam.put("request_param", param.toString());
TwoOutEmpTask taskBean = new TwoOutEmpTask(); TwoOutEmpTask taskBean = new TwoOutEmpTask();

View File

@@ -22,7 +22,7 @@ public interface OutBoxManageService {
* num: 子卷数 * num: 子卷数
* } * }
*/ */
void outBox(JSONObject whereJson); String outBox(JSONObject whereJson);
/** /**

View File

@@ -27,6 +27,7 @@
输入.box_width TYPEAS s_string 输入.box_width TYPEAS s_string
输入.box_high TYPEAS s_string 输入.box_high TYPEAS s_string
输入.num TYPEAS s_string 输入.num TYPEAS s_string
输入.material_code TYPEAS s_string
[临时表] [临时表]
--这边列出来的临时表就会在运行期动态创建 --这边列出来的临时表就会在运行期动态创建
@@ -82,10 +83,18 @@
box.box_high = 输入.box_high box.box_high = 输入.box_high
ENDOPTION ENDOPTION
OPTION 输入.box_high <> ""
box.box_high = 输入.box_high
ENDOPTION
OPTION 输入.num <> "" OPTION 输入.num <> ""
box.num = 输入.num box.num = 输入.num
ENDOPTION ENDOPTION
OPTION 输入.num <> ""
box.material_code = 输入.material_code
ENDOPTION
group by attr.block_num group by attr.block_num
order by attr.block_num order by attr.block_num