Implementacion API IL guardar

This commit is contained in:
imnavajas
2025-02-21 14:02:47 +01:00
parent 091088085c
commit feea7d7437
4 changed files with 528 additions and 484 deletions

View File

@ -970,7 +970,7 @@ $routes->group('produccion', ['namespace' => 'App\Controllers\Produccion'], func
* -------------------------------------------------------------------- * --------------------------------------------------------------------
*/ */
$routes->post('auth/jwt', '\App\Controllers\Sistema\AuthAPIController::jwtLogin'); $routes->post('auth/jwt', '\App\Controllers\Sistema\AuthAPIController::jwtLogin');
$routes->group( $routes->group(
'api', 'api',
[ [
@ -984,13 +984,8 @@ $routes->group(
'filter' => 'cors' 'filter' => 'cors'
]); ]);
$routes->options('items', static function () { });
$routes->options('items/(:any)', static function () { });
$routes->post("calcular", 'ImprimelibrosApi::calcular'); $routes->post("calcular", 'ImprimelibrosApi::calcular');
$routes->post("guardar", 'ImprimelibrosApi::guardar');
// ... // ...
} }
); );

View File

@ -25,6 +25,53 @@ class ImprimelibrosApi extends ResourceController
{ {
helper(['form']); 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 // Access the entire POST data
$post_data = $this->request->getJSON(true); $post_data = $this->request->getJSON(true);
@ -32,7 +79,9 @@ class ImprimelibrosApi extends ResourceController
// Instancia de presupuesto cliente // Instancia de presupuesto cliente
$presupuestocliente = new Presupuestocliente(); $presupuestocliente = new Presupuestocliente();
$response = $presupuestocliente->calcular($post_data); $response = $presupuestocliente->guardar($post_data);
return $this->respond($response);
$response = [ $response = [
'status' => 200, 'status' => 200,
@ -45,21 +94,5 @@ class ImprimelibrosApi extends ResourceController
return $this->respond($response); 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);
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -450,12 +450,12 @@ class PresupuestoModel extends \App\Models\BaseModel
'comparador_json_data' => $this->generateJson($data), 'comparador_json_data' => $this->generateJson($data),
'faja_color' => is_array($data['faja']) ? 1 : 0, 'faja_color' => is_array($data['faja']) ? 1 : 0,
'solapas_ancho_faja_color' => is_array($data['faja']) ? $data['faja']['solapas'] : 60, 'solapas_ancho_faja_color' => is_array($data['faja']) && $data['faja'] !== [] ? $data['faja']['solapas'] : 60,
'alto_faja_color' => is_array($data['faja']) ? $data['faja']['alto'] : 50, 'alto_faja_color' => is_array($data['faja']) && $data['faja'] !== [] ? $data['faja']['alto'] : 50,
'acabado_cubierta_id' => $data['cubierta']['acabado'], 'acabado_cubierta_id' => $data['cubierta']['acabado'],
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['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'), 'comp_tipo_impresion' => $data['isHq'] ? ($data['isColor'] ? 'colorhq' : 'negrohq') : ($data['isColor'] ? 'color' : 'negro'),
@ -582,7 +582,7 @@ class PresupuestoModel extends \App\Models\BaseModel
} }
// -- Faja -- // -- Faja --
if ($data['faja'] != 0) { if ($data['faja'] != 0 && $data['faja'] !== []) {
$values['faja'] = array( $values['faja'] = array(
'papel_id' => intval($data['faja']['papel']), 'papel_id' => intval($data['faja']['papel']),
'gramaje' => intval($data['faja']['gramaje']), 'gramaje' => intval($data['faja']['gramaje']),