Commit 7750f3b50398347da36f64f0310646e5f0250fb8

Authored by Luigi
Exists in master

Merge remote-tracking branch 'upstream/develop'

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