cargando datos

This commit is contained in:
2024-10-18 01:43:41 +02:00
parent 7c9b8a0b6d
commit 8a044d41fe
9 changed files with 11610 additions and 64 deletions

View File

@ -93,13 +93,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
['title' => lang("App.menu_presupuestos"), 'route' => "javascript:void(0);", 'active' => false],
['title' => "Listado", 'route' => site_url('presupuestocliente/list'), 'active' => true]
];
// Se obtiene el cliente ID a partir del usuario de la sesion
$model_user = model('App\Models\Usuarios\UserModel');
$user = $model_user->find(auth()->user()->id);
$clienteId = $user->cliente_id;
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
$this->viewData['breadcrumb'] = [
['title' => lang("App.menu_presupuestos"), 'route' => site_url('presupuestocliente/list'), 'active' => false],
['title' => "Añadir Presupuesto", 'route' => "javascript:void(0);", 'active' => true]
@ -107,7 +107,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$this->viewData['formAction'] = 'add';
$this->viewData['paisList'] = model('App\Models\Configuracion\PaisModel')->getAllForMenu('id, nombre', 'nombre', true);
$this->viewData['clienteId'] = $clienteId;
$this->viewData['POD'] = $POD;
@ -178,7 +178,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$this->viewData['presupuestoEntity'] = $presupuestoEntity;
$this->viewData['datosPresupuesto'] = $datosPresupuesto;
$this->viewData['clienteId'] = $clienteId;
$this->viewData['POD'] = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
// Si se ha llamado a esta funcion porque se ha duplicado el presupuesto
@ -312,6 +312,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$guardas = $reqData['guardas'] ?? [];
$faja = $reqData['faja'] ?? [];
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
$excluirRotativa = intval($excluirRotativa);
$ivaReducido = intval($reqData['ivaReducido']) ?? 0;
$direcciones = $reqData['direcciones'] ?? [];
@ -331,7 +332,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$interior = [
'papel_generico' => $papel,
'gramaje' => $gramaje,
'excluirRotativa' => $excluirRotativa == "false" ? false : true,
'excluirRotativa' => $excluirRotativa,
'paginas' => $paginas,
'paginas_color' => $paginas_color,
'papelInteriorDiferente' => $papelInteriorDiferente
@ -421,7 +422,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
return $this->respond($return_data);
} catch (Exception $e) {
return $this->failServerError($e->getMessage() );
return $this->failServerError($e->getMessage());
}
} else {
return $this->failUnauthorized('Invalid request', 403);
@ -609,6 +610,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$guardas = $reqData['guardas'] ?? [];
$faja = $reqData['faja'] ?? [];
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
$excluirRotativa = intval($excluirRotativa);
$ivaReducido = intval($reqData['ivaReducido']) ?? 0;
$direcciones = $reqData['direcciones'] ?? [];
@ -628,7 +630,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$interior = [
'papel_generico' => $papel,
'gramaje' => $gramaje,
'excluirRotativa' => $excluirRotativa == "false" ? false : true,
'excluirRotativa' => $excluirRotativa,
'paginas' => $paginas,
'paginas_color' => $paginas_color,
'papelInteriorDiferente' => $papelInteriorDiferente
@ -703,8 +705,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
// seleccionamos el peso de la tirada seleccionada
$peso_libro = $resultado_presupuesto['peso'][array_search($selected_tirada, $tirada)];
if (count($direcciones) > 1) {
for ($i = 0; $i < count($tirada); $i++) {
@ -746,9 +748,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$model_presupuesto = new PresupuestoModel();
$tiradas_alternativas = [];
$resumen_totales = [];
for ($i = 0; $i < count($tirada); $i++) {
if ($tirada[$i] != $selected_tirada) {
$coste_total = $resultado_presupuesto['info']['totales'][$i]['totalImpresion'] + $resultado_presupuesto['info']['totales'][$i]['totalPapel'] +
@ -778,19 +780,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$borrar_antes = true;
}
if($datos_presupuesto['sobrecubierta']){
if ($datos_presupuesto['sobrecubierta']) {
$acabado_id = $this->obtenerTarifasAcabado(['plastificado' => $datos_presupuesto['sobrecubierta']['acabados']]);
if(count($acabado_id)>0){
if (count($acabado_id) > 0) {
$datos_presupuesto['sobrecubierta']['acabados'] = $acabado_id[0];
}
}
$acabado_id = $this->obtenerTarifasAcabado($datos_presupuesto['cubierta']['acabadosCubierta']);
if(count($acabado_id)>0){
if (count($acabado_id) > 0) {
$datos_presupuesto['cubierta']['acabadosCubierta']['plastificado'] = $acabado_id[0];
$datos_presupuesto['cubierta']['acabadosCubierta']['barniz'] = $acabado_id[1];
$datos_presupuesto['cubierta']['acabadosCubierta']['estampado'] = $acabado_id[2];
}
else{
} else {
$datos_presupuesto['cubierta']['acabadosCubierta']['id'] = 0;
}
@ -862,6 +863,145 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
}
}
public function cargar($id)
{
if ($this->request->isAJAX()) {
$modelPapelGenerico = new PapelGenericoModel();
$reqData = $this->request->getPost();
$presupuesto = $this->model->find($id);
$data = [];
if ($presupuesto) {
$data['datosGenerales']['titulo'] = $presupuesto->titulo;
$data['datosGenerales']['autor'] = $presupuesto->autor;
$data['datosGenerales']['isbn'] = $presupuesto->isbn;
$data['datosGenerales']['coleccion'] = $presupuesto->coleccion;
$data['datosGenerales']['referenciaCliente'] = $presupuesto->referencia_cliente;
$data['datosGenerales']['paginas'] = $presupuesto->paginas;
$data['datosGenerales']['posPaginasColor'] = $presupuesto->paginas_color;
$data['datosGenerales']['paginasCuadernillo'] = $presupuesto->paginas_cuadernillo;
$data['datosGenerales']['tirada'] = $presupuesto->tirada;
$data['datosGenerales']['ivaReducido'] = $presupuesto->iva_reducido;
$data['datosGenerales']['excluirRotativa'] = $presupuesto->excluir_rotativa;
$data['datosGenerales']['clienteId'] = $presupuesto->cliente_id;
$data['datosGenerales']['clienteNombre'] =
model('App\Models\Clientes\ClienteModel')
->find($presupuesto->cliente_id)->nombre;
$data['datosGenerales']['papelFormatoId'] = $presupuesto->papel_formato_id;
$data['datosGenerales']['papelFormatoPersonalizado'] = $presupuesto->papel_formato_personalizado;
$data['datosGenerales']['papelInteriorDiferente'] = $presupuesto->papel_interior_diferente;
$data['tiradasPrecio'] = [
(object) [
'tirada' => $presupuesto->tirada,
'precio' => $presupuesto->total_confirmado,
'precio_u' => $presupuesto->total_precio_unidad,
]
];
$tiradas_alternativas = json_decode($presupuesto->tirada_alternativa_json_data);
for ($i = 0; $i < count($tiradas_alternativas); $i++) {
$tirada = $tiradas_alternativas[$i];
$data['datosGenerales']['tirada' . ($i + 2)] = $tirada->tirada;
array_push($data['tiradasPrecio'], (object) [
'tirada' => intval($tirada->tirada),
'precio' => $tirada->total_pedido,
'precio_u' => $tirada->precio_unidad,
]);
}
usort($data['tiradasPrecio'], function ($a, $b) {
return $a->tirada <=> $b->tirada;
});
$modelLinea = new PresupuestoLineaModel();
$lineas = $modelLinea->where('presupuesto_id', $id)->findAll();
[$data['datosGenerales']['paginasNegro'], $data['datosGenerales']['paginasColor']] =
$this->getPaginas($lineas);
return $this->respond([
'status' => 1,
'data' => $data
]);
}
;
/*
if (this.datos.tipo == "cosido") {
this.datos.paginasCuadernillo = this.datosGenerales.paginasCuadernillo.val();
}
}
//////////////////////////
this.datos = {
tamanio: this.datosGenerales.getDimensionLibro(),
tirada: this.datosGenerales.getTiradas(),
paginas: this.datosGenerales.paginas.val(),
paginasColor: this.datosGenerales.paginasColor.val(),
paginasCuadernillo: this.datosGenerales.paginasCuadernillo.val(),
papelInteriorDiferente: this.datosGenerales.papelDiferente.is(':checked') ? 1 : 0,
tipo: this.datosGenerales.tiposLibro.filter('.selected').attr('id'),
isColor: this.datosGenerales.getIsColor() ? 1 : 0,
isHq: this.disenioInterior.getIsHq() ? 1 : 0,
interior: {
papelInterior: this.disenioInterior.getPapel(),
gramajeInterior: this.disenioInterior.getGramaje(),
},
cubierta: {
tipoCubierta: this.disenioCubierta.disenioCubierta.filter('.selected').attr('id'),
papelCubierta: this.disenioCubierta.getPapel(),
gramajeCubierta: this.disenioCubierta.getGramaje(),
cabezada: this.disenioCubierta.getCabezada(),
acabados: this.disenioCubierta.getAcabados(),
carasImpresion: this.disenioCubierta.carasCubierta.val(),
},
guardas: this.disenioCubierta.getGuardas(),
sobrecubierta: this.disenioCubierta.getSobrecubierta(),
faja: this.disenioCubierta.getFaja(),
let solapasCubierta = this.disenioCubierta.getSolapasCubierta();
if (solapasCubierta !== null && solapasCubierta !== undefined) {
if (solapasCubierta === false)
this.datos.cubierta.solapas = 0;
else {
this.datos.cubierta.solapas = 1;
this.datos.cubierta.tamanioSolapas = solapasCubierta;
}
}
else {
this.datos.cubierta.solapas = 0;
}
if (this.direcciones.direcciones.length > 0) {
this.datos.direcciones = [];
for (let i = 0; i < this.direcciones.direcciones.length; i++) {
this.datos.direcciones.push(this.direcciones.direcciones[i].getFormData());
};
}
}
////////////////////////////////////////////////////////*/
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function get_files()
{
@ -1002,10 +1142,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$peso_envio = $peso_libro * $unidades / 1000.0;
$data = $this->getCosteEnvio(
$direccion['id'],
$peso_libro,
$direccion['unidades'],
$direccion['entregaPalets'] == 'false' ? 0 : 1);
$direccion['id'],
$peso_libro,
$direccion['unidades'],
$direccion['entregaPalets'] == 'false' ? 0 : 1
);
if (count($data) > 0) {
@ -1367,7 +1508,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$acabadoCubierta = [];
foreach ($tarifaAcabadoCubierta as $tarifa) {
if($tarifa == 0)
if ($tarifa == 0)
continue;
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
$acabadoCubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
@ -1630,11 +1771,11 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$return_data += [
'errors' => $error,
'total_lp' => $costeInterior + $coste_cubierta + $coste_sobrecubierta,
'acabadoCubierta' => $acabadoCubierta,
'acabadoSobrecubierta' => $acabadoSobrecubierta,
'total_servicios_defecto' => $costeServiciosDefecto,
'total_servicios_automaticos' => $coste_servicios,
//'total_lp' => $costeInterior + $coste_cubierta + $coste_sobrecubierta,
//'acabadoCubierta' => $acabadoCubierta,
//'acabadoSobrecubierta' => $acabadoSobrecubierta,
//'total_servicios_defecto' => $costeServiciosDefecto,
//'total_servicios_automaticos' => $coste_servicios,
'tiradas' => $tirada,
'precio_u' => $precio_u,
'peso' => $peso,
@ -2082,12 +2223,39 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$data = $model->where('code', $value)->first();
$data = $data->id;
array_push($tarifas, $data);
}
else{
} else {
array_push($tarifas, 0);
}
}
return $tarifas;
}
private function getPaginas($lineas){
$paginasNegro = 0;
$paginasColor = 0;
foreach ($lineas as $linea) {
if (strpos($linea->tipo, "lp_bn") !== false || strpos($linea->tipo, "lp_color") !== false) {
$paginasNegro = $linea->paginas;
}
if (strpos($linea->tipo, "lp_color") !== false || strpos($linea->tipo, "lp_colorhq") !== false) {
$paginasColor = $linea->paginas;
}
if (strpos($linea->tipo, "lp_rot_bn") !== false) {
$paginasNegro = $linea->paginas;
}
if (strpos($linea->tipo, "lp_rot_color") !== false) {
$paginasColor = $linea->rotativa_pag_color;
$paginasNegro = $linea->paginas - $linea->rotativa_pag_color;
}
}
return [$paginasNegro, $paginasColor];
}
}