Ejemplo n.º 1
0
 public function actionAdmin()
 {
     $model = new Presupuesto('search');
     $model->unsetAttributes();
     if (isset($_GET['Presupuesto'])) {
         $model->setAttributes($_GET['Presupuesto']);
     }
     $this->render('admin', array('model' => $model));
 }
Ejemplo n.º 2
0
 public function show($id)
 {
     $presupuesto = Presupuesto::find($id);
     $data = array('presupuesto' => $presupuesto);
     //return View::make('presupuestos/show')->with($data);
     $pdf = App::make('dompdf');
     $pdf->loadHTML(View::make('presupuestos/show')->with($data));
     return $pdf->stream();
 }
 public function deletePresupuesto($id)
 {
     $presupuesto = Presupuesto::findOrFail(Input::get('id'));
     if ($presupuesto->delete()) {
         $data['mensaje'] = "Se eliminó el presupuesto correctamente";
         $data['vista'] = $this->getPresupuesto($id)->render();
         return Response::json($data);
     }
     return Response::json(['errores' => $presupuesto->getErrors()], 400);
 }
Ejemplo n.º 4
0
function cargarPresupuesto($RUTA_A)
{
    require_once "{$RUTA_A}/functions/Presupuesto.php";
    // obtenemos los datos del archivo
    $tipo = $_FILES["archivo"]['type'];
    $archivo = $_FILES["archivo"]['name'];
    //valida que sí ingresen un archivo
    if (empty($archivo)) {
        $result = "<b>Debe de especificar un archivo con el botón Examinar...<b>";
        return $result;
    }
    // valida que sólo sean archivos .cvs
    if (substr($archivo, -4, 4) != ".csv") {
        $result = "<b>Por favor verifique el tipo de archivo. El archivo debe ser guardado con extensión .csv<b>";
        return $result;
    }
    //Aunque el archivo se llame igual que uno previo se carga.
    $prefijo = substr(md5(uniqid(rand())), 0, 6);
    if ($archivo != "") {
        // guardamos el archivo a la carpeta "datos"
        $destino = $RUTA_A . "/datos/" . $prefijo . "_" . $archivo;
        if (copy($_FILES['archivo']['tmp_name'], $destino)) {
            $result = "Archivo colocado: <b>" . $archivo . "</b>";
        } else {
            return "<b>Error al subir el archivo</b>";
        }
    } else {
        return "<b>Error al subir el archivo</b>";
    }
    $registros = 0;
    $actualizaciones = 0;
    $no_registrados = "";
    $no_actualizados = "";
    $i = 0;
    $fp = fopen($destino, "r");
    if ($fp !== FALSE) {
        $Presupuesto = new Presupuesto();
        $CentroCosto = new CentroCosto();
        $Concepto = new Concepto();
        $data = fgetcsv($fp, 0, ",");
        while ($data) {
            $i++;
            $empresa = $data[0];
            $ceco = $data[1];
            $finicial = $data[2];
            $ffinal = $data[3];
            $monto = $data[4];
            $row_resultCC = $CentroCosto->Busca_CeCoXCodigo($ceco, $empresa);
            if (empty($row_resultCC)) {
                echo "El Centro de Costos " . $ceco . " para la empresa" . $empresa . " no existe. Linea no. " . $i . " </br>";
            } else {
                $fechaI = explode("/", $finicial);
                $fechaF = explode("/", $ffinal);
                $FI = $fechaI[2] . "-" . $fechaI[1] . "-" . $fechaI[0];
                $FF = $fechaF[2] . "-" . $fechaF[1] . "-" . $fechaF[0];
                $cc_id = $row_resultCC["cc_id"];
                $row_resultPP = $Presupuesto->Existe_PP($cc_id, $FI, $FF);
                if (empty($row_resultPP)) {
                    if ($Presupuesto->Nuevo_Presupuesto($cc_id, $FI, $FF, $monto) > 0) {
                        $registros++;
                    } else {
                        $no_actualizados = $no_actualizados . "[" . $data[0] . "][" . $data[1] . "],";
                    }
                } else {
                    $pDisponible = $monto - $row_resultPP["pp_presupuesto_utilizado"];
                    if ($Presupuesto->Actualiza_Presupuesto($row_resultPP["pp_id"], $data[4], $pDisponible)) {
                        $actualizaciones++;
                    } else {
                        $no_actualizados = $no_actualizados . "[" . $data[0] . "][" . $data[1] . "],";
                    }
                }
            }
            $data = fgetcsv($fp, 0, ",");
        }
    }
    fclose($fp);
    return mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados);
}
Ejemplo n.º 5
0
<body>
<?php 
//Detalles
$numPresupuesto = $_GET['id'];
$elPresupuesto = Presupuesto::model()->findByPk($numPresupuesto);
$detallePresupuesto = PresupuestoDetalle::model()->findAll("presupuesto_id = {$numPresupuesto}");
//$elnumero = $laFactura->factura->numero;
?>
			<style type="text/css">
				#cuerpo{
				   font-size: 70%;
				}
				#total{
					/*color:red;*/
					background: #A9A9A9;
				}
			</style>

<div id="cuerpo" style="background-image: url(images/m_horizontal_presupuesto.jpg); background-repeat: no-repeat; height:100%; padding:0px 0px 0px 20px;">

<!-- <div style="height:175px"></div> -->
<!-- <div style="padding:170px 0px 0px 0px;"> -->

<div style="padding:90px 0px 0px 0px;">
<h5>Presupuesto de Prestación de Servicios</h5>
<p><b>Nombre: </b><?php 
echo $elPresupuesto->paciente->nombreCompleto;
?>
</p>
<p><b>N° de Identificación: </b><?php 
echo $elPresupuesto->paciente->n_identificacion;
Ejemplo n.º 6
0
 public function actionDelete($id)
 {
     if (Yii::app()->getRequest()->getIsPostRequest()) {
         $orden = $this->loadModel($id, 'OrdenTrabajo');
         $totalorden = $orden->sumita;
         $factura = $this->loadModel($orden->id_rf, 'RegistroFactura');
         if ($orden->delete()) {
             $iva = Ivas::model()->findBySql('SELECT valor_iva FROM ivas ORDER BY fecha DESC');
             $suma_bruto = $factura->sumarNeto() * ($iva['valor_iva'] / 100 + 1);
             $factura->setAttributes(array('total_neto' => $factura->sumarNeto(), 'total_bruto' => round($suma_bruto)));
             $factura->save();
             $presid = Presupuesto::model()->find('ano = :an ORDER BY modificado DESC', array(':an' => date("Y", strtotime($orden->fecha))));
             $presupuesto = $this->loadModel($presid->id, 'Presupuesto');
             $presupuesto->setAttributes(array('ppto_disponible' => $presupuesto->ppto_disponible + $totalorden));
             $presupuesto->save();
         }
         if (!Yii::app()->getRequest()->getIsAjaxRequest()) {
             $this->redirect(array('admin'));
         }
     } else {
         throw new CHttpException(400, Yii::t('app', 'Your request is invalid.'));
     }
 }
 public function actionActualizarLaboratorio()
 {
     $model = Contratos::model()->findByPk($_GET['id']);
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     // if(isset($_POST['Presupuesto']))
     // {
     //$model->attributes=$_POST['Presupuesto'];
     $model->fecha = date("Y-m-d");
     $model->observaciones = $_POST['observaciones'];
     $model->usuario_id = $_POST['vendedor'];
     if ($model->save()) {
         $detalleP = ContratoDetalle::model()->findAll("contrato_id = {$model->id}");
         foreach ($detalleP as $detalle_P) {
             $detalle_P->delete();
         }
         $eltotal = 0;
         for ($i = 0; $i <= $_POST['variable']; $i++) {
             //$x = $i+1;
             //
             if (isset($_POST['linea_' . $i])) {
                 $detalleP = new ContratoDetalle();
                 $detalleP->presupuesto_id = $model->id;
                 $detalleP->linea_servicio_id = $_POST['linea_' . $i];
                 $detalleP->cantidad = $_POST['cantidad_' . $i];
                 $detalleP->vu = $_POST['vu_' . $i];
                 $detalleP->desc = $_POST['desc_' . $i];
                 $detalleP->vu_desc = $_POST['vu_desc_' . $i];
                 $detalleP->vt_sin_desc = $_POST['vt_sin_desc_' . $i];
                 $detalleP->vt_con_desc = $_POST['vt_con_desc_' . $i];
                 $detalleP->total = $_POST['total_' . $i];
                 $eltotal = $eltotal + $_POST['total_' . $i];
                 $detalleP->save();
             }
         }
         $paraTotal = Presupuesto::model()->findByPk($model->id);
         $paraTotal->total = $eltotal;
         $paraTotal->save();
     }
     $this->redirect(array('view', 'id' => $model->id));
     //}
     // $this->render('create',array(
     // 	'model'=>$model,
     // ));
 }
Ejemplo n.º 8
0
<?php

$this->breadcrumbs = array(Presupuesto::label(2), Yii::t('app', 'Index'));
$this->menu = array(array('label' => Yii::t('app', 'Agregar') . ' ' . Presupuesto::label(), 'url' => array('create')), array('label' => Yii::t('app', 'Administrar') . ' ' . Presupuesto::label(2), 'url' => array('admin')));
?>

<h1><?php 
echo GxHtml::encode(Presupuesto::label(2));
?>
</h1>

<?php 
$this->widget('zii.widgets.CListView', array('dataProvider' => $dataProvider, 'emptyText' => 'No hay resultados', 'summaryText' => 'Mostrando del {start} al {end} de {count} resultado(s).', 'pager' => array('header' => '', 'prevPageLabel' => 'Anterior', 'nextPageLabel' => 'Siguiente'), 'itemView' => '_view'));
Ejemplo n.º 9
0
 if ($delegado == 0) {
     $iduser = $_POST['iu'];
     $delegado = 0;
 } else {
     $iduser = $delegado;
     $delegado = $_POST['iu'];
 }
 $existeDelegado = $delegados->existenciaDelegado($iduser, $delegado);
 /*
  * Actualizamos el campo de t_delegado, pues si es el delegado quien aprueba la cotización entonces hay que guardar su ID.
  */
 $tramite->actualizaDelegado($idTramite, $delegado);
 /**
  * Validacion y guardado de excepcion de presupuesto
  **/
 $presupuesto = new Presupuesto();
 $objetoPresupuesto = $presupuesto->validarPresupuesto($idTramite);
 $ruta_autorizacion->generaExcepcion($idTramite, $objetoPresupuesto);
 if ($existeDelegado) {
     $duenoActual = new Usuario();
     $duenoActual->Load_Usuario_By_ID($delegado);
     $nombreUsuario = $duenoActual->Get_dato('nombre');
     $iniciador = $tramite->Get_dato("t_iniciador");
     if ($sObser != "") {
         $notificacion = new Notificacion();
         $observaciones = $notificacion->anotaObservacion($delegado, $HObser, $sObser, FLUJO_SOLICITUD, "");
         $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $observaciones, $idTramite);
         $cnn->ejecutar($queryObserv);
     } else {
         $queryObserv = sprintf("UPDATE solicitud_viaje SET sv_observaciones = '%s' WHERE sv_tramite = '%s'", $HObser, $idTramite);
         $cnn->ejecutar($queryObserv);
Ejemplo n.º 10
0
}
//Anular Contrato
if ($model->estado == "Activo" and $model->saldo == $model->total and $losRealizados == 0) {
    ?>
				 	<a href="#anular" class="btn btn-small btn-info" data-toggle="modal"><i class="icon-download icon-white"></i> Anular Contrato</a>
			 	<?php 
}
?>
		<?php 
if ($model->presupuesto_id != Null) {
    $elPresupuesto = Presupuesto::model()->findByPk($model->presupuesto_id);
    ?>
					<a href="#presupuesto" class="btn btn-small btn-warning" data-toggle="modal"><i class="icon-asterisk icon-white"></i> Ver Presupuesto</a>
				<?php 
} else {
    $elPresupuesto = Presupuesto::model()->findByPk(0);
}
?>
		
	</div>

	<div class="span5">
	<?php 
if ($model->estado == "Activo") {
    ?>
		<?php 
    if ($valorRealizados == $model->total and $model->saldo == 0 and $tratamiento_programado == $tratamiento_realizado) {
        ?>
				<a href="index.php?r=contratos/completar&idContrato=<?php 
        echo $model->id;
        ?>
 public function enviarComprobacion()
 {
     $rutaautorizacion = new RutaAutorizacion();
     /**
      * Validacion y guardado de excepcion de presupuesto
      **/
     $presupuesto = new Presupuesto();
     $objetoPresupuesto = $presupuesto->validarPresupuesto($this->comprobacion["tramite"]);
     $rutaautorizacion->generaExcepcion($this->comprobacion["tramite"], $objetoPresupuesto);
     $rutaautorizacion->generarRutaAutorizacion($this->comprobacion["tramite"], $this->usuario["delegado"]);
     $excepciones = $rutaautorizacion->get_Excepciones($this->comprobacion["tramite"]);
     $rutaautorizacion->agregaAutorizadoresExcedentes($this->comprobacion["tramite"], $excepciones);
     $aprobador = $rutaautorizacion->getSiguienteAprobador($this->comprobacion["tramite"], $this->usuario["idusuario"]);
     $etapa = COMPROBACION_ETAPA_EN_APROBACION;
     $this->tramite->Load_Tramite($this->comprobacion["tramite"]);
     $etapaActual = $this->tramite->Get_dato("t_etapa_actual");
     if ($etapaActual == COMPROBACION_ETAPA_DEVUELTO_CON_OBSERVACIONES) {
         $aprobador = 2000;
     }
     $this->modificaEtapa($etapa, $aprobador);
     $this->obtenOservaciones();
     $this->enviaNotificacion($aprobador, $this->obtenMensaje($etapa));
 }
Ejemplo n.º 12
0
 public function rpt_informes_detalle()
 {
     require_once 'lib/model/base/Presupuesto.class.php';
     $idProyecto = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
     $rows = Presupuesto::getReporteDetalle($idProyecto);
     $data['rows'] = $rows;
     $this->pintar("partials/tablaReportesDetalles.php", $data);
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return Presupuesto the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = Presupuesto::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Ejemplo n.º 14
0
    $idEmpleado = (int) $_POST['idEmpleado'];
    $cecoEmpleado = 0;
    $cnn = new conexion();
    $query = sprintf("SELECT cc_centrocostos from cat_cecos where cc_id = (select idcentrocosto from empleado where idempleado = %s)", $idEmpleado);
    $rst = $cnn->consultar($query);
    while ($fila = mysql_fetch_assoc($rst)) {
        $cecoEmpleado = $fila['cc_centrocostos'];
    }
    echo json_encode($cecoEmpleado);
}
//funcion qe nos regresa el numero de CECO cuando se trata de una edicion
if (isset($_POST['idTramiteEdicion'])) {
    $idTramiteEdicion = (int) $_POST['idTramiteEdicion'];
    $cnn = new conexion();
    $cecoEmpleadoEdita = 0;
    $query = sprintf("SELECT cc_centrocostos FROM cat_cecos WHERE cc_id=(SELECT sv_ceco_paga FROM solicitud_viaje WHERE sv_tramite=%s)", $idTramiteEdicion);
    $rst = $cnn->consultar($query);
    while ($fila = mysql_fetch_assoc($rst)) {
        $cecoEmpleadoEdita = $fila['cc_centrocostos'];
    }
    echo json_encode($cecoEmpleadoEdita);
}
//Validacion dependiendo el presupuesto del CECO seleccionado
if (isset($_POST['totalPresupuesto'])) {
    $totalSolicitud = $_POST['totalPresupuesto'];
    $cecoId = $_POST['cecoSel'];
    $presupuesto = new Presupuesto();
    $diferenciaPresupuesto = $presupuesto->calculoPresupuestoXCECO($totalSolicitud, $cecoId);
    error_log("Indicador de presupuesto" . $diferenciaPresupuesto);
    echo json_encode($diferenciaPresupuesto);
}
 public function pagos($id)
 {
     try {
         $presu = Presupuesto::findOrFail($id);
         $pagos = $presu->pagos;
         return Response::json(array('error' => false, 'listado' => $pagos->toArray()), 200);
     } catch (Exception $e) {
         return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200);
     }
 }
Ejemplo n.º 16
0
 private function migrarPresupuestos()
 {
     $this->info("Migrando presupuestos");
     $this->getTable('recaudos_solicitud')->chunk(1000, function ($presupuestos) {
         foreach ($presupuestos as $presupuesto) {
             $this->info("Migrando presupuesto de la solicitud: " . $presupuesto->idppto);
             $presupuestoNuevo = new Presupuesto();
             $presupuestoNuevo->solicitud_id = $presupuesto->idsolicitud;
             $presupuestoNuevo->requerimiento_id = $presupuesto->codrequerimiento;
             $presupuestoNuevo->beneficiario_id = $presupuesto->numbenef;
             $presupuestoNuevo->monto = $presupuesto->monto;
             $presupuestoNuevo->cantidad = $presupuesto->cantidad;
             $presupuestoNuevo->save();
         }
     });
 }
Ejemplo n.º 17
0
			
		<?php 
    }
}
?>
		</table>
	</div>	
</div>


<div clas = "row">
	<div class="span6">
		<!-- Presupuestos-->

		<?php 
$elPresupuesto = Presupuesto::model()->findAll("paciente_id = {$model->id}");
if (count($elPresupuesto) > 0) {
    ?>
				
				<div class="row">
					<div class="span1"></div>
					<div class="span10">
						<h3 class="text-center">Presupuestos generados</h3>
						<table class="table table-striped">
							<tr>
								<th>Fecha</th>
								<th>Estado</th>
								<th>Total</th>
								<th></th>
							</tr>
						<?php 
 public function actionGuardarContratos()
 {
     if (!isset($_GET['idPaciente'])) {
         $model = new Contratos();
         //Buscar Presupuesto
         $elpresupuesto = Presupuesto::model()->findByPk($_GET['idpresupuesto']);
         $model->presupuesto_id = $elpresupuesto->id;
         $model->paciente_id = $elpresupuesto->paciente_id;
         $model->total = $elpresupuesto->total;
         $model->saldo = $elpresupuesto->total;
         $model->n_identificacion = $elpresupuesto->paciente->n_identificacion;
         $model->estado = "Sin Confirmar";
         $model->fecha_sola = date("Y-m-d");
         $model->fechahora = date("Y-m-d H:i:s");
         $model->vendedor_id = $elpresupuesto->vendedor_id;
         $model->usuario_id = $elpresupuesto->usuario_id;
         $model->observaciones = $elpresupuesto->observaciones;
         if ($model->save()) {
             $detallePresupuesto = PresupuestoDetalle::model()->findAll("presupuesto_id={$elpresupuesto->id}");
             foreach ($detallePresupuesto as $detalle_presupuesto) {
                 $detalleContrato = new ContratoDetalle();
                 $detalleContrato->contrato_id = $model->id;
                 $detalleContrato->linea_servicio_id = $detalle_presupuesto->linea_servicio_id;
                 $detalleContrato->cantidad = $detalle_presupuesto->cantidad;
                 $detalleContrato->vu = $detalle_presupuesto->vu;
                 $detalleContrato->desc = $detalle_presupuesto->desc;
                 $detalleContrato->vu_desc = $detalle_presupuesto->vu_desc;
                 $detalleContrato->vt_sin_desc = $detalle_presupuesto->vt_sin_desc;
                 $detalleContrato->vt_con_desc = $detalle_presupuesto->vt_con_desc;
                 $detalleContrato->estado = "Activo";
                 $detalleContrato->total = $detalle_presupuesto->total;
                 $detalleContrato->save();
             }
             $elpresupuesto->estado = "Contratado";
             $elpresupuesto->save();
             $ElTratamiento = ContratoDetalle::model()->find("contrato_id = {$model->id}");
             $paraTotal = Contratos::model()->findByPk($model->id);
             $paraTotal->tratamiento = $ElTratamiento->lineaServicio->nombre;
             $paraTotal->save();
         }
         $this->redirect(array('view', 'id' => $model->id));
         //
     } else {
         $model = new Contratos();
         // Uncomment the following line if AJAX validation is needed
         // $this->performAjaxValidation($model);
         // if(isset($_POST['Presupuesto']))
         // {
         //$model->attributes=$_POST['Presupuesto'];
         $datoPaciente = Paciente::model()->findByPk($_GET['idPaciente']);
         $model->paciente_id = $_GET['idPaciente'];
         $model->estado = "Activo";
         $model->n_identificacion = $datoPaciente->n_identificacion;
         $model->fechahora = date("Y-m-d H:i:s");
         $model->vendedor_id = $_POST['vendedor_id'];
         $model->observaciones = $_POST['observaciones'];
         $model->usuario_id = Yii::app()->user->usuarioId;
         if ($model->save()) {
             $eltotal = 0;
             for ($i = 0; $i <= $_POST['variable']; $i++) {
                 //$x = $i+1;
                 //
                 if (isset($_POST['linea_' . $i])) {
                     $detalleP = new ContratoDetalle();
                     $detalleP->contrato_id = $model->id;
                     $detalleP->linea_servicio_id = $_POST['linea_' . $i];
                     $detalleP->cantidad = $_POST['cantidad_' . $i];
                     $detalleP->vu = $_POST['vu_' . $i];
                     $detalleP->desc = $_POST['desc_' . $i];
                     $detalleP->vu_desc = $_POST['vu_desc_' . $i];
                     $detalleP->vt_sin_desc = $_POST['vt_sin_desc_' . $i];
                     $detalleP->vt_con_desc = $_POST['vt_con_desc_' . $i];
                     $detalleP->total = $_POST['total_' . $i];
                     $detalleP->estado = "Activo";
                     $eltotal = $eltotal + $_POST['total_' . $i];
                     $detalleP->save();
                 }
             }
             $ElTratamiento = ContratoDetalle::model()->find("contrato_id = {$model->id}");
             $paraTotal = Contratos::model()->findByPk($model->id);
             $paraTotal->tratamiento = $ElTratamiento->lineaServicio->nombre;
             $paraTotal->total = $eltotal;
             $paraTotal->saldo = $eltotal;
             $paraTotal->save();
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
 }
Ejemplo n.º 19
0
					<!-- -------------------------------------------------- -->
					<!-- A�o -->
						<?php 
						if($_SESSION['reporte']== "Reporte de Presupuesto"||$_SESSION['reporte']== "Relat�rio do Or�amento"||$_SESSION['reporte']== "Budget Report"){
							if($INDEXIDIOMA == 2){
							echo'<td  colspan="1" align="right" >A�o:</td>';
							}elseif($INDEXIDIOMA == 0){
							echo'<td  colspan="1" align="right" >A�o:</td>';
							}elseif($INDEXIDIOMA == 1){
							echo'<td  colspan="1" align="right" >Year:</td>';	
							}
						}else{					
						}?>
						<?php if($_SESSION['reporte']== "Reporte de Presupuesto"||$_SESSION['reporte']== "Relat�rio do Or�amento"||$_SESSION['reporte']== "Budget Report"){ ?>
							<td colspan='2' align="left" style="top:100px;">
								<?php $pre = new Presupuesto();?>
								<select name="anoOpciones" id="anoOpciones" >
										<option name="anoOpciones" id="anoOpciones" value="-1">
											Seleccione un A�o
										</option>
										<?php foreach($pre->Load_pAno() as $arrE){ ?>
										<option name="anoOpciones" id="anoOpciones" value="<?php echo $arrE['p_ano'];?>">
											<?php echo $arrE['p_ano'];?>
									</option>
									<?php } ?>	
								</select>					
							</td>				
						<?php }else{?>					
					</tr>
					<?php }?>			
				</table>
 public function ordenesTrabajoPresupuesto($presupuesto_id)
 {
     try {
         $p = Presupuesto::findOrFail($presupuesto_id);
         $OT = $p->ordenes_trabajo()->get();
         return Response::json(array('error' => false, 'listado' => $OT), 200);
     } catch (Exception $e) {
         return Response::json(array('error' => true, 'mensaje' => $e->getMessage()), 200);
     }
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $id_tipo = Input::get('id_tipo');
         // Verifico si el usuario es un Webmaster
         if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) {
             // Validate the info, create rules for the inputs
             $rules = array('rh_actividades' => 'required', 'eq_actividades' => 'required', 'go_actividades' => 'required', 'ga_actividades' => 'required');
             $messages = array('fecha_ini.required' => 'El campo Fecha Inicio es requerido.', 'fecha_fin.required' => 'El campo Fecha Final es requerido.');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('proyecto_presupuesto/edit/' . $id . '/' . $id_tipo)->withErrors($validator)->withInput(Input::all());
             } else {
                 $rh_actividades = Input::get('rh_actividades');
                 $rh_descripciones = Input::get('rh_descripciones');
                 $rh_unidades = Input::get('rh_unidades');
                 $rh_cantidades = Input::get('rh_cantidades');
                 $rh_costos_unitarios = Input::get('rh_costos_unitarios');
                 foreach ($rh_actividades as $key => $actividad) {
                     $presupuesto_actividad = new PresupuestoActividad();
                     $presupuesto_actividad->nombre = $actividad;
                     $presupuesto_actividad->descripcion = $rh_descripciones[$key];
                     $presupuesto_actividad->unidad = $rh_unidades[$key];
                     $presupuesto_actividad->cantidad = $rh_cantidades[$key];
                     $presupuesto_actividad->costo_unitario = $rh_costos_unitarios[$key];
                     $presupuesto_actividad->subtotal = $rh_cantidades[$key] * $rh_costos_unitarios[$key];
                     $presupuesto_actividad->id_tipo = $id_tipo;
                     //0 => durante, 1=> post
                     $presupuesto_actividad->id_clase = 0;
                     //0 => RH, 1 => EQ, 2 => GO, 3 => GA
                     $presupuesto_actividad->id_presupuesto = $id;
                     $presupuesto_actividad->save();
                 }
                 $eq_actividades = Input::get('eq_actividades');
                 $eq_descripciones = Input::get('eq_descripciones');
                 $eq_unidades = Input::get('eq_unidades');
                 $eq_cantidades = Input::get('eq_cantidades');
                 $eq_costos_unitarios = Input::get('eq_costos_unitarios');
                 foreach ($eq_actividades as $key => $actividad) {
                     $presupuesto_actividad = new PresupuestoActividad();
                     $presupuesto_actividad->nombre = $actividad;
                     $presupuesto_actividad->descripcion = $eq_descripciones[$key];
                     $presupuesto_actividad->unidad = $eq_unidades[$key];
                     $presupuesto_actividad->cantidad = $eq_cantidades[$key];
                     $presupuesto_actividad->costo_unitario = $eq_costos_unitarios[$key];
                     $presupuesto_actividad->subtotal = $eq_cantidades[$key] * $eq_costos_unitarios[$key];
                     $presupuesto_actividad->id_tipo = $id_tipo;
                     //0 => durante, 1=> post
                     $presupuesto_actividad->id_clase = 1;
                     //0 => RH, 1 => EQ, 2 => GO, 3 => GA
                     $presupuesto_actividad->id_presupuesto = $id;
                     $presupuesto_actividad->save();
                 }
                 $go_actividades = Input::get('go_actividades');
                 $go_descripciones = Input::get('go_descripciones');
                 $go_unidades = Input::get('go_unidades');
                 $go_cantidades = Input::get('go_cantidades');
                 $go_costos_unitarios = Input::get('go_costos_unitarios');
                 foreach ($go_actividades as $key => $actividad) {
                     $presupuesto_actividad = new PresupuestoActividad();
                     $presupuesto_actividad->nombre = $actividad;
                     $presupuesto_actividad->descripcion = $go_descripciones[$key];
                     $presupuesto_actividad->unidad = $go_unidades[$key];
                     $presupuesto_actividad->cantidad = $go_cantidades[$key];
                     $presupuesto_actividad->costo_unitario = $go_costos_unitarios[$key];
                     $presupuesto_actividad->subtotal = $go_cantidades[$key] * $go_costos_unitarios[$key];
                     $presupuesto_actividad->id_tipo = $id_tipo;
                     //0 => durante, 1=> post
                     $presupuesto_actividad->id_clase = 2;
                     //0 => RH, 1 => EQ, 2 => GO, 3 => GA
                     $presupuesto_actividad->id_presupuesto = $id;
                     $presupuesto_actividad->save();
                 }
                 $ga_actividades = Input::get('ga_actividades');
                 $ga_descripciones = Input::get('ga_descripciones');
                 $ga_unidades = Input::get('ga_unidades');
                 $ga_cantidades = Input::get('ga_cantidades');
                 $ga_costos_unitarios = Input::get('ga_costos_unitarios');
                 foreach ($ga_actividades as $key => $actividad) {
                     $presupuesto_actividad = new PresupuestoActividad();
                     $presupuesto_actividad->nombre = $actividad;
                     $presupuesto_actividad->descripcion = $ga_descripciones[$key];
                     $presupuesto_actividad->unidad = $ga_unidades[$key];
                     $presupuesto_actividad->cantidad = $ga_cantidades[$key];
                     $presupuesto_actividad->costo_unitario = $ga_costos_unitarios[$key];
                     $presupuesto_actividad->subtotal = $ga_cantidades[$key] * $ga_costos_unitarios[$key];
                     $presupuesto_actividad->id_tipo = $id_tipo;
                     //0 => durante, 1=> post
                     $presupuesto_actividad->id_clase = 3;
                     //0 => RH, 1 => EQ, 2 => GO, 3 => GA
                     $presupuesto_actividad->id_presupuesto = $id;
                     $presupuesto_actividad->save();
                 }
                 $presupuesto = Presupuesto::find($id);
                 $presupuesto->monto_restante = Input::get('total_inversion');
                 $presupuesto->save();
                 Session::flash('message', 'Se editó correctamente el presupuesto.');
                 return Redirect::to('proyecto_presupuesto/show/' . $id);
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
Ejemplo n.º 22
0
function cargarPresupuesto($RUTA_A)
{
    require_once "{$RUTA_A}/functions/Presupuesto.php";
    // obtenemos los datos del archivo
    $tipo = $_FILES["archivo"]['type'];
    $archivo = $_FILES["archivo"]['name'];
    $data2 = array("0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0");
    //error_log($tipo);
    //error_log($archivo);
    //valida que sí ingresen un archivo
    if (empty($archivo)) {
        $result = "<b>Debe de especificar un archivo con el bot&oacute;n Examinar...<b>";
        return $result;
    }
    // valida que sólo sean archivos .csv
    if (substr($archivo, -4, 4) != ".csv") {
        $result = "<b>Revise si el archivo cargado cumple con el formato .csv<b>";
        return $result;
    }
    //Aunque el archivo se llame igual que uno previo se carga.
    $prefijo = substr(md5(uniqid(rand())), 0, 6);
    //error_log($prefijo);
    if ($archivo != "") {
        // guardamos el archivo a la carpeta "datos"
        $destino = $RUTA_A . "/datos/Referencias/Presupuesto/" . $prefijo . "_" . $archivo;
        if (copy($_FILES['archivo']['tmp_name'], $destino)) {
            $result = "Archivo colocado: <b>" . $archivo . "</b>";
        } else {
            return "<b>Error al subir el archivo</b>";
        }
    } else {
        return "<b>Error al subir el archivo</b>";
    }
    $registros = 0;
    $actualizaciones = 0;
    $no_registrados = "";
    $no_actualizados = "";
    $fp = fopen($destino, "r");
    if ($fp !== false) {
        $Presupuesto = new Presupuesto();
        $CentroCosto = new CentroCosto();
        $Concepto = new ConceptoGasto();
        $Sociedad = new Sociedad();
        while ($data = fgetcsv($fp, 0, ",")) {
            /*Se valida que cada registro del archov que se lea contenga 15 columnas,
            		en caso contrario se omite ese registro*/
            //error_log("------------".count($data));
            if (count($data) != 16) {
                continue;
            }
            /*for($i=0;$i<count($data);$i++){
            			error_log($i."-".$data[$i]);
            		}*/
            $row_resultSoc = $Sociedad->Busca_idSociedad($data[0]);
            //$row_resultCC=$CentroCosto->Busca_CeCoXCodigo($data[0]);
            $row_resultCC = $CentroCosto->Busca_CeCoXCodigo($data[1], $row_resultSoc);
            if (empty($row_resultCC)) {
                $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],";
                $result = mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados);
                //return $result= $result." El Centro de Costos ".$data[0]." no ha sido registrado";
                continue;
            } else {
                $row_resultC = $Concepto->Busca_ConceptoXIdentificadorAndCeco($data[3], $row_resultCC, $data[2]);
                if (empty($row_resultC)) {
                    $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],";
                    $result = mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados);
                    //return $result= $result." El Concepto con identificador ".$data[1]." no ha sido registrado";
                    continue;
                } else {
                    //error_log("ok----concepto_id------".$row_resultC['cg_id']);
                    if (isset($_POST['carga_inicial'])) {
                        $tipo_presupuesto = 1;
                    }
                    if (isset($_POST['modificar_presupuesto'])) {
                        $tipo_presupuesto = 2;
                    }
                    $row_result = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], $tipo_presupuesto);
                    $row_result_1 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 1);
                    $row_result_2 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 2);
                    $row_result_3 = $Presupuesto->Existe_Presupuesto($row_resultC["cg_id"], 3);
                }
            }
            $data = dar_formato($data);
            if (empty($row_result)) {
                //hay que insertar el registro
                //error_log("NO existe ---------------------------");
                if ($tipo_presupuesto == 2) {
                    //hay que insertar el registro
                    $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 2, $data2);
                    $Presupuesto->Actualiza_Presupuesto($row_result_2["p_id"], $row_resultC["cg_id"], 2, $data, 1);
                    $registros++;
                } else {
                    if ($Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], $tipo_presupuesto, $data) > 0) {
                        //si regresa el id del registro
                        $registros++;
                    } else {
                        $no_registrados = $no_registrados . "<br>[" . $data[1] . "][" . $data[2] . "],";
                    }
                }
            } else {
                //hay que actualizar el presupuesto
                //error_log("SI existe ---------------------------".date("m"));
                //$pDisponible = $data[4] - $row_result["pp_presupuesto_utilizado"]; //Presupuesto nuevo - Presupuesto Utilizado
                if ($Presupuesto->Actualiza_Presupuesto($row_result["p_id"], $row_resultC["cg_id"], $tipo_presupuesto, $data, 2)) {
                    $actualizaciones++;
                } else {
                    $no_actualizados = $no_actualizados . "<br>[" . $data[1] . "][" . $data[2] . "],";
                }
            }
            if ($tipo_presupuesto == 1) {
                if (empty($row_result_2)) {
                    //hay que insertar el registro
                    $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 2, $data);
                } else {
                    $Presupuesto->Actualiza_Presupuesto($row_result_2["p_id"], $row_resultC["cg_id"], 2, $data, 0);
                }
                if (empty($row_result_3)) {
                    //hay que insertar el registro
                    $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 3, $data);
                } else {
                    $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 0);
                }
            }
            if ($tipo_presupuesto == 2) {
                if (empty($row_result_1)) {
                    //hay que insertar el registro
                    $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 1, $data2);
                }
                if (empty($row_result_3)) {
                    //hay que insertar el registro
                    $Presupuesto->Nuevo_Presupuesto($row_resultC["cg_id"], 3, $data2);
                    $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 1);
                } else {
                    $Presupuesto->Actualiza_Presupuesto($row_result_3["p_id"], $row_resultC["cg_id"], 3, $data, 1);
                }
            }
        }
    }
    fclose($fp);
    return mostrarResultados($registros, $actualizaciones, $no_registrados, $no_actualizados);
}