businessService.js 3.21 KB
angular.module('focaCrearRemito')
    .factory('remitoBusinessService', ['crearRemitoService', 'focaModalService',
        function(crearRemitoService, focaModalService) {
        return {
            quitarCotizacion: function(articulosRemito, cotizacion) {

                for(var i = 0; i < articulosRemito.length; i++) {

                    delete articulosRemito[i].editCantidad;
                    delete articulosRemito[i].editPrecio;
                    delete articulosRemito[i].idNotaPedido;

                    articulosRemito[i].precio = articulosRemito[i].precio * cotizacion;
                }

                return articulosRemito;

            },
            addEstado: function(idRemito, idVendedor) {
                var date = new Date();
                var estado = {
                    idRemito: idRemito,
                    fecha: new Date(date.getTime() - (date.getTimezoneOffset() * 60000))
                        .toISOString().slice(0, 19).replace('T', ' '),
                    estado: 0,
                    idVendedor: idVendedor
                };
                crearRemitoService.crearEstadoParaRemito(estado);
            },
            calcularArticulos: function(articulos, cotizacion) {
                for(var i = 0; i < articulos.length; i++) {
                    articulos[i].precio = articulos[i].precio / cotizacion;
                }
            },
            plazoToString: function(plazos) {
                var result = '';
                for(var i = 0; i < plazos.length; i++) {
                    result += plazos[i].dias + ' ';
                }
                return result.trim();
            },
            addPuntosDescarga: function(puntosDescarga) {

                var puntos = [];

                puntosDescarga.forEach(function(punto) {
                    puntos.push({
                        idPuntoDescarga: punto.puntoDescarga.id,
                    });
                });

                return puntos;
            },
            validarRemito: function (remito, articulos) {

                if (!remito.vendedor.NUM) {
                    focaModalService.alert('Ingrese Vendedor');
                    return false;
                } else if (!remito.cliente.COD) {
                    focaModalService.alert('Ingrese Cliente');
                    return false;
                } else if (!remito.proveedor.COD) {
                    focaModalService.alert('Ingrese Proveedor');
                    return false;
                } else if (!remito.cotizacion.moneda.id &&
                    !remito.cotizacion.moneda.ID) {
                    focaModalService.alert('Ingrese Moneda');
                    return false;
                } else if (!remito.cotizacion.ID) {
                    focaModalService.alert('Ingrese Cotización');
                    return false;
                } else if (remito.flete === undefined || remito.flete === null) {
                    focaModalService.alert('Ingrese Flete');
                    return false;
                } else if (articulos.length === 0) {
                    focaModalService.alert('Debe cargar al menos un articulo');
                    return false;
                }

                return true;
            }
        };
    }]);