package com.bankaudit.dao;

import java.util.List;

import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.dto.SequenceDto;
import com.bankaudit.model.MaintReportSequenceProcess;
import com.bankaudit.model.MaintReportSequenceProcessWrk;

public interface MaintReportSequenceProcessDao extends Dao {

	List<SequenceDto> getMaintReportSequenceProcessMappingValues(String legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityId, String processId, String findingId, String status);

	DataTableResponse getMaintReportSequenceProcess(Integer legalEntityCode, String search, Integer orderColumn, String orderDirection, Integer page,
			Integer size, String auditTypeCode);

	List<MaintReportSequenceProcess> getMaintReportSequenceProcessChapaterList(Integer legalEntityCode, String auditTypeCode);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkChapaterList(Integer legalEntityCode, String auditTypeCode);

	List<MaintReportSequenceProcess> getMaintReportSequenceProcessSectionList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkSectionList(Integer legalEntityCode, String auditTypeCode,
			String auditGroupCode);

	List<MaintReportSequenceProcess> getMaintReportSequenceProcessProductList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkProductList(Integer legalEntityCode, String auditTypeCode,
			String auditGroupCode, String auditSubGroupCode);
	
	List<MaintReportSequenceProcess> getMaintReportSequenceProcessList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode);
	
	List<MaintReportSequenceProcess> getMaintReportSequenceProcessChekListList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode, String processCode);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkChekListList(Integer legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode, String processCode);

	List<SequenceDto> getMaintReportSequenceProcessWrkMappingValues(String legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode, String processCode, String findingCode, String status);

	List<MaintReportSequenceProcessWrk> getRejectedMaintReportSequenceProcessByAuditGroupCode(Integer legalEntityCode, String auditTypeCode,
			String auditGroupCode);

	void deleteRejectedMaintReportSequenceProcessByAuditGroupCode(Integer legalEntityCode, String auditTypeCode, String auditGroupCode);

	List<String> getActivityProcessFindingMappingValues(String legalEntityCode, String auditTypeCode, String auditGroupCode, String auditSubGroupCode,
			String activityId, String processId, String findingId, String createOrUpdate);

	List<MaintReportSequenceProcessWrk> getDraftMaintReportSequenceProcess(Integer legalEntityCode, String auditTypeCode, String status);

	List<SequenceDto> getActivityProcessFindingMappings(String legalEntityCode, String auditTypeCode, String auditGroupCode,
			String auditSubGroupCode, String activityCode, String processCode, String findingCode, String status);

	List<MaintReportSequenceProcessWrk> getMaintReportSequenceProcessWrkList(Integer legalEntityCode, String auditTypeCode);
	
	List<MaintReportSequenceProcess> getMaintReportSequenceProcessList(Integer legalEntityCode, String auditTypeCode);

	void deleteMaintReportSequenceProcess(Integer legalEntityCode, String auditTypeCode);

	void deleteMaintReportSequenceProcessWrk(Integer legalEntityCode, String auditTypeCode);


}
