mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
revisando cubierta (solapas)
This commit is contained in:
@ -18,7 +18,7 @@ use App\Models\Presupuestos\PresupuestoManipuladosModel;
|
|||||||
use App\Models\Presupuestos\PresupuestoPreimpresionesModel;
|
use App\Models\Presupuestos\PresupuestoPreimpresionesModel;
|
||||||
use App\Models\Presupuestos\PresupuestoServiciosExtraModel;
|
use App\Models\Presupuestos\PresupuestoServiciosExtraModel;
|
||||||
|
|
||||||
use App\Services\PresupuestoService;
|
use App\Services\PresupuestoClienteService;
|
||||||
use App\Models\Configuracion\PapelGenericoModel;
|
use App\Models\Configuracion\PapelGenericoModel;
|
||||||
use App\Models\Configuracion\PapelImpresionModel;
|
use App\Models\Configuracion\PapelImpresionModel;
|
||||||
use App\Models\Configuracion\MaquinaModel;
|
use App\Models\Configuracion\MaquinaModel;
|
||||||
@ -425,27 +425,27 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
public function delete($id = null)
|
public function delete($id = null)
|
||||||
{
|
{
|
||||||
if (!empty(static::$pluralObjectNameCc) && !empty(static::$singularObjectNameCc)) {
|
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 {
|
} else {
|
||||||
$objName = lang('Basic.global.record');
|
$objName = lang('Basic.global.record');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->soft_delete){
|
if (!$this->soft_delete) {
|
||||||
|
|
||||||
if (!$this->model->delete($id)) {
|
if (!$this->model->delete($id)) {
|
||||||
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
|
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$datetime = (new \CodeIgniter\I18n\Time("now"));
|
$datetime = (new \CodeIgniter\I18n\Time("now"));
|
||||||
$rawResult = $this->model->where('id',$id)
|
$rawResult = $this->model->where('id', $id)
|
||||||
->set(['deleted_at' => $datetime->format('Y-m-d H:i:s'),
|
->set([
|
||||||
'is_deleted' => $this->delete_flag])
|
'deleted_at' => $datetime->format('Y-m-d H:i:s'),
|
||||||
|
'is_deleted' => $this->delete_flag
|
||||||
|
])
|
||||||
->update();
|
->update();
|
||||||
if (!$rawResult) {
|
if (!$rawResult) {
|
||||||
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
|
return $this->failNotFound(lang('Basic.global.deleteError', [$objName]));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se borran las lineas de presupuesto
|
// Se borran las lineas de presupuesto
|
||||||
@ -482,7 +482,8 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getGramaje(){
|
public function getGramaje()
|
||||||
|
{
|
||||||
if ($this->request->isAJAX()) {
|
if ($this->request->isAJAX()) {
|
||||||
|
|
||||||
$reqData = $this->request->getPost();
|
$reqData = $this->request->getPost();
|
||||||
@ -549,48 +550,48 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
$searchValues = get_filter_datatables_columns($reqData);
|
$searchValues = get_filter_datatables_columns($reqData);
|
||||||
|
|
||||||
$resourceData = $this->model->getResource($searchValues, $tipo_impresion_id)->orderBy($order1, $dir1)->orderBy($order2, $dir2)
|
$resourceData = $this->model->getResource($searchValues, $tipo_impresion_id)->orderBy($order1, $dir1)->orderBy($order2, $dir2)
|
||||||
->orderBy($order3, $dir3)->limit($length, $start)->get()->getResultObject();
|
->orderBy($order3, $dir3)->limit($length, $start)->get()->getResultObject();
|
||||||
foreach ($resourceData as $item) :
|
foreach ($resourceData as $item) :
|
||||||
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100) :
|
if (isset($item->comentarios_pdf) && strlen($item->comentarios_pdf) > 100) :
|
||||||
$item->comentarios_pdf = character_limiter($item->comentarios_pdf, 100);
|
$item->comentarios_pdf = character_limiter($item->comentarios_pdf, 100);
|
||||||
endif;
|
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);
|
$item->causa_cancelacion = character_limiter($item->causa_cancelacion, 100);
|
||||||
endif;
|
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);
|
$item->comentarios_cliente = character_limiter($item->comentarios_cliente, 100);
|
||||||
endif;
|
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);
|
$item->comentarios_safekat = character_limiter($item->comentarios_safekat, 100);
|
||||||
endif;
|
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);
|
$item->comentarios_tarifa = character_limiter($item->comentarios_tarifa, 100);
|
||||||
endif;
|
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);
|
$item->comentarios_produccion = character_limiter($item->comentarios_produccion, 100);
|
||||||
endif;
|
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);
|
$item->tirada_alternativa_json_data = character_limiter($item->tirada_alternativa_json_data, 100);
|
||||||
endif;
|
endif;
|
||||||
if (isset($item->titulo) && strlen($item->titulo) > 100) :
|
if (isset($item->titulo) && strlen($item->titulo) > 100) :
|
||||||
$item->titulo = character_limiter($item->titulo, 100);
|
$item->titulo = character_limiter($item->titulo, 100);
|
||||||
endif;
|
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);
|
$item->paginas_color_posicion = character_limiter($item->paginas_color_posicion, 100);
|
||||||
endif;
|
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);
|
$item->aprobado_json_data = character_limiter($item->aprobado_json_data, 100);
|
||||||
endif;
|
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);
|
$item->comparador_json_data = character_limiter($item->comparador_json_data, 100);
|
||||||
endif;
|
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);
|
$item->ws_externo_json_data = character_limiter($item->ws_externo_json_data, 100);
|
||||||
endif;
|
endif;
|
||||||
endforeach;
|
endforeach;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -607,52 +608,18 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
|
|
||||||
public function presupuesto()
|
public function presupuesto()
|
||||||
{
|
{
|
||||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
|
||||||
|
|
||||||
if ($this->request->isAJAX()) {
|
if ($this->request->isAJAX()) {
|
||||||
$reqData = $this->request->getPost();
|
$reqData = $this->request->getPost();
|
||||||
|
|
||||||
$tirada = $reqData['tirada'] ?? 0;
|
$resultado_lineas = $this->getLineasPresupuesto($reqData);
|
||||||
$tamanio = $reqData['tamanio'];
|
|
||||||
$tipo_impresion_id = $this->getTipoImpresion($reqData['tipo'], $reqData['tapa']);
|
|
||||||
$paginas_color= intval($reqData['paginasColor']) ?? 0;
|
|
||||||
|
|
||||||
$datosPedido = (object)array(
|
|
||||||
'paginas' => intval($reqData['paginas']) ?? 0,
|
|
||||||
'tirada' => $tirada[0],
|
|
||||||
'merma' => $tirada[0]>$POD ? $this->calcular_merma($tirada[0], $POD) : 0,
|
|
||||||
'ancho' => intval($tamanio['ancho']) ?? 100000,
|
|
||||||
'alto' => intval($tamanio['alto']) ?? 100000,
|
|
||||||
#'a_favor_fibra' => $reqData['a_favor_fibra'] ?? 1,
|
|
||||||
'isCosido' => (new TipoPresupuestoModel())->get_isCosido($tipo_impresion_id), // JJO esto es custom por cada tipo de presupuesto
|
|
||||||
);
|
|
||||||
|
|
||||||
$papel_generico = [
|
return $this->respond($resultado_lineas);
|
||||||
'id' => $reqData['papelInterior'] ?? 0,
|
} else {
|
||||||
'nombre' => $reqData['papelInteriorNombre'] ?? "",
|
|
||||||
];
|
|
||||||
$gramaje = $reqData['gramajeInterior'] ?? 0;
|
|
||||||
$cliente_id = $reqData['clienteId'] ?? -1;
|
|
||||||
|
|
||||||
$input_data = array(
|
|
||||||
'uso' => 'interior',
|
|
||||||
'tipo_impresion_id' => $tipo_impresion_id,
|
|
||||||
'datosPedido' => $datosPedido,
|
|
||||||
'papel_generico' => $papel_generico,
|
|
||||||
'gramaje' => $gramaje,
|
|
||||||
'isColor' => intval($reqData['isColor']) ?? 0,
|
|
||||||
'isHq' => intval($reqData['isHq']) ?? 0,
|
|
||||||
'cliente_id' => $cliente_id,
|
|
||||||
'paginas_color' => $paginas_color,
|
|
||||||
);
|
|
||||||
|
|
||||||
$interiorPlana = PresupuestoService::obtenerPresupuestoClienteInterior($input_data);
|
|
||||||
return $this->respond($interiorPlana);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
return $this->failUnauthorized('Invalid request', 403);
|
return $this->failUnauthorized('Invalid request', 403);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -661,39 +628,155 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
* Funciones auxiliares
|
* Funciones auxiliares
|
||||||
*
|
*
|
||||||
**********************/
|
**********************/
|
||||||
protected function getTipoImpresion($tipo, $tapa){
|
protected function getLineasPresupuesto($reqData)
|
||||||
|
{
|
||||||
|
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
||||||
|
|
||||||
|
$tirada = $reqData['tirada'] ?? 0;
|
||||||
|
$tamanio = $reqData['tamanio'];
|
||||||
|
$tipo_impresion_id = $this->getTipoImpresion($reqData['tipo'], $reqData['tapa']);
|
||||||
|
$paginas_color = intval($reqData['paginasColor']) ?? 0;
|
||||||
|
$is_cosido = (new TipoPresupuestoModel())->get_isCosido($tipo_impresion_id);
|
||||||
|
|
||||||
|
$datosPedido = (object)array(
|
||||||
|
'paginas' => intval($reqData['paginas']) ?? 0,
|
||||||
|
'tirada' => $tirada[0],
|
||||||
|
'merma' => $tirada[0] > $POD ? $this->calcular_merma($tirada[0], $POD) : 0,
|
||||||
|
'ancho' => intval($tamanio['ancho']) ?? 100000,
|
||||||
|
'alto' => intval($tamanio['alto']) ?? 100000,
|
||||||
|
'isCosido' => $is_cosido,
|
||||||
|
);
|
||||||
|
|
||||||
|
$papel_generico = [
|
||||||
|
'id' => $reqData['papelInterior'] ?? 0,
|
||||||
|
'nombre' => $reqData['papelInteriorNombre'] ?? "",
|
||||||
|
];
|
||||||
|
$gramaje = $reqData['gramajeInterior'] ?? 0;
|
||||||
|
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||||
|
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
|
||||||
|
|
||||||
|
$input_data = array(
|
||||||
|
'uso' => 'interior',
|
||||||
|
'tipo_impresion_id' => $tipo_impresion_id,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel_generico,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'isColor' => intval($reqData['isColor']) ?? 0,
|
||||||
|
'isHq' => intval($reqData['isHq']) ?? 0,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'paginas_color' => $paginas_color,
|
||||||
|
'excluirRotativa' => $excluirRotativa,
|
||||||
|
);
|
||||||
|
|
||||||
|
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||||
|
|
||||||
|
$costeInterior = 0.0;
|
||||||
|
foreach ($interior as $linea) {
|
||||||
|
if (count($linea) > 0) {
|
||||||
|
$costeInterior += floatval($linea['total_impresion']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($costeInterior <= 0) {
|
||||||
|
return [
|
||||||
|
'error' => lang('Presupuestos.errores.noInterior'),
|
||||||
|
'precio_u' => 0,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Si es POD hay que volver a calcular para incluir la merma correcta
|
||||||
|
if ($tirada[0] <= $POD) {
|
||||||
|
$num_formas = [];
|
||||||
|
foreach ($interior as $linea) {
|
||||||
|
if (count($linea) > 0) {
|
||||||
|
$formas_linea = $is_cosido ? intval($linea['num_formas']['value']) / 2 : intval($linea['num_formas']['value']);
|
||||||
|
array_push($num_formas, $formas_linea);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$input_data['datosPedido']['merma'] = $this->calcular_merma($tirada[0], $POD, $num_formas);
|
||||||
|
|
||||||
|
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
$costeInterior = 0.0;
|
||||||
|
foreach ($interior as $linea) {
|
||||||
|
if (count($linea) > 0) {
|
||||||
|
$costeInterior += floatval($linea['total_impresion']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($costeInterior <= 0) {
|
||||||
|
return [
|
||||||
|
'error' => lang('Presupuestos.errores.noInterior'),
|
||||||
|
'precio_u' => 0,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cubierta
|
||||||
|
$papel_generico = [
|
||||||
|
'id' => $reqData['papelCubierta'] ?? 0,
|
||||||
|
'nombre' => $reqData['papelCubiertaNombre'] ?? "",
|
||||||
|
];
|
||||||
|
$input_data['papel_generico'] = $papel_generico;
|
||||||
|
$input_data['gramaje'] = $reqData['gramajeCubierta'] ?? 0;
|
||||||
|
$input_data['datosPedido']->paginas = intval($reqData['carasCubierta'] ?? 0);
|
||||||
|
$input_data['paginas_color'] = intval($reqData['carasCubierta'] ?? 0);
|
||||||
|
$input_data['datosPedido']->solapas_ancho = intval($reqData['solapasCubierta'] ?? 0);
|
||||||
|
$input_data['datosPedido']->solapas = $input_data['datosPedido']->solapas_ancho>0 ? 1 : 0;
|
||||||
|
$input_data['datosPedido']->lomo = $this->calcular_lomo($interior, 0);
|
||||||
|
$input_data['isColor'] = 1;
|
||||||
|
$input_data['isHq'] = 1;
|
||||||
|
$input_data['uso'] = 'cubierta';
|
||||||
|
|
||||||
|
$cubierta = PresupuestoClienteService::obtenerCubierta($input_data);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'interior' => $interior,
|
||||||
|
'cubierta' => $cubierta,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected function calcular_lomo($lineas, $lomo_inicial){
|
||||||
|
$lomo = $lomo_inicial;
|
||||||
|
foreach ($lineas as $linea) {
|
||||||
|
if (count($linea) > 0) {
|
||||||
|
$lomo += floatval($linea['mano']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return floatval($lomo);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getTipoImpresion($tipo, $tapa)
|
||||||
|
{
|
||||||
|
|
||||||
$tipo_impresion_id = 0;
|
$tipo_impresion_id = 0;
|
||||||
|
|
||||||
if($tipo == 'fresado'){
|
if ($tipo == 'fresado') {
|
||||||
|
|
||||||
if($tapa == 'blanda')
|
if ($tapa == 'blanda')
|
||||||
$tipo_impresion_id = 2;
|
$tipo_impresion_id = 2;
|
||||||
else
|
else
|
||||||
$tipo_impresion_id = 1;
|
$tipo_impresion_id = 1;
|
||||||
}
|
} else if ($tipo == 'cosido') {
|
||||||
else if($tipo == 'cosido'){
|
|
||||||
|
|
||||||
if($tapa == 'blanda')
|
if ($tapa == 'blanda')
|
||||||
$tipo_impresion_id = 4;
|
$tipo_impresion_id = 4;
|
||||||
else
|
else
|
||||||
$tipo_impresion_id = 3;
|
$tipo_impresion_id = 3;
|
||||||
}
|
} else if ($tipo == 'espiral') {
|
||||||
else if($tipo == 'espiral'){
|
|
||||||
|
|
||||||
if($tapa == 'blanda')
|
if ($tapa == 'blanda')
|
||||||
$tipo_impresion_id = 6;
|
$tipo_impresion_id = 6;
|
||||||
else
|
else
|
||||||
$tipo_impresion_id = 5;
|
$tipo_impresion_id = 5;
|
||||||
}
|
} else if ($tipo == 'wireo') {
|
||||||
else if($tipo == 'wireo'){
|
|
||||||
|
|
||||||
if($tapa == 'blanda')
|
if ($tapa == 'blanda')
|
||||||
$tipo_impresion_id = 8;
|
$tipo_impresion_id = 8;
|
||||||
else
|
else
|
||||||
$tipo_impresion_id = 7;
|
$tipo_impresion_id = 7;
|
||||||
}
|
} else if ($tipo == 'grapado') {
|
||||||
else if($tipo == 'grapado'){
|
|
||||||
$tipo_impresion_id = 21;
|
$tipo_impresion_id = 21;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -701,22 +784,22 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function calcular_merma($tirada, $POD, $formas_lineas_interior = []){
|
protected function calcular_merma($tirada, $POD, $formas_lineas_interior = [])
|
||||||
|
{
|
||||||
|
|
||||||
$merma = 0;
|
$merma = 0;
|
||||||
|
|
||||||
if($tirada>$POD){
|
if ($tirada > $POD) {
|
||||||
$merma = $tirada*0.1<=30 ? $tirada*0.1 : 30;
|
$merma = $tirada * 0.1 <= 30 ? $tirada * 0.1 : 30;
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$merma_lineas = [];
|
$merma_lineas = [];
|
||||||
foreach($formas_lineas_interior as $formas_linea){
|
foreach ($formas_lineas_interior as $formas_linea) {
|
||||||
if($formas_linea > $tirada)
|
if ($formas_linea > $tirada)
|
||||||
array_push($merma_lineas, $formas_linea-$tirada);
|
array_push($merma_lineas, $formas_linea - $tirada);
|
||||||
else
|
else
|
||||||
array_push($merma_lineas, $tirada%$formas_linea);
|
array_push($merma_lineas, $tirada % $formas_linea);
|
||||||
}
|
}
|
||||||
if(count($merma_lineas)>0)
|
if (count($merma_lineas) > 0)
|
||||||
$merma = max($merma_lineas);
|
$merma = max($merma_lineas);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -763,4 +846,3 @@ class Presupuestocliente extends \App\Controllers\GoBaseResourceController
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,6 +298,7 @@ return [
|
|||||||
'formato_papel' => 'Debe seleccionar un formato de papel',
|
'formato_papel' => 'Debe seleccionar un formato de papel',
|
||||||
'tirada_alt_duplicada' => 'Ya existe una tirada alternativa para ese valor',
|
'tirada_alt_duplicada' => 'Ya existe una tirada alternativa para ese valor',
|
||||||
'tirada_alt_tipo' => 'No se puede calcular una tirada alternativa POD para una presupuesto no POD o viceversa',
|
'tirada_alt_tipo' => 'No se puede calcular una tirada alternativa POD para una presupuesto no POD o viceversa',
|
||||||
|
'noInterior' => 'No se hay resultados para el interior',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
287
ci4/app/Services/PresupuestoClienteService.php
Normal file
287
ci4/app/Services/PresupuestoClienteService.php
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
|
||||||
|
use CodeIgniter\Config\BaseService;
|
||||||
|
|
||||||
|
use App\Services\PresupuestoService;
|
||||||
|
|
||||||
|
class PresupuestoClienteService extends BaseService
|
||||||
|
{
|
||||||
|
public static function obtenerInterior($data)
|
||||||
|
{
|
||||||
|
|
||||||
|
$rotativa = [];
|
||||||
|
$plana = PresupuestoClienteService::obtenerPresupuestoClienteInterior($data);
|
||||||
|
if (!$data['excluirRotativa'] && !$data['isHq'])
|
||||||
|
$rotativa = PresupuestoClienteService::obtenerPresupuestoClienteInteriorRotativa($data);
|
||||||
|
|
||||||
|
$total_plana = -1;
|
||||||
|
if (count($plana[0]) > 0 || count($plana[1]) > 0) {
|
||||||
|
$total_plana = 0.0;
|
||||||
|
foreach ($plana as $linea) {
|
||||||
|
if (count($linea) > 0)
|
||||||
|
$total_plana += floatval($linea['total_impresion']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$total_rotativa = -1;
|
||||||
|
if (!$data['excluirRotativa'] && count($rotativa) > 0) {
|
||||||
|
$total_rotativa = floatval($rotativa['total_impresion']);
|
||||||
|
}
|
||||||
|
if ($total_plana < 0 && $total_rotativa < 0)
|
||||||
|
return [];
|
||||||
|
else {
|
||||||
|
if ($total_plana > $total_rotativa)
|
||||||
|
return $plana;
|
||||||
|
else
|
||||||
|
return [$rotativa];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function obtenerCubierta($data)
|
||||||
|
{
|
||||||
|
|
||||||
|
$uso = $data['uso'];
|
||||||
|
$tipo_impresion_id = $data['tipo_impresion_id'];
|
||||||
|
$datosPedido = $data['datosPedido'];
|
||||||
|
$papel_generico = $data['papel_generico'];
|
||||||
|
$gramaje = $data['gramaje'];
|
||||||
|
$isColor = $data['isColor'];
|
||||||
|
$isHq = $data['isHq'];
|
||||||
|
$cliente_id = $data['cliente_id'];
|
||||||
|
$paginas_color = $data['paginas_color'];
|
||||||
|
|
||||||
|
$lineas_cubierta = [];
|
||||||
|
|
||||||
|
for ($i = 0; $i < 2; $i++) {
|
||||||
|
|
||||||
|
$lineas = PresupuestoService::obtenerComparadorPlana([
|
||||||
|
'uso' => $uso,
|
||||||
|
'tipo_impresion_id' => $tipo_impresion_id,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel_generico,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'isColor' => $isColor,
|
||||||
|
'isHq' => $isHq,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'a_favor_fibra' => $i
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (count($lineas) > 0) {
|
||||||
|
$lineas_cubierta = array_merge($lineas_cubierta, $lineas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($lineas_cubierta) > 0) {
|
||||||
|
|
||||||
|
usort(
|
||||||
|
$lineas_cubierta,
|
||||||
|
function ($a, $b) {
|
||||||
|
$result = 0;
|
||||||
|
if (floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
||||||
|
$result = 1;
|
||||||
|
else if (floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
||||||
|
$result = -1;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$lineas_cubierta = $lineas_cubierta[0]['fields'];
|
||||||
|
$lineas_cubierta['tipo_linea'] = 'lp_cubierta';
|
||||||
|
}
|
||||||
|
return $lineas_cubierta;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtiene las lineas de plana en el presupuesto de cliente
|
||||||
|
* Selecciona entre las más económicas
|
||||||
|
* Parámetros:
|
||||||
|
* - uso: en este caso esta variable está fija a 'interior'
|
||||||
|
* - tipo: tipo de impresión
|
||||||
|
* - datosPedido: datos del pedido
|
||||||
|
* * paginas: número de páginas
|
||||||
|
* * tirada: número de ejemplares
|
||||||
|
* * merma: merma
|
||||||
|
* * ancho: ancho del libro
|
||||||
|
* * alto: alto del libro
|
||||||
|
* * isCosido: si está cosido
|
||||||
|
* - cliente_id: id del cliente
|
||||||
|
* - papel_generico: papel genérico (array con id y nombre)
|
||||||
|
* - isColor: si es a color
|
||||||
|
* - isHq: si es alta calidad
|
||||||
|
* - paginas_color: número de páginas a color
|
||||||
|
*/
|
||||||
|
private static function obtenerPresupuestoClienteInterior($data)
|
||||||
|
{
|
||||||
|
|
||||||
|
$uso = $data['uso'];
|
||||||
|
$tipo_impresion_id = $data['tipo_impresion_id'];
|
||||||
|
$datosPedido = $data['datosPedido'];
|
||||||
|
$papel_generico = $data['papel_generico'];
|
||||||
|
$gramaje = $data['gramaje'];
|
||||||
|
$isColor = $data['isColor'];
|
||||||
|
$isHq = $data['isHq'];
|
||||||
|
$cliente_id = $data['cliente_id'];
|
||||||
|
$paginas_color = $data['paginas_color'];
|
||||||
|
|
||||||
|
$paginas_negro = $datosPedido->paginas - $paginas_color;
|
||||||
|
|
||||||
|
|
||||||
|
$linea_negro_plana = [];
|
||||||
|
$linea_color_plana = [];
|
||||||
|
|
||||||
|
// Negro
|
||||||
|
if ($datosPedido->paginas > $paginas_color) {
|
||||||
|
|
||||||
|
$datosPedido->paginas = $paginas_negro;
|
||||||
|
for ($i = 0; $i < 2; $i++) {
|
||||||
|
|
||||||
|
$lineas = PresupuestoService::obtenerComparadorPlana([
|
||||||
|
'uso' => $uso,
|
||||||
|
'tipo_impresion_id' => $tipo_impresion_id,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel_generico,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'isColor' => false,
|
||||||
|
'isHq' => $isHq,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'a_favor_fibra' => $i
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (count($lineas) > 0) {
|
||||||
|
$linea_negro_plana = array_merge($linea_color_plana, $lineas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($linea_negro_plana) > 0) {
|
||||||
|
|
||||||
|
usort(
|
||||||
|
$linea_negro_plana,
|
||||||
|
function ($a, $b) {
|
||||||
|
$result = 0;
|
||||||
|
if (floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
||||||
|
$result = 1;
|
||||||
|
else if (floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
||||||
|
$result = -1;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$linea_negro_plana = $linea_negro_plana[0]['fields'];
|
||||||
|
$linea_negro_plana['tipo_linea'] = $isHq ? 'lp_bnhq' : 'lp_bn';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Color
|
||||||
|
if ($paginas_color > 0) {
|
||||||
|
|
||||||
|
for ($i = 0; $i < 2; $i++) {
|
||||||
|
|
||||||
|
$lineas = PresupuestoService::obtenerComparadorPlana([
|
||||||
|
'uso' => $uso,
|
||||||
|
'tipo_impresion_id' => $tipo_impresion_id,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel_generico,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'isColor' => true,
|
||||||
|
'isHq' => $isHq,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'a_favor_fibra' => $i
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (count($lineas) > 0) {
|
||||||
|
$linea_color_plana = array_merge($linea_color_plana, $lineas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($linea_color_plana) > 0) {
|
||||||
|
|
||||||
|
usort(
|
||||||
|
$linea_color_plana,
|
||||||
|
function ($a, $b) {
|
||||||
|
$result = 0;
|
||||||
|
if (floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
||||||
|
$result = 1;
|
||||||
|
else if (floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
||||||
|
$result = -1;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$linea_color_plana = $linea_color_plana[0]['fields'];
|
||||||
|
$linea_negro_plana['tipo_linea'] = $isHq ? 'lp_colorhq' : 'lp_color';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return [$linea_negro_plana, $linea_color_plana];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtiene las lineas de rotativa en el presupuesto de cliente
|
||||||
|
* Selecciona entre las más económicas
|
||||||
|
* Parámetros:
|
||||||
|
* - uso: en este caso esta variable está fija a 'interior'
|
||||||
|
* - tipo: tipo de impresión
|
||||||
|
* - datosPedido: datos del pedido
|
||||||
|
* * paginas: número de páginas
|
||||||
|
* * tirada: número de ejemplares
|
||||||
|
* * merma: merma
|
||||||
|
* * ancho: ancho del libro
|
||||||
|
* * alto: alto del libro
|
||||||
|
* * isCosido: si está cosido
|
||||||
|
* - cliente_id: id del cliente
|
||||||
|
* - papel_generico: papel genérico (array con id y nombre)
|
||||||
|
* - isColor: si es a color
|
||||||
|
* - isHq: si es alta calidad
|
||||||
|
* - paginas_color: número de páginas a color
|
||||||
|
*/
|
||||||
|
private static function obtenerPresupuestoClienteInteriorRotativa($data)
|
||||||
|
{
|
||||||
|
$datosPedido = $data['datosPedido'];
|
||||||
|
$papel_generico = $data['papel_generico'];
|
||||||
|
$gramaje = $data['gramaje'];
|
||||||
|
$cliente_id = $data['cliente_id'];
|
||||||
|
$paginas_color = $data['paginas_color'];
|
||||||
|
|
||||||
|
$paginas = (object) array(
|
||||||
|
'negro' => $datosPedido->paginas - $paginas_color,
|
||||||
|
'color' => $paginas_color
|
||||||
|
);
|
||||||
|
|
||||||
|
$linea_rotativa = [];
|
||||||
|
|
||||||
|
for ($i = 0; $i < 2; $i++) {
|
||||||
|
|
||||||
|
$datosPedido->a_favor_fibra = $i;
|
||||||
|
|
||||||
|
$lineas = PresupuestoService::obtenerComparadorRotativa([
|
||||||
|
'paginas' => $paginas,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel_generico,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'datosTipolog' => null
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (count($lineas) > 0) {
|
||||||
|
$linea_rotativa = array_merge($linea_rotativa, $lineas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($linea_rotativa) > 0) {
|
||||||
|
|
||||||
|
usort(
|
||||||
|
$linea_rotativa,
|
||||||
|
function ($a, $b) {
|
||||||
|
$result = 0;
|
||||||
|
if (floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
||||||
|
$result = 1;
|
||||||
|
else if (floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
||||||
|
$result = -1;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$linea_rotativa = $linea_rotativa[0]['fields'];
|
||||||
|
$linea_rotativa['tipo_linea'] = $paginas_color > 0 ? 'lp_rot_color' : 'lp_rot_bn';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $linea_rotativa;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -33,115 +33,6 @@ class PresupuestoService extends BaseService
|
|||||||
const SANGRE_FORMAS = 5.0;
|
const SANGRE_FORMAS = 5.0;
|
||||||
const SANGRE_FORMAS_CUBIERTA = 20.0;
|
const SANGRE_FORMAS_CUBIERTA = 20.0;
|
||||||
|
|
||||||
public static function obtenerPresupuestoClienteInterior($data){
|
|
||||||
|
|
||||||
$uso = $data['uso'];
|
|
||||||
$tipo_impresion_id = $data['tipo_impresion_id'];
|
|
||||||
$datosPedido = $data['datosPedido'];
|
|
||||||
$papel_generico = $data['papel_generico'];
|
|
||||||
$gramaje = $data['gramaje'];
|
|
||||||
$isColor = $data['isColor'];
|
|
||||||
$isHq = $data['isHq'];
|
|
||||||
$cliente_id = $data['cliente_id'];
|
|
||||||
$paginas_color = $data['paginas_color'];
|
|
||||||
|
|
||||||
$paginas_negro = $datosPedido->paginas-$paginas_color;
|
|
||||||
|
|
||||||
|
|
||||||
$linea_negro_plana = [];
|
|
||||||
$linea_color_plana = [];
|
|
||||||
|
|
||||||
// Negro
|
|
||||||
if($datosPedido->paginas > $paginas_color){
|
|
||||||
|
|
||||||
$datosPedido->paginas = $paginas_negro;
|
|
||||||
for ($i=0; $i<2; $i++){
|
|
||||||
|
|
||||||
$lineas = PresupuestoService::obtenerComparadorPlana([
|
|
||||||
'uso' => $uso,
|
|
||||||
'tipo_impresion_id' => $tipo_impresion_id,
|
|
||||||
'datosPedido' => $datosPedido,
|
|
||||||
'papel_generico' => $papel_generico,
|
|
||||||
'gramaje' => $gramaje,
|
|
||||||
'isColor' => false,
|
|
||||||
'isHq' => $isHq,
|
|
||||||
'cliente_id' => $cliente_id,
|
|
||||||
'a_favor_fibra' => $i
|
|
||||||
]);
|
|
||||||
|
|
||||||
if (count($lineas) > 0) {
|
|
||||||
usort($lineas,
|
|
||||||
function($a, $b)
|
|
||||||
{
|
|
||||||
$result = 0;
|
|
||||||
if(floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
|
||||||
$result = 1;
|
|
||||||
else if(floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
|
||||||
$result = -1;
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$linea_negro_plana = $lineas[0]['fields'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Color
|
|
||||||
if($isColor){
|
|
||||||
|
|
||||||
$datosPedido->paginas = $paginas_color;
|
|
||||||
for ($i=0; $i<2; $i++){
|
|
||||||
|
|
||||||
$lineas = PresupuestoService::obtenerComparadorPlana([
|
|
||||||
'uso' => $uso,
|
|
||||||
'tipo_impresion_id' => $tipo_impresion_id,
|
|
||||||
'datosPedido' => $datosPedido,
|
|
||||||
'papel_generico' => $papel_generico,
|
|
||||||
'gramaje' => $gramaje,
|
|
||||||
'isColor' => true,
|
|
||||||
'isHq' => $isHq,
|
|
||||||
'cliente_id' => $cliente_id,
|
|
||||||
'a_favor_fibra' => $i
|
|
||||||
]);
|
|
||||||
|
|
||||||
if (count($lineas) > 0) {
|
|
||||||
usort($lineas,
|
|
||||||
function($a, $b)
|
|
||||||
{
|
|
||||||
$result = 0;
|
|
||||||
if(floatval($a['fields']['total_impresion']) > floatval($b['fields']['total_impresion']))
|
|
||||||
$result = 1;
|
|
||||||
else if(floatval($a['fields']['total_impresion']) < floatval($b['fields']['total_impresion']))
|
|
||||||
$result = -1;
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
$linea_color_plana = $lineas[0]['fields'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for ($i=0; $i<2; $i++){
|
|
||||||
|
|
||||||
$lineas = PresupuestoService::obtenerComparadorPlana([
|
|
||||||
'uso' => $uso,
|
|
||||||
'tipo_impresion_id' => $tipo_impresion_id,
|
|
||||||
'datosPedido' => $datosPedido,
|
|
||||||
'papel_generico' => $papel_generico,
|
|
||||||
'gramaje' => $gramaje,
|
|
||||||
'isColor' => true,
|
|
||||||
'isHq' => $isHq,
|
|
||||||
'cliente_id' => $cliente_id,
|
|
||||||
'a_favor_fibra' => $i
|
|
||||||
]);
|
|
||||||
|
|
||||||
if (count($lineas) > 0) {
|
|
||||||
$linea_negro_plana = array_merge($linea_negro_plana, $lineas);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return [$linea_negro_plana, $linea_color_plana];
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static function getLineaPresupuestoPlana($data)
|
public static function getLineaPresupuestoPlana($data)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -252,6 +252,8 @@ $('#papelInterior').on('change', function () {
|
|||||||
|
|
||||||
if (valInterior != undefined)
|
if (valInterior != undefined)
|
||||||
$('#gramajeInterior option[value=' + valInterior + ']').prop('selected', true).trigger('change');
|
$('#gramajeInterior option[value=' + valInterior + ']').prop('selected', true).trigger('change');
|
||||||
|
else
|
||||||
|
$('#gramajeInterior').val('').trigger('change');
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -289,6 +291,8 @@ $('#papelCubierta').on('change', function () {
|
|||||||
|
|
||||||
if (valCubierta != undefined)
|
if (valCubierta != undefined)
|
||||||
$('#gramajeCubierta option[value=' + valCubierta + ']').prop('selected', true).trigger('change');
|
$('#gramajeCubierta option[value=' + valCubierta + ']').prop('selected', true).trigger('change');
|
||||||
|
else
|
||||||
|
$('#gramajeCubierta').val('').trigger('change');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -325,6 +329,8 @@ $('#papelSobrecubierta').on('change', function () {
|
|||||||
|
|
||||||
if (valSobrecubierta != undefined)
|
if (valSobrecubierta != undefined)
|
||||||
$('#gramajeSobrecubierta option[value=' + valCubierta + ']').prop('selected', true).trigger('change');
|
$('#gramajeSobrecubierta option[value=' + valCubierta + ']').prop('selected', true).trigger('change');
|
||||||
|
else
|
||||||
|
$('#gramajeSobrecubierta').val('').trigger('change');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -359,7 +365,11 @@ function checkValues() {
|
|||||||
const gramajeCubierta = $('#gramajeCubierta option:selected').text();
|
const gramajeCubierta = $('#gramajeCubierta option:selected').text();
|
||||||
const papelFormatoAlto = $('#altoLibro').val();
|
const papelFormatoAlto = $('#altoLibro').val();
|
||||||
const papelFormatoAncho = $('#anchoLibro').val();
|
const papelFormatoAncho = $('#anchoLibro').val();
|
||||||
|
const clienteId = $('#clienteId').val();
|
||||||
|
|
||||||
|
if(clienteId == '' || isNaN(clienteId) || parseInt(clienteId) <= 0){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (tirada == '' || isNaN(tirada) || parseInt(tirada) <= 0) {
|
if (tirada == '' || isNaN(tirada) || parseInt(tirada) <= 0) {
|
||||||
return false;
|
return false;
|
||||||
@ -576,7 +586,7 @@ async function calcularPresupuesto() {
|
|||||||
papelInterior: $('#papelInterior option:selected').val(),
|
papelInterior: $('#papelInterior option:selected').val(),
|
||||||
papelInteriorNombre: $('#papelInterior option:selected').text(),
|
papelInteriorNombre: $('#papelInterior option:selected').text(),
|
||||||
gramajeInterior: $('#gramajeInterior option:selected').text(),
|
gramajeInterior: $('#gramajeInterior option:selected').text(),
|
||||||
excluirRotativa: $('#excluirRotativa').is(':checked'),
|
excluirRotativa: $('#excluirRotativa').is(':checked')? 1 : 0,
|
||||||
papelCubierta: $('#papelCubierta option:selected').val(),
|
papelCubierta: $('#papelCubierta option:selected').val(),
|
||||||
papelCubiertaNombre: $('#papelCubierta option:selected').text(),
|
papelCubiertaNombre: $('#papelCubierta option:selected').text(),
|
||||||
gramajeCubierta: $('#gramajeCubierta option:selected').text(),
|
gramajeCubierta: $('#gramajeCubierta option:selected').text(),
|
||||||
@ -611,12 +621,19 @@ async function calcularPresupuesto() {
|
|||||||
|
|
||||||
datos = Object.assign(datos, window.token_ajax)
|
datos = Object.assign(datos, window.token_ajax)
|
||||||
|
|
||||||
|
|
||||||
|
$('#loader').show();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: window.routes_disenio_libro.presupuestoCliente,
|
url: window.routes_disenio_libro.presupuestoCliente,
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
data: datos,
|
data: datos,
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
|
$('#loader').hide();
|
||||||
|
},
|
||||||
|
error: function (error) {
|
||||||
|
$('#loader').hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
<div id="loader" style="display: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 9999;">
|
||||||
|
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
|
||||||
|
<img src="<?= site_url("assets/img/loader.gif") ?>" alt="Loading..."/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -11,8 +11,10 @@
|
|||||||
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
|
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
|
||||||
<?= csrf_field() ?>
|
<?= csrf_field() ?>
|
||||||
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
|
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
|
||||||
|
<?= view("themes/backend/vuexy/form/presupuestos/cliente/loader") ?>
|
||||||
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
|
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
|
||||||
|
|
||||||
|
|
||||||
<!-- Create Deal Wizard -->
|
<!-- Create Deal Wizard -->
|
||||||
<div id="wizard-presupuesto-cliente" class="bs-stepper vertical mt-2 linear">
|
<div id="wizard-presupuesto-cliente" class="bs-stepper vertical mt-2 linear">
|
||||||
<div class="bs-stepper-header">
|
<div class="bs-stepper-header">
|
||||||
|
|||||||
BIN
httpdocs/assets/img/loader.gif
Normal file
BIN
httpdocs/assets/img/loader.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
18693
xdebug.log
18693
xdebug.log
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user