package com.bankaudit.rest.process.dao;

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

import com.bankaudit.dao.Dao;
import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.dto.process.AuditRatingComplianceObsScoreReportDto;
import com.bankaudit.dto.process.AuditRatingComplianceScoreDto;
import com.bankaudit.dto.process.AuditRatingParameterScoreDto;
import com.bankaudit.dto.process.AuditRatingScoreDto;
import com.bankaudit.dto.process.AuditRatingSummaryDto;
import com.bankaudit.dto.process.RatingParameterCategoryDto;
import com.bankaudit.model.MaintRatingModelOverlay;
import com.bankaudit.process.model.AuditRatingComplianceObsScore;
import com.bankaudit.process.model.AuditRatingModelOverlay;
import com.bankaudit.process.model.AuditRatingParameterScore;

public interface AuditRatingComplianceScoreDao extends Dao {
	
	boolean verifyDataPresentForComplianceObsScore(int legalEntityCode,String auditId);
	
	boolean createAndGetAuditRatingComplianceScore(int legalEntityCode,String auditId,  String auditTypeCode, String unitId, String userId);
    
    List<AuditRatingComplianceObsScore> getComplianceObsScoreByAuditId(int legalEntityCode,String auditId, String auditTypeCode, String userType);
	
	void updateAuditComplianceObsScores(List<AuditRatingComplianceObsScore> auditRatingComplianceObsScores, int legalEntityCode, String auditId, String userType); // When updating from the screen
	
	AuditRatingComplianceScoreDto getAuditRatingComplianceScores(int legalEntityCode, String auditId, String ratingType, String userType);
	
	String getRatingFromScore(Integer legalEntityCode, String auditId, String ratingName, String ratingSubType, String ratingScr );
	
	List<AuditRatingComplianceObsScore> getComplianceObsScoreReportByAuditId(int legalEntityCode,String auditId, String userType, String compRatingStatus);	

	List<AuditRatingComplianceObsScore> downloadAuditRatingComplianceObsScore(Integer legalEntityCode, String auditTypeCode, String auditId );
	
	//AuditRatingComplianceObsScoreReportDto getComplianceObsScoreReportByAuditIdAndRatingType(int legalEntityCode,String auditId, String ratingType, String userType, String compRatingStatus, String recordsNA);
}
