mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'main' into 'mod/presupuesto_admin'
Main See merge request jjimenez/safekat!456
This commit is contained in:
@ -603,6 +603,7 @@ $routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuest
|
|||||||
$routes->post('duplicarPresupuesto', 'Presupuestocliente::duplicarPresupuesto', ['as' => 'duplicarPresupuesto']);
|
$routes->post('duplicarPresupuesto', 'Presupuestocliente::duplicarPresupuesto', ['as' => 'duplicarPresupuesto']);
|
||||||
$routes->post('calcular', 'Presupuestocliente::calcular', ['as' => 'calcularPresupuesto']);
|
$routes->post('calcular', 'Presupuestocliente::calcular', ['as' => 'calcularPresupuesto']);
|
||||||
$routes->post('calcularsolapas', 'Presupuestocliente::calcularMaxSolapas', ['as' => 'calcularSolapas']);
|
$routes->post('calcularsolapas', 'Presupuestocliente::calcularMaxSolapas', ['as' => 'calcularSolapas']);
|
||||||
|
$routes->post('checklomo', 'Presupuestocliente::check_lomo_interior');
|
||||||
});
|
});
|
||||||
$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']);
|
$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']);
|
||||||
|
|
||||||
|
|||||||
@ -301,7 +301,7 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
|
|||||||
$tirada = goSanitize($this->request->getGet('tirada'))[0] ?? null;
|
$tirada = goSanitize($this->request->getGet('tirada'))[0] ?? null;
|
||||||
$POD = null;
|
$POD = null;
|
||||||
if($tirada != null){
|
if($tirada != null){
|
||||||
$POD_value = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD_value = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
if(intval($tirada) <= intval($POD_value)){
|
if(intval($tirada) <= intval($POD_value)){
|
||||||
$POD = true;
|
$POD = true;
|
||||||
}
|
}
|
||||||
@ -339,7 +339,7 @@ class Papelesgenericos extends \App\Controllers\BaseResourceController
|
|||||||
$tirada = goSanitize($this->request->getGet('tirada'))[0] ?? null;
|
$tirada = goSanitize($this->request->getGet('tirada'))[0] ?? null;
|
||||||
$POD = null;
|
$POD = null;
|
||||||
if($tirada != null){
|
if($tirada != null){
|
||||||
$POD_value = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD_value = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
if(intval($tirada) <= intval($POD_value)){
|
if(intval($tirada) <= intval($POD_value)){
|
||||||
$POD = true;
|
$POD = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1508,8 +1508,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
protected function getPOD()
|
protected function getPOD()
|
||||||
{
|
{
|
||||||
$model = model('App\Models\Configuracion\ConfiguracionSistemaModel');
|
return model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
return $model->getPOD();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getLineasPresupuesto($presupuestoEntity)
|
protected function getLineasPresupuesto($presupuestoEntity)
|
||||||
|
|||||||
@ -110,7 +110,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
|
||||||
$this->viewData['breadcrumb'] = [
|
$this->viewData['breadcrumb'] = [
|
||||||
['title' => lang("App.menu_presupuestos"), 'route' => site_url('presupuestocliente/list'), 'active' => false],
|
['title' => lang("App.menu_presupuestos"), 'route' => site_url('presupuestocliente/list'), 'active' => false],
|
||||||
@ -124,6 +124,8 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$this->viewData['paisList'] = model('App\Models\Configuracion\PaisModel')->getAllForMenu('id, nombre', 'nombre', true);
|
$this->viewData['paisList'] = model('App\Models\Configuracion\PaisModel')->getAllForMenu('id, nombre', 'nombre', true);
|
||||||
$this->viewData['clienteId'] = $clienteId;
|
$this->viewData['clienteId'] = $clienteId;
|
||||||
$this->viewData['POD'] = $POD;
|
$this->viewData['POD'] = $POD;
|
||||||
|
$this->viewData['lomo_maximo'] = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo')->value;
|
||||||
|
$this->viewData['lomo_minimo_fresado_cosido'] = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_minimo_fresado_cosido')->value;
|
||||||
|
|
||||||
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . $this->viewData['pageTitle'] . ' ' . lang('Basic.global.addNewSuffix');
|
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' ' . $this->viewData['pageTitle'] . ' ' . lang('Basic.global.addNewSuffix');
|
||||||
|
|
||||||
@ -161,7 +163,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$this->viewData['paisList'] = $this->getPaisListItems();
|
$this->viewData['paisList'] = $this->getPaisListItems();
|
||||||
|
|
||||||
$this->viewData['clienteId'] = $clienteId;
|
$this->viewData['clienteId'] = $clienteId;
|
||||||
$this->viewData['POD'] = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$this->viewData['POD'] = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
$this->viewData['lomo_maximo'] = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo')->value;
|
||||||
|
$this->viewData['lomo_minimo_fresado_cosido'] = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_minimo_fresado_cosido')->value;
|
||||||
// Si se ha llamado a esta funcion porque se ha duplicado el presupuesto
|
// Si se ha llamado a esta funcion porque se ha duplicado el presupuesto
|
||||||
// se actualiza la bbdd para que sólo ejecute algunas funciones una vez
|
// se actualiza la bbdd para que sólo ejecute algunas funciones una vez
|
||||||
if ($presupuestoEntity->is_duplicado) {
|
if ($presupuestoEntity->is_duplicado) {
|
||||||
@ -218,8 +222,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public function datatable()
|
public function datatable()
|
||||||
{
|
{
|
||||||
if ($this->request->isAJAX()) {
|
if ($this->request->isAJAX()) {
|
||||||
@ -263,6 +265,117 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function check_lomo_interior()
|
||||||
|
{
|
||||||
|
if ($this->request->isAJAX()) {
|
||||||
|
|
||||||
|
$reqData = $this->request->getPost();
|
||||||
|
$modelPapelGenerico = new PapelGenericoModel();
|
||||||
|
|
||||||
|
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
|
||||||
|
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||||
|
|
||||||
|
$tirada = $reqData['tirada'] ?? 0;
|
||||||
|
$tamanio = $reqData['tamanio'];
|
||||||
|
$paginas = $reqData['paginas'] ?? 0;
|
||||||
|
$paginas_color = $reqData['paginasColor'] ?? 0;
|
||||||
|
$papelInteriorDiferente = intval($reqData['papelInteriorDiferente']) ?? null;
|
||||||
|
$excluirRotativa = $reqData['excluirRotativa'] ?? 0;
|
||||||
|
$excluirRotativa = intval($excluirRotativa);
|
||||||
|
|
||||||
|
$tipo = $reqData['tipo'];
|
||||||
|
$tipoCubierta = 'blanda'; // solapas sólo tapa blanda y sobre cubierta
|
||||||
|
|
||||||
|
$isColor = intval($reqData['isColor']) ?? 0;
|
||||||
|
$isHq = intval($reqData['isHq']) ?? 0;
|
||||||
|
|
||||||
|
$tipo_impresion_id = $this->getTipoImpresion($tipo, $tipoCubierta);
|
||||||
|
$is_cosido = (new TipoPresupuestoModel())->get_isCosido($tipo_impresion_id);
|
||||||
|
|
||||||
|
$interior = $reqData['interior'] ?? [];
|
||||||
|
|
||||||
|
if ($papelInteriorDiferente) {
|
||||||
|
$papel['negro'] = $modelPapelGenerico->where('id', $interior['papelInterior']['negro'])->first()->toArray();
|
||||||
|
$papel['color'] = $modelPapelGenerico->where('id', $interior['papelInterior']['color'])->first()->toArray();
|
||||||
|
$gramaje['negro'] = intval($interior['gramajeInterior']['negro']);
|
||||||
|
$gramaje['color'] = intval($interior['gramajeInterior']['color']);
|
||||||
|
} else {
|
||||||
|
$papel = $modelPapelGenerico->where('id', $interior['papelInterior'])->first()->toArray();
|
||||||
|
$gramaje = intval($interior['gramajeInterior']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$datosPedido = (object) array(
|
||||||
|
'paginas' => $paginas,
|
||||||
|
'tirada' => $tirada[0],
|
||||||
|
'merma' => $tirada[0] > $POD ? $this->calcular_merma($tirada[0], $POD) : 0,
|
||||||
|
'ancho' => intval($tamanio['ancho']) ?? 100000,
|
||||||
|
'alto' => intval($tamanio['alto']) ?? 100000,
|
||||||
|
'isCosido' => $is_cosido,
|
||||||
|
'a_favor_fibra' => 1,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Para POD siempre es HQ
|
||||||
|
if ($tirada[0] <= $POD) {
|
||||||
|
$isHq = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$input_data = array(
|
||||||
|
'uso' => 'interior',
|
||||||
|
'tipo_impresion_id' => $tipo_impresion_id,
|
||||||
|
'datosPedido' => $datosPedido,
|
||||||
|
'papel_generico' => $papel,
|
||||||
|
'gramaje' => $gramaje,
|
||||||
|
'isColor' => $isColor,
|
||||||
|
'isHq' => $isHq,
|
||||||
|
'cliente_id' => $cliente_id,
|
||||||
|
'paginas_color' => $paginas_color,
|
||||||
|
'excluirRotativa' => $excluirRotativa,
|
||||||
|
'papelInteriorDiferente' => $papelInteriorDiferente
|
||||||
|
);
|
||||||
|
|
||||||
|
$interior = PresupuestoClienteService::obtenerInterior($input_data);
|
||||||
|
if ($interior == null) {
|
||||||
|
return $this->failServerError('Error al calcular el interior');
|
||||||
|
}
|
||||||
|
|
||||||
|
$lomo = 0.0;
|
||||||
|
foreach ($interior as $linea) {
|
||||||
|
if (count($linea) > 0) {
|
||||||
|
$lomo += floatval($linea['mano']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$lomo = round($lomo, 2);
|
||||||
|
$errors = [
|
||||||
|
'status' => 0,
|
||||||
|
'value' => ""
|
||||||
|
];
|
||||||
|
$lomo_minimo_fresado_cosido = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_minimo_fresado_cosido')->value);
|
||||||
|
$lomo_maximo = intval(model('App\Models\Configuracion\ConfigVariableModel')->getVariable('lomo_maximo')->value);
|
||||||
|
|
||||||
|
if ($tipo == 'cosido' || $tipo == 'fresado') {
|
||||||
|
if ($lomo < $lomo_minimo_fresado_cosido) {
|
||||||
|
$errors['status'] = 1;
|
||||||
|
$errors['value'] = 'No se pueden encuadernar libros cosidos o fresados con lomo inferior a '
|
||||||
|
. $lomo_minimo_fresado_cosido . ' mm. El lomo actual es de ' . $lomo . ' mm. ' .
|
||||||
|
"Por favor, aumente el número de páginas o el gramaje del papel para que sea encuadernable.";
|
||||||
|
}
|
||||||
|
if ($lomo > $lomo_maximo) {
|
||||||
|
$errors['status'] = 1;
|
||||||
|
$errors['value'] = 'No se pueden encuadernar con un lomo superior a '
|
||||||
|
. $lomo_maximo . ' mm. El lomo actual es de ' . $lomo . ' mm. ' .
|
||||||
|
"Por favor, disminuya el número de páginas o el gramaje del papel para que sea encuadernable.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = (object) array('lomo' => $lomo,
|
||||||
|
'errors' => $errors);
|
||||||
|
return $this->respond($data);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return $this->failUnauthorized('Invalid request', 403);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function calcular()
|
public function calcular()
|
||||||
{
|
{
|
||||||
@ -480,7 +593,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$reqData = $this->request->getPost();
|
$reqData = $this->request->getPost();
|
||||||
$modelPapelGenerico = new PapelGenericoModel();
|
$modelPapelGenerico = new PapelGenericoModel();
|
||||||
|
|
||||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
|
||||||
$cliente_id = $reqData['clienteId'] ?? -1;
|
$cliente_id = $reqData['clienteId'] ?? -1;
|
||||||
|
|
||||||
@ -719,7 +832,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$reqData = $this->request->getPost();
|
$reqData = $this->request->getPost();
|
||||||
|
|
||||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
|
||||||
$id = $reqData['id'] ?? 0;
|
$id = $reqData['id'] ?? 0;
|
||||||
$id = intval($id);
|
$id = intval($id);
|
||||||
@ -1445,6 +1558,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$info = [
|
$info = [
|
||||||
'merma' => 0,
|
'merma' => 0,
|
||||||
|
'lomo_interior' => 0.0,
|
||||||
'lomo_cubierta' => 0.0,
|
'lomo_cubierta' => 0.0,
|
||||||
'lomo_sobrecubierta' => 0.0,
|
'lomo_sobrecubierta' => 0.0,
|
||||||
'user_id' => auth()->user()->id,
|
'user_id' => auth()->user()->id,
|
||||||
@ -1486,7 +1600,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
|
|
||||||
$coste_servicios = 0.0;
|
$coste_servicios = 0.0;
|
||||||
|
|
||||||
$POD = model('App\Models\Configuracion\ConfiguracionSistemaModel')->getPOD();
|
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||||
|
|
||||||
$precio_u = [];
|
$precio_u = [];
|
||||||
$peso = [];
|
$peso = [];
|
||||||
@ -1571,6 +1685,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$costeInterior += floatval($linea['total_impresion']);
|
$costeInterior += floatval($linea['total_impresion']);
|
||||||
$peso_interior += floatval($linea['peso']);
|
$peso_interior += floatval($linea['peso']);
|
||||||
$lomo += floatval($linea['mano']);
|
$lomo += floatval($linea['mano']);
|
||||||
|
$info['lomo_interior'] += floatval($linea['mano']);
|
||||||
if ($extra_info) {
|
if ($extra_info) {
|
||||||
$this->calcular_coste_linea(
|
$this->calcular_coste_linea(
|
||||||
$linea,
|
$linea,
|
||||||
@ -1909,7 +2024,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
'paginasCuadernillo' => $paginasCuadernillo,
|
'paginasCuadernillo' => $paginasCuadernillo,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
foreach ($servDefectoEnc as $servicio) {
|
foreach ($servDefectoEnc as $servicio) {
|
||||||
if ($servicio->total <= 0) {
|
if ($servicio->total <= 0) {
|
||||||
|
|
||||||
@ -1944,7 +2059,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
'solapas' => intval($solapasCubierta) > 0 ? 1 : 0,
|
'solapas' => intval($solapasCubierta) > 0 ? 1 : 0,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
foreach ($servDefectoMan as $servicio) {
|
foreach ($servDefectoMan as $servicio) {
|
||||||
if ($servicio->total <= 0) {
|
if ($servicio->total <= 0) {
|
||||||
|
|
||||||
@ -2116,8 +2231,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
|||||||
$totalServicios -= $margenServicios;
|
$totalServicios -= $margenServicios;
|
||||||
if (($margenServicios + $totalServicios) > 0) {
|
if (($margenServicios + $totalServicios) > 0) {
|
||||||
$porcentajeMargenServicios = $margenServicios / ($margenServicios + $totalServicios) * 100;
|
$porcentajeMargenServicios = $margenServicios / ($margenServicios + $totalServicios) * 100;
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$porcentajeMargenServicios = 0;
|
$porcentajeMargenServicios = 0;
|
||||||
}
|
}
|
||||||
$sumForFactorPonderado += $totalServicios;
|
$sumForFactorPonderado += $totalServicios;
|
||||||
|
|||||||
@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace App\Entities\Configuracion;
|
|
||||||
|
|
||||||
use CodeIgniter\Entity;
|
|
||||||
|
|
||||||
class ConfiguracionSistemaEntity extends \CodeIgniter\Entity\Entity
|
|
||||||
{
|
|
||||||
protected $attributes = [
|
|
||||||
"id" => null,
|
|
||||||
"var_name" => null,
|
|
||||||
"value" => null,
|
|
||||||
"datatype" => null,
|
|
||||||
|
|
||||||
];
|
|
||||||
protected $casts = [
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ -47,4 +47,13 @@ class ConfigVariableModel extends Model
|
|||||||
protected $afterFind = [];
|
protected $afterFind = [];
|
||||||
protected $beforeDelete = [];
|
protected $beforeDelete = [];
|
||||||
protected $afterDelete = [];
|
protected $afterDelete = [];
|
||||||
|
|
||||||
|
public function getVariable($name)
|
||||||
|
{
|
||||||
|
$builder = $this->db
|
||||||
|
->table($this->table . " t1")
|
||||||
|
->where('name', $name);
|
||||||
|
|
||||||
|
return $builder->get()->getFirstRow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace App\Models\Configuracion;
|
|
||||||
|
|
||||||
class ConfiguracionSistemaModel extends \App\Models\BaseModel
|
|
||||||
{
|
|
||||||
protected $table = "configuracion_sistema";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether primary key uses auto increment.
|
|
||||||
*
|
|
||||||
* @var bool
|
|
||||||
*/
|
|
||||||
protected $useAutoIncrement = true;
|
|
||||||
|
|
||||||
protected $allowedFields = ["var_name", "value", "datatype"];
|
|
||||||
protected $returnType = "App\Entities\Configuracion\ConfiguracionSistemaEntity";
|
|
||||||
|
|
||||||
public static $labelField = "var_name";
|
|
||||||
|
|
||||||
protected $validationRules = [
|
|
||||||
];
|
|
||||||
|
|
||||||
protected $validationMessages = [
|
|
||||||
];
|
|
||||||
|
|
||||||
public function getPOD()
|
|
||||||
{
|
|
||||||
$builder = $this->db
|
|
||||||
->table($this->table . " t1")
|
|
||||||
->select(
|
|
||||||
'(SELECT CAST(t1.value AS INT)) AS POD', false)
|
|
||||||
->where('t1.var_name', 'POD');
|
|
||||||
|
|
||||||
$POD = intval($builder->get()->getFirstRow()->POD);
|
|
||||||
return $POD;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -179,7 +179,7 @@
|
|||||||
<label for="paginas" class="form-label">
|
<label for="paginas" class="form-label">
|
||||||
<?= lang('Presupuestos.totalPaginas') ?>
|
<?= lang('Presupuestos.totalPaginas') ?>
|
||||||
</label>
|
</label>
|
||||||
<input disabled class="form-control" id="paginas" name="paginas" step="1"
|
<input disabled class="form-control calcular-lomo" id="paginas" name="paginas" step="1"
|
||||||
value="32">
|
value="32">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -25,6 +25,9 @@
|
|||||||
<input hidden id="lc" value=""></input>
|
<input hidden id="lc" value=""></input>
|
||||||
<input hidden id="lsc" value=""></input>
|
<input hidden id="lsc" value=""></input>
|
||||||
<input readonly hidden id="pod" value="<?= $POD ?>"></input>
|
<input readonly hidden id="pod" value="<?= $POD ?>"></input>
|
||||||
|
<input readonly hidden id="lomo_maximo" value="<?= $lomo_maximo ?>"></input>
|
||||||
|
<input readonly hidden id="lomo_minimo_fresado_cosido" value="<?= $lomo_minimo_fresado_cosido ?>"></input>
|
||||||
|
<input readonly hidden id="pod" value="<?= $POD ?>"></input>
|
||||||
<input readonly hidden id="c" value="<?= $clienteId ?>"></input>
|
<input readonly hidden id="c" value="<?= $clienteId ?>"></input>
|
||||||
|
|
||||||
<!-- Create Deal Wizard -->
|
<!-- Create Deal Wizard -->
|
||||||
|
|||||||
@ -74,6 +74,8 @@ class DatosGenerales {
|
|||||||
this.rl_retractilado = $("#rl_retractilado");
|
this.rl_retractilado = $("#rl_retractilado");
|
||||||
this.rl_retractilado5 = $("#rl_retractilado5");
|
this.rl_retractilado5 = $("#rl_retractilado5");
|
||||||
|
|
||||||
|
this.cargando = false;
|
||||||
|
|
||||||
this.initValidation();
|
this.initValidation();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -534,6 +536,8 @@ class DatosGenerales {
|
|||||||
|
|
||||||
cargarDatos(datos) {
|
cargarDatos(datos) {
|
||||||
|
|
||||||
|
this.cargando = true;
|
||||||
|
|
||||||
this.titulo.val(datos.titulo);
|
this.titulo.val(datos.titulo);
|
||||||
this.autor.val(datos.autor);
|
this.autor.val(datos.autor);
|
||||||
this.isbn.val(datos.isbn);
|
this.isbn.val(datos.isbn);
|
||||||
@ -600,6 +604,8 @@ class DatosGenerales {
|
|||||||
this.retractilado5.prop('checked', datos.retractilado5);
|
this.retractilado5.prop('checked', datos.retractilado5);
|
||||||
|
|
||||||
this.ivaReducido.val(datos.ivaReducido ? 1 : 0).trigger('change');
|
this.ivaReducido.val(datos.ivaReducido ? 1 : 0).trigger('change');
|
||||||
|
|
||||||
|
this.cargando = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
getCliente() {
|
getCliente() {
|
||||||
@ -736,8 +742,6 @@ class DatosGenerales {
|
|||||||
this.checkPaginasMultiplo4();
|
this.checkPaginasMultiplo4();
|
||||||
|
|
||||||
// Para recalcular el presupuesto
|
// Para recalcular el presupuesto
|
||||||
$('#divGramajeInterior').empty();
|
|
||||||
$('#divGramajeInteriorColor').empty();
|
|
||||||
element.trigger('change');
|
element.trigger('change');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -782,6 +786,7 @@ class DatosGenerales {
|
|||||||
this.formValidation.revalidateField('paginas');
|
this.formValidation.revalidateField('paginas');
|
||||||
|
|
||||||
// Se configura dependiento si hay color o no
|
// Se configura dependiento si hay color o no
|
||||||
|
const lastLayoutColor = $('#negroEstandar').hasClass('d-none');
|
||||||
if (paginasColor == 0) {
|
if (paginasColor == 0) {
|
||||||
|
|
||||||
this.#handleInteriorLayout('negro');
|
this.#handleInteriorLayout('negro');
|
||||||
@ -789,6 +794,13 @@ class DatosGenerales {
|
|||||||
this.divPosPaginasColor.addClass('d-none');
|
this.divPosPaginasColor.addClass('d-none');
|
||||||
this.posPaginasColor.val("");
|
this.posPaginasColor.val("");
|
||||||
this.pagColorConsecutivas.prop('checked', false);
|
this.pagColorConsecutivas.prop('checked', false);
|
||||||
|
|
||||||
|
if(lastLayoutColor && !this.cargando){
|
||||||
|
|
||||||
|
$('#divPapelInterior').empty();
|
||||||
|
$('#divGramajeInterior').empty();
|
||||||
|
$('#negroEstandar').trigger('click');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (this.papelDiferente.is(":checked"))
|
if (this.papelDiferente.is(":checked"))
|
||||||
@ -797,8 +809,17 @@ class DatosGenerales {
|
|||||||
this.#handleInteriorLayout('color');
|
this.#handleInteriorLayout('color');
|
||||||
this.divPaginasColorConsecutivas.removeClass('d-none');
|
this.divPaginasColorConsecutivas.removeClass('d-none');
|
||||||
this.divPosPaginasColor.removeClass('d-none');
|
this.divPosPaginasColor.removeClass('d-none');
|
||||||
|
|
||||||
|
if(!lastLayoutColor && !this.cargando){
|
||||||
|
|
||||||
|
$('#divPapelInterior').empty();
|
||||||
|
$('#divGramajeInterior').empty();
|
||||||
|
$('#colorEstandar').trigger('click');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('.calcular-lomo').trigger('change');
|
||||||
|
|
||||||
this.checkPaginasMultiplo4();
|
this.checkPaginasMultiplo4();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -105,8 +105,6 @@ class DisenioInterior {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
updatePapeles(papeles = null) {
|
updatePapeles(papeles = null) {
|
||||||
|
|
||||||
const context = this;
|
const context = this;
|
||||||
@ -1034,6 +1032,7 @@ class DisenioInterior {
|
|||||||
const gramaje = element[0].id;
|
const gramaje = element[0].id;
|
||||||
|
|
||||||
this.presupuestoCliente.calcularSolapas(event);
|
this.presupuestoCliente.calcularSolapas(event);
|
||||||
|
this.presupuestoCliente.checkLomoInterior(event);
|
||||||
this.presupuestoCliente.checkForm(event);
|
this.presupuestoCliente.checkForm(event);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -113,6 +113,7 @@ class PresupuestoCliente {
|
|||||||
|
|
||||||
$(".calcular-presupuesto").on('change', this.checkForm.bind(this));
|
$(".calcular-presupuesto").on('change', this.checkForm.bind(this));
|
||||||
$(".calcular-solapas").on('change', this.calcularSolapas.bind(this));
|
$(".calcular-solapas").on('change', this.calcularSolapas.bind(this));
|
||||||
|
$(".calcular-lomo").on('change', this.checkLomoInterior.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -180,6 +181,31 @@ class PresupuestoCliente {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkLomoInterior() {
|
||||||
|
|
||||||
|
/* Limites lomo */
|
||||||
|
this.#getDatos(false, true);
|
||||||
|
if (Object.values(this.datos).every(this.#isValidDataForm)) {
|
||||||
|
new Ajax('/presupuestocliente/checklomo',
|
||||||
|
this.datos,
|
||||||
|
{},
|
||||||
|
(response) => {
|
||||||
|
if (response === null || response === undefined || response === "") {
|
||||||
|
console.log("Error en el calculo del lomo interior.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(response.errors.status == 1){
|
||||||
|
popErrorAlert('' + response.errors.value, "sk-alert", false);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
popAlert2Hide('sk-alert');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
() => { }
|
||||||
|
).post();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
checkForm(event) {
|
checkForm(event) {
|
||||||
|
|
||||||
this.#processResumenLateral();
|
this.#processResumenLateral();
|
||||||
@ -526,9 +552,6 @@ class PresupuestoCliente {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
popAlert2Hide();
|
|
||||||
|
|
||||||
|
|
||||||
if (response.tiradas && response.tiradas.length) {
|
if (response.tiradas && response.tiradas.length) {
|
||||||
|
|
||||||
let tiradas = { ...response.tiradas };
|
let tiradas = { ...response.tiradas };
|
||||||
@ -536,6 +559,8 @@ class PresupuestoCliente {
|
|||||||
tiradas.sort((a, b) => a - b);
|
tiradas.sort((a, b) => a - b);
|
||||||
this.divTiradasPrecios.empty();
|
this.divTiradasPrecios.empty();
|
||||||
|
|
||||||
|
popAlert2Hide();
|
||||||
|
|
||||||
for (let i = 0; i < tiradas.length; i++) {
|
for (let i = 0; i < tiradas.length; i++) {
|
||||||
new tarjetaTiradasPrecio(
|
new tarjetaTiradasPrecio(
|
||||||
this.divTiradasPrecios,
|
this.divTiradasPrecios,
|
||||||
@ -550,7 +575,7 @@ class PresupuestoCliente {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.lc.val(parseFloat(response.info.lomo_cubierta).toFixed(2));
|
this.lc.val(parseFloat(response.info.lomo_cubierta).toFixed(2));
|
||||||
this.lsc.val(parseFloat(response.info.lomo_sobrecubierta).toFixed(2));
|
this.lsc.val(parseFloat(response.info.lomo_sobrecubierta).toFixed(2));
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user