Commit ad224acdadbdae7f48f16f89d51ab248885a90a2

Authored by Eric
1 parent a785aa919f
Exists in master

cambio de moneda

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