Commit 595f4a5e7ffea284438ce1f79005556ab5990ffd

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 { 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 (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 if (moneda.ID !== 1) { 688 if (moneda.ID !== 1) {
689 $scope.abrirModalCotizacion(moneda); 689 $scope.abrirModalCotizacion(moneda);
690 } 690 }
691 crearNotaPedidoService.getCotizacionByIdMoneda(1) 691 crearNotaPedidoService.getCotizacionByIdMoneda(1)
692 .then(function (res){ 692 .then(function (res){
693 cotizacionPArgentino = res.data[0]; 693 cotizacionPArgentino = res.data[0];
694 $scope.notaPedido.cotizacion = cotizacionPArgentino; 694 $scope.notaPedido.cotizacion = cotizacionPArgentino;
695 $scope.notaPedido.cotizacion.moneda = moneda; 695 $scope.notaPedido.cotizacion.moneda = moneda;
696 actualizarCabeceraMoneda(cotizacionPArgentino); 696 actualizarCabeceraMoneda(cotizacionPArgentino);
697 }); 697 });
698 } 698 }
699 ); 699 );
700 } 700 }
701 }; 701 };
702 702
703 $scope.seleccionarObservaciones = function() { 703 $scope.seleccionarObservaciones = function() {
704 var observacion = { 704 var observacion = {
705 titulo: 'Ingrese Observaciones', 705 titulo: 'Ingrese Observaciones',
706 value: $scope.notaPedido.observaciones, 706 value: $scope.notaPedido.observaciones,
707 maxlength: 155, 707 maxlength: 155,
708 textarea: true 708 textarea: true
709 }; 709 };
710 710
711 focaModalService 711 focaModalService
712 .prompt(observacion) 712 .prompt(observacion)
713 .then(function(observaciones) { 713 .then(function(observaciones) {
714 $scope.notaPedido.observaciones = observaciones; 714 $scope.notaPedido.observaciones = observaciones;
715 }); 715 });
716 }; 716 };
717 717
718 $scope.abrirModalCotizacion = function(moneda) { 718 $scope.abrirModalCotizacion = function(moneda) {
719 var modalInstance = $uibModal.open( 719 var modalInstance = $uibModal.open(
720 { 720 {
721 ariaLabelledBy: 'Busqueda de Cotización', 721 ariaLabelledBy: 'Busqueda de Cotización',
722 templateUrl: 'modal-cotizacion.html', 722 templateUrl: 'modal-cotizacion.html',
723 controller: 'focaModalCotizacionController', 723 controller: 'focaModalCotizacionController',
724 size: 'lg', 724 size: 'lg',
725 resolve: { 725 resolve: {
726 idMoneda: function() { 726 idMoneda: function() {
727 return moneda.ID; 727 return moneda.ID;
728 } 728 }
729 } 729 }
730 } 730 }
731 ); 731 );
732 modalInstance.result.then( 732 modalInstance.result.then(
733 function(cotizacion) { 733 function(cotizacion) {
734 var articulosTablaTemp = $scope.notaPedido.articulosNotaPedido || []; 734 var articulosTablaTemp = $scope.notaPedido.articulosNotaPedido || [];
735 for (var i = 0; i < articulosTablaTemp.length; i++) { 735 for (var i = 0; i < articulosTablaTemp.length; i++) {
736 articulosTablaTemp[i].precio = articulosTablaTemp[i].precio * 736 articulosTablaTemp[i].precio = articulosTablaTemp[i].precio *
737 $scope.notaPedido.cotizacion.VENDEDOR; 737 $scope.notaPedido.cotizacion.VENDEDOR;
738 articulosTablaTemp[i].precio = (articulosTablaTemp[i].precio / 738 articulosTablaTemp[i].precio = (articulosTablaTemp[i].precio /
739 cotizacion.VENDEDOR).toFixed(4); 739 cotizacion.VENDEDOR).toFixed(4);
740 } 740 }
741 $scope.notaPedido.articulosNotaPedido = articulosTablaTemp; 741 $scope.notaPedido.articulosNotaPedido = articulosTablaTemp;
742 $scope.notaPedido.cotizacion = cotizacion; 742 $scope.notaPedido.cotizacion = cotizacion;
743 $scope.notaPedido.cotizacion.moneda = moneda; 743 $scope.notaPedido.cotizacion.moneda = moneda;
744 actualizarCabeceraMoneda(cotizacion); 744 actualizarCabeceraMoneda(cotizacion);
745 745
746 $filter('filter')($scope.botonera, { label: 'Moneda'})[0].checked = true; 746 $filter('filter')($scope.botonera, { label: 'Moneda'})[0].checked = true;
747 }, function() { 747 }, function() {
748 748
749 } 749 }
750 ); 750 );
751 }; 751 };
752 752
753 function actualizarCabeceraMoneda (cotizacion) { 753 function actualizarCabeceraMoneda (cotizacion) {
754 if (cotizacion.moneda.DETALLE === 'PESOS ARGENTINOS') { 754 if (cotizacion.moneda.DETALLE === 'PESOS ARGENTINOS') {
755 $scope.$broadcast('removeCabecera', 'Moneda:'); 755 $scope.$broadcast('removeCabecera', 'Moneda:');
756 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:'); 756 $scope.$broadcast('removeCabecera', 'Fecha cotizacion:');
757 $scope.$broadcast('removeCabecera', 'Cotizacion:'); 757 $scope.$broadcast('removeCabecera', 'Cotizacion:');
758 } else { 758 } else {
759 $scope.$broadcast('addCabecera', { 759 $scope.$broadcast('addCabecera', {
760 label: 'Moneda:', 760 label: 'Moneda:',
761 valor: cotizacion.moneda.DETALLE 761 valor: cotizacion.moneda.DETALLE
762 }); 762 });
763 $scope.$broadcast('addCabecera', { 763 $scope.$broadcast('addCabecera', {
764 label: 'Fecha cotizacion:', 764 label: 'Fecha cotizacion:',
765 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy') 765 valor: $filter('date')(cotizacion.FECHA, 'dd/MM/yyyy')
766 }); 766 });
767 $scope.$broadcast('addCabecera', { 767 $scope.$broadcast('addCabecera', {
768 label: 'Cotizacion:', 768 label: 'Cotizacion:',
769 valor: $filter('number')(cotizacion.VENDEDOR, '2') 769 valor: $filter('number')(cotizacion.VENDEDOR, '2')
770 }); 770 });
771 } 771 }
772 } 772 }
773 773
774 $scope.agregarATabla = function(key) { 774 $scope.agregarATabla = function(key) {
775 if (key === 13) { 775 if (key === 13) {
776 if ($scope.articuloACargar.cantidad === undefined || 776 if ($scope.articuloACargar.cantidad === undefined ||
777 $scope.articuloACargar.cantidad === 0 || 777 $scope.articuloACargar.cantidad === 0 ||
778 $scope.articuloACargar.cantidad === null ) { 778 $scope.articuloACargar.cantidad === null ) {
779 focaModalService.alert('El valor debe ser al menos 1'); 779 focaModalService.alert('El valor debe ser al menos 1');
780 return; 780 return;
781 } 781 }
782 delete $scope.articuloACargar.sectorCodigo; 782 delete $scope.articuloACargar.sectorCodigo;
783 $scope.notaPedido.articulosNotaPedido.push($scope.articuloACargar); 783 $scope.notaPedido.articulosNotaPedido.push($scope.articuloACargar);
784 $scope.cargando = true; 784 $scope.cargando = true;
785 } 785 }
786 }; 786 };
787 787
788 $scope.quitarArticulo = function(key) { 788 $scope.quitarArticulo = function(key) {
789 $scope.notaPedido.articulosNotaPedido.splice(key, 1); 789 $scope.notaPedido.articulosNotaPedido.splice(key, 1);
790 }; 790 };
791 791
792 $scope.editarArticulo = function(key, articulo, tmpCantidad, tmpPrecio) { 792 $scope.editarArticulo = function(key, articulo, tmpCantidad, tmpPrecio) {
793 if (key === 13) { 793 if (key === 13) {
794 if (!articulo.cantidad || !articulo.precio) { 794 if (!articulo.cantidad || !articulo.precio) {
795 focaModalService.alert('Los valores deben ser al menos 1'); 795 focaModalService.alert('Los valores deben ser al menos 1');
796 return; 796 return;
797 } else if (articulo.cantidad < 0 || articulo.precio < 0) { 797 } else if (articulo.cantidad < 0 || articulo.precio < 0) {
798 focaModalService.alert('Los valores no pueden ser negativos'); 798 focaModalService.alert('Los valores no pueden ser negativos');
799 return; 799 return;
800 } 800 }
801 articulo.cantidad = tmpCantidad; 801 articulo.cantidad = tmpCantidad;
802 articulo.precio = tmpPrecio; 802 articulo.precio = tmpPrecio;
803 $scope.getTotal(); 803 $scope.getTotal();
804 articulo.editCantidad = articulo.editPrecio = false; 804 articulo.editCantidad = articulo.editPrecio = false;
805 } 805 }
806 }; 806 };
807 807
808 $scope.cancelarEditar = function(articulo) { 808 $scope.cancelarEditar = function(articulo) {
809 $scope.tmpCantidad = articulo.cantidad; 809 $scope.tmpCantidad = articulo.cantidad;
810 $scope.tmpPrecio = articulo.precio; 810 $scope.tmpPrecio = articulo.precio;
811 articulo.editCantidad = articulo.editPrecio = false; 811 articulo.editCantidad = articulo.editPrecio = false;
812 }; 812 };
813 813
814 $scope.cambioEdit = function(articulo, propiedad) { 814 $scope.cambioEdit = function(articulo, propiedad) {
815 if (propiedad === 'cantidad') { 815 if (propiedad === 'cantidad') {
816 articulo.editCantidad = true; 816 articulo.editCantidad = true;
817 } else if (propiedad === 'precio') { 817 } else if (propiedad === 'precio') {
818 articulo.editPrecio = true; 818 articulo.editPrecio = true;
819 } 819 }
820 }; 820 };
821 821
822 $scope.resetFilter = function() { 822 $scope.resetFilter = function() {
823 $scope.articuloACargar = {}; 823 $scope.articuloACargar = {};
824 $scope.cargando = true; 824 $scope.cargando = true;
825 }; 825 };
826 //Recibe aviso si el teclado está en uso 826 //Recibe aviso si el teclado está en uso
827 $rootScope.$on('usarTeclado', function(event, data) { 827 $rootScope.$on('usarTeclado', function(event, data) {
828 if (data) { 828 if (data) {
829 $scope.mostrarTeclado = true; 829 $scope.mostrarTeclado = true;
830 return; 830 return;
831 } 831 }
832 $scope.mostrarTeclado = false; 832 $scope.mostrarTeclado = false;
833 }); 833 });
834 834
835 $scope.selectFocus = function($event) { 835 $scope.selectFocus = function($event) {
836 // Si el teclado esta en uso no selecciona el valor 836 // Si el teclado esta en uso no selecciona el valor
837 if ($scope.mostrarTeclado) { 837 if ($scope.mostrarTeclado) {
838 return; 838 return;
839 } 839 }
840 $event.target.select(); 840 $event.target.select();
841 }; 841 };
842 842
843 $scope.salir = function() { 843 $scope.salir = function() {
844 $location.path('/'); 844 $location.path('/');
845 }; 845 };
846 846
847 $scope.parsearATexto = function(articulo) { 847 $scope.parsearATexto = function(articulo) {
848 articulo.cantidad = parseFloat(articulo.cantidad); 848 articulo.cantidad = parseFloat(articulo.cantidad);
849 articulo.precio = parseFloat(articulo.precio); 849 articulo.precio = parseFloat(articulo.precio);
850 }; 850 };
851 851
852 // TODO: quitar watch usar función de articulos pedido cuando se haga 852 // TODO: quitar watch usar función de articulos pedido cuando se haga
853 $scope.$watch('notaPedido.articulosNotaPedido', function() { 853 $scope.$watch('notaPedido.articulosNotaPedido', function() {
854 if ($scope.notaPedido.articulosNotaPedido.length) { 854 if ($scope.notaPedido.articulosNotaPedido.length) {
855 $filter('filter')($scope.botonera, 855 $filter('filter')($scope.botonera,
856 { label: 'Productos'})[0].checked = true; 856 { label: 'Productos'})[0].checked = true;
857 } else { 857 } else {
858 $filter('filter')($scope.botonera, 858 $filter('filter')($scope.botonera,
859 { label: 'Productos'})[0].checked = false; 859 { label: 'Productos'})[0].checked = false;
860 } 860 }
861 }, true); 861 }, true);
862 862
863 function setearNotaPedido(notaPedido) { 863 function setearNotaPedido(notaPedido) {
864 //añado cabeceras 864 //añado cabeceras
865 $scope.notaPedido = notaPedido; 865 $scope.notaPedido = notaPedido;
866 if (!$scope.notaPedido.domicilio) { 866 if (!$scope.notaPedido.domicilio) {
867 $scope.notaPedido.domicilio = { 867 $scope.notaPedido.domicilio = {
868 id: $scope.notaPedido.idDomicilio 868 id: $scope.notaPedido.idDomicilio
869 }; 869 };
870 } 870 }
871 $scope.$broadcast('removeCabecera', 'Bomba:'); 871 $scope.$broadcast('removeCabecera', 'Bomba:');
872 $scope.$broadcast('removeCabecera', 'Kilometros:'); 872 $scope.$broadcast('removeCabecera', 'Kilometros:');
873 $scope.$broadcast('cleanCabecera'); 873 $scope.$broadcast('cleanCabecera');
874 874
875 var cabeceras = []; 875 var cabeceras = [];
876 876
877 if (notaPedido.cotizacion.moneda.CODIGO_AFIP !== 'PES') { 877 if (notaPedido.cotizacion.moneda.CODIGO_AFIP !== 'PES') {
878 cabeceras.push({ 878 cabeceras.push({
879 label: 'Moneda:', 879 label: 'Moneda:',
880 valor: notaPedido.cotizacion.moneda.DETALLE 880 valor: notaPedido.cotizacion.moneda.DETALLE
881 }); 881 });
882 cabeceras.push({ 882 cabeceras.push({
883 label: 'Fecha cotizacion:', 883 label: 'Fecha cotizacion:',
884 valor: $filter('date')(notaPedido.cotizacion.FECHA, 884 valor: $filter('date')(notaPedido.cotizacion.FECHA,
885 'dd/MM/yyyy') 885 'dd/MM/yyyy')
886 }); 886 });
887 cabeceras.push({ 887 cabeceras.push({
888 label: 'Cotizacion:', 888 label: 'Cotizacion:',
889 valor: $filter('number')(notaPedido.cotizacion.VENDEDOR, 889 valor: $filter('number')(notaPedido.cotizacion.VENDEDOR,
890 '2') 890 '2')
891 }); 891 });
892 } 892 }
893 893
894 if (notaPedido.cotizacion.moneda) { 894 if (notaPedido.cotizacion.moneda) {
895 $filter('filter')($scope.botonera, { label: 'Moneda'})[0].checked = true; 895 $filter('filter')($scope.botonera, { label: 'Moneda'})[0].checked = true;
896 } 896 }
897 897
898 if (notaPedido.vendedor.NUM) { 898 if (notaPedido.vendedor.NUM) {
899 cabeceras.push({ 899 cabeceras.push({
900 label: 'Vendedor:', 900 label: 'Vendedor:',
901 valor: $filter('rellenarDigitos')(notaPedido.vendedor.NUM, 3) + 901 valor: $filter('rellenarDigitos')(notaPedido.vendedor.NUM, 3) +
902 ' - ' + notaPedido.vendedor.NOM 902 ' - ' + notaPedido.vendedor.NOM
903 }); 903 });
904 } 904 }
905 905
906 if (notaPedido.cliente.COD) { 906 if (notaPedido.cliente.COD) {
907 cabeceras.push({ 907 cabeceras.push({
908 label: 'Cliente:', 908 label: 'Cliente:',
909 valor: notaPedido.cliente.NOM 909 valor: notaPedido.cliente.NOM
910 }); 910 });
911 cabeceras.push({ 911 cabeceras.push({
912 label: 'Domicilio:', 912 label: 'Domicilio:',
913 valor: notaPedido.domicilioStamp 913 valor: notaPedido.domicilioStamp
914 }); 914 });
915 915
916 $filter('filter')($scope.botonera, { label: 'Cliente'})[0].checked = true; 916 $filter('filter')($scope.botonera, { label: 'Cliente'})[0].checked = true;
917 } 917 }
918 918
919 if (notaPedido.proveedor.COD) { 919 if (notaPedido.proveedor.COD) {
920 cabeceras.push({ 920 cabeceras.push({
921 label: 'Proveedor:', 921 label: 'Proveedor:',
922 valor: $filter('rellenarDigitos')(notaPedido.proveedor.COD, 5) + 922 valor: $filter('rellenarDigitos')(notaPedido.proveedor.COD, 5) +
923 ' - ' + notaPedido.proveedor.NOM 923 ' - ' + notaPedido.proveedor.NOM
924 }); 924 });
925 925
926 $filter('filter')($scope.botonera, { label: 'Proveedor'})[0].checked = true; 926 $filter('filter')($scope.botonera, { label: 'Proveedor'})[0].checked = true;
927 } 927 }
928 928
929 if (notaPedido.notaPedidoPlazo.length) { 929 if (notaPedido.notaPedidoPlazo.length) {
930 cabeceras.push({ 930 cabeceras.push({
931 label: 'Precios y condiciones:', 931 label: 'Precios y condiciones:',
932 valor: valorPrecioCondicion() + ' ' + 932 valor: valorPrecioCondicion() + ' ' +
933 notaPedidoBusinessService 933 notaPedidoBusinessService
934 .plazoToString(notaPedido.notaPedidoPlazo) 934 .plazoToString(notaPedido.notaPedidoPlazo)
935 }); 935 });
936 936
937 $filter('filter')($scope.botonera, 937 $filter('filter')($scope.botonera,
938 { label: 'Precios y Condiciones'})[0].checked = true; 938 { label: 'Precios y Condiciones'})[0].checked = true;
939 } 939 }
940 940
941 if (notaPedido.flete !== undefined) { 941 if (notaPedido.flete !== undefined) {
942 cabeceras.push({ 942 cabeceras.push({
943 label: 'Flete:', 943 label: 'Flete:',
944 valor: notaPedido.fob === 1 ? 'FOB' : ( 944 valor: notaPedido.fob === 1 ? 'FOB' : (
945 notaPedido.flete === 1 ? 'Si' : 'No') 945 notaPedido.flete === 1 ? 'Si' : 'No')
946 }); 946 });
947 } 947 }
948 948
949 function valorPrecioCondicion() { 949 function valorPrecioCondicion() {
950 if (notaPedido.idPrecioCondicion > 0) { 950 if (notaPedido.idPrecioCondicion > 0) {
951 return notaPedido.precioCondicion.nombre; 951 return notaPedido.precioCondicion.nombre;
952 } else { 952 } else {
953 return 'Ingreso Manual'; 953 return 'Ingreso Manual';
954 } 954 }
955 } 955 }
956 956
957 if (notaPedido.flete === 1) { 957 if (notaPedido.flete === 1) {
958 var cabeceraBomba = { 958 var cabeceraBomba = {
959 label: 'Bomba:', 959 label: 'Bomba:',
960 valor: notaPedido.bomba === 1 ? 'Si' : 'No' 960 valor: notaPedido.bomba === 1 ? 'Si' : 'No'
961 }; 961 };
962 if (notaPedido.kilometros) { 962 if (notaPedido.kilometros) {
963 var cabeceraKilometros = { 963 var cabeceraKilometros = {
964 label: 'Kilometros:', 964 label: 'Kilometros:',
965 valor: notaPedido.kilometros 965 valor: notaPedido.kilometros
966 }; 966 };
967 cabeceras.push(cabeceraKilometros); 967 cabeceras.push(cabeceraKilometros);
968 } 968 }
969 cabeceras.push(cabeceraBomba); 969 cabeceras.push(cabeceraBomba);
970 } 970 }
971 971
972 if (notaPedido.idPrecioCondicion > 0) { 972 if (notaPedido.idPrecioCondicion > 0) {
973 $scope.idLista = notaPedido.precioCondicion.idListaPrecio; 973 $scope.idLista = notaPedido.precioCondicion.idListaPrecio;
974 } else if (notaPedido.idPrecioCondicion) { 974 } else if (notaPedido.idPrecioCondicion) {
975 $scope.idLista = -1; 975 $scope.idLista = -1;
976 } 976 }
977 977
978 $scope.puntoVenta = $filter('rellenarDigitos')( 978 $scope.puntoVenta = $filter('rellenarDigitos')(
979 notaPedido.sucursal, 4 979 notaPedido.sucursal, 4
980 ); 980 );
981 981
982 $scope.comprobante = $filter('rellenarDigitos')( 982 $scope.comprobante = $filter('rellenarDigitos')(
983 notaPedido.numeroNotaPedido, 8 983 notaPedido.numeroNotaPedido, 8
984 ); 984 );
985 985
986 if (notaPedido.notaPedidoPuntoDescarga.length) { 986 if (notaPedido.notaPedidoPuntoDescarga.length) {
987 var puntos = []; 987 var puntos = [];
988 notaPedido.notaPedidoPuntoDescarga.forEach(function(notaPedidoPuntoDescarga) { 988 notaPedido.notaPedidoPuntoDescarga.forEach(function(notaPedidoPuntoDescarga) {
989 puntos.push(notaPedidoPuntoDescarga); 989 puntos.push(notaPedidoPuntoDescarga);
990 }); 990 });
991 cabeceras.push({ 991 cabeceras.push({
992 label: 'Puntos de descarga: ', 992 label: 'Puntos de descarga: ',
993 valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntos)) 993 valor: $filter('rellenarDigitos')(getCabeceraPuntoDescarga(puntos))
994 }); 994 });
995 } 995 }
996 996
997 if ($scope.notaPedido.articulosNotaPedido.length) { 997 if ($scope.notaPedido.articulosNotaPedido.length) {
998 $scope.notaPedido.articulosNotaPedido.forEach(function (articulo) { 998 $scope.notaPedido.articulosNotaPedido.forEach(function (articulo) {
999 articulo.precio = 999 articulo.precio =
1000 (articulo.precio / $scope.notaPedido.cotizacion.VENDEDOR).toFixed(4); 1000 (articulo.precio / $scope.notaPedido.cotizacion.VENDEDOR).toFixed(4);
1001 }); 1001 });
1002 } 1002 }
1003 1003
1004 addArrayCabecera(cabeceras); 1004 addArrayCabecera(cabeceras);
1005 } 1005 }
1006 1006
1007 function getCabeceraPuntoDescarga(puntoDescarga) { 1007 function getCabeceraPuntoDescarga(puntoDescarga) {
1008 var puntosStamp = ''; 1008 var puntosStamp = '';
1009 puntoDescarga.forEach(function(punto, idx, arr) { 1009 puntoDescarga.forEach(function(punto, idx, arr) {
1010 puntosStamp += punto.descripcion; 1010 puntosStamp += punto.descripcion;
1011 if ((idx + 1) !== arr.length) puntosStamp += ', '; 1011 if ((idx + 1) !== arr.length) puntosStamp += ', ';
1012 }); 1012 });
1013 return puntosStamp; 1013 return puntosStamp;
1014 } 1014 }
1015 1015
1016 function addArrayCabecera(array) { 1016 function addArrayCabecera(array) {
1017 for (var i = 0; i < array.length; i++) { 1017 for (var i = 0; i < array.length; i++) {
1018 $scope.$broadcast('addCabecera', { 1018 $scope.$broadcast('addCabecera', {
1019 label: array[i].label, 1019 label: array[i].label,
1020 valor: array[i].valor 1020 valor: array[i].valor
1021 }); 1021 });
1022 } 1022 }
1023 } 1023 }
1024 1024
1025 function validarNotaRemitada() { 1025 function validarNotaRemitada() {
1026 if (!$scope.notaPedido.idRemito) { 1026 if (!$scope.notaPedido.idRemito) {
1027 return true; 1027 return true;
1028 } else { 1028 } else {
1029 focaModalService.alert('No se puede editar una nota de pedido remitada'); 1029 focaModalService.alert('No se puede editar una nota de pedido remitada');
1030 return false; 1030 return false;
1031 } 1031 }
1032 } 1032 }
1033 1033
1034 function salir() { 1034 function salir() {
1035 var confirmacion = false; 1035 var confirmacion = false;
1036 1036
1037 if (!angular.equals($scope.notaPedido, $scope.inicial)) { 1037 if (!angular.equals($scope.notaPedido, $scope.inicial)) {
1038 confirmacion = true; 1038 confirmacion = true;
1039 } 1039 }
1040 1040
1041 if (confirmacion) { 1041 if (confirmacion) {
1042 focaModalService.confirm( 1042 focaModalService.confirm(
1043 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' 1043 '¿Está seguro de que desea salir? Se perderán todos los datos cargados.'
1044 ).then(function(data) { 1044 ).then(function(data) {
1045 if (data) { 1045 if (data) {
1046 $location.path('/'); 1046 $location.path('/');
1047 } 1047 }
1048 }); 1048 });
1049 } else { 1049 } else {
1050 $location.path('/'); 1050 $location.path('/');
1051 } 1051 }
1052 } 1052 }
1053 1053
1054 function getLSNotaPedido() { 1054 function getLSNotaPedido() {
1055 var notaPedido = JSON.parse($localStorage.notaPedido || null); 1055 var notaPedido = JSON.parse($localStorage.notaPedido || null);
1056 if (notaPedido) { 1056 if (notaPedido) {
1057 delete $localStorage.notaPedido; 1057 delete $localStorage.notaPedido;
1058 setearNotaPedido(notaPedido); 1058 setearNotaPedido(notaPedido);
1059 } 1059 }
1060 } 1060 }
1061 1061
1062 function deleteCliente() { 1062 function deleteCliente() {
1063 delete $scope.notaPedido.domicilioStamp; 1063 delete $scope.notaPedido.domicilioStamp;
1064 delete $scope.notaPedido.notaPedidoPuntoDescarga; 1064 delete $scope.notaPedido.notaPedidoPuntoDescarga;
1065 $scope.notaPedido.domicilio = {dom: ''}; 1065 $scope.notaPedido.domicilio = {dom: ''};
1066 $scope.notaPedido.cliente = {}; 1066 $scope.notaPedido.cliente = {};
1067 $scope.$broadcast('removeCabecera', 'Cliente:'); 1067 $scope.$broadcast('removeCabecera', 'Cliente:');
1068 $scope.$broadcast('removeCabecera', 'Domicilio:'); 1068 $scope.$broadcast('removeCabecera', 'Domicilio:');
1069 $scope.$broadcast('removeCabecera', 'Puntos de descarga:'); 1069 $scope.$broadcast('removeCabecera', 'Puntos de descarga:');
1070 } 1070 }
1071 } 1071 }
1072 ]); 1072 ]);
1073 1073