Skip to content

Commit

Permalink
Merge pull request #132 from sao-albacete/feature/AOA-95
Browse files Browse the repository at this point in the history
Feature/aoa 95
  • Loading branch information
viktorKhan authored Dec 8, 2020
2 parents 0e6b629 + 42f8be9 commit 7fd8448
Show file tree
Hide file tree
Showing 11 changed files with 1,438 additions and 786 deletions.
219 changes: 210 additions & 9 deletions app/Controller/CitaController.php
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,48 @@ public function index()
$valuesSubmited["colaboradorId"] = $this->request->query["colaboradorId"];
$valuesSubmited["colaborador"] = $this->request->query["colaborador"];
}

// Indicadores
if (isset($this->request->query["indHabitatRaro"]) && !empty($this->request->query["indHabitatRaro"])) {
$conditions["Cita.indHabitatRaro"] = $this->request->query["indHabitatRaro"];
$valuesSubmited["indHabitatRaro"] = $this->request->query["indHabitatRaro"];
}
if (isset($this->request->query["indCriaHabitatRaro"]) && !empty($this->request->query["indCriaHabitatRaro"])) {
$conditions["Cita.indCriaHabitatRaro"] = $this->request->query["indCriaHabitatRaro"];
$valuesSubmited["indCriaHabitatRaro"] = $this->request->query["indCriaHabitatRaro"];
}
if (isset($this->request->query["dormidero"]) && !empty($this->request->query["dormidero"])) {
$conditions["Cita.dormidero"] = $this->request->query["dormidero"];
$valuesSubmited["dormidero"] = $this->request->query["dormidero"];
}
if (isset($this->request->query["colonia_de_cria"]) && !empty($this->request->query["colonia_de_cria"])) {
$conditions["Cita.colonia_de_cria"] = $this->request->query["colonia_de_cria"];
$valuesSubmited["colonia_de_cria"] = $this->request->query["colonia_de_cria"];
}
if (isset($this->request->query["migracion_activa"]) && !empty($this->request->query["migracion_activa"])) {
$conditions["Cita.migracion_activa"] = $this->request->query["migracion_activa"];
$valuesSubmited["migracion_activa"] = $this->request->query["migracion_activa"];
}
if (isset($this->request->query["sedimentado"]) && !empty($this->request->query["sedimentado"])) {
$conditions["Cita.sedimentado"] = $this->request->query["sedimentado"];
$valuesSubmited["sedimentado"] = $this->request->query["sedimentado"];
}
if (isset($this->request->query["indHerido"]) && !empty($this->request->query["indHerido"])) {
$conditions["Cita.indHerido"] = $this->request->query["indHerido"];
$valuesSubmited["indHerido"] = $this->request->query["indHerido"];
}
if (isset($this->request->query["indComportamiento"]) && !empty($this->request->query["indComportamiento"])) {
$conditions["Cita.indComportamiento"] = $this->request->query["indComportamiento"];
$valuesSubmited["indComportamiento"] = $this->request->query["indComportamiento"];
}
if (isset($this->request->query["electrocutado"]) && !empty($this->request->query["electrocutado"])) {
$conditions["Cita.electrocutado"] = $this->request->query["electrocutado"];
$valuesSubmited["electrocutado"] = $this->request->query["electrocutado"];
}
if (isset($this->request->query["atropellado"]) && !empty($this->request->query["atropellado"])) {
$conditions["Cita.atropellado"] = $this->request->query["atropellado"];
$valuesSubmited["atropellado"] = $this->request->query["atropellado"];
}
}

if (count($conditions) > 0) {
Expand Down Expand Up @@ -367,6 +409,7 @@ public function index()
['label' => __('Comarca')],
['label' => __('Cuadrícula UTM')],
['label' => __('Número de Aves')],
['label' => __('Precisión')],
['label' => __('Observador (código)')],
['label' => __('Observador (nombre)')],
['label' => __('Colaboradores (códigos)')],
Expand All @@ -375,6 +418,16 @@ public function index()
['label' => __('Clase de Reproducción (descripción)')],
['label' => __('Criterio de Selección (código)')],
['label' => __('Criterio de Selección (descripción)')],
['label' => __('Especie vista en habitat atípico')],
['label' => __('Reproducción en un hábitat atípico')],
['label' => __('En dormidero')],
['label' => __('Colonia de cría')],
['label' => __('Migración activa')],
['label' => __('Sedimentado')],
['label' => __('Cita de individuo herido, accidentado o muerto')],
['label' => __('Comportamiento o morfología curiosa')],
['label' => __('Electrocutado')],
['label' => __('Atropellado')],
['label' => __('Observaciones')],
];

Expand Down Expand Up @@ -437,15 +490,40 @@ public function index()
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(7, $row, $cita['Comarca']['nombre']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(8, $row, $cita['CuadriculaUtm']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(9, $row, $cita['Cita']['cantidad']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $row, $cita['ObservadorPrincipal']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(11, $row, $cita['ObservadorPrincipal']['nombre']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(12, $row, $this->ObservadorSecundario->mostrarCodigosObservadores($cita['observadoresSecundarios']));
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(13, $row, $this->ObservadorSecundario->mostrarNombresObservadores($cita['observadoresSecundarios']));
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(14, $row, $cita['ClaseReproduccion']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(15, $row, $cita['ClaseReproduccion']['descripcion']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(16, $row, $cita['CriterioSeleccionCita']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(17, $row, $cita['CriterioSeleccionCita']['nombre']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(18, $row, $observaciones);
if ($cita["Cita"]["cantidad_exacta"] == true) {
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $row, "Número exacto");
}
else if ($cita["Cita"]["cantidad_aproximada"] == true) {
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $row, "Número aproximado");
}
else if ($cita["Cita"]["cantidad_precisa"] == true) {
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $row, "Conteo preciso");
}
else if ($cita["Cita"]["cantidad_estimada"] == true) {
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $row, "Estima");
}

$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(11, $row, $cita['ObservadorPrincipal']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(12, $row, $cita['ObservadorPrincipal']['nombre']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(13, $row, $this->ObservadorSecundario->mostrarCodigosObservadores($cita['observadoresSecundarios']));
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(14, $row, $this->ObservadorSecundario->mostrarNombresObservadores($cita['observadoresSecundarios']));
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(15, $row, $cita['ClaseReproduccion']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(16, $row, $cita['ClaseReproduccion']['descripcion']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(17, $row, $cita['CriterioSeleccionCita']['codigo']);
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(18, $row, $cita['CriterioSeleccionCita']['nombre']);

$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(19, $row, $cita['Cita']['indHabitatRaro'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(20, $row, $cita['Cita']['indCriaHabitatRaro'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(21, $row, $cita['Cita']['dormidero'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(22, $row, $cita['Cita']['colonia_de_cria'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(23, $row, $cita['Cita']['migracion_activa'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(24, $row, $cita['Cita']['sedimentado'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(25, $row, $cita['Cita']['indHerido'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(26, $row, $cita['Cita']['indComportamiento'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(27, $row, $cita['Cita']['electrocutado'] == "1" ? "" : "");
$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(28, $row, $cita['Cita']['atropellado'] == "1" ? "" : "");

$this->PhpExcel->getActiveSheet()->setCellValueByColumnAndRow(29, $row, strip_tags($observaciones));

$row++;
}
Expand Down Expand Up @@ -626,6 +704,65 @@ public function edit()
} else {
$cita["Cita"]["indComportamiento"] = false;
}
if (isset($this->request->data["Cita"]["dormidero"])) {
$cita["Cita"]["dormidero"] = $this->request->data["Cita"]["dormidero"];
} else {
$cita["Cita"]["dormidero"] = false;
}
if (isset($this->request->data["Cita"]["colonia_de_cria"])) {
$cita["Cita"]["colonia_de_cria"] = $this->request->data["Cita"]["colonia_de_cria"];
} else {
$cita["Cita"]["colonia_de_cria"] = false;
}
if (isset($this->request->data["Cita"]["migracion_activa"])) {
$cita["Cita"]["migracion_activa"] = $this->request->data["Cita"]["migracion_activa"];
} else {
$cita["Cita"]["migracion_activa"] = false;
}
if (isset($this->request->data["Cita"]["sedimentado"])) {
$cita["Cita"]["sedimentado"] = $this->request->data["Cita"]["sedimentado"];
} else {
$cita["Cita"]["sedimentado"] = false;
}
if (isset($this->request->data["Cita"]["electrocutado"])) {
$cita["Cita"]["electrocutado"] = $this->request->data["Cita"]["electrocutado"];
} else {
$cita["Cita"]["electrocutado"] = false;
}
if (isset($this->request->data["Cita"]["atropellado"])) {
$cita["Cita"]["atropellado"] = $this->request->data["Cita"]["atropellado"];
} else {
$cita["Cita"]["atropellado"] = false;
}
}

/*
* Precisión
*/
$precision = $this->request->data["Cita"]["precision"];
if ($precision == "cantidad_exacta") {
$cita["Cita"]["cantidad_exacta"] = true;
$cita["Cita"]["cantidad_aproximada"] = false;
$cita["Cita"]["cantidad_precisa"] = false;
$cita["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_aproximada") {
$cita["Cita"]["cantidad_exacta"] = false;
$cita["Cita"]["cantidad_aproximada"] = true;
$cita["Cita"]["cantidad_precisa"] = false;
$cita["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_precisa") {
$cita["Cita"]["cantidad_exacta"] = false;
$cita["Cita"]["cantidad_aproximada"] = false;
$cita["Cita"]["cantidad_precisa"] = true;
$cita["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_estimada") {
$cita["Cita"]["cantidad_exacta"] = false;
$cita["Cita"]["cantidad_aproximada"] = false;
$cita["Cita"]["cantidad_precisa"] = false;
$cita["Cita"]["cantidad_estimada"] = true;
}

// Indicador de Rareza
Expand Down Expand Up @@ -841,6 +978,23 @@ public function add()
$this->request->data["Cita"]["indRarezaHomologada"] = 2;
}

/*
* Precisión
*/
$precision = $this->request->data["Cita"]["precision"];
if ($precision == "cantidad_exacta") {
$this->request->data["Cita"]["cantidad_exacta"] = 1;
}
else if ($precision == "cantidad_aproximada") {
$this->request->data["Cita"]["cantidad_aproximada"] = 1;
}
else if ($precision == "cantidad_precisa") {
$this->request->data["Cita"]["cantidad_precisa"] = 1;
}
else if ($precision == "cantidad_estimada") {
$this->request->data["Cita"]["cantidad_estimada"] = 1;
}

$this->Cita->create();

$this->Cita->set($this->request->data);
Expand Down Expand Up @@ -959,6 +1113,31 @@ public function add_multiple()

$this->request->data["Cita"]["especie_id"] = $datosEspecie["especie_id"];
$this->request->data["Cita"]["cantidad"] = $datosEspecie["cantidad"];
$precision = $datosEspecie["precision"];
if ($precision == "cantidad_exacta") {
$this->request->data["Cita"]["cantidad_exacta"] = true;
$this->request->data["Cita"]["cantidad_aproximada"] = false;
$this->request->data["Cita"]["cantidad_precisa"] = false;
$this->request->data["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_aproximada") {
$this->request->data["Cita"]["cantidad_exacta"] = false;
$this->request->data["Cita"]["cantidad_aproximada"] = true;
$this->request->data["Cita"]["cantidad_precisa"] = false;
$this->request->data["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_precisa") {
$this->request->data["Cita"]["cantidad_exacta"] = false;
$this->request->data["Cita"]["cantidad_aproximada"] = false;
$this->request->data["Cita"]["cantidad_precisa"] = true;
$this->request->data["Cita"]["cantidad_estimada"] = false;
}
else if ($precision == "cantidad_estimada") {
$this->request->data["Cita"]["cantidad_exacta"] = false;
$this->request->data["Cita"]["cantidad_aproximada"] = false;
$this->request->data["Cita"]["cantidad_precisa"] = false;
$this->request->data["Cita"]["cantidad_estimada"] = true;
}

// Hora de alta
$horaAlta = $datosEspecie["horaAlta"];
Expand All @@ -979,6 +1158,13 @@ public function add_multiple()
$this->request->data["Cita"]["indCriaHabitatRaro"] = $datosEspecie["indCriaHabitatRaro"];
$this->request->data["Cita"]["indHerido"] = $datosEspecie["indHerido"];
$this->request->data["Cita"]["indComportamiento"] = $datosEspecie["indComportamiento"];
$this->request->data["Cita"]["dormidero"] = $datosEspecie["dormidero"];
$this->request->data["Cita"]["colonia_de_cria"] = $datosEspecie["colonia_de_cria"];
$this->request->data["Cita"]["migracion_activa"] = $datosEspecie["migracion_activa"];
$this->request->data["Cita"]["sedimentado"] = $datosEspecie["sedimentado"];
$this->request->data["Cita"]["electrocutado"] = $datosEspecie["electrocutado"];
$this->request->data["Cita"]["atropellado"] = $datosEspecie["atropellado"];


$this->request->data["Cita"]["observaciones"] = $datosEspecie["observaciones"];

Expand Down Expand Up @@ -1186,8 +1372,23 @@ public function view()
throw new ForbiddenException(sprintf('El usuario con email %s no tiene permisos ver la cita con id %s', $current_user['email'], $citaId));
}

$precision = "";
if ($cita["Cita"]["cantidad_exacta"] == true) {
$precision = "Número exacto";
}
else if ($cita["Cita"]["cantidad_aproximada"] == true) {
$precision = "Número aproximado";
}
else if ($cita["Cita"]["cantidad_precisa"] == true) {
$precision = "Conteo preciso";
}
else if ($cita["Cita"]["cantidad_estimada"] == true) {
$precision = "Estima";
}

// Seteamos los datos a mostrar en la vista
$this->set('cita', $cita);
$this->set('precision', $precision);
$this->set('usuario', $current_user);
}

Expand Down
47 changes: 46 additions & 1 deletion app/View/Cita/add.ctp
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,28 @@ $this->end();
<div class="controls">
<div class="dummy" style="display: inline;">

<div class="opcionesCantidad" style="margin-bottom: 10px;">
<label class="radio inline" for="cantidad_exacta">
<input type="radio" name="data[Cita][precision]" id="cantidad_exacta" value="cantidad_exacta" checked/>
<?php echo __("Número exacto"); ?>
</label>

<label class="radio inline" for="cantidad_precisa">
<input type="radio" name="data[Cita][precision]" id="cantidad_precisa" value="cantidad_precisa"/>
<?php echo __("Conteo preciso"); ?>
</label>

<label class="radio inline" for="cantidad_estimada">
<input type="radio" name="data[Cita][precision]" id="cantidad_estimada" value="cantidad_estimada"/>
<?php echo __("Estima"); ?>
</label>

<label class="radio inline" for="cantidad_aproximada">
<input type="radio" name="data[Cita][precision]" id="cantidad_aproximada" value="cantidad_aproximada"/>
<?php echo __("Número aproximado"); ?>
</label>
</div>

<?php echo $this->element('Cita/tablaNumeroAves'); ?>

<div class="numeroTotalAvesDiv" style="margin-top: 5px; display: none;">
Expand Down Expand Up @@ -238,6 +260,22 @@ $this->end();
<input name="data[Cita][indCriaHabitatRaro]" value="1"
type="checkbox"> <?php echo __("Reproducción en un hábitat atípico"); ?>
</label>
<label class="checkbox">
<input name="data[Cita][dormidero]" value="1"
type="checkbox"> <?php echo __("En dormidero"); ?>
</label>
<label class="checkbox">
<input name="data[Cita][colonia_de_cria]" value="1"
type="checkbox"> <?php echo __("Colonia de cría"); ?>
</label>
<label class="checkbox">
<input name="data[Cita][migracion_activa]" value="1"
type="checkbox"> <?php echo __("Migración activa"); ?>
</label>
<label class="checkbox" title="<?php echo __("Grupo de aves en migración que permanecen descansando en un mismo sitio un tiempo."); ?>">
<input name="data[Cita][sedimentado]" value="1"
type="checkbox"> <?php echo __("Sedimentado"); ?>
</label>
</div>
<div class="span3">
<label class="checkbox">
Expand All @@ -248,6 +286,14 @@ $this->end();
<input name="data[Cita][indComportamiento]" value="1"
type="checkbox"> <?php echo __("Comportamiento o morfología curiosa"); ?>
</label>
<label class="checkbox">
<input name="data[Cita][electrocutado]" value="1"
type="checkbox"> <?php echo __("Electrocutado"); ?>
</label>
<label class="checkbox">
<input name="data[Cita][atropellado]" value="1"
type="checkbox"> <?php echo __("Atropellado"); ?>
</label>
</div>
</div>
</div>
Expand Down Expand Up @@ -387,7 +433,6 @@ $this->end();
<!-- Observaciones -->
<div class="control-group">
<label class="control-label" for="observaciones"> <?php echo __("Observaciones"); ?></label>

<div class="controls">
<textarea id="observaciones" name="data[Cita][observaciones]" rows="2" class="span4"></textarea>
</div>
Expand Down
Loading

0 comments on commit 7fd8448

Please sign in to comment.