package com.aps.service;

import com.aps.entity.ProdEquipSpecialCal;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;

/**
 * <p>
 * 设备特殊日历配置表：记录特定工位/设备在指定时间段的特殊日历规则（如节假日、维护期等） 服务类
 * </p>
 *
 * @author MyBatis-Plus
 * @since 2025-11-26
 */
public interface ProdEquipSpecialCalService extends IService<ProdEquipSpecialCal> {

    /**
     * 从EquipCapacityDef表中复制is_deleted为0的数据到ProdEquipSpecialCal表
     */
    void copyFromEquipCapacityDef(String sceneId);

    /**
     * Copy calculated equipment shift capacity rows into the scene calendar table.
     */
    void copyFromEquipShiftCapacity(String sceneId);

    /**
     * Copy calculated equipment shift capacity rows for the scene's plan resources.
     */
    void copyFromEquipShiftCapacity(String sceneId, Collection<Long> planResourceIds);

    /**
     * Prefer calculated equipment shift capacity rows, then fall back to legacy capacity definitions.
     */
    void copyCalendarWithFallback(String sceneId, Collection<Long> planResourceIds);

}
