Merge branch 'main' into feat/sk-20

This commit is contained in:
amazuecos
2025-01-28 19:04:21 +01:00
14 changed files with 268 additions and 54 deletions

View File

@ -314,8 +314,15 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
$cubierta = goSanitize($this->request->getGet('cubierta'))[0] ?? 0;
$tapa_dura = goSanitize($this->request->getGet('tapa_dura'))[0] ?? null;
$menu = $this->model->getPapelCliente($tipo, $cubierta, $selected_papel, $tapa_dura, false, $POD);
$menu2 = $this->model->getPapelCliente($tipo, $cubierta, $selected_papel, $tapa_dura, true, $POD);
$ancho = floatval($this->request->getGet('ancho') ?? 0);
$alto = floatval($this->request->getGet('alto') ?? 0);
$solapas = floatval($this->request->getGet('solapas') ?? 0);
$lomo = floatval($this->request->getGet('lomo') ?? 0);
$anchoLibro = 2* $ancho + 2 * $solapas + $lomo;
$menu = $this->model->getPapelCliente($tipo, $cubierta, $selected_papel, $tapa_dura, false, $POD, $anchoLibro, $alto, $tirada);
$menu2 = $this->model->getPapelCliente($tipo, $cubierta, $selected_papel, $tapa_dura, true, $POD, $anchoLibro, $alto, $tirada);
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
@ -349,8 +356,17 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
}
$tipo = goSanitize($this->request->getGet('tipo'))[0];
$cubierta = goSanitize($this->request->getGet('cubierta'))[0] ?? 0;
$ancho = floatval($this->request->getGet('ancho') ?? 0);
$alto = floatval($this->request->getGet('alto') ?? 0);
$solapas = floatval($this->request->getGet('solapas') ?? 0);
$lomo = floatval($this->request->getGet('lomo') ?? 0);
$items = $this->model->getPapelCliente($tipo, $cubierta, null, true, $POD);
$tapa_dura = $this->request->getGet('tapa_dura') ?? 0;
$anchoLibro = 2* $ancho + 2 * $solapas + $lomo;
$items = $this->model->getPapelCliente($tipo, $cubierta, null, $tapa_dura, true, $POD, $anchoLibro, $alto, $tirada);
$items = array_map(function ($item) {
return [
'id' => $item->id,

View File

@ -857,7 +857,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'ancho' => intval($reqData['ancho']) ?? 100000,
'alto' => intval($reqData['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
'isCosido' => intval((new TipoPresupuestoModel())->get_isCosido($tipo_impresion_id)), // JJO esto es custom por cada tipo de presupuesto
);
$papel_generico = [
@ -1062,6 +1062,13 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
$ancho = $this->request->getGet('ancho') ?? 0;
$alto = $this->request->getGet('alto') ?? 0;
$solapas = $this->request->getGet('solapas') ?? 0;
$lomo = $this->request->getGet('lomo') ?? 0;
$anchoLibro = 2* $ancho + 2 * $solapas + $lomo;
$tipo = $this->request->getGet("tipo");
$uso = $this->request->getGet("uso") ?? 'interior';
@ -1083,7 +1090,17 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
$model = model('App\Models\Configuracion\PapelGenericoModel');
$query = $model->getPapelForComparador($tipo, $cubierta, $sobrecubierta, $rotativa, $guardas, $tapa_dura, $isPOD);
$query = $model->getPapelForComparador(
$tipo,
$cubierta,
$sobrecubierta,
$rotativa,
$guardas,
$tapa_dura,
$isPOD,
$anchoLibro,
$alto,
$tirada);
if ($this->request->getGet("q")) {
$query->groupStart()
->orLike("lg_papel_generico.nombre", $this->request->getGet("q"))
@ -1106,6 +1123,13 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$tirada = $this->request->getGet("tirada");
$isPOD = intval($tirada) <= intval($POD_value);
$ancho = $this->request->getGet('ancho') ?? 0;
$alto = $this->request->getGet('alto') ?? 0;
$solapas = $this->request->getGet('solapas') ?? 0;
$lomo = $this->request->getGet('lomo') ?? 0;
$anchoLibro = 2* $ancho + 2 * $solapas + $lomo;
$tipo_impresion_id = $this->request->getGet("tipo_impresion");
$tapa_dura = model('App\Models\Configuracion\TipoPresupuestoModel')->get_isTapaDura(intval($tipo_impresion_id));
@ -1130,7 +1154,17 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
}
$model = model('App\Models\Configuracion\PapelGenericoModel');
$query = $model->getGramajeForComparador($tipo, $papel_generico_id, $cubierta, $sobrecubierta, $rotativa, $guardas, $tapa_dura, $isPOD);
$query = $model->getGramajeForComparador($tipo,
$papel_generico_id,
$cubierta,
$sobrecubierta,
$rotativa,
$guardas,
$tapa_dura,
$isPOD,
$anchoLibro,
$alto,
$tirada);
if ($this->request->getGet("q")) {
$query->groupStart()
->orLike("lg_papel_impresion.gramaje", $this->request->getGet("q"))

View File

@ -130,6 +130,8 @@ return [
'estucadoMate170gr' => 'Estucado mate 170 gr',
'estucadoMate200gr' => 'Estucado mate 200 gr',
'acabadoNinguno' => 'Ninguno',
'fajaColor' => 'Imprimir faja a color',
'compInteriorPlana' => 'Interior en plana',
'compInteriorRotativa' => 'Interior en rotativa',

View File

@ -129,16 +129,16 @@ class PapelGenericoModel extends \App\Models\BaseModel
return empty($search)
? $builder
: $builder
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
->groupStart()
->like("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->orLike("t1.id", $search)
->orLike("t1.nombre", $search)
->orLike("t1.code", $search)
->orLike("t1.code_ot", $search)
->groupEnd();
}
@ -149,7 +149,10 @@ class PapelGenericoModel extends \App\Models\BaseModel
$rotativa = false,
$is_guardas = false,
$tapa_dura = false,
$POD = false
$POD = false,
$ancho = 0,
$alto = 0,
$tirada = 0
) {
/*
1.-> Tipo impresion
@ -183,6 +186,8 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.tipo", "impresion")
->where("t4.min <= ", $tirada)
->where("t4.max >= ", $tirada)
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo)
->distinct('t1.id');
@ -196,6 +201,17 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t3_inner.active", 1);
});
$builder->groupStart()
->groupStart()
->where("t4.ancho_impresion >", $ancho)
->where("t4.alto_impresion >", $alto)
->groupEnd()
->orGroupStart()
->where("t4.ancho_impresion >", $alto)
->where("t4.alto_impresion >", $ancho)
->groupEnd()
->groupEnd();
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
$builder->where("t5.uso", 'cubierta');
@ -236,7 +252,10 @@ class PapelGenericoModel extends \App\Models\BaseModel
$rotativa = false,
$is_guardas = false,
$tapa_dura = false,
$POD = false
$POD = false,
$ancho = 0,
$alto = 0,
$tirada = 0
) {
if ($POD == true && ($tipo == 'color' || $tipo == 'negro')) {
if ($tipo == 'color')
@ -264,6 +283,8 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t2.isActivo", 1)
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.min <= ", $tirada)
->where("t4.max >= ", $tirada)
->where("t4.tipo", "impresion")
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo)
@ -278,6 +299,17 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t3_inner.active", 1);
});
$builder->groupStart()
->groupStart()
->where("t4.ancho_impresion >", $ancho)
->where("t4.alto_impresion >", $alto)
->groupEnd()
->orGroupStart()
->where("t4.ancho_impresion >", $alto)
->where("t4.alto_impresion >", $ancho)
->groupEnd()
->groupEnd();
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
$builder->where("t5.uso", 'cubierta');
@ -370,8 +402,17 @@ class PapelGenericoModel extends \App\Models\BaseModel
}
public function getPapelCliente($tipo, $is_cubierta = false, $selected_papel_id = null, $tapa_dura = null, $papel_especial = false, $POD = null)
{
public function getPapelCliente(
$tipo,
$is_cubierta = false,
$selected_papel_id = null,
$tapa_dura = null,
$papel_especial = false,
$POD = null,
$ancho = 0,
$alto = 0,
$tirada = 0
) {
/*
1.-> Tipo impresion
2.-> Maquina
@ -406,6 +447,8 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t2.use_in_client", 1)
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.min <= ", $tirada)
->where("t4.max >= ", $tirada)
->where("t4.tipo", "impresion")
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo)
@ -429,6 +472,8 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t2.use_in_client", 1)
->where("t3.active", 1)
->where("t4.is_deleted", 0)
->where("t4.min <= ", $tirada)
->where("t4.max >= ", $tirada)
->where("t4.tipo", "impresion")
->where("t5.is_deleted", 0)
->where("t5.tipo", $tipo)
@ -443,6 +488,17 @@ class PapelGenericoModel extends \App\Models\BaseModel
->where("t3_inner.active", 1);
});
$builder->groupStart()
->groupStart()
->where("t4.ancho_impresion >", $ancho)
->where("t4.alto_impresion >", $alto)
->groupEnd()
->orGroupStart()
->where("t4.ancho_impresion >", $alto)
->where("t4.alto_impresion >", $ancho)
->groupEnd()
->groupEnd();
if ($is_cubierta == true) {
$builder->where("t2.cubierta", 1);
$builder->where("t5.uso", 'cubierta');

View File

@ -474,13 +474,13 @@ class PresupuestoService extends BaseService
return [];
}
//$multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
$paginas_por_pliego = round($factor_anchura * $factor_altura * 2 /** $multiplicador_pliego*/, 2);
$multiplicador_pliego = $datosPedido->isCosido ? 4 : 2;
$paginas_por_pliego = round($factor_anchura * $factor_altura * $multiplicador_pliego, 2);
$pliegos_libro = round($paginas_por_pliego ? $datosPedido->paginas / $paginas_por_pliego : 0, 2);
$metros_papel_libro = round($pliegos_libro * ($maquina->alto_impresion / 1000.0), 2);
$metros_papel_total = round($metros_papel_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
$paginas_por_pliego_click = round($factor_anchura * $factor_altura_click * 2/** $multiplicador_pliego*/, 2);
$paginas_por_pliego_click = round($factor_anchura * $factor_altura_click * $multiplicador_pliego, 2);
$pliegos_libro_click = round($paginas_por_pliego_click ? $datosPedido->paginas / $paginas_por_pliego_click : 0, 2);
$clicks_libro = round(ceil($pliegos_libro_click) * 2, 2);
$clicks_pedido = round($clicks_libro * ($datosPedido->tirada + $datosPedido->merma), 2);
@ -522,12 +522,15 @@ class PresupuestoService extends BaseService
$data['alto_click'] = $maquina->alto_click;
$direccion_fibra = ($parametrosRotativa->a_favor_fibra === "false" || $parametrosRotativa->a_favor_fibra === 0 ||
$parametrosRotativa->a_favor_fibra === "0" || $parametrosRotativa->a_favor_fibra === false)? 0 : 1;
$formas = PresupuestoService::getNumFormasRot(
$maquina,
$datosPedido->ancho,
$datosPedido->alto,
$datosPedido->isCosido,
$parametrosRotativa->a_favor_fibra
$direccion_fibra
);
$data['num_formas'] = $formas;
@ -541,7 +544,7 @@ class PresupuestoService extends BaseService
public static function calculoDimForma($datosPedido, $parametros)
{
// posicionamos paginas en función de a favor de fibra o no
if (!$parametros->a_favor_fibra) {
if ($parametros->a_favor_fibra === "false" || $parametros->a_favor_fibra === 0 || $parametros->a_favor_fibra === "0" || $parametros->a_favor_fibra === false) {
$anchoLibro = $datosPedido->alto;
$altoLibro = $datosPedido->ancho;
} else {
@ -551,7 +554,7 @@ class PresupuestoService extends BaseService
// si es cosido ancho x 2
if ($datosPedido->isCosido) {
if (!$parametros->a_favor_fibra) {
if ($parametros->a_favor_fibra === "false" || $parametros->a_favor_fibra === 0 || $parametros->a_favor_fibra === "0" || $parametros->a_favor_fibra === false) {
$altoLibro = $altoLibro * 2;
} else {
$anchoLibro = $anchoLibro * 2;

View File

@ -173,19 +173,10 @@
<div class="col-sm-6">
<select class="form-select select2bs2 calcular-presupuesto" id="acabadoCubierta" name="acabado_cubierta">
<option value="0"> <?=lang('Presupuestos.acabadoNinguno') ?> </option>
</select>
</div>
<div id="retractilado"
class="calcular-presupuesto d-flex flex-column align-items-center justify-content-center solapas-cubierta imagen-selector image-container">
<img class="image-presupuesto" src="<?= site_url("assets/img/presupuestoCliente/retractilado.png") ?>"
alt="Retractilado">
<label class="form-label">
Retractilado
</label>
</div>
</div>
</div>
@ -238,6 +229,7 @@
</label>
<select class="form-select select2bs2 calcular-presupuesto" id="acabadoSobrecubierta"
name="acabado_sobrecubierta">
<option value="0"> <?=lang('Presupuestos.acabadoNinguno') ?> </option>
</select>
</div>
</div>