package com.bankaudit.dao;

import java.util.List;

import com.bankaudit.dto.DataTableResponse;
import com.bankaudit.dto.DeriveStatementUpdateDto;
import com.bankaudit.dto.process.DeriveStatementDto;
import com.bankaudit.model.MaintReportDerivedStmt;
import com.bankaudit.model.MaintReportStandardStmt;
import com.bankaudit.model.MaintReportStandardStmtWrk;

public interface MaintReportStandardStmtDao extends Dao {

	void deleteMaintReportStandardStmt(Integer legalEntityCode, String mappingId, String statusAuth);

	MaintReportStandardStmt getMaintReportStandardStmt(Integer legalEntityCode, String mappingId, String status);

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

	List<MaintReportStandardStmt> getMaintReportStandardStmtByMappindId(Integer legalEntityCode, String mappingId);

	List<MaintReportStandardStmt> getMaintReportStandardStmtWrkByMappindId(Integer legalEntityCode, String mappingId);
	
	// Derive statements fetch
	MaintReportDerivedStmt getMaintReportDerivedStmtById(Integer legalEntityCode, String statementId, String auditTypeCode);
	
	void updateDeriveStatementById(DeriveStatementUpdateDto drvDto);

}
