package com.ejie.m62fb.dao.registroVPP;

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

public class ContratoAlquilerElementoDaoSql {

	/**
	 * 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_ELEMENTO;
	public static final String VISTA = BDConstantes.VIS_CONTR_ALQ_ELEMENTO;
	public static final String ALIAS_CONTRATOALQELEM = " CONTRATOALQELEM";
	public static final String ALIAS_CONTRATOALQELEM2 = " CONTRATOALQELEM2";
	public static final String PK = "ID_CONTRATO_ALQ";

	public static final String SQL_INSERT = "INSERT INTO"
			+ ContratoAlquilerElementoDaoSql.TABLA
			+ "(ID_CONTRATO_ALQ, IDE_ELEMENTO, ID_PAGADOR, FEC_ENV_CONTRATO, FEC_ENV_FIN_CONTRATO, "
			+ "FEC_INI_FAC, IMC_PRECIO_RENTA, IMC_FIANZA, FEC_ENT_CONTRATO, FEC_INICIO, FEC_FIN, COD_ENTIDAD, COD_SUCURSAL, "
			+ "COD_DIGITO_CONTROL, COD_CUENTA, IND_VISADO, FEC_VISADO, FEC_EMPADRON, COD_TIPO_CONTRATO, TEX_OBSERVACIONES"
			+ 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"
			+ ContratoAlquilerElementoDaoSql.TABLA
			+ "SET IDE_ELEMENTO=?, ID_PAGADOR=?, FEC_ENV_CONTRATO=?, FEC_ENV_FIN_CONTRATO=?, FEC_INI_FAC=?, IMC_PRECIO_RENTA=?, "
			+ "IMC_FIANZA=?, FEC_ENT_CONTRATO=?, FEC_INICIO=?, FEC_FIN=?, COD_ENTIDAD=?, COD_SUCURSAL=?, COD_DIGITO_CONTROL=?, "
			+ "COD_CUENTA=?, IND_VISADO=?, FEC_VISADO=?, FEC_EMPADRON=?, COD_TIPO_CONTRATO=?, TEX_OBSERVACIONES=?"
			+ SQLGenericas.UPDATE_DIRECCION_CLASS_SQL
			+ SQLGenericas.UPDATE_ABSTRACT_CLASS_SQL
			+ "WHERE ID_CONTRATO_ALQ=?";

	public static final String SQL_SELECT = "SELECT  "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ IDCONTRATOALQ, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO IDEELEMENTO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_PAGADOR IDPAGADOR, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_ENV_CONTRATO FECENVCONTRATO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_ENV_FIN_CONTRATO FECENVFINCONTRATO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INI_FAC FECINIFAC, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IMC_PRECIO_RENTA IMCPRECIORENTA, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IMC_FIANZA IMCFIANZA, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_ENT_CONTRATO FECENTCONTRATO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO FECINICIO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_FIN FECFIN, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".COD_ENTIDAD CODENTIDAD, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".COD_SUCURSAL CODSUCURSAL, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".COD_DIGITO_CONTROL CODDIGITOCONTROL, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".COD_CUENTA CODCUENTA, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IND_VISADO INDVISADO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_VISADO FECVISADO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_EMPADRON FECEMPADRON, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".COD_TIPO_CONTRATO CODTIPOCONTRATO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".DESC_TIPO_CONTRATO_ES DESCTIPOCONTRATOES, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".DESC_TIPO_CONTRATO_EU DESCTIPOCONTRATOEU, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".TEX_OBSERVACIONES TEXOBSERVACIONES, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".NIF_PAGADOR_RENTA NIFPAGADORRENTA"
			// Direccion
			+ SQLGenericas.getSqlCamposDireccionCompleta(ALIAS_CONTRATOALQELEM,
					null)
			// AbstractM62FBModel
			+ SQLGenericas
					.getSqlCamposAbstractClass(ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM);

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

	public static final String SQL_FROM_VISTA = " FROM"
			+ ContratoAlquilerElementoDaoSql.VISTA
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM;

	public static final String SQL_FROM_TABLA = " FROM"
			+ ContratoAlquilerElementoDaoSql.TABLA
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM;

	public static final String SQL_FROM2_TABLA = " FROM"
			+ ContratoAlquilerElementoDaoSql.TABLA
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM2;

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

	public static final String SQL_WHERE_ID = SQL_WHERE_ALL + " AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ = ?";

	public static final String SQL_WHERE_FOR_UPDATE = SQL_WHERE_ID + " AND"
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".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_COUNT = SQL_SELECT_COUNT
			+ SQL_FROM_VISTA;

	public static final String SQL_FIND_IDCONTRATOALQ_MAX = "SELECT NVL(MAX("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ), 0) + 1" + SQL_FROM_TABLA + " WHERE"
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO = ?";

	public static final String SQL_FIND_ULTIMO_CONTRATO = "SELECT MAX("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ)" + SQL_FROM_TABLA + " WHERE "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO = ?";

	public static final String SQL_FECHA_INI_MAYOR = "SELECT COUNT("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ)" + SQL_FROM_TABLA + " WHERE "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO >= ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ != ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO = ?";

	public static final String SQL_RANGO_FECHA_INI_FIN = "SELECT COUNT("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ) " + SQL_FROM_TABLA + " WHERE ((NVL("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_FIN, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO) >= ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ < ?) OR (NVL("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO, "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_FIN) <= ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ > ?)) AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ != ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO = ?";

	public static final String SQL_FIND_CONTRATO_ANTERIOR = "SELECT "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ IDCONTRATOALQ" + SQL_FROM_TABLA + " WHERE (("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO < ? AND NVL("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_FIN, ?) >= ?) OR ("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_INICIO IS NULL OR "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".FEC_FIN IS NULL)) AND"
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".ID_CONTRATO_ALQ = " + "(SELECT MAX ("
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM2
			+ ".ID_CONTRATO_ALQ)"
			+ ContratoAlquilerElementoDaoSql.SQL_FROM2_TABLA + " WHERE"
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM2
			+ ".ID_CONTRATO_ALQ < ? AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM2
			+ ".IDE_ELEMENTO = "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO) AND "
			+ ContratoAlquilerElementoDaoSql.ALIAS_CONTRATOALQELEM
			+ ".IDE_ELEMENTO = ?";

	public static final String SQL_UPDATE_CONTR_ANTERIOR = "UPDATE"
			+ ContratoAlquilerElementoDaoSql.TABLA
			+ "SET FEC_FIN=? " + SQLGenericas.UPDATE_ABSTRACT_CLASS_SQL
			+ "WHERE ID_CONTRATO_ALQ=?";
}