service.js 4.44 KB
angular.module('focaCrearRemito')
    .service('crearRemitoService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) {
        var route = API_ENDPOINT.URL;
        return {
            crearRemito: function(remito) {
                // TODO: Cambiar para usar el servicio /remito
                return $http.post(route + '/remito', remito);
            },
            obtenerRemito: function() {
                return $http.get(route +'/nota-pedido');
            },
            setRemito: function(remito) {
                this.remito = remito;
            },
            clearRemito: function() {
                this.remito = undefined;
            },
            getRemito: function() {
                return this.remito;
            },
            getArticulosByIdRemito: function(id) {
                return $http.get(route+'/articulos/nota-pedido/'+id);
            },
            crearArticulosParaRemito: function(articuloRemito) {
                return $http.post(route + '/articulos/remito',
                    {articuloRemito: articuloRemito});
            },
            getDomiciliosByIdRemito: function(id) {
                return $http.get(route +'/nota-pedido/'+id+'/domicilios');
            },
            getDomiciliosByIdCliente: function(id) {
                var idTipoEntrega = 2;//Solo traigo los domicilios que tienen tipo 2 (tipo entrega)
                return $http.get(route + '/domicilio/tipo/' + idTipoEntrega + '/cliente/' + id );
            },
            getPrecioCondicion: function() {
                return $http.get(route + '/precio-condicion');
            },
            getPrecioCondicionById: function(id) {
                return $http.get(route + '/precio-condicion/' + id);
            },
            getPlazoPagoByPrecioCondicion: function(id) {
                return $http.get(route + '/plazo-pago/precio-condicion/'+ id);
            },
            crearFlete: function(flete) {
                return $http.post(route + '/flete', {flete : flete});
            },
            crearPlazosParaRemito: function(plazos) {
                return $http.post(route + '/plazo-pago/remito', plazos);
            },
            getCotizacionByIdMoneda: function(id) {
                return $http.get(route + '/moneda/' + id);
            },
            crearEstadoParaRemito: function(estado) {
                return $http.post(route + '/estado', {estado: estado});
            },
            getNumeroRemito: function() {
                return $http.get(route + '/remito/numero-siguiente');
            },
            imprimirRemitoByIdRemito: function(idRemito, original) {
                var tipo = original ? '/original' : '';
                return $http.get(route + '/remito/comprobante/' + idRemito + tipo);
            },
            getPuntosDescargaByClienDom: function(idDomicilio, idCliente) {
                return $http.get(API_ENDPOINT.URL + '/punto-descarga/' +
                    idDomicilio + '/' + idCliente);
            },
            enviarCorreo: function(options) {
                return $http.post(API_ENDPOINT.URL + '/mail/enviar', options);
            },
            getBotonera: function() {
                return [
                    {
                        label: 'Nota pedido',
                        image: 'notaDePedido.png'
                    },
                    {
                        label: 'Vendedor',
                        image:  'vendedor.png'
                    },
                    {
                        label: 'Cliente',
                        image:  'cliente.png'
                    },
                    {
                        label: 'Proveedor',
                        image:  'proveedor.png'
                    },
                    {
                        label: 'Moneda',
                        image:  'moneda.png'
                    },
                    {
                        label: 'Precios y condiciones',
                        image:  'precios-condiciones.png'
                    },
                    {
                        label: 'Flete',
                        image: 'flete.png'
                    },
                    {
                        label: 'Productos',
                        image: 'productos.png'
                    },
                    {
                        label: 'Observaciones',
                        image: 'productos.png',
                        disable: true
                    }
                ];
            }
        };
    }]);