fix:任务下发ACS增加托盘类型,新增空木箱入库的业务逻辑
This commit is contained in:
@@ -49,6 +49,7 @@ public class TwoInBoxTask extends AbstractAcsTask {
|
|||||||
.vehicle_code(json.getString("vehicle_code2"))
|
.vehicle_code(json.getString("vehicle_code2"))
|
||||||
.priority(json.getString("priority"))
|
.priority(json.getString("priority"))
|
||||||
.class_type(json.getString("task_type"))
|
.class_type(json.getString("task_type"))
|
||||||
|
.interaction_json(json.getJSONObject("request_param"))
|
||||||
.dtl_type(String.valueOf(dtl_type))
|
.dtl_type(String.valueOf(dtl_type))
|
||||||
.remark(json.getString("remark"))
|
.remark(json.getString("remark"))
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ public class TwoOutEmpTask extends AbstractAcsTask {
|
|||||||
.vehicle_code(json.getString("vehicle_code"))
|
.vehicle_code(json.getString("vehicle_code"))
|
||||||
.priority(json.getString("priority"))
|
.priority(json.getString("priority"))
|
||||||
.class_type(json.getString("task_type"))
|
.class_type(json.getString("task_type"))
|
||||||
|
.interaction_json(json.getJSONObject("request_param"))
|
||||||
.dtl_type(String.valueOf(dtl_type))
|
.dtl_type(String.valueOf(dtl_type))
|
||||||
.remark(json.getString("remark"))
|
.remark(json.getString("remark"))
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ import org.nl.common.utils.IdUtil;
|
|||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.nl.modules.wql.WQL;
|
import org.nl.modules.wql.WQL;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
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.nl.wms.pda.mps.eum.RegionTypeEnum;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -61,6 +64,12 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
|||||||
*/
|
*/
|
||||||
private final IschBaseTaskService ischBaseTaskService;
|
private final IschBaseTaskService ischBaseTaskService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WmsToAcsService wmsToAcsService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private AcsToWmsService acsToWmsService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void inBox(JSONObject whereJson) {
|
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("next_device_code", jsonAttr.getString("struct_code"));
|
||||||
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();
|
||||||
|
param.put("vehicle_type", boxDao.getVehicle_type());
|
||||||
|
jsonTaskParam.put("request_param", param.toString());
|
||||||
|
|
||||||
TwoInBoxTask taskBean = new TwoInBoxTask();
|
TwoInBoxTask taskBean = new TwoInBoxTask();
|
||||||
taskBean.createTask(jsonTaskParam);
|
taskBean.createTask(jsonTaskParam);
|
||||||
@@ -137,7 +149,7 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
|||||||
// 载具表
|
// 载具表
|
||||||
WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
WQLObject vehicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
||||||
// 载具扩展属性表
|
// 载具扩展属性表
|
||||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
// WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||||
/*
|
/*
|
||||||
* 查询mes木箱信息,插入木箱信息表
|
* 查询mes木箱信息,插入木箱信息表
|
||||||
*/
|
*/
|
||||||
@@ -174,12 +186,54 @@ public class InBoxManageServiceImpl implements InBoxManageService {
|
|||||||
// jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
// jsonVeExt.put("device_uuid", IdUtil.getLongId());
|
||||||
// veExtTab.insert(jsonVeExt);
|
// 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();
|
JSONObject taskParam = new JSONObject();
|
||||||
taskParam.put("task_type", "010713");
|
taskParam.put("task_type", "010713");
|
||||||
taskParam.put("start_device_code", whereJson.getString("point_code"));
|
taskParam.put("start_device_code", whereJson.getString("point_code"));
|
||||||
taskParam.put("next_device_code", "RK1005");
|
taskParam.put("next_device_code", "RK1005");
|
||||||
taskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
taskParam.put("vehicle_code", whereJson.getString("box_no"));
|
||||||
taskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
|
// taskParam.put("vehicle_code2", whereJson.getString("box_no"));
|
||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
param.put("layer", whereJson.getString("layer"));
|
param.put("layer", whereJson.getString("layer"));
|
||||||
param.put("length", boxDao.getBox_length());
|
param.put("length", boxDao.getBox_length());
|
||||||
|
|||||||
@@ -94,6 +94,9 @@ public class OutVehicleManageServiceImpl implements OutVehicleManageService {
|
|||||||
jsonTaskParam.put("next_device_code", whereJson.getString("device_code"));
|
jsonTaskParam.put("next_device_code", whereJson.getString("device_code"));
|
||||||
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();
|
||||||
|
param.put("vehicle_type", whereJson.getString("vehicle_type"));
|
||||||
|
jsonTaskParam.put("request_param", param.toString());
|
||||||
|
|
||||||
TwoOutEmpTask taskBean = new TwoOutEmpTask();
|
TwoOutEmpTask taskBean = new TwoOutEmpTask();
|
||||||
taskBean.createTask(jsonTaskParam);
|
taskBean.createTask(jsonTaskParam);
|
||||||
|
|||||||
Reference in New Issue
Block a user