mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
corregidos errores
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
<?php namespace App\Controllers\Configuracion;
|
<?php
|
||||||
|
namespace App\Controllers\Configuracion;
|
||||||
|
|
||||||
|
|
||||||
use App\Controllers\BaseResourceController;
|
use App\Controllers\BaseResourceController;
|
||||||
@ -220,30 +221,48 @@ class Maquinastarifasimpresion extends \App\Controllers\BaseResourceController
|
|||||||
$response = Editor::inst($db, 'lg_maquinas_tarifas_impresion')
|
$response = Editor::inst($db, 'lg_maquinas_tarifas_impresion')
|
||||||
->fields(
|
->fields(
|
||||||
Field::inst('uso')
|
Field::inst('uso')
|
||||||
->validator('Validate::notEmpty', array(
|
->validator(
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.uso.required'))
|
'Validate::notEmpty',
|
||||||
|
array(
|
||||||
|
'message' => lang('MaquinasTarifasImpresions.validation.uso.required')
|
||||||
|
)
|
||||||
),
|
),
|
||||||
Field::inst('tipo')
|
Field::inst('tipo')
|
||||||
->validator('Validate::notEmpty', array(
|
->validator(
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required'))
|
'Validate::notEmpty',
|
||||||
|
array(
|
||||||
|
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required')
|
||||||
|
)
|
||||||
),
|
),
|
||||||
Field::inst('precio')
|
Field::inst('precio')
|
||||||
->getFormatter('Format::toDecimalChar')->setFormatter('Format::fromDecimalChar')
|
->getFormatter('Format::toDecimalChar')->setFormatter('Format::fromDecimalChar')
|
||||||
->validator('Validate::numeric', array(
|
->validator(
|
||||||
|
'Validate::numeric',
|
||||||
|
array(
|
||||||
"decimal" => ',',
|
"decimal" => ',',
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.precio.decimal'))
|
'message' => lang('MaquinasTarifasImpresions.validation.precio.decimal')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
->validator(
|
||||||
|
'Validate::notEmpty',
|
||||||
|
array(
|
||||||
|
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required')
|
||||||
)
|
)
|
||||||
->validator('Validate::notEmpty', array(
|
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required'))
|
|
||||||
),
|
),
|
||||||
Field::inst('margen')
|
Field::inst('margen')
|
||||||
->getFormatter('Format::toDecimalChar')->setFormatter('Format::fromDecimalChar')
|
->getFormatter('Format::toDecimalChar')->setFormatter('Format::fromDecimalChar')
|
||||||
->validator('Validate::numeric', array(
|
->validator(
|
||||||
|
'Validate::numeric',
|
||||||
|
array(
|
||||||
"decimal" => ',',
|
"decimal" => ',',
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.precio.decimal'))
|
'message' => lang('MaquinasTarifasImpresions.validation.precio.decimal')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
->validator(
|
||||||
|
'Validate::notEmpty',
|
||||||
|
array(
|
||||||
|
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required')
|
||||||
)
|
)
|
||||||
->validator('Validate::notEmpty', array(
|
|
||||||
'message' => lang('MaquinasTarifasImpresions.validation.tipo.required'))
|
|
||||||
),
|
),
|
||||||
Field::inst('maquina_id'),
|
Field::inst('maquina_id'),
|
||||||
Field::inst('user_created_id'),
|
Field::inst('user_created_id'),
|
||||||
@ -269,14 +288,18 @@ class Maquinastarifasimpresion extends \App\Controllers\BaseResourceController
|
|||||||
'maquina_id' => $values['maquina_id'],
|
'maquina_id' => $values['maquina_id'],
|
||||||
'tipo' => $values['tipo'],
|
'tipo' => $values['tipo'],
|
||||||
'uso' => $values['uso'],
|
'uso' => $values['uso'],
|
||||||
'is_deleted' => 0));
|
'is_deleted' => 0
|
||||||
|
));
|
||||||
$id = $builder->get()->getFirstRow()->id;
|
|
||||||
|
|
||||||
|
$id = $builder->get()->getFirstRow();
|
||||||
|
if ($id) {
|
||||||
|
$id = $id->id;
|
||||||
// No se pueden duplicar valores al crear o al editar
|
// No se pueden duplicar valores al crear o al editar
|
||||||
if ($builder->countAllResults() >= 1) {
|
if ($builder->countAllResults() >= 1) {
|
||||||
if (($action === Editor::ACTION_EDIT && $id != $pkey)
|
if (
|
||||||
|| $action === Editor::ACTION_CREATE) {
|
($action === Editor::ACTION_EDIT && $id != $pkey)
|
||||||
|
|| $action === Editor::ACTION_CREATE
|
||||||
|
) {
|
||||||
|
|
||||||
return lang('MaquinasTarifasImpresions.validation.duplicated_uso_tipo');
|
return lang('MaquinasTarifasImpresions.validation.duplicated_uso_tipo');
|
||||||
}
|
}
|
||||||
@ -284,6 +307,7 @@ class Maquinastarifasimpresion extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
->on('preCreate', function ($editor, &$values) {
|
->on('preCreate', function ($editor, &$values) {
|
||||||
$session = session();
|
$session = session();
|
||||||
|
|||||||
@ -219,8 +219,7 @@ class PresupuestoService extends BaseService
|
|||||||
log_message("error","No se ha encontrado tarifa para la maquina {maquina_id} y el uso {uso} y el tipo {tipo}", $info);
|
log_message("error","No se ha encontrado tarifa para la maquina {maquina_id} y el uso {uso} y el tipo {tipo}", $info);
|
||||||
*/
|
*/
|
||||||
return [];
|
return [];
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$tarifaId = $resultado_tarifa[0];
|
$tarifaId = $resultado_tarifa[0];
|
||||||
$tarifa = $resultado_tarifa[1];
|
$tarifa = $resultado_tarifa[1];
|
||||||
$tarifa_margen = $resultado_tarifa[2];
|
$tarifa_margen = $resultado_tarifa[2];
|
||||||
@ -245,7 +244,8 @@ class PresupuestoService extends BaseService
|
|||||||
$linea['fields']['precio_libro'] = $linea['fields']['pliegos_libro'] * $linea['fields']['precios_pliegos'];
|
$linea['fields']['precio_libro'] = $linea['fields']['pliegos_libro'] * $linea['fields']['precios_pliegos'];
|
||||||
// Precio papel pedido
|
// Precio papel pedido
|
||||||
$linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma);
|
$linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma);
|
||||||
$linea['fields']['margen_papel_pedido'] = $linea['fields']['pliegos_libro'] * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma);;
|
$linea['fields']['margen_papel_pedido'] = $linea['fields']['pliegos_libro'] * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma);
|
||||||
|
;
|
||||||
|
|
||||||
$linea['fields']['a_favor_fibra'] = $parametrosRotativa->a_favor_fibra;
|
$linea['fields']['a_favor_fibra'] = $parametrosRotativa->a_favor_fibra;
|
||||||
$linea['fields']['maquina'] = $maquina->maquina;
|
$linea['fields']['maquina'] = $maquina->maquina;
|
||||||
@ -842,7 +842,7 @@ class PresupuestoService extends BaseService
|
|||||||
{
|
{
|
||||||
$ancho_total = 0;
|
$ancho_total = 0;
|
||||||
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
|
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
|
||||||
if($datosPedido->ancho > 210 || $datosPedido->alto > 297){
|
if ($datosPedido->ancho >= 210) {
|
||||||
$sangre_cubierta = 15;
|
$sangre_cubierta = 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -878,8 +878,10 @@ class PresupuestoService extends BaseService
|
|||||||
$ancho_total += (2 * 7 + 2 * self::SANGRE_FORMAS) + 7;
|
$ancho_total += (2 * 7 + 2 * self::SANGRE_FORMAS) + 7;
|
||||||
}
|
}
|
||||||
// Wire-o y espiral (tapa blanda y tapa dura)
|
// Wire-o y espiral (tapa blanda y tapa dura)
|
||||||
else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
else if (
|
||||||
$tipo_impresion_id == 7 || $tipo_impresion_id == 8) {
|
$tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
||||||
|
$tipo_impresion_id == 7 || $tipo_impresion_id == 8
|
||||||
|
) {
|
||||||
// En este caso, la cubierta se imprime como dos formas separadas, pero hay que dejar un
|
// En este caso, la cubierta se imprime como dos formas separadas, pero hay que dejar un
|
||||||
// espacio entre ellas para poder cortarlas
|
// espacio entre ellas para poder cortarlas
|
||||||
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina_id, 2);
|
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina_id, 2);
|
||||||
@ -904,8 +906,7 @@ class PresupuestoService extends BaseService
|
|||||||
// Se le suma 20mm de sangre por cada lado. Como son 2 hojas independientes, se multiplica por 4
|
// Se le suma 20mm de sangre por cada lado. Como son 2 hojas independientes, se multiplica por 4
|
||||||
$ancho_total += (4 * $sangre_cubierta);
|
$ancho_total += (4 * $sangre_cubierta);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// En cualquier otro caso se le suma 5mm de sangre por cada lado
|
// En cualquier otro caso se le suma 5mm de sangre por cada lado
|
||||||
$ancho_total += (2 * self::SANGRE_FORMAS);
|
$ancho_total += (2 * self::SANGRE_FORMAS);
|
||||||
}
|
}
|
||||||
@ -922,11 +923,15 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
if ($datosPedido) {
|
if ($datosPedido) {
|
||||||
$alto_total = floatval($datosPedido->alto);
|
$alto_total = floatval($datosPedido->alto);
|
||||||
|
$sangre_cubierta = self::SANGRE_FORMAS_CUBIERTA;
|
||||||
|
if ($datosPedido->alto >= 297) {
|
||||||
|
$sangre_cubierta = 15;
|
||||||
|
}
|
||||||
// Tapa dura (cosido y fresado)
|
// Tapa dura (cosido y fresado)
|
||||||
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
|
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
|
||||||
// Se añaden 20mm de sangre por cada lado + 3.5mm extra por cada lado de vuelo
|
// Se añaden 20mm de sangre por cada lado + 3.5mm extra por cada lado de vuelo
|
||||||
if ($uso == "cubierta")
|
if ($uso == "cubierta")
|
||||||
$alto_total += (2*3.5 + 2 * self::SANGRE_FORMAS_CUBIERTA);
|
$alto_total += (2 * 3.5 + 2 * $sangre_cubierta);
|
||||||
// si es sobrecubierta
|
// si es sobrecubierta
|
||||||
// Se añaden 5mm de sangre por cada lado + 7mm de vuelo
|
// Se añaden 5mm de sangre por cada lado + 7mm de vuelo
|
||||||
else
|
else
|
||||||
@ -1023,9 +1028,7 @@ class PresupuestoService extends BaseService
|
|||||||
$papel_formato = (new PapelFormatoModel())->find(($input_data['presupuesto'])->papel_formato_id);
|
$papel_formato = (new PapelFormatoModel())->find(($input_data['presupuesto'])->papel_formato_id);
|
||||||
$ancho = $papel_formato->ancho;
|
$ancho = $papel_formato->ancho;
|
||||||
$alto = $papel_formato->alto;
|
$alto = $papel_formato->alto;
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
$ancho = ($input_data['presupuesto'])->papel_formato_ancho;
|
$ancho = ($input_data['presupuesto'])->papel_formato_ancho;
|
||||||
$alto = ($input_data['presupuesto'])->papel_formato_alto;
|
$alto = ($input_data['presupuesto'])->papel_formato_alto;
|
||||||
}
|
}
|
||||||
@ -1057,7 +1060,8 @@ class PresupuestoService extends BaseService
|
|||||||
'color' => $linea->rotativa_pag_color,
|
'color' => $linea->rotativa_pag_color,
|
||||||
),
|
),
|
||||||
'cliente_id' => ($input_data['presupuesto'])->cliente_id,
|
'cliente_id' => ($input_data['presupuesto'])->cliente_id,
|
||||||
'datosTipolog' => [(object)array(
|
'datosTipolog' => [
|
||||||
|
(object) array(
|
||||||
'negro' => $linea->rotativa_negro,
|
'negro' => $linea->rotativa_negro,
|
||||||
'cyan' => $linea->rotativa_cyan,
|
'cyan' => $linea->rotativa_cyan,
|
||||||
'magenta' => $linea->rotativa_magenta,
|
'magenta' => $linea->rotativa_magenta,
|
||||||
@ -1065,7 +1069,8 @@ class PresupuestoService extends BaseService
|
|||||||
'cg' => $linea->rotativa_cg,
|
'cg' => $linea->rotativa_cg,
|
||||||
'gota_negro' => $linea->rotativa_gota_negro,
|
'gota_negro' => $linea->rotativa_gota_negro,
|
||||||
'gota_color' => $linea->rotativa_gota_color,
|
'gota_color' => $linea->rotativa_gota_color,
|
||||||
)]
|
)
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
$comp_data = PresupuestoService::obtenerComparadorRotativa($datos);
|
$comp_data = PresupuestoService::obtenerComparadorRotativa($datos);
|
||||||
@ -1088,7 +1093,8 @@ class PresupuestoService extends BaseService
|
|||||||
'papel_generico' => $papel_generico,
|
'papel_generico' => $papel_generico,
|
||||||
'gramaje' => $linea->gramaje,
|
'gramaje' => $linea->gramaje,
|
||||||
'cliente_id' => ($input_data['presupuesto'])->cliente_id,
|
'cliente_id' => ($input_data['presupuesto'])->cliente_id,
|
||||||
'datosTipolog' => [(object)array(
|
'datosTipolog' => [
|
||||||
|
(object) array(
|
||||||
'negro' => $linea->rotativa_negro,
|
'negro' => $linea->rotativa_negro,
|
||||||
'cyan' => $linea->rotativa_cyan,
|
'cyan' => $linea->rotativa_cyan,
|
||||||
'magenta' => $linea->rotativa_magenta,
|
'magenta' => $linea->rotativa_magenta,
|
||||||
@ -1096,7 +1102,8 @@ class PresupuestoService extends BaseService
|
|||||||
'cg' => $linea->rotativa_cg,
|
'cg' => $linea->rotativa_cg,
|
||||||
'gota_negro' => $linea->rotativa_gota_negro,
|
'gota_negro' => $linea->rotativa_gota_negro,
|
||||||
'gota_color' => $linea->rotativa_gota_color,
|
'gota_color' => $linea->rotativa_gota_color,
|
||||||
)]
|
)
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
// si la línea es cubierta o sobrecubierta, es HQ y color
|
// si la línea es cubierta o sobrecubierta, es HQ y color
|
||||||
@ -1110,15 +1117,13 @@ class PresupuestoService extends BaseService
|
|||||||
$datos['datosPedido']->solapas_ancho = ($input_data['presupuesto'])->solapas_ancho_sobrecubierta;
|
$datos['datosPedido']->solapas_ancho = ($input_data['presupuesto'])->solapas_ancho_sobrecubierta;
|
||||||
$datos['datosPedido']->lomo = ($input_data['presupuesto'])->lomo_sobrecubierta;
|
$datos['datosPedido']->lomo = ($input_data['presupuesto'])->lomo_sobrecubierta;
|
||||||
$datos['uso'] = 'sobrecubierta';
|
$datos['uso'] = 'sobrecubierta';
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$datos['datosPedido']->solapas = ($input_data['presupuesto'])->solapas;
|
$datos['datosPedido']->solapas = ($input_data['presupuesto'])->solapas;
|
||||||
$datos['datosPedido']->solapas_ancho = ($input_data['presupuesto'])->solapas_ancho;
|
$datos['datosPedido']->solapas_ancho = ($input_data['presupuesto'])->solapas_ancho;
|
||||||
$datos['datosPedido']->lomo = ($input_data['presupuesto'])->lomo_cubierta;
|
$datos['datosPedido']->lomo = ($input_data['presupuesto'])->lomo_cubierta;
|
||||||
$datos['uso'] = 'cubierta';
|
$datos['uso'] = 'cubierta';
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$datos['isColor'] = str_contains($linea->tipo, '_color') ? true : false;
|
$datos['isColor'] = str_contains($linea->tipo, '_color') ? true : false;
|
||||||
$datos['isHq'] = str_contains($linea->tipo, 'hq') ? true : false;
|
$datos['isHq'] = str_contains($linea->tipo, 'hq') ? true : false;
|
||||||
$datos['uso'] = 'interior';
|
$datos['uso'] = 'interior';
|
||||||
@ -1152,8 +1157,7 @@ class PresupuestoService extends BaseService
|
|||||||
$linea_to_save = (new PresupuestoLineaModel())->find($linea->id);
|
$linea_to_save = (new PresupuestoLineaModel())->find($linea->id);
|
||||||
$cambios = true;
|
$cambios = true;
|
||||||
array_push($lineas, $linea_to_save);
|
array_push($lineas, $linea_to_save);
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
array_push($lineas, $linea);
|
array_push($lineas, $linea);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1166,7 +1170,8 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static function obtenerValorLineaPresupuesto($input_data, $linea){
|
private static function obtenerValorLineaPresupuesto($input_data, $linea)
|
||||||
|
{
|
||||||
|
|
||||||
$tipo_impresion_id = $input_data['tipo_impresion_id'];
|
$tipo_impresion_id = $input_data['tipo_impresion_id'];
|
||||||
$tirada = $input_data['tirada'];
|
$tirada = $input_data['tirada'];
|
||||||
@ -1216,7 +1221,8 @@ class PresupuestoService extends BaseService
|
|||||||
$data['maquina'] = $maquina;
|
$data['maquina'] = $maquina;
|
||||||
$data['papel_generico'] = $papel_generico;
|
$data['papel_generico'] = $papel_generico;
|
||||||
$data['a_favor_fibra'] = $linea->rotativa_a_favor_fibra;
|
$data['a_favor_fibra'] = $linea->rotativa_a_favor_fibra;
|
||||||
$data['datosTipolog'] = [(object)array(
|
$data['datosTipolog'] = [
|
||||||
|
(object) array(
|
||||||
'negro' => $linea->rotativa_negro,
|
'negro' => $linea->rotativa_negro,
|
||||||
'cyan' => $linea->rotativa_cyan,
|
'cyan' => $linea->rotativa_cyan,
|
||||||
'magenta' => $linea->rotativa_magenta,
|
'magenta' => $linea->rotativa_magenta,
|
||||||
@ -1224,7 +1230,8 @@ class PresupuestoService extends BaseService
|
|||||||
'cg' => $linea->rotativa_cg,
|
'cg' => $linea->rotativa_cg,
|
||||||
'gota_negro' => $linea->rotativa_gota_negro,
|
'gota_negro' => $linea->rotativa_gota_negro,
|
||||||
'gota_color' => $linea->rotativa_gota_color,
|
'gota_color' => $linea->rotativa_gota_color,
|
||||||
)];
|
)
|
||||||
|
];
|
||||||
$data['gramaje'] = $linea->gramaje;
|
$data['gramaje'] = $linea->gramaje;
|
||||||
|
|
||||||
switch ($linea->tipo) {
|
switch ($linea->tipo) {
|
||||||
@ -1305,8 +1312,10 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
$output_data = PresupuestoService::getLineaPresupuestoPlana($data);
|
$output_data = PresupuestoService::getLineaPresupuestoPlana($data);
|
||||||
|
|
||||||
if ($tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
if (
|
||||||
$tipo_impresion_id == 7 || $tipo_impresion_id == 8) {
|
$tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
||||||
|
$tipo_impresion_id == 7 || $tipo_impresion_id == 8
|
||||||
|
) {
|
||||||
|
|
||||||
$output_data['fields']['num_formas']['num_formas_horizontales'] *= 2;
|
$output_data['fields']['num_formas']['num_formas_horizontales'] *= 2;
|
||||||
$output_data['fields']['num_formas']['value'] *= 2;
|
$output_data['fields']['num_formas']['value'] *= 2;
|
||||||
@ -1317,7 +1326,8 @@ class PresupuestoService extends BaseService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Funcion que procesa los servicios y actualiza los precios en caso de cambio
|
// Funcion que procesa los servicios y actualiza los precios en caso de cambio
|
||||||
public static function checkLineasServicios($input_data, $servicios){
|
public static function checkLineasServicios($input_data, $servicios)
|
||||||
|
{
|
||||||
|
|
||||||
$cambio_en_servicios = false;
|
$cambio_en_servicios = false;
|
||||||
$cambio = false;
|
$cambio = false;
|
||||||
@ -1354,7 +1364,8 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
// Funcion que procesa los servicios de acabado del presupuesto
|
// Funcion que procesa los servicios de acabado del presupuesto
|
||||||
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
||||||
private static function procesarServiciosAcabado($input_data, $servicios){
|
private static function procesarServiciosAcabado($input_data, $servicios)
|
||||||
|
{
|
||||||
|
|
||||||
$serviciosUpdated = [];
|
$serviciosUpdated = [];
|
||||||
$cambio = false;
|
$cambio = false;
|
||||||
@ -1365,14 +1376,15 @@ class PresupuestoService extends BaseService
|
|||||||
// Si es un presupuesto duplicado hay que buscar el proveedor más barato
|
// Si es un presupuesto duplicado hay que buscar el proveedor más barato
|
||||||
if ($input_data['is_duplicado']) {
|
if ($input_data['is_duplicado']) {
|
||||||
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], -1, $input_data['POD']);
|
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], -1, $input_data['POD']);
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $servicio->proveedor_id, $input_data['POD']);
|
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $servicio->proveedor_id, $input_data['POD']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($nueva_tarifa && count($nueva_tarifa) > 0) {
|
if ($nueva_tarifa && count($nueva_tarifa) > 0) {
|
||||||
if(round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad,2) ||
|
if (
|
||||||
$nueva_tarifa[0]->margen != $servicio->margen){
|
round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad, 2) ||
|
||||||
|
$nueva_tarifa[0]->margen != $servicio->margen
|
||||||
|
) {
|
||||||
|
|
||||||
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
||||||
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
||||||
@ -1392,7 +1404,8 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
// Funcion que procesa los servicios de manipulado del presupuesto
|
// Funcion que procesa los servicios de manipulado del presupuesto
|
||||||
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
||||||
private static function procesarServiciosManipulado($input_data, $servicios){
|
private static function procesarServiciosManipulado($input_data, $servicios)
|
||||||
|
{
|
||||||
|
|
||||||
$serviciosUpdated = [];
|
$serviciosUpdated = [];
|
||||||
$cambio = false;
|
$cambio = false;
|
||||||
@ -1402,8 +1415,10 @@ class PresupuestoService extends BaseService
|
|||||||
$count = 0;
|
$count = 0;
|
||||||
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_manipulado_id, $input_data['tirada'], $input_data['POD']);
|
$nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_manipulado_id, $input_data['tirada'], $input_data['POD']);
|
||||||
if ($nueva_tarifa && count($nueva_tarifa) > 0) {
|
if ($nueva_tarifa && count($nueva_tarifa) > 0) {
|
||||||
if(round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad,2) ||
|
if (
|
||||||
$nueva_tarifa[0]->margen != $servicio->margen){
|
round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad, 2) ||
|
||||||
|
$nueva_tarifa[0]->margen != $servicio->margen
|
||||||
|
) {
|
||||||
|
|
||||||
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
||||||
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
||||||
@ -1424,7 +1439,8 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
// Funcion que procesa los servicios de encuadernacion del presupuesto
|
// Funcion que procesa los servicios de encuadernacion del presupuesto
|
||||||
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
// y actualiza los precios en caso de cambio de valor en precio_unidad
|
||||||
private static function procesarServiciosEncuadernacion($input_data, $servicios){
|
private static function procesarServiciosEncuadernacion($input_data, $servicios)
|
||||||
|
{
|
||||||
|
|
||||||
$serviciosUpdated = [];
|
$serviciosUpdated = [];
|
||||||
$cambio = false;
|
$cambio = false;
|
||||||
@ -1444,7 +1460,8 @@ class PresupuestoService extends BaseService
|
|||||||
$input_data['tirada'],
|
$input_data['tirada'],
|
||||||
-1,
|
-1,
|
||||||
$input_data['POD'],
|
$input_data['POD'],
|
||||||
$paginas_cuadernillo);
|
$paginas_cuadernillo
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$nueva_tarifa = $model->getPrecioTarifa(
|
$nueva_tarifa = $model->getPrecioTarifa(
|
||||||
$servicio->tarifa_encuadernado_id,
|
$servicio->tarifa_encuadernado_id,
|
||||||
@ -1453,7 +1470,8 @@ class PresupuestoService extends BaseService
|
|||||||
$input_data['ancho'],
|
$input_data['ancho'],
|
||||||
$input_data['alto'],
|
$input_data['alto'],
|
||||||
-1,
|
-1,
|
||||||
$input_data['POD']);
|
$input_data['POD']
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1468,7 +1486,8 @@ class PresupuestoService extends BaseService
|
|||||||
$input_data['tirada'],
|
$input_data['tirada'],
|
||||||
$servicio->proveedor_id,
|
$servicio->proveedor_id,
|
||||||
$input_data['POD'],
|
$input_data['POD'],
|
||||||
$paginas_cuadernillo);
|
$paginas_cuadernillo
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$nueva_tarifa = $model->getPrecioTarifa(
|
$nueva_tarifa = $model->getPrecioTarifa(
|
||||||
$servicio->tarifa_encuadernado_id,
|
$servicio->tarifa_encuadernado_id,
|
||||||
@ -1477,7 +1496,8 @@ class PresupuestoService extends BaseService
|
|||||||
$input_data['ancho'],
|
$input_data['ancho'],
|
||||||
$input_data['alto'],
|
$input_data['alto'],
|
||||||
$servicio->proveedor_id,
|
$servicio->proveedor_id,
|
||||||
$input_data['POD']);
|
$input_data['POD']
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1492,17 +1512,18 @@ class PresupuestoService extends BaseService
|
|||||||
$nueva_tarifa[0]->tiempo = 0;
|
$nueva_tarifa[0]->tiempo = 0;
|
||||||
if ($servicio->tiempo == null)
|
if ($servicio->tiempo == null)
|
||||||
$servicio->tiempo = 0;
|
$servicio->tiempo = 0;
|
||||||
if(round($nueva_tarifa[0]->precio_unidad, 2) != round(floatval($servicio->precio_unidad),2) ||
|
if (
|
||||||
|
round($nueva_tarifa[0]->precio_unidad, 2) != round(floatval($servicio->precio_unidad), 2) ||
|
||||||
$nueva_tarifa[0]->margen != floatval($servicio->margen) ||
|
$nueva_tarifa[0]->margen != floatval($servicio->margen) ||
|
||||||
$nueva_tarifa[0]->tiempo != floatval($servicio->tiempo)){
|
$nueva_tarifa[0]->tiempo != floatval($servicio->tiempo)
|
||||||
|
) {
|
||||||
|
|
||||||
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
||||||
$servicio->tiempo = $nueva_tarifa[0]->tiempo == null ? 0 : round($nueva_tarifa[0]->tiempo, 2);
|
$servicio->tiempo = $nueva_tarifa[0]->tiempo == null ? 0 : round($nueva_tarifa[0]->tiempo, 2);
|
||||||
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
||||||
$servicio->margen = round($nueva_tarifa[0]->margen);
|
$servicio->margen = round($nueva_tarifa[0]->margen);
|
||||||
$cambio = true;
|
$cambio = true;
|
||||||
}
|
} else if ($input_data['is_duplicado'] && $nueva_tarifa[0]->proveedor_id != $servicio->proveedor_id) {
|
||||||
else if($input_data['is_duplicado'] && $nueva_tarifa[0]->proveedor_id != $servicio->proveedor_id){
|
|
||||||
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
$servicio->precio_unidad = round($nueva_tarifa[0]->precio_unidad, 2);
|
||||||
$servicio->tiempo = $nueva_tarifa[0]->tiempo == null ? "" : round($nueva_tarifa[0]->tiempo, 2);
|
$servicio->tiempo = $nueva_tarifa[0]->tiempo == null ? "" : round($nueva_tarifa[0]->tiempo, 2);
|
||||||
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
$servicio->precio_total = round($nueva_tarifa[0]->total, 2);
|
||||||
@ -1522,7 +1543,8 @@ class PresupuestoService extends BaseService
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function checkLineasEnvios($envios){
|
public static function checkLineasEnvios($envios)
|
||||||
|
{
|
||||||
|
|
||||||
$cambio = false;
|
$cambio = false;
|
||||||
|
|
||||||
@ -1551,8 +1573,10 @@ class PresupuestoService extends BaseService
|
|||||||
}
|
}
|
||||||
$margen += $coste * floatval($nueva_tarifa[0]->margen) / 100.0;
|
$margen += $coste * floatval($nueva_tarifa[0]->margen) / 100.0;
|
||||||
|
|
||||||
if(round($coste, 2) != $envio->precio ||
|
if (
|
||||||
$margen != $envio->margen || $nueva_tarifa[0]->id != $envio->tarifa_id){
|
round($coste, 2) != $envio->precio ||
|
||||||
|
$margen != $envio->margen || $nueva_tarifa[0]->id != $envio->tarifa_id
|
||||||
|
) {
|
||||||
|
|
||||||
$envio->precio = round($coste, 2);
|
$envio->precio = round($coste, 2);
|
||||||
$envio->margen = $margen;
|
$envio->margen = $margen;
|
||||||
@ -1588,7 +1612,8 @@ class PresupuestoService extends BaseService
|
|||||||
// - gramaje: gramaje del papel seleccionado
|
// - gramaje: gramaje del papel seleccionado
|
||||||
// - cliente_id: id del cliente al que va destinado el presupuesto
|
// - cliente_id: id del cliente al que va destinado el presupuesto
|
||||||
// - datosTipolog: datos referentes a las tintas
|
// - datosTipolog: datos referentes a las tintas
|
||||||
public static function obtenerComparadorRotativa($input_data){
|
public static function obtenerComparadorRotativa($input_data)
|
||||||
|
{
|
||||||
|
|
||||||
$paginas = $input_data['paginas'];
|
$paginas = $input_data['paginas'];
|
||||||
$datosPedido = $input_data['datosPedido'];
|
$datosPedido = $input_data['datosPedido'];
|
||||||
@ -1616,8 +1641,7 @@ class PresupuestoService extends BaseService
|
|||||||
if ($paginas->color > 0) {
|
if ($paginas->color > 0) {
|
||||||
$tipo = 'color';
|
$tipo = 'color';
|
||||||
$opciones_papel['color'] = 1;
|
$opciones_papel['color'] = 1;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$opciones_papel['bn'] = 1;
|
$opciones_papel['bn'] = 1;
|
||||||
$tipo = 'negro';
|
$tipo = 'negro';
|
||||||
}
|
}
|
||||||
@ -1713,7 +1737,8 @@ class PresupuestoService extends BaseService
|
|||||||
// - cliente_id: id del cliente al que va destinado el presupuesto
|
// - cliente_id: id del cliente al que va destinado el presupuesto
|
||||||
// - datosTipolog: datos referentes a las tintas (opcional)
|
// - datosTipolog: datos referentes a las tintas (opcional)
|
||||||
// - a_favor_fibra: dirección de la impresión
|
// - a_favor_fibra: dirección de la impresión
|
||||||
public static function obtenerComparadorPlana($input_data){
|
public static function obtenerComparadorPlana($input_data)
|
||||||
|
{
|
||||||
|
|
||||||
$uso = $input_data['uso'];
|
$uso = $input_data['uso'];
|
||||||
$tipo_impresion_id = $input_data['tipo_impresion_id'];
|
$tipo_impresion_id = $input_data['tipo_impresion_id'];
|
||||||
@ -1776,8 +1801,10 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
$linea = PresupuestoService::getLineaPresupuestoPlana($data);
|
$linea = PresupuestoService::getLineaPresupuestoPlana($data);
|
||||||
|
|
||||||
if ($tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
if (
|
||||||
$tipo_impresion_id == 7 || $tipo_impresion_id == 8) {
|
$tipo_impresion_id == 5 || $tipo_impresion_id == 6 ||
|
||||||
|
$tipo_impresion_id == 7 || $tipo_impresion_id == 8
|
||||||
|
) {
|
||||||
|
|
||||||
if ($uso == 'cubierta') {
|
if ($uso == 'cubierta') {
|
||||||
$linea['fields']['num_formas']['num_formas_horizontales'] *= 2;
|
$linea['fields']['num_formas']['num_formas_horizontales'] *= 2;
|
||||||
@ -1794,8 +1821,7 @@ class PresupuestoService extends BaseService
|
|||||||
$linea['fields']['tipo_linea'] = 'lp_colorhq';
|
$linea['fields']['tipo_linea'] = 'lp_colorhq';
|
||||||
else
|
else
|
||||||
$linea['fields']['tipo_linea'] = 'lp_color';
|
$linea['fields']['tipo_linea'] = 'lp_color';
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
if ($isHq)
|
if ($isHq)
|
||||||
$linea['fields']['tipo_linea'] = 'lp_bnhq';
|
$linea['fields']['tipo_linea'] = 'lp_bnhq';
|
||||||
else
|
else
|
||||||
@ -1853,7 +1879,8 @@ class PresupuestoService extends BaseService
|
|||||||
*******************************/
|
*******************************/
|
||||||
|
|
||||||
// Funcion que comprueba si existe una maquina
|
// Funcion que comprueba si existe una maquina
|
||||||
private static function checkMaquina($maquina_id){
|
private static function checkMaquina($maquina_id)
|
||||||
|
{
|
||||||
|
|
||||||
$maquina = (new MaquinaModel())->find($maquina_id);
|
$maquina = (new MaquinaModel())->find($maquina_id);
|
||||||
if (!$maquina) {
|
if (!$maquina) {
|
||||||
@ -1864,7 +1891,8 @@ class PresupuestoService extends BaseService
|
|||||||
|
|
||||||
|
|
||||||
// Funcion que comprueba si existe un papel de impresion
|
// Funcion que comprueba si existe un papel de impresion
|
||||||
private static function checkPapelImpresion($papel_impresion_id){
|
private static function checkPapelImpresion($papel_impresion_id)
|
||||||
|
{
|
||||||
|
|
||||||
$papel = (new PapelImpresionModel())->find($papel_impresion_id);
|
$papel = (new PapelImpresionModel())->find($papel_impresion_id);
|
||||||
if (!$papel) {
|
if (!$papel) {
|
||||||
|
|||||||
@ -132,7 +132,9 @@
|
|||||||
<div id="form_buttons" class="row col-sm-12 justify-content-center" style="display: none;">
|
<div id="form_buttons" class="row col-sm-12 justify-content-center" style="display: none;">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<?php if($formAction == 'edit'): ?>
|
||||||
<?= view("themes/vuexy/components/chat_internal_presupuesto",data:["modelId" => $presupuestoId,"type" => "presupuesto"]) ?>
|
<?= view("themes/vuexy/components/chat_internal_presupuesto",data:["modelId" => $presupuestoId,"type" => "presupuesto"]) ?>
|
||||||
|
<?php endif; ?>
|
||||||
</div><!--//.row -->
|
</div><!--//.row -->
|
||||||
<?= view("themes/_commonPartialsBs/_modalConfirmDialog") ?>
|
<?= view("themes/_commonPartialsBs/_modalConfirmDialog") ?>
|
||||||
<?= view("themes/_commonPartialsBs/_modalMessageDialog") ?>
|
<?= view("themes/_commonPartialsBs/_modalMessageDialog") ?>
|
||||||
|
|||||||
@ -79,6 +79,7 @@ class PresupuestoCliente {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(".calcular-presupuesto").on('change', this.checkForm.bind(this));
|
$(".calcular-presupuesto").on('change', this.checkForm.bind(this));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -145,9 +146,21 @@ class PresupuestoCliente {
|
|||||||
if (datos_to_check.direcciones) {
|
if (datos_to_check.direcciones) {
|
||||||
delete datos_to_check.direcciones;
|
delete datos_to_check.direcciones;
|
||||||
}
|
}
|
||||||
if (datos_to_check.posPaginasColor) {
|
if (datos_to_check.posPaginasColor == "" || datos_to_check.posPaginasColor == null) {
|
||||||
delete datos_to_check.posPaginasColor;
|
delete datos_to_check.posPaginasColor;
|
||||||
}
|
}
|
||||||
|
if(datos_to_check.cubierta.acabados.barniz == undefined){
|
||||||
|
delete datos_to_check.cubierta.acabados.barniz;
|
||||||
|
}
|
||||||
|
if(datos_to_check.cubierta.acabados.plastificado == undefined){
|
||||||
|
delete datos_to_check.cubierta.acabados.plastificado;
|
||||||
|
}
|
||||||
|
if(datos_to_check.cubierta.acabados.estampado == undefined){
|
||||||
|
delete datos_to_check.cubierta.acabados.estampado;
|
||||||
|
}
|
||||||
|
if(datos_to_check.sobrecubierta.plastificado == undefined){
|
||||||
|
delete datos_to_check.sobrecubierta.plastificado;
|
||||||
|
}
|
||||||
|
|
||||||
if (Object.values(datos_to_check).every(this.#isValidDataForm)) {
|
if (Object.values(datos_to_check).every(this.#isValidDataForm)) {
|
||||||
try {
|
try {
|
||||||
@ -352,7 +365,7 @@ class PresupuestoCliente {
|
|||||||
$(`#containerTiradasEnvios .tirada-envio input[tirada="${response.tiradas[0]}"]`).trigger('click');
|
$(`#containerTiradasEnvios .tirada-envio input[tirada="${response.tiradas[0]}"]`).trigger('click');
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
$('#loader').modal('hide');
|
||||||
// DEBUG
|
// DEBUG
|
||||||
//console.log(response);
|
//console.log(response);
|
||||||
}
|
}
|
||||||
@ -420,7 +433,6 @@ class PresupuestoCliente {
|
|||||||
|
|
||||||
cubierta: {
|
cubierta: {
|
||||||
tipoCubierta: this.disenioCubierta.disenioCubierta.filter('.selected').attr('id'),
|
tipoCubierta: this.disenioCubierta.disenioCubierta.filter('.selected').attr('id'),
|
||||||
lomoRedondo: this.disenioCubierta.disenioCubierta.filter('.selected').attr('id').includes('Redondo') ? 1 : 0,
|
|
||||||
papelCubierta: this.disenioCubierta.getPapel(),
|
papelCubierta: this.disenioCubierta.getPapel(),
|
||||||
gramajeCubierta: this.disenioCubierta.getGramaje(),
|
gramajeCubierta: this.disenioCubierta.getGramaje(),
|
||||||
cabezada: this.disenioCubierta.getCabezada(),
|
cabezada: this.disenioCubierta.getCabezada(),
|
||||||
@ -438,6 +450,10 @@ class PresupuestoCliente {
|
|||||||
'prototipo': this.datosGenerales.prototipo.is(':checked') ? 1 : 0,
|
'prototipo': this.datosGenerales.prototipo.is(':checked') ? 1 : 0,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
let lomoRedondo = 0;
|
||||||
|
if(this.disenioCubierta.disenioCubierta.filter('.selected').length > 0)
|
||||||
|
lomoRedondo = this.disenioCubierta.disenioCubierta.filter('.selected').attr('id').includes('Redondo') ? 1 : 0;
|
||||||
|
this.datos.cubierta.lomoRedondo = lomoRedondo;
|
||||||
|
|
||||||
if (this.datos.tipo == "cosido") {
|
if (this.datos.tipo == "cosido") {
|
||||||
this.datos.paginasCuadernillo = this.datosGenerales.paginasCuadernillo.val();
|
this.datos.paginasCuadernillo = this.datosGenerales.paginasCuadernillo.val();
|
||||||
|
|||||||
Reference in New Issue
Block a user