mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
cargando presu
This commit is contained in:
@ -415,7 +415,24 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
|
||||
if (!property_exists($coste_direccion, 'coste')) {
|
||||
$return_data['errors']->envios = "No se ha podido calcular el coste de envío";
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$data['direccion'] = $direccion;
|
||||
$data['peso'] = $return_data['peso'][$i];
|
||||
$data['palets'] = $direccion['entregaPalets'] == 'true' ? 1 : 0;
|
||||
$errorModel->insertError(
|
||||
$id,
|
||||
auth()->user()->id,
|
||||
'No se ha podido calcular el coste de envío',
|
||||
$data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
|
||||
} else {
|
||||
$coste_envio += $coste_direccion->coste;
|
||||
}
|
||||
@ -430,7 +447,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$coste_direccion = $this->getCosteEnvio(null, $return_data['peso'][$i], $tirada[$i], false)[0];
|
||||
|
||||
if (!property_exists($coste_direccion, 'coste')) {
|
||||
$return_data['errors']->envios = "No se ha podido calcular el coste de envío";
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$data['direccion'] = 'Sin direccion';
|
||||
$data['peso'] = $return_data['peso'][$i];
|
||||
$data['palets'] = 'Sin direccion';
|
||||
$errorModel->insertError(
|
||||
$id,
|
||||
auth()->user()->id,
|
||||
'No se ha podido calcular el coste de envío',
|
||||
$data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
} else {
|
||||
$coste_envio += $coste_direccion->coste;
|
||||
}
|
||||
@ -658,7 +690,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'gramaje' => $gramaje,
|
||||
'excluirRotativa' => $excluirRotativa,
|
||||
'paginas' => $paginas,
|
||||
'paginasColor' => $paginas_color,
|
||||
'paginas_color' => $paginas_color,
|
||||
'pos_paginas_color' => $posPaginasColor,
|
||||
'paginas_color_consecutivas' => $paginasColorConsecutivas,
|
||||
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||
@ -1341,7 +1373,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$gramaje = $datos_entrada['interior']['gramaje'];
|
||||
$excluirRotativa = $datos_entrada['interior']['excluirRotativa'];
|
||||
$paginas = $datos_entrada['interior']['paginas'];
|
||||
$paginas_color = $datos_entrada['interior']['paginasColor'];
|
||||
$paginas_color = $datos_entrada['interior']['paginas_color'];
|
||||
|
||||
|
||||
// Cubierta
|
||||
@ -1432,6 +1464,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
$costeInterior = 0.0;
|
||||
@ -1482,6 +1515,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
$costeInterior = 0.0;
|
||||
@ -1514,20 +1548,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
if ($costeInterior <= 0){
|
||||
if ($costeInterior <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener el interior',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
auth()->user()->id,
|
||||
'No se puede obtener el interior',
|
||||
$input_data
|
||||
);
|
||||
$return_data = [
|
||||
'errors' => (object) ([
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
// Cubierta
|
||||
@ -1575,6 +1610,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
// Acabados Cubierta
|
||||
$tarifaAcabadoCubierta = $this->obtenerTarifasAcabado($acabadosCubierta);
|
||||
@ -1602,6 +1638,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
$coste_servicios += floatval($acabadoCubierta[0]->total);
|
||||
}
|
||||
@ -1658,6 +1695,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
$lomo_sobrecubierta = $lomo + floatval($linea_sobrecubierta['mano']);
|
||||
|
||||
@ -1688,6 +1726,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
$coste_servicios += floatval($acabadoSobrecubierta[0]->total);
|
||||
@ -1753,6 +1792,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1792,6 +1832,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
|
||||
@ -1838,7 +1879,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'POD' => $POD,
|
||||
]);
|
||||
array_push($serviciosAutomaticos, $resultado[0]);
|
||||
|
||||
|
||||
if ($resultado[0]->total <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
@ -1853,6 +1894,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
$coste_servicios += floatval($resultado[0]->total);
|
||||
@ -1866,7 +1908,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'tarifa_id' => $servicio,
|
||||
]);
|
||||
array_push($serviciosAutomaticos, $resultado[0]);
|
||||
if ($resultado[0]->precio <= 0){
|
||||
if ($resultado[0]->precio <= 0) {
|
||||
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
@ -1880,8 +1922,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'status' => 1
|
||||
]),
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$coste_servicios += floatval($resultado[0]->precio);
|
||||
if ($extra_info) {
|
||||
@ -1893,7 +1936,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
array_push($precio_u, round(($costeInterior + $coste_cubierta + $coste_sobrecubierta + $costeServiciosDefecto + $coste_servicios) / $tirada[$t], 4));
|
||||
array_push($peso, round($peso_interior + $peso_cubierta + $peso_sobrecubierta + $peso_guardas, 2));
|
||||
|
||||
|
||||
if ($extra_info) {
|
||||
$totalServicios -= $margenServicios;
|
||||
$porcentajeMargenServicios = $margenServicios / ($margenServicios + $totalServicios) * 100;
|
||||
|
||||
@ -92,6 +92,7 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
|
||||
"is_duplicado" => false,
|
||||
'paginas_color_consecutivas' => null,
|
||||
'papel_interior_diferente' => null,
|
||||
'paginasCuadernillo' => null,
|
||||
];
|
||||
protected $casts = [
|
||||
"cliente_id" => "int",
|
||||
@ -159,5 +160,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
|
||||
"is_duplicado" => "boolean",
|
||||
'paginas_color_consecutivas' => "boolean",
|
||||
'papel_interior_diferente' => "boolean",
|
||||
'paginasCuadernillo' => "int",
|
||||
];
|
||||
}
|
||||
|
||||
@ -129,6 +129,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
"is_duplicado",
|
||||
'paginas_color_consecutivas',
|
||||
'papel_interior_diferente',
|
||||
'paginasCuadernillo',
|
||||
];
|
||||
protected $returnType = "App\Entities\Presupuestos\PresupuestoEntity";
|
||||
|
||||
@ -412,6 +413,9 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'papel_formato_ancho' => !$papel_formato_id ? $data['tamanio']['ancho'] : null,
|
||||
'papel_formato_alto' => !$papel_formato_id ? $data['tamanio']['alto'] : null,
|
||||
'titulo' => $data_cabecera['titulo'],
|
||||
'autor' => $data_cabecera['autor'],
|
||||
'ISBN' => $data_cabecera['isbn'],
|
||||
'coleccion' => $data_cabecera['coleccion'],
|
||||
'referencia_cliente' => $data_cabecera['referenciaCliente'],
|
||||
'paginas' => $data['interior']['paginas'],
|
||||
'tirada' => $tirada,
|
||||
@ -424,7 +428,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'merma_cubierta' => $extra_info['merma'],
|
||||
'paginasCuadernillo' => $data['paginasCuadernillo'],
|
||||
|
||||
'pos_paginas_color' => $data['interior']['pos_paginas_color'],
|
||||
'comp_pos_paginas_color' => $data['interior']['pos_paginas_color'],
|
||||
'paginas_color_consecutivas' => $data['interior']['paginas_color_consecutivas'],
|
||||
'papel_interior_diferente' => $data['interior']['papelInteriorDiferente'],
|
||||
|
||||
@ -495,29 +499,45 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
if (is_array($data)) {
|
||||
// -- INTERIOR --
|
||||
// Si hay negro
|
||||
if (intval($data['interior']['paginas']) > intval($data['interior']['paginasColor'])) {
|
||||
if (intval($data['interior']['paginas']) > intval($data['interior']['paginas_color'])) {
|
||||
|
||||
if ($data['isHq'])
|
||||
$key = 'bnhq';
|
||||
else
|
||||
$key = 'bn';
|
||||
if (array_key_exists('id', $data['interior']['papel_generico'])) {
|
||||
$papel_id = intval($data['interior']['papel_generico']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']);
|
||||
} else {
|
||||
$papel_id = intval($data['interior']['papel_generico']['negro']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']['negro']);
|
||||
}
|
||||
|
||||
|
||||
$values[$key] = array(
|
||||
'paginas' => intval($data['interior']['paginas']) - intval(intval($data['interior']['paginasColor'])),
|
||||
'papel_id' => intval($data['interior']['papel_generico']['id']),
|
||||
'gramaje' => intval($data['interior']['gramaje']),
|
||||
'paginas' => intval($data['interior']['paginas']) - intval(intval($data['interior']['paginas_color'])),
|
||||
'papel_id' => $papel_id,
|
||||
'gramaje' => $gramaje,
|
||||
);
|
||||
}
|
||||
// Si hay color
|
||||
if (intval($data['interior']['paginasColor']) > 0) {
|
||||
if (intval($data['interior']['paginas_color']) > 0) {
|
||||
|
||||
if ($data['isHq'])
|
||||
$key = 'colorhq';
|
||||
else
|
||||
$key = 'color';
|
||||
if (array_key_exists('id', $data['interior']['papel_generico'])) {
|
||||
$papel_id = intval($data['interior']['papel_generico']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']);
|
||||
} else {
|
||||
$papel_id = intval($data['interior']['papel_generico']['color']['id']);
|
||||
$gramaje = intval($data['interior']['gramaje']['color']);
|
||||
}
|
||||
$values[$key] = array(
|
||||
'paginas' => intval(intval($data['interior']['paginasColor'])),
|
||||
'papel_id' => intval($data['interior']['papel_generico']['id']),
|
||||
'gramaje' => intval($data['interior']['gramaje']),
|
||||
'paginas' => intval(intval($data['interior']['paginas_color'])),
|
||||
'papel_id' => $papel_id,
|
||||
'gramaje' => $gramaje,
|
||||
);
|
||||
}
|
||||
|
||||
@ -555,7 +575,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
$builder = $this->db
|
||||
->table($this->table . " t1")
|
||||
->select(
|
||||
"t1.id AS numero, t1.tipo_impresion_id as tipo, t1.tirada AS unidades, t1.total_aceptado as total, t1.paginas AS paginas,
|
||||
"t1.id AS numero, t1.tipo_impresion_id as tipo, t1.tirada AS unidades, t1.total_aceptado as total, t1.paginas AS paginas,
|
||||
t1.titulo AS titulo, t1.autor AS autor, t1.isbn AS isbn,
|
||||
t1.papel_formato_id AS papel_formato_id, t1.papel_formato_personalizado AS papel_formato_personalizado,
|
||||
t1.papel_formato_ancho AS papel_formato_ancho, t1.papel_formato_alto AS papel_formato_alto,
|
||||
@ -563,7 +583,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
t3.codigo AS codigo_encuadernacion,
|
||||
t1.solapas AS solapas_cubierta, CAST(t1.solapas_ancho AS INT) AS solapas_ancho_cubierta,
|
||||
t1.solapas_sobrecubierta AS solapas_sobrecubierta, CAST(t1.solapas_ancho_sobrecubierta AS INT) AS solapas_ancho_sobrecubierta,"
|
||||
);
|
||||
);
|
||||
$builder->join("lg_papel_formato t2", "t1.papel_formato_id = t2.id", "left");
|
||||
$builder->join("tipos_presupuestos t3", "t1.tipo_impresion_id = t3.id", "left");
|
||||
$builder->where("t1.is_deleted", 0);
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<label for="autor" class="form-label">
|
||||
<?= lang('Presupuestos.autor') ?>
|
||||
</label>
|
||||
<input type="text" id="autor" placeholder="Autor" name="autor" maxLength="150" class="form-control" value="">
|
||||
<input type="text" id="autor" placeholder="Autor" name="autor" maxLength="150" class="form-control text-center" value="">
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center">
|
||||
|
||||
@ -354,11 +354,11 @@ class DatosGenerales {
|
||||
if (datos.tirada4)
|
||||
this.tirada4.val(parseInt(datos.tirada4));
|
||||
|
||||
if (datos.checkFormatoPersonalizado) {
|
||||
if (datos.papelFormatoPersonalizado) {
|
||||
this.checkFormatoPersonalizado.prop(':checked', datos.checkFormatoPersonalizado);
|
||||
this.checkFormatoPersonalizado.trigger('change');
|
||||
this.papel_formato_alto.val(datos.papelFormatoAlto);
|
||||
this.papel_formato_ancho.val(datos.papelFormatoAncho);
|
||||
this.altoPersonalizado.val(datos.papelFormatoAlto);
|
||||
this.anchoPersonalizado.val(datos.papelFormatoAncho);
|
||||
}
|
||||
else {
|
||||
this.formatoLibro.setOption(datos.papelFormatoId, datos.papelFormatoNombre);
|
||||
|
||||
1259
xdebug.log
1259
xdebug.log
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user