#
lsh
2024-09-12 05b6ccedbd294ad536fe86b49e10d6825284fb65
#
6个文件已修改
162 ■■■■■ 已修改文件
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wms/src/main/webapp/views/wrkMast/wrkMast.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/MobileService.java
@@ -19,4 +19,5 @@
    R WarehouseIn(String locNo, String barcode,Long hostId);
    R WarehouseOut(CombParam combParam, Long hostId);
    R WarehouseOutV1(CombParam combParam, Long hostId);
}
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -392,4 +392,83 @@
        return R.ok();
    }
    @Override
    @Transactional
    public R WarehouseOutV1(CombParam combParam, Long hostId) {
        //判断库位状态
        LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId,hostId).eq(LocMast::getWhsType,0L));
        if (Cools.isEmpty(locMast)){
            return R.error("该库位不存在");
        }
        if (!locMast.getLocSts().equals("P")){
            return R.error("该库位状态为:"+locMast.getLocSts()+",不满足并板途中拣选条件!!!");
        }
        //查询库存数据
        for (CombParam.CombMat combMat :combParam.getCombMats()){
            List<LocDetl> locDetlList = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
                    .eq(LocDetl::getLocNo, combParam.getLocno())
                    .eq(LocDetl::getHostId, hostId)
//                    .eq(LocDetl::getZpallet, combMat.getZpallet())
                    .eq(LocDetl::getMatnr, combMat.getMatnr())
//                    .eq(LocDetl::getBatch, combMat.getBatch())
            );
            if (locDetlList.isEmpty()){
                return R.error("未查询到库存数据");
            }
            if (locDetlList.size()>1){
                return R.error("库存数据大于1条,为保证数据准确性,请用正常流程出库!!!");
            }
            LocDetl locDetl = locDetlList.get(0);
            if (combMat.getAnfme() > locDetl.getAnfme()){
                return R.error("拣选数量错误,超出库存数量");
            }
            if (!Cools.isEmpty(combParam.getOrderNo())){
                Order order = orderService.selectByNo(combParam.getOrderNo(), hostId);
                if (Cools.isEmpty(order)){
                    continue;
                }
                if (order.getSettle() == 1){
                    orderService.updateSettle(order.getId(), 2L, 9527L, hostId);
                }
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(),hostId);
                if (Cools.isEmpty(orderDetl)){
                    continue;
                }
                if (orderDetl.getAnfme() < (orderDetl.getWorkQty()+combMat.getAnfme())){
                    throw new CoolException("拣选数量出错,订单剩余出库数量小于已出库数量与将拣选数量之和!!!");
                }
                // 修改订单明细作业数量
                if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
                    throw new CoolException("修改单据明细工作数量失败");
                }
                // 修改订单明细完成数量
                if (!orderDetlService.increase(order.getId(), hostId, combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
                    throw new CoolException("修改单据明细完成数量失败");
                }
                // 修改订单状态 作业中 ===>> 已完成
                orderService.checkComplete(combParam.getOrderNo(), hostId);
            }
            try {
                //处理库存信息
                if (combMat.getAnfme().equals(locDetl.getAnfme())){
                    //库存相等删除数据
                    locDetlService.removeById(locDetl);
                    int count = locDetlService.count(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo,combParam.getLocno()).eq(LocDetl::getHostId, hostId));
                    if (count == 0){
                        LocMast locMast1 = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId, hostId));
                        locMast1.setLocSts("O");
                        locMastService.updateById(locMast1);
                    }
                } else {
                    BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme()));
                    locDetl.setAnfme(subtract.doubleValue());
                    locDetlService.updateById(locDetl);
                }
            }catch (Exception e){
                throw new CoolException("更新库存数据出错"+e.getMessage());
            }
        }
        return R.ok();
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -46,6 +46,19 @@
        return R.ok(detls);
    }
    @RequestMapping(value = "/locDetl/forlocNo/auth/v1")
    @ManagerAuth
    public R forlocNoV1(@RequestParam String locNo) {
        LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
                .eq(LocDetl::getLocNo, locNo)
                .eq(LocDetl::getHostId, getHostId());
        List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
        if (Cools.isEmpty(detls)){
            return R.error("未查询到库存数据");
        }
        return R.ok(detls);
    }
    @RequestMapping(value = "/locDetl/forlocNo/auth")
    @ManagerAuth
    public R forlocNo(@RequestParam String orderNo,@RequestParam String locNo,@RequestParam String batch,@RequestParam String matnr) {
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -76,6 +76,12 @@
        return mobileService.WarehouseOut(combParam,getHostId());
    }
    @RequestMapping("/pda/WarehouseOut/v1")
    @ManagerAuth
    public R WarehouseOutV1(@RequestBody CombParam combParam){
        return mobileService.WarehouseOutV1(combParam,getHostId());
    }
    @RequestMapping("/menu/pda/auth")
    @ManagerAuth
    public R menuPda(){
@@ -544,4 +550,30 @@
        return R.ok();
    }
    @RequestMapping("/barcode/list/all")
    @ManagerAuth(memo = "并板入库途中拣料出库获取任务信息")
    @Transactional
    public R orderOutListOrder(@RequestBody String barcode) {
        ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
        if (Cools.isEmpty(barcode) || barcode.isEmpty()){
            List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
                    .eq(WrkMast::getHostId, getHostId())
                    .eq(WrkMast::getWrkSts, 199)
                    .eq(WrkMast::getIoType, 104));
            wrkMastArrayList.addAll(wrkMasts);
        } else {
            WrkMast wrkMast = wrkMastService.getOne(new LambdaQueryWrapper<WrkMast>()
                    .eq(WrkMast::getBarcode, barcode)
                    .eq(WrkMast::getHostId, getHostId())
                    .eq(WrkMast::getWrkSts, 199)
                    .eq(WrkMast::getIoType, 104)
            );
            if (!Cools.isEmpty(wrkMast)){
                wrkMastArrayList.add(wrkMast);
            }
        }
        return R.ok().add(wrkMastArrayList);
    }
}
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderDetlController.java
@@ -36,6 +36,8 @@
    private WrkDetlService wrkDetlService;
    @Autowired
    private WorkService workService;
    @Autowired
    private LocDetlService locDetlService;
    @RequestMapping(value = "/orderDetl/forOrderNo/auth")
    @ManagerAuth
@@ -72,6 +74,38 @@
        return R.ok(orderDetlService.page(new Page<>(curr, limit), wrapper));
    }
    @RequestMapping(value = "/orderDetl/forOrderNo/auth/v1")
    @ManagerAuth
    public R forOrderNoV1(@RequestParam String orderNo,@RequestParam String locNo,@RequestParam String batch,@RequestParam String matnr) {
        LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
                .eq(LocDetl::getLocNo, locNo)
                .eq(LocDetl::getHostId, getHostId())
                .eq(LocDetl::getMatnr, matnr);
        List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
        if (Cools.isEmpty(detls)){
            return R.error("未查询到库存数据");
        }
        if (detls.size()>1){
            return R.error("库存数据大于1条,为保证数据准确性,请用正常流程出库!!!");
        }
        List<OrderDetl> orderDetlList = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
                .eq(OrderDetl::getMatnr, matnr)
                .eq(OrderDetl::getHostId, getHostId())
                .like(OrderDetl::getOrderNo, orderNo)
        );
        if (Cools.isEmpty(orderDetlList)){
            return R.error("未查询到此订单此物料数据");
        }
        if (orderDetlList.size()>1){
            return R.error("此订单此物料数据数据大于1条,为保证数据准确性,请用正常流程出库!!!");
        }
        for(OrderDetl orderDetl:orderDetlList){
            double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
            orderDetl.setAnfme(count);
        }
        return R.ok(orderDetlList);
    }
    @RequestMapping(value = "/orderDetl/add/auth")
    @ManagerAuth
zy-asrs-wms/src/main/webapp/views/wrkMast/wrkMast.html
@@ -123,6 +123,9 @@
    {{#if (d.ioType === 107) { }}
    <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">盘</a>
    {{# } }}
    {{#if (d.ioType === 104) { }}
    <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">并</a>
    {{# } }}
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>