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)) {
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);
// 判断是否有货 且托盘类型相同、数量小于5
if (data.getString("move").equals(IOSEnum.IS_NOTANDYES.code("")) ||
(data.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))
&& vehicle_type.equals(data.getString("container_type"))
&& data.getIntValue("qty") < 5)
) {
if (vehicle_type.equals(data.getString("container_type")) && data.getIntValue("qty") < 5){
// 生成入库叠盘机输送任务
JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010715");
jsonTaskParam.put("start_device_code", point_code);
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_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();
taskBean.createTask(jsonTaskParam);
@@ -100,28 +99,28 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
// 生层到出库口叠盘机任务
// 判断托盘类型
String next_device_code = "";
if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code(""))) {
String next_device_code = "CK2005";
/*if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code("是"))) {
// 小托盘 CK2009
next_device_code = "CK2009";
} else {
// 大托盘 CK2011
next_device_code = "CK2011";
}
}*/
// 判断点位状态
device_jo.put("device_code", next_device_code);
device_jo.put("device_code", "CK2005");
JSONArray device_ja2 = new JSONArray();
device_ja2.add(device_jo);
JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2);
JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0);
// 判断是否有货 且数量小于5
/*// 判断是否有货 且数量小于5
if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("否")) ||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("是"))
&& data2.getIntValue("qty") < 5)
) {
) {*/
// 生层到出库口叠盘机任务
JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010714");
@@ -129,14 +128,17 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
jsonTaskParam.put("next_device_code", next_device_code);
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
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();
taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null);
} else {
result.put("message", "入库失败! 出库叠盘位已叠满!"+next_device_code);
/*} else {
result.put("message", "入库失败! 出库叠盘位已叠满!" + next_device_code);
return result;
}
}*/
result.put("message", "入库成功!");
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);
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code",jsonTask.getString("vehicle_code"));
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code", jsonTask.getString("vehicle_code"));
attrTab.update(jsonAttr);
}
@@ -107,11 +107,11 @@ public class TwoInBoxTask extends AbstractAcsTask {
// 解锁仓位
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);
// 删除载具对应木箱记录
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("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentUsername());
json.put("request_param", form.getString("request_param"));
json.put("create_time", DateUtil.now());
json.put("priority", "1");
json.put("acs_task_type", "7");

View File

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

View File

@@ -82,6 +82,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
// 仓位表
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
String box_arr = whereJson.getString("box_no");
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
@@ -126,7 +127,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
jsonTaskParam.put("vehicle_code", whereJson.getString("box_no"));
jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
JSONObject param = new JSONObject();
param.put("vehicle_type", boxDao.getVehicle_type());
param.put("containerType", boxDao.getVehicle_type());
jsonTaskParam.put("request_param", param.toString());
TwoInBoxTask taskBean = new TwoInBoxTask();
@@ -200,7 +201,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
JSONObject device_data = wmsToAcsService.getPointStatus(device_ja);
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();
apply_jo.put("device_code", "RK1004");

View File

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

View File

@@ -95,7 +95,7 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
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());
TwoOutEmpTask taskBean = new TwoOutEmpTask();

View File

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

View File

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