自动化立体仓库 - WMS系统
chen.llin
22 小时以前 12067f657bc3dc169a7a466e433374368e8daf73
src/main/java/com/zy/asrs/controller/OrderPakinController.java
@@ -13,6 +13,7 @@
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +21,7 @@
import java.util.*;
@Slf4j
@RestController
@RequestMapping("order/pakin")
public class OrderPakinController extends BaseController {
@@ -44,6 +46,8 @@
    private WrkMastLogService wrkMastLogService;
    @Autowired
    private ClientService clientService;
    @Autowired
    private CrossDockService crossDockService;
    @RequestMapping(value = "/order/list/pda/page/auth")
    @ManagerAuth
@@ -206,6 +210,29 @@
                }
            }
        }
        // 越库功能:如果勾选了越库订单,无论什么类型的订单都按照越库逻辑处理
        Boolean isCrossDock = param.getIsCrossDock();
        log.info("检查越库订单标识,isCrossDock:{},类型:{},订单号:{}",
                isCrossDock, isCrossDock != null ? isCrossDock.getClass().getName() : "null", order.getOrderNo());
        // 判断是否为越库订单(支持 Boolean.TRUE 或 true 字符串)
        boolean shouldProcessCrossDock = Boolean.TRUE.equals(isCrossDock) ||
                (isCrossDock != null && isCrossDock.toString().equalsIgnoreCase("true"));
        if (shouldProcessCrossDock) {
            log.info("开始处理越库订单,订单号:{},订单ID:{}", order.getOrderNo(), order.getId());
            String outOrderNo = crossDockService.processCrossDockInbound(order, param, getUserId());
            // 重新查询订单,确保状态已更新
            OrderPakin finalOrder = orderService.selectById(order.getId());
            if (finalOrder != null) {
                log.info("越库订单处理完成,订单号:{},最终状态:{}", finalOrder.getOrderNo(), finalOrder.getSettle());
            }
            return R.ok("越库入库单创建成功,已自动生成越库出库单:" + outOrderNo);
        } else {
            log.info("非越库订单,订单号:{},状态保持为:{}", order.getOrderNo(), order.getSettle());
        }
        return R.ok("订单添加成功");
    }