rev 反馈lms agv信息

This commit is contained in:
2023-05-24 13:29:10 +08:00
parent 14c65892ab
commit 6448cd9a18
3 changed files with 60 additions and 41 deletions

View File

@@ -39,6 +39,7 @@ import org.nl.acs.ext.wms.service.AcsToLiKuService;
import org.nl.acs.ext.wms.service.WmsToAcsService; import org.nl.acs.ext.wms.service.WmsToAcsService;
import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction; import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.monitor.DeviceStageMonitor;
import org.nl.acs.opc.Device; import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppService;
import org.nl.acs.opc.DeviceExtraManageDto; import org.nl.acs.opc.DeviceExtraManageDto;
@@ -275,16 +276,16 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
jo.put("action", standardCoveyorControlWithScannerDeviceDriver.getAction()); jo.put("action", standardCoveyorControlWithScannerDeviceDriver.getAction());
jo.put("error", standardCoveyorControlWithScannerDeviceDriver.getError()); jo.put("error", standardCoveyorControlWithScannerDeviceDriver.getError());
} else if (device.getDeviceDriver() instanceof PaperTubeConveyorDeviceDriver) { } else if (device.getDeviceDriver() instanceof PaperTubeConveyorDeviceDriver) {
paperTubeConveyorDeviceDriver = (PaperTubeConveyorDeviceDriver) device.getDeviceDriver(); paperTubeConveyorDeviceDriver = (PaperTubeConveyorDeviceDriver) device.getDeviceDriver();
jo.put("device_code", parent_device_code); jo.put("device_code", parent_device_code);
jo.put("qty", paperTubeConveyorDeviceDriver.getInventory_qty()); jo.put("qty", paperTubeConveyorDeviceDriver.getInventory_qty());
jo.put("mode", paperTubeConveyorDeviceDriver.getMode()); jo.put("mode", paperTubeConveyorDeviceDriver.getMode());
jo.put("error", paperTubeConveyorDeviceDriver.getError()); jo.put("error", paperTubeConveyorDeviceDriver.getError());
jo.put("material_code", ObjectUtil.isEmpty(paperTubeConveyorDeviceDriver.getMaterial())? "":paperTubeConveyorDeviceDriver.getMaterial() ); jo.put("material_code", ObjectUtil.isEmpty(paperTubeConveyorDeviceDriver.getMaterial()) ? "" : paperTubeConveyorDeviceDriver.getMaterial());
jo.put("out_finish", paperTubeConveyorDeviceDriver.getOut_finish()); jo.put("out_finish", paperTubeConveyorDeviceDriver.getOut_finish());
}else { } else {
jo.put("device_code", parent_device_code); jo.put("device_code", parent_device_code);
} }
backja.add(jo); backja.add(jo);
@@ -919,29 +920,47 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
public Map<String, Object> queryDeviceInfo(JSONObject param) { public Map<String, Object> queryDeviceInfo(JSONObject param) {
log.info("queryDeviceInfo--------------:输入参数" + param.toString()); log.info("queryDeviceInfo--------------:输入参数" + param.toString());
String region_code = param.getString("region_code"); String region_code = param.getString("region_code");
if (StrUtil.isEmpty(region_code)) { // if (StrUtil.isEmpty(region_code)) {
throw new BadRequestException("区域编码不能为空"); // throw new BadRequestException("区域编码不能为空");
} // }
AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver; AgvNdcTwoDeviceDriver agvNdcTwoDeviceDriver;
AgvNdcOneDeviceDriver agvNdcOneDeviceDriver; AgvNdcOneDeviceDriver agvNdcOneDeviceDriver;
List<Device> devices = deviceAppService.findDevice(DeviceType.agv); List<Device> devices = deviceAppService.findDevice(DeviceType.agv);
JSONArray data = new JSONArray(); JSONArray data = new JSONArray();
if (ObjectUtil.isNotEmpty(devices)) { if (StrUtil.isEmpty(region_code)) {
for (int i = 0; i < devices.size(); i++) { if (ObjectUtil.isNotEmpty(devices)) {
Device device = devices.get(i); for (int i = 0; i < devices.size(); i++) {
Device agvDevice = deviceAppService.findDeviceByCode(device.getDevice_code()); Device device = devices.get(i);
if (agvDevice.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) { Device agvDevice = deviceAppService.findDeviceByCode(device.getDevice_code());
if (StrUtil.equals(region_code, "1")) { if (agvDevice.getDeviceDriver() instanceof DeviceStageMonitor) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) agvDevice.getDeviceDriver(); DeviceStageMonitor deviceStageMonitor = (DeviceStageMonitor) agvDevice.getDeviceDriver();
JSONObject jo = agvNdcTwoDeviceDriver.getDeviceStatusName(); try {
data.add(jo); JSONObject jo = deviceStageMonitor.getDeviceStatusName();
data.add(jo);
} catch (Exception e) {
log.error("反馈AGV信息失败:{}", e.getMessage());
}
} }
} }
if (agvDevice.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) { }
if (StrUtil.equals(region_code, "5")) { } else {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) agvDevice.getDeviceDriver(); if (ObjectUtil.isNotEmpty(devices)) {
JSONObject jo = agvNdcOneDeviceDriver.getDeviceStatusName(); for (int i = 0; i < devices.size(); i++) {
data.add(jo); Device device = devices.get(i);
Device agvDevice = deviceAppService.findDeviceByCode(device.getDevice_code());
if (agvDevice.getDeviceDriver() instanceof AgvNdcTwoDeviceDriver) {
if (StrUtil.equals(region_code, "1")) {
agvNdcTwoDeviceDriver = (AgvNdcTwoDeviceDriver) agvDevice.getDeviceDriver();
JSONObject jo = agvNdcTwoDeviceDriver.getDeviceStatusName();
data.add(jo);
}
}
if (agvDevice.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
if (StrUtil.equals(region_code, "5")) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) agvDevice.getDeviceDriver();
JSONObject jo = agvNdcOneDeviceDriver.getDeviceStatusName();
data.add(jo);
}
} }
} }
} }
@@ -1033,49 +1052,49 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
} }
if (device.getDeviceDriver() instanceof PaperTubeConveyorDeviceDriver) { if (device.getDeviceDriver() instanceof PaperTubeConveyorDeviceDriver) {
PaperTubeConveyorDeviceDriver paperTubeConveyorDeviceDriver = (PaperTubeConveyorDeviceDriver) device.getDeviceDriver(); PaperTubeConveyorDeviceDriver paperTubeConveyorDeviceDriver = (PaperTubeConveyorDeviceDriver) device.getDeviceDriver();
if(paperTubeConveyorDeviceDriver.getMode() != 2){ if (paperTubeConveyorDeviceDriver.getMode() != 2) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"未待机,无法下发信号"); resp.put("message", "设备:" + device_code + "未待机,无法下发信号");
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} }
if(StrUtil.equals(type,"1")){ if (StrUtil.equals(type, "1")) {
if(paperTubeConveyorDeviceDriver.getInventory_qty() > 0){ if (paperTubeConveyorDeviceDriver.getInventory_qty() > 0) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"当前数量为"+paperTubeConveyorDeviceDriver.getInventory_qty() +"无法设置物料"); resp.put("message", "设备:" + device_code + "当前数量为" + paperTubeConveyorDeviceDriver.getInventory_qty() + "无法设置物料");
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} }
paperTubeConveyorDeviceDriver.writing("to_material",material_code); paperTubeConveyorDeviceDriver.writing("to_material", material_code);
} else if (StrUtil.equals(type,"2")) { } else if (StrUtil.equals(type, "2")) {
if(paperTubeConveyorDeviceDriver.getInventory_qty() < Integer.parseInt(qty)){ if (paperTubeConveyorDeviceDriver.getInventory_qty() < Integer.parseInt(qty)) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"当前数量为"+paperTubeConveyorDeviceDriver.getInventory_qty() +"小于出库数量"+qty); resp.put("message", "设备:" + device_code + "当前数量为" + paperTubeConveyorDeviceDriver.getInventory_qty() + "小于出库数量" + qty);
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} }
if(StrUtil.isEmpty(paperTubeConveyorDeviceDriver.getMaterial())){ if (StrUtil.isEmpty(paperTubeConveyorDeviceDriver.getMaterial())) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"设备上报物料为空无法出库"); resp.put("message", "设备:" + device_code + "设备上报物料为空无法出库");
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} else { } else {
if(!StrUtil.equals(paperTubeConveyorDeviceDriver.getMaterial(),material_code)){ if (!StrUtil.equals(paperTubeConveyorDeviceDriver.getMaterial(), material_code)) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"设备上报物料为"+paperTubeConveyorDeviceDriver.getMaterial() +"与出库物料"+material_code+"不匹配"); resp.put("message", "设备:" + device_code + "设备上报物料为" + paperTubeConveyorDeviceDriver.getMaterial() + "与出库物料" + material_code + "不匹配");
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} }
} }
if(paperTubeConveyorDeviceDriver.getTo_command() != 0 || paperTubeConveyorDeviceDriver.getTo_target() != 0 ){ if (paperTubeConveyorDeviceDriver.getTo_command() != 0 || paperTubeConveyorDeviceDriver.getTo_target() != 0) {
resp.put("status", 400); resp.put("status", 400);
resp.put("message", "设备:"+ device_code +"下发命令信号值为"+paperTubeConveyorDeviceDriver.getTo_command() + ",下发目标站:" + paperTubeConveyorDeviceDriver.getTo_target() +",已存在待执行的任务"); resp.put("message", "设备:" + device_code + "下发命令信号值为" + paperTubeConveyorDeviceDriver.getTo_command() + ",下发目标站:" + paperTubeConveyorDeviceDriver.getTo_target() + ",已存在待执行的任务");
log.info("paperTubeAction--------------:输出参数" + resp.toString()); log.info("paperTubeAction--------------:输出参数" + resp.toString());
return resp; return resp;
} }
paperTubeConveyorDeviceDriver.writing("to_out_qty",qty); paperTubeConveyorDeviceDriver.writing("to_out_qty", qty);
paperTubeConveyorDeviceDriver.writing("to_target",device.getAddress()); paperTubeConveyorDeviceDriver.writing("to_target", device.getAddress());
paperTubeConveyorDeviceDriver.writing("to_command","2"); paperTubeConveyorDeviceDriver.writing("to_command", "2");
} }
} }

View File

@@ -13,11 +13,11 @@ spring:
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
# url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:lzhl_one_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:lzhl_one_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_one_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_one_wcs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
username: ${DB_USER:root} username: ${DB_USER:root}
# password: ${DB_PWD:P@ssw0rd} # password: ${DB_PWD:P@ssw0rd}
# password: ${DB_PWD:Root.123456} # password: ${DB_PWD:Root.123456}
password: ${DB_PWD:123456} password: ${DB_PWD:password}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5

View File

@@ -2,7 +2,7 @@ spring:
freemarker: freemarker:
check-template-location: false check-template-location: false
profiles: profiles:
active: dev active: prod
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
data: data: