public GenerarPDFGuiaRemisionResponseDTO GenerarPDFGuiaRemisionPlantaPorNotaSalidaAlmacenId(int notaSalidaAlmacenIdId)
        {
            GenerarPDFGuiaRemisionResponseDTO generarPDFGuiaRemisionResponseDTO = new GenerarPDFGuiaRemisionResponseDTO();

            ConsultaGuiaRemisionAlmacenPlanta consultaImpresionGuiaRemision = new ConsultaGuiaRemisionAlmacenPlanta();

            consultaImpresionGuiaRemision = _IGuiaRemisionAlmacenPlantaRepository.ConsultaGuiaRemisionAlmacenPlantaPorNotaSalidaAlmacenPlantaId(notaSalidaAlmacenIdId);

            List <ConsultaGuiaRemisionAlmacenPlantaDetalle> detalleGuiaRemision = _IGuiaRemisionAlmacenPlantaRepository.ConsultaGuiaRemisionAlmacenPlantaDetallePorGuiaRemisionAlmacenPlantaId(consultaImpresionGuiaRemision.GuiaRemisionAlmacenPlantaId).ToList();

            int contador = 1;


            detalleGuiaRemision.ForEach(z =>
            {
                GuiaRemisionListaDetalle guiaRemisionListaDetalle = new GuiaRemisionListaDetalle();
                guiaRemisionListaDetalle.correlativo = contador;
                contador++;
                //string[] agencias = z.AgenciaCertificadora.Split("|");
                //string[] certificaciones = z.Certificacion.Split("|");

                //agenciasTotal = agenciasTotal.Concat(agencias).ToArray();
                //certificacionTotal = certificacionTotal.Concat(certificaciones).ToArray();


                guiaRemisionListaDetalle.TipoProducto      = z.Producto.Trim();
                guiaRemisionListaDetalle.UnidadMedida      = z.UnidadMedida + " Yute";
                guiaRemisionListaDetalle.Cantidad          = z.CantidadPesado;
                guiaRemisionListaDetalle.PesoNeto          = z.KilosNetosPesado;
                guiaRemisionListaDetalle.TipoCertificacion = z.TipoCertificacion.Trim();
                guiaRemisionListaDetalle.TipoProduccion    = z.TipoProduccion.Trim();
                guiaRemisionListaDetalle.Producto          = z.Producto.Trim();
                guiaRemisionListaDetalle.SubProducto       = z.SubProducto.Trim();
                generarPDFGuiaRemisionResponseDTO.listaDetalleGM.Add(guiaRemisionListaDetalle);
            });

            //agenciasTotal = agenciasTotal.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
            //certificacionTotal = certificacionTotal.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();

            //agenciasTotal = agenciasTotal.Distinct().ToArray();

            //certificacionTotal = certificacionTotal.Distinct().ToArray();

            //string separator = ", ";

            //string agenciaCertificadora = string.Join(separator, agenciasTotal);
            //string certificacion = string.Join(separator, certificacionTotal);


            CabeceraGuiaRemision cabeceraGuiaRemision = new CabeceraGuiaRemision();


            cabeceraGuiaRemision.RazonSocial                     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RazonSocialEmpresa) ? consultaImpresionGuiaRemision.RazonSocialEmpresa.Trim() : String.Empty;
            cabeceraGuiaRemision.Direccion                       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionPartida) ? consultaImpresionGuiaRemision.DireccionPartida.Trim() : String.Empty;
            cabeceraGuiaRemision.Ruc                             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucEmpresa) ? consultaImpresionGuiaRemision.RucEmpresa.Trim() : String.Empty;
            cabeceraGuiaRemision.Almacen                         = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Almacen) ? consultaImpresionGuiaRemision.Almacen.Trim() : String.Empty;
            cabeceraGuiaRemision.Destinatario                    = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Destinatario) ? consultaImpresionGuiaRemision.Destinatario.Trim() : String.Empty;
            cabeceraGuiaRemision.DireccionPartida                = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionPartida) ? consultaImpresionGuiaRemision.DireccionPartida.Trim() : String.Empty;
            cabeceraGuiaRemision.DireccionDestino                = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionDestino) ? consultaImpresionGuiaRemision.DireccionDestino.Trim() : String.Empty;
            cabeceraGuiaRemision.Certificacion                   = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Certificacion) ? consultaImpresionGuiaRemision.Certificacion.Trim() : String.Empty;
            cabeceraGuiaRemision.TipoProduccion                  = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.TipoProduccion) ? consultaImpresionGuiaRemision.TipoProduccion.Trim() : String.Empty;
            cabeceraGuiaRemision.NumeroGuiaRemision              = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Numero) ? consultaImpresionGuiaRemision.Numero.Trim() : String.Empty;
            cabeceraGuiaRemision.RucDestinatario                 = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucDestinatario) ? consultaImpresionGuiaRemision.RucDestinatario.Trim() : String.Empty;
            cabeceraGuiaRemision.FechaEmision                    = DateTime.Now;
            cabeceraGuiaRemision.FechaEmisionString              = DateTime.Now.ToString("dd/MM/yyyy");
            cabeceraGuiaRemision.FechaEntregaTransportista       = DateTime.Now;
            cabeceraGuiaRemision.FechaEntregaTransportistaString = DateTime.Now.ToString("dd/MM/yyyy");

            //cabeceraGuiaRemision.Certificadora = agenciaCertificadora;

            generarPDFGuiaRemisionResponseDTO.Cabecera.Add(cabeceraGuiaRemision);

            GuiaRemisionDetalle guiaRemisionDetalle = new GuiaRemisionDetalle();

            guiaRemisionDetalle.TotalLotes          = consultaImpresionGuiaRemision.CantidadLotes;
            guiaRemisionDetalle.Rendimiento         = consultaImpresionGuiaRemision.PromedioPorcentajeRendimiento;
            guiaRemisionDetalle.PorcentajeHumedad   = consultaImpresionGuiaRemision.HumedadPorcentajeAnalisisFisico;
            guiaRemisionDetalle.CantidadTotal       = consultaImpresionGuiaRemision.CantidadTotal;
            guiaRemisionDetalle.TotalKGBrutos       = consultaImpresionGuiaRemision.PesoKilosBrutos;
            guiaRemisionDetalle.ModalidadTransporte = "TRANSPORTE PRIVADO";
            guiaRemisionDetalle.TipoTraslado        = "TRANSPORTE PRIVADO";
            guiaRemisionDetalle.MotivoTraslado      = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Motivo) ? consultaImpresionGuiaRemision.Motivo.Trim() : String.Empty;
            //guiaRemisionDetalle.MotivoDetalleTraslado = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.MotivoTrasladoReferencia) ? consultaImpresionGuiaRemision.MotivoTrasladoReferencia.Trim() : String.Empty;
            guiaRemisionDetalle.PropietarioTransportista     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Propietario) ? consultaImpresionGuiaRemision.Propietario.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaDomicilio       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionTransportista) ? consultaImpresionGuiaRemision.DireccionTransportista.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaCodigoVehicular = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.ConfiguracionVehicular) ? consultaImpresionGuiaRemision.ConfiguracionVehicular.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaMarca           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.MarcaTractor) ? consultaImpresionGuiaRemision.MarcaTractor.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaRuc             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucTransportista) ? consultaImpresionGuiaRemision.RucTransportista.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaRazonSocial     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Transportista) ? consultaImpresionGuiaRemision.Transportista.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaPlaca           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.PlacaTractor) ? consultaImpresionGuiaRemision.PlacaTractor.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaConductor       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Conductor) ? consultaImpresionGuiaRemision.Conductor.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaColor           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Color) ? consultaImpresionGuiaRemision.Color.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaSoat            = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Soat) ? consultaImpresionGuiaRemision.Soat.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaDni             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Dni) ? consultaImpresionGuiaRemision.Dni.Trim() : String.Empty;


            guiaRemisionDetalle.TransportistaColor      = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Color) ? consultaImpresionGuiaRemision.Color.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaSoat       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Soat) ? consultaImpresionGuiaRemision.Soat.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaConstancia = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.NumeroConstanciaMTC) ? consultaImpresionGuiaRemision.NumeroConstanciaMTC.Trim() : String.Empty;
            guiaRemisionDetalle.TransportistaBrevete    = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.LicenciaConductor) ? consultaImpresionGuiaRemision.LicenciaConductor.Trim() : String.Empty;
            guiaRemisionDetalle.Observaciones           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Observacion) ? consultaImpresionGuiaRemision.Observacion.Trim() : String.Empty;
            guiaRemisionDetalle.Responsable             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.UsuarioRegistro) ? consultaImpresionGuiaRemision.UsuarioRegistro.Trim() : String.Empty;



            generarPDFGuiaRemisionResponseDTO.detalleGM.Add(guiaRemisionDetalle);


            return(generarPDFGuiaRemisionResponseDTO);
        }
예제 #2
0
        public int ActualizarNotaSalidaAlmacenPlanta(RegistrarNotaSalidaAlmacenPlantaRequestDTO request)
        {
            NotaSalidaAlmacenPlanta notaSalidaAlmacen = new NotaSalidaAlmacenPlanta();
            List <NotaSalidaAlmacenPlantaDetalle> lstnotaSalidaAlmacen = new List <NotaSalidaAlmacenPlantaDetalle>();
            int affected = 0;
            List <TablaIdsTipo> notaIngresoIdActualizar = new List <TablaIdsTipo>();


            notaSalidaAlmacen.NotaSalidaAlmacenPlantaId = request.NotaSalidaAlmacenPlantaId;
            notaSalidaAlmacen.EmpresaId              = request.EmpresaId;
            notaSalidaAlmacen.AlmacenId              = request.AlmacenId;
            notaSalidaAlmacen.Numero                 = request.Numero;
            notaSalidaAlmacen.MotivoSalidaId         = request.MotivoSalidaId;
            notaSalidaAlmacen.MotivoSalidaReferencia = request.MotivoSalidaReferencia;
            notaSalidaAlmacen.EmpresaIdDestino       = request.EmpresaIdDestino;
            notaSalidaAlmacen.EmpresaTransporteId    = request.EmpresaTransporteId;
            notaSalidaAlmacen.TransporteId           = request.TransporteId;
            notaSalidaAlmacen.NumeroConstanciaMTC    = request.NumeroConstanciaMTC;
            notaSalidaAlmacen.MarcaTractorId         = request.MarcaTractorId;
            notaSalidaAlmacen.PlacaTractor           = request.PlacaTractor;
            notaSalidaAlmacen.MarcaCarretaId         = request.MarcaCarretaId;
            notaSalidaAlmacen.PlacaCarreta           = request.PlacaCarreta;
            notaSalidaAlmacen.Conductor              = request.Conductor;
            notaSalidaAlmacen.Licencia               = request.Licencia;
            notaSalidaAlmacen.Observacion            = request.Observacion;

            //notaSalidaAlmacen.PromedioPorcentajeRendimiento = request.PromedioPorcentajeRendimiento;
            notaSalidaAlmacen.CantidadTotal   = request.CantidadTotal;
            notaSalidaAlmacen.PesoKilosBrutos = request.PesoKilosBrutos;
            notaSalidaAlmacen.PesoKilosNetos  = request.PesoKilosNetos;
            notaSalidaAlmacen.Tara            = request.Tara;

            //notaSalidaAlmacen.EstadoId = request.EstadoId;
            notaSalidaAlmacen.FechaUltimaActualizacion   = DateTime.Now;
            notaSalidaAlmacen.UsuarioUltimaActualizacion = request.UsuarioNotaSalidaAlmacenPlanta;


            affected = _INotaSalidaAlmacenPlantaRepository.Actualizar(notaSalidaAlmacen);


            if (notaSalidaAlmacen.NotaSalidaAlmacenPlantaId != 0)
            {
                request.ListNotaSalidaAlmacenPlantaDetalle.ForEach(x =>
                {
                    NotaSalidaAlmacenPlantaDetalle obj = new NotaSalidaAlmacenPlantaDetalle();
                    obj.NotaIngresoAlmacenPlantaId     = x.NotaIngresoAlmacenPlantaId;
                    obj.NotaSalidaAlmacenPlantaId      = notaSalidaAlmacen.NotaSalidaAlmacenPlantaId;

                    lstnotaSalidaAlmacen.Add(obj);


                    TablaIdsTipo tablaLoteIdsTipo = new TablaIdsTipo();
                    tablaLoteIdsTipo.Id           = x.NotaIngresoAlmacenPlantaId;
                    notaIngresoIdActualizar.Add(tablaLoteIdsTipo);
                });

                affected = _INotaSalidaAlmacenPlantaRepository.ActualizarNotaSalidaAlmacenPlantaDetalle(lstnotaSalidaAlmacen, notaSalidaAlmacen.NotaSalidaAlmacenPlantaId);


                _NotaIngresoAlmacenPlantaRepository.ActualizarEstadoPorIds(notaIngresoIdActualizar, DateTime.Now, request.UsuarioNotaSalidaAlmacenPlanta, NotaIngresoAlmacenPlantaEstados.GeneradoNotaSalida);
            }


            #region Guia Remision

            int guiaRemisionAlmacenId;
            //GuiaRemisionAlmacen guiaRemisionAlmacen = new GuiaRemisionAlmacen();

            GuiaRemisionAlmacenPlanta         guiaRemisionAlmacen = _Mapper.Map <GuiaRemisionAlmacenPlanta>(notaSalidaAlmacen);
            ConsultaGuiaRemisionAlmacenPlanta guiaRemisionPivot   = _IGuiaRemisionAlmacenPlantaRepository.ConsultaGuiaRemisionAlmacenPlantaPorNotaSalidaAlmacenPlantaId(notaSalidaAlmacen.NotaSalidaAlmacenPlantaId);



            string tipoProduccionId    = String.Empty;
            string tipoCertificacionId = String.Empty;

            List <ConsultaNotaSalidaAlmacenPlantaDetallePorIdBE> NotaSalidaDetalle = _INotaSalidaAlmacenPlantaRepository.ConsultarNotaSalidaAlmacenPlantaDetallePorIdBE(notaSalidaAlmacen.NotaSalidaAlmacenPlantaId).ToList();


            if (NotaSalidaDetalle.Count > 0)
            {
                tipoProduccionId    = NotaSalidaDetalle[0].TipoProduccionId;
                tipoCertificacionId = NotaSalidaDetalle[0].CertificacionId;
            }

            guiaRemisionAlmacen.TipoProduccionId    = tipoProduccionId;
            guiaRemisionAlmacen.TipoCertificacionId = tipoCertificacionId;

            if (guiaRemisionPivot == null)
            {
                guiaRemisionAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.GuiaRemisionAlmacenPlanta);

                guiaRemisionAlmacen.FechaRegistro   = DateTime.Now;
                guiaRemisionAlmacen.UsuarioRegistro = request.UsuarioNotaSalidaAlmacenPlanta;
                guiaRemisionAlmacen.EstadoId        = GuiaRemisionAlmacenPlantaEstados.Ingresado;
                guiaRemisionAlmacenId = _IGuiaRemisionAlmacenPlantaRepository.Insertar(guiaRemisionAlmacen);
            }
            else
            {
                guiaRemisionAlmacen.FechaUltimaActualizacion   = DateTime.Now;
                guiaRemisionAlmacen.UsuarioUltimaActualizacion = request.UsuarioNotaSalidaAlmacenPlanta;

                _IGuiaRemisionAlmacenPlantaRepository.Actualizar(guiaRemisionAlmacen);

                guiaRemisionAlmacenId = guiaRemisionPivot.GuiaRemisionAlmacenPlantaId;
            }


            if (guiaRemisionAlmacenId != 0)
            {
                List <GuiaRemisionAlmacenPlantaDetalleTipo> listaDetalle = new List <GuiaRemisionAlmacenPlantaDetalleTipo>();
                if (NotaSalidaDetalle.Any())
                {
                    NotaSalidaDetalle.ForEach(x =>
                    {
                        GuiaRemisionAlmacenPlantaDetalleTipo item = _Mapper.Map <GuiaRemisionAlmacenPlantaDetalleTipo>(x);
                        item.GuiaRemisionAlmacenPlantaId          = guiaRemisionAlmacenId;
                        item.NotaIngresoAlmacenPlantaId           = x.NotaIngresoAlmacenPlantaId;
                        item.NumeroNotaIngresoAlmacenPlanta       = x.NumeroNotaIngresoAlmacenPlanta;
                        item.ProductoId           = x.ProductoId;
                        item.SubProductoId        = x.SubProductoId;
                        item.UnidadMedidaIdPesado = x.UnidadMedidaIdPesado;
                        item.CalidadId            = x.CalidadId;
                        item.GradoId           = x.GradoId;
                        item.CantidadPesado    = x.CantidadPesado;
                        item.CantidadDefectos  = x.CantidadDefectos;
                        item.KilosNetosPesado  = x.KilosNetosPesado;
                        item.KilosBrutosPesado = x.KilosBrutosPesado;
                        item.TaraPesado        = x.TaraPesado;
                        listaDetalle.Add(item);
                    });

                    _IGuiaRemisionAlmacenPlantaRepository.ActualizarGuiaRemisionAlmacenPlantaDetalle(listaDetalle);
                }
            }



            #endregion

            return(affected);
        }