package com.ejie.ab61.service.serviciosWeb;

import java.util.List;

import com.ejie.ab61.exceptions.Ab61Exception;
import com.ejie.ab61.exceptions.PifException;
import com.ejie.ab61.model.documento.DocumentoAportado;
import com.ejie.ab61.model.documentosPid.IdentificadoresPid;
import com.ejie.ab61.model.origen.Origen;
import com.ejie.ab61.model.serviciosWeb.BusquedasWS;
import com.ejie.ab61.model.serviciosWeb.DocumentoWS;
import com.ejie.ab61.model.serviciosWeb.inicioOficio.DatosInicioOficio;
import com.ejie.ab61.model.serviciosWeb.inicioOficio.InicioOficioTitularWS;
import com.ejie.ab61.model.serviciosWeb.inicioOficio.InicioOficioWS;

public interface ServiciosWebService {

	String obtenerDatosNegocio(String folder_number, String nombreVista);

	String generarDocumento(Integer idPlantilla, String procedureId, String folderId, String identificadorInspeccion,
			String usuario) throws Ab61Exception;

	String generarDocumentoNegocio(Integer idPlantilla, String identificador, Origen origen, String usuario)
			throws Ab61Exception;

	String descargarDocumento(Integer idPlantilla, String procedureId, String folderId, String identificadorInspeccion,
			String aplicacion) throws Ab61Exception;

	String descargarDocumentoNegocio(Integer idPlantilla, String identificador, Origen origen, String aplicacion)
			throws Ab61Exception;

	String modificarDocumento(Integer idPlantilla, String procedureId, String folderId, String identificadorInspeccion,
			String usuario) throws Ab61Exception;

	String modificarDocumentoNegocio(Integer idPlantilla, String identificador, String usuario) throws Ab61Exception;

	String generarExcelListados(int idListado, List<BusquedasWS> listaBusquedas, String codAplic,
			Integer idProcedimiento) throws Ab61Exception;

	String aportarDocumento(Integer idPlantilla, String folderId, String procedureId, String n38Login, String usuario)
			throws Ab61Exception;

	String aportarDocumentoNegocio(Integer idPlantilla, String folderId, String procedureId, String n38Login,
			String usuario) throws Ab61Exception;

	List<DocumentoAportado> aportarDocumentos(List<DocumentoWS> documentosWS, String folderId, String procedureId,
			String n38Login, String usuario) throws Ab61Exception;

	String eliminarDocumento(Integer idPlantilla, String folderId, String procedureId, String identificadorInspeccion)
			throws Ab61Exception;

	String eliminarDocumentoNegocio(Integer idPlantilla, String identificador) throws Ab61Exception;

	DatosInicioOficio generarInicioOficio(InicioOficioWS inicioOficio) throws Ab61Exception;

	DatosInicioOficio generarInicioOficioTitular(InicioOficioTitularWS inicioOficioTitular) throws Ab61Exception;

	String descargarDocumentoDokusi(String oidDokusi, String aplicacion, Integer tipoUrl)
			throws Ab61Exception, PifException;

	String descargarDocumentoPid(String oidPid, String aplicacion, Integer tipoUrl) throws Ab61Exception, PifException;

	void eliminarDocumentoPid(String oidPid) throws Ab61Exception;

	IdentificadoresPid insertarDocumentoPid(String pathPif, String fileName, Integer idTipoPlantilla,
			String nombreDocumento, Integer aportadoExpediente, String aplicacion, String usuario) throws Ab61Exception;

	String calcularFechaVencimiento(String periodo, Integer cantidad, String fechaInicio) throws Ab61Exception;
}
