package com.qmth.distributed.print.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qmth.distributed.print.business.bean.params.obe.cultureProgram.ObeCultureProgramDescriptionParam;
import com.qmth.distributed.print.business.bean.result.obe.cultureProgram.CultureProgramResult;
import com.qmth.distributed.print.business.entity.ObeCultureProgram;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 培养方案 服务类
 * </p>
 *
 * @author xf
 * @since 2024-06-05
 */
public interface ObeCultureProgramService extends IService<ObeCultureProgram> {

    IPage<CultureProgramResult> pageData(Page<CultureProgramResult> page, Long professionalId, String name);

    boolean saveData(ObeCultureProgram obeCultureProgram);

    boolean delete(Long id);

    boolean copy(Long id);

    ObeCultureProgram getBySchoolIdAndName(Long schoolId, String name);

    void updateTargetCount(Long cultureProgramId);
    void updateRequirementCount(Long cultureProgramId);
    void updateCourseCount(Long cultureProgramId);

    boolean saveDescription(ObeCultureProgramDescriptionParam obeCultureProgramDescriptionParam);

    Long copyByCultureProgramId(Long id);

    CultureProgramResult getByCultureProgramId(Long id);
}
