trabajando en cubierta

This commit is contained in:
2024-12-18 22:32:23 +01:00
parent bb138019d5
commit 8dca0936c5
5 changed files with 768 additions and 709 deletions

View File

@ -82,9 +82,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
{
if ($this->request->getPost()) :
if ($this->request->getPost()):
$nullIfEmpty = true; // !(phpversion() >= '8.1');
@ -104,36 +104,36 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
$noException = true;
if ($successfulResult = $this->canValidate($this->model->validationRulesAdd, $this->model->validationMessagesAdd)) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($successfulResult = $this->canValidate($this->model->validationRulesAdd, $this->model->validationMessagesAdd)): // if ($successfulResult = $this->validate($this->formValidationRules) ) :
if ($this->canValidate($this->model->validationRulesAdd, $this->model->validationMessagesAdd)) :
if ($this->canValidate($this->model->validationRulesAdd, $this->model->validationMessagesAdd)):
try {
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else :
else:
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Presupuestos.presupuesto'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
endif;
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
endif;
if ($noException && $successfulResult) :
if ($noException && $successfulResult):
$id = $this->model->db->insertID();
$message = lang('Basic.global.saveSuccess', [lang('Basic.global.record')]) . '.';
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
if ($thenRedirect):
if (!empty($this->indexRoute)):
//return redirect()->to(route_to( $this->indexRoute ) )->with('sweet-success', $message);
return redirect()->to(site_url('presupuestoadmin/edit/' . $id))->with('sweet-success', $message);
else :
else:
return $this->redirect2listView('sweet-success', $message);
endif;
else :
else:
$this->session->setFlashData('sweet-success', $message);
endif;
@ -167,20 +167,20 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
public function edit($requestedId = null)
{
if ($requestedId == null) :
if ($requestedId == null):
return $this->redirect2listView();
endif;
$id = filter_var($requestedId, FILTER_SANITIZE_URL);
$presupuestoEntity = $this->model->find($id);
if ($presupuestoEntity == false) :
if ($presupuestoEntity == false):
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Presupuestos.presupuesto')), $id]);
return $this->redirect2listView('sweet-error', $message);
endif;
if ($this->request->getPost()) :
if ($this->request->getPost()):
$nullIfEmpty = true; // !(phpversion() >= '8.1');
@ -252,16 +252,16 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$successfulResult = false;
} else {
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) )
if ($successfulResult = $this->canValidate()): // if ($successfulResult = $this->validate($this->formValidationRules) )
if ($this->canValidate()) :
if ($this->canValidate()):
try {
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData);
} catch (\Exception $e) {
$noException = false;
$this->dealWithException($e);
}
else :
else:
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Presupuestos.presupuesto'))]);
$this->session->setFlashdata('formErrors', $this->model->errors());
@ -273,16 +273,16 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
endif;
}
if ($noException && $successfulResult) :
if ($noException && $successfulResult):
$id = $presupuestoEntity->id ?? $id;
$message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Presupuestos.presupuesto'))]) . '.';
// $message .= anchor("admin/presupuestos/{$id}/edit", lang('Basic.global.continueEditing') . '?');
//$message = ucfirst(str_replace("'", "\'", $message));
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
if ($thenRedirect):
if (!empty($this->indexRoute)):
return redirect()->to(route_to($this->indexRoute))->with('sweet-success', $message);
else :
else:
if ($this->request->isAJAX()) {
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
@ -296,14 +296,14 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
endif;
else :
else:
if ($this->request->isAJAX()) {
if($presupuestoEntity->estado_id==1 && $presupuestoEntity->confirmar==1){
if ($presupuestoEntity->estado_id == 1 && $presupuestoEntity->confirmar == 1) {
$this->model->confirmarPresupuesto($id);
PresupuestoService::crearPedido($id);
}
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
@ -345,7 +345,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
// Lineas Presupuesto
[$cambios_lineas, $this->viewData['lineasPresupuesto']] = $this->getLineasPresupuesto($presupuestoEntity);
$this->viewData['presupuestoEntity']->cambios_lineas=$cambios_lineas;
$this->viewData['presupuestoEntity']->cambios_lineas = $cambios_lineas;
// Servicios
$this->viewData['serviciosPreimpresion'] = $this->getServiciosPreimpresion();
@ -353,10 +353,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$this->viewData['serviciosManipulado'] = $this->getServiciosManipulado();
$this->viewData['serviciosAcabado'] = $this->getServiciosAcabado();
$this->viewData['serviciosExtra'] = $this->getServiciosExtra();
[$cambios_en_servicios, $servicios] = $this->getLineasServicios($presupuestoEntity);
$this->viewData['presupuestoEntity']->cambios_servicios=$cambios_en_servicios;
$this->viewData['presupuestoEntity']->cambios_servicios = $cambios_en_servicios;
$this->viewData['serviciosEncuadernacionList'] = $servicios->serviciosEncuadernacion;
$this->viewData['serviciosAcabadosList'] = $servicios->serviciosAcabado;
$this->viewData['serviciosManipuladoList'] = $servicios->serviciosManipulado;
@ -365,8 +365,8 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
// Direciones presupuesto
[$cambios_en_direcciones, $this->viewData['direccionesList']] = $this->getLineasDirecciones($presupuestoEntity);
$this->viewData['presupuestoEntity']->cambios_direcciones=$cambios_en_direcciones;
$this->viewData['presupuestoEntity']->cambios_direcciones = $cambios_en_direcciones;
$this->viewData['POD'] = $this->getPOD();
$this->viewData['serviciosAutomaticos'] = [
@ -386,7 +386,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
// Si se ha llamado a esta funcion porque se ha duplicado el presupuesto
// se actualiza la bbdd para que sólo ejecute algunas funciones una vez
if($presupuestoEntity->is_duplicado){
if ($presupuestoEntity->is_duplicado) {
$this->model->removeIsDuplicado($presupuestoEntity->id);
}
@ -406,22 +406,23 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
public function delete($id = null)
{
if (!empty(static::$pluralObjectNameCc) && !empty(static::$singularObjectNameCc)) {
$objName = mb_strtolower(lang(ucfirst(static::$pluralObjectNameCc).'.'.static::$singularObjectNameCc));
$objName = mb_strtolower(lang(ucfirst(static::$pluralObjectNameCc) . '.' . static::$singularObjectNameCc));
} else {
$objName = lang('Basic.global.record');
}
if (!$this->soft_delete){
if (!$this->soft_delete) {
if (!$this->model->delete($id)) {
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
}
}
else{
} else {
$datetime = (new \CodeIgniter\I18n\Time("now"));
$rawResult = $this->model->where('id',$id)
->set(['deleted_at' => $datetime->format('Y-m-d H:i:s'),
'is_deleted' => $this->delete_flag])
$rawResult = $this->model->where('id', $id)
->set([
'deleted_at' => $datetime->format('Y-m-d H:i:s'),
'is_deleted' => $this->delete_flag
])
->update();
if (!$rawResult) {
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
@ -463,7 +464,8 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return $response;
}
public function cargar($id){
public function cargar($id)
{
if ($this->request->isAJAX()) {
$modelPapelFormato = new PapelFormatoModel();
@ -474,12 +476,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$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));
@ -495,7 +497,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosGenerales']['cliente']['nombre'] = $modelCliente->getNombre($presupuesto->cliente_id);
$data['datosGenerales']['referenciaCliente'] = $presupuesto->referencia_cliente;
$data['datosLibro']['papelFormatoId'] = $presupuesto->papel_formato_id;
$data['datosLibro']['papelFormatoNombre'] = $modelPapelFormato->getNombre($presupuesto->papel_formato_id);
$data['datosLibro']['papelFormatoPersonalizado'] = $presupuesto->papel_formato_personalizado;
@ -536,7 +538,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre'];
}
$data['comparador']['posPagColor'] = $presupuesto->comp_pos_paginas_color;
/*
@ -609,9 +611,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
public function obtenerComparadorPlana(){
public function obtenerComparadorInterior()
{
if($this->request->isAJAX()){
if ($this->request->isAJAX()) {
$cliente_id = $this->request->getPost('cliente_id');
$datosPedido = $this->request->getPost('datosPedido');
@ -623,9 +626,11 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$tipo_maquina = $this->request->getPost('tipo_maquina');
$data = array(
'cliente_id' => $cliente_id,
'datosPedido' => (object)$datosPedido,
'datosPedido' => (object) $datosPedido,
'papel_generico' => $papel_generico,
'gramaje' => $gramaje,
'papelInteriorDiferente' => true,
@ -636,15 +641,94 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'uso' => $uso
);
$data = PresupuestoClienteService::obtenerPresupuestoClienteInterior($data, true);
if ($tipo_maquina == 'rotativa') {
$data['papelInteriorDiferente'] = false;
$lineas = PresupuestoClienteService::obtenerPresupuestoClienteInteriorRotativa($data, true);
} else
$lineas = PresupuestoClienteService::obtenerPresupuestoClienteInterior($data, true);
return $this->respond(
[
'status' => 1,
'data' => $data
'data' => $lineas
]
);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
else{
}
public function obtenerComparadorExteriores()
{
$resultado = [];
if ($this->request->isAJAX()) {
$cubierta = $this->request->getPost('cubierta') ?? false;
$sobrecubierta = $this->request->getPost('sobrecubierta') ?? false;
// cubierta y sobrecubierta siempre colorhq
$isColor = true;
$isHq = true;
if ($cubierta) {
$cliente_id = $cubierta['cliente_id'];
$datosPedido = $cubierta['datosPedido'];
$papel_generico = $cubierta['papel_generico'];
$gramaje = $cubierta['gramaje'];
$paginas_color = $this->request->getPost('paginas_color') ?? 0;
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$lomoRedondo = $cubierta['lomoRedondo'] ?? false;
$data = array(
'cliente_id' => $cliente_id,
'datosPedido' => (object) $datosPedido,
'papel_generico' => $papel_generico,
'gramaje' => $gramaje,
'paginas_color' => $paginas_color,
'isColor' => $isColor,
'isHq' => $isHq,
'tipo_impresion_id' => $tipo_impresion_id,
'uso' => $uso,
'lomoRedondo' => $lomoRedondo
);
$lineas = PresupuestoClienteService::obtenerCubierta($data, true);
$resultado['cubierta'] = $lineas;
}
if ($sobrecubierta) {
$cliente_id = $sobrecubierta['cliente_id'];
$datosPedido = $sobrecubierta['datosPedido'];
$papel_generico = $sobrecubierta['papel_generico'];
$gramaje = $sobrecubierta['gramaje'];
$paginas_color = $this->request->getPost('paginas_color') ?? 0;
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$data = array(
'cliente_id' => $cliente_id,
'datosPedido' => (object) $datosPedido,
'papel_generico' => $papel_generico,
'gramaje' => $gramaje,
'paginas_color' => $paginas_color,
'isColor' => $isColor,
'isHq' => $isHq,
'tipo_impresion_id' => $tipo_impresion_id,
'uso' => $uso
);
$lineas = PresupuestoClienteService::obtenerSobrecubierta($data, true);
$resultado['sobrecubierta'] = $lineas;
}
return $this->respond(
[
'status' => 1,
'data' => $resultado
]
);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
@ -687,41 +771,41 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$resourceData = $this->model->getResource($searchValues, $tipo_impresion_id)->orderBy($order1, $dir1)->orderBy($order2, $dir2)
->orderBy($order3, $dir3)->limit($length, $start)->get()->getResultObject();
foreach ($resourceData as $item) :
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100) :
foreach ($resourceData as $item):
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100):
$item->comentarios_pdf = character_limiter($item->comentarios_pdf, 100);
endif;
if (isset($item->causa_cancelacion) && strlen($item->causa_cancelacion) > 100) :
if (isset($item->causa_cancelacion) && strlen($item->causa_cancelacion) > 100):
$item->causa_cancelacion = character_limiter($item->causa_cancelacion, 100);
endif;
if (isset($item->comentarios_cliente) && strlen($item->comentarios_cliente) > 100) :
if (isset($item->comentarios_cliente) && strlen($item->comentarios_cliente) > 100):
$item->comentarios_cliente = character_limiter($item->comentarios_cliente, 100);
endif;
if (isset($item->comentarios_safekat) && strlen($item->comentarios_safekat) > 100) :
if (isset($item->comentarios_safekat) && strlen($item->comentarios_safekat) > 100):
$item->comentarios_safekat = character_limiter($item->comentarios_safekat, 100);
endif;
if (isset($item->comentarios_tarifa) && strlen($item->comentarios_tarifa) > 100) :
if (isset($item->comentarios_tarifa) && strlen($item->comentarios_tarifa) > 100):
$item->comentarios_tarifa = character_limiter($item->comentarios_tarifa, 100);
endif;
if (isset($item->comentarios_produccion) && strlen($item->comentarios_produccion) > 100) :
if (isset($item->comentarios_produccion) && strlen($item->comentarios_produccion) > 100):
$item->comentarios_produccion = character_limiter($item->comentarios_produccion, 100);
endif;
if (isset($item->tirada_alternativa_json_data) && strlen($item->tirada_alternativa_json_data) > 100) :
if (isset($item->tirada_alternativa_json_data) && strlen($item->tirada_alternativa_json_data) > 100):
$item->tirada_alternativa_json_data = character_limiter($item->tirada_alternativa_json_data, 100);
endif;
if (isset($item->titulo) && strlen($item->titulo) > 100) :
if (isset($item->titulo) && strlen($item->titulo) > 100):
$item->titulo = character_limiter($item->titulo, 100);
endif;
if (isset($item->paginas_color_posicion) && strlen($item->paginas_color_posicion) > 100) :
if (isset($item->paginas_color_posicion) && strlen($item->paginas_color_posicion) > 100):
$item->paginas_color_posicion = character_limiter($item->paginas_color_posicion, 100);
endif;
if (isset($item->aprobado_json_data) && strlen($item->aprobado_json_data) > 100) :
if (isset($item->aprobado_json_data) && strlen($item->aprobado_json_data) > 100):
$item->aprobado_json_data = character_limiter($item->aprobado_json_data, 100);
endif;
if (isset($item->comparador_json_data) && strlen($item->comparador_json_data) > 100) :
if (isset($item->comparador_json_data) && strlen($item->comparador_json_data) > 100):
$item->comparador_json_data = character_limiter($item->comparador_json_data, 100);
endif;
if (isset($item->ws_externo_json_data) && strlen($item->ws_externo_json_data) > 100) :
if (isset($item->ws_externo_json_data) && strlen($item->ws_externo_json_data) > 100):
$item->ws_externo_json_data = character_limiter($item->ws_externo_json_data, 100);
endif;
endforeach;
@ -731,7 +815,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$isColor = $reqData['color'] ?? false;
$isHq = $reqData['hq'] ?? false;
$datosPedido = (object)array(
$datosPedido = (object) array(
'paginas' => intval($reqData['paginas']) ?? 0,
'tirada' => intval($reqData['tirada']) ?? 0,
'merma' => intval($reqData['merma']) ?? 0,
@ -757,7 +841,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$datosTipolog = $reqData['negro'] ?? null;
if (!is_null($datosTipolog)) {
$datosTipolog = [];
$data = (object)array(
$data = (object) array(
'negro' => floatval($reqData['negro']) ?? 0,
'cyan' => floatval($reqData['cyan']) ?? 0,
'magenta' => floatval($reqData['magenta']) ?? 0,
@ -801,7 +885,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
} else if ($type == 'interior_rot') {
$paginas = (object)array(
$paginas = (object) array(
'negro' => intval($reqData['paginas_negro'] ?? 0),
'color' => intval($reqData['paginas_color'] ?? 0),
);
@ -809,7 +893,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$datosTipolog = $reqData['negro'] ?? null;
if (!is_null($datosTipolog)) {
$datosTipolog = [];
$data = (object)array(
$data = (object) array(
'negro' => floatval($reqData['negro']) ?? 0,
'cyan' => floatval($reqData['cyan']) ?? 0,
'magenta' => floatval($reqData['magenta']) ?? 0,
@ -828,7 +912,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'cliente_id' => $cliente_id,
'datosTipolog' => $datosTipolog
];
$resourceData = PresupuestoService::obtenerComparadorRotativa($input_data);
} else if ($type == 'cubierta' || $type == 'sobrecubierta') {
@ -844,10 +928,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'papel_generico' => $papel_generico,
'gramaje' => $gramaje,
'isColor' => 1, // Cubierta y sobrecubierta siempre color HQ
'isHq' => 1,
'isHq' => 1,
'cliente_id' => $cliente_id,
);
$resourceData = PresupuestoService::obtenerComparadorPlana($input_data);
}
@ -900,25 +984,22 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
];
return $this->respond($data);
}
else if ($tipo == 'duplicar'){
} else if ($tipo == 'duplicar') {
$presupuesto_id = $reqData['presupuesto_id'] ?? -1;
$result = $this->duplicarPresupuesto($presupuesto_id);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
if($result['success']){
if ($result['success']) {
$data = [
'id' => $result['id'],
$csrfTokenName => $newTokenHash
];
];
return $this->respond($data);
}
else{
} else {
$data = [
'error' => $result['message'],
$csrfTokenName => $newTokenHash
];
];
return $this->respond($data);
}
}
@ -942,7 +1023,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
switch ($tipo_impresion_id) {
// Fresado tapa dura
// Fresado tapa dura
case 1:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleFresadoTD');
$viewData['isCosido'] = 0;
@ -950,7 +1031,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_fresasdo_tapa_dura");
break;
// Fresado tapa blanda
// Fresado tapa blanda
case 2:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleFresadoTB');
$viewData['isCosido'] = 0;
@ -958,7 +1039,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_fresasdo_tapa_blanda");
break;
// Cosido tapa dura
// Cosido tapa dura
case 3:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleCosidoTD');
$viewData['isCosido'] = 1;
@ -966,7 +1047,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_cosido_tapa_dura");
break;
// Cosido tapa blanda
// Cosido tapa blanda
case 4:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleCosidoTB');
$viewData['isCosido'] = 1;
@ -974,7 +1055,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_cosido_tapa_blanda");
break;
// Espiral tapa dura
// Espiral tapa dura
case 5:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleEspiralTD');
$viewData['isCosido'] = 0;
@ -982,7 +1063,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_espiral_tapa_dura");
break;
// Espiral tapa blanda
// Espiral tapa blanda
case 6:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleEspiralTB');
$viewData['isCosido'] = 0;
@ -990,7 +1071,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_espiral_tapa_blanda");
break;
// Wire-o tapa dura
// Wire-o tapa dura
case 7:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleWireoTD');
$viewData['isCosido'] = 0;
@ -998,7 +1079,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_wireo_tapa_dura");
break;
// Wire-o tapa blanda
// Wire-o tapa blanda
case 8:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleWireoTB');
$viewData['isCosido'] = 0;
@ -1006,7 +1087,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$breadcrumbTitle = lang("App.menu_libros_wireo_tapa_blanda");
break;
// Grapado
// Grapado
case 21:
$viewData['pageTitle'] = lang('Presupuestos.moduleTitleGrapado');
$viewData['isCosido'] = 0;
@ -1026,7 +1107,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return $viewData;
}
/**
* Duplica un presupuesto dado por su ID.
@ -1041,67 +1122,68 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
* Si ocurre una excepción, la clave 'success' será false y una clave 'message' contendrá el mensaje de la excepción.
* @throws \Exception Si ocurre un error durante la operación.
*/
private function duplicarPresupuesto($id){
private function duplicarPresupuesto($id)
{
try{
$presupuesto = $this->model->find($id);
$presupuesto->titulo = $presupuesto->titulo .' - ' . lang('Presupuestos.duplicado');
$presupuesto->is_duplicado = 1;
$presupuesto->estado_id = 1;
$new_id = $this->model->insert($presupuesto);
$presupuestoAcabadosModel = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
foreach ($presupuestoAcabadosModel->where('presupuesto_id', $presupuesto->id)->findAll() as $acabado) {
$acabado->presupuesto_id = $new_id;
$presupuestoAcabadosModel->insert($acabado);
}
$presupuestoEncuadernacionesModel = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
foreach ($presupuestoEncuadernacionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $encuadernacion) {
$encuadernacion->presupuesto_id = $new_id;
$presupuestoEncuadernacionesModel->insert($encuadernacion);
}
$presupuestoManipuladosModel = model('App\Models\Presupuestos\PresupuestoManipuladosModel');
foreach ($presupuestoManipuladosModel->where('presupuesto_id', $presupuesto->id)->findAll() as $manipulado) {
$manipulado->presupuesto_id = $new_id;
$presupuestoManipuladosModel->insert($manipulado);
}
$presupuestoPreimpresionesModel = model('App\Models\Presupuestos\PresupuestoPreimpresionesModel');
foreach ($presupuestoPreimpresionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $preimpresion) {
$preimpresion->presupuesto_id = $new_id;
$presupuestoPreimpresionesModel->insert($preimpresion);
}
try {
$presupuestoServiciosExtraModel = model('App\Models\Presupuestos\PresupuestoServiciosExtraModel');
foreach ($presupuestoServiciosExtraModel->where('presupuesto_id', $presupuesto->id)->findAll() as $servicioExtra) {
$servicioExtra->presupuesto_id = $new_id;
$presupuestoServiciosExtraModel->insert($preimpresion);
}
$presupuestoDireccionesModel = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
foreach ($presupuestoDireccionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $direccion) {
$direccion->presupuesto_id = $new_id;
$presupuestoDireccionesModel->insert($direccion);
}
$presupuestoLineaModel = model('App\Models\Presupuestos\PresupuestoLineaModel');
$presupuestoLineaModel->duplicateLineasPresupuesto($presupuesto->id, $new_id);
return [
'success' => true,
'id' => $new_id
];
}catch(\Exception $e){
return [
'success' => false,
'message' => $e->getMessage()
];
}
}
$presupuesto = $this->model->find($id);
$presupuesto->titulo = $presupuesto->titulo . ' - ' . lang('Presupuestos.duplicado');
$presupuesto->is_duplicado = 1;
$presupuesto->estado_id = 1;
$new_id = $this->model->insert($presupuesto);
$presupuestoAcabadosModel = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
foreach ($presupuestoAcabadosModel->where('presupuesto_id', $presupuesto->id)->findAll() as $acabado) {
$acabado->presupuesto_id = $new_id;
$presupuestoAcabadosModel->insert($acabado);
}
$presupuestoEncuadernacionesModel = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
foreach ($presupuestoEncuadernacionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $encuadernacion) {
$encuadernacion->presupuesto_id = $new_id;
$presupuestoEncuadernacionesModel->insert($encuadernacion);
}
$presupuestoManipuladosModel = model('App\Models\Presupuestos\PresupuestoManipuladosModel');
foreach ($presupuestoManipuladosModel->where('presupuesto_id', $presupuesto->id)->findAll() as $manipulado) {
$manipulado->presupuesto_id = $new_id;
$presupuestoManipuladosModel->insert($manipulado);
}
$presupuestoPreimpresionesModel = model('App\Models\Presupuestos\PresupuestoPreimpresionesModel');
foreach ($presupuestoPreimpresionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $preimpresion) {
$preimpresion->presupuesto_id = $new_id;
$presupuestoPreimpresionesModel->insert($preimpresion);
}
$presupuestoServiciosExtraModel = model('App\Models\Presupuestos\PresupuestoServiciosExtraModel');
foreach ($presupuestoServiciosExtraModel->where('presupuesto_id', $presupuesto->id)->findAll() as $servicioExtra) {
$servicioExtra->presupuesto_id = $new_id;
$presupuestoServiciosExtraModel->insert($preimpresion);
}
$presupuestoDireccionesModel = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
foreach ($presupuestoDireccionesModel->where('presupuesto_id', $presupuesto->id)->findAll() as $direccion) {
$direccion->presupuesto_id = $new_id;
$presupuestoDireccionesModel->insert($direccion);
}
$presupuestoLineaModel = model('App\Models\Presupuestos\PresupuestoLineaModel');
$presupuestoLineaModel->duplicateLineasPresupuesto($presupuesto->id, $new_id);
return [
'success' => true,
'id' => $new_id
];
} catch (\Exception $e) {
return [
'success' => false,
'message' => $e->getMessage()
];
}
}
public function allItemsSelect()
{
@ -1223,11 +1305,11 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
protected function getClienteListItems($selId = null)
{
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Clientes.cliente'))])];
if (!empty($selId)) :
if (!empty($selId)):
$clienteModel = model('App\Models\Clientes\ClienteModel');
$selOption = $clienteModel->where('id', $selId)->findColumn('nombre');
if (!empty($selOption)) :
if (!empty($selOption)):
$data[$selId] = $selOption[0];
endif;
endif;
@ -1257,7 +1339,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel');
$data = $model->getServiciosAcabadoCubierta();
array_unshift($data, (object)['id' => '', 'label' => lang('Basic.global.None')]);
array_unshift($data, (object) ['id' => '', 'label' => lang('Basic.global.None')]);
return $data;
}
@ -1265,38 +1347,39 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel');
$data = $model->getServiciosAcabadoSobrecubierta();
array_unshift($data, (object)['id' => '', 'label' => lang('Basic.global.None')]);
array_unshift($data, (object) ['id' => '', 'label' => lang('Basic.global.None')]);
return $data;
}
public function getPapelGenerico(){
public function getPapelGenerico()
{
if ($this->request->isAJAX()) {
$POD_value = $this->getPOD();
$tirada = $this->request->getGet("tirada");
$isPOD = intval($tirada)<=intval($POD_value);
$isPOD = intval($tirada) <= intval($POD_value);
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
$tipo = $this->request->getGet("tipo");
$uso = $this->request->getGet("uso") ?? 'interior';
$cubierta = false;
if($uso=='cubierta'){
if ($uso == 'cubierta') {
$cubierta = true;
}
$sobrecubierta = false;
if($uso=='sobrecubierta'){
if ($uso == 'sobrecubierta') {
$sobrecubierta = true;
}
$guardas = false;
if($uso=='guardas'){
if ($uso == 'guardas') {
$guardas = true;
}
$rotativa = false;
if($uso=='rotativa'){
if ($uso == 'rotativa') {
$rotativa = true;
}
@ -1314,35 +1397,36 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
}
public function getGramaje(){
public function getGramaje()
{
if ($this->request->isAJAX()) {
$papel_generico_id = $this->request->getGet("papel_generico");
$POD_value = $this->getPOD();
$tirada = $this->request->getGet("tirada");
$isPOD = intval($tirada)<=intval($POD_value);
$isPOD = intval($tirada) <= intval($POD_value);
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
$tipo = $this->request->getGet("tipo");
$uso = $this->request->getGet("uso") ?? 'interior';
$cubierta = false;
if($uso=='cubierta'){
if ($uso == 'cubierta') {
$cubierta = true;
}
$sobrecubierta = false;
if($uso=='sobrecubierta'){
if ($uso == 'sobrecubierta') {
$sobrecubierta = true;
}
$guardas = false;
if($uso=='guardas'){
if ($uso == 'guardas') {
$guardas = true;
}
$rotativa = false;
if($uso=='rotativa'){
if ($uso == 'rotativa') {
$rotativa = true;
}
@ -1361,13 +1445,13 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
protected function getServiciosPreimpresion()
{
$model = model('App\Models\Tarifas\TarifapreimpresionModel');
$data = $model->getServiciosPreimpresionSelector();
array_unshift($data, (object)array(
array_unshift($data, (object) array(
"value" => 0,
"label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioPreimpresion'))])
));
@ -1378,7 +1462,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Tarifas\TarifaextraModel');
$data = $model->getServiciosExtraSelector();
array_unshift($data, (object)array(
array_unshift($data, (object) array(
"value" => 0,
"label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioExtra'))])
));
@ -1397,7 +1481,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$papelFormatoModel = model('App\Models\Configuracion\PapelFormatoModel');
$data = $papelFormatoModel->getElementsForMenu();
array_shift($data);
array_unshift($data, (object)['id' => '', 'tamanio' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papelFormatoId'))])]);
array_unshift($data, (object) ['id' => '', 'tamanio' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.papelFormatoId'))])]);
return $data;
}
@ -1412,7 +1496,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
{
$model = model('App\Models\Tarifas\TarifaManipuladoModel');
$data = $model->getServiciosManipuladoSelector();
array_unshift($data, (object)array(
array_unshift($data, (object) array(
"value" => 0,
"label" => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Presupuestos.servicioManipulado'))])
));
@ -1425,25 +1509,27 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return $model->getPOD();
}
protected function getLineasPresupuesto($presupuestoEntity){
protected function getLineasPresupuesto($presupuestoEntity)
{
$lineas = (new PresupuestoLineaModel())->getLineasPresupuesto($presupuestoEntity->id);
$input_data = [];
$input_data['presupuesto'] = $presupuestoEntity;
return PresupuestoService::checkLineasPresupuesto($input_data, $lineas);
}
protected function getLineasServicios($presupuestoEntity){
$serviciosPresupuesto = (object)array();
protected function getLineasServicios($presupuestoEntity)
{
$serviciosPresupuesto = (object) array();
$serviciosPresupuesto->serviciosAcabado = (new PresupuestoAcabadosModel())->getResource($presupuestoEntity->id)->get()->getResultObject();
$serviciosPresupuesto->serviciosPreimpresion = (new PresupuestoPreimpresionesModel())->getResource($presupuestoEntity->id)->get()->getResultObject();
$serviciosPresupuesto->serviciosEncuadernacion = (new PresupuestoEncuadernacionesModel())->getResource($presupuestoEntity->id)->get()->getResultObject();
$serviciosPresupuesto->serviciosManipulado = (new PresupuestoManipuladosModel())->getResource($presupuestoEntity->id)->get()->getResultObject();
$serviciosPresupuesto->serviciosExtra = (new PresupuestoServiciosExtraModel())->getResource($presupuestoEntity->id)->get()->getResultObject();
$input_data = [];
$input_data['presupuesto_id'] = $presupuestoEntity->id;
$input_data['tipo_impresion_id'] = $presupuestoEntity->tipo_impresion_id;
@ -1451,19 +1537,17 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$input_data['POD'] = $this->getPOD();
$input_data['paginas'] = $presupuestoEntity->paginas;
$input_data['is_duplicado'] = $presupuestoEntity->is_duplicado;
if($presupuestoEntity->papel_formato_personalizado){
$input_data['ancho'] = $presupuestoEntity->papel_formato_ancho ;
$input_data['alto'] = $presupuestoEntity->papel_formato_alto ;
}
else{
if ($presupuestoEntity->papel_formato_personalizado) {
$input_data['ancho'] = $presupuestoEntity->papel_formato_ancho;
$input_data['alto'] = $presupuestoEntity->papel_formato_alto;
} else {
$model = model("App\Models\Configuracion\PapelFormatoModel");
$papel = $model->find($presupuestoEntity->papel_formato_id);
if($papel){
if ($papel) {
$input_data['ancho'] = $papel->ancho;
$input_data['alto'] = $papel->alto;
}
else{
} else {
$input_data['ancho'] = 0;
$input_data['alto'] = 0;
}
@ -1472,11 +1556,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
return PresupuestoService::checkLineasServicios($input_data, $serviciosPresupuesto);
}
protected function getLineasDirecciones($presupuestoEntity){
protected function getLineasDirecciones($presupuestoEntity)
{
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
$direccionesEnvio = $model->where('presupuesto_id', $presupuestoEntity->id)->findAll();
return PresupuestoService::checkLineasEnvios($direccionesEnvio);
}
}