/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Ficha(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Ficha'])) { $model->attributes = $_POST['Ficha']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->FI_ID)); } } $this->render('create', array('model' => $model)); }
public function postValidarficha() { if (Request::ajax()) { $ficha = Input::get('ficha'); $reniec = Input::get('reniec'); $fichaId = Input::get('ficha_id'); $paternon = Input::get('paternon'); $maternon = Input::get('maternon'); $nombresn = Input::get('nombresn'); $paterno = Input::get('paterno'); $materno = Input::get('materno'); $nombres = Input::get('nombres'); $dni = Input::get('dni'); if ($reniec != '' && $fichaId != '') { $fichama = Ficha::find($fichaId); $fichama['usuario_updated_at'] = Auth::user()->id; $fichama['reniec_id'] = $reniec; $fichama['estado'] = 0; $fichama->save(); } $ef = EscalafonFichas::getEFIdporFicha($ficha); $efr = EscalafonFichas::getEFRIdporFicha($ficha); $ficham = new Ficha(); if ($reniec != '') { $ficham['reniec_id'] = $reniec; $ficham['dni'] = $dni; } if (count($ef) > 0) { $ficham['escalafon_ficha_id'] = $ef[0]->id; if (count($efr) > 0) { $ficham['escalafon_ficha_recepcion_id'] = $efr[0]->id; } } $estadoFicha = 0; //No existe dni if (strcasecmp($paternon, $paterno) != 0 or strcasecmp($maternon, $materno) != 0 or strcasecmp($nombresn, $nombres) != 0) { $estadoFicha = 2; // no existe asignación de entrega y recepción } elseif (strcasecmp($paternon, $paterno) == 0 and strcasecmp($maternon, $materno) == 0 and strcasecmp($nombresn, $nombres) == 0) { $estadoFicha = 1; // no existe asignación de recepción } $ficham['ficha'] = $ficha; $ficham['paterno'] = $paternon; $ficham['materno'] = $maternon; $ficham['nombres'] = $nombresn; $ficham['estado_ficha'] = $estadoFicha; $ficham['usuario_created_at'] = Auth::user()->id; $ficham->save(); if ($reniec != '') { $reniecm = Reniec::find($reniec); $reniecm['ficha_id'] = $ficham->id; $reniecm['usuario_updated_at'] = Auth::user()->id; $reniecm->save(); } $vef = Ficha::getValidarEstadoFicha($ficha); return Response::json(array('rst' => 1, 'msj' => 'Se registró la validación', 'estado' => $vef)); } }
public function postGuardar() { if (Request::ajax()) { $fich = Input::get('ficha'); $id = Input::get('escalafon_id'); $aParametro = array(); $paginaFirma = array(); $valida = 0; $valida = Firma::ValidaFicha($fich); if ($valida == 0) { DB::beginTransaction(); $dni = Input::get('dni'); $paterno = Input::get('paterno'); $materno = Input::get('materno'); $nombre = Input::get('nombre'); $paginaFirma = new PaginaFirma(); $paginaFirma['escalafon_id'] = $id; $paginaFirma->save(); for ($i = 0; $i < count($dni); $i++) { $firma = new Firma(); $firma["pagina_firma_id"] = $paginaFirma->id; $firma["ficha"] = trim($fich); $firma["fila"] = $i + 1; $firma["dni"] = trim($dni[$i]); $firma["paterno"] = trim($paterno[$i]); $firma["materno"] = trim($materno[$i]); $firma["nombre"] = trim($nombre[$i]); $firma['conteo'] = 0; if (trim($dni[$i]) == '' and trim($paterno[$i]) == '' and trim($materno[$i]) == '' and trim($nombre[$i]) == '') { $firma['conteo'] = 3; } else { if (trim($dni[$i]) != '') { $validadni = Firma::ValidaFirma(trim($dni[$i])); if (count($validadni) > 0) { $firma['conteo'] = 2; $firma['estado_firma'] = $validadni[0]->ids; } } } $firma['usuario_created_at'] = Auth::user()->id; $firma->save(); } /**************************************************************/ $fecha_entrega = date("Y-m-d"); $desde = trim($fich); $hasta = trim($fich); $desdeh = $paginaFirma->id; $hastah = $paginaFirma->id; /***********Entregar*******************************************/ $sql = " SELECT COUNT(id) cant\n FROM paginafirma\n WHERE escalafon_id=" . $id; $rr = DB::select($sql); $escalafonFicha = new EscalafonFichas(); $escalafonFicha['usuario_created_at'] = Auth::user()->id; $escalafonFicha['escalafon_id'] = $id; $escalafonFicha['fecha_entrega'] = $fecha_entrega; $escalafonFicha['desde'] = $desde; $escalafonFicha['hasta'] = $hasta; $escalafonFicha['desdeh'] = $desdeh; $escalafonFicha['hastah'] = $hastah; $escalafonFicha['orden'] = $rr[0]->cant; $escalafonFicha->save(); /**************************************************************/ /***********Recepcionar****************************************/ $escalafonFichaRecepcion = new EscalafonFichasRecepcion(); $escalafonFichaRecepcion['usuario_created_at'] = Auth::user()->id; $escalafonFichaRecepcion['escalafon_ficha_id'] = $escalafonFicha->id; $escalafonFichaRecepcion['fecha_recepcion'] = $fecha_entrega; $escalafonFichaRecepcion['desde'] = $desde; $escalafonFichaRecepcion['hasta'] = $hasta; $escalafonFichaRecepcion['orden'] = $rr[0]->cant; $escalafonFichaRecepcion->save(); /**************************************************************/ /***********Validar********************************************/ $ficha = new Ficha(); $ficha['ficha'] = $fich; $ficha['hoja'] = $paginaFirma->id; $ficha['escalafon_ficha_id'] = $escalafonFicha->id; $ficha['escalafon_ficha_recepcion_id'] = $escalafonFichaRecepcion->id; $ficha['usuario_created_at'] = Auth::user()->id; $ficha->save(); /**************************************************************/ DB::commit(); $aParametro['msj'] = "Se realizó "; $aParametro['pagina'] = $paginaFirma->id; $aParametro['rst'] = 1; //DB::rollback(); } else { $aParametro['msj'] = "Ficha Existente "; $aParametro['rst'] = 2; } return Response::json($aParametro); } }
function _save_ficha($id = null, $flujo = FALSE) { $respuesta = new stdClass(); if ($id) { try { $ficha = Doctrine::getTable('Ficha')->find($id); } catch (Exception $e) { $respuesta->validacion = FALSE; $respuesta->errores = "<p class='error'>" . $e . "</p>"; return json_encode($respuesta); } } else { $ficha = new Ficha(); $ficha->votos_positivos = 0; $ficha->votos_negativos = 0; } $this->form_validation->set_rules('titulo', 'Nombre del ' . ($flujo ? 'flujo' : 'trámite'), 'trim|required'); $this->form_validation->set_rules('objetivo', 'Descripción', 'trim|required'); $this->form_validation->set_rules('servicio_codigo', 'Servicio', 'required|callback_check_servicio'); $this->form_validation->set_rules('correlativo', 'Código', 'required|is_natural_no_zero|callback_check_codigo[' . $id . ']'); $this->form_validation->set_rules('guia_online_url', 'Guia Online URL', 'trim|prep_url'); $this->form_validation->set_rules('metaficha', 'MetaFicha', 'required'); if ($this->input->post('exterior')) { $this->form_validation->set_rules('tipo_residente', 'motivo de estadía para chilenos en el exterior (al menos uno)', 'required'); } if ($this->input->post('metaficha') == 1) { $this->form_validation->set_rules('metaficha_categoria', 'Criterio para categorizar las SubFichas', 'required'); } if ($this->form_validation->run() == TRUE) { try { $ficha->metaficha = $this->input->post('metaficha') == 1 ? 1 : 0; $metaficha_campos = array('cc_observaciones' => 1, 'beneficiarios' => 1, 'doc_requeridos' => 1, 'guia_online' => 1, 'guia_online_url' => 1, 'guia_oficina' => 1, 'guia_telefonico' => 1, 'guia_correo' => 1, 'guia_chileatiende' => 1, 'plazo' => 1, 'vigencia' => 1, 'costo' => 1, 'informacion_multimedia' => 1, 'marco_legal' => 1); // INFO: llena los campos de la Ficha dependiendo si estan marcados para SubFicha o no foreach ($metaficha_campos as $key => $value) { $metaficha_campos[$key] = $this->input->post('metaficha_' . $key); // INFO: // 0 - Se guarda en SubFicha // 1 - Se guarda en MetaFicha if ($ficha->metaficha == 1) { $ficha[$key] = $metaficha_campos[$key] == 1 ? $this->input->post($key) : ''; } else { $ficha[$key] = $this->input->post($key); } } $ficha->metaficha_campos = serialize($metaficha_campos); // INFO: seleccion de Servicios o Grupos $seleccion_servicios = $this->input->post('metaficha_servicios') ? $this->input->post('metaficha_servicios') : array(); $metaficha_servicios = array(); foreach ($seleccion_servicios as $codigo_seleccionado) { // INFO: si es tag se agregan todos los servicios del tag if (substr($codigo_seleccionado, 0, 4) == 'TAG-') { $tag = Doctrine::getTable('Tag')->find(substr($codigo_seleccionado, 4)); foreach ($tag->Servicios as $servicio) { $metaficha_servicios[] = $servicio->codigo; } } else { $metaficha_servicios[] = $codigo_seleccionado; } } $metaficha_servicios = array_unique($metaficha_servicios); $ficha->metaficha_servicios = serialize($metaficha_servicios); $metaficha_opciones = array('categoria' => $this->input->post('metaficha_categoria'), 'servicios_no_publican' => $this->input->post('metaficha_servicios_no_publican')); $ficha->metaficha_opciones = serialize($metaficha_opciones); $comentarios = $this->input->post('comentario'); $ficha->comentarios = json_encode($comentarios); $ficha->destacado = $this->input->post('destacado') ? 1 : 0; $ficha->correlativo = $this->input->post('correlativo'); $ficha->titulo = $this->input->post('titulo'); //Updated fecha if ($id) { if ($this->input->post('updated_data_at')) { //Convertir fecha a mysql $_updated_data_at = $this->input->post('updated_data_at'); if (preg_match("/^(\\d{2})[-\\/](\\d{2})[-\\/](\\d{4})\$/", $_updated_data_at)) { $_aDate = explode('-', $_updated_data_at); $_updated_data_at = $_aDate[2] . '-' . $_aDate[1] . '-' . $_aDate[0]; } $ficha->updated_data_at = $_updated_data_at; } } else { //Nueva ficha $ficha->updated_data_at = date('Y-m-d H:i:s'); } $ficha->alias = url_title(convert_accented_characters($this->input->post('titulo')), 'dash', TRUE); $ficha->objetivo = $this->input->post('objetivo'); if ($this->input->post('resumen')) { $ficha->resumen = $this->input->post('resumen'); } $ficha->beneficiarios = $this->input->post('beneficiarios'); $ficha->costo = $this->input->post('costo'); $ficha->vigencia = $this->input->post('vigencia'); $ficha->marco_legal = $this->input->post('marco_legal'); $ficha->plazo = $this->input->post('plazo'); ////corresponde a información relacionada que pertenecía a los campos de ChileClic $ficha->cc_observaciones = $this->input->post('cc_observaciones'); $ficha->doc_requeridos = $this->input->post('doc_requeridos'); $ficha->guia_online = $this->input->post('guia_online'); $ficha->guia_online_url = $this->input->post('guia_online_url'); $ficha->guia_oficina = $this->input->post('guia_oficina'); $ficha->guia_oficina_nombre = $this->input->post('guia_oficina_nombre'); $ficha->guia_telefonico = $this->input->post('guia_telefonico'); $ficha->guia_correo = $this->input->post('guia_correo'); $ficha->guia_chileatiende = $this->input->post('guia_chileatiende'); $ficha->guia_consulado = $this->input->post('guia_consulado'); $ficha->maestro = 1; $ficha->servicio_codigo = $this->input->post('servicio_codigo'); $ficha->genero_id = $this->input->post('genero') ? $this->input->post('genero') : NULL; $ficha->setRangosEdadFromString($this->input->post('rangos')); $ficha->setTemasFromArray($this->input->post('temas')); $ficha->setTagsFromArray($this->input->post('tags')); $ficha->setHechosVidaFromArray($this->input->post('hechosvida')); $ficha->informacion_multimedia = $this->input->post('informacion_multimedia'); if ($this->input->post('keywords')) { $ficha->keywords = $this->input->post('keywords'); } if ($this->input->post('sic')) { $ficha->sic = $this->input->post('sic'); } $ficha->tipo = $this->input->post('tipo'); //1 personas, 2 empresas, 3 ambos $ficha->flujo = $flujo ? 1 : 0; //0 no flujo, 1 flujo // INFO: emprendete $tipo_empresa_o_ambos = $ficha->tipo == 2 || $ficha->tipo == 3; if ($tipo_empresa_o_ambos) { $ficha->formalizacion = $this->input->post('formalidad_sel') ? NULL : $this->input->post('formalizacion'); $ficha->fps = $this->input->post('fps') ? $this->input->post('fps') : 0; $ficha->puntaje_fps_min = $this->input->post('puntaje_fps_min') ? $this->input->post('puntaje_fps_min') : 2000; $ficha->puntaje_fps_max = $this->input->post('puntaje_fps_max') ? $this->input->post('puntaje_fps_max') : 20000; //$ficha->req_adicional = $this->input->post('req_adicional'); $ficha->req_especial = $this->input->post('req_especial'); $ficha->setTemasEmpresaFromArray($this->input->post('temas_empresa')); $ficha->setHechosEmpresaFromArray($this->input->post('hechosempresa')); $ficha->setApoyosFromArray($this->input->post('apoyosestado')); // INFO: filtro para todos o específico if ($this->input->post('rubro_sel')) { $Rubros = Doctrine::getTable('Rubro')->findAll(); $aRubros = array(); foreach ($Rubros as $r) { $aRubros[] = $r->id; } } else { $aRubros = $this->input->post('rubro'); } $ficha->setRubrosFromArray($aRubros); //actividad economica // INFO: filtro para todos o específico if ($this->input->post('venta_anual_sel')) { $TiposEmpresa = Doctrine::getTable('TipoEmpresa')->findAll(); $aTiposEmpresa = array(); foreach ($TiposEmpresa as $te) { $aTiposEmpresa[] = $te->id; } } else { $aTiposEmpresa = $this->input->post('venta_anual'); } $ficha->setTiposEmpresaFromArray($aTiposEmpresa); } $ficha->content_updated_data_at = date('Y-m-d H:i:s'); $ficha->es_tramite_exterior = $this->input->post('exterior') == 'on'; $ficha->save(); if ($this->input->post('tipo_residente')) { Doctrine::getTable('TramiteEnExterior')->findByIdFicha($ficha->id)->delete(); foreach ($this->input->post('tipo_residente') as $key => $value) { $tramite_exterior = new TramiteEnExterior(); $tramite_exterior->id_ficha = $ficha->id; $tramite_exterior->destacado = $this->input->post('exterior_destacado') == 'on'; $tramite_exterior->motivo = $value; $tramite_exterior->content_updated_data_at = date('Y-m-d H:i:s'); $tramite_exterior->save(); } } // INFO: crea las nuevas SubFichas para cada Servicio si la Ficha es MetaFicha if ($ficha->metaficha == 1) { $_sub_fichas_serv_codigos = array(); foreach ($ficha->SubFichas as $subficha) { if ($subficha->maestro == 1) { $_sub_fichas_serv_codigos[$subficha->id] = $subficha->servicio_codigo; } } $aSubFichas = array(); foreach ($metaficha_servicios as $metaficha_servicio) { if (!in_array($metaficha_servicio, $_sub_fichas_serv_codigos)) { $sub_ficha = new SubFicha(); $sub_ficha->metaficha_id = $ficha->id; $sub_ficha->servicio_codigo = $metaficha_servicio; $sub_ficha->maestro = 1; $sub_ficha->publicado = 0; $sub_ficha->save(); $sub_ficha->generarVersion(); $aSubFichas[] = $sub_ficha->id; } else { $sub_ficha_id = array_search($metaficha_servicio, $_sub_fichas_serv_codigos); $sub_ficha = Doctrine::getTable('SubFicha')->find($sub_ficha_id); if ($sub_ficha->estado === "eliminado") { $sub_ficha->estado = NULL; $sub_ficha->save(); $sub_ficha->generarVersion(); } $aSubFichas[] = $sub_ficha->id; } } $ficha->setSubFichasFromArray($aSubFichas); } $ficha->generarVersion(); if ($id) { $mensaje = ($flujo ? 'Flujo' : 'Trámite') . ' actualizada exitosamente'; } else { $mensaje = ($flujo ? 'Flujo' : 'Trámite') . ' creado exitosamente'; } $this->session->set_flashdata('message', $mensaje); $respuesta->validacion = TRUE; $respuesta->redirect = site_url('backend/fichas/' . ($flujo ? 'verflujo' : 'ver') . '/' . $ficha->id); } catch (Exception $e) { $respuesta->validacion = FALSE; $respuesta->errores = "<p class='error'>" . $e . "</p>"; return json_encode($respuesta); } } else { $respuesta->validacion = FALSE; $respuesta->errores = validation_errors('<p class="error">', '</p>'); } return json_encode($respuesta); }
private static function saveTopSimilares($prefs, Ficha $ficha) { $top = self::topMatches($prefs, $ficha->id, 3); Doctrine_Query::create()->delete('FichaHasFichaSimilar f')->where('f.ficha_id = ?', $ficha->id)->execute(); foreach ($top as $ficha_id => $score) { $rel = new FichaHasFichaSimilar(); $rel->ficha_id = $ficha->id; $rel->ficha_similar_id = $ficha_id; $rel->save(); } /* foreach ($ficha->FichasSimilares as $key => $value) unset($ficha->FichasSimilares[$key]); foreach ($top as $ficha_id => $score) { $ficha->FichasSimilares[] = Doctrine::getTable('Ficha')->find($ficha_id); } * */ $ficha->save(); }
public function postCreareditar() { if (Request::ajax()) { $id = Input::get('escalafon_id'); $ids = Input::get('ids'); $fecha_entrega = Input::get('fecha_entrega'); $desde = Input::get('desde'); $hasta = Input::get('hasta'); $desdeh = Input::get('desdeh'); $hastah = Input::get('hastah'); DB::beginTransaction(); EscalafonFichas::where('escalafon_id', $id)->update(array('estado' => 0, 'usuario_updated_at' => Auth::user()->id)); for ($i = 0; $i < count($ids); $i++) { /***********Entregar***********************************************/ if ($ids[$i] != '') { $escalafonFicha = EscalafonFichas::find($ids[$i]); $escalafonFicha['usuario_updated_at'] = Auth::user()->id; $escalafonFicha['estado'] = 1; } else { $escalafonFicha = new EscalafonFichas(); $escalafonFicha['usuario_created_at'] = Auth::user()->id; } $escalafonFicha['escalafon_id'] = $id; $escalafonFicha['fecha_entrega'] = $fecha_entrega[$i]; $escalafonFicha['desde'] = $desde[$i]; $escalafonFicha['hasta'] = $hasta[$i]; $escalafonFicha['desdeh'] = $desdeh[$i]; $escalafonFicha['hastah'] = $hastah[$i]; $escalafonFicha['orden'] = $i + 1; $escalafonFicha->save(); /******************************************************************/ /***********Recepcionar********************************************/ EscalafonFichasRecepcion::where('escalafon_ficha_id', $escalafonFicha->id)->update(array('estado' => 0, 'usuario_updated_at' => Auth::user()->id)); $sql = " SELECT id\n FROM escalafon_fichas_recepcion\n WHERE escalafon_ficha_id=" . $escalafonFicha->id . "\n AND desde=" . $desde[$i] . "\n AND hasta=" . $hasta[$i]; $rr = DB::select($sql); if (count($rr) > 0) { $escalafonFichaRecepcion = EscalafonFichasRecepcion::find($rr[0]->id); $escalafonFichaRecepcion['usuario_updated_at'] = Auth::user()->id; $escalafonFichaRecepcion['estado'] = 1; } else { $escalafonFichaRecepcion = new EscalafonFichasRecepcion(); $escalafonFichaRecepcion['usuario_created_at'] = Auth::user()->id; } $escalafonFichaRecepcion['escalafon_ficha_id'] = $escalafonFicha->id; $escalafonFichaRecepcion['fecha_recepcion'] = $fecha_entrega[$i]; $escalafonFichaRecepcion['desde'] = $desde[$i]; $escalafonFichaRecepcion['hasta'] = $hasta[$i]; $escalafonFichaRecepcion['orden'] = $i + 1; $escalafonFichaRecepcion->save(); /******************************************************************/ /***********Validar************************************************/ Ficha::where('escalafon_ficha_id', $escalafonFicha->id)->where('escalafon_ficha_recepcion_id', $escalafonFichaRecepcion->id)->update(array('estado' => 0, 'usuario_updated_at' => Auth::user()->id)); $l = $desdeh[$i]; for ($k = $desde[$i]; $k <= $hasta[$i]; $k++) { $ficha = new Ficha(); $ficha['ficha'] = $k; $ficha['hoja'] = $l; $ficha['escalafon_ficha_id'] = $escalafonFicha->id; $ficha['escalafon_ficha_recepcion_id'] = $escalafonFichaRecepcion->id; $ficha['usuario_created_at'] = Auth::user()->id; $ficha->save(); $l++; } /******************************************************************/ } DB::commit(); return Response::json(array('rst' => 1, 'msj' => 'Datos Actualizados')); } }