package com.ejie.m62fb.dao.registroVPP;

import com.ejie.m62fb.dao.SQLGenericas;
import com.ejie.m62fb.utils.constants.BDConstantes;

public class ContratoAlquilerDaoSql {

	/**
	 * StringBuilder initilization value
	 */
	public static final int STRING_BUILDER_INIT = 4096;
	public static final String SEQUENCE_NAME = "";
	public static final String TABLA = BDConstantes.CONTRATO_ALQUILER;
	public static final String VISTA = BDConstantes.VIS_CONTRATO_ALQUILER;
	public static final String ALIAS_CONTRATOALQ = " CONTRATOALQ";
	public static final String ALIAS_CONTRATOALQ2 = " CONTRATOALQ2";
	public static final String PK1 = "NUM_VIVIENDA";
	public static final String PK2 = "NUM_INQUILINO";
	public static final String PK = "ID_CONTRATO";
	// Vista de actualizacion Masiva
	public static final String ALIAS_CONTRATOALQACTMASIVA = " CONTRATOALQVIVACT";
	public static final String VISTA_ACTMASIVA = BDConstantes.CONTR_ALQ_VIV_ACT;

	public static final String SQL_INSERT = "INSERT INTO"
			+ ContratoAlquilerDaoSql.TABLA
			+ "(NUM_VIVIENDA, NUM_EXPEDIENTE, NUM_INQUILINO, FEC_INICIO, FEC_FIN, "
			+ "IMP_PRECIO_RENTA, IMC_PRECIO_RENTA, FEC_ENV_CONTRATO, FEC_ENV_FIN_CONTRATO, "
			+ "IMP_FIANZA, IMC_FIANZA, COD_ENTIDAD, COD_SUCURSAL, "
			+ "COD_DIGITO_CONTROL, COD_CUENTA, "
			+ "IND_VISADO, FEC_VISADO, ID_CONTRATO, FEC_ENT_CONTRATO, FEC_EMPADRON, "
			+ "TEX_OBSERVACIONES, COD_TIPO_CONTRATO, ID_PAGADOR_RENTA, FEC_INI_FAC, IND_SOLICITA_AYUDA, "
			+ "IND_VIV_ADAPTADA, FEC_ESCRITURA, FEC_CONTRATO, IND_RENUNCIA, FEC_RENUNCIA, "
			+ "IND_DENEGACION, FEC_DENEGACION"
			+ SQLGenericas.INSERT_DIRECCION_CLASS_SQL
			+ SQLGenericas.INSERT_ABSTRACT_CLASS_SQL
			+ ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?"
			+ SQLGenericas.INSERT_DIRECCION_CLASS_QUESTION_TAGS
			+ SQLGenericas.INSERT_ABSTRACT_CLASS_QUESTION_TAGS + ")";

	public static final String SQL_UPDATE = "UPDATE"
			+ ContratoAlquilerDaoSql.TABLA
			+ "SET NUM_EXPEDIENTE=?, FEC_INICIO=?, FEC_FIN=?, IMP_PRECIO_RENTA=?, IMC_PRECIO_RENTA=?, "
			+ "FEC_ENV_CONTRATO=?, FEC_ENV_FIN_CONTRATO=?, IMP_FIANZA=?, IMC_FIANZA=?, COD_ENTIDAD=?, COD_SUCURSAL=?, "
			+ "COD_DIGITO_CONTROL=?, COD_CUENTA=?, IND_VISADO=?, "
			+ "FEC_VISADO=?, ID_CONTRATO=?, FEC_ENT_CONTRATO=?, FEC_EMPADRON=?, TEX_OBSERVACIONES=?, "
			+ "COD_TIPO_CONTRATO=?, ID_PAGADOR_RENTA=?, FEC_INI_FAC=?, IND_SOLICITA_AYUDA=?, IND_VIV_ADAPTADA=?, "
			+ "FEC_ESCRITURA=?, FEC_CONTRATO=?, IND_RENUNCIA=?, FEC_RENUNCIA=?, IND_DENEGACION=?, "
			+ "FEC_DENEGACION=?" + SQLGenericas.UPDATE_DIRECCION_CLASS_SQL
			+ SQLGenericas.UPDATE_ABSTRACT_CLASS_SQL
			+ "WHERE ID_CONTRATO=?";

	public static final String SQL_DELETE = "DELETE FROM"
			+ ContratoAlquilerDaoSql.TABLA
			+ "WHERE ID_CONTRATO=? ";

	public static final String SQL_SELECT = "SELECT  "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_VIVIENDA NUMVIVIENDA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_EXPEDIENTE NUMEXPEDIENTE, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO NUMINQUILINO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INICIO FECINICIO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".FEC_FIN FECFIN, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IMP_PRECIO_RENTA IMPPRECIORENTA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IMC_PRECIO_RENTA IMCPRECIORENTA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_ENV_CONTRATO FECENVCONTRATO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_ENV_FIN_CONTRATO FECENVFINCONTRATO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IMP_FIANZA IMPFIANZA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IMC_FIANZA IMCFIANZA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".COD_ENTIDAD CODENTIDAD, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".COD_SUCURSAL CODSUCURSAL, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".COD_DIGITO_CONTROL CODDIGITOCONTROL, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".COD_CUENTA CODCUENTA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NIF_PAGADOR_RENTA NIFPAGADORRENTA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_CORREL_PAG NUMCORRELPAG, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IND_VISADO INDVISADO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_VISADO FECVISADO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".ID_CONTRATO IDCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_ENT_CONTRATO FECENTCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_EMPADRON FECEMPADRON,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".TEX_OBSERVACIONES TEXOBSERVACIONES,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".COD_TIPO_CONTRATO CODTIPOCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".ID_PAGADOR_RENTA IDPAGADORRENTA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INI_FAC FECINIFAC,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IND_SOLICITA_AYUDA INDSOLICITAAYUDA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IND_VIV_ADAPTADA INDVIVADAPTADA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_ESCRITURA FECESCRITURA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_CONTRATO FECCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IND_RENUNCIA INDRENUNCIA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_RENUNCIA FECRENUNCIA,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".IND_DENEGACION INDDENEGACION,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_DENEGACION FECDENEGACION "
			// Direccion
			+ SQLGenericas.getSqlCamposDireccionCompleta(
					ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ, null)
			// AbstractClass
			+ SQLGenericas
					.getSqlCamposAbstractClass(ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ);

	public static final String SQL_SELECT_ACT_MASIVA = "SELECT  "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA
			+ ".NUM_VIVIENDA NUMVIVIENDA, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA
			+ ".FEC_INICIO FECINICIO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA
			+ ".FEC_FIN FECFIN, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA
			+ ".NUM_CONTRATO NUMCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA
			+ ".INQUILINOS INQUILINOS ";

	public static final String SQL_SELECT_COUNT = "SELECT COUNT(1)";

	public static final String SQL_FROM_VISTA = " FROM"
			+ ContratoAlquilerDaoSql.VISTA
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ;

	public static final String SQL_FROM_VISTA_ACT_MASIVA = " FROM"
			+ ContratoAlquilerDaoSql.VISTA_ACTMASIVA
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQACTMASIVA;

	public static final String SQL_FROM_TABLA = " FROM"
			+ ContratoAlquilerDaoSql.TABLA
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ;

	public static final String SQL_FROM2_TABLA = " FROM"
			+ ContratoAlquilerDaoSql.TABLA
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ2;

	public static final String SQL_WHERE_ALL = " WHERE 1=1 ";

	public static final String SQL_WHERE_ID = SQL_WHERE_ALL + " AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".ID_CONTRATO = ? ";

	public static final String SQL_WHERE_NOT_ID = " AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_VIVIENDA != ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_INQUILINO != ?";

	public static final String SQL_WHERE_FOR_UPDATE = SQL_WHERE_ID + " AND"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".FEH_ULT_MODIF = ?";

	public static final String SQL_FIND = SQL_SELECT + SQL_FROM_VISTA
			+ SQL_WHERE_ID;
	public static final String SQL_FIND_FOR_UPDATE = SQL_SELECT
			+ SQL_FROM_VISTA + SQL_WHERE_FOR_UPDATE;
	public static final String SQL_FIND_ALL = SQL_SELECT + SQL_FROM_VISTA;
	public static final String SQL_FIND_ALL_ACT_MASIVA = SQL_SELECT_ACT_MASIVA
			+ SQL_FROM_VISTA_ACT_MASIVA;
	public static final String SQL_FIND_ALL_COUNT = SQL_SELECT_COUNT
			+ SQL_FROM_VISTA;

	public static final String SQL_FIND_NUMINQU_MAX = "SELECT NVL(MAX("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO), 0) + 1" + SQL_FROM_TABLA + " WHERE"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA = ?";

	public static final String SQL_FIND_ULTIMO_CONTRATO = "SELECT MAX("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_INQUILINO)"
			+ SQL_FROM_TABLA + " WHERE "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA = ?";

	public static final String SQL_FECHA_INI_MAYOR = "SELECT COUNT("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".ID_CONTRATO)"
			+ SQL_FROM_TABLA + " WHERE "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INICIO >= ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO != ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA = ?";

	public static final String SQL_RANGO_FECHA_INI_FIN = "SELECT COUNT("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".ID_CONTRATO) "
			+ SQL_FROM_TABLA + " WHERE ((NVL("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".FEC_FIN, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INICIO) >= ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO < ?) OR (NVL("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".FEC_INICIO, "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".FEC_FIN) <= ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO > ?)) AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO != ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA = ?";

	public static final String SQL_FIND_CONTRATO_ANTERIOR = "SELECT "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".ID_CONTRATO IDCONTRATO,"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".NUM_INQUILINO NUMINQUILINO" + SQL_FROM_TABLA + " WHERE (("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INICIO < ? AND NVL("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_FIN, ?) >= ?) OR ("
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_INICIO IS NULL OR "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ
			+ ".FEC_FIN IS NULL)) AND"
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_INQUILINO = "
			+ "(SELECT MAX (" + ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ2
			+ ".NUM_INQUILINO)" + ContratoAlquilerDaoSql.SQL_FROM2_TABLA
			+ " WHERE" + ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ2
			+ ".NUM_INQUILINO < ? AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ2 + ".NUM_VIVIENDA = "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA) AND "
			+ ContratoAlquilerDaoSql.ALIAS_CONTRATOALQ + ".NUM_VIVIENDA = ?";

	public static final String SQL_UPDATE_CONTR_ANTERIOR = "UPDATE"
			+ ContratoAlquilerDaoSql.TABLA
			+ "SET FEC_FIN=? " + SQLGenericas.UPDATE_ABSTRACT_CLASS_SQL
			+ " WHERE NUM_VIVIENDA = ? AND NUM_INQUILINO =?";
}
