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

import com.qmth.distributed.print.business.bean.dto.obe.CourseRequirementMatrixDto;
import com.qmth.distributed.print.business.entity.ObeCourseRequirementMatrix;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.distributed.print.business.entity.ObeCultureProgramCourse;
import com.qmth.distributed.print.business.entity.ObeCultureProgramRequirement;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 培养方案毕业要求支撑矩阵 服务类
 * </p>
 *
 * @author xf
 * @since 2024-06-05
 */
public interface ObeCourseRequirementMatrixService extends IService<ObeCourseRequirementMatrix> {

    List<CourseRequirementMatrixDto> getMatrix(Long cultureProgramId);

    boolean saveMatrix(List<ObeCourseRequirementMatrix> obeCourseRequirementMatrices);

    void updateMatrix(Long cultureProgramId, List<ObeCultureProgramRequirement> requirementList, List<ObeCultureProgramCourse> courseList);

    void removeMatrixByCondition(ObeCourseRequirementMatrix obeCourseRequirementMatrix);

    void copyByCultureProgramId(Long id, Long obeCultureProgramNewId, Map<Long, Long> requirementIdMap, Map<Long, Long> courseIdMap);
}
