rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/MobileController.java
@@ -20,6 +20,7 @@ import io.swagger.annotations.ApiOperation; import org.apache.tika.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; @@ -171,7 +172,28 @@ if (Objects.isNull(waitPakin.getItems()) || waitPakin.getItems().isEmpty()) { return R.error("跟踪码不能为空!!"); } return R.ok(mobileService.mergeItems(waitPakin, userId)); // return R.ok(mobileService.mergeItems(waitPakin, userId)); try{ mobileService.mergeItems(waitPakin, userId); if (waitPakin.getAgvSign()==1) { asyncProcessAfterValidation(waitPakin,userId); } } catch (Exception e){ return R.error(e.getMessage()); } return R.ok(); } @Async 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); // mobileService.mergeItemsWcs(waitPakin,userId); } catch (Exception e) { // log.error("异步处理AGV后续逻辑失败", e); } } @PreAuthorize("hasAuthority('manager:waitPakin:update')") rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java
@@ -43,6 +43,8 @@ WaitPakin mergeItems(WaitPakinParam waitPakin, Long userId); WaitPakin mergeItemsWcs(WaitPakinParam waitPakin, Long userId); WaitPakin unBind(WaitPakinParam param); R inspect(String code, Long loginUserId); rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -564,6 +564,17 @@ } /** * @author Munch D. Luffy * @date 2026/01/09 * @description: PDA组拖 * @version 1.0 */ @Override public WaitPakin mergeItemsWcs(WaitPakinParam waitPakin, Long userId) { return waitPakinService.mergeItemsWcs(waitPakin, userId); } /** * @param param * @return * @author Ryan rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -984,6 +984,9 @@ return R.error("参数不能为空!!"); } Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSuperTaskNo())); if (Cools.isEmpty(one)) { return R.error(params.getSuperTaskNo()+"任务号==>未查询到相关任务!!!"); } if (params.getMsgType().equals(WcsMsgTypeEvent.TASK_COMPLETE.event)){ if (!Cools.isEmpty(one)) { one.setTaskStatus(one.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.AWAIT.id); rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -92,7 +92,7 @@ } @PreAuthorize("hasAuthority('manager:task:remove')") @ApiOperation("取消/删除工作极档") @ApiOperation("取消/删除工作档") @PostMapping("/task/remove/{ids}") public R remove(@PathVariable Long[] ids) { if (Objects.isNull(ids) || ids.length < 1) { rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/WaitPakinParam.java
@@ -26,7 +26,10 @@ private String type; @ApiModelProperty("AGV站点") private String staNo; private String staNo = ""; @ApiModelProperty("AGV呼叫标记") private int agvSign = 0; } rsf-server/src/main/java/com/vincent/rsf/server/manager/service/WaitPakinService.java
@@ -10,6 +10,7 @@ public interface WaitPakinService extends IService<WaitPakin> { WaitPakin mergeItems(WaitPakinParam waitPakin, Long userId); WaitPakin mergeItemsWcs(WaitPakinParam waitPakin, Long userId); WaitPakin unBind(WaitPakinParam param); rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -174,6 +174,22 @@ return pakin; } /** * @author Munch D. Luffy * @date 2026/01/09 * @description: PDA组拖后呼叫AGV * @version 1.0 */ @Override @Transactional(rollbackFor = Exception.class) public synchronized WaitPakin mergeItemsWcs(WaitPakinParam waitPakin, Long userId) { return null; } /** * @param * @return