diff --git a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php index 18d490c8..cc2e86f6 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php @@ -102,11 +102,18 @@ class Presupuestomanipulados extends \App\Controllers\GoBaseResourceController $tarifa_manipulado_id = $reqData['tarifa_manipulado_id'] ?? 0; $tirada = $reqData['tirada'] ?? 0; $POD = $reqData['POD'] ?? 0; + $tipo = $reqData['tipo'] ?? null; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); - $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); + if(is_null($tipo)){ + $values = $this->model->getPrecioTarifa($tarifa_manipulado_id, $tirada, $POD); + } + else{ + $solapas = $reqData['solapas'] ?? -1; + $values = $this->model->initPresupuesto(4, $solapas, $tirada, $POD); + } $data = [ 'values' => $values, diff --git a/ci4/app/Controllers/Test.php b/ci4/app/Controllers/Test.php index 1a28a3af..c1d9bc7f 100755 --- a/ci4/app/Controllers/Test.php +++ b/ci4/app/Controllers/Test.php @@ -17,9 +17,9 @@ class Test extends BaseController public function index() { - $model = model('App\Models\Tarifas\TarifaManipuladoModel'); + $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel'); echo '
';
- var_dump($model->getTarifaPresupuestoManipulado(21, 200));
+ var_dump($model->get_tarifas(4,0,"manipulado"));
echo '';
}
diff --git a/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php b/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php
new file mode 100755
index 00000000..fdc6e1dc
--- /dev/null
+++ b/ci4/app/Entities/Presupuestos/TipoPresupuestoServiciosDefecto.php
@@ -0,0 +1,32 @@
+ null,
+ "tipo_presupuesto_id" => null,
+ "tarifa_id" => null,
+ "solapas" => null,
+ "is_servicio_encuadernacion" => null,
+ "is_servicio_acabado" => null,
+ "is_servicio_manipulado" => null,
+ "is_servicio_preimpresion" => null,
+ "is_deleted" => 0,
+ "deleted_at" => null,
+ "created_at" => null,
+ "updated_at" => null,
+ ];
+ protected $casts = [
+ "tipo_presupuesto_id" => "int",
+ "tarifa_id" => "int",
+ "solapas" => "int",
+ "is_servicio_encuadernacion" => "int",
+ "is_servicio_acabado" => "int",
+ "is_servicio_manipulado" => "int",
+ "is_servicio_preimpresion" => "int",
+ "is_deleted" => "int",
+ ];
+}
diff --git a/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php b/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php
deleted file mode 100755
index 9fedb453..00000000
--- a/ci4/app/Entities/Presupuestos/TipoPresupuestoTarifaEncuadernacion.php
+++ /dev/null
@@ -1,24 +0,0 @@
- null,
- "tipo_presupuesto_id" => null,
- "tarifa_encuadernacion_id" => null,
- "solapas" => null,
- "is_deleted" => 0,
- "deleted_at" => null,
- "created_at" => null,
- "updated_at" => null,
- ];
- protected $casts = [
- "tipo_presupuesto_id" => "int",
- "tarifa_encuadernacion_id" => "int",
- "solapas" => "int",
- "is_deleted" => "int",
- ];
-}
diff --git a/ci4/app/Language/en/Presupuestos.php b/ci4/app/Language/en/Presupuestos.php
index ac35c39d..7b3e7c0f 100755
--- a/ci4/app/Language/en/Presupuestos.php
+++ b/ci4/app/Language/en/Presupuestos.php
@@ -142,7 +142,7 @@ return [
'addLineaPresupuesto' => 'Add line...',
- 'serviciosEncDefault' => 'Default binding services',
+ 'serviciosDefault' => 'Default services',
'validation' => [
'decimal' => 'The {field} field must contain a decimal number.',
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index a5e761d9..81d5d281 100755
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -173,7 +173,7 @@ return [
'precio' => 'Precio',
'precioUnidad' => 'Precio unitario',
'precioTotal' => 'Precio total',
- 'serviciosEncDefault' => 'Servicios Enc. por defecto',
+ 'serviciosDefault' => 'Servicios por defecto',
'tarifa' => 'Tarifa',
'insertar' => 'Insertar',
'no_disponible' => 'No disponible',
diff --git a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php
index 440f2d97..9b75d5ab 100755
--- a/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoEncuadernacionesModel.php
@@ -50,8 +50,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $paginas, $ancho, $alto, $POD){
- $model = model('App\Models\Presupuestos\TipoPresupuestoTarifaEncuadernacionModel');
- $tarifas_procesar = $model->get_tarifas($tipo_presupuesto,$solapas);
+ $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel');
+ $tarifas_procesar = $model->get_tarifas($tipo_presupuesto,$solapas, "encuadernacion");
$modelTarifa = model('App\Models\Tarifas\TarifaEncuadernacionModel');
$tarifas = [];
@@ -59,11 +59,11 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
foreach($tarifas_procesar as $tarifa){
- if($modelTarifa->isTarifaPorHoras($tarifa['tarifa_encuadernacion_id'])){
+ if($modelTarifa->isTarifaPorHoras($tarifa['tarifa_id'])){
$tiempo = $this->calcularTiempo(16, $paginas, $tirada); // ID fija. Cambiar cuando se metan maquinas de corte. Velocidad en minutos
- $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa['tarifa_encuadernacion_id'], $tiempo, $tirada);
+ $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacionHoras($tarifa['tarifa_id'], $tiempo, $tirada);
if (count($tarifa_value)>0) {
$result_data[0] = floatval(1.0* $tarifa_value[0]->precio_hora* $tiempo / $tirada);
@@ -73,7 +73,7 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
}
array_push($tarifas,
(object)[
- 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'],
+ 'tarifa_id'=> $tarifa['tarifa_id'],
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
@@ -84,8 +84,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
else{
array_push($tarifas,
(object)[
- 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'],
- 'tarifa_nombre'=> $tarifa['tarifa_encuadernacion_nombre'],
+ 'tarifa_id'=> $tarifa['tarifa_id'],
+ 'tarifa_nombre'=> $tarifa['tarifa_nombre'],
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
@@ -93,12 +93,12 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
}
}
else{
- $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacion($tarifa['tarifa_encuadernacion_id'], $paginas, $tirada, $ancho, $alto);
+ $tarifa_value = $modelTarifa->getTarifaPresupuestoEncuadernacion($tarifa['tarifa_id'], $paginas, $tirada, $ancho, $alto);
if (count($tarifa_value)>0) {
$result_data = $this->calcularTarifa($tarifa_value[0], $paginas, $POD<$tirada?false:true);
array_push($tarifas,
(object)[
- 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'],
+ 'tarifa_id'=> $tarifa['tarifa_id'],
'tarifa_nombre'=> $tarifa_value[0]->tarifa_enc_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
@@ -109,8 +109,8 @@ class PresupuestoEncuadernacionesModel extends \App\Models\GoBaseModel
else{
array_push($tarifas,
(object)[
- 'tarifa_id'=> $tarifa['tarifa_encuadernacion_id'] ,
- 'tarifa_nombre'=> $tarifa['tarifa_encuadernacion_nombre'],
+ 'tarifa_id'=> $tarifa['tarifa_id'] ,
+ 'tarifa_nombre'=> $tarifa['tarifa_nombre'],
'proveedor' => lang('Presupuestos.no_disponible'),
'precio_unidad'=> 0,
'total'=> 0,
diff --git a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php
index 7bdadf3e..a6613f4d 100755
--- a/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoManipuladosModel.php
@@ -140,6 +140,43 @@ class PresupuestoManipuladosModel extends \App\Models\GoBaseModel
}
}
+
+ public function initPresupuesto($tipo_presupuesto, $solapas, $tirada, $POD){
+
+ $model = model('App\Models\Presupuestos\TipoPresupuestoServiciosDefectoModel');
+ $tarifas_procesar = $model->get_tarifas($tipo_presupuesto, $solapas, "manipulado");
+
+ $modelTarifa = model('App\Models\Tarifas\TarifaManipuladoModel');
+ $tarifas = [];
+
+
+ foreach($tarifas_procesar as $tarifa){
+
+ $tarifa_value = $modelTarifa->getTarifaPresupuestoManipulado($tarifa['tarifa_id'], $tirada);
+ if (count($tarifa_value)>0) {
+ $result_data = $this->calcularTarifa($tarifa_value[0], $tirada, $POD<$tirada?false:true);
+ array_push($tarifas, (object)[
+ 'tarifa_id'=> $tarifa_value[0]->tarifa_manipulado_id,
+ 'tarifa_nombre'=> $tarifa_value[0]->tarifa_manipulado_nombre,
+ 'precio_unidad'=> $result_data[0],
+ 'total'=> $result_data[1],
+ ]);
+ }
+ else{
+ array_push($tarifas,
+ (object)[
+ 'tarifa_id'=> $tarifa['tarifa_id'] ,
+ 'tarifa_nombre'=> $tarifa['tarifa_nombre'],
+ 'precio_unidad' => 0,
+ 'total'=> 0,
+ ]);
+ }
+
+ }
+
+ return $tarifas;
+ }
+
/**
* Get resource data.
*
diff --git a/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php b/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php
new file mode 100755
index 00000000..119554ea
--- /dev/null
+++ b/ci4/app/Models/Presupuestos/TipoPresupuestoServiciosDefectoModel.php
@@ -0,0 +1,89 @@
+db
+ ->table($this->table . " t1")
+ ->where("t1.tipo_presupuesto_id", $tipo_presupuesto);
+
+ if(strcmp($tipo, "encuadernacion")==0){
+
+ $builder->join("tarifa_encuadernacion t2", "t1.tarifa_id = t2.id", "left");
+ $builder->where("is_servicio_encuadernacion", 1);
+ $builder->where("is_servicio_acabado", 0);
+ $builder->where("is_servicio_manipulado", 0);
+ $builder->where("is_servicio_preimpresion", 0);
+ }
+ else if(strcmp($tipo, "acabado")==0){
+
+ $builder->join("lg_tarifa_acabado t2", "t1.tarifa_id = t2.id", "left");
+ $builder->where("is_servicio_acabado", 1);
+ $builder->where("is_servicio_encuadernacion", 0);
+ $builder->where("is_servicio_manipulado", 0);
+ $builder->where("is_servicio_preimpresion", 0);
+ }
+ else if(strcmp($tipo, "manipulado")==0){
+
+ $builder->join("lg_tarifa_manipulado t2", "t1.tarifa_id = t2.id", "left");
+ $builder->where("is_servicio_manipulado", 1);
+ $builder->where("is_servicio_encuadernacion", 0);
+ $builder->where("is_servicio_acabado", 0);
+ $builder->where("is_servicio_preimpresion", 0);
+
+ }
+ else if(strcmp($tipo, "preimpresion")==0){
+
+ $builder->join("lg_tarifa_preimpresion t2", "t1.tarifa_id = t2.id", "left");
+ $builder->where("is_servicio_preimpresion", 1);
+ $builder->where("is_servicio_encuadernacion", 0);
+ $builder->where("is_servicio_acabado", 0);
+ $builder->where("is_servicio_manipulado", 0);
+
+ }
+ else{
+ return [];
+ }
+
+ $where = "t1.solapas IS NULL OR t1.solapas='" . $solapas . "'";
+ $builder->where($where);
+
+ $builder->where("t2.is_deleted", 0);
+ $builder->select("t1.tarifa_id AS tarifa_id, t2.nombre AS tarifa_nombre");
+
+ return $builder->get()->getResultArray();
+ }
+}
diff --git a/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php b/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php
deleted file mode 100755
index 2eb02751..00000000
--- a/ci4/app/Models/Presupuestos/TipoPresupuestoTarifaEncuadernacionModel.php
+++ /dev/null
@@ -1,40 +0,0 @@
-db
- ->table($this->table . " t1")
- ->select("t1.tarifa_encuadernacion_id AS tarifa_encuadernacion_id, t2.nombre AS tarifa_encuadernacion_nombre")
- ->join("tarifa_encuadernacion t2", "t1.tarifa_encuadernacion_id = t2.id", "left")
- ->where("t1.tipo_presupuesto_id", $tipo_presupuesto)
-
- ->where($where);
- return $builder->get()->getResultArray();
- }
-}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
index faa7d422..4196a3ef 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
@@ -346,6 +346,7 @@ $("#solapas").on("click", function () {
else {
e.style.display = "none";
}
- get_tarifas_enc('default');
+
+ $('#serv_default').click()
});
= $this->endSection() ?>
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
index 9e005331..3c36f85d 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
@@ -11,6 +11,11 @@