diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/ndxy_special/NdxySpecialDeviceDriver.java b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/ndxy_special/NdxySpecialDeviceDriver.java index 8a192d4..320509c 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/ndxy_special/NdxySpecialDeviceDriver.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/ndxy_special/NdxySpecialDeviceDriver.java @@ -17,6 +17,7 @@ import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; import org.nl.acs.device_driver.standard_inspect_site.StandardInspectSiteDeviceDriver; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.dto.Instruction; +import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppServiceImpl; @@ -49,6 +50,9 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements RouteLineService routeLineServer = SpringContextHolder.getBean("routeLineServiceImpl"); @Autowired TaskService taskServer = SpringContextHolder.getBean("taskServiceImpl"); + @Autowired + LogServer logServer = SpringContextHolder.getBean("logServerImpl"); + String container; String container_type_desc; String last_container_type_desc; @@ -195,11 +199,11 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements } } } - if (moveNumber == 4 && ObjectUtil.isNotEmpty(taskServer.findByNextCode(this.device_code))){ + if (moveNumber == 3 && ObjectUtil.isNotEmpty(taskServer.findByNextCode(this.device_code))){ this.checked = false; this.choose = false; } - if (moveNumber >= 5) { + if (moveNumber >= 4) { this.checked = false; this.choose = false; } @@ -232,7 +236,7 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements } } } - if (moveNumber == 6) { + if (moveNumber == 2) { this.choose = false; this.checked = false; } @@ -281,7 +285,7 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements case 2: //入库 if (ObjectUtil.isNotEmpty(this.getDevice().getExtraValue().get("apply_task"))) { - if (!requireSucess && this.move == 0 && StrUtil.equals(this.getDevice().getExtraValue().get("apply_task").toString(), "true")) { + if (!requireSucess && this.move != 0 && StrUtil.equals(this.getDevice().getExtraValue().get("apply_task").toString(), "true")) { standby(); } } @@ -324,12 +328,14 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements dto.setUpdate_by(this.getDevice().getDevice_code()); dto.setTask_status("0"); - dto.setPriority("101"); + dto.setPriority("1"); NdxySpecialDeviceDriver ndxySpecialDeviceDriver; String next_device_code = ""; List list = routeLineServer.getShortPathLinesByCode(this.device_code, "normal"); DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); + int nextDeviceMove = 0; + for (int i = 0; i < list.size(); i++) { RouteLineDto routeLineDto = list.get(i); @@ -342,6 +348,7 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements && ndxySpecialDeviceDriver.getMode() != 0 && ndxySpecialDeviceDriver.getMove() == 0 && StrUtil.equals(ndxySpecialDeviceDriver.getDevice().getExtraValue().get("put_storage").toString(), "true")) { + nextDeviceMove = ndxySpecialDeviceDriver.getMove(); break; } else { next_device_code = ""; @@ -367,6 +374,8 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements String task_code = CodeUtil.getNewCode("TASK_NO"); dto.setTask_code("-" + task_code); + logServer.log(task_code,"灭菌前任务","","任务起点:" + device_code + "," + "光电信号:" + move + ";" + "任务终点:" + next_device_code + "光电信号:" + nextDeviceMove,"","","",""); + WQLObject wo = WQLObject.getWQLObject("acs_task"); JSONObject json = JSONObject.fromObject(dto); wo.insert(json); @@ -395,12 +404,14 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements dto.setUpdate_by(this.getDevice().getDevice_code()); dto.setTask_status("0"); - dto.setPriority("101"); + dto.setPriority("1"); NdxySpecialDeviceDriver ndxySpecialDeviceDriver; String next_device_code = ""; List list = routeLineServer.getShortPathLinesByCode(this.device_code, "normal"); DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); + int nextDeviceMove = 0; + for (int i = 0; i < list.size(); i++) { RouteLineDto routeLineDto = list.get(i); @@ -408,8 +419,8 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements Device device = appService.findDeviceByCode(next_device_code); if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); - if (ndxySpecialDeviceDriver.getMove() == 0 - && ndxySpecialDeviceDriver.getMode() != 0) { + if (ndxySpecialDeviceDriver.getMode() != 0) { + nextDeviceMove = ndxySpecialDeviceDriver.getMove(); break; } else { next_device_code = ""; @@ -432,6 +443,8 @@ public class NdxySpecialDeviceDriver extends AbstractOpcDeviceDriver implements String task_code = CodeUtil.getNewCode("TASK_NO"); dto.setTask_code("-" + task_code); + logServer.log(task_code,"灭菌后任务","","任务起点:" + device_code + "," + "光电信号:" + move + ";" + "任务终点:" + next_device_code + "光电信号:" + nextDeviceMove,"","","",""); + WQLObject wo = WQLObject.getWQLObject("acs_task"); JSONObject json = JSONObject.fromObject(dto); wo.insert(json); diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index c91afac..7528cd9 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -98,12 +98,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String wmsurl = acsConfigService.findConfigFromCache().get(AcsConfig.WMSURL); String task_code = ""; + String vehicle_code = ""; + String remark = ""; for (int i = 0; i < data.size(); i++) { JSONObject json = (JSONObject) data.get(i); task_code = json.optString("task_code"); + TaskDto taskDto = taskService.findByCode(task_code); + vehicle_code = taskDto.getVehicle_code(); + remark = taskDto.getRemark(); + + json.put("remark",remark); } - TaskDto taskDto = taskService.findByCode(task_code); - String vehicle_code = taskDto.getVehicle_code(); HttpResponse result2 = null; log.info("feedbackTaskStatusToWms-----请求参数{}", data.toString()); diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java index 3342ef3..1da7904 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -180,6 +180,8 @@ public interface InstructionService { Instruction findByBarcodeFromCache(String barcode); + Instruction findByCarNoFromCache(String carNo); + /** * 根据设备缓存查询 * diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index bb4a3e5..7f9fae2 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -1037,7 +1037,19 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu return inst; } } - return null; } + return null; + } + + @Override + public Instruction findByCarNoFromCache(String carNo) { + for (int i = 0; i < this.instructions.size(); i++) { + Instruction inst = instructions.get(i); + if (StrUtil.equals(carNo, inst.getCarno())) { + return inst; + } + } + return null; + } @Override public Instruction findByIdFromCache(String id) { diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java index e371b44..7883e12 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java @@ -17,6 +17,7 @@ import org.nl.acs.task.service.dto.TaskFeedbackDto; import org.nl.exception.BadRequestException; import org.nl.utils.FileUtil; import org.nl.utils.SecurityUtils; +import org.nl.wql.WQL; import org.nl.wql.core.bean.ResultBean; import org.nl.wql.core.bean.WQLObject; import org.nl.wql.util.WqlUtil; @@ -27,10 +28,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author wangs @@ -49,9 +47,13 @@ public class TaskFeedbackServiceImpl implements TaskFeedbackService { @Override public Map queryAll(Map whereJson, Pageable page) { - WQLObject wo = WQLObject.getWQLObject("acs_task_feedback"); - ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_finished = '0' ", "update_time desc"); - final JSONObject json = rb.pageResult(); +// WQLObject wo = WQLObject.getWQLObject("acs_task_feedback"); +// ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "is_finished = '0' and error_code != '200'", "update_time desc"); +// final JSONObject json = rb.pageResult(); + HashMap map = new HashMap<>(); + map.put("flag", "3"); + + final JSONObject json = WQL.getWO("QTASK_QUERY").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); return json; } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 6fd44f4..d902fee 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -595,7 +595,7 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { } else { jo.put("hasGoodStatus", "1"); - jo.put("material_type", "1"); +// jo.put("material_type", "1"); } jo.put("device_code", dto.getStart_device_code()); jo.put("quantity", dto.getQuantity()); @@ -603,13 +603,13 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { jo.put("batch", startdevice.getBatch()); jo.put("islock", "true"); deviceService.changeDeviceStatus(jo); - Device deviceByCode = deviceAppService.findDeviceByCode(dto.getNext_device_code()); + Device nextDevice = deviceAppService.findDeviceByCode(dto.getNext_device_code()); jo2.put("device_code", dto.getNext_device_code()); - jo2.put("hasGoodStatus", deviceByCode.getHas_goods()); - jo2.put("quantity", deviceByCode.getQuantity()); - jo2.put("remark", deviceByCode.getRemark()); - jo2.put("material_type", deviceByCode.getMaterial_type()); - jo2.put("batch", deviceByCode.getBatch()); + jo2.put("hasGoodStatus", nextDevice.getHas_goods()); + jo2.put("quantity", nextDevice.getQuantity()); + jo2.put("remark", nextDevice.getRemark()); + jo2.put("material_type", nextDevice.getMaterial_type()); + jo2.put("batch", nextDevice.getBatch()); jo2.put("islock", "true"); deviceService.changeDeviceStatus(jo2); } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql index dbd0efd..831d6fb 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql +++ b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/wql/QTASK_QUERY.wql @@ -112,4 +112,16 @@ IF 输入.flag = "2" ENDOPTION ENDSELECT ENDPAGEQUERY + ENDIF + + IF 输入.flag = "3" + PAGEQUERY + SELECT + * + FROM + acs_task_feedback feed + WHERE + is_finished = '0' and error_code != '200' + ENDSELECT + ENDPAGEQUERY ENDIF \ No newline at end of file diff --git a/hd/nladmin-system/src/main/java/org/nl/hand/aml/service/impl/MLHandServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/hand/aml/service/impl/MLHandServiceImpl.java index e08d608..000abd0 100644 --- a/hd/nladmin-system/src/main/java/org/nl/hand/aml/service/impl/MLHandServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/hand/aml/service/impl/MLHandServiceImpl.java @@ -254,12 +254,12 @@ public class MLHandServiceImpl implements MLHandService { return resultJson; } //判断起点有货,终点为空 - if (ObjectUtil.isEmpty(startDevice.getMaterial_type()) || Integer.parseInt(startDevice.getMaterial_type()) == 0) { - resultJson.put("code", "0"); - resultJson.put("desc", "起点必须有货"); - resultJson.put("result", ""); - return resultJson; - } +// if (ObjectUtil.isEmpty(startDevice.getMaterial_type()) || Integer.parseInt(startDevice.getMaterial_type()) == 0) { +// resultJson.put("code", "0"); +// resultJson.put("desc", "起点必须有货"); +// resultJson.put("result", ""); +// return resultJson; +// } if (!ObjectUtil.isEmpty(nextDevice.getMaterial_type()) && !StrUtil.equals(nextDevice.getMaterial_type(), "0")) { resultJson.put("code", "0"); resultJson.put("desc", "终点必须为空"); diff --git a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/impl/NdxyHandServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/impl/NdxyHandServiceImpl.java index 92bc5ab..ec8e13c 100644 --- a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/impl/NdxyHandServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/impl/NdxyHandServiceImpl.java @@ -520,7 +520,7 @@ public class NdxyHandServiceImpl implements NdxyHandService { DeviceDto dto = deviceService.findByCode(device_code); - //修改 + //选中 if (type.equals("1")) { int num = 0; JSONArray acs_deviceja = WQLObject.getWQLObject("acs_device").query("region = '" + dto.getRegion() + "'", "seq_num,device_name").getResultJSONArray(0); @@ -568,7 +568,7 @@ public class NdxyHandServiceImpl implements NdxyHandService { } } } - //清空 + //强制完成 if (type.equals("2")) { //纽迪希亚专用 if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { @@ -576,6 +576,15 @@ public class NdxyHandServiceImpl implements NdxyHandService { ndxySpecialDeviceDriver.setChecked(false); } } + //入窑 + if (type.equals("3")) { + //纽迪希亚专用 + if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { + ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); + ndxySpecialDeviceDriver.setChecked(false); + ndxySpecialDeviceDriver.writing(1,4); + } + } resultJson.put("code", "1"); resultJson.put("desc", "更新成功"); resultJson.put("result", new JSONObject()); diff --git a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java index 70a0d0b..60da2d4 100644 --- a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java +++ b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/ToAgvDevice.java @@ -7,6 +7,8 @@ import net.sf.json.JSONObject; import org.nl.acs.agv.server.AgvService; import org.nl.acs.agv.server.dto.AgvDto; import org.nl.acs.ext.wms.service.AcsToWmsService; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.instruction.service.dto.Instruction; import org.nl.modules.mnt.websocket.MsgType; import org.nl.modules.mnt.websocket.SocketMsg; import org.nl.modules.mnt.websocket.WebSocketServer; @@ -26,6 +28,8 @@ public class ToAgvDevice { AcsToWmsService acsToWmsService; @Autowired AgvService agvService; + @Autowired + InstructionService instructionService; public void run() throws Exception { JSONObject json = new JSONObject(); @@ -38,9 +42,14 @@ public class ToAgvDevice { for (AgvDto agvDto : agv_map.values()) { row.put("device_code", agvDto.getName()); + Instruction inst = instructionService.findByCarNoFromCache(agvDto.getName()); + if (ObjectUtil.isNotEmpty(inst)) { + row.put("transportOrder", inst.getTask_code()); + } else { + row.put("transportOrder", agvDto.getTransportOrder()); + } row.put("energyLevel", agvDto.getEnergyLevel()); row.put("device_status",agvDto.getState()); - row.put("transportOrder", agvDto.getTransportOrder()); row.put("positionX", agvDto.getPositionX()); row.put("positionY", agvDto.getPositionY()); row.put("positionAngle", agvDto.getPositionAngle()); diff --git a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java index ed6343f..4662f54 100644 --- a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java +++ b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java @@ -1946,7 +1946,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { //纽迪希亚专用 if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); - if (ndxySpecialDeviceDriver.getMove() != 0) { + if (ndxySpecialDeviceDriver.getMove() != 0 && ndxySpecialDeviceDriver.getActoin() == 1) { inst.setExecute_status("1"); instructionService.update(inst); data = AgvService.sendAgvOneModeInst(phase, index, 0); @@ -2067,7 +2067,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { ndxySpecialDeviceDriver.writing(1, 2); flag = true; } else { - log.info("AGV请求取货设备{}有货,无法反馈", device_code); + log.info("AGV取货完成请求离开设备{}有货,无法反馈", device_code); } } if (device.getDeviceDriver() instanceof StandardCoveyorControlDeviceDriver) { @@ -2146,7 +2146,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { standardManipulatorStackingSiteDeviceDriver.writing(1, 8); flag = true; } else { - log.info("AGV请求取货设备{}有货,无法反馈", device_code); + log.info("AGV请求放货设备{}有货,无法反馈", device_code); } } //光电检测站点(优先入库) @@ -2160,7 +2160,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { standardPhotoelectricInspectSiteDeviceDriver.writing(1, 8); flag = true; } else { - log.info("AGV请求取货设备{}有货,无法反馈", device_code); + log.info("AGV请求放货设备{}有货,无法反馈", device_code); } } if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { @@ -2177,14 +2177,14 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { //纽迪希亚专用 if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); - if (ndxySpecialDeviceDriver.getMove() == 0) { + if (ndxySpecialDeviceDriver.getMove() == 0 && ndxySpecialDeviceDriver.getActoin() == 1) { inst.setExecute_status("3"); instructionService.update(inst); data = AgvService.sendAgvOneModeInst(phase, index, 0); ndxySpecialDeviceDriver.writing(1, 8); flag = true; } else { - log.info("AGV请求取货设备{}有货,无法反馈", device_code); + log.info("AGV请求放货设备{}有货,无法反馈", device_code); } } if (device.getDeviceDriver() instanceof StandardCoveyorControlDeviceDriver) { @@ -2292,7 +2292,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { ndxySpecialDeviceDriver.writing(1, 3); flag = true; } else { - log.info("AGV请求取货设备{}无货,无法反馈", device_code); + log.info("AGV放货完成请求离开设备{}无货,无法反馈", device_code); } } if (device.getDeviceDriver() instanceof StandardCoveyorControlDeviceDriver) { @@ -2465,14 +2465,85 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } //上报异常 else if (phase == 0x67) { - if (arr[18] * 256 + arr[19] == 0) { - + AgvDto dto = null; + Map map = AgvService.findAllAgvFromCache(); + carno = arr[18] * 256 + arr[19]; + if (map.containsKey(String.valueOf(carno))) { + dto = map.get(String.valueOf(carno)); } else { - + dto = new AgvDto(); } - } else { - - + dto.setName(String.valueOf(carno)); + if (ikey == 0) { + dto.setState("IDLE"); + acsToWmsService.feedbackAgvStatus(String.valueOf(carno), "0", ""); + } else { + StringBuffer errbs = new StringBuffer(); + for (int i = 0; i < ERROR.length; i++) { + if (((ikey) & (1 << i)) > 0) + errbs.append("," + ERROR[i]); + //反馈故障 + } + dto.setState("ERROR"); + AgvService.updateAgvFromCache(dto); + acsToWmsService.feedbackAgvStatus(String.valueOf(carno), String.valueOf(ikey), "error"); + } + } + //X坐标 + else if (phase == 0x70) { + AgvDto dto = null; + Map map = AgvService.findAllAgvFromCache(); + carno = arr[18] * 256 + arr[19]; + if (map.containsKey(String.valueOf(carno))) { + dto = map.get(String.valueOf(carno)); + } else { + dto = new AgvDto(); + } + dto.setName(String.valueOf(carno)); + dto.setPositionX(String.valueOf(ikey)); + AgvService.updateAgvFromCache(dto); + } + //Y坐标 + else if (phase == 0x71) { + AgvDto dto = null; + Map map = AgvService.findAllAgvFromCache(); + carno = arr[18] * 256 + arr[19]; + if (map.containsKey(String.valueOf(carno))) { + dto = map.get(String.valueOf(carno)); + } else { + dto = new AgvDto(); + } + dto.setName(String.valueOf(carno)); + dto.setPositionY(String.valueOf(ikey)); + AgvService.updateAgvFromCache(dto); + } + //角度 + else if (phase == 0x72) { + AgvDto dto = null; + Map map = AgvService.findAllAgvFromCache(); + carno = arr[18] * 256 + arr[19]; + if (map.containsKey(String.valueOf(carno))) { + dto = map.get(String.valueOf(carno)); + } else { + dto = new AgvDto(); + } + dto.setName(String.valueOf(carno)); + dto.setPositionAngle(String.valueOf(ikey)); + AgvService.updateAgvFromCache(dto); + } + //电量 + else if (phase == 0x73) { + AgvDto dto = null; + Map map = AgvService.findAllAgvFromCache(); + carno = arr[18] * 256 + arr[19]; + if (map.containsKey(String.valueOf(carno))) { + dto = map.get(String.valueOf(carno)); + } else { + dto = new AgvDto(); + } + dto.setName(String.valueOf(carno)); + dto.setEnergyLevel(String.valueOf(ikey)); + AgvService.updateAgvFromCache(dto); } break; case 7: @@ -3583,6 +3654,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { //反馈故障 } dto.setState("ERROR"); + AgvService.updateAgvFromCache(dto); acsToWmsService.feedbackAgvStatus(String.valueOf(carno), String.valueOf(ikey), "error"); } } diff --git a/qd/src/views/acs/task/taskFeedback/index.vue b/qd/src/views/acs/task/taskFeedback/index.vue index 07478d2..2b4a286 100644 --- a/qd/src/views/acs/task/taskFeedback/index.vue +++ b/qd/src/views/acs/task/taskFeedback/index.vue @@ -119,7 +119,7 @@ - + diff --git a/qd/src/views/home2.vue b/qd/src/views/home2.vue index 77acf96..cd39053 100644 --- a/qd/src/views/home2.vue +++ b/qd/src/views/home2.vue @@ -1,7 +1,7 @@