public function actionAdmin() { $model = new Presupuesto('search'); $model->unsetAttributes(); if (isset($_GET['Presupuesto'])) { $model->setAttributes($_GET['Presupuesto']); } $this->render('admin', array('model' => $model)); }
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); }
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); }
<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;
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, // )); }
<?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'));
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);
} //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)); }
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; }
$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); } }
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(); } }); }
<?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)); } } }
<!-- -------------------------------------------------- --> <!-- 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); } }
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ó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); }