mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'dev/api_il_2' into 'main'
Dev/api il 2 See merge request jjimenez/safekat!563
This commit is contained in:
@ -984,13 +984,8 @@ $routes->group(
|
||||
'filter' => 'cors'
|
||||
]);
|
||||
|
||||
$routes->options('items', static function () { });
|
||||
$routes->options('items/(:any)', static function () { });
|
||||
|
||||
$routes->post("calcular", 'ImprimelibrosApi::calcular');
|
||||
|
||||
|
||||
|
||||
$routes->post("guardar", 'ImprimelibrosApi::guardar');
|
||||
// ...
|
||||
}
|
||||
);
|
||||
|
||||
@ -25,111 +25,74 @@ class ImprimelibrosApi extends ResourceController
|
||||
{
|
||||
helper(['form']);
|
||||
|
||||
$jsonData = json_decode($this->request->getBody(), true);
|
||||
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
return $this->respond(
|
||||
[
|
||||
'status' => 400,
|
||||
'error' => 'Invalid JSON format'
|
||||
],
|
||||
400
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Access the entire POST data
|
||||
$post_data = $jsonData;
|
||||
|
||||
//return $this->respond(var_dump($post_data));
|
||||
|
||||
// Instancia de presupuesto cliente
|
||||
$presupuestocliente = new Presupuestocliente();
|
||||
$response = $presupuestocliente->calcular($post_data);
|
||||
|
||||
if (isset($response['tiradas'])) {
|
||||
|
||||
$response = [
|
||||
'status' => 200,
|
||||
'error' => null,
|
||||
'data' => [
|
||||
'tiradas' => $response['tiradas'],
|
||||
'precios' => $response['precio_u']
|
||||
]
|
||||
];
|
||||
}else{
|
||||
$response = [
|
||||
'status' => 400,
|
||||
'error' => $response
|
||||
];
|
||||
|
||||
}
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
|
||||
public function guardar()
|
||||
{
|
||||
helper(['form']);
|
||||
|
||||
// Access the entire POST data
|
||||
$post_data = $this->request->getJSON(true);
|
||||
|
||||
//return $this->respond(var_dump($post_data));
|
||||
|
||||
$data_tmp = array
|
||||
(
|
||||
'clienteId' => 1870,
|
||||
'tamanio' => array
|
||||
(
|
||||
'ancho' => 170,
|
||||
'alto' => 240
|
||||
),
|
||||
'tirada' => array
|
||||
(
|
||||
'0' => 50,
|
||||
'1' => 100,
|
||||
|
||||
),
|
||||
'paginas' => 320,
|
||||
'paginasColor' => 0,
|
||||
'pagColorConsecutivas' => 0,
|
||||
'papelInteriorDiferente' => 0,
|
||||
'paginasCuadernillo' => 32,
|
||||
'tipo' => 'cosido',
|
||||
'isColor' => 0,
|
||||
'isHq' => 0,
|
||||
'interior' => array
|
||||
(
|
||||
'papelInterior' => 3,
|
||||
'gramajeInterior' => 80
|
||||
),
|
||||
'guardas' => array
|
||||
(
|
||||
'papel' => 'OFF1',
|
||||
'gramaje' => 170,
|
||||
'caras' => 8
|
||||
),
|
||||
'posPaginasColor' => null,
|
||||
'prototipo' => 0,
|
||||
'ferro' => 0,
|
||||
'ferroDigital' => 0,
|
||||
'marcapaginas' => 0,
|
||||
'retractilado' => 0,
|
||||
'retractilado5' => 0,
|
||||
'eb' => 10.5,
|
||||
'cubierta' => array
|
||||
(
|
||||
'tipoCubierta' => 'tapaDura',
|
||||
'papelCubierta' => 2,
|
||||
'gramajeCubierta' => 170,
|
||||
'cabezada' => 'WHI',
|
||||
'acabado' => 1,
|
||||
'carasImpresion' => 2,
|
||||
'lomoRedondo' => 0,
|
||||
'solapas' => 0,
|
||||
),
|
||||
'sobrecubierta' => false,
|
||||
'faja' => false,
|
||||
'excluirRotativa' => 0,
|
||||
'ivaReducido' => 1,
|
||||
'servicios' => array
|
||||
(
|
||||
'prototipo' => 0,
|
||||
'ferro' => 0,
|
||||
'ferroDigital' => 0,
|
||||
'marcapaginas' => 0,
|
||||
'retractilado' => 0,
|
||||
'retractilado5' => 0
|
||||
),
|
||||
'entrega_taller' => 1,
|
||||
'id' => 334
|
||||
);
|
||||
|
||||
// Crear el cliente HTTP
|
||||
$client = \Config\Services::curlrequest();
|
||||
|
||||
// Instancia de presupuesto cliente
|
||||
$presupuestocliente = new Presupuestocliente();
|
||||
$response = $presupuestocliente->calcular($post_data);
|
||||
$response = $presupuestocliente->guardar($post_data);
|
||||
|
||||
return $this->respond($response);
|
||||
|
||||
$response = [
|
||||
'status' => 200,
|
||||
'error' => null,
|
||||
'messages' => [
|
||||
'precio' => $response['precio_u']
|
||||
'data' => [
|
||||
'tiradas' => $response['tiradas'],
|
||||
'precios' => $response['precio_u']
|
||||
]
|
||||
];
|
||||
return $this->respond($response);
|
||||
}
|
||||
|
||||
public function delete($id = null)
|
||||
{
|
||||
$model = new ItemModel();
|
||||
$find = $model->find(['id' => $id]);
|
||||
if (!$find)
|
||||
return $this->failNotFound('No Data Found');
|
||||
$model->delete($id);
|
||||
|
||||
$response = [
|
||||
'status' => 200,
|
||||
'error' => null,
|
||||
'messages' => [
|
||||
'success' => 'Data deleted'
|
||||
]
|
||||
];
|
||||
return $this->respond($response);
|
||||
}
|
||||
}
|
||||
|
||||
@ -443,7 +443,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
try {
|
||||
|
||||
$reqData = $this->request->getPost();
|
||||
//$reqData = $this->request->getPost();
|
||||
$modelPapelGenerico = new PapelGenericoModel();
|
||||
|
||||
|
||||
@ -459,7 +459,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$tipo = $reqData['tipo'];
|
||||
|
||||
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? null;
|
||||
$papelInteriorDiferente = intval($reqData['papelInteriorDiferente']) ?? null;
|
||||
$papelInteriorDiferente = intval($reqData['papelInteriorDiferente'] ?? null);
|
||||
|
||||
$isColor = intval($reqData['isColor']) ?? 0;
|
||||
$isHq = intval($reqData['isHq']) ?? 0;
|
||||
@ -929,13 +929,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
public function guardar()
|
||||
public function guardar($data = -1)
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
if ($this->request) {
|
||||
if ($this->request->isAJAX())
|
||||
$reqData = $this->request->getPost();
|
||||
} else {
|
||||
if ($data == -1) {
|
||||
return "Error: sin datos";
|
||||
}
|
||||
$reqData = $data;
|
||||
}
|
||||
|
||||
$modelPapelGenerico = new PapelGenericoModel();
|
||||
|
||||
$reqData = $this->request->getPost();
|
||||
//$reqData = $this->request->getPost();
|
||||
|
||||
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||
|
||||
@ -964,18 +973,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
$tipo = $reqData['tipo'];
|
||||
|
||||
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? null;
|
||||
$papelInteriorDiferente = intval($reqData['papelInteriorDiferente']) ?? null;
|
||||
$paginasCuadernillo = $reqData['paginasCuadernillo'] ?? 32;
|
||||
$papelInteriorDiferente = intval($reqData['papelInteriorDiferente'] ?? null);
|
||||
|
||||
$isColor = intval($reqData['isColor']) ?? 0;
|
||||
$isHq = intval($reqData['isHq']) ?? 0;
|
||||
|
||||
$prototipo = intval($reqData['prototipo']) ?? 0;
|
||||
$ferro = intval($reqData['ferro']) ?? 0;
|
||||
$ferroDigital = intval($reqData['ferroDigital']) ?? 0;
|
||||
$marcapaginas = intval($reqData['marcapaginas']) ?? 0;
|
||||
$retractilado = intval($reqData['retractilado']) ?? 0;
|
||||
$retractilado5 = intval($reqData['retractilado5']) ?? 0;
|
||||
$prototipo = intval($reqData['prototipo'] ?? 0);
|
||||
$ferro = intval($reqData['ferro'] ?? 0);
|
||||
$ferroDigital = intval($reqData['ferroDigital'] ?? 0);
|
||||
$marcapaginas = intval($reqData['marcapaginas'] ?? 0);
|
||||
$retractilado = intval($reqData['retractilado'] ?? 0);
|
||||
$retractilado5 = intval($reqData['retractilado5'] ?? 0);
|
||||
|
||||
$interior = $reqData['interior'] ?? [];
|
||||
$cubierta = $reqData['cubierta'] ?? [];
|
||||
@ -984,7 +993,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$faja = $reqData['faja'] ?? [];
|
||||
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
|
||||
$excluirRotativa = intval($excluirRotativa);
|
||||
$ivaReducido = intval($reqData['ivaReducido']) ?? 0;
|
||||
$ivaReducido = intval($reqData['ivaReducido'] ?? 0);
|
||||
|
||||
$direcciones = $reqData['direcciones'] ?? [];
|
||||
|
||||
@ -1016,7 +1025,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$cubierta = [
|
||||
'papel_generico_cubierta' => $modelPapelGenerico->where('id', $cubierta['papelCubierta'])->first()->toArray(),
|
||||
'gramajeCubierta' => intval($cubierta['gramajeCubierta']),
|
||||
'carasCubierta' => intval($cubierta['carasImpresion'] ?? 0),
|
||||
'carasCubierta' => intval($cubierta['carasImpresion'] ?? 2),
|
||||
'solapasCubierta' => intval($cubierta['solapas'] ?? 0) == 1 ? intval($cubierta['tamanioSolapas']) : 0,
|
||||
'acabado' => $cubierta['acabado'] ?? 0,
|
||||
'lomoRedondo' => $cubierta['lomoRedondo'] ?? 0,
|
||||
@ -1302,7 +1311,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
|
||||
}
|
||||
if (is_array($faja) && intval($faja['acabado']) > 0) {
|
||||
if (is_array($faja) && $faja !== [] && intval($faja['acabado']) > 0) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa(intval($faja['acabado']), intval($selected_tirada), -1, $POD);
|
||||
|
||||
@ -1399,13 +1408,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
PresupuestoService::crearPedido($id);
|
||||
}
|
||||
|
||||
if ($this->request) {
|
||||
|
||||
return $this->respond([
|
||||
'status' => $id,
|
||||
'url' => site_url('presupuestos/presupuestocliente/edit'),
|
||||
'message' => lang('Basic.global.saveSuccess', [lang('Basic.global.record')]),
|
||||
]);
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}else{
|
||||
return [
|
||||
'sk_id' => $id,
|
||||
'sk_url' => site_url('presupuestos/presupuestocliente/edit/' . $id)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@ -2136,7 +2150,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($acabadoCubierta[0]->total), 2);
|
||||
$base = round(floatval($acabadoCubierta[0]->total / (1 + $acabadoCubierta[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($acabadoCubierta[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
@ -2227,7 +2241,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($acabadoSobrecubierta[0]->total), 2);
|
||||
$base = round(floatval($acabadoSobrecubierta[0]->total / (1 + $acabadoSobrecubierta[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($acabadoSobrecubierta[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
@ -2380,7 +2394,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($acabadoFaja[0]->total), 2);
|
||||
$base = round(floatval($acabadoFaja[0]->total / (1 + $acabadoFaja[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($acabadoFaja[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
@ -2434,8 +2448,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($servicio->total), 2);
|
||||
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2)*$datosPedido->tirada;
|
||||
$margenServicios += round(floatval($servicio->total -$base), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($servicio->total - $base), 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2471,8 +2485,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($servicio->total), 2);
|
||||
$base = round(floatval($servicio->total / (1 + $servicio->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2)*$datosPedido->tirada;
|
||||
$margenServicios += round(floatval($servicio->total -$base), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($servicio->total - $base), 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2540,6 +2554,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
if ($datos_entrada['servicios'] !== []) {
|
||||
|
||||
if ($datos_entrada['servicios']['retractilado']) // acabado
|
||||
array_push($servicios, $servicio_retractilado);
|
||||
if ($datos_entrada['servicios']['retractilado5']) // acabado
|
||||
@ -2554,6 +2570,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
array_push($servicios, $servicio_solapas_sobrecubierta);
|
||||
if (!is_null($faja) && $faja && $faja != false) // Si hay faja, siempre con solapas
|
||||
array_push($servicios, $servicio_solapas_faja);
|
||||
}
|
||||
|
||||
|
||||
foreach ($servicios as $servicio) {
|
||||
@ -2588,7 +2605,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
|
||||
@ -2620,7 +2637,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->precio), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
} else if ($servicio->nombre == 'solapas_cubierta' || $servicio->nombre == 'solapas_sobrecubierta' || $servicio->nombre == 'solapas_faja') {
|
||||
@ -2654,7 +2671,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
@ -2692,7 +2709,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
@ -2729,12 +2746,12 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($faja) && ($faja['solapas'] > 0 && intval($linea_faja['dimension_desarrollo']['ancho']) > 630)) {
|
||||
if (is_array($faja) && $faja !== [] && ($faja['solapas'] > 0 && intval($linea_faja['dimension_desarrollo']['ancho']) > 630)) {
|
||||
|
||||
// Servicios manipulado
|
||||
$resultado = PresupuestoCLienteService::getServiciosManipulado([
|
||||
@ -2766,7 +2783,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($extra_info) {
|
||||
$totalServicios += round(floatval($resultado[0]->total), 2);
|
||||
$base = round(floatval($resultado[0]->total / (1 + $resultado[0]->margen / 100.0)), 2);
|
||||
$base = round(floatval($base / $datosPedido->tirada) , 2)* $datosPedido->tirada;
|
||||
$base = round(floatval($base / $datosPedido->tirada), 2) * $datosPedido->tirada;
|
||||
$margenServicios += round(floatval($resultado[0]->total - $base), 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -450,12 +450,12 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
'comparador_json_data' => $this->generateJson($data),
|
||||
|
||||
'faja_color' => is_array($data['faja']) ? 1 : 0,
|
||||
'solapas_ancho_faja_color' => is_array($data['faja']) ? $data['faja']['solapas'] : 60,
|
||||
'alto_faja_color' => is_array($data['faja']) ? $data['faja']['alto'] : 50,
|
||||
'solapas_ancho_faja_color' => is_array($data['faja']) && $data['faja'] !== [] ? $data['faja']['solapas'] : 60,
|
||||
'alto_faja_color' => is_array($data['faja']) && $data['faja'] !== [] ? $data['faja']['alto'] : 50,
|
||||
|
||||
'acabado_cubierta_id' => $data['cubierta']['acabado'],
|
||||
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['acabado'],
|
||||
'acabado_faja_id' => is_array($data['faja']) ? $data['faja']['acabado'] : 0,
|
||||
'acabado_faja_id' => is_array($data['faja']) && $data['faja'] !== [] ? $data['faja']['acabado'] : 0,
|
||||
|
||||
'comp_tipo_impresion' => $data['isHq'] ? ($data['isColor'] ? 'colorhq' : 'negrohq') : ($data['isColor'] ? 'color' : 'negro'),
|
||||
|
||||
@ -582,7 +582,7 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
}
|
||||
|
||||
// -- Faja --
|
||||
if ($data['faja'] != 0) {
|
||||
if ($data['faja'] != 0 && $data['faja'] !== []) {
|
||||
$values['faja'] = array(
|
||||
'papel_id' => intval($data['faja']['papel']),
|
||||
'gramaje' => intval($data['faja']['gramaje']),
|
||||
|
||||
Reference in New Issue
Block a user