自动化立体仓库 - WMS系统
#
Junjie
3 天以前 c82b47020ff5b0e76609454ab915afd0e27db199
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -78,6 +78,8 @@
    private ManLocDetlService manLocDetlService;
    @Autowired
    private ManLocDetlMapper manLocDetlMapper;
    @Autowired
    private ReportToThirdService reportToThirdService;
    @Autowired
    private InventoryCheckOrderService inventoryCheckOrderService;
@@ -851,7 +853,10 @@
        List<WrkDetl> paramWrkDetls = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
        for (WrkDetl wrkDetl : paramWrkDetls) {
            String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
                    .eq("loc_no", locNo)
                    .eq("area", wrkDetl.getWrkNo())
            );
            for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
                if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
                    checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
@@ -1182,4 +1187,45 @@
            throw new CoolException(locDetl.getLocNo() + "库位不是在库状态");
        }
    }
    @Override
    public void checkOutSubmit(Integer orderId, Long userId) {
        InventoryCheckOrder inventoryCheckOrder = inventoryCheckOrderService.selectOne(new EntityWrapper<InventoryCheckOrder>()
                .eq("id", orderId));
        if (inventoryCheckOrder == null) {
            throw new CoolException("盘点单不存在");
        }
        if (!inventoryCheckOrder.getStatus().equals("1")) {
            throw new CoolException("盘点单状态已上报");
        }
        List<InventoryCheckOrderDetl> checkOrderDetlList = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
                .eq("order_no", inventoryCheckOrder.getOrderNo())
        );
        if (checkOrderDetlList.isEmpty()) {
            throw new CoolException("盘点单无物料明细");
        }
        InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0);
        List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
                .eq("matnr", orderDetl.getMatnr())
                .eq("batch", orderDetl.getBatch())
        );
        boolean complete = true;
        for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
            if (!checkOrderDetl.getStatus().equals("2")) {
                complete = false;
            }
        }
        if (complete) {
            boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch());
            if (!result) {
                throw new CoolException("盘点单上报失败");
            }
        }else {
            throw new CoolException("盘点未完成无法上报");
        }
    }
}