From c0f4c17c49b7b3a3212869192601986bd72b66aa Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Fri, 2 Sep 2022 10:00:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B9=B3=E6=9D=BF=E5=85=85?= =?UTF-8?q?=E7=94=B5=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/acs/agv/server/AgvService.java | 8 ++++ .../acs/agv/server/impl/AgvServiceImpl.java | 47 +++++++++++++++++++ .../hand/andxy/rest/Ndxy1HandController.java | 44 +++++++++++++++++ .../hand/andxy/rest/NdxyHandController.java | 7 +++ .../hand/andxy/service/NdxyHandService.java | 3 ++ .../service/impl/NdxyHandServiceImpl.java | 15 +++++- .../auto/run/NDCSocketConnectionAutoRun.java | 6 +++ 7 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/Ndxy1HandController.java diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java index 5d789c8..4a7d41a 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java @@ -182,4 +182,12 @@ public interface AgvService { String queryDeviceStation(); + + /** + * 下发充电任务 + * @param carno + * @return + */ + public boolean createChargingTaskToNDC(String carno); + } 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 dc58b1a..c486077 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 @@ -40,6 +40,7 @@ import org.nl.acs.opc.DeviceType; import org.nl.acs.task.service.TaskService; import org.nl.exception.BadRequestException; import org.nl.logger.BusinessLogger; +import org.nl.modules.system.util.CodeUtil; import org.nl.start.auto.run.NDCSocketConnectionAutoRun; import org.nl.utils.SpringContextHolder; import org.springframework.beans.factory.annotation.Autowired; @@ -1974,6 +1975,52 @@ public class AgvServiceImpl implements AgvService { return null; } + + + @Override + public boolean createChargingTaskToNDC(String carno) { + + byte carhigh = (byte) IntToHexHigh(Integer.parseInt(carno)); + byte carlow = (byte) IntToHexLow(Integer.parseInt(carno)); + + String instcode = CodeUtil.getNewCode("INSTRUCT_NO"); + byte instcodehigh = (byte) IntToHexHigh(Integer.parseInt(instcode)); + byte instcodelow = (byte) IntToHexLow(Integer.parseInt(instcode)); + + String str = "十进制下发:"; + String str1 = "十六进制下发:"; + str += "carno:" + (Integer.parseInt(carno)); + str1 += "carno:" + hexToString(carhigh & 0xFF) + hexToString(carlow & 0xFF); + + str += "/instcode:" + (instcode); + str1 += "/instcode:" + hexToString(instcodehigh & 0xFF) + hexToString(instcodelow & 0xFF); + + System.out.println(str); + System.out.println(str1); + + byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD, + (byte) 0X00, (byte) 0X08, + (byte) 0X00, (byte) 0X0C, + (byte) 0X00, (byte) 0X01, + (byte) 0X00, (byte) 0X71, + (byte) 0X00, (byte) 0X08, + (byte) 0X64, (byte) 0X80, + (byte) 0X00, (byte) 0X01, + (byte) instcodehigh, (byte) instcodelow, + (byte) carhigh, (byte) carlow + }; + log.info("下发AGV充电任务--{}", str1); + + try{ + NDCSocketConnectionAutoRun.write(b); + } catch (Exception e){ + e.getMessage(); + return false; + } + System.out.println("下发agv充电任务数据:" + Bytes2HexString(b)); + return true; + } + String hexToString(int i) { return (i < 16 ? "0" + Integer.toHexString(i) : Integer.toHexString(i)).toUpperCase(); } diff --git a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/Ndxy1HandController.java b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/Ndxy1HandController.java new file mode 100644 index 0000000..64ab751 --- /dev/null +++ b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/Ndxy1HandController.java @@ -0,0 +1,44 @@ + +package org.nl.hand.andxy.rest; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; +import org.nl.annotation.rest.AnonymousPostMapping; +import org.nl.hand.andxy.service.NdxyHandService; +import org.nl.modules.system.service.UserService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + * @author qxuan + * @date 2021-07-21 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "纽迪希亚手持接口") +@RequestMapping("/api/andxy1/hand") +@Slf4j +public class Ndxy1HandController { + private final PasswordEncoder passwordEncoder; + private final UserService userService; + private final NdxyHandService HandService; + + @AnonymousPostMapping("/createChargingTask") + @Log("创建任务") + @ApiOperation("创建任务") + //@PreAuthorize("@el.check('sect:list')") + public ResponseEntity createChargingTask(@RequestBody Map whereJson) { + return new ResponseEntity<>(HandService.createChargingTask(whereJson), HttpStatus.OK); + } +} diff --git a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/NdxyHandController.java b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/NdxyHandController.java index d6d2d1f..48790d5 100644 --- a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/NdxyHandController.java +++ b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/rest/NdxyHandController.java @@ -153,4 +153,11 @@ public class NdxyHandController { return new ResponseEntity<>(HandService.createTask2(whereJson), HttpStatus.OK); } + @AnonymousPostMapping("/createChargingTask") + @Log("创建任务") + @ApiOperation("创建任务") + //@PreAuthorize("@el.check('sect:list')") + public ResponseEntity createChargingTask(@RequestBody Map whereJson) { + return new ResponseEntity<>(HandService.createChargingTask(whereJson), HttpStatus.OK); + } } diff --git a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/NdxyHandService.java b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/NdxyHandService.java index 2113fed..159101b 100644 --- a/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/NdxyHandService.java +++ b/hd/nladmin-system/src/main/java/org/nl/hand/andxy/service/NdxyHandService.java @@ -112,4 +112,7 @@ public interface NdxyHandService { Map queryMaterial(); Map createTask2(Map whereJson); + + Map createChargingTask(Map whereJson); + } 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 ec8e13c..aef2718 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 @@ -60,8 +60,7 @@ public class NdxyHandServiceImpl implements NdxyHandService { private final PasswordEncoder passwordEncoder; private final DeviceService deviceService; private final DeviceAppService deviceAppService; - InstructionService instructionService = null; - + private final AgvService agvService; @Override public Map queryArea(Map whereJson) { @@ -805,6 +804,18 @@ public class NdxyHandServiceImpl implements NdxyHandService { return jo; } + + @Override + public Map createChargingTask(Map whereJson) { + String type = whereJson.get("type"); + AgvService agvService = SpringContextHolder.getBean(AgvServiceImpl.class); + agvService.createChargingTaskToNDC(type); + JSONObject jo = new JSONObject(); + jo.put("code", "1"); + jo.put("desc", "创建成功"); + return jo; + } + @Override public Map createTask2(Map whereJson) { String type = whereJson.get("type"); 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 4662f54..8f79467 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 @@ -2462,6 +2462,12 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { } } else if (phase == 0x64) { data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else if (phase == 0x65) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else if (phase == 0x66) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } else if (phase == 0x67) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); } //上报异常 else if (phase == 0x67) {