package mx.com.amx.mx.dda.crn.dao;

import java.util.List;

import mx.com.amx.mx.dda.crn.dto.ContratoSAPSubnumDTO;
import mx.com.amx.mx.dda.crn.dto.ContratoTituloDTO;
import mx.com.amx.mx.dda.crn.dto.CrnClienteSAPDTO;
import mx.com.amx.mx.dda.crn.dto.TerminosComercialesDTO;
import mx.com.amx.mx.dda.crn.dto.VidaUtilDTO;


public interface IDDAClienteSAPDAO 
{
	public boolean puedeIniciarProcesoNotificacion() throws Exception;
	public boolean verificaEjecutandoseProcesoNotificacion() throws Exception;
	public boolean updateEjecutandoseProcesoNotificacion(String pstValor) throws Exception;
	public List<CrnClienteSAPDTO> obtenerRegistrosCandidatos(String pstInterfaz) throws Exception;
	public boolean actualizaCrnClienteSAP(CrnClienteSAPDTO dto) throws Exception;
	public boolean actualizaContratoTituloFull(ContratoTituloDTO dto) throws Exception;
	public boolean actualizaCntSAPSubnumFull(ContratoSAPSubnumDTO dto) throws Exception;
	public VidaUtilDTO calcularVidaUtil(String pstFechaInicio, String pstFechaFin) throws Exception;
	public boolean insertaRegistroCRNClienteSAP(CrnClienteSAPDTO dto) throws Exception;
	
	public boolean ejecutarSPAmortizacionAjustada() throws Exception;
        public void actualizarEstatusSapTitulosByContrato(String mensaje, String idContrato);
        public void actualizarEstatusSapTitulosByTitulo(String mensaje, String idContrato);
        
        public List<TerminosComercialesDTO> obtenerContratosCandidatos(String pstInterfaz) throws Exception;
        
        public List<TerminosComercialesDTO> obtenerContratosCandidatos() throws Exception;
}
