rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/AgvController.java
@@ -2,6 +2,7 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.api.service.AgvService; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -46,11 +47,11 @@ @PreAuthorize("hasAuthority('manager:basStation:list')") @ApiOperation("站点绑定") @PostMapping("/AGV/staBind") public R getAGVStaBind(@RequestBody Map<String, Object> params) { if (Objects.isNull(params)) { public R getAGVStaBind(@RequestBody WaitPakinParam waitPakinPda) { if (Objects.isNull(waitPakinPda)) { return R.error("参数不能为空!!"); } return agvService.getAGVStaBind(params); return agvService.getAGVStaBind(waitPakinPda); } @PreAuthorize("hasAuthority('manager:basStation:list')") @@ -66,20 +67,20 @@ @PreAuthorize("hasAuthority('manager:basStation:list')") @ApiOperation("AGV启动入库") @PostMapping("/AGV/task/start") public R AGVInTaskStart(@RequestBody Map<String, Object> params) { if (Objects.isNull(params)) { public R AGVInTaskStart(@RequestBody WaitPakinParam waitPakinPda) { if (Objects.isNull(waitPakinPda)) { return R.error("参数不能为空!!"); } return agvService.AGVInTaskStart(params, getLoginUserId()); return agvService.AGVInTaskStart(waitPakinPda, getLoginUserId()); } @PreAuthorize("hasAuthority('manager:basStation:list')") @ApiOperation("AGV绑定&入库") @PostMapping("/AGV/bindAndIn/start") public R AGVBindAndInTaskStart(@RequestBody Map<String, Object> params) { if (Objects.isNull(params)) { public R AGVBindAndInTaskStart(@RequestBody WaitPakinParam waitPakinPda) { if (Objects.isNull(waitPakinPda)) { return R.error("参数不能为空!!"); } return agvService.AGVBindAndInTaskStart(params, getLoginUserId()); return agvService.AGVBindAndInTaskStart(waitPakinPda, getLoginUserId()); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
@@ -8,6 +8,7 @@ import com.vincent.rsf.server.api.controller.erp.params.ManualShelvingParams; import com.vincent.rsf.server.api.controller.erp.params.OpStockParams; import com.vincent.rsf.server.api.controller.erp.params.OtherReceiptParams; import com.vincent.rsf.server.api.service.AgvService; import com.vincent.rsf.server.api.service.MobileService; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.QlyIsptItem; @@ -47,6 +48,8 @@ private TaskService taskService; @Autowired private WaitPakinService waitPakinService; @Autowired private AgvService agvService; /** * PDA用户登录 * @param param @@ -188,8 +191,8 @@ public void asyncProcessAfterValidation(WaitPakinParam waitPakinPda,Long userId) { try { Thread.sleep(500); WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, waitPakinPda.getBarcode())); taskService.generateFlatWarehouseTasks(waitPakin, waitPakinPda.getStaNo(), userId); // WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, waitPakinPda.getBarcode())); agvService.AGVBindAndInTaskStart(waitPakinPda, userId); // mobileService.mergeItemsWcs(waitPakin,userId); } catch (Exception e) { // log.error("异步处理AGV后续逻辑失败", e); rsf-server/src/main/java/com/vincent/rsf/server/api/service/AgvService.java
@@ -1,19 +1,20 @@ package com.vincent.rsf.server.api.service; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import java.util.Map; public interface AgvService { R getAGVStaBind(Map<String, Object> params); R getAGVStaBind(WaitPakinParam waitPakinPda); R getStaBindList(Map<String, Object> params); R AGVStaUnBind(Map<String, Object> params); R AGVInTaskStart(Map<String, Object> params ,Long loginUserId); R AGVInTaskStart(WaitPakinParam waitPakinPda,Long loginUserId); R getStaMsgSelect(Map<String, Object> params); R AGVBindAndInTaskStart(Map<String, Object> params, Long loginUserId); R AGVBindAndInTaskStart(WaitPakinParam waitPakinPda, Long loginUserId); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
@@ -6,6 +6,7 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.service.AgvService; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.LocStsType; import com.vincent.rsf.server.manager.enums.PakinIOStatus; @@ -37,11 +38,11 @@ @Override @Transactional(rollbackFor = Exception.class) public R AGVBindAndInTaskStart(Map<String, Object> params, Long loginUserId) { public R AGVBindAndInTaskStart(WaitPakinParam waitPakinPda, Long loginUserId) { //先绑定 getAGVStaBind(params); getAGVStaBind(waitPakinPda); //生成任务 AGVInTaskStart(params, loginUserId); AGVInTaskStart(waitPakinPda, loginUserId); return R.ok(); } @@ -81,9 +82,9 @@ @Override @Transactional(rollbackFor = Exception.class) public R AGVInTaskStart(Map<String, Object> params, Long loginUserId) { String sta = params.get("sta").toString(); String area = params.get("area").toString(); public R AGVInTaskStart(WaitPakinParam waitPakinPda, Long loginUserId) { String sta = waitPakinPda.getStaNo(); String area = waitPakinPda.getArea(); if (Cools.isEmpty(sta)) { throw new CoolException("接驳位条码不能为空"); } @@ -203,9 +204,9 @@ @Override @Transactional(rollbackFor = Exception.class) public R getAGVStaBind(Map<String, Object> params) { String barcode = params.get("barcode").toString(); String sta = params.get("sta").toString(); public R getAGVStaBind(WaitPakinParam waitPakinPda) { String barcode = waitPakinPda.getBarcode(); String sta = waitPakinPda.getStaNo(); //验证基础信息 BasStation basStation = checkStaStatus(barcode, sta); //更新站点状态 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WaitPakinParam.java
@@ -28,6 +28,9 @@ @ApiModelProperty("AGV站点") private String staNo = ""; @ApiModelProperty("AGV站点") private String area = ""; @ApiModelProperty("AGV呼叫标记") private int agvSign = 0;