Merge branch 'mod/sumar_clicks' into 'main'

arreglados bugs de lineas. Ahora se suman los clicks en el total

See merge request jjimenez/safekat!124
This commit is contained in:
2024-01-10 20:38:41 +00:00
7 changed files with 59 additions and 46 deletions

View File

@ -22,8 +22,8 @@ CI_ENVIRONMENT = development
# APP # APP
#-------------------------------------------------------------------- #--------------------------------------------------------------------
app.baseURL = 'https://sk-dev.imnavajas.es' #app.baseURL = 'https://sk-dev.imnavajas.es'
# app.baseURL = 'https://sk-jjo.imnavajas.es' app.baseURL = 'https://sk-jjo.imnavajas.es'
# app.baseURL = 'https://sk-imn.imnavajas.es' # app.baseURL = 'https://sk-imn.imnavajas.es'
# app.baseURL = "http://safekat.test/" # app.baseURL = "http://safekat.test/"
# app.forceGlobalSecureRequests = false # app.forceGlobalSecureRequests = false

View File

@ -542,6 +542,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$model = model('App\Models\Presupuestos\PresupuestoLineaModel'); $model = model('App\Models\Presupuestos\PresupuestoLineaModel');
$datos = $reqData['datos'] ?? null; $datos = $reqData['datos'] ?? null;
$presupuesto_id = $reqData['presupuesto_id'] ?? -1; $presupuesto_id = $reqData['presupuesto_id'] ?? -1;
$model->where("presupuesto_id", $presupuesto_id)->delete(); $model->where("presupuesto_id", $presupuesto_id)->delete();
@ -720,23 +721,25 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
} }
$linea['fields']['tipo_maquina'] = $maquina->is_inkjet?'inkjet':'toner'; $linea['fields']['tipo_maquina'] = $maquina->is_inkjet?'inkjet':'toner';
$linea['fields']['precio_hora'] = $precio_hora; $linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0);
$linea['fields']['precio_hora_margen'] = $margen_precio_hora; $linea['fields']['precio_hora_margen'] = $margen_precio_hora;
$linea['fields']['horas_maquina'] = $tiempo; $linea['fields']['horas_maquina'] = $tiempo;
$linea['fields']['precio_impresion_horas'] = $precio_hora*$tiempo*1.0; $linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo;
$linea['fields']['margen_impresion_horas'] = $precio_hora*$tiempo*1.0*$margen_precio_hora/100.0; $linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo;
if($maquina->is_inkjet){ if($maquina->is_inkjet){
$linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma); $linea['fields']['precio_pedido'] = $linea['fields']['precio_libro'] * ($datosPedido->tirada + $datosPedido->merma)*(1+$margen_pliego_impresion);
$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']['total_impresion'] = $linea['fields']['total_impresion'] =
$linea['fields']['precio_pedido'] + // papel $linea['fields']['precio_pedido'] + // papel
$linea['fields']['precio_impresion_horas'] + $linea['fields']['margen_impresion_horas'] + // horas de maquina $linea['fields']['precio_impresion_horas'] + // horas de maquina
$linea['fields']['precio_click_pedido'] + // precio clicks del pedido
$linea['fields']['precio_tinta']; // tinta $linea['fields']['precio_tinta']; // tinta
} }
else{ else{
$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + // papel $linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + // papel
$linea['fields']['precio_impresion_horas']; // impresion $linea['fields']['precio_click_pedido'] + // precio clicks del pedido
$linea['fields']['precio_impresion_horas'] ; // horas de maquina
} }
@ -825,7 +828,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
// Se recorren las máquinas y se calcula el coste de linea por cada una // Se recorren las máquinas y se calcula el coste de linea por cada una
foreach ($maquinas as $maquina) { foreach ($maquinas as $maquina) {
for ($i = 0; $i <= 1; $i++) { for ($i = 1; $i <= 1; $i++) { // Para que por defecto salga sólo a favor de fibra
$parametrosRotativa->a_favor_fibra = $i; $parametrosRotativa->a_favor_fibra = $i;
@ -896,18 +899,19 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
continue; continue;
} }
$linea['fields']['precio_hora'] = $precio_hora; $linea['fields']['precio_hora'] = $precio_hora*(1+$margen_precio_hora/100.0);
$linea['fields']['precio_hora_margen'] = $margen_precio_hora; $linea['fields']['precio_hora_margen'] = $margen_precio_hora;
$linea['fields']['horas_maquina'] = $tiempo; $linea['fields']['horas_maquina'] = $tiempo;
$linea['fields']['precio_impresion_horas'] = $precio_hora*$tiempo*1.0; $linea['fields']['precio_impresion_horas'] = $precio_hora*(1+$margen_precio_hora/100.0)*$tiempo;
$linea['fields']['margen_impresion_horas'] = $precio_hora*$tiempo*1.0*$margen_precio_hora/100.0; $linea['fields']['margen_impresion_horas'] = $precio_hora*($margen_precio_hora/100.0)*$tiempo;
// total linea rotativa // total linea rotativa
//$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + $linea['fields']['precio_click_pedido'] + $linea['fields']['precio_tinta'] + //$linea['fields']['total_impresion'] = $linea['fields']['precio_pedido'] + $linea['fields']['precio_click_pedido'] + $linea['fields']['precio_tinta'] +
// $linea['fields']['total_corte']; // $linea['fields']['total_corte'];
$linea['fields']['total_impresion'] = $linea['fields']['total_impresion'] =
$linea['fields']['precio_pedido'] + // papel $linea['fields']['precio_pedido'] + // papel
$linea['fields']['precio_impresion_horas'] + $linea['fields']['margen_impresion_horas'] + // horas de maquina $linea['fields']['precio_click_pedido'] + // precio clicks del pedido
$linea['fields']['precio_impresion_horas'] + // horas de maquina
$linea['fields']['precio_tinta'] + // tinta $linea['fields']['precio_tinta'] + // tinta
$linea['fields']['total_corte']; // corte $linea['fields']['total_corte']; // corte

View File

@ -31,7 +31,13 @@ class Test extends BaseController
var_dump($formas); var_dump($formas);
echo '</pre>';*/ echo '</pre>';*/
$this->testLineasIntPlana(); 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>';
} }
private function asignar_tarifa_defecto_todos_usuarios() private function asignar_tarifa_defecto_todos_usuarios()

View File

@ -70,7 +70,7 @@ class PresupuestoService extends BaseService
// precio papel // precio papel
$pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']; $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value'];
$pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
$precio_libro = $pliegos_libro * $precio_pliego_impresion; $precio_libro = $pliegos_libro * ($precio_pliego_impresion+$margen_pliego_impresion);
$margen_papel_pedido = $pliegos_libro * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma); $margen_papel_pedido = $pliegos_libro * $margen_pliego_impresion * ($datosPedido->tirada + $datosPedido->merma);
$precio_pedido = $precio_libro * ($datosPedido->tirada + $datosPedido->merma); $precio_pedido = $precio_libro * ($datosPedido->tirada + $datosPedido->merma);

View File

@ -84,6 +84,7 @@ const papelGenericoRotativaColorList = <?php echo json_encode($papelGenericoRota
// Formatting function for row details - modify as you need // Formatting function for row details - modify as you need
function format(d) { function format(d) {
var value = '<tr>'+ var value = '<tr>'+
'<td></td>'+ '<td></td>'+
'<td></td>'+ '<td></td>'+
@ -111,7 +112,7 @@ function format(d) {
'</div>'+ '</div>'+
'<input id="' + d.row_id +'_margenPapelPedido" name="' + d.row_id +'_margenPapelPedido" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenPapelPedido +'" style="display: none;">' + '<input id="' + d.row_id +'_margenPapelPedido" name="' + d.row_id +'_margenPapelPedido" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenPapelPedido +'" style="display: none;">' +
'<div class="d-flex col-md-auto justify-content-center align-items-center">' + '<div class="d-flex col-md-auto justify-content-center align-items-center">' +
'<input id="' + d.row_id + '_checkPapel" name="' + d.row_id +'_checkPapel" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" checked>' + '<input id="' + d.row_id + '_checkPapel" name="' + d.row_id +'_checkPapel" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_papel_total==true?'checked':'') + '>' +
'</div>'+ '</div>'+
'<div class="col-md-1 col-lg-1">' + '<div class="col-md-1 col-lg-1">' +
"<?= lang("Presupuestos.click") ?>" + "<?= lang("Presupuestos.click") ?>" +
@ -134,7 +135,7 @@ function format(d) {
'<input id="' + d.row_id +'_precioImpresion" name="' + d.row_id +'_precioImpresion" class="lp-input lp-cell lp-cell-disabled ' + d.row_class +'-input" type="text" value="' + d.precioImpresion +'">'+ '<input id="' + d.row_id +'_precioImpresion" name="' + d.row_id +'_precioImpresion" class="lp-input lp-cell lp-cell-disabled ' + d.row_class +'-input" type="text" value="' + d.precioImpresion +'">'+
'</div>'+ '</div>'+
'<div class="d-flex col-md-auto justify-content-center align-items-center">' + '<div class="d-flex col-md-auto justify-content-center align-items-center">' +
'<input id="' + d.row_id + '_checkClicks" name="' + d.row_id +'_checkClicks" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" checked>' + '<input id="' + d.row_id + '_checkClicks" name="' + d.row_id +'_checkClicks" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_impresion_total==true?'checked':'') + '>' +
'</div>'+ '</div>'+
'<input id="' + d.row_id +'_margenImpresion" name="' + d.row_id +'_margenImpresion" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenImpresion +'" style="display: none;">' + '<input id="' + d.row_id +'_margenImpresion" name="' + d.row_id +'_margenImpresion" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenImpresion +'" style="display: none;">' +
'</div>' + '</div>' +
@ -575,17 +576,6 @@ tableLineasPresupuesto.on('click', 'td.dt-control', function (e) {
function processRowData(row, rowId, rowClass){ function processRowData(row, rowId, rowClass){
$('#lp_bn_numeroPliegos').val()
$('#lp_bn_pliegosPedido').val()
$('#lp_bn_precioPliego').val()
$('#lp_bn_libro').val()
$('#lp_bn_totalPapelPedido').val()
$('#lp_bn_margenPapelPedido').val()
$('#lp_bn_lomo').val()
$('#lp_bn_peso').val()
$('#lp_bn_click').val()
$('#lp_bn_totalClicks').val()
var icon = "" var icon = ""
if(rowId=='lp_bn'){ if(rowId=='lp_bn'){
if(row.tipo_maquina=='toner') if(row.tipo_maquina=='toner')
@ -665,6 +655,8 @@ function processRowData(row, rowId, rowClass){
'precioImpresion': isNaN(parseFloat(row.precio_impresion_horas)) ? "" : parseFloat(row.precio_impresion_horas).toFixed(2), 'precioImpresion': isNaN(parseFloat(row.precio_impresion_horas)) ? "" : parseFloat(row.precio_impresion_horas).toFixed(2),
'margenImpresion': isNaN(parseFloat(row.margen_impresion_horas)) ? "" : parseFloat(row.margen_impresion_horas).toFixed(2), 'margenImpresion': isNaN(parseFloat(row.margen_impresion_horas)) ? "" : parseFloat(row.margen_impresion_horas).toFixed(2),
'maquinaTipo': row.tipo_maquina, 'maquinaTipo': row.tipo_maquina,
'check_papel_total': row.check_papel_total,
'check_impresion_total': row.check_impresion_total,
} }
if(row.tipo_maquina=='inkjet'){ if(row.tipo_maquina=='inkjet'){
@ -982,26 +974,26 @@ $('#addLineasPresupuesto').on("change", function (e) {
function update_total_linea(e){ function update_total_linea(e){
total = 0 total = 0
var rowData = tableLineasPresupuesto.row('#' + e.data.id_linea).data()
if($('#' + e.data.id_linea + '_checkPapel').prop('checked')){ if($('#' + e.data.id_linea + '_checkPapel').prop('checked')){
total += parseFloat($('#' + e.data.id_linea + '_totalPapelPedido').val()) total += parseFloat($('#' + e.data.id_linea + '_totalPapelPedido').val())
} }
if($('#' + e.data.id_linea + '_checkClicks').prop('checked')){ if($('#' + e.data.id_linea + '_checkClicks').prop('checked')){
total += parseFloat($('#' + e.data.id_linea + '_precioImpresion').val()) total += parseFloat($('#' + e.data.id_linea + '_precioImpresion').val())
total += parseFloat($('#' + e.data.id_linea + '_margenImpresion').val()) total += parseFloat($('#' + e.data.id_linea + '_totalClicks').val())
}
var rowData = tableLineasPresupuesto.row('#' + e.data.id_linea).data() if (rowData.maquinaTipo == 'inkjet'){
if (rowData.maquinaTipo == 'inkjet'){ total += parseFloat(rowData.totalTinta)
total += parseFloat(rowData.totalTinta) }
} if (e.data.id_linea.includes('rot_')){
if (e.data.id_linea.includes('rot_')){ total += parseFloat(rowData.totalCorte)
total += parseFloat(rowData.totalCorte) }
} }
rowData.total_linea = parseFloat(total).toFixed(2) rowData.total_linea = parseFloat(total).toFixed(2)
tableLineasPresupuesto.row('#' + e.data.id_linea).data(rowData).draw(true) tableLineasPresupuesto.row('#' + e.data.id_linea).data(rowData).draw(true)
updateTotales(true, false, false)
} }
<?= $this->endSection() ?> <?= $this->endSection() ?>

View File

@ -89,6 +89,7 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
var margenPapel = 0 var margenPapel = 0
var totalImpresion = 0 var totalImpresion = 0
var totalImpresionforMargen = 0
var margenImpresion = 0 var margenImpresion = 0
var totalServicios = 0 var totalServicios = 0
@ -107,6 +108,13 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
} }
if($('#' + rowData.row_id + '_checkClicks').prop('checked')){ if($('#' + rowData.row_id + '_checkClicks').prop('checked')){
totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val()) totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
totalImpresionforMargen += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
if(rowData.maquinaTipo=='inkjet'){
totalImpresion += parseFloat(rowData.totalTinta)
totalImpresion += parseFloat(rowData.totalCorte)
}
margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val()) margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val()))) if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())))
totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val()) totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())
@ -114,12 +122,16 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
}) })
} }
totalImpresion -= margenImpresion
totalImpresionforMargen -= margenImpresion
totalPapel -= margenPapel
var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100)?0:margenPapel/(totalPapel)*100 var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100)?0:margenPapel/(totalPapel)*100
$('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%') $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
$('#totalCostePapel').text(totalPapel.toFixed(2)+ '€') $('#totalCostePapel').text(totalPapel.toFixed(2)+ '€')
$('#margenPapel').text(margenPapel.toFixed(2) + '€') $('#margenPapel').text(margenPapel.toFixed(2) + '€')
var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100)?0:margenImpresion/(totalImpresion)*100 var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresionforMargen)*100)?0:margenImpresion/(totalImpresionforMargen)*100
$('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%') $('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%')
$('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€') $('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
$('#margenImpresion').text(margenImpresion.toFixed(2) + '€') $('#margenImpresion').text(margenImpresion.toFixed(2) + '€')

View File

@ -112,8 +112,8 @@ $('.accordion-button').on('click', function (e) {
*******************************/ *******************************/
function getRowFromLineaInt(tipo, linea) { function getRowFromLineaInt(tipo, linea) {
$precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas)) ? "" : $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas + linea.fields.precio_click_pedido)) ? "" :
parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas).toFixed(2); parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas + linea.fields.precio_click_pedido).toFixed(2);
return { return {
@ -132,8 +132,7 @@ function getRowFromLineaInt(tipo, linea) {
'peso': isNaN(parseFloat(linea.fields.peso)) ? "" : parseFloat(linea.fields.peso).toFixed(2), 'peso': isNaN(parseFloat(linea.fields.peso)) ? "" : parseFloat(linea.fields.peso).toFixed(2),
'horasMaquina': isNaN(parseFloat(linea.fields.horas_maquina)) ? "" : parseFloat(linea.fields.horas_maquina).toFixed(2), 'horasMaquina': isNaN(parseFloat(linea.fields.horas_maquina)) ? "" : parseFloat(linea.fields.horas_maquina).toFixed(2),
'precioImpresion': $precio_impresion, 'precioImpresion': $precio_impresion,
'total': isNaN(parseFloat(linea.fields.precio_pedido) + parseFloat($precio_impresion)) ? 'total': isNaN(parseFloat(linea.fields.total_impresion).toFixed(2)) ? "" : parseFloat(linea.fields.total_impresion).toFixed(2),
"" : (parseFloat(linea.fields.precio_pedido) + parseFloat($precio_impresion)).toFixed(2),
'maquinaId': linea.fields.maquina_id, 'maquinaId': linea.fields.maquina_id,
'maquinaVelocidad': linea.fields.maquina_velocidad, 'maquinaVelocidad': linea.fields.maquina_velocidad,
'tiempoMaquina': linea.fields.tiempo_maquina, 'tiempoMaquina': linea.fields.tiempo_maquina,
@ -145,8 +144,8 @@ function getRowFromLineaInt(tipo, linea) {
function getRowFromLineaRot(linea) { function getRowFromLineaRot(linea) {
$precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas)) ? "" : $precio_impresion = isNaN(parseFloat(linea.fields.precio_impresion_horas + linea.fields.precio_click_pedido)) ? "" :
parseFloat(linea.fields.precio_impresion_horas + linea.fields.margen_impresion_horas).toFixed(2); parseFloat(linea.fields.precio_impresion_horas + linea.fields.precio_click_pedido).toFixed(2);
return { return {
'tipo': 'rotativa', 'tipo': 'rotativa',