calculado nueva tinta solo para color a espera de confirmar si es para negro tambien

This commit is contained in:
2024-02-05 22:51:51 +01:00
parent f84c652967
commit 8c25614b7c
13 changed files with 125 additions and 33 deletions

View File

@ -267,6 +267,13 @@ class Papelimpresiontipologias extends \App\Controllers\GoBaseResourceController
->validator( 'Validate::notEmpty',array(
'message' => lang('ImpresionTipologias.validation.amarillo.required') )
),
Field::inst( 'cg' )
->validator( 'Validate::numeric', array(
'message' => lang('ImpresionTipologias.validation.amarillo.decimal') )
)
->validator( 'Validate::notEmpty',array(
'message' => lang('ImpresionTipologias.validation.amarillo.required') )
),
Field::inst( 'gota_negro' )
->validator( 'Validate::numeric', array(
'message' => lang('ImpresionTipologias.validation.gota_negro.decimal') )

View File

@ -728,6 +728,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$parametrosInkjet->rotativa_cyan = $datosTipologias[0]->cyan;
$parametrosInkjet->rotativa_magenta = $datosTipologias[0]->magenta;
$parametrosInkjet->rotativa_amarillo = $datosTipologias[0]->amarillo;
$parametrosInkjet->rotativa_cg = $datosTipologias[0]->cg;
}
$tarifamodel = new MaquinasTarifasImpresionModel();

View File

@ -25,6 +25,7 @@ class Maquina extends \CodeIgniter\Entity\Entity
"precio_tinta_negro" => 0.0,
"is_inkjet" => false,
"precio_tinta_color" => 0.0,
"precio_tinta_cg" => 0.0,
"velocidad_corte" => 0.0,
"precio_hora_corte" => 0.0,
"metrosxminuto" => 0.0,
@ -54,6 +55,7 @@ class Maquina extends \CodeIgniter\Entity\Entity
"precio_tinta_negro" => "float",
"is_inkjet" => "boolean",
"precio_tinta_color" => "float",
"precio_tinta_cg" => "float",
"velocidad_corte" => "float",
"precio_hora_corte" => "float",
"forzar_num_formas_horizontales_cubierta" => "?int",

View File

@ -13,6 +13,7 @@ class PapelImpresionTipologia extends \CodeIgniter\Entity\Entity
"cyan" => 0.0,
"magenta" => 0.0,
"amarillo" => 0.0,
"cg" => 0.0,
"gota_negro" => 0.0,
"gota_color" => 0.0,
];
@ -22,6 +23,7 @@ class PapelImpresionTipologia extends \CodeIgniter\Entity\Entity
"cyan" => "float",
"magenta" => "float",
"amarillo" => "float",
"cg" => "float",
"gota_negro" => "float",
"gota_color" => "float",
];

View File

@ -3,6 +3,7 @@
return [
'cg' => 'CG',
'amarillo' => 'Yellow',
'bicolor' => 'Bicolor',
'color' => 'Color',

View File

@ -3,6 +3,7 @@
return [
'cg' => 'CG',
'amarillo' => 'Amarillo',
'bicolor' => 'Bicolor',
'color' => 'Color',

View File

@ -33,6 +33,7 @@ return [
'ordenPlanning' => 'Orden Planning',
'padreId' => 'Variante',
'precioHoraCorte' => 'Precio Hora Corte',
'precioTintaCG' => 'Precio Tinta CG',
'precioTintaColor' => 'Precio Tinta Color',
'precioTintaNegro' => 'Precio Tinta Negro',
'tipo' => 'Tipo',
@ -130,6 +131,12 @@ return [
],
'precio_tinta_cg' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'El campo {field} es obligatorio.',
],
'precio_tinta_color' => [
'decimal' => 'El campo {field} debe contener un número decimal.',
'required' => 'El campo {field} es obligatorio.',

View File

@ -50,6 +50,7 @@ class MaquinaModel extends \App\Models\GoBaseModel
"precio_tinta_negro",
"is_inkjet",
"precio_tinta_color",
"precio_tinta_cg",
"velocidad_corte",
"precio_hora_corte",
"metrosxminuto",
@ -131,6 +132,10 @@ class MaquinaModel extends \App\Models\GoBaseModel
"label" => "Maquinas.precioHoraCorte",
"rules" => "decimal",
],
"precio_tinta_cg" => [
"label" => "Maquinas.precioTintaColor",
"rules" => "decimal",
],
"precio_tinta_color" => [
"label" => "Maquinas.precioTintaColor",
"rules" => "decimal",
@ -297,7 +302,7 @@ class MaquinaModel extends \App\Models\GoBaseModel
->select(
"t1.id AS id, t1.nombre AS nombre, t1.is_padre AS is_padre, t1.tipo AS tipo, t1.velocidad AS velocidad, t1.ancho AS ancho, t1.alto AS alto, t1.ancho_impresion AS ancho_impresion, t1.alto_impresion AS alto_impresion, t1.alto_click AS alto_click, t1.min AS min, t1.max AS max, t1.duracion_jornada AS duracion_jornada,
t1.orden_planning AS orden_planning, t1.is_rotativa AS is_rotativa, t1.precio_tinta_negro AS precio_tinta_negro,
t1.is_inkjet AS is_inkjet, t1.precio_tinta_color AS precio_tinta_color, t1.velocidad_corte AS velocidad_corte,
t1.is_inkjet AS is_inkjet, t1.precio_tinta_color AS precio_tinta_color, t1.precio_tinta_cg AS precio_tinta_cg, t1.velocidad_corte AS velocidad_corte,
t1.precio_hora_corte AS precio_hora_corte, t1.metrosxminuto AS metrosxminuto,
t1.forzar_num_formas_horizontales_cubierta AS forzar_num_formas_horizontales_cubierta,
t1.forzar_num_formas_verticales_cubierta AS forzar_num_formas_verticales_cubierta,

View File

@ -19,6 +19,7 @@ class PapelImpresionTipologiaModel extends \App\Models\GoBaseModel
"cyan",
"magenta",
"amarillo",
"cg",
"gota_negro",
"gota_color",
];
@ -27,6 +28,11 @@ class PapelImpresionTipologiaModel extends \App\Models\GoBaseModel
public static $labelField = "tipo";
protected $validationRules = [
"cg"=> [
"label" => "ImpresionTipologias.cg",
"rules" => "required|decimal",
],
"amarillo" => [
"label" => "ImpresionTipologias.amarillo",
"rules" => "required|decimal",

View File

@ -285,6 +285,15 @@ class PresupuestoService extends BaseService
round(($data['peso_gotas_magenta_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2) +
round(($data['peso_gotas_amarillo_pedido'] / 1000.0) * $maquina->precio_tinta_color, 2)
, 2);
// Esta calculado para color
if($maquina->is_inkjet){
$data['num_gotas_cg'] = round($data['superficie'] * $data['resolucion'] * $data['resolucion'] * ($parametros->rotativa_cg / 100.0), 0);
$data['peso_gotas_cg'] = round((($data['num_gotas_cg'] * $parametros->rotativa_gota_color * $data['pulgada']) / (17.65 / 20.0)) * $pag_color * 1000, 6);
$data['peso_gotas_cg_pedido'] = round($data['peso_gotas_cg'], 2) * ($datosPedido->tirada + $datosPedido->merma);
$data['precio_tinta'] += round(($data['peso_gotas_cg_pedido'] / 1000.0) * $maquina->precio_tinta_cg, 2);
}
// precio pagina
$data['precio_pagina_negro'] = round($pag_negro ? $data['precio_tinta'] / ($pag_negro * ($datosPedido->tirada + $datosPedido->merma)) : 0, 6);

View File

@ -174,13 +174,9 @@
</div>
</div>
<?php if ($maquina->is_rotativa == false && $maquina->is_inkjet == false): ?>
<div class="row" id="datosRotativa" style="display:none">
<?php else: ?>
<div class="row" id="datosRotativa">
<?php endif; ?>
<div class="col-md-2">
<div class="row">
<div class="col-md-2 datosRotativa datosInkjet" style="display: none;">
<label for="precioTintaNegro" class="form-label">
<?= lang('Maquinas.precioTintaNegro') ?>
</label>
@ -188,7 +184,7 @@
maxLength="8" step="0.01" class="form-control"
value="<?= old('precio_tinta_negro', $maquina->precio_tinta_negro) ?>">
</div>
<div class="col-md-2">
<div class="col-md-2 datosRotativa datosInkjet" style="display: none;">
<label for="precioTintaColor" class="form-label">
<?= lang('Maquinas.precioTintaColor') ?>
</label>
@ -197,7 +193,16 @@
value="<?= old('precio_tinta_color', $maquina->precio_tinta_color) ?>">
</div>
<div class="col-md-2" <?= ($maquina->is_rotativa == false)?' style="display:none"':""; ?>>
<div class="col-md-2 datosInkjet" style="display: none;">
<label for="precioTintaCG" class="form-label">
<?= lang('Maquinas.precioTintaCG') ?>
</label>
<input type="number" id="precioTintaCG" name="precio_tinta_cg" placeholder="0.00"
maxLength="8" step="0.01" class="form-control"
value="<?= old('precio_tinta_cg', $maquina->precio_tinta_cg) ?>">
</div>
<div class="col-md-2 datosRotativa" style="display: none;">
<label for="velocidadCorte" class="form-label">
<?= lang('Maquinas.velocidadCorte') ?>
</label>
@ -205,7 +210,7 @@
step="0.01" class="form-control"
value="<?= old('velocidad_corte', $maquina->velocidad_corte) ?>">
</div>
<div class="col-md-2" <?= ($maquina->is_rotativa == false)?' style="display:none"':""; ?>>
<div class="col-md-2 datosRotativa" style="display: none;">
<label for="precioHoraCorte" class="form-label">
<?= lang('Maquinas.precioHoraCorte') ?>
</label>
@ -213,7 +218,7 @@
maxLength="8" step="0.01" class="form-control"
value="<?= old('precio_hora_corte', $maquina->precio_hora_corte) ?>">
</div>
<div class="col-md-2" <?= ($maquina->is_rotativa == false)?' style="display:none"':""; ?>>
<div class="col-md-2 datosRotativa" style="display: none;">
<label for="metrosxminuto" class="form-label">
<?= lang('Maquinas.metrosxminuto') ?>
</label>

View File

@ -147,6 +147,20 @@
<?= $this->section("additionalInlineJs") ?>
<?php if($maquina->is_rotativa) { ?>
$(".datosInkjet").css('display', 'none');
$(".datosRotativa").css('display', 'inline');
<?php } ?>
<?php if($maquina->is_inkjet) { ?>
$(".datosRotativa").css('display', 'none');
$(".datosInkjet").css('display', 'inline');
<?php } ?>
<?php if(!$maquina->is_inkjet && !$maquina->is_rotativa){ ?>
$(".datosRotativa").css('display', 'none');
$(".datosInkjet").css('display', 'none');
<?php } ?>
const lastColNr2 = $('#tableOfPapelesImpresion').find("tr:first th").length - 1;
const actionBtns2 = function(data) {
return `
@ -173,13 +187,6 @@
isRotativa = watch(0);
$(document).ready(function () {
if($(this).is(':checked')){
$("#datosRotativa").show();
}
});
$('#isRotativa').on("click",function(el){
asyncConfirmDialog('<?= lang('MaquinasPapelImpresion.sureToChangeRotativaTitle') ?>',
'<?= lang('MaquinasPapelImpresion.sureToChangeRotativaText') ?>', yesCallback, noCallback);
@ -187,20 +194,19 @@
function yesCallback() {
if($('#isRotativa').is(':checked')){
isRotativa.watch = 1;
$("#datosRotativa").show();
$(".datosInkjet").css('display', 'none');
$('#isTinta').prop("checked", 0);
$(".datosRotativa").css('display', 'inline');
}else{
document.getElementById("precioTintaNegro").value = 0;
document.getElementById("precioTintaColor").value = 0;
document.getElementById("velocidadCorte").value = 0;
document.getElementById("precioHoraCorte").value = 0;
document.getElementById("metrosxminuto").value = 0;
$("#datosRotativa").hide();
isRotativa.watch = 0;
$(".datosRotativa").css('display', 'none');
}
theTable2.clearPipeline();
theTable2.draw();
//yeniden(response.<?= csrf_token() ?>); esto da error JJO?
updatePapeles()
}
function noCallback() {
@ -208,16 +214,38 @@
$('#isRotativa').prop("checked", !$('#isRotativa').prop("checked"));
}
$('#isRotativa').on('change', function(){
updatePapeles()
$('#isTinta').on('click', function(){
asyncConfirmDialog('<?= lang('MaquinasPapelImpresion.sureToChangeRotativaTitle') ?>',
'<?= lang('MaquinasPapelImpresion.sureToChangeRotativaText') ?>', yesCallbackInkjet, noCallbackInkjet);
})
$('#isTinta').on('change', function(){
function yesCallbackInkjet() {
if($('#isTinta').is(':checked')){
$(".datosRotativa").css('display', 'none');
$(".datosInkjet").css('display', 'inline');
$('#isRotativa').prop("checked", 0);
}else{
document.getElementById("precioTintaNegro").value = 0;
document.getElementById("precioTintaColor").value = 0;
document.getElementById("velocidadCorte").value = 0;
document.getElementById("precioHoraCorte").value = 0;
document.getElementById("metrosxminuto").value = 0;
$(".datosInkjet").css('display', 'inline');
}
updatePapeles()
})
}
function noCallbackInkjet() {
// Toggle behaviour
$('#isTinta').prop("checked", !$('#isTinta').prop("checked"));
}
function updatePapeles(){
yeniden(json.<?= csrf_token() ?>);
//yeniden(json.<?= csrf_token() ?>);
$.ajax({
url: '<?= route_to('updateMaquinaPapelOnTarifasChange') ?>',

View File

@ -79,6 +79,7 @@
<th><?= lang('ImpresionTipologias.cyan') ?></th>
<th><?= lang('ImpresionTipologias.magenta') ?></th>
<th><?= lang('ImpresionTipologias.amarillo') ?></th>
<th><?= lang('ImpresionTipologias.cg') ?></th>
<th><?= lang('ImpresionTipologias.gotaNegro') ?></th>
<th><?= lang('ImpresionTipologias.gotaColor') ?></th>
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
@ -449,6 +450,12 @@
type: "number"
}
},{
name: "cg",
attr: {
type: "number"
}
},
{
name: "gota_negro",
attr: {
type: "number"
@ -466,7 +473,6 @@
} );
// Definición de la tabla
theTable = $('#tableOfPapelimpresiontipologias').DataTable({
processing: true,
@ -507,11 +513,18 @@
{ 'data': 'cyan' },
{ 'data': 'magenta' },
{ 'data': 'amarillo' },
{ 'data': 'cg' },
{ 'data': 'gota_negro' },
{ 'data': 'gota_color' },
{ data: actionBtns,
className: 'row-edit dt-center'}
],
columnDefs: [
{
visible: false,
targets: [5]
}
],
buttons: [ {
className: 'btn btn-primary float-end me-sm-3 me-1',
extend: "createInline",
@ -520,7 +533,12 @@
submitTrigger: -1,
submitHtml: '<a href="javascript:void(0);"><i class="ti ti-device-floppy"></i></a>'
}
} ]
} ],
initComplete: function () {
<?php if($papelImpresion->inkjet) { ?>
theTable.column(5).visible(true)
<?php } ?>
}
});