arreglado bug. Ahora se ordenan las filas de lp

This commit is contained in:
2024-01-24 18:14:50 +01:00
parent 07c1b8bc86
commit 32f51e6718
5 changed files with 140 additions and 48 deletions

View File

@ -503,7 +503,12 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$datosPedido->solapas = $reqData['solapas'];
$datosPedido->solapas_ancho = $reqData['solapas_ancho'];
$datosPedido->lomo = $reqData['lomo'];
if($type=='sobrecubierta')
$datosPedido->lomo_cubierta = $reqData['lomo_cubierta'];
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($datosPedido);
// Cubierta y sobrecubierta siempre color HQ
$resourceData = $this->getCompIntData($type, $datosPedido, $papel_generico, $gramaje, $isColor, 1, $cliente_id);

View File

@ -17,12 +17,18 @@ class Test extends BaseController
public function index()
{
/*
$maquina_id = 114;
echo '<pre>';
$maquina_id = 63;
$maquina_model = model('App\Models\Configuracion\MaquinaModel');
$maquina = $maquina_model->find($maquina_id);
$formas = PresupuestoService::getNumFormasPlana('interior', $maquina, 150, 210, true);
$formas = PresupuestoService::getNumFormasPlana('cubierta', $maquina, 493.2, 210, true);
var_dump($formas);
echo '</pre>';
/*
$linea = PresupuestoService::getCostesLinea('interior', $datosPedido, $maquina, $papel, $opciones_papel, $tarifa);
@ -30,14 +36,14 @@ class Test extends BaseController
var_dump($formas);
echo '</pre>';*/
echo '</pre>';
echo '<pre>';
$tarifa_value = $this->get_tarifa_enc(18,150,22,150,210);
var_dump($tarifa_value[0]);
$model = model('App\Models\Presupuestos\PresupuestoEncuadernacionesModel');
$result = $model->calcularTarifa($tarifa_value[0], 150, true);
var_dump($result);
echo '</pre>';
echo '</pre>';*/
}
private function asignar_tarifa_defecto_todos_usuarios()

View File

@ -43,7 +43,9 @@ class PresupuestoService extends BaseService
$response['fields'] = [];
if ($uso!='rotativa') {
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $datosPedido->ancho, $datosPedido->alto, $datosPedido->isCosido);
$ancho_calculo = ($uso=='cubierta' || $uso=='sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $datosPedido->alto, $datosPedido->isCosido);
$response['fields'] = $formas;
}
@ -103,7 +105,7 @@ class PresupuestoService extends BaseService
$mano = PresupuestoService::computeLomoPortada($papel_impresion->espesor);
// peso
$ancho_total = $datosPedido->solapas? $datosPedido->ancho + $datosPedido->solapas_ancho:$datosPedido->ancho;
$ancho_total = $datosPedido->anchoExteriores + $mano;
$peso = PresupuestoService::computePeso($ancho_total, $datosPedido->alto, $papel_impresion->gramaje);
// impresion
@ -459,16 +461,18 @@ class PresupuestoService extends BaseService
if($uso == 'cubierta' || $uso == 'sobrecubierta') {
if(property_exists($maquina, 'forzar_num_formas_horizontales_cubierta') &&
property_exists($maquina, 'forzar_num_formas_horizontales_cubierta')){
property_exists($maquina, 'forzar_num_formas_verticales_cubierta')){
if($maquina->forzar_num_formas_horizontales_cubierta > 0 &&
$maquina->forzar_num_formas_horizontales_cubierta > 0){
$maquina->forzar_num_formas_verticales_cubierta > 0){
// Hay que comprobar que entran
$h1_temp = $maquina->forzar_num_formas_horizontales_cubierta;
$h2_temp = $maquina->forzar_num_formas_verticales_cubierta;
//$num_formas = $h1_temp * $h2_temp;
}
}
}
// No es cubierta ni sobrecubierta
else{
@ -476,14 +480,18 @@ class PresupuestoService extends BaseService
$h1_temp = floor($maquina->ancho_impresion / $anchoForCalculo);
$h2_temp = floor($maquina->ancho_impresion / $alto);
}
// horizontales
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h1_temp);
// Si son mas de 2 formas
if(count($calles)>0)
$h1 = ($h1_temp * $anchoForCalculo + 2 * $calles[0]->externas + ($h1_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h1_temp : $h1_temp - 1;
else
$h1 = $h1_temp;
else{
$h1 = $anchoForCalculo<=$maquina->ancho_impresion?$h1_temp:0;
}
$v1 = floor($maquina->alto_impresion / $alto);
$formas_h = $h1 * $v1; //p1
@ -493,12 +501,14 @@ class PresupuestoService extends BaseService
$calles = (new \App\Models\Configuracion\MaquinasCallesModel())->getCallesForMaquina($maquina->maquina_id, $h2_temp);
if(count($calles)>0)
$h2 = ($h2_temp * $alto + 2 * $calles[0]->externas + ($h2_temp - 1) * $calles[0]->internas < ($maquina->ancho)) ? $h2_temp : $h2_temp - 1;
else
$h2 = $h2_temp;
else{
$h2 = $alto<=$maquina->ancho_impresion?$h2_temp:0;
}
$v2 = floor($maquina->alto_impresion / $anchoForCalculo);
$formas_v = $h2 * $v2; //p2
// Se calcula el numero de formas
if($uso != 'cubierta' && $uso != 'sobrecubierta'){
$num_formas = ($formas_h > $formas_v) ? $formas_h : $formas_v;
@ -531,7 +541,7 @@ class PresupuestoService extends BaseService
$response['num_formas']['num_formas_verticales'] = $h2;
}
}
return $response;
}
@ -579,6 +589,26 @@ class PresupuestoService extends BaseService
}
/**
* Devuelve el ancho de la cubierta/sobrecubierta, incluido el lomo.
*/
public static function getAnchoTotalExteriores($datosPedido=null)
{
$ancho_total = 0;
if ($datosPedido) {
$ancho_total = floatval($datosPedido->ancho)*2 + floatval($datosPedido->lomo);
$ancho_total += property_exists($datosPedido, 'lomo_cubierta')?$datosPedido->lomo_cubierta:0;
// añadimos ancho de las solapas
// si se añaden solapas hay que sumar 3mm de los dobleces
if ($datosPedido->solapas) {
$ancho_total += (floatval($datosPedido->solapas_ancho) * 2) + 6;
}
}
return $ancho_total;
}
/**
* Devuelve la dimensión del lomo interior.
*/

View File

@ -995,6 +995,7 @@
color: 1,
ancho: dimension.ancho,
alto: dimension.alto,
lomo: getLomoLineasPresupuesto(),
solapas: $('#solapas').is(':checked')?1:0,
solapas_ancho: parseInt($('#solapas_ancho').val()),
papel_generico_id: $('#compPapelCubierta').select2('data')[0].id,

View File

@ -26,6 +26,7 @@
<th></th>
<th></th>
<th></th>
<th></th>
<th class="lp-header" width="33px"></th>
<th class="lp-header" style="max-width:80px;"><?= lang('Presupuestos.paginas') ?></th>
<th class="lp-header"><?= lang('Presupuestos.papel') ?></th>
@ -365,7 +366,7 @@ const actionBtns_lp = function(data) {
searching: false,
paging: false,
info: false,
ordering: false,
ordering: true,
responsive: true,
select: false,
rowId: 'row_id',
@ -385,6 +386,15 @@ const actionBtns_lp = function(data) {
orderable: false,
visible: false,
},
{
targets: [11,12,13,14,15,16,17,18,19,20],
orderable: false,
},
{
targets: [10],
orderable: true,
visible: false,
},
{
orderable: false,
searchable: false,
@ -402,6 +412,23 @@ const actionBtns_lp = function(data) {
{data: 'formas_v'},
{data: 'formas_h'},
{data: 'formas_orientacion'},
{data: 'position',
type: "num" ,
render: function (data, type, row, meta){
if(row.row_id.includes('_bn')){
return 0;
}
else if(row.row_id.includes('_color')){
return 1;
}
else if(row.row_id.includes('_cubierta')){
return 2;
}
else if(row.row_id.includes('_sobrecubierta')){
return 3;
}
}
},
{data: 'icon',
render: function ( data, type, row, meta ){
return '<img style="padding: 0; margin:0;" src="' + data + '" />'
@ -537,7 +564,8 @@ const actionBtns_lp = function(data) {
data: actionBtns_lp,
className: 'row-edit dt-center'
}
]
],
"order": [ 10, 'asc' ]
});
tableLineasPresupuesto.on( 'draw.dt', function () {
@ -554,6 +582,9 @@ $(document).on('click', '.btn-delete-lp', function(e) {
.draw();
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
})
@ -886,7 +917,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_bn', 'lp-bn');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_bn()
break
@ -907,7 +938,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_bnhq', 'lp-bnhq');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_bnhq()
break
@ -928,7 +959,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_color', 'lp-color');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_color()
break
@ -949,7 +980,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_colorhq', 'lp-colorhq');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_colorhq()
break
@ -970,7 +1001,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_bn', 'lp-rot-bn');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_rot_bn()
break
@ -991,7 +1022,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_color', 'lp-rot-color');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_rot_color()
break
@ -1010,7 +1041,7 @@ $('#addLineasPresupuesto').on("change", function (e) {
}
var data = processRowData({tipo_maquina: 'toner'}, 'lp_cubierta', 'lp-cubierta');
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
eventos_lp_cubierta()
break
default:
@ -1287,9 +1318,9 @@ function fill_lp_bn(row, fromComparator=false){
var row = tableLineasPresupuesto.row('#lp_bn');
if(row.length>0)
tableLineasPresupuesto.row('#lp_bn').data(data).draw(true)
tableLineasPresupuesto.row('#lp_bn').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_bn');
}
row.child(format(row.data())).show();
@ -1302,7 +1333,6 @@ function fill_lp_bn(row, fromComparator=false){
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
@ -1582,9 +1612,9 @@ function fill_lp_color(row, fromComparator=false){
var row = tableLineasPresupuesto.row('#lp_color');
if(row.length>0)
tableLineasPresupuesto.row('#lp_color').data(data).draw(true)
tableLineasPresupuesto.row('#lp_color').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_color');
}
row.child(format(row.data())).show();
@ -1596,6 +1626,9 @@ function fill_lp_color(row, fromComparator=false){
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
$("#tableLineasPresupuesto").DataTable().columns.adjust();
@ -1876,9 +1909,9 @@ function fill_lp_bnhq(row, fromComparator=false){
var row = tableLineasPresupuesto.row('#lp_bnhq');
if(row.length>0)
tableLineasPresupuesto.row('#lp_bnhq').data(data).draw(true)
tableLineasPresupuesto.row('#lp_bnhq').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_bnhq');
}
row.child(format(row.data())).show();
@ -1890,6 +1923,9 @@ function fill_lp_bnhq(row, fromComparator=false){
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
$("#tableLineasPresupuesto").DataTable().columns.adjust();
@ -2170,9 +2206,9 @@ function fill_lp_colorhq(row, fromComparator=false){
var row = tableLineasPresupuesto.row('#lp_colorhq');
if(row.length>0)
tableLineasPresupuesto.row('#lp_colorhq').data(data).draw(true)
tableLineasPresupuesto.row('#lp_colorhq').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_colorhq');
}
row.child(format(row.data())).show();
@ -2184,6 +2220,9 @@ function fill_lp_colorhq(row, fromComparator=false){
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
$("#tableLineasPresupuesto").DataTable().columns.adjust();
@ -2498,9 +2537,9 @@ function fill_lp_rot_bn(row, fromComparador=false){
var row = tableLineasPresupuesto.row('#lp_rot_bn');
if(row.length>0)
tableLineasPresupuesto.row('#lp_rot_bn').data(data).draw(true)
tableLineasPresupuesto.row('#lp_rot_bn').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_rot_bn');
}
row.child(format(row.data())).show();
@ -2512,6 +2551,9 @@ function fill_lp_rot_bn(row, fromComparador=false){
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
$('.lp_rot_bn').css('display', '')
@ -2831,9 +2873,9 @@ function fill_lp_rot_color(row, fromComparador=false){
var row = tableLineasPresupuesto.row('#lp_rot_color');
if(row.length>0)
tableLineasPresupuesto.row('#lp_rot_color').data(data).draw(true)
tableLineasPresupuesto.row('#lp_rot_color').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_rot_color');
}
row.child(format(row.data())).show();
@ -2845,6 +2887,9 @@ function fill_lp_rot_color(row, fromComparador=false){
calcular_mermas()
updateTotales(true, false, false)
updateTablaEnvios()
// Si existe cubierta, hay que actualizar con el valor del lomo
check_update_cubierta()
}
$("#tableLineasPresupuesto").DataTable().columns.adjust();
@ -3025,8 +3070,9 @@ function calcularPresupuesto_cubierta(fromComparador=false, input_data={}){
solapas_ancho: parseInt($('#solapas_ancho').val()),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
ancho: dimension.ancho+getLomoLineasPresupuesto(),
ancho: dimension.ancho,
alto: dimension.alto,
lomo: getLomoLineasPresupuesto(),
papel_generico_id: input_data.papel_generico_id,
papel_generico: input_data.papel_generico,
gramaje: input_data.gramaje,
@ -3105,9 +3151,9 @@ function fill_lp_cubierta(row, fromComparador=false){
var row = tableLineasPresupuesto.row('#lp_cubierta');
if(row.length>0)
tableLineasPresupuesto.row('#lp_cubierta').data(data).draw(true)
tableLineasPresupuesto.row('#lp_cubierta').data(data).draw()
else{
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row('#lp_cubierta');
}
row.child(format(row.data())).show();
@ -3144,17 +3190,21 @@ function check_update_cubierta(){
let row = tableLineasPresupuesto.row('#lp_cubierta');
if(row.length>0){
calcularPresupuesto_cubierta()
}
}
function getLomoLineasPresupuesto(){
lomoTotal = 0
tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
var rowData = this.data();
lomoTotal += parseFloat(rowData.lomo)
})
let lomoTotal = 0
try{
tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
var rowData = this.data();
lomoTotal += parseFloat(rowData.lomo)
})
}
catch(error){
lomoTotal = 0
}
return lomoTotal
}
@ -3260,7 +3310,7 @@ function fill_lp_from_bbdd(){
var row = tableLineasPresupuesto.row("#" + lp.tipo);
tableLineasPresupuesto.row.add(data).draw(true)
tableLineasPresupuesto.row.add(data).draw()
row = tableLineasPresupuesto.row("#" + lp.tipo);
row.child(format(row.data())).show();