Skip to content

Instantly share code, notes, and snippets.

@leandrob13
Created November 30, 2016 21:43
Show Gist options
  • Save leandrob13/c212f808e040732c23f01fbd8e8c343c to your computer and use it in GitHub Desktop.
Save leandrob13/c212f808e040732c23f01fbd8e8c343c to your computer and use it in GitHub Desktop.
protected val driver = com.typesafe.slick.driver.oracle.OracleDriver
import TperTiposPersonasRegistro._
import driver.api._
class TperTiposPersonas( _tableTag: Tag ) extends Table[TperTiposPersonasRegistro]( _tableTag, None, "TPER_TIPOS_PERSONAS" ) {
val cdtipoPersona: Rep[String] = column[String]( "CDTIPO_PERSONA", O.PrimaryKey, O.Length( 2, varying = true ) )
val dstipoPersona: Rep[Option[String]] = column[Option[String]]( "DSTIPO_PERSONA", O.Length( 30, varying = true ) )
val febaja: Rep[Option[Timestamp]] = column[Option[Timestamp]]( "FEBAJA" )
val snnumerico: Rep[Option[Char]] = column[Option[Char]]( "SNNUMERICO" )
val snnatural: Rep[Option[Char]] = column[Option[Char]]( "SNNATURAL" )
val snvalidarDni: Rep[Option[Char]] = column[Option[Char]]( "SNVALIDAR_DNI" )
val snvalidarNombre: Rep[Option[Char]] = column[Option[Char]]( "SNVALIDAR_NOMBRE" )
val sncopiar: Rep[Option[Char]] = column[Option[Char]]( "SNCOPIAR" )
val sntipoInterno: Rep[Option[Char]] = column[Option[Char]]( "SNTIPO_INTERNO" )
val fealta: Rep[Timestamp] = column[Timestamp]( "FEALTA" )
val dsobservaciones: Rep[Option[String]] = column[Option[String]]( "DSOBSERVACIONES", O.Length( 100, varying = true ) )
val cdgrupoIden: Rep[Option[Char]] = column[Option[Char]]( "CDGRUPO_IDEN" )
val cdtipoEquivTercerProve: Rep[Option[Char]] = column[Option[Char]]( "CDTIPO_EQUIV_TERCER_PROVE" )
val nmminimoCaracteres: Rep[Option[String]] = column[Option[String]]( "NMMINIMO_CARACTERES", O.Length( 2, varying = true ) )
val nmmaximoCaracteres: Rep[Option[String]] = column[Option[String]]( "NMMAXIMO_CARACTERES", O.Length( 2, varying = true ) )
val nmedadMinimaPermitida: Rep[Option[String]] = column[Option[String]]( "NMEDAD_MINIMA_PERMITIDA", O.Length( 3, varying = true ) )
val nmedadMaximaPermitida: Rep[Option[String]] = column[Option[String]]( "NMEDAD_MAXIMA_PERMITIDA", O.Length( 3, varying = true ) )
val cdtipoPersonaDian: Rep[Option[String]] = column[Option[String]]( "CDTIPO_PERSONA_DIAN", O.Length( 5, varying = true ) )
val cdpaisOrigenTipoPersona: Rep[Option[BigDecimal]] = column[Option[BigDecimal]]( "CDPAIS_ORIGEN_TIPO_PERSONA" )
val nmlongitudCdtipoPersona: Rep[Option[String]] = column[Option[String]]( "NMLONGITUD_CDTIPO_PERSONA", O.Length( 2, varying = true ) )
val cdtipoEquivAgricola: Rep[Option[String]] = column[Option[String]]( "CDTIPO_EQUIV_AGRICOLA", O.Length( 2, varying = true ) )
val cdtipoEquivSusalud: Rep[Option[String]] = column[Option[String]]( "CDTIPO_EQUIV_SUSALUD", O.Length( 5, varying = true ) )
val cdtipoEquivArpsura: Rep[Option[String]] = column[Option[String]]( "CDTIPO_EQUIV_ARPSURA", O.Length( 2, varying = true ) )
def * = cdtipoPersona :: dstipoPersona :: febaja :: snnumerico :: snnatural :: snvalidarDni :: snvalidarNombre ::
sncopiar :: sntipoInterno :: fealta :: dsobservaciones :: cdgrupoIden :: cdtipoEquivTercerProve ::
nmminimoCaracteres :: nmmaximoCaracteres :: nmedadMinimaPermitida :: nmedadMaximaPermitida :: cdtipoPersonaDian ::
cdpaisOrigenTipoPersona :: nmlongitudCdtipoPersona :: cdtipoEquivAgricola :: cdtipoEquivSusalud ::
cdtipoEquivArpsura :: HNil
/** Index over (snnatural) (database name TPER_TIPOS_PERSONAS_I02) */
val index1 = index( "TPER_TIPOS_PERSONAS_I02", snnatural :: HNil )
}
object TperTiposPersonasRegistro {
/** Row type of table TperTiposPersonas */
type TperTiposPersonasRegistro = HCons[String, HCons[Option[String], HCons[Option[Timestamp], HCons[Option[Char], HCons[Option[Char], HCons[Option[Char], HCons[Option[Char], HCons[Option[Char], HCons[Option[Char], HCons[Timestamp, HCons[Option[String], HCons[Option[Char], HCons[Option[Char], HCons[Option[String], HCons[Option[String], HCons[Option[String], HCons[Option[String], HCons[Option[String], HCons[Option[BigDecimal], HCons[Option[String], HCons[Option[String], HCons[Option[String], HCons[Option[String], HNil]]]]]]]]]]]]]]]]]]]]]]]
def apply( cdtipoPersona: String, dstipoPersona: Option[String], febaja: Option[Timestamp],
snnumerico: Option[Char], snnatural: Option[Char], snvalidarDni: Option[Char],
snvalidarNombre: Option[Char], sncopiar: Option[Char], sntipoInterno: Option[Char],
fealta: Timestamp, dsobservaciones: Option[String], cdgrupoIden: Option[Char],
cdtipoEquivTercerProve: Option[Char], nmminimoCaracteres: Option[String],
nmmaximoCaracteres: Option[String], nmedadMinimaPermitida: Option[String],
nmedadMaximaPermitida: Option[String], cdtipoPersonaDian: Option[String],
cdpaisOrigenTipoPersona: Option[BigDecimal], nmlongitudCdtipoPersona: Option[String],
cdtipoEquivAgricola: Option[String], cdtipoEquivSusalud: Option[String],
cdtipoEquivArpsura: Option[String] ): TperTiposPersonasRegistro = {
cdtipoPersona :: dstipoPersona :: febaja :: snnumerico :: snnatural :: snvalidarDni :: snvalidarNombre ::
sncopiar :: sntipoInterno :: fealta :: dsobservaciones :: cdgrupoIden :: cdtipoEquivTercerProve ::
nmminimoCaracteres :: nmmaximoCaracteres :: nmedadMinimaPermitida :: nmedadMaximaPermitida :: cdtipoPersonaDian ::
cdpaisOrigenTipoPersona :: nmlongitudCdtipoPersona :: cdtipoEquivAgricola :: cdtipoEquivSusalud ::
cdtipoEquivArpsura :: HNil
}
}
object Transformador {
implicit def tipoPersona( t: TperTiposPersonasRegistro ): TipoDocumento = {
val id: String = t( 0 )
val descripcion: Option[String] = t( 1 )
val esPersonaNatural: Option[Char] = t( 4 )
val codigoPaisOrigen: Option[BigDecimal] = t( 18 )
val tipoPersona: Option[TipoPersona] = esPersonaNatural.map( c => if ( c == 'S' ) Natural else Juridica )
val codigoGrupo: Option[Char] = t( 11 )
TipoDocumento( id, descripcion, tipoPersona, codigoPaisOrigen, codigoGrupo )
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment