trabajando en datoslibro

This commit is contained in:
2024-12-15 21:13:25 +01:00
parent d7d1791d64
commit 586dfa7343
8 changed files with 478 additions and 214 deletions

View File

@ -6,6 +6,8 @@ use App\Entities\Presupuestos\PresupuestoEntity;
use App\Models\Collection;
use App\Models\Configuracion\MaquinaModel;
use App\Models\Configuracion\PapelGenericoModel;
use App\Models\Configuracion\PapelFormatoModel;
use App\Models\Clientes\ClienteModel;
use App\Models\Configuracion\PapelImpresionModel;
use App\Models\Configuracion\TipoPresupuestoModel;
use App\Models\Presupuestos\PresupuestoAcabadosModel;
@ -468,6 +470,123 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return $response;
}
public function cargar($id){
if ($this->request->isAJAX()) {
$modelPapelFormato = new PapelFormatoModel();
$modelCliente = new ClienteModel();
$presupuesto = $this->model->find($id);
$data = [];
if ($presupuesto) {
$data['lc'] = $presupuesto->lomo_cubierta;
$data['lsc'] = $presupuesto->lomo_sobrecubierta;
$data['tipo_impresion'] = $presupuesto->tipo_impresion_id;
$data['cosido'] = $presupuesto->cosido;
$data['datosGenerales']['id'] = $presupuesto->id;
$data['datosGenerales']['state'] = intval($presupuesto->estado_id);
$data['datosGenerales']['updated_at'] = date('d/m/Y', strtotime($presupuesto->updated_at));
$data['datosGenerales']['created_at'] = date('d/m/Y', strtotime($presupuesto->created_at));
$data['datosGenerales']['inc_rei'] = $presupuesto->inc_rei == null ? 0 : $presupuesto->inc_rei;
$data['datosGenerales']['titulo'] = $presupuesto->titulo;
$data['datosGenerales']['autor'] = $presupuesto->autor;
$data['datosGenerales']['coleccion'] = $presupuesto->coleccion;
$data['datosGenerales']['numero_edicion'] = $presupuesto->numero_edicion;
$data['datosGenerales']['isbn'] = $presupuesto->isbn;
$data['datosGenerales']['pais'] = $presupuesto->pais_id;
$data['datosGenerales']['cliente']['id'] = $presupuesto->cliente_id;
$data['datosGenerales']['cliente']['nombre'] = $modelCliente->getNombre($presupuesto->cliente_id);
$data['datosGenerales']['referenciaCliente'] = $presupuesto->referencia_cliente;
/*
model('App\Models\Clientes\ClienteModel')
->find($presupuesto->cliente_id)->nombre;
$data['datosGenerales']['papelFormatoId'] = $presupuesto->papel_formato_id;
$data['datosGenerales']['papelFormatoNombre'] = $modelPapelFormato->getNombre($presupuesto->papel_formato_id);
$data['datosGenerales']['papelFormatoPersonalizado'] = $presupuesto->papel_formato_personalizado;
$data['datosGenerales']['papelFormatoAncho'] = $presupuesto->papel_formato_ancho;
$data['datosGenerales']['papelFormatoAlto'] = $presupuesto->papel_formato_alto;
$data['datosGenerales']['posPaginasColor'] = $presupuesto->comp_pos_paginas_color;
$data['datosGenerales']['papelInteriorDiferente'] = $presupuesto->papel_interior_diferente;
$data['datosGenerales']['paginasColorConsecutivas'] = $presupuesto->paginas_color_consecutivas;
$data['datosGenerales']['tipo'] = $this->getTipoLibro($presupuesto->tipo_impresion_id ?? null);
$data['datosGenerales']['prototipo'] = $presupuesto->prototipo;
$data['datosGenerales']['ferro'] = $presupuesto->ferro;
$data['datosGenerales']['ferroDigital'] = $presupuesto->ferro_digital;
$data['datosGenerales']['marcapaginas'] = $presupuesto->marcapaginas;
$data['datosGenerales']['retractilado'] = $presupuesto->retractilado;
$data['datosGenerales']['retractilado5'] = $presupuesto->retractilado5;
$datos_papel = $this->obtenerDatosPapel($presupuesto->id);
$data['interior'] = $datos_papel['interior'] ? $datos_papel['interior'] : [];
$data['cubierta'] = $datos_papel['cubierta'] ? $datos_papel['cubierta'] : [];
$data['cubierta']['tapa'] = $this->obtenerTipoTapa($presupuesto->tipo_impresion_id ?? null);
$data['cubierta']['lomoRedondo'] = $presupuesto->lomo_redondo ? 1 : 0;
$data['cubierta']['solapas'] = $presupuesto->solapas ? 1 : 0;
$data['cubierta']['solapas_ancho'] = $presupuesto->solapas_ancho;
$data['cubierta']['cabezada'] = $presupuesto->cabezada;
$modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel");
$data['cubierta']['acabado']['id'] = $presupuesto->acabado_cubierta_id;
if ($presupuesto->acabado_cubierta_id == 0) {
$data['cubierta']['acabado']['text'] = "Ninguno";
} else {
$data['cubierta']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_cubierta_id)->nombre;
}
$data['cubierta']['retractilado'] = $presupuesto->retractilado ? 1 : 0;
$data['sobrecubierta'] = array_key_exists('sobrecubierta', $datos_papel) ? $datos_papel['sobrecubierta'] : [];
$data['sobrecubierta']['solapas'] = $presupuesto->solapas_sobrecubierta ? 1 : 0;
$data['sobrecubierta']['solapas_ancho'] = $presupuesto->solapas_ancho_sobrecubierta;
$data['sobrecubierta']['acabado']['id'] = $presupuesto->acabado_sobrecubierta_id;
if ($presupuesto->acabado_sobrecubierta_id == 0) {
$data['sobrecubierta']['acabado']['text'] = "Ninguno";
} else {
$data['sobrecubierta']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_sobrecubierta_id)->nombre;
}
$data['guardas'] = array_key_exists('guardas', $datos_papel) ? $datos_papel['guardas'] : [];
$modelLinea = new PresupuestoLineaModel();
$lineas = $modelLinea->where('presupuesto_id', $id)->findAll();
[$data['datosGenerales']['paginasNegro'], $data['datosGenerales']['paginasColor']] =
$this->getPaginas($lineas);
if (intval($presupuesto->envios_recoge_cliente) == 1) {
$data['direcciones']['entrega_taller'] = 1;
} else {
$data['direcciones']['entrega_taller'] = 0;
$data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id);
}
if (intval($presupuesto->estado_id) == 2) {
$data['resumen']['base'] = $presupuesto->total_aceptado;
$data['resumen']['precio_unidad'] = $presupuesto->total_precio_unidad;
}
$tiradas_alternativas = json_decode($presupuesto->tirada_alternativa_json_data);
if (!is_null($tiradas_alternativas)) {
for ($i = 0; $i < count($tiradas_alternativas); $i++) {
$tirada = $tiradas_alternativas[$i];
$data['datosGenerales']['tirada' . ($i + 2)] = $tirada->tirada;
}
}*/
return $this->respond([
'status' => 1,
'data' => $data
]);
}
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function datatable()
{