From 7de3402ca66218d72d1c23330fe4a6748bd7b0ea Mon Sep 17 00:00:00 2001 From: tuqiang <437016993@qq.com> Date: Thu, 27 Feb 2025 10:55:35 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/acs/agv/server/AgvWaitUtil.java | 73 ++++++++++-- .../acs/agv/server/impl/AgvServiceImpl.java | 111 +++++++++--------- .../service/impl/DeviceServiceImpl.java | 3 + .../java/org/nl/acs/device/wql/task_inst.xls | Bin 157696 -> 157696 bytes .../acs/log/service/impl/LogServerImpl.java | 48 ++++---- .../org/nl/acs/task/service/dto/TaskDto.java | 5 + .../task/service/impl/TaskServiceImpl.java | 6 +- .../quartz/task/QueryXZAgvTaskStatus.java | 8 +- .../main/resources/config/application-dev.yml | 2 +- .../src/main/resources/log/AgvWaitUtil.xml | 32 +++++ qd/public/config.js | 4 +- qd/vue.config.js | 2 + 12 files changed, 198 insertions(+), 96 deletions(-) create mode 100644 hd/nladmin-system/src/main/resources/log/AgvWaitUtil.xml diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java index 9071ff8..21effe9 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java @@ -12,6 +12,7 @@ import org.nl.acs.log.service.LogServer; import org.nl.exception.BadRequestException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; /** @@ -59,15 +60,39 @@ public class AgvWaitUtil { //取货完成等待 public JSONObject waitOutGet(String startDeviceCode, Instruction inst) { log.info("仙工AGV取货完成后请求离开,设备号 - {}", startDeviceCode); + if (startDeviceCode.length() == 4) { + JSONObject requestWMSParam = new JSONObject(); + requestWMSParam.put("device_code", startDeviceCode); + requestWMSParam.put("device_status", "close"); + JSONObject wmsResult = acsToWmsService.gccControlDoorSwitch(requestWMSParam); + if (HttpStatus.OK.value() == wmsResult.optInt("status")) { + JSONObject responseBody = acsToWmsService.gccQueryDoorStatus(startDeviceCode); + log.info("当前设备" + startDeviceCode + "门的状态:" + responseBody.get("device_status") + ",门的状态应为关闭状态!"); + if (ObjectUtil.isNotEmpty(responseBody) && "close".equals(responseBody.get("device_status"))) { + inst.setExecute_status("2"); + instructionService.update(inst); - inst.setExecute_status("2"); - instructionService.update(inst); - - JSONObject map = new JSONObject(); - map.put("status", 200); - map.put("message", "允许离开!"); - log.info("允许仙工AGV取货完成后请求离开,设备号 - {}", startDeviceCode); - return map; + JSONObject map = new JSONObject(); + map.put("status", 200); + map.put("message", "允许离开!"); + log.info("允许仙工AGV取货完成后请求离开,设备号 - {}", startDeviceCode); + return map; + } else { + throw new BadRequestException("请求失败!"); + } + } else { + throw new BadRequestException("请求失败!"); + } + } else { + inst.setExecute_status("2"); + instructionService.update(inst); + + JSONObject map = new JSONObject(); + map.put("status", 200); + map.put("message", "允许离开!"); + log.info("允许仙工AGV取货完成后请求离开,设备号 - {}", startDeviceCode); + return map; + } } //放货前等待 @@ -99,10 +124,32 @@ public class AgvWaitUtil { public JSONObject waitOutPut(String endDeviceCode, Instruction inst) { log.info("仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode); - JSONObject map = new JSONObject(); - map.put("status", 200); - map.put("message", "允许离开!"); - log.info("允许仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode); - return map; + if (endDeviceCode.length() == 4) { + JSONObject requestWMSParam = new JSONObject(); + requestWMSParam.put("device_code", endDeviceCode); + requestWMSParam.put("device_status", "close"); + JSONObject wmsResult = acsToWmsService.gccControlDoorSwitch(requestWMSParam); + if (HttpStatus.OK.value() == wmsResult.optInt("status")) { + JSONObject responseBody = acsToWmsService.gccQueryDoorStatus(endDeviceCode); + log.info("当前设备" + endDeviceCode + "门的状态:" + responseBody.get("device_status") + ",门的状态应为关闭状态!"); + if (ObjectUtil.isNotEmpty(responseBody) && "close".equals(responseBody.get("device_status"))) { + JSONObject map = new JSONObject(); + map.put("status", 200); + map.put("message", "允许离开!"); + log.info("允许仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode); + return map; + } else { + throw new BadRequestException("请求失败!"); + } + } else { + throw new BadRequestException("请求失败!"); + } + } else { + JSONObject map = new JSONObject(); + map.put("status", 200); + map.put("message", "允许离开!"); + log.info("允许仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode); + return map; + } } } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java index 5989ace..1ad27ff 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java @@ -54,14 +54,9 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import java.math.BigDecimal; -import java.math.RoundingMode; import java.text.DateFormat; -import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; -import java.util.stream.Stream; @Slf4j @Service @@ -231,7 +226,7 @@ public class AgvServiceImpl implements AgvService { * demo:destination("cz14", "JackUnload", "3", "") * @return */ - public JSONObject destination2(String locationName, String operation, String propertiesType, String pro,Instruction dto) { + public JSONObject destination2(String locationName, String operation, String propertiesType, String pro, Instruction dto) { //新增业务订单 JSONObject destinationOrder = new JSONObject(); //目标工作站 @@ -247,7 +242,7 @@ public class AgvServiceImpl implements AgvService { destinationOrder.put("properties", properties); } else if (propertiesType.equals("2")) {//Spin转动 AcsPointAngleDto acsPointAngleDto = getAcsPointAngleDto(dto); - if (ObjectUtil.isEmpty(acsPointAngleDto)){ + if (ObjectUtil.isEmpty(acsPointAngleDto)) { throw new RuntimeException("沒有找到内容,无法下发"); } JSONArray properties = new JSONArray(); @@ -287,8 +282,7 @@ public class AgvServiceImpl implements AgvService { } - - private AcsPointAngleDto getAcsPointAngleDto(Instruction dto) { + private AcsPointAngleDto getAcsPointAngleDto(Instruction dto) { List list = acsPointAngleService.queryAll(new HashMap()); AcsPointAngleDto acsPointAngleDto = new AcsPointAngleDto(); for (int i = 0; i < list.size(); i++) { @@ -664,12 +658,12 @@ public class AgvServiceImpl implements AgvService { com.alibaba.fastjson.JSONObject current_order = jo.getJSONObject("current_order"); Integer connectionStatus = jo.getInteger("connection_status"); String inst_code = current_order.getString("id"); - String taskNo= "0"; + String taskNo = "0"; if (StrUtil.isNotEmpty(inst_code)) { Instruction inst = instructionService.findByCodeFromCache(inst_code); if (ObjectUtil.isNotEmpty(inst)) { //任务号 - taskNo = inst.getTask_code(); + taskNo = inst.getTask_code(); } } //x坐标 @@ -704,7 +698,7 @@ public class AgvServiceImpl implements AgvService { String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL); String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT); - agvurl = agvurl + ":" + agvport + "/orders?page=1&size=9999"; + agvurl = agvurl + ":" + agvport + "/orders?page=1&size=100&orderBy=createTime"; List insts = instructionService.findAllInstFromCache(); if (!insts.isEmpty()) { JSONObject where = new JSONObject(); @@ -718,7 +712,7 @@ public class AgvServiceImpl implements AgvService { row.add(instruction.getInstruction_code()); predicates.add(row); } - agvurl = agvurl+ "&where=" + where; + agvurl = agvurl + "&where=" + where; } HttpResponse result = HttpRequest.get(agvurl) @@ -1815,18 +1809,18 @@ public class AgvServiceImpl implements AgvService { MachinesSiteDeviceDriver machinesSiteDeviceDriver; if (device.getDeviceDriver() instanceof MachinesSiteDeviceDriver) { ja.add(destination2(device_code + "IN", "Wait", "1", device_code + "IN" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(device_code, "Wait", "1", device_code - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(device_code + "OUT", "Wait", "1", device_code + "OUT" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } else { - ja.add(destination2(device_code, "Wait", "1", device_code + "-" + inst_code + "-" + "01",inst)); + ja.add(destination2(device_code, "Wait", "1", device_code + "-" + inst_code + "-" + "01", inst)); } } - ja.add(destination2(inst.getNext_point_code(), "Wait", "1", inst.getNext_point_code() + "-" + inst_code + "-" + "01",inst)); + ja.add(destination2(inst.getNext_point_code(), "Wait", "1", inst.getNext_point_code() + "-" + inst_code + "-" + "01", inst)); } else { String startAddress = inst.getStart_device_code(); @@ -1837,25 +1831,25 @@ public class AgvServiceImpl implements AgvService { MachinesSiteDeviceDriver machinesSiteDeviceDriver; if (device.getDeviceDriver() instanceof MachinesSiteDeviceDriver) { ja.add(destination2(startAddress, "Wait", "5", startAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress + "IN", "Wait", "1", nextAddress + "IN" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress, "Wait", "1", nextAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress + "OUT", "Wait", "1", nextAddress + "OUT" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } else { ja.add(destination2(startAddress, "Wait", "1", startAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress, "Wait", "1", nextAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } } else { ja.add(destination2(startAddress, "Wait", "1", startAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress, "Wait", "1", nextAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } } break; @@ -1872,33 +1866,33 @@ public class AgvServiceImpl implements AgvService { if (ObjectUtil.equal(standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("is_pickup_spin"), "true") && ObjectUtil.isNotEmpty(standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("pickup_spin"))) { ja.add(destination2(startAddress + "IQ", "Spin", "2", - standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("pickup_spin").toString(),inst)); + standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("pickup_spin").toString(), inst)); } ja.add(destination2(startAddress + "IQ", "Wait", "1", startAddress + "IQ" - + "-" + inst_code + "-" + "07",inst)); + + "-" + inst_code + "-" + "07", inst)); ja.add(destination2(startAddress + "IN", "Wait", "1", startAddress + "IN" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(startAddress, "JackLoad", "3", startAddress - + "-" + inst_code + "-" + "02",inst)); + + "-" + inst_code + "-" + "02", inst)); ja.add(destination2(startAddress + "OUT", "Wait", "1", startAddress + "OUT" - + "-" + inst_code + "-" + "05",inst)); + + "-" + inst_code + "-" + "05", inst)); ja.add(destination2(startAddress + "OQ", "Wait", "1", startAddress + "OQ" - + "-" + inst_code + "-" + "08",inst)); + + "-" + inst_code + "-" + "08", inst)); } else if (startdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { ja.add(destination2(startAddress + "IN", "Wait", "1", startAddress + "IN" - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(startAddress, "JackLoad", "3", startAddress - + "-" + inst_code + "-" + "02",inst)); + + "-" + inst_code + "-" + "02", inst)); ja.add(destination2(startAddress + "OUT", "Wait", "1", startAddress + "OUT" - + "-" + inst_code + "-" + "05",inst)); + + "-" + inst_code + "-" + "05", inst)); } else { ja.add(destination2(nextAddress, "Wait", "1", startAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(startAddress, "JackLoad", "3", startAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } //终点 @@ -1907,31 +1901,31 @@ public class AgvServiceImpl implements AgvService { if (ObjectUtil.equal(standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("is_release_spin"), "true") && ObjectUtil.isNotEmpty(standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("release_spin"))) { ja.add(destination2(nextAddress + "IQ", "Spin", "2", - standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("release_spin").toString(),inst)); + standardManipulatorInspectSiteDeviceDriver.getExtraValue().get("release_spin").toString(), inst)); } ja.add(destination2(nextAddress + "IQ", "Wait", "1", nextAddress + "IQ" - + "-" + inst_code + "-" + "07",inst)); + + "-" + inst_code + "-" + "07", inst)); ja.add(destination2(nextAddress + "IN", "Wait", "1", nextAddress + "IN" - + "-" + inst_code + "-" + "03",inst)); + + "-" + inst_code + "-" + "03", inst)); ja.add(destination2(nextAddress, "JackUnload", "3", nextAddress - + "-" + inst_code + "-" + "04",inst)); + + "-" + inst_code + "-" + "04", inst)); ja.add(destination2(nextAddress + "OUT", "Wait", "1", nextAddress + "OUT" - + "-" + inst_code + "-" + "06",inst)); + + "-" + inst_code + "-" + "06", inst)); ja.add(destination2(nextAddress + "OQ", "Wait", "1", nextAddress + "OQ" - + "-" + inst_code + "-" + "08",inst)); + + "-" + inst_code + "-" + "08", inst)); } else if (nextdevice.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) { ja.add(destination2(nextAddress + "IN", "Wait", "1", nextAddress + "IN" - + "-" + inst_code + "-" + "03",inst)); + + "-" + inst_code + "-" + "03", inst)); ja.add(destination2(nextAddress, "JackUnload", "3", nextAddress - + "-" + inst_code + "-" + "04",inst)); + + "-" + inst_code + "-" + "04", inst)); ja.add(destination2(nextAddress + "OUT", "Wait", "1", nextAddress + "OUT" - + "-" + inst_code + "-" + "06",inst)); + + "-" + inst_code + "-" + "06", inst)); } else { ja.add(destination2(nextAddress, "Wait", "1", nextAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); ja.add(destination2(nextAddress, "JackUnload", "3", nextAddress - + "-" + inst_code + "-" + "01",inst)); + + "-" + inst_code + "-" + "01", inst)); } break; } @@ -2232,16 +2226,16 @@ public class AgvServiceImpl implements AgvService { //放货前下发旋转角度 com.alibaba.fastjson.JSONObject json1 = new com.alibaba.fastjson.JSONObject(); - AcsPointAngleDto acsPointAngleDto = acsPointAngleService.findByCode(inst.getStart_device_code(),inst.getNext_device_code()); - if (ObjectUtil.isNotEmpty(acsPointAngleDto)){ + AcsPointAngleDto acsPointAngleDto = acsPointAngleService.findByCode(inst.getStart_device_code(), inst.getNext_device_code()); + if (ObjectUtil.isNotEmpty(acsPointAngleDto)) { log.info("acsPointAngleDto----參數,{}", acsPointAngleDto.toString()); com.alibaba.fastjson.JSONObject operation_args = new com.alibaba.fastjson.JSONObject(); BigDecimal next_point_angle = acsPointAngleDto.getNext_point_angle(); - operation_args.put("increase_spin_angle",next_point_angle);//弧度值,如3.14 - operation_args.put("skill_name","GoByOdometer"); + operation_args.put("increase_spin_angle", next_point_angle);//弧度值,如3.14 + operation_args.put("skill_name", "GoByOdometer"); json1.put("blockId", IdUtil.simpleUUID()); json1.put("location", inst.getNext_point_code() + "INPUT"); - json1.put("operation_args",operation_args); + json1.put("operation_args", operation_args); ja.add(json1); } @@ -2271,6 +2265,16 @@ public class AgvServiceImpl implements AgvService { jo5.put("script_args", script_args5); ja.add(jo5); } + + com.alibaba.fastjson.JSONObject jo6 = new com.alibaba.fastjson.JSONObject(); + com.alibaba.fastjson.JSONObject operation_args = new com.alibaba.fastjson.JSONObject(); + operation_args.put("robot_spin_angle", 0); + operation_args.put("spin_direction", 0); + jo6.put("blockId", IdUtil.simpleUUID()); + jo6.put("location", inst.getNext_point_code() + "OUTPUT"); + jo6.put("operation_args", operation_args); + ja.add(jo6); + return ja; } @@ -2315,4 +2319,5 @@ public class AgvServiceImpl implements AgvService { throw new BadRequestException("请求失败,IN OUT 站点错误!"); } + } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java index a1c3061..e3dbfe9 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java @@ -49,6 +49,7 @@ import org.openscada.opc.lib.da.Server; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -86,6 +87,8 @@ public class DeviceServiceImpl implements DeviceService, ApplicationAutoInitial @Autowired AcsConfigService acsConfigService; + + @Lazy @Autowired TaskService taskService; diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device/wql/task_inst.xls b/hd/nladmin-system/src/main/java/org/nl/acs/device/wql/task_inst.xls index c632b4105c1fd72841998d1834290b1592d5cda7..ab8cb9823d42c5956ce9ee7d709e4f474366c82d 100644 GIT binary patch delta 8474 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 E0J|>x6#xJL delta 8438 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 diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java index a6bf356..9e9740e 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java @@ -137,27 +137,31 @@ public class LogServerImpl implements LogServer { @Override public void log(String task_code, String method, String type, String requestParam, String responseParam, String status_code, String requesturl, String vehicle_code) { - String currentUsername = SecurityUtils.getCurrentUsername(); - String now = DateUtil.now(); - - LogDto logDto = new LogDto(); - logDto.setLog_uuid(IdUtil.simpleUUID()); - logDto.setTask_code(task_code); - logDto.setMethod(method); - logDto.setLog_type(type); - logDto.setRequestparam(requestParam); - logDto.setResponseparam(responseParam); - logDto.setStatus_code(status_code); - logDto.setRequesturl(requesturl); - logDto.setVehicle_code(vehicle_code); - - logDto.setCreate_by(currentUsername); - logDto.setUpdate_by(currentUsername); - logDto.setUpdate_time(now); - logDto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("acs_log"); - JSONObject json = JSONObject.fromObject(logDto); - wo.insert(json); + try { + String currentUsername = SecurityUtils.getCurrentUsername(); + String now = DateUtil.now(); + + LogDto logDto = new LogDto(); + logDto.setLog_uuid(IdUtil.simpleUUID()); + logDto.setTask_code(task_code); + logDto.setMethod(method); + logDto.setLog_type(type); + logDto.setRequestparam(requestParam); + logDto.setResponseparam(responseParam); + logDto.setStatus_code(status_code); + logDto.setRequesturl(requesturl); + logDto.setVehicle_code(vehicle_code); + + logDto.setCreate_by(currentUsername); + logDto.setUpdate_by(currentUsername); + logDto.setUpdate_time(now); + logDto.setCreate_time(now); + + WQLObject wo = WQLObject.getWQLObject("acs_log"); + JSONObject json = JSONObject.fromObject(logDto); + wo.insert(json); + }catch (Exception ex){ + ex.printStackTrace(); + } } } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/dto/TaskDto.java b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/dto/TaskDto.java index 96e79e0..5e660ee 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/task/service/dto/TaskDto.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/task/service/dto/TaskDto.java @@ -217,4 +217,9 @@ public class TaskDto implements Serializable { * 外部系统标识 */ private String ext_task_uuid; + + /** + * agv车号 + */ + private String carno; } 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 c309725..a22b4d9 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 @@ -834,8 +834,6 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { @Transactional(rollbackFor = Exception.class) public void update(TaskDto dto) { TaskDto entity = this.findById(dto.getTask_id()); - Instruction instruction = instructionService.findByTaskcode(dto.getTask_code()); - if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); String currentUsername = SecurityUtils.getCurrentUsername(); @@ -859,13 +857,13 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial { } //判断是否为WMS下发的任务,如果是反馈任务状态给WMS String hasWms = acsConfigService.findConfigFromCache().get(AcsConfig.HASWMS); - if (!StrUtil.startWith(dto.getTask_code(), "-") && StrUtil.equals(hasWms, "1")) { + if (!StrUtil.startWith(dto.getTask_code(), "-") && StrUtil.equals(hasWms, "1")&&ObjectUtil.isNotEmpty(dto.getCarno())) { TaskFeedbackDto feefbackdto = taskFeedbackService.findByCode(entity.getTask_code()); JSONObject feed_jo = new JSONObject(); feed_jo.put("task_code", dto.getTask_code()); feed_jo.put("ext_task_uuid", entity.getExt_task_uuid()); feed_jo.put("task_status", dto.getTask_status()); - feed_jo.put("agv_code",instruction.getCarno()); + feed_jo.put("agv_code",dto.getCarno()); JSONArray ja = new JSONArray(); ja.add(feed_jo); String message = null; diff --git a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryXZAgvTaskStatus.java b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryXZAgvTaskStatus.java index 640d6e5..ca18f88 100644 --- a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryXZAgvTaskStatus.java +++ b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryXZAgvTaskStatus.java @@ -57,8 +57,8 @@ public class QueryXZAgvTaskStatus { String carno = one.getString("vehicle"); if (ObjectUtil.isEmpty(inst.getCarno())) { inst.setCarno(carno); - instructionService.update(inst); TaskDto taskDto = taskService.findByCode(inst.getTask_code()); + taskDto.setCarno(carno); taskService.update(taskDto); } } @@ -74,14 +74,20 @@ public class QueryXZAgvTaskStatus { //执行中 if ("RUNNING".equals(state) || "CREATED".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) { + log.info("queryXZAgvTaskStatus--当前inst_code:{},agv_status:{}", inst.getInstruction_code(), state); if (inst != null) { inst.setInstruction_status("1"); instructionService.update(inst); + }else { + log.info("queryXZAgvTaskStatus--指令为空"); } } else if ("FINISHED".equals(state)) { + log.info("queryXZAgvTaskStatus--当前inst_code:{},agv_status:{}", inst.getInstruction_code(), state); if (inst != null) { inst.setInstruction_status("2"); instructionService.finish(inst); + }else { + log.info("queryXZAgvTaskStatus--指令为空"); } } else if ("STOPPED".equals(state) || "FAILED".equals(state) || "Error".equals(state)) { if (inst != null) { diff --git a/hd/nladmin-system/src/main/resources/config/application-dev.yml b/hd/nladmin-system/src/main/resources/config/application-dev.yml index a62f81a..f581cac 100644 --- a/hd/nladmin-system/src/main/resources/config/application-dev.yml +++ b/hd/nladmin-system/src/main/resources/config/application-dev.yml @@ -11,7 +11,7 @@ spring: # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:gcc_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:gcc_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: ${DB_USER:root} - password: ${DB_PWD:root} + password: ${DB_PWD:123456} # password: ${DB_PWD:Root.123456} # 初始连接数 initial-size: 5 diff --git a/hd/nladmin-system/src/main/resources/log/AgvWaitUtil.xml b/hd/nladmin-system/src/main/resources/log/AgvWaitUtil.xml new file mode 100644 index 0000000..4f37ef3 --- /dev/null +++ b/hd/nladmin-system/src/main/resources/log/AgvWaitUtil.xml @@ -0,0 +1,32 @@ + + + + + + + + + ${LOG_HOME}/反馈仙工取放货状态/%d{yyyy-MM-dd}.%i.log + + 15 + + 200MB + + 2GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + + + diff --git a/qd/public/config.js b/qd/public/config.js index c7b9835..1dc7d83 100644 --- a/qd/public/config.js +++ b/qd/public/config.js @@ -1,9 +1,9 @@ window.g = { dev: { - VUE_APP_BASE_API: '/' + VUE_APP_BASE_API: 'http://10.118.33.115:8010' }, prod: { - VUE_APP_BASE_API: 'http://127.0.0.1:8010' + VUE_APP_BASE_API: 'http://10.118.33.115:8010' } diff --git a/qd/vue.config.js b/qd/vue.config.js index 820dd10..fedc4a3 100644 --- a/qd/vue.config.js +++ b/qd/vue.config.js @@ -19,6 +19,8 @@ module.exports = { lintOnSave: process.env.NODE_ENV === 'development', productionSourceMap: false, devServer: { + allowedHosts: ['all'], + disableHostCheck: true, port: port, open: true, overlay: {