From 3d7ce5cfeb82c3981609eac82dab5d3e210e0a59 Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Mon, 19 Dec 2022 21:31:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/acs/device/wql/task_inst.xls | Bin 194560 -> 194560 bytes .../agv/ndcone/AgvNdcOneDeviceDriver.java | 2 +- .../agv/ndctwo/AgvNdcTwoDeviceDriver.java | 2 +- ...CoveyorControlWithScannerDeviceDriver.java | 12 +- .../main/java/org/nl/acs/ext/wms/AcsUtil.java | 18 ++- .../wms/liKuData/BaseStoreReportRequest.java | 2 +- .../wms/liKuData/InStoreReportResponse.java | 1 + .../acs/ext/wms/rest/AcsToLiKuController.java | 6 +- .../acs/ext/wms/rest/LiKuToACSController.java | 54 ++++++++ .../acs/ext/wms/service/LiKuToAcsService.java | 32 +++++ .../service/impl/LiKuToAcsServiceImpl.java | 116 ++++++++++++++++++ .../service/InstructionService.java | 4 +- .../service/impl/InstructionServiceImpl.java | 67 +++++++--- .../main/java/org/nl/acs/log/LokiLogType.java | 3 +- .../log/service/DeviceExecuteLogService.java | 10 ++ .../impl/DeviceExecuteLogServiceImpl.java | 10 ++ .../src/views/acs/instruction/index.vue | 16 +-- acs/nladmin-ui/src/views/acs/task/index.vue | 2 +- 18 files changed, 319 insertions(+), 38 deletions(-) create mode 100644 acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/LiKuToACSController.java create mode 100644 acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/LiKuToAcsService.java create mode 100644 acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device/wql/task_inst.xls b/acs/nladmin-system/src/main/java/org/nl/acs/device/wql/task_inst.xls index 17313e14e8c9a1c82b6edb192e6365786aa202d3..468753b27ba0fcded09434c4037fac155a1c54b2 100644 GIT binary patch delta 9850 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 diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index f472e1403..28a354971 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -63,7 +63,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic int last_status = 0; int last_error = 0; - @LokiLog(type = LokiLogType.ACA_TO_LMS) + @LokiLog(type = LokiLogType.ACS_TO_LMS) public synchronized void processSocket(int[] arr) throws Exception { device_code = this.getDeviceCode(); byte[] data = null; diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndctwo/AgvNdcTwoDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndctwo/AgvNdcTwoDeviceDriver.java index 2756307c3..1965d2939 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndctwo/AgvNdcTwoDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndctwo/AgvNdcTwoDeviceDriver.java @@ -50,7 +50,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic int phase = 0; int region = 0; - @LokiLog(type = LokiLogType.ACA_TO_LMS) + @LokiLog(type = LokiLogType.ACS_TO_LMS) public synchronized void processSocket(int[] arr) throws Exception { device_code = this.getDeviceCode(); byte[] data = null; diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_conveyor_control_with_scanner/StandardCoveyorControlWithScannerDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_conveyor_control_with_scanner/StandardCoveyorControlWithScannerDeviceDriver.java index c0ad4b1b1..5a3ad75c7 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_conveyor_control_with_scanner/StandardCoveyorControlWithScannerDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/standard_conveyor_control_with_scanner/StandardCoveyorControlWithScannerDeviceDriver.java @@ -375,9 +375,9 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe String path = routeLineDto.getPath(); String type = routeLineDto.getType(); String[] str = path.split("->"); - if (!StrUtil.equals(type, "0")) { - return false; - } +// if (!StrUtil.equals(type, "0")) { +// return false; +// } List pathlist = Arrays.asList(str); int index = 0; for (int m = 0; m < pathlist.size(); m++) { @@ -479,9 +479,9 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe String path = routeLineDto.getPath(); String type = routeLineDto.getType(); String[] str = path.split("->"); - if (!StrUtil.equals(type, "0")) { - return false; - } +// if (!StrUtil.equals(type, "0")) { +// return false; +// } List pathlist = Arrays.asList(str); int index = 0; for (int m = 0; m < pathlist.size(); m++) { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/AcsUtil.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/AcsUtil.java index 8f78cb017..4ce629b33 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/AcsUtil.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/AcsUtil.java @@ -3,18 +3,29 @@ package org.nl.acs.ext.wms; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.log.LokiLog; +import org.nl.acs.log.LokiLogType; +import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.impl.ParamServiceImpl; import org.nl.modules.wql.util.SpringContextHolder; +import org.springframework.beans.factory.annotation.Autowired; /** * ACS连接外部系统工具类: */ +@Slf4j public class AcsUtil { + + + @LokiLog(type = LokiLogType.ACS_TO_LK) public static String notifyAcs(String api, W requestParam) { + DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class);; ParamService paramService = SpringContextHolder.getBean(ParamServiceImpl.class); //判断是否连接立库WCS系统 String isConnect = paramService.findByCode("is_connect_liKu_Wcs").getValue(); @@ -23,16 +34,21 @@ public class AcsUtil { } String liKu_wcs_url = paramService.findByCode("liKu_wcs_url").getValue(); try { - return HttpRequest + logServer.extLog(LokiLogType.ACS_TO_LK.name(),"下发立库任务请求参数:{}"+JSON.toJSONString(requestParam) ); + log.info("下发立库任务请求参数:{}", JSON.toJSONString(requestParam)); + String body = HttpRequest .post(liKu_wcs_url + api) .body(JSON.toJSONString(requestParam)) .execute() .body(); + log.info("下发立库任务返回参数:{}", body); + return body; } catch (Exception e) { JSONObject result = new JSONObject(); result.put("result", "false"); result.put("code", ""); result.put("comment", e.getMessage()); + log.info("下发立库任务异常返回参数:{}", String.valueOf(result)); return String.valueOf(result); } } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/BaseStoreReportRequest.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/BaseStoreReportRequest.java index 72bf4507e..ad29613b5 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/BaseStoreReportRequest.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/BaseStoreReportRequest.java @@ -37,5 +37,5 @@ public class BaseStoreReportRequest { * 出库任务上报 1已接收任务,2开始执行,3执行完成 * 移库任务上报 1 已接收 2开始执行3 执行完成 4 起点库位有货被阻挡 5目的点库位无货被阻挡 */ - public int state; + public String state; } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/InStoreReportResponse.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/InStoreReportResponse.java index 5c467939d..e12fb5013 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/InStoreReportResponse.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/liKuData/InStoreReportResponse.java @@ -10,4 +10,5 @@ import lombok.Data; */ @Data public class InStoreReportResponse extends BaseResponseData { + } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/AcsToLiKuController.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/AcsToLiKuController.java index 94c72b175..f97c4977d 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/AcsToLiKuController.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/AcsToLiKuController.java @@ -83,21 +83,21 @@ public class AcsToLiKuController { } @PostMapping("/inStoreReport") - @Log("向立库下发入库任务上报") + @Log("入库任务上报") @ApiOperation("向立库下发入库任务上报") public ResponseEntity inStoreReport(@RequestBody InStoreReportRequest requestParam) { return new ResponseEntity<>(acsToLiKuService.inStoreReport(requestParam), HttpStatus.OK); } @PostMapping("/outStoreReport") - @Log("向立库下发出库任务上报") + @Log("出库任务上报") @ApiOperation("向立库下发出库任务上报") public ResponseEntity outStoreReport(@RequestBody OutStoreReportRequest requestParam) { return new ResponseEntity<>(acsToLiKuService.outStoreReport(requestParam), HttpStatus.OK); } @PostMapping("/moveStoreReport") - @Log("向立库下发移库任务上报") + @Log("移库任务上报") @ApiOperation("向立库下发移库任务上报") public ResponseEntity moveStoreReport(@RequestBody MoveStoreReportRequest requestParam) { return new ResponseEntity<>(acsToLiKuService.moveStoreReport(requestParam), HttpStatus.OK); diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/LiKuToACSController.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/LiKuToACSController.java new file mode 100644 index 000000000..ab7148792 --- /dev/null +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/LiKuToACSController.java @@ -0,0 +1,54 @@ + +package org.nl.acs.ext.wms.rest; + + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.ext.wms.liKuData.*; +import org.nl.acs.ext.wms.service.AcsToLiKuService; +import org.nl.acs.ext.wms.service.LiKuToAcsService; +import org.nl.modules.logging.annotation.Log; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +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; + +/** + * @author wangs + * @date 2021-07-21 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "立库接口") +@RequestMapping("/api/likuToACS") +@Slf4j +public class LiKuToACSController { + private final LiKuToAcsService liKuToAcsService; + + @PostMapping("/inStoreReport") + @Log("入库任务上报") + @ApiOperation("向立库下发入库任务上报") + public ResponseEntity inStoreReport(@RequestBody InStoreReportRequest requestParam) throws Exception { + return new ResponseEntity<>(liKuToAcsService.inStoreReport(requestParam), HttpStatus.OK); + } + + @PostMapping("/outStoreReport") + @Log("出库任务上报") + @ApiOperation("向立库下发出库任务上报") + public ResponseEntity outStoreReport(@RequestBody OutStoreReportRequest requestParam) throws Exception { + return new ResponseEntity<>(liKuToAcsService.outStoreReport(requestParam), HttpStatus.OK); + } + + @PostMapping("/moveStoreReport") + @Log("移库任务上报") + @ApiOperation("向立库下发移库任务上报") + public ResponseEntity moveStoreReport(@RequestBody MoveStoreReportRequest requestParam) throws Exception { + return new ResponseEntity<>(liKuToAcsService.moveStoreReport(requestParam), HttpStatus.OK); + } + + +} diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/LiKuToAcsService.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/LiKuToAcsService.java new file mode 100644 index 000000000..12c4d0a14 --- /dev/null +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/LiKuToAcsService.java @@ -0,0 +1,32 @@ +package org.nl.acs.ext.wms.service; + +import org.nl.acs.ext.wms.liKuData.*; + +/** + * @author: wangs + * @createDate: 2022/11/24 + */ +public interface LiKuToAcsService { + + /** + * 入库任务上报 + * @param requestParam + * @return + */ + public Resp inStoreReport(InStoreReportRequest requestParam) throws Exception; + + /** + * 出库任务上报 + * @param requestParam + * @return + */ + public Resp outStoreReport(OutStoreReportRequest requestParam) throws Exception; + + /** + * 移库任务上报 + * @param requestParam + * @return + */ + public Resp moveStoreReport(MoveStoreReportRequest requestParam) throws Exception; + +} diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java new file mode 100644 index 000000000..65341e155 --- /dev/null +++ b/acs/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/LiKuToAcsServiceImpl.java @@ -0,0 +1,116 @@ +package org.nl.acs.ext.wms.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.address.service.AddressService; +import org.nl.acs.ext.wms.AcsUtil; +import org.nl.acs.ext.wms.RespUtil; +import org.nl.acs.ext.wms.liKuData.*; +import org.nl.acs.ext.wms.service.AcsToLiKuService; +import org.nl.acs.ext.wms.service.LiKuToAcsService; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.instruction.service.dto.Instruction; +import org.nl.acs.task.service.TaskService; +import org.springframework.stereotype.Service; + +/** + * 立库WCS接口 + * + * @author: wangs + * @createDate: 2022/11/24 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class LiKuToAcsServiceImpl implements LiKuToAcsService { + + private final AddressService addressService; + + private final TaskService taskService; + + private final InstructionService instructionService; + + + @Override + public Resp inStoreReport(InStoreReportRequest requestParam) throws Exception { + String inst_code = requestParam.getOrderId(); + String status = requestParam.getState(); + Instruction inst = instructionService.findByCodeFromCache(inst_code); + // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 + if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ + inst.setInstruction_status("1"); + } else if(StrUtil.equals(status,"3")){ + inst.setInstruction_status("2"); + instructionService.finish(inst.getInstruction_id()); + } else { + + } + InStoreReportResponse inStoreReportResponse = new InStoreReportResponse(); + inStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "true"); + result.put("code", "0"); + result.put("comment", ""); + result.put("data", inStoreReportResponse ); + + return RespUtil.getResp(result.toString(), new InStoreReportResponse()); + } + + @Override + public Resp outStoreReport(OutStoreReportRequest requestParam) throws Exception { + String inst_code = requestParam.getOrderId(); + String status = requestParam.getState(); + Instruction inst = instructionService.findByCodeFromCache(inst_code); + // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 + if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ + inst.setInstruction_status("1"); + } else if(StrUtil.equals(status,"3")){ + inst.setInstruction_status("2"); + instructionService.finish(inst.getInstruction_id()); + } else { + + } + OutStoreReportResponse outStoreReportResponse = new OutStoreReportResponse(); + outStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "true"); + result.put("code", "0"); + result.put("comment", ""); + result.put("data", outStoreReportResponse ); + + return RespUtil.getResp(result.toString(), new OutStoreReportResponse()); + + + } + + @Override + public Resp moveStoreReport(MoveStoreReportRequest requestParam) throws Exception { + String inst_code = requestParam.getOrderId(); + String status = requestParam.getState(); + Instruction inst = instructionService.findByCodeFromCache(inst_code); + // 1 已接收 2 开始执行 3执行完成 4 阻挡 5 空洞 + if(StrUtil.equals(status,"1") || StrUtil.equals(status,"2") ){ + inst.setInstruction_status("1"); + } else if(StrUtil.equals(status,"3")){ + inst.setInstruction_status("2"); + instructionService.finish(inst.getInstruction_id()); + } else { + + } + MoveStoreReportResponse moveStoreReportResponse = new MoveStoreReportResponse(); + moveStoreReportResponse.setOrderId(inst_code); + JSONObject result = new JSONObject(); + result.put("result", "true"); + result.put("code", "0"); + result.put("comment", ""); + result.put("data", moveStoreReportResponse ); + + return RespUtil.getResp(result.toString(), new MoveStoreReportResponse()); + + + } + + +} diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java index bda5d43c5..62c9d7559 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -179,13 +179,15 @@ public interface InstructionService { void cancelNOSendAgv(String id) throws Exception; /** - * 根据编码缓存查询 + * 根据指令编号缓存查询 * * @param code code * @return Instruction */ Instruction findByCodeFromCache(String code); + + List findByLinkNum(String code); /** diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 415b48a05..c54fb99d3 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -22,7 +22,7 @@ import org.nl.acs.device_driver.basedriver.hongxiang_device.HongXiangConveyorDev import org.nl.acs.device_driver.basedriver.standard_conveyor_control_with_scanner.StandardCoveyorControlWithScannerDeviceDriver; import org.nl.acs.device_driver.basedriver.standard_inspect_site.StandardInspectSiteDeviceDriver; import org.nl.acs.device_driver.basedriver.standard_storage.StandardStorageDeviceDriver; -import org.nl.acs.ext.wms.liKuData.InStoreRequest; +import org.nl.acs.ext.wms.liKuData.*; import org.nl.acs.ext.wms.service.AcsToLiKuService; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.dto.Instruction; @@ -339,38 +339,76 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu } if (StrUtil.equals(shortPathsList.get(0).getType(), "1")){ // 0为输送、立库任务 1 1楼叉车系统 2 2楼1区域AGV系统 3 2楼2区域AGV系统 - if (!StrUtil.equals(task.getAgv_system_type(), "0")) { + if (!StrUtil.equals(task.getAgv_system_type(), "0") && ObjectUtil.isNotEmpty(task.getAgv_system_type())) { NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class); ndcAgvService.sendAgvInstToNDC(task.getAgv_system_type(),dto); } else { //入库 AcsToLiKuService acsToLiKuService = SpringContextHolder.getBean(AcsToLiKuService.class); - + Resp resp = null; if(StrUtil.equals(task.getStorage_task_type(),"1")){ InStoreRequest request = new InStoreRequest(); - request.setFloorNo(Integer.parseInt(dto.getTo_z())); - acsToLiKuService.inStore(request); + request.setType(1); + request.setOrderId(dto.getInstruction_code()); + request.setSrcLocation(dto.getStart_point_code()); + request.setDestLocation(dto.getNext_point_code()); + resp = acsToLiKuService.inStore(request); //空托入库 } else if (StrUtil.equals(task.getStorage_task_type(),"2")){ - + InStoreRequest request = new InStoreRequest(); + request.setFloorNo(Integer.parseInt(dto.getTo_z())); + request.setType(2); + request.setOrderId(dto.getInstruction_code()); + request.setSrcLocation(dto.getStart_point_code()); + request.setDestLocation(dto.getNext_point_code()); + resp = acsToLiKuService.inStore(request); //出库 } else if (StrUtil.equals(task.getStorage_task_type(),"3")){ - + OutStoreRequest outStore = new OutStoreRequest(); + BaseStoreRequest baseReq = new BaseStoreRequest(); + List list = new ArrayList(); + baseReq.setOrderId(dto.getInstruction_code()); + baseReq.setSrcLocation(dto.getStart_point_code()); + baseReq.setDestLocation(dto.getNext_point_code()); + baseReq.setFloorNo(Integer.parseInt(dto.getFrom_z())); + baseReq.setPalletCode(dto.getVehicle_code()); + list.add(baseReq); + outStore.setOrderInfos(list); + outStore.setGroupId(dto.getInstruction_code()); + resp = acsToLiKuService.outStore(outStore); //空托出库 } else if (StrUtil.equals(task.getStorage_task_type(),"4")) { - + EmptyVehicleOutStoreRequest emptyVehicleOutStoreRequest = new EmptyVehicleOutStoreRequest(); + emptyVehicleOutStoreRequest.setOrderId(dto.getInstruction_code()); + emptyVehicleOutStoreRequest.setFloorNo(Integer.parseInt(dto.getFrom_z())); + emptyVehicleOutStoreRequest.setSrcLocation(dto.getStart_point_code()); + emptyVehicleOutStoreRequest.setDestLocation(dto.getNext_point_code()); + emptyVehicleOutStoreRequest.setPalletCode(dto.getVehicle_code()); + resp = acsToLiKuService.emptyVehicleOutStore(emptyVehicleOutStoreRequest); //转库 } else if (StrUtil.equals(task.getStorage_task_type(),"5")) { - + MoveStoreRequest moveStoreRequest = new MoveStoreRequest(); + BaseStoreRequest baseReq = new BaseStoreRequest(); + List list = new ArrayList(); + baseReq.setFloorNo(Integer.parseInt(dto.getFrom_z())); + baseReq.setPalletCode(dto.getVehicle_code()); + baseReq.setOrderId(dto.getInstruction_code()); + baseReq.setSrcLocation(dto.getStart_point_code()); + baseReq.setDestLocation(dto.getNext_point_code()); + list.add(baseReq); + resp = acsToLiKuService.moveStore(moveStoreRequest); } - - + if(ObjectUtil.isNotEmpty(resp)){ + if(StrUtil.equals(resp.getResult(),"true")){ + dto.setSend_status("1"); + } else { + dto.setSend_status("2"); + dto.setRemark(resp.getData().toString()); + } + } } - - - } } catch (Exception e) { dto.setSend_status("2"); @@ -971,6 +1009,7 @@ public class InstructionServiceImpl implements InstructionService, ApplicationAu return null; } + @Override public Instruction findByBarcodeFromCache(String barcode) { for (int i = 0; i < this.instructions.size(); i++) { diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/log/LokiLogType.java b/acs/nladmin-system/src/main/java/org/nl/acs/log/LokiLogType.java index 5e6fb7951..c41a3ddbf 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/log/LokiLogType.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/log/LokiLogType.java @@ -8,7 +8,8 @@ package org.nl.acs.log; public enum LokiLogType { DEFAULT("默认"), AGV("AGV接口日志"), - ACA_TO_LMS("ACS请求LMS"); + ACS_TO_LMS("ACS请求LMS"), + ACS_TO_LK("ACS请求立库"); private String desc; diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/log/service/DeviceExecuteLogService.java b/acs/nladmin-system/src/main/java/org/nl/acs/log/service/DeviceExecuteLogService.java index 403c25063..ec6e8425c 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/log/service/DeviceExecuteLogService.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/log/service/DeviceExecuteLogService.java @@ -20,4 +20,14 @@ public interface DeviceExecuteLogService { * @param message 日志信息 */ void deviceExecuteLog(String device_code, String vehicle_code, String inst_code, String message); + + /** + * 设备执行日志,会保留历史记录 + * + * @param name 日志名称 + * @param message 日志信息 + */ + void extLog(String name, String message); + + } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/log/service/impl/DeviceExecuteLogServiceImpl.java b/acs/nladmin-system/src/main/java/org/nl/acs/log/service/impl/DeviceExecuteLogServiceImpl.java index 9f13ac621..1b17132ce 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/log/service/impl/DeviceExecuteLogServiceImpl.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/log/service/impl/DeviceExecuteLogServiceImpl.java @@ -36,6 +36,16 @@ public class DeviceExecuteLogServiceImpl implements DeviceExecuteLogService { MDC.remove("device_code_log"); } } + + @Override + public void extLog(String name, String message) { + try { + MDC.put(name, name); + log.info("{}", message); + } finally { + MDC.remove(name); + } + } } diff --git a/acs/nladmin-ui/src/views/acs/instruction/index.vue b/acs/nladmin-ui/src/views/acs/instruction/index.vue index c32b007f9..7d5c0ed88 100644 --- a/acs/nladmin-ui/src/views/acs/instruction/index.vue +++ b/acs/nladmin-ui/src/views/acs/instruction/index.vue @@ -110,7 +110,7 @@ - + @@ -133,13 +133,13 @@ - - - - + + + + + + + diff --git a/acs/nladmin-ui/src/views/acs/task/index.vue b/acs/nladmin-ui/src/views/acs/task/index.vue index 17dad559f..999e5640c 100644 --- a/acs/nladmin-ui/src/views/acs/task/index.vue +++ b/acs/nladmin-ui/src/views/acs/task/index.vue @@ -379,7 +379,7 @@ import { getDicts } from '@/api/system/dict' export default { name: 'Task', components: { pagination, crudOperation }, - dicts: ['task_status', 'task_type', 'agv_system_type'], + dicts: ['task_status', 'task_type', 'agv_system_type', 'storage_task_type'], mixins: [presenter(), header(), crud()], cruds() { return CRUD({ title: '任务', url: 'api/task', idField: 'task_id', sort: 'task_id,desc',