Commit 8ebdc368c86d20fbe450b9b04402909ac0dab06f

Authored by Luigi
1 parent 1ad71773ea
Exists in master and in 1 other branch develop

setear idLista al seleccionar Nota pedido

Showing 1 changed file with 1 additions and 0 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl', 1 angular.module('focaCrearNotaPedido').controller('notaPedidoCtrl',
2 [ 2 [
3 '$scope', 3 '$scope',
4 '$uibModal', 4 '$uibModal',
5 '$location', 5 '$location',
6 '$filter', 6 '$filter',
7 '$timeout', 7 '$timeout',
8 'crearNotaPedidoService', 8 'crearNotaPedidoService',
9 'focaBotoneraLateralService', 9 'focaBotoneraLateralService',
10 'focaModalService', 10 'focaModalService',
11 'notaPedidoBusinessService', 11 'notaPedidoBusinessService',
12 '$rootScope', 12 '$rootScope',
13 'focaSeguimientoService', 13 'focaSeguimientoService',
14 'APP', 14 'APP',
15 'focaLoginService', 15 'focaLoginService',
16 '$localStorage', 16 '$localStorage',
17 function ( 17 function (
18 $scope, $uibModal, $location, $filter, $timeout, crearNotaPedidoService, 18 $scope, $uibModal, $location, $filter, $timeout, crearNotaPedidoService,
19 focaBotoneraLateralService, focaModalService, notaPedidoBusinessService, 19 focaBotoneraLateralService, focaModalService, notaPedidoBusinessService,
20 $rootScope, focaSeguimientoService, APP, focaLoginService, $localStorage) { 20 $rootScope, focaSeguimientoService, APP, focaLoginService, $localStorage) {
21 config(); 21 config();
22 var cotizacionPArgentino = {}; 22 var cotizacionPArgentino = {};
23 23
24 function config() { 24 function config() {
25 // PARAMETROS INICIALES PARA FUNCIONAMIENTO DEL PROGRAMA 25 // PARAMETROS INICIALES PARA FUNCIONAMIENTO DEL PROGRAMA
26 $scope.tmpCantidad = Number; 26 $scope.tmpCantidad = Number;
27 $scope.tmpPrecio = Number; 27 $scope.tmpPrecio = Number;
28 $scope.notaPedido = {}; 28 $scope.notaPedido = {};
29 $scope.isNumber = angular.isNumber; 29 $scope.isNumber = angular.isNumber;
30 $scope.datepickerAbierto = false; 30 $scope.datepickerAbierto = false;
31 $scope.show = false; 31 $scope.show = false;
32 $scope.cargando = true; 32 $scope.cargando = true;
33 $scope.cabeceras = []; 33 $scope.cabeceras = [];
34 $scope.botonera = crearNotaPedidoService.getBotonera(); 34 $scope.botonera = crearNotaPedidoService.getBotonera();
35 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4); 35 $scope.puntoVenta = $filter('rellenarDigitos')(0, 4);
36 $scope.comprobante = $filter('rellenarDigitos')(0, 8); 36 $scope.comprobante = $filter('rellenarDigitos')(0, 8);
37 $scope.dateOptions = { 37 $scope.dateOptions = {
38 maxDate: new Date(), 38 maxDate: new Date(),
39 minDate: new Date(2010, 0, 1) 39 minDate: new Date(2010, 0, 1)
40 }; 40 };
41 41
42 //SETEO BOTONERA LATERAL 42 //SETEO BOTONERA LATERAL
43 $timeout(function () { 43 $timeout(function () {
44 focaBotoneraLateralService.showSalir(false); 44 focaBotoneraLateralService.showSalir(false);
45 focaBotoneraLateralService.showPausar(true); 45 focaBotoneraLateralService.showPausar(true);
46 focaBotoneraLateralService.showGuardar(true, $scope.crearNotaPedido); 46 focaBotoneraLateralService.showGuardar(true, $scope.crearNotaPedido);
47 focaBotoneraLateralService.addCustomButton('Salir', salir); 47 focaBotoneraLateralService.addCustomButton('Salir', salir);
48 }); 48 });
49 49
50 // SETEA BOTONERA DE FACTURADOR TENIENDO EN CUENTA SI ESTA SETEADO EL VENDEDOR 50 // SETEA BOTONERA DE FACTURADOR TENIENDO EN CUENTA SI ESTA SETEADO EL VENDEDOR
51 if (APP === 'distribuidor') { 51 if (APP === 'distribuidor') {
52 $scope.idVendedor = focaLoginService.getLoginData().vendedorCobrador; 52 $scope.idVendedor = focaLoginService.getLoginData().vendedorCobrador;
53 } 53 }
54 54
55 crearNotaPedidoService.getParametros().then(function (res) { 55 crearNotaPedidoService.getParametros().then(function (res) {
56 var parametros = JSON.parse(res.data[0].jsonText); 56 var parametros = JSON.parse(res.data[0].jsonText);
57 if ($localStorage.notaPedido) { 57 if ($localStorage.notaPedido) {
58 $timeout(function () { getLSNotaPedido(); }); 58 $timeout(function () { getLSNotaPedido(); });
59 } else { 59 } else {
60 for (var property in parametros) { 60 for (var property in parametros) {
61 $scope.notaPedido[property] = parametros[property]; 61 $scope.notaPedido[property] = parametros[property];
62 $scope.inicial[property] = parametros[property]; 62 $scope.inicial[property] = parametros[property];
63 } 63 }
64 setearNotaPedido($scope.notaPedido); 64 setearNotaPedido($scope.notaPedido);
65 } 65 }
66 }); 66 });
67 67
68 init(); 68 init();
69 69
70 } 70 }
71 71
72 function init() { 72 function init() {
73 $scope.$broadcast('cleanCabecera'); 73 $scope.$broadcast('cleanCabecera');
74 74
75 $scope.notaPedido = { 75 $scope.notaPedido = {
76 id: 0, 76 id: 0,
77 cliente: {}, 77 cliente: {},
78 proveedor: {}, 78 proveedor: {},
79 domicilio: { dom: '' }, 79 domicilio: { dom: '' },
80 vendedor: {}, 80 vendedor: {},
81 fechaCarga: new Date(), 81 fechaCarga: new Date(),
82 cotizacion: {}, 82 cotizacion: {},
83 articulosNotaPedido: [], 83 articulosNotaPedido: [],
84 notaPedidoPlazo: [], 84 notaPedidoPlazo: [],
85 notaPedidoPuntoDescarga: [] 85 notaPedidoPuntoDescarga: []
86 }; 86 };
87 $scope.idLista = undefined; 87 $scope.idLista = undefined;
88 88
89 crearNotaPedidoService.getNumeroNotaPedido().then( 89 crearNotaPedidoService.getNumeroNotaPedido().then(
90 function (res) { 90 function (res) {
91 $scope.puntoVenta = $filter('rellenarDigitos')( 91 $scope.puntoVenta = $filter('rellenarDigitos')(
92 res.data.sucursal, 4 92 res.data.sucursal, 4
93 ); 93 );
94 94
95 $scope.comprobante = $filter('rellenarDigitos')( 95 $scope.comprobante = $filter('rellenarDigitos')(
96 res.data.numeroNotaPedido, 8 96 res.data.numeroNotaPedido, 8
97 ); 97 );
98 }, 98 },
99 function (err) { 99 function (err) {
100 focaModalService.alert('La terminal no esta configurada correctamente'); 100 focaModalService.alert('La terminal no esta configurada correctamente');
101 console.info(err); 101 console.info(err);
102 } 102 }
103 ); 103 );
104 104
105 if (APP === 'distribuidor') { 105 if (APP === 'distribuidor') {
106 crearNotaPedidoService.getVendedorById($scope.idVendedor).then( 106 crearNotaPedidoService.getVendedorById($scope.idVendedor).then(
107 function (res) { 107 function (res) {
108 var vendedor = res.data; 108 var vendedor = res.data;
109 $scope.$broadcast('addCabecera', { 109 $scope.$broadcast('addCabecera', {
110 label: 'Vendedor:', 110 label: 'Vendedor:',
111 valor: $filter('rellenarDigitos')(vendedor.NUM, 3) + ' - ' + 111 valor: $filter('rellenarDigitos')(vendedor.NUM, 3) + ' - ' +
112 vendedor.NOM 112 vendedor.NOM
113 }); 113 });
114 114
115 $scope.notaPedido.vendedor = vendedor; 115 $scope.notaPedido.vendedor = vendedor;
116 $scope.inicial.vendedor = $scope.notaPedido.vendedor; 116 $scope.inicial.vendedor = $scope.notaPedido.vendedor;
117 } 117 }
118 ); 118 );
119 } 119 }
120 120
121 $scope.inicial = angular.copy($scope.notaPedido); 121 $scope.inicial = angular.copy($scope.notaPedido);
122 } 122 }
123 123
124 $scope.$watch('notaPedido', function (newValue) { 124 $scope.$watch('notaPedido', function (newValue) {
125 focaBotoneraLateralService.setPausarData({ 125 focaBotoneraLateralService.setPausarData({
126 label: 'notaPedido', 126 label: 'notaPedido',
127 val: newValue 127 val: newValue
128 }); 128 });
129 }, true); 129 }, true);
130 130
131 $scope.crearNotaPedido = function () { 131 $scope.crearNotaPedido = function () {
132 if (!$scope.notaPedido.cliente.COD) { 132 if (!$scope.notaPedido.cliente.COD) {
133 focaModalService.alert('Ingrese Cliente'); 133 focaModalService.alert('Ingrese Cliente');
134 return; 134 return;
135 } else if ($scope.notaPedido.idRemito === -1) { 135 } else if ($scope.notaPedido.idRemito === -1) {
136 focaBotoneraLateralService.alert('No se puede modificar esta nota de pedido'); 136 focaBotoneraLateralService.alert('No se puede modificar esta nota de pedido');
137 return; 137 return;
138 } else if (!$scope.notaPedido.proveedor.COD) { 138 } else if (!$scope.notaPedido.proveedor.COD) {
139 focaModalService.alert('Ingrese Proveedor'); 139 focaModalService.alert('Ingrese Proveedor');
140 return; 140 return;
141 } else if (!$scope.notaPedido.cotizacion.ID) { 141 } else if (!$scope.notaPedido.cotizacion.ID) {
142 focaModalService.alert('Ingrese Cotización'); 142 focaModalService.alert('Ingrese Cotización');
143 return; 143 return;
144 } else if (!$scope.notaPedido.cotizacion.moneda.ID) { 144 } else if (!$scope.notaPedido.cotizacion.moneda.ID) {
145 focaModalService.alert('Ingrese Moneda'); 145 focaModalService.alert('Ingrese Moneda');
146 return; 146 return;
147 } else if (!$scope.notaPedido.notaPedidoPlazo) { 147 } else if (!$scope.notaPedido.notaPedidoPlazo) {
148 focaModalService.alert('Ingrese Precios y Condiciones'); 148 focaModalService.alert('Ingrese Precios y Condiciones');
149 return; 149 return;
150 } else if ( 150 } else if (
151 $scope.notaPedido.flete === undefined || $scope.notaPedido.flete === null) { 151 $scope.notaPedido.flete === undefined || $scope.notaPedido.flete === null) {
152 focaModalService.alert('Ingrese Flete'); 152 focaModalService.alert('Ingrese Flete');
153 return; 153 return;
154 } else if (!$scope.notaPedido.domicilioStamp) {//TODO validar domicilio correcto 154 } else if (!$scope.notaPedido.domicilioStamp) {//TODO validar domicilio correcto
155 focaModalService.alert('Ingrese Domicilio'); 155 focaModalService.alert('Ingrese Domicilio');
156 return; 156 return;
157 } else if ($scope.notaPedido.articulosNotaPedido.length === 0) { 157 } else if ($scope.notaPedido.articulosNotaPedido.length === 0) {
158 focaModalService.alert('Debe cargar al menos un articulo'); 158 focaModalService.alert('Debe cargar al menos un articulo');
159 return; 159 return;
160 } 160 }
161 161
162 focaBotoneraLateralService.startGuardar(); 162 focaBotoneraLateralService.startGuardar();
163 $scope.saveLoading = true; 163 $scope.saveLoading = true;
164 var notaPedido = { 164 var notaPedido = {
165 id: $scope.notaPedido.id, 165 id: $scope.notaPedido.id,
166 fechaCarga: new Date($scope.notaPedido.fechaCarga) 166 fechaCarga: new Date($scope.notaPedido.fechaCarga)
167 .toISOString().slice(0, 19).replace('T', ' '), 167 .toISOString().slice(0, 19).replace('T', ' '),
168 idVendedor: $scope.notaPedido.vendedor.id, 168 idVendedor: $scope.notaPedido.vendedor.id,
169 idCliente: $scope.notaPedido.cliente.COD, 169 idCliente: $scope.notaPedido.cliente.COD,
170 nombreCliente: $scope.notaPedido.cliente.NOM, 170 nombreCliente: $scope.notaPedido.cliente.NOM,
171 cuitCliente: $scope.notaPedido.cliente.CUIT, 171 cuitCliente: $scope.notaPedido.cliente.CUIT,
172 idProveedor: $scope.notaPedido.proveedor.COD, 172 idProveedor: $scope.notaPedido.proveedor.COD,
173 idDomicilio: $scope.notaPedido.domicilio.id, 173 idDomicilio: $scope.notaPedido.domicilio.id,
174 idCotizacion: $scope.notaPedido.cotizacion.ID, 174 idCotizacion: $scope.notaPedido.cotizacion.ID,
175 idListaPrecio: $scope.notaPedido.idPrecioCondicion, 175 idListaPrecio: $scope.notaPedido.idPrecioCondicion,
176 cotizacion: $scope.notaPedido.cotizacion.VENDEDOR, 176 cotizacion: $scope.notaPedido.cotizacion.VENDEDOR,
177 flete: $scope.notaPedido.flete, 177 flete: $scope.notaPedido.flete,
178 fob: $scope.notaPedido.fob, 178 fob: $scope.notaPedido.fob,
179 bomba: $scope.notaPedido.bomba, 179 bomba: $scope.notaPedido.bomba,
180 kilometros: $scope.notaPedido.kilometros, 180 kilometros: $scope.notaPedido.kilometros,
181 domicilioStamp: $scope.notaPedido.domicilioStamp, 181 domicilioStamp: $scope.notaPedido.domicilioStamp,
182 observaciones: $scope.notaPedido.observaciones, 182 observaciones: $scope.notaPedido.observaciones,
183 estado: 0, 183 estado: 0,
184 total: $scope.getTotal() 184 total: $scope.getTotal()
185 }; 185 };
186 crearNotaPedidoService.crearNotaPedido(notaPedido).then( 186 crearNotaPedidoService.crearNotaPedido(notaPedido).then(
187 function (data) { 187 function (data) {
188 // Al guardar los datos de la nota de pedido logueamos la 188 // Al guardar los datos de la nota de pedido logueamos la
189 // actividad para su seguimiento. 189 // actividad para su seguimiento.
190 //TODO: GUARDAR POSISIONAMIENTO AL EDITAR? 190 //TODO: GUARDAR POSISIONAMIENTO AL EDITAR?
191 focaSeguimientoService.guardarPosicion( 191 focaSeguimientoService.guardarPosicion(
192 'Nota de pedido', 192 'Nota de pedido',
193 data.data.id, 193 data.data.id,
194 '' 194 ''
195 ); 195 );
196 notaPedidoBusinessService.addArticulos( 196 notaPedidoBusinessService.addArticulos(
197 $scope.notaPedido.articulosNotaPedido, 197 $scope.notaPedido.articulosNotaPedido,
198 data.data.id, $scope.notaPedido.cotizacion.VENDEDOR); 198 data.data.id, $scope.notaPedido.cotizacion.VENDEDOR);
199 199
200 if ($scope.notaPedido.notaPedidoPuntoDescarga.length > 0) { 200 if ($scope.notaPedido.notaPedidoPuntoDescarga.length > 0) {
201 notaPedidoBusinessService.addPuntosDescarga(data.data.id, 201 notaPedidoBusinessService.addPuntosDescarga(data.data.id,
202 $scope.notaPedido.notaPedidoPuntoDescarga); 202 $scope.notaPedido.notaPedidoPuntoDescarga);
203 } 203 }
204 204
205 var plazos = $scope.notaPedido.notaPedidoPlazo; 205 var plazos = $scope.notaPedido.notaPedidoPlazo;
206 var plazosACrear = []; 206 var plazosACrear = [];
207 plazos.forEach(function (plazo) { 207 plazos.forEach(function (plazo) {
208 plazosACrear.push({ 208 plazosACrear.push({
209 idNotaPedido: data.data.id, 209 idNotaPedido: data.data.id,
210 dias: plazo.dias 210 dias: plazo.dias
211 }); 211 });
212 }); 212 });
213 213
214 if (plazosACrear.length) { 214 if (plazosACrear.length) {
215 crearNotaPedidoService.crearPlazosParaNotaPedido(plazosACrear); 215 crearNotaPedidoService.crearPlazosParaNotaPedido(plazosACrear);
216 } 216 }
217 217
218 notaPedidoBusinessService.addEstado(data.data.id, 218 notaPedidoBusinessService.addEstado(data.data.id,
219 $scope.notaPedido.vendedor.id); 219 $scope.notaPedido.vendedor.id);
220 220
221 focaBotoneraLateralService.endGuardar(true); 221 focaBotoneraLateralService.endGuardar(true);
222 $scope.saveLoading = false; 222 $scope.saveLoading = false;
223 223
224 config(); 224 config();
225 }, function (error) { 225 }, function (error) {
226 focaModalService.alert('Hubo un error al crear la nota de pedido'); 226 focaModalService.alert('Hubo un error al crear la nota de pedido');
227 focaBotoneraLateralService.endGuardar(); 227 focaBotoneraLateralService.endGuardar();
228 $scope.saveLoading = false; 228 $scope.saveLoading = false;
229 console.info(error); 229 console.info(error);
230 }); 230 });
231 }; 231 };
232 232
233 $scope.seleccionarNotaPedido = function () { 233 $scope.seleccionarNotaPedido = function () {
234 var modalInstance = $uibModal.open( 234 var modalInstance = $uibModal.open(
235 { 235 {
236 ariaLabelledBy: 'Busqueda de Nota de Pedido', 236 ariaLabelledBy: 'Busqueda de Nota de Pedido',
237 templateUrl: 'foca-modal-nota-pedido.html', 237 templateUrl: 'foca-modal-nota-pedido.html',
238 controller: 'focaModalNotaPedidoController', 238 controller: 'focaModalNotaPedidoController',
239 size: 'lg', 239 size: 'lg',
240 resolve: { 240 resolve: {
241 usadoPor: function () { return 'notaPedido'; }, 241 usadoPor: function () { return 'notaPedido'; },
242 idVendedor: function () { 242 idVendedor: function () {
243 if (APP === 'distribuidor') 243 if (APP === 'distribuidor')
244 return $scope.notaPedido.vendedor.id; 244 return $scope.notaPedido.vendedor.id;
245 else 245 else
246 return null; 246 return null;
247 } 247 }
248 } 248 }
249 } 249 }
250 ); 250 );
251 modalInstance.result.then(function(notaPedido) { 251 modalInstance.result.then(function(notaPedido) {
252 252
253 notaPedido.articulosNotaPedido.forEach(function (articulo) { 253 notaPedido.articulosNotaPedido.forEach(function (articulo) {
254 articulo.precio = 254 articulo.precio =
255 (articulo.precio / notaPedido.cotizacion.VENDEDOR).toFixed(4); 255 (articulo.precio / notaPedido.cotizacion.VENDEDOR).toFixed(4);
256 }); 256 });
257 257
258 setearNotaPedido(notaPedido); 258 setearNotaPedido(notaPedido);
259 }); 259 });
260 }; 260 };
261 261
262 $scope.seleccionarProductos = function () { 262 $scope.seleccionarProductos = function () {
263 if ($scope.idLista === undefined) { 263 if ($scope.idLista === undefined) {
264 focaModalService.alert('Primero seleccione una lista de precio y condición'); 264 focaModalService.alert('Primero seleccione una lista de precio y condición');
265 return; 265 return;
266 } else if (!validarNotaRemitada()) { 266 } else if (!validarNotaRemitada()) {
267 return; 267 return;
268 } 268 }
269 269
270 var modalInstance = $uibModal.open( 270 var modalInstance = $uibModal.open(
271 { 271 {
272 ariaLabelledBy: 'Busqueda de Productos', 272 ariaLabelledBy: 'Busqueda de Productos',
273 templateUrl: 'modal-busqueda-productos.html', 273 templateUrl: 'modal-busqueda-productos.html',
274 controller: 'modalBusquedaProductosCtrl', 274 controller: 'modalBusquedaProductosCtrl',
275 resolve: { 275 resolve: {
276 parametroProducto: { 276 parametroProducto: {
277 idLista: $scope.idLista, 277 idLista: $scope.idLista,
278 cotizacion: $scope.notaPedido.cotizacion.VENDEDOR, 278 cotizacion: $scope.notaPedido.cotizacion.VENDEDOR,
279 simbolo: $scope.notaPedido.cotizacion.moneda.SIMBOLO 279 simbolo: $scope.notaPedido.cotizacion.moneda.SIMBOLO
280 } 280 }
281 }, 281 },
282 size: 'lg' 282 size: 'lg'
283 } 283 }
284 ); 284 );
285 modalInstance.result.then( 285 modalInstance.result.then(
286 function (producto) { 286 function (producto) {
287 var newArt = 287 var newArt =
288 { 288 {
289 id: 0, 289 id: 0,
290 codigo: producto.codigo, 290 codigo: producto.codigo,
291 sector: producto.sector, 291 sector: producto.sector,
292 sectorCodigo: producto.sector + '-' + producto.codigo, 292 sectorCodigo: producto.sector + '-' + producto.codigo,
293 descripcion: producto.descripcionLarga, 293 descripcion: producto.descripcionLarga,
294 item: $scope.notaPedido.articulosNotaPedido.length + 1, 294 item: $scope.notaPedido.articulosNotaPedido.length + 1,
295 nombre: producto.descripcion, 295 nombre: producto.descripcion,
296 precio: parseFloat(producto.precio.toFixed(4)), 296 precio: parseFloat(producto.precio.toFixed(4)),
297 costoUnitario: producto.costo, 297 costoUnitario: producto.costo,
298 editCantidad: false, 298 editCantidad: false,
299 editPrecio: false, 299 editPrecio: false,
300 rubro: producto.CodRub, 300 rubro: producto.CodRub,
301 ivaUnitario: producto.IMPIVA, 301 ivaUnitario: producto.IMPIVA,
302 impuestoInternoUnitario: producto.ImpInt, 302 impuestoInternoUnitario: producto.ImpInt,
303 impuestoInterno1Unitario: producto.ImpInt2, 303 impuestoInterno1Unitario: producto.ImpInt2,
304 impuestoInterno2Unitario: producto.ImpInt3, 304 impuestoInterno2Unitario: producto.ImpInt3,
305 precioLista: producto.precio, 305 precioLista: producto.precio,
306 combustible: 1, 306 combustible: 1,
307 facturado: 0, 307 facturado: 0,
308 idArticulo: producto.id, 308 idArticulo: producto.id,
309 tasaIva: producto.tasaIVA 309 tasaIva: producto.tasaIVA
310 }; 310 };
311 311
312 newArt.exentoUnitario = newArt.ivaUnitario ? 0 : producto.neto; 312 newArt.exentoUnitario = newArt.ivaUnitario ? 0 : producto.neto;
313 newArt.netoUnitario = newArt.ivaUnitario ? producto.neto : 0; 313 newArt.netoUnitario = newArt.ivaUnitario ? producto.neto : 0;
314 314
315 $scope.articuloACargar = newArt; 315 $scope.articuloACargar = newArt;
316 $scope.cargando = false; 316 $scope.cargando = false;
317 }, function () { 317 }, function () {
318 // funcion ejecutada cuando se cancela el modal 318 // funcion ejecutada cuando se cancela el modal
319 } 319 }
320 ); 320 );
321 }; 321 };
322 322
323 $scope.seleccionarPuntosDeDescarga = function () { 323 $scope.seleccionarPuntosDeDescarga = function () {
324 if (!$scope.notaPedido.cliente.COD || !$scope.notaPedido.domicilio.id) { 324 if (!$scope.notaPedido.cliente.COD || !$scope.notaPedido.domicilio.id) {
325 focaModalService.alert('Primero seleccione un cliente y un domicilio'); 325 focaModalService.alert('Primero seleccione un cliente y un domicilio');
326 return; 326 return;
327 } else { 327 } else {
328 var modalInstance = $uibModal.open( 328 var modalInstance = $uibModal.open(
329 { 329 {
330 ariaLabelledBy: 'Búsqueda de Puntos de descarga', 330 ariaLabelledBy: 'Búsqueda de Puntos de descarga',
331 templateUrl: 'modal-punto-descarga.html', 331 templateUrl: 'modal-punto-descarga.html',
332 controller: 'focaModalPuntoDescargaController', 332 controller: 'focaModalPuntoDescargaController',
333 size: 'lg', 333 size: 'lg',
334 resolve: { 334 resolve: {
335 filters: { 335 filters: {
336 idDomicilio: $scope.notaPedido.domicilio.id, 336 idDomicilio: $scope.notaPedido.domicilio.id,
337 idCliente: $scope.notaPedido.cliente.COD, 337 idCliente: $scope.notaPedido.cliente.COD,
338 articulos: $scope.notaPedido.articulosNotaPedido, 338 articulos: $scope.notaPedido.articulosNotaPedido,
339 puntoDescarga: $scope.notaPedido.notaPedidoPuntoDescarga, 339 puntoDescarga: $scope.notaPedido.notaPedidoPuntoDescarga,
340 domicilio: $scope.notaPedido.domicilio 340 domicilio: $scope.notaPedido.domicilio
341 } 341 }
342 } 342 }
343 } 343 }
344 ); 344 );
345 modalInstance.result.then( 345 modalInstance.result.then(
346 function (puntoDescarga) { 346 function (puntoDescarga) {
347 347
348 puntoDescarga.forEach(function (punto) { 348 puntoDescarga.forEach(function (punto) {
349 $scope.notaPedido.notaPedidoPuntoDescarga.push( 349 $scope.notaPedido.notaPedidoPuntoDescarga.push(
350 { 350 {
351 puntoDescarga: punto 351 puntoDescarga: punto
352 } 352 }
353 ); 353 );
354 }); 354 });
355 355
356 $scope.$broadcast('addCabecera', { 356 $scope.$broadcast('addCabecera', {
357 label: 'Puntos de descarga:', 357 label: 'Puntos de descarga:',
358 valor: getCabeceraPuntoDescarga(puntoDescarga) 358 valor: getCabeceraPuntoDescarga(puntoDescarga)
359 }); 359 });
360 }, function () { 360 }, function () {
361 $scope.abrirModalDomicilios($scope.cliente); 361 $scope.abrirModalDomicilios($scope.cliente);
362 } 362 }
363 ); 363 );
364 } 364 }
365 }; 365 };
366 366
367 $scope.seleccionarDomicilioDeEntrega = function () { 367 $scope.seleccionarDomicilioDeEntrega = function () {
368 if (!$scope.notaPedido.cliente.COD) { 368 if (!$scope.notaPedido.cliente.COD) {
369 focaModalService.alert('Seleccione un Cliente'); 369 focaModalService.alert('Seleccione un Cliente');
370 return; 370 return;
371 } else { 371 } else {
372 $scope.abrirModalDomicilios($scope.cliente); 372 $scope.abrirModalDomicilios($scope.cliente);
373 } 373 }
374 }; 374 };
375 $scope.seleccionarProveedor = function () { 375 $scope.seleccionarProveedor = function () {
376 $scope.abrirModalProveedores(function () { 376 $scope.abrirModalProveedores(function () {
377 if (validarNotaRemitada()) { 377 if (validarNotaRemitada()) {
378 var modalInstance = $uibModal.open( 378 var modalInstance = $uibModal.open(
379 { 379 {
380 ariaLabelledBy: 'Busqueda de Flete', 380 ariaLabelledBy: 'Busqueda de Flete',
381 templateUrl: 'modal-flete.html', 381 templateUrl: 'modal-flete.html',
382 controller: 'focaModalFleteController', 382 controller: 'focaModalFleteController',
383 size: 'lg', 383 size: 'lg',
384 resolve: { 384 resolve: {
385 parametrosFlete: 385 parametrosFlete:
386 function () { 386 function () {
387 return { 387 return {
388 flete: $scope.notaPedido.fob ? 'FOB' : 388 flete: $scope.notaPedido.fob ? 'FOB' :
389 ($scope.notaPedido.flete ? '1' : 389 ($scope.notaPedido.flete ? '1' :
390 ($scope.notaPedido.flete === undefined ? 390 ($scope.notaPedido.flete === undefined ?
391 null : '0')), 391 null : '0')),
392 bomba: $scope.notaPedido.bomba ? '1' : 392 bomba: $scope.notaPedido.bomba ? '1' :
393 ($scope.notaPedido.bomba === undefined ? 393 ($scope.notaPedido.bomba === undefined ?
394 null : '0'), 394 null : '0'),
395 kilometros: $scope.notaPedido.kilometros 395 kilometros: $scope.notaPedido.kilometros
396 }; 396 };
397 } 397 }
398 } 398 }
399 } 399 }
400 ); 400 );
401 modalInstance.result.then( 401 modalInstance.result.then(
402 function (datos) { 402 function (datos) {
403 $scope.notaPedido.flete = datos.flete; 403 $scope.notaPedido.flete = datos.flete;
404 $scope.notaPedido.fob = datos.FOB; 404 $scope.notaPedido.fob = datos.FOB;
405 $scope.notaPedido.bomba = datos.bomba; 405 $scope.notaPedido.bomba = datos.bomba;
406 $scope.notaPedido.kilometros = datos.kilometros; 406 $scope.notaPedido.kilometros = datos.kilometros;
407 $scope.$broadcast('addCabecera', { 407 $scope.$broadcast('addCabecera', {
408 label: 'Flete:', 408 label: 'Flete:',
409 valor: datos.FOB ? 'FOB' : (datos.flete ? 'Si' : 'No') 409 valor: datos.FOB ? 'FOB' : (datos.flete ? 'Si' : 'No')
410 }); 410 });
411 if (datos.flete) { 411 if (datos.flete) {
412 $scope.$broadcast('addCabecera', { 412 $scope.$broadcast('addCabecera', {
413 label: 'Bomba:', 413 label: 'Bomba:',
414 valor: datos.bomba ? 'Si' : 'No' 414 valor: datos.bomba ? 'Si' : 'No'
415 }); 415 });
416 $scope.$broadcast('addCabecera', { 416 $scope.$broadcast('addCabecera', {
417 label: 'Kilometros:', 417 label: 'Kilometros:',
418 valor: datos.kilometros 418 valor: datos.kilometros
419 }); 419 });
420 } else { 420 } else {
421 $scope.$broadcast('removeCabecera', 'Bomba:'); 421 $scope.$broadcast('removeCabecera', 'Bomba:');
422 $scope.$broadcast('removeCabecera', 'Kilometros:'); 422 $scope.$broadcast('removeCabecera', 'Kilometros:');
423 $scope.notaPedido.bomba = false; 423 $scope.notaPedido.bomba = false;
424 $scope.notaPedido.kilometros = null; 424 $scope.notaPedido.kilometros = null;
425 } 425 }
426 426
427 $filter('filter')($scope.botonera, 427 $filter('filter')($scope.botonera,
428 { label: 'Proveedor' })[0].checked = true; 428 { label: 'Proveedor' })[0].checked = true;
429 }, function () { 429 }, function () {
430 $scope.seleccionarTransportista(); 430 $scope.seleccionarTransportista();
431 } 431 }
432 ); 432 );
433 } 433 }
434 }); 434 });
435 }; 435 };
436 436
437 $scope.seleccionarVendedor = function (callback, ocultarVendedor) { 437 $scope.seleccionarVendedor = function (callback, ocultarVendedor) {
438 if (APP === 'distribuidor' || ocultarVendedor) { 438 if (APP === 'distribuidor' || ocultarVendedor) {
439 callback(); 439 callback();
440 return; 440 return;
441 } 441 }
442 442
443 if (validarNotaRemitada()) { 443 if (validarNotaRemitada()) {
444 var parametrosModal = { 444 var parametrosModal = {
445 titulo: 'Búsqueda vendedores', 445 titulo: 'Búsqueda vendedores',
446 query: '/vendedor', 446 query: '/vendedor',
447 columnas: [ 447 columnas: [
448 { 448 {
449 propiedad: 'NUM', 449 propiedad: 'NUM',
450 nombre: 'Código', 450 nombre: 'Código',
451 filtro: { 451 filtro: {
452 nombre: 'rellenarDigitos', 452 nombre: 'rellenarDigitos',
453 parametro: 3 453 parametro: 3
454 } 454 }
455 }, 455 },
456 { 456 {
457 propiedad: 'NOM', 457 propiedad: 'NOM',
458 nombre: 'Nombre' 458 nombre: 'Nombre'
459 } 459 }
460 ], 460 ],
461 size: 'md' 461 size: 'md'
462 }; 462 };
463 focaModalService.modal(parametrosModal).then( 463 focaModalService.modal(parametrosModal).then(
464 function (vendedor) { 464 function (vendedor) {
465 $scope.$broadcast('addCabecera', { 465 $scope.$broadcast('addCabecera', {
466 label: 'Vendedor:', 466 label: 'Vendedor:',
467 valor: $filter('rellenarDigitos')(vendedor.NUM, 3) + ' - ' + 467 valor: $filter('rellenarDigitos')(vendedor.NUM, 3) + ' - ' +
468 vendedor.NOM 468 vendedor.NOM
469 }); 469 });
470 $scope.notaPedido.vendedor = vendedor; 470 $scope.notaPedido.vendedor = vendedor;
471 deleteCliente(); 471 deleteCliente();
472 callback(); 472 callback();
473 }, function () { } 473 }, function () { }
474 ); 474 );
475 } 475 }
476 }; 476 };
477 477
478 $scope.seleccionarCliente = function () { 478 $scope.seleccionarCliente = function () {
479 if (validarNotaRemitada()) { 479 if (validarNotaRemitada()) {
480 480
481 var modalInstance = $uibModal.open( 481 var modalInstance = $uibModal.open(
482 { 482 {
483 ariaLabelledBy: 'Busqueda de Cliente', 483 ariaLabelledBy: 'Busqueda de Cliente',
484 templateUrl: 'foca-busqueda-cliente-modal.html', 484 templateUrl: 'foca-busqueda-cliente-modal.html',
485 controller: 'focaBusquedaClienteModalController', 485 controller: 'focaBusquedaClienteModalController',
486 resolve: { 486 resolve: {
487 vendedor: function () { return { id: $scope.idVendedor} }, 487 vendedor: function () { return { id: $scope.idVendedor} },
488 cobrador: function () { return null; } 488 cobrador: function () { return null; }
489 }, 489 },
490 size: 'lg' 490 size: 'lg'
491 } 491 }
492 ); 492 );
493 modalInstance.result.then( 493 modalInstance.result.then(
494 function (cliente) { 494 function (cliente) {
495 cliente.mod = cliente.mod; 495 cliente.mod = cliente.mod;
496 $scope.abrirModalDomicilios(cliente); 496 $scope.abrirModalDomicilios(cliente);
497 $scope.cliente = cliente; 497 $scope.cliente = cliente;
498 }, function () { } 498 }, function () { }
499 ); 499 );
500 } 500 }
501 }; 501 };
502 502
503 $scope.abrirModalProveedores = function (callback) { 503 $scope.abrirModalProveedores = function (callback) {
504 if (validarNotaRemitada()) { 504 if (validarNotaRemitada()) {
505 var parametrosModal = { 505 var parametrosModal = {
506 titulo: 'Búsqueda de Proveedor', 506 titulo: 'Búsqueda de Proveedor',
507 query: '/proveedor', 507 query: '/proveedor',
508 columnas: [ 508 columnas: [
509 { 509 {
510 nombre: 'Código', 510 nombre: 'Código',
511 propiedad: 'COD', 511 propiedad: 'COD',
512 filtro: { 512 filtro: {
513 nombre: 'rellenarDigitos', 513 nombre: 'rellenarDigitos',
514 parametro: 5 514 parametro: 5
515 } 515 }
516 }, 516 },
517 { 517 {
518 nombre: 'Nombre', 518 nombre: 'Nombre',
519 propiedad: 'NOM' 519 propiedad: 'NOM'
520 }, 520 },
521 { 521 {
522 nombre: 'CUIT', 522 nombre: 'CUIT',
523 propiedad: 'CUIT' 523 propiedad: 'CUIT'
524 } 524 }
525 ], 525 ],
526 tipo: 'POST', 526 tipo: 'POST',
527 json: { razonCuitCod: '' } 527 json: { razonCuitCod: '' }
528 }; 528 };
529 focaModalService.modal(parametrosModal).then( 529 focaModalService.modal(parametrosModal).then(
530 function (proveedor) { 530 function (proveedor) {
531 $scope.notaPedido.proveedor = proveedor; 531 $scope.notaPedido.proveedor = proveedor;
532 $scope.$broadcast('addCabecera', { 532 $scope.$broadcast('addCabecera', {
533 label: 'Proveedor:', 533 label: 'Proveedor:',
534 valor: $filter('rellenarDigitos')(proveedor.COD, 5) + ' - ' + 534 valor: $filter('rellenarDigitos')(proveedor.COD, 5) + ' - ' +
535 proveedor.NOM 535 proveedor.NOM
536 }); 536 });
537 callback(); 537 callback();
538 }, function () { 538 }, function () {
539 539
540 } 540 }
541 ); 541 );
542 } 542 }
543 }; 543 };
544 544
545 $scope.abrirModalDomicilios = function (cliente) { 545 $scope.abrirModalDomicilios = function (cliente) {
546 var modalInstanceDomicilio = $uibModal.open( 546 var modalInstanceDomicilio = $uibModal.open(
547 { 547 {
548 ariaLabelledBy: 'Busqueda de Domicilios', 548 ariaLabelledBy: 'Busqueda de Domicilios',
549 templateUrl: 'modal-domicilio.html', 549 templateUrl: 'modal-domicilio.html',
550 controller: 'focaModalDomicilioController', 550 controller: 'focaModalDomicilioController',
551 resolve: { 551 resolve: {
552 idCliente: function () { return cliente.cod; }, 552 idCliente: function () { return cliente.cod; },
553 esNuevo: function () { return cliente.esNuevo; } 553 esNuevo: function () { return cliente.esNuevo; }
554 }, 554 },
555 size: 'lg', 555 size: 'lg',
556 } 556 }
557 ); 557 );
558 modalInstanceDomicilio.result.then( 558 modalInstanceDomicilio.result.then(
559 function (domicilio) { 559 function (domicilio) {
560 $scope.notaPedido.domicilio = domicilio; 560 $scope.notaPedido.domicilio = domicilio;
561 $scope.notaPedido.cliente = { 561 $scope.notaPedido.cliente = {
562 COD: cliente.cod, 562 COD: cliente.cod,
563 CUIT: cliente.cuit, 563 CUIT: cliente.cuit,
564 NOM: cliente.nom, 564 NOM: cliente.nom,
565 MOD: cliente.mod, 565 MOD: cliente.mod,
566 VEN: cliente.ven 566 VEN: cliente.ven
567 }; 567 };
568 crearNotaPedidoService.getVendedorById($scope.notaPedido.cliente.VEN) 568 crearNotaPedidoService.getVendedorById($scope.notaPedido.cliente.VEN)
569 .then(function (res) { 569 .then(function (res) {
570 if (res.data !== '') { 570 if (res.data !== '') {
571 $scope.notaPedido.vendedor = res.data; 571 $scope.notaPedido.vendedor = res.data;
572 $scope.$broadcast('addCabecera', { 572 $scope.$broadcast('addCabecera', {
573 label: 'Vendedor:', 573 label: 'Vendedor:',
574 valor: $filter('rellenarDigitos') 574 valor: $filter('rellenarDigitos')
575 ($scope.notaPedido.vendedor.NUM, 3) + 575 ($scope.notaPedido.vendedor.NUM, 3) +
576 ' - ' + $scope.notaPedido.vendedor.NOM 576 ' - ' + $scope.notaPedido.vendedor.NOM
577 }); 577 });
578 } 578 }
579 var domicilioStamp = 579 var domicilioStamp =
580 domicilio.Calle + ' ' + domicilio.Numero + ', ' + 580 domicilio.Calle + ' ' + domicilio.Numero + ', ' +
581 domicilio.Localidad + ', ' + domicilio.Provincia; 581 domicilio.Localidad + ', ' + domicilio.Provincia;
582 $scope.notaPedido.domicilioStamp = domicilioStamp; 582 $scope.notaPedido.domicilioStamp = domicilioStamp;
583 583
584 $scope.$broadcast('addCabecera', { 584 $scope.$broadcast('addCabecera', {
585 label: 'Cliente:', 585 label: 'Cliente:',
586 valor: $filter('rellenarDigitos')(cliente.cod, 5) + 586 valor: $filter('rellenarDigitos')(cliente.cod, 5) +
587 ' - ' + cliente.nom 587 ' - ' + cliente.nom
588 }); 588 });
589 589
590 $scope.$broadcast('addCabecera', { 590 $scope.$broadcast('addCabecera', {
591 label: 'Domicilio:', 591 label: 'Domicilio:',
592 valor: domicilioStamp 592 valor: domicilioStamp
593 }); 593 });
594 594
595 if (domicilio.verPuntos) { 595 if (domicilio.verPuntos) {
596 delete $scope.notaPedido.domicilio.verPuntos; 596 delete $scope.notaPedido.domicilio.verPuntos;
597 $scope.seleccionarPuntosDeDescarga(); 597 $scope.seleccionarPuntosDeDescarga();
598 } 598 }
599 599
600 // Seteo checked en botonera 600 // Seteo checked en botonera
601 $filter('filter')($scope.botonera, 601 $filter('filter')($scope.botonera,
602 { label: 'Cliente' })[0].checked = true; 602 { label: 'Cliente' })[0].checked = true;
603 $filter('filter')($scope.botonera, 603 $filter('filter')($scope.botonera,
604 { label: 'Domicilio de Entrega' })[0].checked = true; 604 { label: 'Domicilio de Entrega' })[0].checked = true;
605 }) 605 })
606 .catch(function (e) { console.log(e); }); 606 .catch(function (e) { console.log(e); });
607 }, function () { 607 }, function () {
608 $scope.seleccionarCliente(true); 608 $scope.seleccionarCliente(true);
609 return; 609 return;
610 } 610 }
611 ); 611 );
612 }; 612 };
613 613
614 $scope.getTotal = function () { 614 $scope.getTotal = function () {
615 var total = 0; 615 var total = 0;
616 if ($scope.notaPedido.articulosNotaPedido) { 616 if ($scope.notaPedido.articulosNotaPedido) {
617 var arrayTempArticulos = $scope.notaPedido.articulosNotaPedido; 617 var arrayTempArticulos = $scope.notaPedido.articulosNotaPedido;
618 for (var i = 0; i < arrayTempArticulos.length; i++) { 618 for (var i = 0; i < arrayTempArticulos.length; i++) {
619 total += arrayTempArticulos[i].precio * arrayTempArticulos[i].cantidad; 619 total += arrayTempArticulos[i].precio * arrayTempArticulos[i].cantidad;
620 } 620 }
621 } 621 }
622 return parseFloat(total.toFixed(2)); 622 return parseFloat(total.toFixed(2));
623 }; 623 };
624 624
625 $scope.getSubTotal = function () { 625 $scope.getSubTotal = function () {
626 if ($scope.articuloACargar) { 626 if ($scope.articuloACargar) {
627 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad; 627 return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad;
628 } 628 }
629 }; 629 };
630 630
631 $scope.seleccionarPreciosYCondiciones = function () { 631 $scope.seleccionarPreciosYCondiciones = function () {
632 632
633 if (!validarNotaRemitada()) { 633 if (!validarNotaRemitada()) {
634 return; 634 return;
635 } 635 }
636 636
637 if (!$scope.notaPedido.cliente.COD) { 637 if (!$scope.notaPedido.cliente.COD) {
638 focaModalService.alert('Primero seleccione un cliente'); 638 focaModalService.alert('Primero seleccione un cliente');
639 return; 639 return;
640 } else { 640 } else {
641 abrirModal(); 641 abrirModal();
642 } 642 }
643 643
644 function abrirModal() { 644 function abrirModal() {
645 var parametros = { idCliente: $scope.notaPedido.cliente.COD, idListaPrecio : $scope.notaPedido.cliente.MOD, 645 var parametros = { idCliente: $scope.notaPedido.cliente.COD, idListaPrecio : $scope.notaPedido.cliente.MOD,
646 notaPedido: $scope.notaPedido }; 646 notaPedido: $scope.notaPedido };
647 var modalInstance = $uibModal.open( 647 var modalInstance = $uibModal.open(
648 { 648 {
649 ariaLabelledBy: 'Busqueda de Precio Condición', 649 ariaLabelledBy: 'Busqueda de Precio Condición',
650 templateUrl: 'modal-precio-condicion.html', 650 templateUrl: 'modal-precio-condicion.html',
651 controller: 'focaModalPrecioCondicionController', 651 controller: 'focaModalPrecioCondicionController',
652 size: 'lg', 652 size: 'lg',
653 resolve: { 653 resolve: {
654 parametros: function () { return parametros; }, 654 parametros: function () { return parametros; },
655 } 655 }
656 } 656 }
657 ); 657 );
658 658
659 modalInstance.result 659 modalInstance.result
660 .then(function (precioCondicion) { 660 .then(function (precioCondicion) {
661 var cabecera = ''; 661 var cabecera = '';
662 var plazosConcat = ''; 662 var plazosConcat = '';
663 if (!Array.isArray(precioCondicion)) { 663 if (!Array.isArray(precioCondicion)) {
664 $scope.notaPedido.notaPedidoPlazo = precioCondicion.plazoPago; 664 $scope.notaPedido.notaPedidoPlazo = precioCondicion.plazoPago;
665 $scope.notaPedido.precioCondicion = precioCondicion; 665 $scope.notaPedido.precioCondicion = precioCondicion;
666 $scope.notaPedido.idPrecioCondicion = precioCondicion.listaPrecio.ID; 666 $scope.notaPedido.idPrecioCondicion = precioCondicion.listaPrecio.ID;
667 $scope.notaPedido.cliente.MOD = precioCondicion.listaPrecio.ID; 667 $scope.notaPedido.cliente.MOD = precioCondicion.listaPrecio.ID;
668 $scope.idLista = parseInt(precioCondicion.listaPrecio.ID) ? 668 $scope.idLista = parseInt(precioCondicion.listaPrecio.ID) ?
669 parseInt(precioCondicion.listaPrecio.ID) : -1; 669 parseInt(precioCondicion.listaPrecio.ID) : -1;
670 for (var i = 0; i < precioCondicion.plazoPago.length; i++) { 670 for (var i = 0; i < precioCondicion.plazoPago.length; i++) {
671 plazosConcat += precioCondicion.plazoPago[i].dias + ', '; 671 plazosConcat += precioCondicion.plazoPago[i].dias + ', ';
672 } 672 }
673 plazosConcat = plazosConcat.substring(0, plazosConcat.length - 2); 673 plazosConcat = plazosConcat.substring(0, plazosConcat.length - 2);
674 cabecera = $filter('rellenarDigitos')($scope.idLista, 4) + 674 cabecera = $filter('rellenarDigitos')($scope.idLista, 4) +
675 ' - ' + precioCondicion.listaPrecio.DES + ' ' + plazosConcat.trim(); 675 ' - ' + precioCondicion.listaPrecio.DES + ' ' + plazosConcat.trim();
676 } else { //Cuando se ingresan los plazos manualmente 676 } else { //Cuando se ingresan los plazos manualmente
677 $scope.notaPedido.idPrecioCondicion = 0; 677 $scope.notaPedido.idPrecioCondicion = 0;
678 //-1, el modal productos busca todos los productos 678 //-1, el modal productos busca todos los productos
679 $scope.idLista = -1; 679 $scope.idLista = -1;
680 $scope.notaPedido.notaPedidoPlazo = precioCondicion; 680 $scope.notaPedido.notaPedidoPlazo = precioCondicion;
681 for (var j = 0; j < precioCondicion.length; j++) { 681 for (var j = 0; j < precioCondicion.length; j++) {
682 plazosConcat += precioCondicion[j].dias + ' '; 682 plazosConcat += precioCondicion[j].dias + ' ';
683 } 683 }
684 cabecera = 'Ingreso manual ' + plazosConcat.trim(); 684 cabecera = 'Ingreso manual ' + plazosConcat.trim();
685 } 685 }
686 $scope.cabeceras.push({ 686 $scope.cabeceras.push({
687 label: 'Precios y Condiciones:', 687 label: 'Precios y Condiciones:',
688 valor: $scope.idLista + ' - ' + precioCondicion.listaPrecio.DES + ' ' + 688 valor: $scope.idLista + ' - ' + precioCondicion.listaPrecio.DES + ' ' +
689 notaPedidoBusinessService.plazoToString(precioCondicion.plazoPago) 689 notaPedidoBusinessService.plazoToString(precioCondicion.plazoPago)
690 }); 690 });
691 691
692 $filter('filter')($scope.botonera, 692 $filter('filter')($scope.botonera,
693 { label: 'Precios y Condiciones' })[0].checked = true; 693 { label: 'Precios y Condiciones' })[0].checked = true;
694 694
695 addArrayCabecera($scope.cabeceras); 695 addArrayCabecera($scope.cabeceras);
696 696
697 }) 697 })
698 .catch(function (e) { 698 .catch(function (e) {
699 console.log(e); 699 console.log(e);
700 }) 700 })
701 701
702 } 702 }
703 }; 703 };
704 704
705 $scope.seleccionarMoneda = function () { 705 $scope.seleccionarMoneda = function () {
706 if (validarNotaRemitada()) { 706 if (validarNotaRemitada()) {
707 var parametrosModal = { 707 var parametrosModal = {
708 titulo: 'Búsqueda de monedas', 708 titulo: 'Búsqueda de monedas',
709 query: '/moneda', 709 query: '/moneda',
710 columnas: [ 710 columnas: [
711 { 711 {
712 propiedad: 'DETALLE', 712 propiedad: 'DETALLE',
713 nombre: 'Nombre' 713 nombre: 'Nombre'
714 }, 714 },
715 { 715 {
716 propiedad: 'SIMBOLO', 716 propiedad: 'SIMBOLO',
717 nombre: 'Símbolo' 717 nombre: 'Símbolo'
718 } 718 }
719 ], 719 ],
720 size: 'md' 720 size: 'md'
721 }; 721 };
722 focaModalService.modal(parametrosModal).then( 722 focaModalService.modal(parametrosModal).then(
723 function (moneda) { 723 function (moneda) {
724 724
725 if (moneda.ID !== 1) { 725 if (moneda.ID !== 1) {
726 $scope.abrirModalCotizacion(moneda); 726 $scope.abrirModalCotizacion(moneda);
727 return; 727 return;
728 } 728 }
729 729
730 crearNotaPedidoService.getCotizacionByIdMoneda(1) 730 crearNotaPedidoService.getCotizacionByIdMoneda(1)
731 .then(function (res) { 731 .then(function (res) {
732 732
733 cotizacionPArgentino = res.data[0].cotizaciones[0]; 733 cotizacionPArgentino = res.data[0].cotizaciones[0];
734 cotizacionPArgentino.moneda = moneda; 734 cotizacionPArgentino.moneda = moneda;
735 735
736 actualizarCabeceraMoneda(cotizacionPArgentino); 736 actualizarCabeceraMoneda(cotizacionPArgentino);
737 $scope.notaPedido.cotizacion = cotizacionPArgentino; 737 $scope.notaPedido.cotizacion = cotizacionPArgentino;
738 }); 738 });
739 } 739 }
740 ); 740 );
741 } 741 }
742 }; 742 };
743 743
744 $scope.seleccionarObservaciones = function () { 744 $scope.seleccionarObservaciones = function () {
745 var observacion = { 745 var observacion = {
746 titulo: 'Ingrese Observaciones', 746 titulo: 'Ingrese Observaciones',
747 value: $scope.notaPedido.observaciones, 747 value: $scope.notaPedido.observaciones,
748 maxlength: 155, 748 maxlength: 155,
749 textarea: true 749 textarea: true
750 }; 750 };
751 751
752 focaModalService 752 focaModalService
753 .prompt(observacion) 753 .prompt(observacion)
754 .then(function (observaciones) { 754 .then(function (observaciones) {
755 $scope.notaPedido.observaciones = observaciones; 755 $scope.notaPedido.observaciones = observaciones;
756 }); 756 });
757 }; 757 };
758 758
759 $scope.abrirModalCotizacion = function (moneda) { 759 $scope.abrirModalCotizacion = function (moneda) {
760 var modalInstance = $uibModal.open( 760 var modalInstance = $uibModal.open(
761 { 761 {
762 ariaLabelledBy: 'Busqueda de Cotización', 762 ariaLabelledBy: 'Busqueda de Cotización',
763 templateUrl: 'modal-cotizacion.html', 763 templateUrl: 'modal-cotizacion.html',
764 controller: 'focaModalCotizacionController', 764 controller: 'focaModalCotizacionController',
765 size: 'lg', 765 size: 'lg',
766 resolve: { 766 resolve: {
767 idMoneda: function () { 767 idMoneda: function () {
768 return moneda.ID; 768 return moneda.ID;
769 } 769 }
770 } 770 }
771 } 771 }
772 ); 772 );
773 modalInstance.result.then( 773 modalInstance.result.then(
774 function (cotizacion) { 774 function (cotizacion) {
775 775
776 cotizacion.moneda = moneda; 776 cotizacion.moneda = moneda;
777 actualizarCabeceraMoneda(cotizacion); 777 actualizarCabeceraMoneda(cotizacion);
778 778
779 $scope.notaPedido.cotizacion = cotizacion; 779 $scope.notaPedido.cotizacion = cotizacion;
780 $filter('filter')($scope.botonera, { label: 'Moneda' })[0].checked = true; 780 $filter('filter')($scope.botonera, { label: 'Moneda' })[0].checked = true;
781 }, function () { 781 }, function () {
782 782
783 } 783 }
784 ); 784 );
785 }; 785 };
786 786
787 function actualizarCabeceraMoneda(cotizacion) { 787 function actualizarCabeceraMoneda(cotizacion) {
788 788
789 $scope.notaPedido.articulosNotaPedido.forEach(function (art) { 789 $scope.notaPedido.articulosNotaPedido.forEach(function (art) {
790 art.precio = (art.precio * $scope.notaPedido.cotizacion.VENDEDOR).toFixed(4); 790 art.precio = (art.precio * $scope.notaPedido.cotizacion.VENDEDOR).toFixed(4);
791 art.precio = (art.precio / cotizacion.VENDEDOR).toFixed(4); 791 art.precio = (art.precio / cotizacion.VENDEDOR).toFixed(4);
792 }); 792 });
793 793
794 if (cotizacion.moneda.DETALLE === 'PESOS ARGENTINOS') { 794 if (cotizacion.moneda.DETALLE === 'PESOS ARGENTINOS') {
795 $scope.$broadcast('removeCabecera', 'Moneda:'); 795 $scope.$broadcast('removeCabecera', 'Moneda:');
796 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:'); 796 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:');
797 $scope.$broadcast('removeCabecera', 'Cotizacion:'); 797 $scope.$broadcast('removeCabecera', 'Cotizacion:');
798 } else { 798 } else {
799 $scope.$broadcast('addCabecera', { 799 $scope.$broadcast('addCabecera', {
800 label: 'Moneda:', 800 label: 'Moneda:',
801 valor: cotizacion.moneda.DETALLE 801 valor: cotizacion.moneda.DETALLE
802 }); 802 });
803 $scope.$broadcast('addCabecera', { 803 $scope.$broadcast('addCabecera', {
804 label: 'Fecha cotizacion:', 804 label: 'Fecha cotizacion:',
805 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy') 805 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy')
806 }); 806 });
807 $scope.$broadcast('addCabecera', { 807 $scope.$broadcast('addCabecera', {
808 label: 'Cotizacion:', 808 label: 'Cotizacion:',
809 valor: $filter('number')(cotizacion.VENDEDOR, '2') 809 valor: $filter('number')(cotizacion.VENDEDOR, '2')
810 }); 810 });
811 } 811 }
812 } 812 }
813 813
814 $scope.agregarATabla = function (key) { 814 $scope.agregarATabla = function (key) {
815 if (key === 13) { 815 if (key === 13) {
816 if (!$scope.articuloACargar.cantidad || !$scope.articuloACargar.precio) { 816 if (!$scope.articuloACargar.cantidad || !$scope.articuloACargar.precio) {
817 focaModalService.alert('El valor debe ser al menos 1'); 817 focaModalService.alert('El valor debe ser al menos 1');
818 return; 818 return;
819 } 819 }
820 delete $scope.articuloACargar.sectorCodigo; 820 delete $scope.articuloACargar.sectorCodigo;
821 $scope.notaPedido.articulosNotaPedido.push($scope.articuloACargar); 821 $scope.notaPedido.articulosNotaPedido.push($scope.articuloACargar);
822 $scope.cargando = true; 822 $scope.cargando = true;
823 } 823 }
824 }; 824 };
825 825
826 $scope.quitarArticulo = function (key) { 826 $scope.quitarArticulo = function (key) {
827 if (validarNotaRemitada()) { 827 if (validarNotaRemitada()) {
828 $scope.notaPedido.articulosNotaPedido.splice(key, 1); 828 $scope.notaPedido.articulosNotaPedido.splice(key, 1);
829 } 829 }
830 }; 830 };
831 831
832 $scope.editarArticulo = function (key, articulo, tmpCantidad, tmpPrecio) { 832 $scope.editarArticulo = function (key, articulo, tmpCantidad, tmpPrecio) {
833 if (key === 13) { 833 if (key === 13) {
834 if (!articulo.cantidad || !articulo.precio || !tmpCantidad || !tmpPrecio) { 834 if (!articulo.cantidad || !articulo.precio || !tmpCantidad || !tmpPrecio) {
835 focaModalService.alert('Los valores deben ser al menos 1'); 835 focaModalService.alert('Los valores deben ser al menos 1');
836 return; 836 return;
837 } else if (articulo.cantidad < 0 || articulo.precio < 0) { 837 } else if (articulo.cantidad < 0 || articulo.precio < 0) {
838 focaModalService.alert('Los valores no pueden ser negativos'); 838 focaModalService.alert('Los valores no pueden ser negativos');
839 return; 839 return;
840 } 840 }
841 articulo.cantidad = tmpCantidad; 841 articulo.cantidad = tmpCantidad;
842 articulo.precio = tmpPrecio; 842 articulo.precio = tmpPrecio;
843 $scope.getTotal(); 843 $scope.getTotal();
844 articulo.editCantidad = articulo.editPrecio = false; 844 articulo.editCantidad = articulo.editPrecio = false;
845 } 845 }
846 }; 846 };
847 847
848 $scope.cancelarEditar = function (articulo) { 848 $scope.cancelarEditar = function (articulo) {
849 $scope.tmpCantidad = articulo.cantidad; 849 $scope.tmpCantidad = articulo.cantidad;
850 $scope.tmpPrecio = articulo.precio; 850 $scope.tmpPrecio = articulo.precio;
851 articulo.editCantidad = articulo.editPrecio = false; 851 articulo.editCantidad = articulo.editPrecio = false;
852 }; 852 };
853 853
854 $scope.cambioEdit = function (articulo, propiedad) { 854 $scope.cambioEdit = function (articulo, propiedad) {
855 if (propiedad === 'cantidad') { 855 if (propiedad === 'cantidad') {
856 articulo.editCantidad = true; 856 articulo.editCantidad = true;
857 } else if (propiedad === 'precio') { 857 } else if (propiedad === 'precio') {
858 articulo.editPrecio = true; 858 articulo.editPrecio = true;
859 } 859 }
860 }; 860 };
861 861
862 $scope.resetFilter = function () { 862 $scope.resetFilter = function () {
863 $scope.articuloACargar = {}; 863 $scope.articuloACargar = {};
864 $scope.cargando = true; 864 $scope.cargando = true;
865 }; 865 };
866 //Recibe aviso si el teclado está en uso 866 //Recibe aviso si el teclado está en uso
867 $rootScope.$on('usarTeclado', function (event, data) { 867 $rootScope.$on('usarTeclado', function (event, data) {
868 if (data) { 868 if (data) {
869 $scope.mostrarTeclado = true; 869 $scope.mostrarTeclado = true;
870 return; 870 return;
871 } 871 }
872 $scope.mostrarTeclado = false; 872 $scope.mostrarTeclado = false;
873 }); 873 });
874 874
875 $scope.selectFocus = function ($event) { 875 $scope.selectFocus = function ($event) {
876 // Si el teclado esta en uso no selecciona el valor 876 // Si el teclado esta en uso no selecciona el valor
877 if ($scope.mostrarTeclado) { 877 if ($scope.mostrarTeclado) {
878 return; 878 return;
879 } 879 }
880 $event.target.select(); 880 $event.target.select();
881 }; 881 };
882 882
883 $scope.salir = function () { 883 $scope.salir = function () {
884 $location.path('/'); 884 $location.path('/');
885 }; 885 };
886 886
887 $scope.parsearATexto = function (articulo) { 887 $scope.parsearATexto = function (articulo) {
888 articulo.cantidad = parseFloat(articulo.cantidad); 888 articulo.cantidad = parseFloat(articulo.cantidad);
889 articulo.precio = parseFloat(articulo.precio); 889 articulo.precio = parseFloat(articulo.precio);
890 }; 890 };
891 891
892 // TODO: quitar watch usar función de articulos pedido cuando se haga 892 // TODO: quitar watch usar función de articulos pedido cuando se haga
893 $scope.$watch('notaPedido.articulosNotaPedido', function () { 893 $scope.$watch('notaPedido.articulosNotaPedido', function () {
894 if ($scope.notaPedido.articulosNotaPedido.length) { 894 if ($scope.notaPedido.articulosNotaPedido.length) {
895 $filter('filter')($scope.botonera, 895 $filter('filter')($scope.botonera,
896 { label: 'Productos' })[0].checked = true; 896 { label: 'Productos' })[0].checked = true;
897 } else { 897 } else {
898 $filter('filter')($scope.botonera, 898 $filter('filter')($scope.botonera,
899 { label: 'Productos' })[0].checked = false; 899 { label: 'Productos' })[0].checked = false;
900 } 900 }
901 }, true); 901 }, true);
902 902
903 function setearNotaPedido(notaPedido) { 903 function setearNotaPedido(notaPedido) {
904 //añado cabeceras 904 //añado cabeceras
905 $scope.notaPedido = notaPedido; 905 $scope.notaPedido = notaPedido;
906 if (!$scope.notaPedido.domicilio) { 906 if (!$scope.notaPedido.domicilio) {
907 $scope.notaPedido.domicilio = { 907 $scope.notaPedido.domicilio = {
908 id: $scope.notaPedido.idDomicilio 908 id: $scope.notaPedido.idDomicilio
909 }; 909 };
910 } 910 }
911 $scope.$broadcast('removeCabecera', 'Bomba:'); 911 $scope.$broadcast('removeCabecera', 'Bomba:');
912 $scope.$broadcast('removeCabecera', 'Kilometros:'); 912 $scope.$broadcast('removeCabecera', 'Kilometros:');
913 $scope.$broadcast('cleanCabecera'); 913 $scope.$broadcast('cleanCabecera');
914 914
915 $scope.cabeceras = []; 915 $scope.cabeceras = [];
916 916
917 if (notaPedido.cotizacion.moneda.CODIGO_AFIP !== 'PES') { 917 if (notaPedido.cotizacion.moneda.CODIGO_AFIP !== 'PES') {
918 $scope.cabeceras.push({ 918 $scope.cabeceras.push({
919 label: 'Moneda:', 919 label: 'Moneda:',
920 valor: notaPedido.cotizacion.moneda.DETALLE 920 valor: notaPedido.cotizacion.moneda.DETALLE
921 }); 921 });
922 $scope.cabeceras.push({ 922 $scope.cabeceras.push({
923 label: 'Fecha cotizacion:', 923 label: 'Fecha cotizacion:',
924 valor: $filter('date')(notaPedido.cotizacion.FECHA, 924 valor: $filter('date')(notaPedido.cotizacion.FECHA,
925 'dd/MM/yyyy') 925 'dd/MM/yyyy')
926 }); 926 });
927 $scope.cabeceras.push({ 927 $scope.cabeceras.push({
928 label: 'Cotizacion:', 928 label: 'Cotizacion:',
929 valor: $filter('number')(notaPedido.cotizacion.VENDEDOR, 929 valor: $filter('number')(notaPedido.cotizacion.VENDEDOR,
930 '2') 930 '2')
931 }); 931 });
932 } 932 }
933 933
934 if (notaPedido.cotizacion.moneda) { 934 if (notaPedido.cotizacion.moneda) {
935 $filter('filter')($scope.botonera, { label: 'Moneda' })[0].checked = true; 935 $filter('filter')($scope.botonera, { label: 'Moneda' })[0].checked = true;
936 } 936 }
937 937
938 if (notaPedido.vendedor.NUM) { 938 if (notaPedido.vendedor.NUM) {
939 $scope.cabeceras.push({ 939 $scope.cabeceras.push({
940 label: 'Vendedor:', 940 label: 'Vendedor:',
941 valor: $filter('rellenarDigitos')(notaPedido.vendedor.NUM, 3) + 941 valor: $filter('rellenarDigitos')(notaPedido.vendedor.NUM, 3) +
942 ' - ' + notaPedido.vendedor.NOM 942 ' - ' + notaPedido.vendedor.NOM
943 }); 943 });
944 } 944 }
945 945
946 if (notaPedido.cliente.COD) { 946 if (notaPedido.cliente.COD) {
947 $scope.cabeceras.push({ 947 $scope.cabeceras.push({
948 label: 'Cliente:', 948 label: 'Cliente:',
949 valor: notaPedido.cliente.NOM 949 valor: notaPedido.cliente.NOM
950 }); 950 });
951 $scope.cabeceras.push({ 951 $scope.cabeceras.push({
952 label: 'Domicilio:', 952 label: 'Domicilio:',
953 valor: notaPedido.domicilioStamp 953 valor: notaPedido.domicilioStamp
954 }); 954 });
955 955
956 $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = true; 956 $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = true;
957 } 957 }
958 958
959 if (notaPedido.proveedor.COD) { 959 if (notaPedido.proveedor.COD) {
960 $scope.cabeceras.push({ 960 $scope.cabeceras.push({
961 label: 'Proveedor:', 961 label: 'Proveedor:',
962 valor: $filter('rellenarDigitos')(notaPedido.proveedor.COD, 5) + 962 valor: $filter('rellenarDigitos')(notaPedido.proveedor.COD, 5) +
963 ' - ' + notaPedido.proveedor.NOM 963 ' - ' + notaPedido.proveedor.NOM
964 }); 964 });
965 965
966 $filter('filter')($scope.botonera, { label: 'Proveedor' })[0].checked = true; 966 $filter('filter')($scope.botonera, { label: 'Proveedor' })[0].checked = true;
967 } 967 }
968 968
969 if (notaPedido.notaPedidoPlazo.length) { 969 if (notaPedido.notaPedidoPlazo.length) {
970 valorPrecioCondicion(); 970 valorPrecioCondicion();
971 $filter('filter')($scope.botonera, 971 $filter('filter')($scope.botonera,
972 { label: 'Precios y condiciones' })[0].checked = true; 972 { label: 'Precios y condiciones' })[0].checked = true;
973 } 973 }
974 974
975 if (notaPedido.flete !== undefined) { 975 if (notaPedido.flete !== undefined) {
976 $scope.cabeceras.push({ 976 $scope.cabeceras.push({
977 label: 'Flete:', 977 label: 'Flete:',
978 valor: notaPedido.fob === 1 ? 'FOB' : ( 978 valor: notaPedido.fob === 1 ? 'FOB' : (
979 notaPedido.flete === 1 ? 'Si' : 'No') 979 notaPedido.flete === 1 ? 'Si' : 'No')
980 }); 980 });
981 } 981 }
982 982
983 function valorPrecioCondicion() { 983 function valorPrecioCondicion() {
984 if (notaPedido.idListaPrecio > 0) { 984 if (notaPedido.idListaPrecio > 0) {
985 crearNotaPedidoService.getPrecioCondicionById(parseInt(notaPedido.idListaPrecio)) 985 crearNotaPedidoService.getPrecioCondicionById(parseInt(notaPedido.idListaPrecio))
986 .then(function (res) { 986 .then(function (res) {
987 $scope.cabeceras.push({ 987 $scope.cabeceras.push({
988 label: 'Precios y Condiciones:', 988 label: 'Precios y Condiciones:',
989 valor: parseInt(res.data[0].ID) + ' - ' + res.data[0].DES + ' ' + 989 valor: parseInt(res.data[0].ID) + ' - ' + res.data[0].DES + ' ' +
990 notaPedidoBusinessService 990 notaPedidoBusinessService
991 .plazoToString(notaPedido.notaPedidoPlazo) 991 .plazoToString(notaPedido.notaPedidoPlazo)
992 }); 992 });
993 addArrayCabecera($scope.cabeceras); 993 addArrayCabecera($scope.cabeceras);
994 }); 994 });
995 } 995 }
996 $scope.idLista = parseInt(notaPedido.idListaPrecio);
996 } 997 }
997 998
998 if (notaPedido.flete === 1) { 999 if (notaPedido.flete === 1) {
999 var cabeceraBomba = { 1000 var cabeceraBomba = {
1000 label: 'Bomba:', 1001 label: 'Bomba:',
1001 valor: notaPedido.bomba === 1 ? 'Si' : 'No' 1002 valor: notaPedido.bomba === 1 ? 'Si' : 'No'
1002 }; 1003 };
1003 if (notaPedido.kilometros) { 1004 if (notaPedido.kilometros) {
1004 var cabeceraKilometros = { 1005 var cabeceraKilometros = {
1005 label: 'Kilometros:', 1006 label: 'Kilometros:',
1006 valor: notaPedido.kilometros 1007 valor: notaPedido.kilometros
1007 }; 1008 };
1008 $scope.cabeceras.push(cabeceraKilometros); 1009 $scope.cabeceras.push(cabeceraKilometros);
1009 } 1010 }
1010 $scope.cabeceras.push(cabeceraBomba); 1011 $scope.cabeceras.push(cabeceraBomba);
1011 } 1012 }
1012 1013
1013 if (notaPedido.idPrecioCondicion > 0) { 1014 if (notaPedido.idPrecioCondicion > 0) {
1014 $scope.idLista = notaPedido.precioCondicion.idListaPrecio; 1015 $scope.idLista = notaPedido.precioCondicion.idListaPrecio;
1015 } else if (notaPedido.idPrecioCondicion) { 1016 } else if (notaPedido.idPrecioCondicion) {
1016 $scope.idLista = -1; 1017 $scope.idLista = -1;
1017 } 1018 }
1018 1019
1019 $scope.puntoVenta = $filter('rellenarDigitos')( 1020 $scope.puntoVenta = $filter('rellenarDigitos')(
1020 notaPedido.sucursal, 4 1021 notaPedido.sucursal, 4
1021 ); 1022 );
1022 1023
1023 $scope.comprobante = $filter('rellenarDigitos')( 1024 $scope.comprobante = $filter('rellenarDigitos')(
1024 notaPedido.numeroNotaPedido, 8 1025 notaPedido.numeroNotaPedido, 8
1025 ); 1026 );
1026 1027
1027 if (notaPedido.notaPedidoPuntoDescarga.length) { 1028 if (notaPedido.notaPedidoPuntoDescarga.length) {
1028 var puntos = []; 1029 var puntos = [];
1029 notaPedido.notaPedidoPuntoDescarga.forEach(function (notaPedidoPuntoDescarga) { 1030 notaPedido.notaPedidoPuntoDescarga.forEach(function (notaPedidoPuntoDescarga) {
1030 puntos.push(notaPedidoPuntoDescarga.puntoDescarga); 1031 puntos.push(notaPedidoPuntoDescarga.puntoDescarga);
1031 }); 1032 });
1032 $scope.cabeceras.push({ 1033 $scope.cabeceras.push({
1033 label: 'Puntos de descarga: ', 1034 label: 'Puntos de descarga: ',
1034 valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntos)) 1035 valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntos))
1035 }); 1036 });
1036 } 1037 }
1037 1038
1038 addArrayCabecera($scope.cabeceras); 1039 addArrayCabecera($scope.cabeceras);
1039 } 1040 }
1040 1041
1041 function getCabeceraPuntoDescarga(puntoDescarga) { 1042 function getCabeceraPuntoDescarga(puntoDescarga) {
1042 var puntosStamp = ''; 1043 var puntosStamp = '';
1043 puntoDescarga.forEach(function (punto, idx, arr) { 1044 puntoDescarga.forEach(function (punto, idx, arr) {
1044 puntosStamp += punto.descripcion; 1045 puntosStamp += punto.descripcion;
1045 if ((idx + 1) !== arr.length) puntosStamp += ', '; 1046 if ((idx + 1) !== arr.length) puntosStamp += ', ';
1046 }); 1047 });
1047 return puntosStamp; 1048 return puntosStamp;
1048 } 1049 }
1049 1050
1050 function addArrayCabecera(array) { 1051 function addArrayCabecera(array) {
1051 for (var i = 0; i < array.length; i++) { 1052 for (var i = 0; i < array.length; i++) {
1052 $scope.$broadcast('addCabecera', { 1053 $scope.$broadcast('addCabecera', {
1053 label: array[i].label, 1054 label: array[i].label,
1054 valor: array[i].valor 1055 valor: array[i].valor
1055 }); 1056 });
1056 } 1057 }
1057 } 1058 }
1058 1059
1059 function validarNotaRemitada() { 1060 function validarNotaRemitada() {
1060 if (!$scope.notaPedido.idRemito) { 1061 if (!$scope.notaPedido.idRemito) {
1061 return true; 1062 return true;
1062 } else { 1063 } else {
1063 focaModalService.alert('No se puede editar una nota de pedido remitada'); 1064 focaModalService.alert('No se puede editar una nota de pedido remitada');
1064 return false; 1065 return false;
1065 } 1066 }
1066 } 1067 }
1067 1068
1068 function salir() { 1069 function salir() {
1069 var confirmacion = false; 1070 var confirmacion = false;
1070 1071
1071 if (!angular.equals($scope.notaPedido, $scope.inicial)) { 1072 if (!angular.equals($scope.notaPedido, $scope.inicial)) {
1072 confirmacion = true; 1073 confirmacion = true;
1073 } 1074 }
1074 1075
1075 if (confirmacion) { 1076 if (confirmacion) {
1076 focaModalService.confirm( 1077 focaModalService.confirm(
1077 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' 1078 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.'
1078 ).then(function (data) { 1079 ).then(function (data) {
1079 if (data) { 1080 if (data) {
1080 $location.path('/'); 1081 $location.path('/');
1081 } 1082 }
1082 }); 1083 });
1083 } else { 1084 } else {
1084 $location.path('/'); 1085 $location.path('/');
1085 } 1086 }
1086 } 1087 }
1087 1088
1088 function getLSNotaPedido() { 1089 function getLSNotaPedido() {
1089 var notaPedido = JSON.parse($localStorage.notaPedido || null); 1090 var notaPedido = JSON.parse($localStorage.notaPedido || null);
1090 if (notaPedido) { 1091 if (notaPedido) {
1091 delete $localStorage.notaPedido; 1092 delete $localStorage.notaPedido;
1092 setearNotaPedido(notaPedido); 1093 setearNotaPedido(notaPedido);
1093 } 1094 }
1094 } 1095 }
1095 1096
1096 function deleteCliente() { 1097 function deleteCliente() {
1097 $scope.notaPedido.domicilioStamp = ''; 1098 $scope.notaPedido.domicilioStamp = '';
1098 $scope.notaPedido.notaPedidoPuntoDescarga = []; 1099 $scope.notaPedido.notaPedidoPuntoDescarga = [];
1099 $scope.notaPedido.domicilio = { dom: '' }; 1100 $scope.notaPedido.domicilio = { dom: '' };
1100 $scope.notaPedido.cliente = {}; 1101 $scope.notaPedido.cliente = {};
1101 $scope.$broadcast('removeCabecera', 'Cliente:'); 1102 $scope.$broadcast('removeCabecera', 'Cliente:');
1102 $scope.$broadcast('removeCabecera', 'Domicilio:'); 1103 $scope.$broadcast('removeCabecera', 'Domicilio:');
1103 $scope.$broadcast('removeCabecera', 'Puntos de descarga:'); 1104 $scope.$broadcast('removeCabecera', 'Puntos de descarga:');
1104 $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = false; 1105 $filter('filter')($scope.botonera, { label: 'Cliente' })[0].checked = false;
1105 } 1106 }
1106 } 1107 }
1107 ]); 1108 ]);
1108 1109