package com.bankaudit.rest.process.dao;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

import com.bankaudit.dao.Dao;
import com.bankaudit.dto.process.AuditPlanDto;
import com.bankaudit.process.model.AuditPlan;
import com.bankaudit.process.model.AuditPlanWrk;

public interface AuditPlanDao extends Dao {

	Boolean isAuditPlanWrk(Integer legalEntityCode, String auditTypeCode, Date planStartDate,String planType);
	void deleteAuditPlanWrk(AuditPlanWrk auditPlanWrkDb);
	void deleteAuditPlan(AuditPlan auditPlan);
	void flushSession();
		
	String getAdhocPlanConflicts(Integer legalEntityCode, String auditTypeCode, String unitId, String plnStDate,
			String plnEnDate);
	
	List<AuditPlan> getAuditPlans(Integer legalEntityCode, String auditTypeCode);
	
	AuditPlan getLatestPlan(Integer legalEntityCode, String auditTypeCode, LocalDate fYStartDt, LocalDate fYEndDt);
	
	AuditPlan getPlanDetailsByPlanId(Integer legalEntityCode, String auditTypeCode, String planId);
	
	//AuditPlan createAndGetPlan(Integer legalEntityCode, String auditTypeCode, String maker, LocalDate fYStartDt, LocalDate fYEndDt);
}
