public function store() { $data = Input::all(); $cliente = Cliente::find($data['presupuesto']['cliente_id']); $presupuesto = new Presupuesto(); $presupuesto->fill($data['presupuesto']); $presupuesto->cliente()->associate($cliente); $presupuesto->save(); foreach ($data['modulos'] as $index => $m_data) { $modulo = new ModuloPresupuesto(); $modulo->fill($m_data); $presupuesto->modulos()->save($modulo); $modulo->save(); } return Redirect::route('presupuestos.index'); }
public function actionGuardarPresupuesto() { $model = new Presupuesto(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); // if(isset($_POST['Presupuesto'])) // { //$model->attributes=$_POST['Presupuesto']; $model->paciente_id = $_GET['idPaciente']; $model->estado = "Presupuestado"; $model->fecha = date("Y-m-d"); $model->vendedor_id = $_POST['vendedor_id']; $model->observaciones = $_POST['observaciones']; $model->adicionales = $_POST['adicionales']; $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 PresupuestoDetalle(); $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, // )); }
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(); } }); }
public function guardarMovimiento() { require_once 'lib/model/base/Presupuesto.class.php'; require_once 'lib/model/base/Proyecto.class.php'; $idProyecto = $_POST['id_proyecto']; $presupuesto = new Presupuesto(); $presupuesto->setValores($_POST); $proyecto = new Proyecto(Proyecto::find($idProyecto)); $montoTotal = $proyecto->montoTotal; $anoInicio = new DateTime($proyecto->fechaInicio); $anoTermino = new DateTime($proyecto->fechaTermino); $anoInicio = $anoInicio->format('Y'); $anoTermino = $anoTermino->format('Y'); if (isset($_POST['eliminar']) && $_POST['eliminar'] == 1) { $presupuesto->deleteRegistros(); } else { $errores = array(); if (empty($presupuesto->nombreCuenta)) { $errores['errores']['cuenta'] = 'Debe ingresar Cuenta'; } if ($presupuesto->cuentaRepetida() > 0) { $errores['errores']['cuenta'] = 'cuenta repetida'; } if ($presupuesto->idTipoMovimiento == 2) { $sumEgresos1 = Presupuesto::getSumEgresos($idProyecto, $presupuesto->idPresupuesto); $sumEgresos = $sumEgresos1 + $presupuesto->enero + $presupuesto->febrero + $presupuesto->marzo + $presupuesto->abril + $presupuesto->mayo + $presupuesto->junio + $presupuesto->julio + $presupuesto->agosto + $presupuesto->septiembre + $presupuesto->octubre + $presupuesto->noviembre + $presupuesto->diciembre; if ($sumEgresos > $montoTotal) { $errores['errores']['monto'] = 'La suma de los egresos no puede superar el monto total del proyecto.'; } } if ($presupuesto->periodo < $anoInicio || $presupuesto->periodo > $anoTermino) { $errores['errores']['fecha'] = 'Debe ingresar un periodo dentro del rango de fecha inicio y fecha termino del proyecto'; } if (!empty($errores)) { echo json_encode($errores); } else { $presupuesto->save(); } } }
/** * Store a newly created resource in storage. * * @return Response */ public function store($id) { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); // 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('nombre' => 'required', 'categoria' => 'required', 'departamento' => 'required', 'responsable' => 'required', 'servicio_clinico' => 'required', 'fecha_ini' => 'required', 'fecha_fin' => 'required', 'rh_actividades' => 'required_if:tipo,0|required_if:tipo,2', 'rh_descripciones' => 'required_if:tipo,0|required_if:tipo,2', 'rh_unidades' => 'required_if:tipo,0|required_if:tipo,2', 'rh_cantidades' => 'required_if:tipo,0|required_if:tipo,2', 'rh_costos_unitarios' => 'required_if:tipo,0|required_if:tipo,2', 'eq_actividades' => 'required_if:tipo,0|required_if:tipo,2', 'eq_descripciones' => 'required_if:tipo,0|required_if:tipo,2', 'eq_unidades' => 'required_if:tipo,0|required_if:tipo,2', 'eq_cantidades' => 'required_if:tipo,0|required_if:tipo,2', 'eq_costos_unitarios' => 'required_if:tipo,0|required_if:tipo,2', 'go_actividades' => 'required_if:tipo,0|required_if:tipo,2', 'go_descripciones' => 'required_if:tipo,0|required_if:tipo,2', 'go_unidades' => 'required_if:tipo,0|required_if:tipo,2', 'go_cantidades' => 'required_if:tipo,0|required_if:tipo,2', 'go_costos_unitarios' => 'required_if:tipo,0|required_if:tipo,2', 'ga_actividades' => 'required_if:tipo,0|required_if:tipo,2', 'ga_descripciones' => 'required_if:tipo,0|required_if:tipo,2', 'ga_unidades' => 'required_if:tipo,0|required_if:tipo,2', 'ga_cantidades' => 'required_if:tipo,0|required_if:tipo,2', 'ga_costos_unitarios' => 'required_if:tipo,0|required_if:tipo,2', 'rh_actividades_post' => 'required_if:tipo,1|required_if:tipo,2', 'rh_descripciones_post' => 'required_if:tipo,1|required_if:tipo,2', 'rh_unidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'rh_cantidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'rh_costos_unitarios_post' => 'required_if:tipo,1|required_if:tipo,2', 'eq_actividades_post' => 'required_if:tipo,1|required_if:tipo,2', 'eq_descripciones_post' => 'required_if:tipo,1|required_if:tipo,2', 'eq_unidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'eq_cantidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'eq_costos_unitarios_post' => 'required_if:tipo,1|required_if:tipo,2', 'go_actividades_post' => 'required_if:tipo,1|required_if:tipo,2', 'go_descripciones_post' => 'required_if:tipo,1|required_if:tipo,2', 'go_unidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'go_cantidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'go_costos_unitarios_post' => 'required_if:tipo,1|required_if:tipo,2', 'ga_actividades_post' => 'required_if:tipo,1|required_if:tipo,2', 'ga_descripciones_post' => 'required_if:tipo,1|required_if:tipo,2', 'ga_unidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'ga_cantidades_post' => 'required_if:tipo,1|required_if:tipo,2', 'ga_costos_unitarios_post' => 'required_if:tipo,1|required_if:tipo,2'); $messages = array('fecha_ini.required' => 'El campo Fecha Inicio es requerido.', 'fecha_fin.required' => 'El campo Fecha Final es requerido.', 'required_if' => 'El campo :attribute es requerido en este tipo.'); // 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/create/' . $id)->withErrors($validator)->withInput(Input::all()); } else { //dd(Input::all()); $proyecto_presupuesto = new Presupuesto(); $proyecto_presupuesto->nombre = Input::get('nombre'); $proyecto_presupuesto->id_categoria = Input::get('categoria'); $proyecto_presupuesto->id_servicio_clinico = Input::get('servicio_clinico'); $proyecto_presupuesto->id_departamento = Input::get('departamento'); $proyecto_presupuesto->id_responsable = Input::get('responsable'); $proyecto_presupuesto->fecha_ini = date("Y-m-d", strtotime(Input::get('fecha_ini'))); $proyecto_presupuesto->fecha_fin = date("Y-m-d", strtotime(Input::get('fecha_fin'))); $proyecto_presupuesto->monto_restante = Input::get('total_inversion'); $proyecto_presupuesto->id_proyecto = $id; $proyecto_presupuesto->save(); $proyecto = Proyecto::find($id); $proyecto->id_presupuesto = $proyecto_presupuesto->id; $proyecto->save(); if (Input::get('tipo') == 0 || Input::get('tipo') == 2) { $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 = 0; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 0; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_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 = 0; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 1; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_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 = 0; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 2; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_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 = 0; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 3; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_presupuesto->id; $presupuesto_actividad->save(); } } if (Input::get('tipo') == 1 || Input::get('tipo') == 2) { $rh_actividades_post = Input::get('rh_actividades_post'); $rh_descripciones_post = Input::get('rh_descripciones_post'); $rh_unidades_post = Input::get('rh_unidades_post'); $rh_cantidades_post = Input::get('rh_cantidades_post'); $rh_costos_unitarios_post = Input::get('rh_costos_unitarios_post'); foreach ($rh_actividades_post as $key => $actividad) { $presupuesto_actividad = new PresupuestoActividad(); $presupuesto_actividad->nombre = $actividad; $presupuesto_actividad->descripcion = $rh_descripciones_post[$key]; $presupuesto_actividad->unidad = $rh_unidades_post[$key]; $presupuesto_actividad->cantidad = $rh_cantidades_post[$key]; $presupuesto_actividad->costo_unitario = $rh_costos_unitarios_post[$key]; $presupuesto_actividad->subtotal = $rh_cantidades_post[$key] * $rh_costos_unitarios_post[$key]; $presupuesto_actividad->id_tipo = 1; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 0; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_presupuesto->id; $presupuesto_actividad->save(); } $eq_actividades_post = Input::get('eq_actividades_post'); $eq_descripciones_post = Input::get('eq_descripciones_post'); $eq_unidades_post = Input::get('eq_unidades_post'); $eq_cantidades_post = Input::get('eq_cantidades_post'); $eq_costos_unitarios_post = Input::get('eq_costos_unitarios_post'); foreach ($eq_actividades_post as $key => $actividad) { $presupuesto_actividad = new PresupuestoActividad(); $presupuesto_actividad->nombre = $actividad; $presupuesto_actividad->descripcion = $eq_descripciones_post[$key]; $presupuesto_actividad->unidad = $eq_unidades_post[$key]; $presupuesto_actividad->cantidad = $eq_cantidades_post[$key]; $presupuesto_actividad->costo_unitario = $eq_costos_unitarios_post[$key]; $presupuesto_actividad->subtotal = $eq_cantidades_post[$key] * $eq_costos_unitarios_post[$key]; $presupuesto_actividad->id_tipo = 1; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 1; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_presupuesto->id; $presupuesto_actividad->save(); } $go_actividades_post = Input::get('go_actividades_post'); $go_descripciones_post = Input::get('go_descripciones_post'); $go_unidades_post = Input::get('go_unidades_post'); $go_cantidades_post = Input::get('go_cantidades_post'); $go_costos_unitarios_post = Input::get('go_costos_unitarios_post'); foreach ($go_actividades_post as $key => $actividad) { $presupuesto_actividad = new PresupuestoActividad(); $presupuesto_actividad->nombre = $actividad; $presupuesto_actividad->descripcion = $go_descripciones_post[$key]; $presupuesto_actividad->unidad = $go_unidades_post[$key]; $presupuesto_actividad->cantidad = $go_cantidades_post[$key]; $presupuesto_actividad->costo_unitario = $go_costos_unitarios_post[$key]; $presupuesto_actividad->subtotal = $go_cantidades_post[$key] * $go_costos_unitarios_post[$key]; $presupuesto_actividad->id_tipo = 1; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 2; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_presupuesto->id; $presupuesto_actividad->save(); } $ga_actividades_post = Input::get('ga_actividades_post'); $ga_descripciones_post = Input::get('ga_descripciones_post'); $ga_unidades_post = Input::get('ga_unidades_post'); $ga_cantidades_post = Input::get('ga_cantidades_post'); $ga_costos_unitarios_post = Input::get('ga_costos_unitarios_post'); foreach ($ga_actividades_post as $key => $actividad) { $presupuesto_actividad = new PresupuestoActividad(); $presupuesto_actividad->nombre = $actividad; $presupuesto_actividad->descripcion = $ga_descripciones_post[$key]; $presupuesto_actividad->unidad = $ga_unidades_post[$key]; $presupuesto_actividad->cantidad = $ga_cantidades_post[$key]; $presupuesto_actividad->costo_unitario = $ga_costos_unitarios_post[$key]; $presupuesto_actividad->subtotal = $ga_cantidades_post[$key] * $ga_costos_unitarios_post[$key]; $presupuesto_actividad->id_tipo = 1; //0 => durante, 1=> post $presupuesto_actividad->id_clase = 3; //0 => RH, 1 => EQ, 2 => GO, 3 => GA $presupuesto_actividad->id_presupuesto = $proyecto_presupuesto->id; $presupuesto_actividad->save(); } } Session::flash('message', 'Se registró correctamente el presupuesto.'); return Redirect::to('proyecto_presupuesto/show/' . $id); } } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }