diff --git a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
index c27b85fe..a8ac762c 100755
--- a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
+++ b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php
@@ -45,7 +45,6 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController
$email = $reqData['email'] ?? "";
$direccion = $reqData['direccion'] ?? "";
$pais_id = $reqData['paisId'] ?? -1;
- $ccaa_id = $reqData['ccaaId'] ?? -1;
$provincia = $reqData['provincia'] ?? "";
$municipio = $reqData['municipio'] ?? "";
$cp = $reqData['cp'] ?? "";
@@ -54,6 +53,7 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController
$margen = $reqData['margen'] ?? "";
$proveedor = $reqData['proveedor'] ?? "";
$proveedor_id = $reqData['proveedor_id'] ?? "";
+ $entregaPieCalle = $reqData['entregaPieCalle'] ?? 0;
$data = [
"presupuesto_id" => $presupuesto_id,
@@ -64,7 +64,6 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController
"email" => $email,
"direccion" => $direccion,
"pais_id" => $pais_id,
- "ccaa_id" => $ccaa_id,
"provincia" => $provincia,
"municipio" => $municipio,
"cp" => $cp,
@@ -73,6 +72,7 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController
"margen" => $margen,
"proveedor" => $proveedor,
"proveedor_id" => $proveedor_id,
+ "entregaPieCalle" => $entregaPieCalle,
];
$response = $this->model->insert($data);
diff --git a/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php b/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php
index 87e06cac..5cda2146 100755
--- a/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php
+++ b/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php
@@ -13,7 +13,6 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity
"email" => null,
"direccion" => null,
"pais_id" => null,
- "ccaa_id" => null,
"provincia" => null,
"municipio" => null,
"cp" => null,
@@ -22,7 +21,6 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity
protected $casts = [
"cliente_id" => "int",
"pais_id" => "int",
- "ccaa_id" => "int",
"cp" => "int",
];
}
diff --git a/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php
index 3eb3bb77..65917b3e 100755
--- a/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php
+++ b/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php
@@ -24,6 +24,7 @@ class PresupuestoDireccionesEntity extends \CodeIgniter\Entity\Entity
"proveedor" => null,
"proveedor_id" => null,
"margen" => null,
+ "entregaPieCalle" => null,
];
protected $casts = [
"presupuesto_id" => "int",
@@ -36,6 +37,7 @@ class PresupuestoDireccionesEntity extends \CodeIgniter\Entity\Entity
"precio" => "float",
"margen" => "float",
"proveedor_id" => "int",
+ "entregaPieCalle" => "int",
];
}
diff --git a/ci4/app/Language/en/PresupuestosDirecciones.php b/ci4/app/Language/en/PresupuestosDirecciones.php
index 2d625fbe..6c80ae4e 100755
--- a/ci4/app/Language/en/PresupuestosDirecciones.php
+++ b/ci4/app/Language/en/PresupuestosDirecciones.php
@@ -16,8 +16,9 @@ return [
'cantidad' => 'Quantity',
'proveedor' => 'Supplier',
'precio' => 'Price',
- 'saveDirection' => 'Save to client addresses',
+ 'saveDirection' => 'Save to client addresses (shipped on pallets)',
'validation' => [
+ 'ejemplares_envio' => 'The number of copies sent does not match the print run'
'max_length' => 'Max. length ',
'required' => 'Field required',
'valid_email' => 'The email is not valid',
diff --git a/ci4/app/Language/es/PresupuestosDirecciones.php b/ci4/app/Language/es/PresupuestosDirecciones.php
index 475f518e..22a9321b 100755
--- a/ci4/app/Language/es/PresupuestosDirecciones.php
+++ b/ci4/app/Language/es/PresupuestosDirecciones.php
@@ -19,8 +19,9 @@ return [
'proveedor' => 'Proveedor',
'precio' => 'Precio',
'saveDirection' => 'Guardar en direcciones de cliente',
- 'entregaPieCalle' => 'Entrega a pie de calle',
+ 'entregaPieCalle' => 'Entrega a pie de calle (enviado en palets)',
'validation' => [
+ 'ejemplares_envio' => 'El número de ejemplares enviados no coincide con la tirada',
'max_length' => 'Max. valor caracteres alcanzado',
'required' => 'Campo obligatorio',
'valid_email' => 'El email introducido no es válido',
diff --git a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php
index fa1e3eed..46d0cc76 100755
--- a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php
+++ b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php
@@ -36,7 +36,6 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel
"email",
"direccion",
"pais_id",
- "ccaa_id",
"provincia",
"municipio",
"cp",
@@ -45,6 +44,7 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel
'margen',
"proveedor_id",
"proveedor",
+ "entregaPieCalle",
];
protected $returnType = "App\Entities\Clientes\ClienteDireccionesEntity";
@@ -67,15 +67,13 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel
->select(
"t1.id AS id, t1.presupuesto_id AS presupuesto_id, t1.tarifa_id AS tarifa_id, t1.att AS att,
t1.email AS email, t1.direccion AS direccion, t1.pais_id AS pais_id, t2.nombre AS pais,
- t1.ccaa_id AS ccaa_id, t3.nombre AS ccaa_nombre,
t1.municipio AS municipio, t1.provincia AS provincia, t1.cp AS cp, t1.telefono AS telefono,
t1.peso AS peso, t1.cantidad AS cantidad, t1.precio AS precio, t1.margen AS margen,
- t1.proveedor_id AS proveedor_id, t1.proveedor AS proveedor"
+ t1.proveedor_id AS proveedor_id, t1.proveedor AS proveedor, t1.entregaPieCalle AS entregaPieCalle"
);
$builder->where('t1.presupuesto_id', $presupuesto_id);
$builder->join("lg_paises t2", "t1.pais_id = t2.id", "left");
- $builder->join("lg_comunidades_autonomas t3", "t1.ccaa_id = t3.id", "left");
return empty($search)
? $builder
@@ -85,7 +83,6 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel
->orLike("t1.email", $search)
->orLike("t1.direccion", $search)
->orLike("t2.nombre", $search)
- ->orLike("t3.nombre", $search)
->orLike("t1.municipio", $search)
->orLike("t1.provincia", $search)
->orLike("t1.cp", $search)
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php
index 4fa564e9..14799d22 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php
@@ -8,10 +8,10 @@
-
+
= view("themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm") ?>
-
+
@@ -23,14 +23,14 @@
-
| Proveedor_id |
Margen |
-
+ Entrega a pie |
+
@@ -86,6 +86,7 @@ const lastColNr_direcciones = $('#tableOfDireccionesEnvio').find("tr:first th").
const actionBtns_direcciones = function(data) {
return `
+
`;
};
@@ -98,8 +99,49 @@ $(document).on('click', '.delete-add-row', function(e) {
checkInsertar()
})
+$(document).on('click', '.btn-edit-add', function(e) {
+ const row = $(this).closest('tr');
+ var data = tableEnvios.row( row ).data()
+
+ $("#addressForm").attr('action','edit')
+ $("#addressForm").attr('row', row[0]._DT_RowIndex)
+ $("#addressForm").attr('presupuestodireccion_id', $(this).attr('data-id'))
+ var $newAddDialog = $("#addressForm")
+ var maximaCantidad = parseInt($('#tirada').val())
+ $("#add_cantidad").attr("max" , maximaCantidad);
+ $("#add_cantidad").val( maximaCantidad);
+ $("#add_cantidad").on('change', function(){
+ $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
+ })
+
+ cantidad_total = 0
+ tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var data = this.data();
+ cantidad_total += data.cantidad
+ } );
+ $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total)
+ $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total)
+
+ $('#add_att').val(data.att)
+ $('#add_direccion').val(data.direccion)
+ $('#add_email').val(data.email)
+ $('#add_cp').val(data.cp)
+ $('#add_municipio').val(data.municipio)
+ $('#add_provincia').val(data.provincia)
+ $('#add_pais_id').val(data.paisId)
+ $('#add_telefono').val(data.telefono)
+ $('#add_cantidad').val(data.cantidad)
+ $('#add_entregaPieCalle').prop('checked', data.entregaPieCalle==1?true:false)
+
+ $newAddDialog.modal('show')
+
+
+ console.log(data)
+ console.log()
+})
+
+
const paisList = ;
-const ccaaList = ;
$('#recoger_en_taller').change(function(){
@@ -140,12 +182,6 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
{ 'data': 'cp' },
{ 'data': 'municipio' },
{ 'data': 'provincia' },
- { 'data': 'ccaaId' ,
- render: function(data, type, row, meta) {
- var value = ccaaList.find(element => element.id === data);
- return value['nombre'];
- },
- },
{ 'data': 'paisId' ,
render: function(data, type, row, meta) {
var value = paisList.find(element => element.id === data);
@@ -157,6 +193,7 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
{ 'data': 'proveedor_id'},
{ 'data': 'precio' },
{ 'data': 'margen' },
+ { 'data': 'entregaPieCalle' },
{
data: actionBtns_direcciones,
className: 'row-edit dt-center'
@@ -173,7 +210,7 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
],
columnDefs: [
{
- target: [0,13,15],
+ target: [0,12,14,15],
visible: false,
searchable: false
},
@@ -189,13 +226,15 @@ function checkInsertar(){
cantidad_total = 0
tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
var data = this.data();
- cantidad_total += data.cantidad
+ cantidad_total += parseInt(data.cantidad )
} );
if(cantidad_total < parseInt($('#tirada').val())){
$('#rowInsertar').css('display', 'flex')
+ popWarningAlert("= lang("PresupuestosDirecciones.validation.ejemplares_envio") ?>", 'alert-envios')
}
else{
$('#rowInsertar').css('display', 'none')
+ $('#alert-envios').html('')
}
}
@@ -220,7 +259,6 @@ function save_datos_envios(){
email : data.email,
direccion : data.direccion,
paisId : data.paisId,
- ccaaId : data.ccaaId,
provincia : data.provincia,
municipio : data.municipio,
cp : data.cp,
@@ -229,6 +267,7 @@ function save_datos_envios(){
margen : data.margen,
proveedor : data.proveedor,
proveedor_id : data.proveedor_id,
+ entregaPieCalle : data.entregaPieCalle,
= csrf_token() ?? "token" ?> : = csrf_token() ?>v,
})
});
@@ -261,23 +300,24 @@ function load_datos_envios(){
'cp': linea.cp,
'municipio': linea.municipio,
'provincia': linea.provincia,
- 'ccaaId': linea.ccaa_id,
'paisId': linea.pais_id,
'telefono': linea.telefono,
'proveedor': linea.proveedor,
'proveedor_id': linea.proveedor_id,
'precio': linea.precio,
'margen': linea.margen,
+ 'entregaPieCalle': linea.entregaPieCalle,
'actionBtns_direcciones': actionBtns_direcciones,
})
.draw();
updateTotales()
+ checkInsertar()
});
})
}
-checkInsertar()
+
load_datos_envios()
= $this->endSection() ?>
\ No newline at end of file
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 a569c4ad..94d8b148 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
@@ -459,28 +459,30 @@
$('#manipulado_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
});
yeniden(data.= csrf_token() ?>);
- }).then(
- fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosPreimpresion,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
+ }).then(function(){
if(update_preimpresion){
- data.lines.forEach((line) => {
- $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
- $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
- });
+ fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , {
+ method: "POST",
+ body: JSON.stringify({
+ datos: datosPreimpresion,
+ = csrf_token() ?? "token" ?> : = csrf_token() ?>v
+ }),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+
+ data.lines.forEach((line) => {
+ $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
+ $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
+ });
+
+ yeniden(data.= csrf_token() ?>);
+ })
}
- yeniden(data.= csrf_token() ?>);
- })
- )
+ })
)
)
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
index bd309aa0..f6190aeb 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
@@ -41,41 +41,22 @@
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -175,10 +156,17 @@ $('#saveDireccionEnvio').on('click', function(){
if(validate_fields()){
+ if($('#addressForm').attr('action')=='edit'){
+ tableEnvios.row( $("#addressForm").attr('row') )
+ .remove()
+ .draw();
+ }
var peso_total_libro = 0
$('#tableLineasPresupuesto tbody tr:visible ').each(function(){
- peso_total_libro += parseFloat($('#' + this.id + '_peso').val())
+ // No se incluyen las lineas de datos de rotativa
+ if(!this.id.includes("_data") )
+ peso_total_libro += parseFloat($('#' + this.id + '_peso').val())
})
const peso_envio = peso_total_libro*parseInt($('#add_cantidad').val())/1000.0
@@ -194,6 +182,7 @@ $('#saveDireccionEnvio').on('click', function(){
})
.done(function( data ) {
if(data.length >0){
+ //console.log(data)
var precios = []
for (var i = 0; i < data.length; i++) {
if(peso_envio>data[i].peso_max){
@@ -226,13 +215,13 @@ $('#saveDireccionEnvio').on('click', function(){
'cp': $('#add_cp').val(),
'municipio': $('#add_municipio').val(),
'provincia': $('#add_provincia').val(),
- 'ccaaId': $('#add_ccaa').val(),
'paisId': $('#add_pais_id').val(),
'telefono': $('#add_telefono').val(),
'proveedor': tarifa_final.proveedor,
'proveedor_id': tarifa_final.proveedor_id,
'precio': tarifa_final.precio,
'margen': tarifa_final.margen,
+ 'entregaPieCalle': $('#add_entregaPieCalle').is(":checked")?1:0,
'actionBtns_direcciones': actionBtns_direcciones,
})
.draw();
@@ -250,7 +239,6 @@ $('#saveDireccionEnvio').on('click', function(){
'cp': $('#add_cp').val(),
'municipio': $('#add_municipio').val(),
'provincia': $('#add_provincia').val(),
- 'ccaaId': $('#add_ccaa').val(),
'paisId': $('#add_pais_id').val(),
'telefono': $('#add_telefono').val(),
'alias': $('#add_alias').val(),
@@ -361,7 +349,6 @@ $('#add_clientedAdd').on('select2:select', function (e) {
$('#add_telefono').val(data[0].telefono)
$('#add_email').val(data[0].email)
$('#add_pais_id').val(data[0].pais_id).change();
- $('#add_ccaa').val(data[0].ccaa_id).change();
}
yeniden(data.= csrf_token() ?>);
@@ -383,20 +370,6 @@ $('.new-address').on('change', function(e){
})
-$('#add_pais_id').on('change', function(){
- var nombre_pais = $("#add_pais_id option:selected" ).text().trim();
- if(nombre_pais.localeCompare('España')==0){
- $('#divPais').removeClass('col-lg-12').addClass('col-lg-6')
- $('#divMunicipio').removeClass('col-lg-12').addClass('col-lg-6')
- $('.spain-data').css('display', 'inline')
- }
- else{
- $('.spain-data').css('display', 'none')
- $('#divPais').removeClass('col-lg-6').addClass('col-lg-12')
- $('#divMunicipio').removeClass('col-lg-6').addClass('col-lg-12')
- }
-})
-
// clear modal items when close
$('#addressForm').on('hidden.bs.modal', function () {
@@ -404,14 +377,14 @@ $('#addressForm').on('hidden.bs.modal', function () {
$('#add_att').val("")
$('#add_email').val("")
$('#add_direccion').val("")
- $("#add_pais_id").val("").change()
+ $("#add_pais_id").val(1).change()
$("#add_clientedAdd").val("").change()
- $("#add_ccaa").val("").change()
$('#add_municipio').val("")
$('#add_provincia').val("")
$('#add_cp').val("")
$('#add_telefono').val("")
$('#add_saveDirection').prop('checked', false)
+ $('#add_entregaPieCalle').prop('checked', false)
})
=$this->endSection() ?>
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
index 3cecc9ea..94c8353e 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
@@ -166,8 +166,8 @@ function updateTotales(){
if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){
tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
var data = this.data()
- totalEnvios += data.precio
- margenEnvios += (data.precio)*data.margen/100
+ totalEnvios += parseFloat(data.precio)
+ margenEnvios += parseFloat((data.precio)*data.margen/100)
} );
}
diff --git a/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php b/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php
index 35dbc375..e20bb285 100755
--- a/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php
+++ b/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php
@@ -108,7 +108,7 @@ if (!empty($token) && $tfa == false) {