opt: ndc驱动、解包完善
This commit is contained in:
@@ -22,6 +22,11 @@ public class EXTConstant {
|
||||
*/
|
||||
public final static String SEND_TASK_ACS_API = "api/wms/task";
|
||||
|
||||
/**
|
||||
* 向ACS查询设备信息
|
||||
*/
|
||||
public final static String QUERY_DEVICE_INFO_API = "api/wms/querydevice";
|
||||
|
||||
/**
|
||||
* 回传MES接口地址
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.nl.wms.ext_manage.service;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||
|
||||
@@ -22,4 +24,11 @@ public interface WmsToAcsService {
|
||||
* @return AcsResponse
|
||||
*/
|
||||
AcsResponse renotifyAcs(List<AcsTaskDto> list);
|
||||
|
||||
/**
|
||||
* 获取设备状态
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
AcsResponse getPointStatus(JSONArray whereJson);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.nl.wms.ext_manage.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.wms.ext_manage.enums.EXTConstant;
|
||||
import org.nl.wms.ext_manage.service.WmsToAcsService;
|
||||
@@ -26,4 +28,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
public AcsResponse renotifyAcs(List<AcsTaskDto> list) {
|
||||
return AcsUtil.notifyAcs(EXTConstant.SEND_TASK_ACS_API, list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AcsResponse getPointStatus(JSONArray whereJson) {
|
||||
return AcsUtil.notifyAcs(EXTConstant.QUERY_DEVICE_INFO_API, whereJson);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||
import org.nl.wms.basedata_manage.service.*;
|
||||
import org.nl.wms.basedata_manage.service.dao.*;
|
||||
import org.nl.wms.ext_manage.service.WmsToAcsService;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.PdaJBService;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.mapper.PdaJBMapper;
|
||||
@@ -114,6 +116,8 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
private ISchBaseTaskService taskService;
|
||||
@Resource
|
||||
private IMdCsSupplierbaseService supplierbaseService;
|
||||
@Resource
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
@Override
|
||||
public PdaResponse getOrderList(JSONObject whereJson) {
|
||||
String flag = whereJson.getString("flag");
|
||||
@@ -270,9 +274,19 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
if (ObjectUtil.isEmpty(param)) {
|
||||
throw new BadRequestException("请先定义 " + JB_STANDARD_ERROR + " 系统参数!");
|
||||
}
|
||||
// todo: 调用acs获取
|
||||
// 调用acs获取
|
||||
JSONArray req = new JSONArray();
|
||||
JSONObject device = new JSONObject();
|
||||
req.add(device);
|
||||
device.put("device_code", pointCode);
|
||||
AcsResponse pointStatus = wmsToAcsService.getPointStatus(req);
|
||||
if (pointStatus.getCode() != 200) {
|
||||
throw new BadRequestException("ACS读取重量数据失败, 请手动输入重量!");
|
||||
}
|
||||
JSONObject deviceInfo = pointStatus.getData().getJSONObject(0);
|
||||
String netWeight = deviceInfo.getString("net_weight");
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("weight", "999.99");
|
||||
res.put("weight", netWeight);
|
||||
res.put("flag", "1");
|
||||
res.put("message", "重量误差范围正常!");
|
||||
PdmBdWorkorder workorder = workorderService.getById(workorder_id);
|
||||
@@ -281,10 +295,10 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
}
|
||||
res.put("org_weight", workorder.getPlan_weight());
|
||||
res.put("stand_error", param.getValue());
|
||||
if (workorder.getPlan_weight().subtract(BigDecimal.valueOf(999.99))
|
||||
if (workorder.getPlan_weight().subtract(new BigDecimal(netWeight))
|
||||
.abs().compareTo(new BigDecimal(param.getValue().trim())) > 0) {
|
||||
res.put("flag", "2");
|
||||
res.put("message", "重量误差过大,请注意!");
|
||||
res.put("message", "重量误差过大,超过规定阈值,请注意!");
|
||||
}
|
||||
return PdaResponse.requestParamOk(res);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.sch_manage.service.util;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -77,6 +78,7 @@ public class AcsTaskDto {
|
||||
* 任务类型
|
||||
*/
|
||||
String task_type;
|
||||
String truss_type;
|
||||
|
||||
/**
|
||||
* 立库任务类型
|
||||
@@ -125,7 +127,7 @@ public class AcsTaskDto {
|
||||
* 扩展属性
|
||||
*/
|
||||
Map<String, String> params;
|
||||
|
||||
private JSONObject interaction_json;
|
||||
|
||||
private String task_group_id;
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
public AcsTaskDto sendAcsParam(String taskId) {
|
||||
SchBaseTask taskDao = taskService.getById(taskId);
|
||||
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code());
|
||||
|
||||
JSONObject object = JSONObject.parseObject(taskDao.getRequest_param());
|
||||
// 组织下发给acs的数据
|
||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
|
||||
@@ -101,6 +101,7 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
acsTaskDto.setTask_type(taskconfig.getTask_type());
|
||||
acsTaskDto.setTask_group_id(taskDao.getTask_group_id());
|
||||
acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq());
|
||||
acsTaskDto.setTruss_type(object.getString("truss_type"));
|
||||
return acsTaskDto;
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
public AcsTaskDto sendAcsParam(String taskId) {
|
||||
SchBaseTask taskDao = taskService.getById(taskId);
|
||||
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code());
|
||||
JSONObject object = JSONObject.parseObject(taskDao.getRequest_param());
|
||||
|
||||
// 组织下发给acs的数据
|
||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||
@@ -103,6 +104,8 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
acsTaskDto.setPriority(taskDao.getPriority());
|
||||
acsTaskDto.setAgv_system_type(taskconfig.getAcs_task_type());
|
||||
acsTaskDto.setTask_type(taskconfig.getTask_type());
|
||||
acsTaskDto.setTruss_type(object.getString("truss_type"));
|
||||
acsTaskDto.setInteraction_json(new JSONObject().fluentPut("have_lid", object.getString("have_lid")));
|
||||
return acsTaskDto;
|
||||
}
|
||||
|
||||
@@ -149,7 +152,7 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
|
||||
private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||
// 任务完成
|
||||
taskObj.setRemark("该任务已完成,等待最后一条任务完成后全部完成!");
|
||||
taskObj.setRemark("该任务已完成,等待最后一条任务完成!");
|
||||
if ("1".equals(taskObj.getTask_group_seq().toString())) {
|
||||
// 开盖设置成有盖
|
||||
SchBasePoint khgPoint = pointService.getById(taskObj.getPoint_code2());
|
||||
|
||||
@@ -91,7 +91,7 @@ public class JbUpAgvTask extends AbstractTask {
|
||||
public AcsTaskDto sendAcsParam(String taskId) {
|
||||
SchBaseTask taskDao = taskService.getById(taskId);
|
||||
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code());
|
||||
|
||||
JSONObject object = JSONObject.parseObject(taskDao.getRequest_param());
|
||||
// 组织下发给acs的数据
|
||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
|
||||
@@ -105,6 +105,7 @@ public class JbUpAgvTask extends AbstractTask {
|
||||
acsTaskDto.setTask_type(taskconfig.getTask_type());
|
||||
acsTaskDto.setTask_group_id(taskDao.getTask_group_id());
|
||||
acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq());
|
||||
acsTaskDto.setTruss_type(object.getString("truss_type"));
|
||||
return acsTaskDto;
|
||||
}
|
||||
|
||||
|
||||
@@ -705,6 +705,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
task1.put("point_code2", cfgjPoint.getPoint_code());
|
||||
task1.put("point_code3", cfgjPoint.getPoint_code());
|
||||
task1.put("point_code4", emptyPoint.getPoint_code());
|
||||
task1.put("truss_type", "3");
|
||||
task1.put("have_lid", "1");
|
||||
task1.put("vehicle_type", inStruct.getStoragevehicle_type());
|
||||
task1.put("seq", 1);
|
||||
// 空托盘
|
||||
@@ -724,6 +726,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
task2.put("point_code2", fullPoint.getPoint_code());
|
||||
task2.put("point_code3", emptyPoint.getPoint_code());
|
||||
task2.put("point_code4", intoPoint.getPoint_code());
|
||||
task2.put("truss_type", "3");
|
||||
task1.put("have_lid", "0");
|
||||
task2.put("seq", 2);
|
||||
// 空托盘
|
||||
task2.put("vehicle_code", inStruct.getStoragevehicle_code());
|
||||
@@ -743,6 +747,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
task3.put("point_code2", cfgjPoint.getPoint_code());
|
||||
task3.put("point_code3", cfgjPoint.getPoint_code());
|
||||
task3.put("point_code4", structCode);
|
||||
task3.put("truss_type", "3");
|
||||
task1.put("have_lid", "2");
|
||||
task3.put("seq", 3);
|
||||
// 空托盘
|
||||
task3.put("vehicle_code", inStruct.getStoragevehicle_code());
|
||||
|
||||
Reference in New Issue
Block a user