terminado comparador plana

This commit is contained in:
2024-12-17 23:35:44 +01:00
parent 2df473edb6
commit bb138019d5
4 changed files with 158 additions and 98 deletions

View File

@ -610,26 +610,25 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
public function obtenerComparadorPlana(){
echo "hola";
//if($this->request->isAJAX()){
if($this->request->isAJAX()){
$cliente_id = $this->request->getPost('cliente_id');
$datosPedido = $this->request->getPost('datosPedido');
$papel_generico = $this->request->getPost('papel_generico');
$gramaje = $this->request->getPost('gramaje');
$papelInteriorDirefente = $this->request->getPost('papelInteriorDiferente');
$paginas_color = $this->request->getPost('paginas_color');
$isColor = $this->request->getPost('isColor');
$isHq = $this->request->getPost('isHq');
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
$uso = $this->request->getPost('uso');
$data = (object)array(
$data = array(
'cliente_id' => $cliente_id,
'datosPedido' => $datosPedido,
'datosPedido' => (object)$datosPedido,
'papel_generico' => $papel_generico,
'gramaje' => $gramaje,
'papelInteriorDirefente' => $papelInteriorDirefente,
'papelInteriorDiferente' => true,
'paginas_color' => $paginas_color,
'isColor' => $isColor,
'isHq' => $isHq,
@ -637,12 +636,17 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
'uso' => $uso
);
$data = PresupuestoClienteService::obtenerComparadorInteriorPlana($data);
return $this->respond($data);
/*}
$data = PresupuestoClienteService::obtenerPresupuestoClienteInterior($data, true);
return $this->respond(
[
'status' => 1,
'data' => $data
]
);
}
else{
return $this->failUnauthorized('Invalid request', 403);
}*/
}
}

View File

@ -241,7 +241,7 @@ class PresupuestoClienteService extends BaseService
* - isHq: si es alta calidad
* - paginas_color: número de páginas a color
*/
private static function obtenerPresupuestoClienteInterior($data)
public static function obtenerPresupuestoClienteInterior($data, $return_raw = false)
{
$uso = $data['uso'];
@ -351,6 +351,15 @@ class PresupuestoClienteService extends BaseService
// Si hay negro y color, y se hace con el mismo papel, hay que buscar la combinación
// más económica con la misma máquna
if($return_raw){
$linea_negro_plana = array_values(array_unique($linea_negro_plana, SORT_REGULAR));
$linea_color_plana = array_values(array_unique($linea_color_plana, SORT_REGULAR));
return[
'negro' => $linea_negro_plana,
'color' => $linea_color_plana
];
}
if (
$paginas_negro > 0 && $paginas_color > 0 && $data['papelInteriorDiferente'] == 0 &&
count($linea_negro_plana) > 0 && count($linea_color_plana) > 0

View File

@ -21,40 +21,7 @@ $('#compPosPaginasColor').on("keyup", function () {
/*******************************
* Metodos
*******************************/
function getRowFromLineaInt(tipo, linea) {
$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 + linea.fields.precio_click_pedido).toFixed(2);
data = {
'tipo': tipo,
'paginas': linea.fields.paginas,
'papel': linea.fields.papel_generico,
'gramaje': linea.fields.gramaje,
'marca': linea.fields.papel_impresion,
'maquina': linea.fields.maquina,
'numeroPliegos': isNaN(parseFloat(linea.fields.pliegos_libro)) ? "" : parseFloat(linea.fields.pliegos_libro).toFixed(2),
'pliegosPedido': isNaN(parseFloat(linea.fields.pliegos_pedido)) ? "" : parseFloat(linea.fields.pliegos_pedido).toFixed(2),
'precioPliego': isNaN(parseFloat(linea.fields.precios_pliegos)) ? "" : parseFloat(linea.fields.precios_pliegos).toFixed(6),
'libro': isNaN(parseFloat(linea.fields.precio_libro)) ? "" : parseFloat(linea.fields.precio_libro).toFixed(2),
'totalPapelPedido': isNaN(parseFloat(linea.fields.precio_pedido)) ? "" : parseFloat(linea.fields.precio_pedido).toFixed(2),
'lomo': isNaN(parseFloat(linea.fields.mano)) ? "" : parseFloat(linea.fields.mano).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),
'precioImpresion': $precio_impresion,
'total': isNaN(parseFloat(linea.fields.total_impresion).toFixed(2)) ? "" : parseFloat(linea.fields.total_impresion).toFixed(2),
'maquinaId': linea.fields.maquina_id,
'maquinaVelocidad': linea.fields.maquina_velocidad,
'tiempoMaquina': linea.fields.tiempo_maquina,
'papelGenericoId': linea.fields.papel_generico_id,
'papelImpresionId': linea.fields.papel_impresion_id,
'tarifa_impresion_id': linea.fields.tarifa_impresion_id,
}
if(data['tipo']=='guardas')
data['paginas_impresion'] = linea.fields.paginas_impresion;
return data;
}
function getRowFromLineaRot(linea) {
@ -160,34 +127,7 @@ function clearIntRot() {
}
function selectIntLineas() {
var negro_selected = false;
var color_selected = false;
$("#tableCompIntPlana").DataTable().rows('.selected').deselect();
$("#tableCompIntPlana").DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
if (!negro_selected && $('#tableCompIntPlana').DataTable().cell(rowIdx, 0).data().includes('bn')) {
$("#tableCompIntPlana").DataTable().row(rowIdx).nodes().to$().toggleClass('selected');
negro_selected = true;
}
if (!color_selected && $('#tableCompIntPlana').DataTable().cell(rowIdx, 0).data().includes('color')) {
$("#tableCompIntPlana").DataTable().row(rowIdx).nodes().to$().toggleClass('selected');
color_selected = true;
}
});
var table = $("#tableCompIntPlana").DataTable();
var rows = table.rows('.selected').indexes();
var data = table.rows(rows).data();
var value_total = 0.00;
for (let i = 0; i < data.length; i++) {
value_total += parseFloat(data[i]['total'])
}
$('#total_comp_plana').html(value_total.toFixed(2));
}
function selectIntRotLineas() {