<commit_before><?php

namespace Brasa\RecursoHumanoBundle\Repository;

use Doctrine\ORM\EntityRepository;

/**
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class RhuLiquidacionRepository extends EntityRepository {
    
    public function listaDql($strIdentificacion = "") {        
        $dql   = "SELECT l, e FROM BrasaRecursoHumanoBundle:RhuLiquidacion l JOIN l.empleadoRel e WHERE l.codigoLiquidacionPk <> 0";
        if($strIdentificacion != "" ) {
            $dql .= " AND e.numeroIdentificacion LIKE '%" . $strIdentificacion . "%'";
        }

        $dql .= " ORDER BY l.codigoLiquidacionPk";
        return $dql;
    }  
    
    public function liquidar($codigoLiquidacion) {        
        $em = $this->getEntityManager();
        $arConfiguracion = $em->getRepository('BrasaRecursoHumanoBundle:RhuConfiguracion')->configuracionDatoCodigo(1);
        $arLiquidacion = new \Brasa\RecursoHumanoBundle\Entity\RhuLiquidacion();
        $arLiquidacion = $em->getRepository('BrasaRecursoHumanoBundle:RhuLiquidacion')->find($codigoLiquidacion); 
        $douIBCAdicional = 0;
        $dateFechaUltimoPago = $arLiquidacion->getContratoRel()->getFechaUltimoPago();                        
        if($dateFechaUltimoPago != null) {
            $arLiquidacion->setFechaUltimoPago($dateFechaUltimoPago);
            if($arLiquidacion->getFechaUltimoPago() < $arLiquidacion->getFechaHasta()) {
                $dateFechaUltimoPagoLiquidacion = $arLiquidacion->getFechaUltimoPago();
                date_add($dateFechaUltimoPagoLiquidacion, date_interval_create_from_date_string('1 days'));                
                $diasAdicionales = $this->diasPrestaciones($dateFechaUltimoPagoLiquidacion, $arLiquidacion->getFechaHasta());
                $douIBCAdicional = ($arLiquidacion->getContratoRel()->getVrSalarioPago()/30) * $diasAdicionales;
                $arLiquidacion->setVrIngresoBaseCotizacionAdicional($douIBCAdicional);                
                $arLiquidacion->setDiasAdicionalesIBC($diasAdicionales);
            }
        }        
        $arrayCostos = $em->getRepository('BrasaRecursoHumanoBundle:RhuPago')->devuelveCostosFecha($arLiquidacion->getCodigoEmpleadoFk(), $arLiquidacion->getContratoRel()->getFechaDesde()->format('Y-m-d'), $arLiquidacion->getContratoRel()->getFechaHasta()->format('Y-m-d'), $arLiquidacion->getCodigoContratoFk());        
        $douIBC = (float)$arrayCostos[0]['IBC']; 
        $douIBCTotal = $douIBC + $douIBCAdicional;
        $intDiasLaborados = $this->diasPrestaciones($arLiquidacion->getContratoRel()->getFechaDesde(), $arLiquidacion->getContratoRel()->getFechaHasta());
        $douSalario = $arLiquidacion->getContratoRel()->getVrSalario();
        $douBasePrestacionesTotal = 0;        
        $douCesantias = 0;
        $douInteresesCesantias = 0;
        $douPrima = 0;
        $douDeduccionPrima = 0;
        $douVacaciones = 0;
        $douAuxilioTransporte = 0;
        if($intDiasLaborados > 0) {
            $douBasePrestaciones = ($douIBCTotal / $intDiasLaborados) * 30;   
            if($douSalario <= $arConfiguracion->getVrSalario() * 2) {<commit_msg>Liquidacion vacacion<commit_after><?php

namespace Brasa\RecursoHumanoBundle\Repository;

use Doctrine\ORM\EntityRepository;

/**
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class RhuLiquidacionRepository extends EntityRepository {
    
    public function listaDql($strIdentificacion = "") {        
        $dql   = "SELECT l, e FROM BrasaRecursoHumanoBundle:RhuLiquidacion l JOIN l.empleadoRel e WHERE l.codigoLiquidacionPk <> 0";
        if($strIdentificacion != "" ) {
            $dql .= " AND e.numeroIdentificacion LIKE '%" . $strIdentificacion . "%'";
        }

        $dql .= " ORDER BY l.codigoLiquidacionPk";
        return $dql;
    }  
    
    public function liquidar($codigoLiquidacion) {        
        $em = $this->getEntityManager();
        $arConfiguracion = $em->getRepository('BrasaRecursoHumanoBundle:RhuConfiguracion')->configuracionDatoCodigo(1);
        $arLiquidacion = new \Brasa\RecursoHumanoBundle\Entity\RhuLiquidacion();
        $arLiquidacion = $em->getRepository('BrasaRecursoHumanoBundle:RhuLiquidacion')->find($codigoLiquidacion); 
        $douIBCAdicional = 0;
        $dateFechaUltimoPago = $arLiquidacion->getContratoRel()->getFechaUltimoPago();                        
        if($dateFechaUltimoPago != null) {
            $arLiquidacion->setFechaUltimoPago($dateFechaUltimoPago);
            if($arLiquidacion->getFechaUltimoPago() < $arLiquidacion->getFechaHasta()) {
                $dateFechaUltimoPagoLiquidacion = $arLiquidacion->getFechaUltimoPago();
                date_add($dateFechaUltimoPagoLiquidacion, date_interval_create_from_date_string('1 days'));                
                $diasAdicionales = $this->diasPrestaciones($dateFechaUltimoPagoLiquidacion, $arLiquidacion->getFechaHasta());
                $douIBCAdicional = ($arLiquidacion->getContratoRel()->getVrSalarioPago()/30) * $diasAdicionales;
                $arLiquidacion->setVrIngresoBaseCotizacionAdicional($douIBCAdicional);                
                $arLiquidacion->setDiasAdicionalesIBC($diasAdicionales);
            }
        }        
        $arrayCostos = $em->getRepository('BrasaRecursoHumanoBundle:RhuPago')->devuelveCostosFecha($arLiquidacion->getCodigoEmpleadoFk(), $arLiquidacion->getContratoRel()->getFechaDesde()->format('Y-m-d'), $arLiquidacion->getContratoRel()->getFechaHasta()->format('Y-m-d'), $arLiquidacion->getCodigoContratoFk());        
        $douIBC = (float)$arrayCostos[0]['IBC']; 
        $douIBCTotal = $douIBC + $douIBCAdicional;
        $intDiasLaborados = $this->diasPrestaciones($arLiquidacion->getContratoRel()->getFechaDesde(), $arLiquidacion->getContratoRel()->getFechaHasta());
        $douSalario = $arLiquidacion->getContratoRel()->getVrSalarioPago();
        $douBasePrestacionesTotal = 0;        
        $douCesantias = 0;
        $douInteresesCesantias = 0;
        $douPrima = 0;
        $douDeduccionPrima = 0;
        $douVacaciones = 0;
        $douAuxilioTransporte = 0;
        if($intDiasLaborados > 0) {
            $douBasePrestaciones = ($douIBCTotal / $intDiasLaborados) * 30;   
            if($douSalario <= $arConfiguracion->getVrSalario() * 2) {
{'fraction_non_alphanumeric': 0.12513686844986704, 'fraction_numerical': 0.005631159080244017, 'mean_word_length': 3.212121212121212, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 77, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1089592', 'n_tokens_mistral': 2326, 'n_tokens_neox': 2221, 'n_words': 249}