gaoluyang
5 天以前 defe1e1c3ade87de0a7990f565f08f93aeb2decc
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsService.java
@@ -13,7 +13,7 @@
/**
 * MES 生产主计划(MPS)Service 接口
 *
 * @author 芋道源码
 * @author 超级管理员
 */
public interface MesProMpsService {
@@ -34,7 +34,7 @@
     */
    Long createMps(Long saleOrderId, String saleOrderNo, Long saleOrderItemId,
                   Long mdmItemId, String productName, BigDecimal quantity, Long clientId,
                   String requestDate, String remark);
                   String requestDate, String remark, String reelNo);
    /**
     * 创建 MPS
@@ -73,6 +73,7 @@
     * @param mpsIds MPS 编号列表
     * @return 生成的工单 ID
     */
    @Deprecated
    Long mergeAndIssueMps(List<Long> mpsIds);
    /**
@@ -157,12 +158,18 @@
     */
    Boolean checkSaleOrderProductionFinished(Long saleOrderId);
    /**
     * 根据工单ID获取 MPS
     *
     * @param workOrderId 工单ID
     * @return MPS
     */
    MesProMpsDO getMpsByWorkOrderId(Long workOrderId);
    /** 获取工单关联的全部 MPS,兼容历史合并工单。 */
    List<MesProMpsDO> getMpsListByWorkOrderId(Long workOrderId);
}
    /**
     * 检查并自动完成 MPS
     *
     * 如果 MPS 满足完成条件(已生产数量 >= 计划数量 且 所有报工已完成),
     * 则自动将 MPS 状态更新为已完成
     *
     * @param mpsId MPS 编号
     * @return true=已完成或本次自动完成,false=未完成
     */
    Boolean checkAndFinishMps(Long mpsId);
}