#
luxiaotao1123
2021-03-13 60cdc93fe5b1d873e0ae74ce5220cf527a47027e
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -108,6 +108,18 @@
    }
    @Override
    public R stockOutPreview(StockOutParam param, Long userId) {
        List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>()
                .eq("number", param.getNumber())
                .eq("status", 1)
        );
        OrderStoDto dto = new OrderStoDto();
        dto.setNumber(param.getNumber());
        dto.setCustOrders(custOrders);
        return R.ok().add(mainService.stockOutPreview(dto));
    }
    @Override
    public R stockOut(StockOutParam param, Long userId) {
        List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>()
                .eq("number", param.getNumber())
@@ -129,7 +141,10 @@
            return R.error("保存数据失败");
        }
        // todo:修改库存数量
        // 修改单据状态
        if (!custOrderService.updateStatus(param.getNumber(), 4)) {
            throw new CoolException("修改单据状态失败");
        }
        return R.ok();
    }
@@ -173,10 +188,27 @@
    }
    @Override
    @Transactional
    public R completePakout(String wrkNo, Long userId) {
        Pakout pakout = pakoutService.selectOne(new EntityWrapper<Pakout>().eq("wrk_no", wrkNo));
        if (null != pakout) {
            if (pakoutService.stockOutComplete(wrkNo, null, userId)) {
                boolean complete = true;
                List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", pakout.getDocNum()));
                for (Pakout item : pakouts) {
                    if (item.getWrkSts() != 3) {
                        complete = false;
                        break;
                    }
                }
                if (complete) {
                    // 修改单据状态
                    if (!custOrderService.updateStatus(pakout.getDocNum(), 4)) {
                        throw new CoolException("修改单据状态失败");
                    }
                }
                return R.ok("拣货单已完成");
            }
        }
@@ -210,13 +242,22 @@
        if (!pakoutService.delete(new EntityWrapper<Pakout>().eq("wrk_no", pakout.getWrkNo()))) {
            throw new CoolException("删除拣货单失败");
        }
        // 取消销售订单
        List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", pakout.getDocNum()));
        if (Cools.isEmpty(pakouts)){
            // 修改单据状态
            if (!custOrderService.updateStatus(pakout.getDocNum(), 3)) {
                throw new CoolException("修改单据状态失败");
            }
        }
        return R.ok("拣货单已取消");
    }
    @Override
    @Transactional
    public R initOrder(InitOrderParam param, Long userId) {
        if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", param.getNumber())) > 0) {
        if (custOrderService.selectCount(new EntityWrapper<CustOrder>().eq("number", param.getNumber()).ne("bType_id", param.getCustomerTypeId())) > 0) {
            return R.error("抱歉单号已存在,请修改单号");
        }
        Date now = new Date();