自动化立体仓库 - WMS系统
#
1
1 天以前 b3b5eb6bd7955afb4be48f0e34a18b92a38b102d
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -29,6 +29,14 @@
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private DocTypeService docTypeService;
@@ -42,6 +50,8 @@
    private WrkMastService wrkMastService;
    @Autowired
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private LocOwnerService locOwnerService;
    @RequestMapping(value = "/order/nav/list/auth")
    @ManagerAuth
@@ -104,9 +114,20 @@
            DocType docType = docTypeService.selectById(param.getDocType());
            if(!Cools.isEmpty(docType)){
                prefix = docType.getPakin() == 1 ? "RK" : "CK";
                status = (prefix == "RK" ? 1 : (prefix == "CK" ? 2 : 0));
                status = (prefix.equals("RK") ? 1 : (prefix.equals("CK") ? 2 : 0));
            }
            param.setOrderNo(prefix + snowflakeIdWorker.nextId());
        } else {
            DocType docType = docTypeService.selectById(param.getDocType());
            if(!Cools.isEmpty(docType)){
                status = (docType.getPakin() == 1 ? 1 :  2 );
            }
        }
        LocOwner locOwner = null;
        if (!Cools.isEmpty(param.getOwnerId())) {
            locOwner = locOwnerService.selectById(param.getOwnerId());
        } else {
            locOwner = locOwnerService.selectById(1);
        }
        Order order = orderService.selectByNo(param.getOrderNo());
@@ -120,7 +141,7 @@
                DateUtils.convert(now),    // 单据日期
                param.getDocType(),    // 单据类型
                null,    // 项目编号
                null,    //
                null,    //项目名称 客户PO号
                null,    // 调拨项目编号
                null,    // 初始票据号
                null,    // 票据号
@@ -176,6 +197,10 @@
                orderDetl.setUpdateTime(now);
                orderDetl.setStatus(1);
                orderDetl.setQty(0.0D);
//                orderDetl.setStandby1(param.getStandby1().toString());//po
//                orderDetl.setBoxType1(locOwner.getId().toString());//货主ID
//                orderDetl.setBoxType2(locOwner.getOwnerUuid().toString());//货主UUID
//                orderDetl.setBoxType3(locOwner.getOwner());//货主
                orderDetl.setPakinPakoutStatus(status);
                if (!orderDetlService.insert(orderDetl)) {
                    throw new CoolException("保存订单明细档失败");
@@ -259,19 +284,21 @@
            totalQty = totalQty + orderDetl.getAnfme();
            wrkQty = wrkQty + orderDetl.getWorkQty();
            endQty = endQty + orderDetl.getQty();
            double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
            if (issued > 0.0) {
                List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null);
                for (LocDetl locDetl : locDetls) {
                    if (issued > 0) {
                        issued = issued - locDetl.getAnfme();
                    } else {
                        break;
            if (!Cools.isEmpty(order.getPakinPakoutStatus$()) && order.getPakinPakoutStatus$().equals("N")){
                double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
                if (issued > 0.0) {
                    List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null);
                    for (LocDetl locDetl : locDetls) {
                        if (issued > 0) {
                            issued = issued - locDetl.getAnfme();
                        } else {
                            break;
                        }
                    }
                }
            }
            if (issued > 0.0) {
                lackQty = lackQty + issued;
                if (issued > 0.0) {
                    lackQty = lackQty + issued;
                }
            }
        }
        // 任务追溯
@@ -379,19 +406,32 @@
    @RequestMapping(value = "/order/delete/auth")
    @ManagerAuth(memo = "手动删除订单")
    @Transactional
    public R delete(@RequestParam Long orderId){
        orderService.remove(orderId);
//        Order order = orderService.selectById(orderId);
//        if (order != null) {
//            order.setStatus(0);
//        }
//        if (!orderService.updateById(order)) {
//            throw new CoolException("删除订单失败");
//        }
//        orderDetlService.modifyStatus(orderId, 0);
    public R delete(@RequestParam Long orderId) {
        // 获取订单信息
        Order order = orderService.selectOne(new EntityWrapper<Order>().eq("id", orderId));
        String orderNo = order.getOrderNo();
        // 删除 OrderDetl 表中与订单相关的数据
        orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
        // 根据 PakinPakoutStatus 删除相关数据
        if (order.getPakinPakoutStatus() == 1) {
            // 删除 OrderPakin 和 OrderDetlPakin 相关数据
            orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderNo));
            orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderNo));
        } else if (order.getPakinPakoutStatus() == 2) {
            // 删除 OrderPakout 和 OrderDetlPakout 相关数据
            orderPakoutService.delete(new EntityWrapper<OrderPakout>().eq("order_no", orderNo));
            orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo));
        }
        // 删除 Order 表中对应的订单数据
        orderService.delete(new EntityWrapper<Order>().eq("order_no", orderNo));
        return R.ok();
    }
    @RequestMapping(value = "/order/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param){