自动化立体仓库 - WMS系统
skyouc
6 天以前 3f2643f77411671088ee432b72b69f0931ac7bb9
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -60,6 +60,13 @@
    @Resource
    private StaDescService staDescService;
    @PostMapping("/agv/callEmptyCar")
    @ManagerAuth
    public R pdaAgvFinishedCall(@RequestBody AgvCallParams params) {
        return mobileService.callEmptyCar(params, getUserId());
    }
    @RequestMapping("/pda/WarehouseOut/v1")
    @ManagerAuth(memo = "并板途中拣料-参考念初")
    public R WarehouseOutV1(@RequestBody CombParam combParam) {
@@ -139,6 +146,7 @@
        mobileService.onSale(combParam);
        return R.ok("上架成功");
    }
    // 商品下架
    @RequestMapping("/mat/offSale/auth")
    //@ManagerAuth
@@ -147,7 +155,6 @@
        return R.ok("下架成功");
    }
    @GetMapping("/cache/locs")
    @ManagerAuth
    @ApiOperation("获取缓存区库位信息")
@@ -155,9 +162,8 @@
        return mobileService.getCacheLocs();
    }
    @PostMapping("/cache/agv/call")
    @ApiOperation("呼叫AGV搬运")
    @ApiOperation("缓冲区入库")
    @ManagerAuth
    public R callAgvMove(@RequestBody AgvCallParams params) {
        if (Objects.isNull(params)) {
@@ -166,7 +172,22 @@
        return mobileService.callAgvMove(params, getUserId());
    }
    @PostMapping("/collection/agv/call")
    @ApiOperation("集货区入库")
    @ManagerAuth
    public R CollectionInCall(@RequestBody AgvCallParams params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        return mobileService.collectionInCall(params, getUserId());
    }
    /**
     * @author Ryan
     * @date 2025/11/3
     * @description: 呼叫AGV搬运入库缓存区/EO/SO
     * @version 1.0
     */
    @PostMapping("/cache/out/call")
    @ApiOperation("呼叫AGV搬运")
    @ManagerAuth
@@ -177,8 +198,44 @@
        return mobileService.OutCallAgv(params, getUserId());
    }
    /**
     * 缓存区出库组托上架
     *
     * @author Ryan
     * @date 2025/12/8 13:45
     * @param params
     * @return com.core.common.R
     */
    @ManagerAuth
    @ApiOperation("缓存出库上架")
    @PostMapping("/commb/task/pub")
    public R combPub(@RequestBody AgvCallParams params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        return mobileService.combOutPub(params);
    }
    // 组托 ----------------------------------------------------------------------------------------------------
    /**
     * 缓存区出库组托上架
     *
     * @author Ryan
     * @date 2025/12/8 13:45
     * @param params
     * @return com.core.common.R
     */
    @ManagerAuth
    @ApiOperation("缓存出库列表")
    @PostMapping("/cache/task/list")
    public R combCacehList(@RequestBody AgvCallParams params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        return mobileService.combCacehList(params);
    }
    // 组托
    // ----------------------------------------------------------------------------------------------------
    /**
     * 根据单号检索单据数据
@@ -230,7 +287,8 @@
                    continue;
                }
//                List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
                List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(), order.getId());
                List<OrderDetl> orderDetls = OrderInAndOutUtil.selectWorkingDetls(order.getPakinPakoutStatus$(),
                        order.getId());
                if (!Cools.isEmpty(orderDetls)) {
                    LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
                    for (OrderDetl orderDetl:orderDetls){
@@ -251,11 +309,48 @@
        return R.ok().add(combParams);
    }
    @RequestMapping("/comb/auth")
    @ManagerAuth(memo = "组托")
    @RequestMapping("/comb/auth")
    public R comb(@RequestBody CombParam combParam){
        mobileService.comb(combParam, getUserId());
        return R.ok("组托成功");
    }
    @ManagerAuth(memo = "缓冲库入库组托")
    @RequestMapping("/cache/comb/auth")
    public R onlineComb(@RequestBody CombParam combParam) {
        if (Objects.isNull(combParam)) {
            return R.error("参数不能为空!!");
        }
        mobileService.cacheComb(combParam, getUserId());
        return R.ok("组托成功");
    }
    /**
     * @author Ryan
     * @date 2025/9/24
     * @description: 呼叫AGV返回
     * @version 1.0
     */
    @ManagerAuth(memo = "呼叫AGV返回")
    @RequestMapping("/agv/call/back")
    public R callAgvBack(@RequestBody AgvCallParams callAgvBackParam) {
        if (Objects.isNull(callAgvBackParam.getOrgSite())) {
            return R.error("参数不能为空!!");
        }
       return mobileService.agvCallback(callAgvBackParam, getUserId());
    }
    @ManagerAuth(memo = "缓冲库确认上架(模拟物理按钮)")
    @RequestMapping("/cache/comb/pub")
    public R cacheCombPub(@RequestBody CompleteParam combParam) {
        if (Objects.isNull(combParam)) {
            return R.error("参数不能为空!!");
        }
        mobileService.combInPub(combParam, 10031L);
        return R.ok("上架成功");
    }
    @RequestMapping("/pack/get/auth")
@@ -274,12 +369,12 @@
    @RequestMapping("/pack/comb/auth")
    @ManagerAuth(memo = "下线组托")
    public R packComb(@RequestBody CombParam combParam){
        mobileService.packComb(combParam, getUserId());
        mobileService.packComb(combParam, 10031L);
        return R.ok("组托成功");
    }
    // 出库 ---------------------------------------------------------------------------------------------------
    // 出库
    // ---------------------------------------------------------------------------------------------------
    @RequestMapping("/pakout/query/auth")
    @ManagerAuth
@@ -319,7 +414,8 @@
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            // 去除已出库确认的明细
            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0);
            return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
            return R.ok().add(
                    Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
        }
        return R.ok();
    }
@@ -336,12 +432,15 @@
            return R.ok();
        }
//        List<Order> orders = orderService.selectorderNoL(batch);
//        OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
        // OrderDetl orderDetl = orderDetlService.selectOne(new
        // EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch",
        // combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
        Order order = OrderInAndOutUtil.selectByNo(Boolean.FALSE, combParam.getOrderNo());
        List<OrderDetl> orderDetlList = OrderInAndOutUtil.selectByOrderId(Boolean.FALSE, order.getId());
        OrderDetl orderDetl = null;
        for (OrderDetl orderDetl1 : orderDetlList){
            if (combParam.getMatnr().equals(orderDetl1.getMatnr()) && combParam.getBatch().equals(orderDetl1.getBatch())){
            if (combParam.getMatnr().equals(orderDetl1.getMatnr())
                    && combParam.getBatch().equals(orderDetl1.getBatch())) {
                orderDetl = orderDetl1;
                break;
            }
@@ -361,8 +460,7 @@
    // 根据库位码和商品码搜索商品
    @RequestMapping("/mat/find/auth")
    public R find(@RequestParam(required = false) String locNo
            , @RequestParam(required = false) String matnr){
    public R find(@RequestParam(required = false) String locNo, @RequestParam(required = false) String matnr) {
        //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
        ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr);
        return R.ok(manLocDetl);
@@ -374,8 +472,8 @@
     */
    @RequestMapping("/pakout/confirm/pick/auth")
    @ManagerAuth
    public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
                                , @RequestParam(required = false) String matnr){
    public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo,
            @RequestParam(required = false) String matnr) {
        if (Cools.isEmpty(wrkNo)) {
            return R.ok();
        }
@@ -397,7 +495,8 @@
            }
        }
        // 替换 明细
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
        List<LocDetl> locDetls = locDetlService
                .selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
        for (LocDetl locDetl : locDetls) {
            if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) {
                WrkDetl wrkDetl = new WrkDetl();
@@ -410,7 +509,6 @@
        }
        return R.error("系统错误,条码不存在");
    }
    @RequestMapping("/pakout/confirm/auth")
    @ManagerAuth
@@ -482,8 +580,8 @@
        return R.ok("完成确认");
    }
    // 盘点 ----------------------------------------------------------------------------------------------------
    // 盘点
    // ----------------------------------------------------------------------------------------------------
    @RequestMapping("/checkDetl/auth")
    @ManagerAuth