fix:任务下发ACS增加托盘类型,新增空木箱入库的业务逻辑

This commit is contained in:
zhouz
2024-05-13 20:04:55 +08:00
parent 30ad6db6ac
commit ec6a0553d4
4 changed files with 62 additions and 3 deletions

View File

@@ -49,6 +49,7 @@ public class TwoInBoxTask extends AbstractAcsTask {
.vehicle_code(json.getString("vehicle_code2"))
.priority(json.getString("priority"))
.class_type(json.getString("task_type"))
.interaction_json(json.getJSONObject("request_param"))
.dtl_type(String.valueOf(dtl_type))
.remark(json.getString("remark"))
.build();

View File

@@ -49,6 +49,7 @@ public class TwoOutEmpTask extends AbstractAcsTask {
.vehicle_code(json.getString("vehicle_code"))
.priority(json.getString("priority"))
.class_type(json.getString("task_type"))
.interaction_json(json.getJSONObject("request_param"))
.dtl_type(String.valueOf(dtl_type))
.remark(json.getString("remark"))
.build();

View File

@@ -18,6 +18,9 @@ import org.nl.common.utils.IdUtil;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -61,6 +64,12 @@ public class InBoxManageServiceImpl implements InBoxManageService {
*/
private final IschBaseTaskService ischBaseTaskService;
@Autowired
private WmsToAcsService wmsToAcsService;
@Autowired
private AcsToWmsService acsToWmsService;
@Override
@Transactional(rollbackFor = Exception.class)
public void inBox(JSONObject whereJson) {
@@ -116,6 +125,9 @@ public class InBoxManageServiceImpl implements InBoxManageService {
jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code"));
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());
jsonTaskParam.put("request_param", param.toString());
TwoInBoxTask taskBean = new TwoInBoxTask();
taskBean.createTask(jsonTaskParam);
@@ -137,7 +149,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
// 载具表
WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
// 载具扩展属性表
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
/*
* 查询mes木箱信息插入木箱信息表
*/
@@ -174,12 +186,54 @@ public class InBoxManageServiceImpl implements InBoxManageService {
// jsonVeExt.put("device_uuid", IdUtil.getLongId());
// veExtTab.insert(jsonVeExt);
// 下发桁架任务
//查询当前入库拆叠盘位的托盘类型是否一致如果一致
String vehicle_type = boxDao.getVehicle_type();
// 判断入库叠盘位的 托盘类型是否相同、是否叠满
JSONObject device_jo = new JSONObject();
device_jo.put("device_code", "RK1004");
device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
JSONArray device_ja = new JSONArray();
device_ja.add(device_jo);
JSONObject device_data = wmsToAcsService.getPointStatus(device_ja);
JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
//如果此时拆叠盘位为空
if (data.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))) {
//生成空托盘出库任务
JSONObject apply_jo = new JSONObject();
apply_jo.put("device_code", "RK1004");
apply_jo.put("type", "3");
apply_jo.put("container_type", vehicle_type);
acsToWmsService.applyTwo(apply_jo);
} else {
if (!data.getString("container_type").equals(vehicle_type)) {
//给ACS下发拆叠盘位的空托盘入库信号并进行空托盘出库
JSONArray action_rows = new JSONArray();
JSONObject action_jo = new JSONObject();
action_jo.put("device_code", "RK1004");
action_jo.put("code", "to_command");
action_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
action_jo.put("value", "4");
action_rows.add(action_jo);
wmsToAcsService.action(action_rows);
//生成空托盘出库任务
JSONObject apply_jo = new JSONObject();
apply_jo.put("device_code", "RK1004");
apply_jo.put("type", "3");
apply_jo.put("container_type", vehicle_type);
acsToWmsService.applyTwo(apply_jo);
}
}
JSONObject taskParam = new JSONObject();
taskParam.put("task_type", "010713");
taskParam.put("start_device_code", whereJson.getString("point_code"));
taskParam.put("next_device_code", "RK1005");
taskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
taskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
taskParam.put("vehicle_code", whereJson.getString("box_no"));
// taskParam.put("vehicle_code2", whereJson.getString("box_no"));
JSONObject param = new JSONObject();
param.put("layer", whereJson.getString("layer"));
param.put("length", boxDao.getBox_length());

View File

@@ -94,6 +94,9 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
jsonTaskParam.put("next_device_code", whereJson.getString("device_code"));
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"));
jsonTaskParam.put("request_param", param.toString());
TwoOutEmpTask taskBean = new TwoOutEmpTask();
taskBean.createTask(jsonTaskParam);