diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java index 94878b292..0d1e78051 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/AcsConfig.java @@ -77,6 +77,11 @@ public interface AcsConfig { * 是否存在wms系统 */ String HASWMS = "hasWms"; + + /** + * 是否请求wms系统 + */ + String ISWMS = "isWms"; /** * lucene日志索引目录 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java index a0529e88f..05a8d416c 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/TwoNDCSocketConnectionAutoRun.java @@ -22,6 +22,7 @@ import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.opc.DeviceAppService; import org.nl.config.SpringContextHolder; import org.nl.config.lucene.service.LuceneExecuteLogService; +import org.nl.config.lucene.service.dto.LuceneLogDto; import org.nl.system.service.param.ISysParamService; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -325,6 +326,12 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable { System.out.println("TwoAgv链接异常"); log.info("TwoAgv链接异常"); log.error("agv连接出现异常:{}", e); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code("agv连接出现异常") + .content("agv异常" + e.getMessage()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog("NDC2", "", "", "agv异常" + e.getMessage()); logServer.deviceExecuteLog("NDC2", "", "", "agv异常" + e); if (ObjectUtil.isNotEmpty(s)) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java index c8efa7ec1..7bb053d4d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/conveyor/belt_conveyor/BeltConveyorDeviceDriver.java @@ -210,7 +210,6 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements JSONObject led_message = null; - @Override public Device getDevice() { return this.device; @@ -245,8 +244,8 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements } if (move != 0 && task > 0) { - if (null!=inst) { - inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code(); + if (null != inst) { + inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + " " + "木箱号:" + inst.getVehicle_code2(); } CompletableFuture.runAsync(() -> { // 异步更新指令状态 @@ -261,7 +260,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements if (mode == 8 && !requireSucess) { if (container_type == 0) { message = "托盘类型为空"; - }else { + } else { applyEmptyTask(StorageTypeEnum.DISKS_OUT.getType(), mode); } @@ -332,7 +331,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements this.iserror = true; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(device_code) - .content(this.device_code+ "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null") + .content(this.device_code + "读取信号值时出现异常:" + var17.getMessage() + ",this.itemProtocol is null") .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); @@ -493,10 +492,10 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements } else { //查看是否存在输送线到对接为的指令 Instruction byNextDeviceCodeFromCache = instructionService.findByNextDeviceCodeFromCache(this.device_code); - if (ObjectUtil.isNotEmpty(byNextDeviceCodeFromCache)){ + if (ObjectUtil.isNotEmpty(byNextDeviceCodeFromCache)) { LuceneLogDto logDto = LuceneLogDto.builder() .device_code(device_code) - .content("存在堆垛机对接为的指令") + .content("存在到堆垛机对接位的就绪指令或者执行中的指令,"+"指令号为:"+byNextDeviceCodeFromCache.getInstruction_code()) .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); @@ -561,7 +560,7 @@ public class BeltConveyorDeviceDriver extends AbstractOpcDeviceDriver implements TaskDto taskdto = taskserver.findByStartCodeAndReady(device_code); if (ObjectUtil.isNotNull(taskdto)) { //移除行架任务 - if (taskdto.getTask_type().equals(TaskTypeEnum.Truss_Task.getIndex())){ + if (taskdto.getTask_type().equals(TaskTypeEnum.Truss_Task.getIndex())) { return false; } //判断指令的起点和当前的设备号相同 diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java index 029854b35..15e1c299e 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/box_subvolumes_conveyor/BoxSubvolumesConveyorDeviceDriver.java @@ -329,11 +329,50 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i String hand_barcode = null; this.instruction_require_time = date; if (StrUtil.equals(paramService.findByCode(AcsConfig.HASWMS).getValue(), "1")) { - //判断是否有手动补码 如果有就申请补码agv任务 - if (StrUtil.isNotEmpty(hand_barcode)) { + if (StrUtil.equals(paramService.findByCode(AcsConfig.ISWMS).getValue(), "1")) { + //判断是否有手动补码 如果有就申请补码agv任务 + if (StrUtil.isNotEmpty(hand_barcode)) { + JSONObject apply = new JSONObject(); + apply.put("device_code", device_code); + apply.put("vehicle_code", hand_barcode); + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("申请AGV任务,请求参数:" + apply) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + String str = acsToWmsService.applySendOutTwo(apply); + JSONObject jo = JSON.parseObject(str); + LuceneLogDto logDto2 = LuceneLogDto.builder() + .device_code(device_code) + .content("申请AGV任务,参数,接口返回:" + jo) + .build(); + logDto2.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto2); + message = "申请AGV任务,参数,接口返回:" + jo; + + if (jo.getInteger("status") == 200) { + List list1 = new ArrayList(); + Map map = new HashMap(); + map.put("code", "to_command"); + map.put("value", 19); + list1.add(map); + this.writing(list1); + LuceneLogDto logDto1 = LuceneLogDto.builder() + .device_code(device_code) + .content("申请AGV任务,返回参数:" + str) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); + requireSucess = true; + } + return; + } JSONObject apply = new JSONObject(); apply.put("device_code", device_code); - apply.put("vehicle_code", hand_barcode); + + apply.put("vehicle_code", material_barcode); + LuceneLogDto logDto = LuceneLogDto.builder() .device_code(device_code) .content("申请AGV任务,请求参数:" + apply) @@ -341,6 +380,8 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); String str = acsToWmsService.applySendOutTwo(apply); + logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,请求参数:" + apply + ",响应参数"); + JSONObject jo = JSON.parseObject(str); LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) @@ -349,60 +390,21 @@ public class BoxSubvolumesConveyorDeviceDriver extends AbstractOpcDeviceDriver i logDto2.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto2); message = "申请AGV任务,参数,接口返回:" + jo; - if (jo.getInteger("status") == 200) { - List list1 = new ArrayList(); + List list = new ArrayList(); Map map = new HashMap(); map.put("code", "to_command"); map.put("value", 19); - list1.add(map); - this.writing(list1); - LuceneLogDto logDto1 = LuceneLogDto.builder() - .device_code(device_code) - .content("申请AGV任务,返回参数:" + str) - .build(); - logDto1.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto1); + list.add(map); + this.writing(list); + logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,返回参数:" + jo); requireSucess = true; + } else { + message = "申请AGV任务报错,参数,接口返回:" + jo; + this.iserror = true; } - return; + } - JSONObject apply = new JSONObject(); - apply.put("device_code", device_code); - - apply.put("vehicle_code", material_barcode); - - LuceneLogDto logDto = LuceneLogDto.builder() - .device_code(device_code) - .content("申请AGV任务,请求参数:" + apply) - .build(); - logDto.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto); - String str = acsToWmsService.applySendOutTwo(apply); - logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,请求参数:" + apply + ",响应参数"); - - JSONObject jo = JSON.parseObject(str); - LuceneLogDto logDto2 = LuceneLogDto.builder() - .device_code(device_code) - .content("申请AGV任务,参数,接口返回:" + jo) - .build(); - logDto2.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto2); - message = "申请AGV任务,参数,接口返回:" + jo; - if (jo.getInteger("status") == 200) { - List list = new ArrayList(); - Map map = new HashMap(); - map.put("code", "to_command"); - map.put("value", 19); - list.add(map); - this.writing(list); - logServer.deviceExecuteLog(this.device_code, "", "", "申请AGV任务,返回参数:" + jo); - requireSucess = true; - } else { - message = "申请AGV任务报错,参数,接口返回:" + jo; - this.iserror = true; - } - } } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java index df7be278f..6ae6150f3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/finished_product_out_with_bind_lable_conveyor/FinishedProductOutBindLableDeviceDriver.java @@ -121,7 +121,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr int last_to_height = 0; - String material_barcode = null; String last_material_barcode = null; @@ -200,7 +199,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr if (move != 0 && task > 0) { update_instruction_status(); } - if (move != last_move && move==0 && last_move==1) { + if (move != last_move && move == 0 && last_move == 1) { requireSucess = false; clearWrite(); } @@ -231,7 +230,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr //申请任务 if (move > 0 && !requireSucess) { instruction_require(); - }else { + } else { String remark = ""; ; if (mode != 2) { @@ -286,7 +285,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr } case 17: //申请调试贴标 - if(move > 0 && !requireSucess){ + if (move > 0 && !requireSucess) { applyLaStrangulationAndLabeling(mode); } break; @@ -306,7 +305,6 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr } - last_mode = mode; last_move = move; last_carrier_direction = carrier_direction; @@ -324,20 +322,20 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr private void clearWrite() { List list = new ArrayList<>(); Map map = new HashMap<>(); - map.put("code","to_target"); - map.put("value","0"); + map.put("code", "to_target"); + map.put("value", "0"); list.add(map); Map map2 = new HashMap<>(); - map2.put("code","to_task"); - map2.put("value","0"); + map2.put("code", "to_task"); + map2.put("value", "0"); list.add(map2); Map map4 = new HashMap<>(); - map4.put("code","to_container_type"); - map4.put("value","0"); + map4.put("code", "to_container_type"); + map4.put("value", "0"); list.add(map4); this.writing(list); - message=null; + message = null; inst_message = null; } @@ -349,7 +347,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr } else { this.require_apply_strangulation_time = date; Instruction inst = instructionService.findByCodeFromCache(String.valueOf(task)); - if (ObjectUtil.isEmpty(inst) && StrUtil.isEmpty(inst.getVehicle_code())) { + if (ObjectUtil.isEmpty(inst) || StrUtil.isEmpty(inst.getVehicle_code())) { message = "指令为空、或者托盘码未空"; return; } @@ -366,7 +364,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr String response = acsToWmsService.deviceApplyTwo(param); JSONObject jo = JSON.parseObject(response); message = "申请捆扎,参数,接口返回:" + jo; - if ( jo.getInteger("status") == 200) { + if (jo.getInteger("status") == 200) { LuceneLogDto logDto2 = LuceneLogDto.builder() .device_code(device_code) .content("申请捆扎,参数,接口返回:" + jo) @@ -574,7 +572,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr list.add(map11); } - if(mode == 17){ + if (mode == 17) { String case1 = jo.get("case").toString(); String direction = jo.get("direction").toString(); Map map = new HashMap(); @@ -597,13 +595,13 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr map11.put("code", "to_binding_times"); map11.put("value", bundleTimes); list.add(map11); - if(StrUtil.isNotEmpty(case1) && !" ".equals(case1)){ + if (StrUtil.isNotEmpty(case1) && !" ".equals(case1)) { Map map12 = new HashMap(); map12.put("code", "to_binding_times"); map12.put("value", bundleTimes); list.add(map12); } - if(StrUtil.isNotEmpty(direction) && !" ".equals(direction)){ + if (StrUtil.isNotEmpty(direction) && !" ".equals(direction)) { Map map13 = new HashMap(); map13.put("code", "to_direction"); map13.put("value", direction); @@ -708,7 +706,7 @@ public class FinishedProductOutBindLableDeviceDriver extends AbstractOpcDeviceDr jo.put("is_click", true); jo.put("requireSucess", requireSucess); jo.put("driver_type", "siemens_conveyor"); - jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); + jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage)); return jo; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java index e59cd546c..4fc5bbd68 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/scanner_weight_conveyor/ConveyorWithScannerWeightDeviceDriver.java @@ -337,7 +337,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv message = "条码为空"; } else { applyErrorHeight(); - } + } } @@ -355,7 +355,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv if (mode != 2) { remark = "universal_remark2"; } - if (move != 0) { + if (move != 1) { remark = "universal_remark3"; } if (task != 0) { @@ -776,7 +776,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv TaskDto taskdto = taskserver.findByVehicleCodeCodeAndReady(barcode); if (!ObjectUtil.isEmpty(taskdto)) { if (creatInstruction(taskdto)) return false; - }else { + } else { message = "未找到载具码信息相匹配的任务"; //如果不存在则直接找对应指令直接下发信号 if (pushPLC()) return false; @@ -1063,6 +1063,7 @@ public class ConveyorWithScannerWeightDeviceDriver extends AbstractOpcDeviceDriv .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); + logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); logServer.deviceExecuteLog(device_code, "", "", "下发电气信号:" + itemMap); try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java index 42b12c165..ecac2f048 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_conveyor/un_box_lable_conveyor/UnBoxLableConveyorDeviceDriver.java @@ -260,7 +260,7 @@ public class UnBoxLableConveyorDeviceDriver extends AbstractOpcDeviceDriver impl .build(); logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); - String response = acsToWmsService.getBoxInfo(param); + String response = acsToWmsService.getIsUncap(param); JSONObject jo = JSON.parseObject(response); message = "木箱开盖,返回参数:" + jo; if (jo.getInteger("status") == 200) { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/rgv/OneRgvDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/rgv/OneRgvDeviceDriver.java index 8658a3ef8..909627f25 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/rgv/OneRgvDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/rgv/OneRgvDeviceDriver.java @@ -315,7 +315,7 @@ public class OneRgvDeviceDriver extends AbstractOpcDeviceDriver implements Devic map.put("mode", mode); map.put("move", move); /*jo.put("action", action);*/ - /*jo.put("task", task);*/ + map.put("task", task); /*jo.put("walk_y", this.walk_y);*/ map.put("isOnline", this.getIsonline()); map.put("error", ErrorUtil.getDictDetail("rgv_error_type", String.valueOf(this.getError()))); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java index cc271ded6..3e84eba7b 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/one_manipulator/trapped_manipulator/TrappedManipulatorManipulatorDeviceDriver.java @@ -162,7 +162,6 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice if (mode != last_mode) { - requireSucess = false; } // 更新指令状态 @@ -306,6 +305,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); return false; } else { + boolean flag = true; this.instruction_require_time = date; //抓取工位 if (ObjectUtil.isEmpty(getDeviceCodeList)) { @@ -406,6 +406,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice BeltConveyorDeviceDriver beltConveyorDeviceDriverStart; BeltConveyorDeviceDriver beltConveyorDeviceDriverEnd; + if (startDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { beltConveyorDeviceDriverStart = (BeltConveyorDeviceDriver) startDevice.getDeviceDriver(); if (beltConveyorDeviceDriverStart.getMove() != 1 && beltConveyorDeviceDriverStart.getMode() != 2) { @@ -415,7 +416,20 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice } if (nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { beltConveyorDeviceDriverEnd = (BeltConveyorDeviceDriver) nextDevice.getDeviceDriver(); - if (beltConveyorDeviceDriverEnd.getMove() != 1 && beltConveyorDeviceDriverEnd.getMode() != 2) { + if (beltConveyorDeviceDriverEnd.getMove() == 1 && beltConveyorDeviceDriverEnd.getMode() == 2) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("当前任务号:" + taskDto.getTask_code() + " " + next_device_code + "当前move值为:" + beltConveyorDeviceDriverEnd.getMove() + ",当前mode值为:"+beltConveyorDeviceDriverEnd.getMode()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + }else { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("当前任务号:" + taskDto.getTask_code() + " " + next_device_code + "当前move值为:" + beltConveyorDeviceDriverEnd.getMove() + ",当前mode值为:"+beltConveyorDeviceDriverEnd.getMode()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); notCreateInstMessage = "universal_notCreateInstMessage2"; return false; } @@ -436,7 +450,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice .device_code(device_code) .content(device_code + "创建指令时出现异常:" + e.getMessage()) .build(); - logDto.setLog_level(2); + logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); return false; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java index 4a4b76ec6..ea1377efb 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/stacker/standard_stacker/StandardStackerDeviceDriver.java @@ -377,7 +377,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme if (mode == 0 || command == 9) { this.setIsonline(false); - message = "universal_off"; + message = "universal_off-line"; } else { this.setIsonline(true); } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blank_manipulator/BlankManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blank_manipulator/BlankManipulatorDeviceDriver.java index 5d630f8b9..f28ac552a 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blank_manipulator/BlankManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/blank_manipulator/BlankManipulatorDeviceDriver.java @@ -692,7 +692,7 @@ public class BlankManipulatorDeviceDriver extends AbstractOpcDeviceDriver implem jo.put("task", task); jo.put("walk_y", walk_y); jo.put("isOnline", this.getIsonline()); - jo.put("error", ErrorUtil.getDictDetail("error_type", String.valueOf(this.getError()))); + jo.put("error", ErrorUtil.getDictDetail("bchj_error_type", String.valueOf(this.getError()))); jo.put("isError", this.getIserror()); jo.put("message", LangProcess.msg(message)); jo.put("notCreateTaskMessage", LangProcess.msg(notCreateTaskMessage)); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java index a2f26edad..6159fe605 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/plug_pull_device_site/PlugPullDeviceSiteDeviceDriver.java @@ -268,8 +268,8 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl case 10: if (!requireSucess) { //请求密集库出气胀轴,申请行架任务 - boolean b =applyQzz(mode); - if(b){ + boolean b = applyQzz(mode); + if (b) { requireSucess = true; } } @@ -713,8 +713,8 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl return false; } else { JSONObject jo = new JSONObject(); - jo.put("device_code",this.getDevice_code()); - jo.put("size",this.getSize()); + jo.put("device_code", this.getDevice_code()); + jo.put("size", this.getSize()); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(device_code) .content("请求密集库出气胀轴,请求参数:" + jo) @@ -724,11 +724,11 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl logServer.deviceExecuteLog(this.device_code, "", "", "请求密集库出气胀轴,参数:" + jo); HttpResponse httpResponse = acsToWmsService.callShaftFromCache(jo); JSONObject jsonObject = null; - if(ObjectUtil.isNotEmpty(httpResponse)){ + if (ObjectUtil.isNotEmpty(httpResponse)) { String body = httpResponse.body(); jsonObject = JSONObject.parseObject(body); } - if(ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200){ + if (ObjectUtil.isNotNull(jsonObject) && jsonObject.getInteger("status") == 200) { Map map = new HashMap(); map.put("to_command", 10); try { @@ -748,13 +748,19 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl luceneExecuteLogService.deviceExecuteLog(logDto1); } return true; - }else{ - LuceneLogDto logDto2 = LuceneLogDto.builder() + } else { + Map map = new LinkedHashMap<>(); + map.put("to_command", 99); + this.writing(map); + requireSucess = true; + message = "请求密集库出气胀轴,申请行架任务失败"; + LuceneLogDto logDto1 = LuceneLogDto.builder() .device_code(device_code) - .content("请求密集库出气胀轴" + httpResponse.body()) + .content("请求密集库出气胀轴,申请行架任务失败,返回参数:" + jsonObject) .build(); - logDto2.setLog_level(4); - luceneExecuteLogService.deviceExecuteLog(logDto2); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); + logServer.deviceExecuteLog(this.device_code, "", "", "请求密集库出气胀轴,申请行架任务失败,返回参数:" + jsonObject); return false; } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java index fa22e4166..8c91ffc55 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_head_manipulator/PullHeadManipulatorDeviceDriver.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.druid.sql.visitor.functions.If; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.Data; @@ -238,10 +239,25 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp }*/ map.put("to_command", "5"); this.writing(map); + message = "universal_message1"; finish_instruction(inst); } catch (Exception e) { e.printStackTrace(); } + feedMessage = ""; + } + } else { + if (mode != 3) { + feedMessage = "universal_feedMessage1"; + } + if (action != 4) { + feedMessage = "universal_feedMessage2"; + } + if (move != 0) { + feedMessage = "universal_feedMessage3"; + } + if (task == 0) { + feedMessage = "universal_feedMessage4"; } } } @@ -340,54 +356,75 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp for (int i = 0; i < getDeviceCodeList.size(); i++) { String startDeviceCode = getDeviceCodeList.get(i); //先查指令 - List taskDtos = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode); + List taskDtos = taskserver.queryTaskByDeviceCodeAndStatus3(startDeviceCode); if (ObjectUtil.isNotEmpty(taskDtos)) { - List taskDtoStream = taskDtos.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList()); - if (ObjectUtil.isNotEmpty(taskDtoStream)) { - TaskDto taskDto = taskDtos.get(0); - if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDto.getTask_type())) { - String startPoint = taskDto.getStart_device_code(); - Device startPointDevice = deviceAppService.findDeviceByCode(startPoint); - if (startPointDevice.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { - plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) startPointDevice.getDeviceDriver(); - if (plugPullDeviceSiteDeviceDriver.getAction() != 1) { - notCreateInstMessage = "universal_notCreateInstMessage9"; - continue; - } + taskDtos = this.sortTask(taskDtos); + TaskDto taskDto = taskDtos.get(0); + + if (!StrUtil.equals(taskDto.getTask_type(), "6") && !StrUtil.equals(taskDto.getTask_type(), "8")) { + taskDto = null; + continue; + } + Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code()); + if (ObjectUtil.isNotEmpty(instruction)) { + String startCode = instruction.getStart_device_code(); + String nextCode = instruction.getNext_device_code(); + Device startDevice = deviceAppService.findDeviceByCode(startCode); + Device nextDevice = deviceAppService.findDeviceByCode(nextCode); + if (startDevice.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { + plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) startDevice.getDeviceDriver(); + if (plugPullDeviceSiteDeviceDriver.getAction() != 1) { + notCreateInstMessage = startCode + "工位状态为不允许取,无法生成指令"; + return false; } - String nextDeviceCode = taskDto.getNext_device_code(); - Device device = deviceAppService.findDeviceByCode(nextDeviceCode); - if (device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { - plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) device.getDeviceDriver(); - if (plugPullDeviceSiteDeviceDriver.getMove() != 0 || plugPullDeviceSiteDeviceDriver.getAction() != 2) { - notCreateInstMessage = "universal_notCreateInstMessage9"; - continue; - } - } - Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code()); - String startCode = instruction.getStart_device_code(); - String nextCode = instruction.getNext_device_code(); - instruction.setInstruction_status(InstructionStatusEnum.BUSY.getIndex()); - instruction.setUpdate_time(DateUtil.now()); - instructionService.update(instruction); - Device startDevice = deviceAppService.findDeviceByCode(startCode); - Device nextDevice = deviceAppService.findDeviceByCode(nextCode); - if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) { - notCreateInstMessage = "universal_notCreateInstMessage1"; - throw new BadRequestException("设备:" + startDevice.getDevice_code() + "未设置电气调度号!"); - } - if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) { - notCreateInstMessage = "universal_notCreateInstMessage1"; - throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!"); - } - String startAddr = startDevice.getExtraValue().get("address").toString(); - String nextAddr = nextDevice.getExtraValue().get("address").toString(); - String interaction_json = taskDto.getInteraction_json(); - Map map = toStringObjectMap(instruction, startAddr, nextAddr, interaction_json); - this.writing(map); - this.setRequireSucess(true); - return true; } + + if (nextDevice.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { + plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) device.getDeviceDriver(); + if (plugPullDeviceSiteDeviceDriver.getAction() != 2) { + notCreateInstMessage = nextCode + "工位状态为不允许放,无法生成指令"; + return false; + } + } + + if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) { + notCreateInstMessage = "未设置电气调度号!"; + throw new BadRequestException("设备:" + startDevice.getDevice_code() + "未设置电气调度号!"); + } + if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) { + notCreateInstMessage = "未设置电气调度号!"; + throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!"); + } + String startAddr = startDevice.getExtraValue().get("address").toString(); + String nextAddr = nextDevice.getExtraValue().get("address").toString(); + String msg = "当前设备:" + device_code + ",下发指令:" + + instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code() + + ",指令终点:" + instruction.getNext_device_code(); + LuceneLogDto logDto1 = LuceneLogDto.builder() + .device_code(device_code) + .content(msg) + .build(); + logDto1.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto1); + String interaction_json = taskDto.getInteraction_json(); + Map map = toStringObjectMap(instruction, startAddr, nextAddr, interaction_json); + try { + this.writing(map); + } catch (Exception e) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("当前设备:" + device_code + ",下发指令:" + + instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code() + + ",指令终点:" + instruction.getNext_device_code() + ",指令执行失败:" + e.getMessage()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + } + instruction.setInstruction_status(InstructionStatusEnum.BUSY.getIndex()); + instruction.setUpdate_time(DateUtil.now()); + instructionService.update(instruction); + this.setRequireSucess(true); + return true; } } else { List taskDtoList = taskserver.findByTrappedManipulatorReady(); @@ -402,36 +439,7 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp List readyTaskDtos = new ArrayList<>(); for (int j = 0; j < taskDtosReady.size(); j++) { task = taskDtosReady.get(j); - String firstDeviceCode = task.getStart_device_code(); - Device start_device = deviceAppService.findDeviceByCode(firstDeviceCode); - if (start_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { - plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) start_device.getDeviceDriver(); - if (plugPullDeviceSiteDeviceDriver.getAction() != 1) { - notCreateInstMessage = "universal_notCreateInstMessage12"; - continue; - } - } - String nextDeviceCode = task.getNext_device_code(); - Device next_device = deviceAppService.findDeviceByCode(nextDeviceCode); - if (next_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { - plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) next_device.getDeviceDriver(); - String remark = ""; -// if (plugPullDeviceSiteDeviceDriver.getMode() != 2) { -// remark = "universal_notCreateInstMessage9"; -// notCreateInstMessage = remark; -// continue; -// } - if (plugPullDeviceSiteDeviceDriver.getMove() != 0) { - remark = "universal_notCreateInstMessage9"; - notCreateInstMessage = remark; - continue; - } - if (plugPullDeviceSiteDeviceDriver.getAction() != 2) { - remark = "universal_notCreateInstMessage11"; - notCreateInstMessage = remark; - continue; - } - } + readyTaskDtos.add(task); } //按照优先级排序 优先级相等按照创建时间排序 @@ -451,8 +459,25 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp String startPointCode = task.getStart_point_code(); String routePlanCode = task.getRoute_plan_code(); String nextPointCode = task.getNext_point_code(); + String firstDeviceCode = task.getStart_device_code(); + Device start_device = deviceAppService.findDeviceByCode(firstDeviceCode); + if (start_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { + plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) start_device.getDeviceDriver(); + if (plugPullDeviceSiteDeviceDriver.getAction() != 1) { + notCreateInstMessage = firstDeviceCode + "工位状态为不允许取,无法生成指令"; + return false; + } + } String nextDeviceCode = task.getNext_device_code(); + Device next_device = deviceAppService.findDeviceByCode(nextDeviceCode); + if (next_device.getDeviceDriver() instanceof PlugPullDeviceSiteDeviceDriver) { + plugPullDeviceSiteDeviceDriver = (PlugPullDeviceSiteDeviceDriver) next_device.getDeviceDriver(); + if (plugPullDeviceSiteDeviceDriver.getAction() != 2) { + notCreateInstMessage = nextDeviceCode + "工位状态为不允许放,无法生成指令"; + return false; + } + } Instruction instdto = new Instruction(); instdto.setInstruction_id(IdUtil.simpleUUID()); @@ -484,6 +509,9 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp luceneExecuteLogService.deviceExecuteLog(logDto); return false; } + logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:" + + instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code() + + ",指令终点:" + instdto.getNext_device_code()); //创建指令后修改任务状态 task.setTask_status(TaskStatusEnum.BUSY.getIndex()); task.setUpdate_time(DateUtil.now()); @@ -492,12 +520,12 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp Device startDevice = deviceAppService.findDeviceByCode(instdto.getStart_device_code()); Device nextDevice = deviceAppService.findDeviceByCode(instdto.getNext_device_code()); if (ObjectUtil.isEmpty(startDevice.getExtraValue().get("address"))) { - notCreateInstMessage = "universal_notCreateInstMessage1"; + notCreateInstMessage = "未设置电气调度号"; logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + startDevice.getDevice_code() + "未设置电气调度号!"); throw new BadRequestException(LangProcess.msg("device_checkAdd", startDevice.getDevice_code())); } if (ObjectUtil.isEmpty(nextDevice.getExtraValue().get("address"))) { - notCreateInstMessage = "universal_notCreateInstMessage1"; + notCreateInstMessage = "未设置电气调度号!"; logServer.deviceExecuteLog(this.getDevice_code(), "", "", "设备:" + nextDevice.getDevice_code() + "未设置电气调度号!"); throw new BadRequestException(LangProcess.msg("device_checkAdd", nextDevice.getDevice_code())); @@ -506,12 +534,22 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp String nextAddr = nextDevice.getExtraValue().get("address").toString(); String interaction_json = task.getInteraction_json(); Map map = toStringObjectMap(instdto, startAddr, nextAddr, interaction_json); - this.writing(map); + try { + this.writing(map); + } catch (Exception e) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("当前设备:" + device_code + ",下发指令:" + + instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code() + + ",指令终点:" + instdto.getNext_device_code() + ",指令执行失败:" + e.getMessage()) + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + } this.setRequireSucess(true); - notCreateInstMessage = ""; - notCreateTaskMessage = ""; + return true; } else { - notCreateInstMessage = "universal_notCreateInstMessage"; + notCreateInstMessage = "找到关联设备的任务,指令无法创建"; } return true; } @@ -679,7 +717,7 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp .device_code(device_code) .content("下发多个电气信号" + itemMap) .build(); - logDto.setLog_level(3); + logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } } @@ -757,7 +795,7 @@ public class PullHeadManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp map.put("is_click", true); map.put("message", LangProcess.msg(message)); map.put("notCreateTaskMessage", LangProcess.msg(notCreateTaskMessage)); - map.put("notCreateInstMessage", this.getDeviceCode() + LangProcess.msg(notCreateInstMessage)); + map.put("notCreateInstMessage", notCreateInstMessage); map.put("error", ErrorUtil.getDictDetail("bqhj_error_type", String.valueOf(this.getError()))); /*jo.put("x", xPosition); jo.put("y", yPosition);*/ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java index fe01c9995..a9ea13b24 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/pull_tail_manipulator/PullTailManipulatorDeviceDriver.java @@ -253,11 +253,11 @@ public class PullTailManipulatorDeviceDriver extends AbstractOpcDeviceDriver imp message = "反馈LMS子卷重量失败:"+ applyfeedbackSubVolumeWeightResponse.getMessage(); luceneExecuteLogService.deviceExecuteLog(logDto1); } - } else if(mode == 3){ + } else { feedMessage = "行架机械手:"; - /*if (mode != 3) { + if (mode != 3) { feedMessage = feedMessage + "mode不为运行中状态,"; - }*/ + } if (action != 5) { feedMessage = feedMessage + "action不为反馈重量状态,"; } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/data/CreateTaskRequest.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/data/CreateTaskRequest.java index ea0e1df3b..c1f04f9cb 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/data/CreateTaskRequest.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/data/CreateTaskRequest.java @@ -41,6 +41,11 @@ public class CreateTaskRequest extends BaseRequest { */ String vehicle_code; + /** + * 木箱号 + */ + String vehicle_code2; + /** * 载具类型 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java index 1de6f9f02..fb67ef342 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/AcsToWmsService.java @@ -193,6 +193,8 @@ public interface AcsToWmsService { String getBoxInfo(JSONObject param); + String getIsUncap(JSONObject param); + /** * 反馈管芯抓取位 * @param param diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java index 9c960a81d..0cdb1ca55 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/AcsToWmsServiceImpl.java @@ -661,7 +661,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } log.info("getBoxInfo-----输出参数{}", result2.body()); LuceneLogDto luceneLogDto = new LuceneLogDto(4,"getBoxInfo", String.valueOf(result2.getStatus()), - JSON.toJSONString(param), String.valueOf(result2.body()), "二期发货申请捆扎、贴标"); + JSON.toJSONString(param), String.valueOf(result2.body()), "申请高度等级"); luceneLogService.interfaceExecuteLog(luceneLogDto); return result2.body(); @@ -670,6 +670,51 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } } + @Override + public String getIsUncap(JSONObject param) { + try { + MDC.put(log_file_type, log_type); + log.info("getIsUncap-----输入参数{}", param); + String wmsurl = paramService.findByCode(AcsConfig.WMSURL).getValue(); + AddressDto addressDto = addressService.findByCode("getIsUncap"); + String url = wmsurl + addressDto.getMethods_url(); + HttpResponse result2 = null; + try { + result2 = HttpRequest.post(url) + .addInterceptor(tLogHutoolhttpInterceptor) + .header(Header.USER_AGENT, "Hutool http") + .header("Authorization", token) + .body(String.valueOf(param)) + .execute(); + } catch (Exception e) { + String msg = e.getMessage(); + log.info("getIsUncap-----输出参数{}", msg); + //网络不通 + } + if(ObjectUtil.isEmpty(result2)){ + log.info("getIsUncap-----输出参数{}", "返回结果为空"); + return null; + } + String type = ""; + if (result2.getStatus() == 200) { + type = "info"; + } else { + type = "error"; + } + log.info("getIsUncap-----输出参数{}", result2.body()); + LuceneLogDto luceneLogDto = new LuceneLogDto(4,"getIsUncap", String.valueOf(result2.getStatus()), + JSON.toJSONString(param), String.valueOf(result2.body()), "申请开盖"); + luceneLogService.interfaceExecuteLog(luceneLogDto); + return result2.body(); + + } finally { + MDC.remove(log_file_type); + } + } + + + + @Override public String secondaryAllocationPoint(JSONObject param) { try { diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index ef451055b..24e231720 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -127,6 +127,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { String put_device_code = request.getPut_device_code(); String priority = request.getPriority(); String vehicle_code = request.getVehicle_code(); + String vehicle_code2 = request.getVehicle_code2(); String vehicle_type = request.getVehicle_type(); String route_plan_code = request.getRoute_plan_code(); String task_type = request.getTask_type(); @@ -310,6 +311,15 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { } } +// if (StrUtil.isEmpty(vehicle_code2)) { +// JSONObject json = new JSONObject(); +// json.put("task_code", task_code); +// json.put("ext_task_id", ext_task_id); +// json.put("message", " 木箱号不能为空!"); +// errArr.add(json); +// continue; +// } + if (StrUtil.isEmpty(start_point_code)) { JSONObject json = new JSONObject(); json.put("task_code", task_code); @@ -345,6 +355,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("agv_action_type", agv_action_type); jo.put("priority", priority); jo.put("vehicle_code", vehicle_code); + jo.put("vehicle_code2", vehicle_code2); jo.put("vehicle_type", vehicle_type); jo.put("storage_task_type", storage_task_type); jo.put("agv_system_type", agv_system_type); diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java index e7d89ad47..10e081809 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -183,7 +183,7 @@ public interface InstructionService extends CommonService { * @param dto * @throws Exception */ - void create(Instruction dto) throws Exception; + boolean create(Instruction dto) throws Exception; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto.java index a9e802d6b..21094ce0d 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/dto/InstructionDto.java @@ -286,6 +286,11 @@ public class InstructionDto implements Serializable { */ private String vehicle_code; + /** + * 木箱号 + */ + private String vehicle_code2; + /** * 载具类型 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 2f7c07661..2a08eb4b1 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -83,7 +83,11 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; +import java.io.DataInputStream; +import java.io.DataOutputStream; import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Socket; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; import java.util.regex.Pattern; @@ -333,6 +337,7 @@ public class InstructionServiceImpl extends CommonServiceImpl(instructionMapper) .eq(InstructionMybatis::getTask_code, code) + .eq(InstructionMybatis::getInstruction_status, InstructionStatusEnum.BUSY.getIndex()) .one(); if (ObjectUtil.isEmpty(ins)) { return null; @@ -375,7 +380,7 @@ public class InstructionServiceImpl extends CommonServiceImpl inst.getStart_device_code() .equals(start_device_code))) { - return; + return false; } } String currentUsername = SecurityUtils.getCurrentNickName(); @@ -412,9 +417,13 @@ public class InstructionServiceImpl extends CommonServiceImpl { */ List queryTaskByDeviceCodeAndStatus(String device_code); + /** + * 根据设备号和任务状态查询 + * + * @param device_code + * @return List + */ + List queryTaskByDeviceCodeAndStatus3(String device_code); + + + + /** * 根据前工位取货点查找执行中的任务 * diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java index 9a4639c96..8a77885cc 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/dto/TaskDto.java @@ -148,6 +148,11 @@ public class TaskDto implements Serializable { */ private String start_point_code2; + /** + * 木箱号 + */ + private String vehicle_code2; + /** * 起始设备编码 */ diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index c244b102a..634f6bf65 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -124,6 +124,14 @@ public class TaskServiceImpl extends CommonServiceImpl impleme private static final String TASK_TYPE = "8"; + /** + * 拔前行架任务类型 + */ + private static final String BQHJ_TYPE = "6"; + + + + @Override public PageInfo queryAll(TaskQueryParam query, Pageable pageable) { IPage queryPage = PageUtil.toMybatisPage(pageable); @@ -483,6 +491,36 @@ public class TaskServiceImpl extends CommonServiceImpl impleme } + + @Override + public List queryTaskByDeviceCodeAndStatus3(String device_code) { + + List collect = Optional + .ofNullable(this.tasks) + .orElse(new CopyOnWriteArrayList<>()) + .stream() + .filter(task -> task.getStart_device_code().equals(device_code) + && StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex())) + .filter(task -> instructionService.findByTaskcodeAndStatus(task.getTask_code()) != null) + .collect(Collectors.toList()); + if(CollUtil.isEmpty(collect)){ + tasks.forEach( + task ->{ + if(BQHJ_TYPE.equals(task.getTask_type()) && StrUtil.isNotEmpty(task.getPut_device_code())){ + Instruction instruction = instructionService.findByDeviceCodeFromCache(task.getNext_device_code()); + if (ObjectUtil.isNotEmpty(instruction)) { + if (StrUtil.equals(instruction.getStart_device_code(), device_code)) { + collect.add(task); + } + } + } + } + ); + } + return collect; + + } + @Override public List queryTaskByStartAndIntStatus(String head_start_device_code) { return Optional diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/rest/HandController.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/rest/HandController.java index f433a780f..1a063cf6b 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/rest/HandController.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/hand/rest/HandController.java @@ -29,7 +29,7 @@ import java.util.Map; @Api(tags = "手持接口") @RequestMapping("api/hand") @Slf4j -public class HandController { +public class HandController { @Autowired private HandService handService; diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java index 45c0d30ef..6c8389ea3 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java @@ -64,6 +64,7 @@ public class AutoCreateInst { String taskcode = acsTask.getTask_code(); String task_type = acsTask.getTask_type(); String vehiclecode = acsTask.getVehicle_code(); + String vehiclecode2 = acsTask.getVehicle_code2(); String storage_task_type = acsTask.getStorage_task_type(); String priority = acsTask.getPriority(); String is_send = acsTask.getIs_send(); @@ -139,6 +140,7 @@ public class AutoCreateInst { instdto.setTask_id(taskid); instdto.setTask_code(taskcode); instdto.setVehicle_code(vehiclecode); + instdto.setVehicle_code2(vehiclecode2); String now = DateUtil.now(); instdto.setCreate_time(now); instdto.setCreate_by(SecurityUtils.getCurrentNickName()); @@ -191,9 +193,9 @@ public class AutoCreateInst { } else { instdto.setAgv_inst_type("4"); } + boolean flag; try { - instructionService.create(instdto); - + flag = instructionService.create(instdto); } catch (Exception e) { acsTask.setRemark(e.getMessage()); taskserver.updateByCodeFromCache(acsTask); @@ -206,9 +208,12 @@ public class AutoCreateInst { continue; } //创建指令后修改任务状态 - acsTask.setTask_status(TaskStatusEnum.BUSY.getIndex()); - acsTask.setUpdate_time(DateUtil.now()); - taskserver.update(acsTask); + + if (flag) { + acsTask.setTask_status(TaskStatusEnum.BUSY.getIndex()); + acsTask.setUpdate_time(DateUtil.now()); + taskserver.update(acsTask); + } } } diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java index eaa04365c..c3d4868fc 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java @@ -76,6 +76,7 @@ public class CreateDDJInst { String taskcode = taskDto.getTask_code(); String task_type = taskDto.getTask_type(); String vehiclecode = taskDto.getVehicle_code(); + String vehiclecode2 = taskDto.getVehicle_code2(); String priority = taskDto.getPriority(); String start_device_code = taskDto.getStart_device_code(); @@ -230,6 +231,7 @@ public class CreateDDJInst { instdto.setTask_id(taskid); instdto.setTask_code(taskcode); instdto.setVehicle_code(vehiclecode); + instdto.setVehicle_code2(vehiclecode2); String now = DateUtil.now(); instdto.setCreate_time(now); instdto.setCreate_by(SecurityUtils.getCurrentNickName()); @@ -331,6 +333,7 @@ public class CreateDDJInst { instdto.setTask_id(taskid); instdto.setTask_code(taskcode); instdto.setVehicle_code(vehiclecode); + instdto.setVehicle_code2(vehiclecode2); String now = DateUtil.now(); instdto.setCreate_time(now); instdto.setCreate_by(SecurityUtils.getCurrentNickName()); diff --git a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties index 43c3a015f..392bddae2 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties +++ b/acs2/nladmin-system/nlsso-server/src/main/resources/language/monitor/universal/universal.properties @@ -51,7 +51,7 @@ universal_feedMessage10=\u524D\u5DE5\u4F4D\u5149\u7535\u4FE1\u53F7\u4E0D\u5E94\u universal_feedMessage11=\u540E\u5DE5\u4F4D\u5149\u7535\u4FE1\u53F7\u4E0D\u5E94\u8BE5\u4E3A\u6709\u8D27\u72B6\u6001 universal_write_erro=\u5199\u5165\u4FE1\u53F7\u5931\u8D25 universal_notCreateInstMessage1=\u672A\u8BBE\u7F6E\u7535\u6C14\u8C03\u5EA6\u53F7! -universal_notCreateInstMessage2=\u5149\u7535\u65E0\u8D27,\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! +universal_notCreateInstMessage2=\u5149\u7535\u65E0\u8D27\u5E76\u4E14\u5DE5\u4F5C\u6A21\u5F0F\u4E0D\u4E3A\u5F85\u673A,\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage3=\u8BBE\u5907\u5F85\u673A\u6216\u4E0D\u5141\u8BB8\u8FDB\u5165 universal_notCreateInstMessage4=ddj\u5BF9\u63A5\u4F4D\u6709\u8D27,\u65E0\u6CD5\u751F\u6210\u6307\u4EE4! universal_notCreateInstMessage5=\u5B58\u5728\u76F8\u540C\u8DEF\u7EBF\u7684\u6307\u4EE4! diff --git a/acs2/nladmin-ui/src/i18n/langs/instruction/en.js b/acs2/nladmin-ui/src/i18n/langs/instruction/en.js index 5706ec26e..4074ab7fe 100644 --- a/acs2/nladmin-ui/src/i18n/langs/instruction/en.js +++ b/acs2/nladmin-ui/src/i18n/langs/instruction/en.js @@ -5,6 +5,7 @@ export default { 'instruction_type': 'Instruction Type', 'task_code': 'Task Code', 'vehicle_code': 'Vehicle Code', + 'vehicle_code2': 'Box Code', 'instruction_status': 'Instruction Status', 'send_status': 'Send Status', 'start_point_code': 'Start Device Code', @@ -21,6 +22,7 @@ export default { 'update_time': 'Update Time', 'input_taskCode_or_instCode': 'Input TaskCode Or InstCode', 'input_vehicleCode': 'Input VehicleCode', + 'input_vehicleCode2': 'Input BoxCode', 'material': 'Material Type', 'task_status': 'Task Status', 'input_startCode_or_nextCode': 'Input StartCode Or NextCode', diff --git a/acs2/nladmin-ui/src/i18n/langs/instruction/in.js b/acs2/nladmin-ui/src/i18n/langs/instruction/in.js index 4daf4da08..5ff4fcce0 100644 --- a/acs2/nladmin-ui/src/i18n/langs/instruction/in.js +++ b/acs2/nladmin-ui/src/i18n/langs/instruction/in.js @@ -5,6 +5,7 @@ export default { 'instruction_type': 'Jenis Instruksi', 'task_code': 'Nomor Tugas', 'vehicle_code': 'Nomor Kendaraan', + 'vehicle_code2': 'Nomor kotak kayu', 'instruction_status': 'Status Perintah', 'send_status': 'Status Pengiriman', 'start_point_code': 'Titik Penjemputan', @@ -21,6 +22,7 @@ export default { 'update_time': 'Ubah Waktu', 'input_taskCode_or_instCode': 'Masukkan Nomor Tugas Atau Nomor Instruksi', 'input_vehicleCode': 'Masukkan Nomor Kendaraan', + 'input_vehicleCode2': 'Masukkan Nomor kotak kayu', 'material': 'Jenis Barang', 'task_status': 'Status Tugas', 'input_startCode_or_nextCode': 'Jenis Barang', diff --git a/acs2/nladmin-ui/src/i18n/langs/instruction/zh.js b/acs2/nladmin-ui/src/i18n/langs/instruction/zh.js index 2d7f9fda3..0168c846e 100644 --- a/acs2/nladmin-ui/src/i18n/langs/instruction/zh.js +++ b/acs2/nladmin-ui/src/i18n/langs/instruction/zh.js @@ -5,6 +5,7 @@ export default { 'instruction_type': '指令类型', 'task_code': '任务号', 'vehicle_code': '载具号', + 'vehicle_code2': '木箱号', 'instruction_status': '指令状态', 'send_status': '下发状态', 'start_point_code': '取货点', @@ -21,6 +22,7 @@ export default { 'update_time': '修改时间', 'input_taskCode_or_instCode': '输入任务号或指令号', 'input_vehicleCode': '输入载具号', + 'input_vehicleCode2': '输入木箱号', 'material': '物料类型', 'task_status': '任务状态', 'input_startCode_or_nextCode': '输入起点或终点', diff --git a/acs2/nladmin-ui/src/i18n/langs/task/zh.js b/acs2/nladmin-ui/src/i18n/langs/task/zh.js index 2c537da26..b79c399ca 100644 --- a/acs2/nladmin-ui/src/i18n/langs/task/zh.js +++ b/acs2/nladmin-ui/src/i18n/langs/task/zh.js @@ -3,6 +3,7 @@ export default { 'txt_box': { 'Enter_task_number': '输入任务号', 'Vehicle_registration_number': '输入载具号', + 'Vehicle2_registration_number': '输入木箱号', 'Material_type': '物料类型', 'Task_status': '任务状态', 'Origin_or_destination': '输入起点或终点', @@ -18,6 +19,7 @@ export default { 'agv_action_type': 'agv二次分配类型', 'Priority': '优先级', 'Vehicle_number': '载具号', + 'Vehicle_number2': '木箱号', 'Task_code': '任务号', 'Task': '任务', 'start_or_end': '起点或终点', diff --git a/acs2/nladmin-ui/src/views/acs/history/instRecord/index.vue b/acs2/nladmin-ui/src/views/acs/history/instRecord/index.vue index 89390338a..d434d39ab 100644 --- a/acs2/nladmin-ui/src/views/acs/history/instRecord/index.vue +++ b/acs2/nladmin-ui/src/views/acs/history/instRecord/index.vue @@ -32,6 +32,17 @@ @keyup.enter.native="crud.toQuery" /> + + + +