2 天以前 111270df037596a04df97f787ca8b9199dd99866
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java
@@ -145,4 +145,35 @@
     */
    void updateProducedQuantity(Long id, BigDecimal incrQuantity);
    /**
     * 检查销售订单的所有 MPS 是否已完成生产
     *
     * 完成条件:
     * 1. 已生产数量 >= 计划数量
     * 2. 所有报工单状态为 FINISHED(确保质检完成)
     *
     * @param saleOrderId 销售订单ID
     * @return true=全部完成,false=未全部完成
     */
    Boolean checkSaleOrderProductionFinished(Long saleOrderId);
    /**
     * 根据工单ID获取 MPS
     *
     * @param workOrderId 工单ID
     * @return MPS
     */
    MesProMpsDO getMpsByWorkOrderId(Long workOrderId);
    /**
     * 检查并自动完成 MPS
     *
     * 如果 MPS 满足完成条件(已生产数量 >= 计划数量 且 所有报工已完成),
     * 则自动将 MPS 状态更新为已完成
     *
     * @param mpsId MPS 编号
     * @return true=已完成或本次自动完成,false=未完成
     */
    Boolean checkAndFinishMps(Long mpsId);
}