Пример #1
0
        //public int EnviarGuardiolaGuiaRecepcionMateriaPrima(EnviarGuardiolaGuiaRecepcionMateriaPrimaRequestDTO request)
        //{
        //    int affected = _IGuiaRecepcionMateriaPrimaRepository.EnviarGuardiolaGuiaRecepcionMateriaPrima(request.GuiaRecepcionMateriaPrimaId, DateTime.Now, request.Usuario, GuiaRecepcionMateriaPrimaEstados.EnviadoGuardiola);

        //    return affected;
        //}

        public ConsultaGuiaRecepcionMateriaPrimaPorIdBE ConsultarGuiaRecepcionMateriaPrimaPorId(ConsultaGuiaRecepcionMateriaPrimaPorIdRequestDTO request)
        {
            int guiaRecepcionMateriaPrimaId = request.GuiaRecepcionMateriaPrimaId;

            ConsultaGuiaRecepcionMateriaPrimaPorIdBE consultaGuiaRecepcionMateriaPrimaPorIdBE = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaPorId(request.GuiaRecepcionMateriaPrimaId);

            if (consultaGuiaRecepcionMateriaPrimaPorIdBE != null)
            {
                if (consultaGuiaRecepcionMateriaPrimaPorIdBE.EstadoId != GuiaRecepcionMateriaPrimaEstados.Pesado)
                {
                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisFisicoColorDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisFisicoColorDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisFisicoOlorDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisFisicoOlorDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisFisicoDefectoPrimarioDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisFisicoDefectoPrimarioDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisFisicoDefectoSecundarioDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisFisicoDefectoSecundarioDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisSensorialAtributoDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisSensorialAtributoDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.AnalisisSensorialDefectoDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaAnalisisSensorialDefectoDetallePorId(guiaRecepcionMateriaPrimaId).ToList();

                    consultaGuiaRecepcionMateriaPrimaPorIdBE.RegistroTostadoIndicadorDetalle = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaRegistroTostadoIndicadorDetallePorId(guiaRecepcionMateriaPrimaId).ToList();



                    consultaGuiaRecepcionMateriaPrimaPorIdBE.NotaCompra = _INotaCompraRepository.ConsultarNotaCompraPorGuiaRecepcionMateriaPrimaId(guiaRecepcionMateriaPrimaId);
                }
            }



            return(consultaGuiaRecepcionMateriaPrimaPorIdBE);
        }
Пример #2
0
        public int AnularGuiaRecepcionMateriaPrima(AnularGuiaRecepcionMateriaPrimaRequestDTO request)
        {
            ConsultaGuiaRecepcionMateriaPrimaPorIdBE consultaGuiaRecepcionMateriaPrimaPorIdBE = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaPorId(request.GuiaRecepcionMateriaPrimaId);
            int contratoId = consultaGuiaRecepcionMateriaPrimaPorIdBE.ContratoAsignadoId;

            ConsultaContratoPorIdBE consultaContratoPorIdBE = _IContratoRepository.ConsultarContratoPorId(contratoId);

            if (consultaContratoPorIdBE.EstadoId == ContratoEstados.Completado)
            {
                //throw new ResultException(new Result { ErrCode = "04", Message = "Acopio.GuiaRecepcionMateriaPrima.ContratoCompletado.Label" });
                throw new ResultException(new Result {
                    ErrCode = "04", Message = "No se puede anular una guía con contrato asignado completado."
                });
            }
            else if (consultaContratoPorIdBE.EstadoId == ContratoEstados.Asignado)
            {
                decimal kilosNetosPesado = consultaGuiaRecepcionMateriaPrimaPorIdBE.KilosNetosPesado;

                _IContratoRepository.ActualizarSaldoPendienteAsignacionAcopio(contratoId, kilosNetosPesado * (-1));
            }


            int affected = _IGuiaRecepcionMateriaPrimaRepository.AnularGuiaRecepcionMateriaPrima(request.GuiaRecepcionMateriaPrimaId, DateTime.Now, request.Usuario, GuiaRecepcionMateriaPrimaEstados.Anulado);

            string productoIdCafePergamino = _ParametrosSettings.Value.ProductoIdCafePergamino;
            string subProductoIdCafeSeco   = _ParametrosSettings.Value.SubProductoIdCafeSeco;



            if (consultaGuiaRecepcionMateriaPrimaPorIdBE.ProductoId == productoIdCafePergamino && consultaGuiaRecepcionMateriaPrimaPorIdBE.SubProductoId == subProductoIdCafeSeco && consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaCertificacion != String.Empty)
            {
                List <ConsultaSocioFincaEstimadoPorSocioFincaIdBE> fincaEstimados = _ISocioFincaRepository.ConsultarSocioFincaEstimadoPorSocioFincaId(consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaId.Value).ToList();

                if (fincaEstimados.Count > 0)
                {
                    int anioActual = DateTime.Now.Year;

                    ConsultaSocioFincaEstimadoPorSocioFincaIdBE fincaEstima = null;

                    fincaEstima = fincaEstimados.Where(x => x.Anio == anioActual).FirstOrDefault();

                    if (fincaEstima != null)
                    {
                        _ISocioFincaRepository.ActualizarSocioFincaEstimadoConsumido(fincaEstima.SocioFincaEstimadoId, consultaGuiaRecepcionMateriaPrimaPorIdBE.KilosBrutosPesado * -1);
                    }
                }
            }

            return(affected);
        }
Пример #3
0
        public ConsultaGuiaRecepcionMateriaPrimaPorIdBE ConsultarGuiaRecepcionMateriaPrimaPorId(int guiaRecepcionMateriaPrimaId)
        {
            ConsultaGuiaRecepcionMateriaPrimaPorIdBE itemBE = null;

            var parameters = new DynamicParameters();

            parameters.Add("@GuiaRecepcionMateriaPrimaId", guiaRecepcionMateriaPrimaId);


            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                var list = db.Query <ConsultaGuiaRecepcionMateriaPrimaPorIdBE>("uspGuiaRecepcionMateriaPrimaObtenerPorId", parameters, commandType: CommandType.StoredProcedure);

                if (list.Any())
                {
                    itemBE = list.First();
                }
            }

            return(itemBE);
        }
Пример #4
0
        public int ActualizarPesadoGuiaRecepcionMateriaPrima(RegistrarActualizarPesadoGuiaRecepcionMateriaPrimaRequestDTO request)
        {
            GuiaRecepcionMateriaPrima guiaRecepcionMateriaPrima = new GuiaRecepcionMateriaPrima();

            decimal kilosNetosPesado = request.KilosBrutosPesado - request.TaraPesado;


            guiaRecepcionMateriaPrima.GuiaRecepcionMateriaPrimaId = request.GuiaRecepcionMateriaPrimaId;
            guiaRecepcionMateriaPrima.EmpresaId            = request.EmpresaId;
            guiaRecepcionMateriaPrima.TipoProvedorId       = request.TipoProvedorId;
            guiaRecepcionMateriaPrima.NumeroReferencia     = request.NumeroReferencia;
            guiaRecepcionMateriaPrima.SocioId              = request.SocioId;
            guiaRecepcionMateriaPrima.TerceroId            = request.TerceroId;
            guiaRecepcionMateriaPrima.IntermediarioId      = request.IntermediarioId;
            guiaRecepcionMateriaPrima.ProductoId           = request.ProductoId;
            guiaRecepcionMateriaPrima.SubProductoId        = request.SubProductoId;
            guiaRecepcionMateriaPrima.FechaCosecha         = request.FechaCosecha;
            guiaRecepcionMateriaPrima.FechaPesado          = DateTime.Now;
            guiaRecepcionMateriaPrima.UsuarioPesado        = request.UsuarioPesado;
            guiaRecepcionMateriaPrima.UnidadMedidaIdPesado = request.UnidadMedidaIdPesado;
            guiaRecepcionMateriaPrima.CantidadPesado       = request.CantidadPesado;
            guiaRecepcionMateriaPrima.KilosBrutosPesado    = request.KilosBrutosPesado;
            guiaRecepcionMateriaPrima.KilosNetosPesado     = kilosNetosPesado;

            guiaRecepcionMateriaPrima.TaraPesado              = request.TaraPesado;
            guiaRecepcionMateriaPrima.ObservacionPesado       = request.ObservacionPesado;
            guiaRecepcionMateriaPrima.SocioFincaId            = request.SocioFincaId;
            guiaRecepcionMateriaPrima.SocioFincaCertificacion = request.SocioFincaCertificacion;
            guiaRecepcionMateriaPrima.IntermediarioFinca      = request.IntermediarioFinca;
            guiaRecepcionMateriaPrima.TerceroFincaId          = request.TerceroFincaId;
            guiaRecepcionMateriaPrima.TipoProduccionId        = request.TipoProduccionId;
            guiaRecepcionMateriaPrima.EstadoId = GuiaRecepcionMateriaPrimaEstados.Pesado;
            guiaRecepcionMateriaPrima.FechaUltimaActualizacion   = DateTime.Now;
            guiaRecepcionMateriaPrima.UsuarioUltimaActualizacion = request.UsuarioPesado;



            string productoIdCafePergamino = _ParametrosSettings.Value.ProductoIdCafePergamino;
            string subProductoIdCafeSeco   = _ParametrosSettings.Value.SubProductoIdCafeSeco;

            ConsultaGuiaRecepcionMateriaPrimaPorIdBE consultaGuiaRecepcionMateriaPrimaPorIdBE = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaPorId(guiaRecepcionMateriaPrima.GuiaRecepcionMateriaPrimaId);

            int affected = _IGuiaRecepcionMateriaPrimaRepository.ActualizarPesado(guiaRecepcionMateriaPrima);

            if (consultaGuiaRecepcionMateriaPrimaPorIdBE.ProductoId == productoIdCafePergamino && consultaGuiaRecepcionMateriaPrimaPorIdBE.SubProductoId == subProductoIdCafeSeco && consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaCertificacion != String.Empty)
            {
                List <ConsultaSocioFincaEstimadoPorSocioFincaIdBE> fincaEstimados = _ISocioFincaRepository.ConsultarSocioFincaEstimadoPorSocioFincaId(consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaId.Value).ToList();

                if (fincaEstimados.Count > 0)
                {
                    int anioActual = DateTime.Now.Year;

                    ConsultaSocioFincaEstimadoPorSocioFincaIdBE fincaEstima = null;

                    fincaEstima = fincaEstimados.Where(x => x.Anio == anioActual).FirstOrDefault();

                    if (fincaEstima != null)
                    {
                        _ISocioFincaRepository.ActualizarSocioFincaEstimadoConsumido(fincaEstima.SocioFincaEstimadoId, consultaGuiaRecepcionMateriaPrimaPorIdBE.KilosBrutosPesado * -1);
                    }
                }
            }

            if (request.ProductoId == productoIdCafePergamino && request.SubProductoId == subProductoIdCafeSeco && request.SocioFincaCertificacion != String.Empty)
            {
                List <ConsultaSocioFincaEstimadoPorSocioFincaIdBE> fincaEstimados = _ISocioFincaRepository.ConsultarSocioFincaEstimadoPorSocioFincaId(request.SocioFincaId.Value).ToList();

                if (fincaEstimados.Count > 0)
                {
                    int anioActual = DateTime.Now.Year;

                    ConsultaSocioFincaEstimadoPorSocioFincaIdBE fincaEstima = null;

                    fincaEstima = fincaEstimados.Where(x => x.Anio == anioActual).FirstOrDefault();

                    if (fincaEstima != null)
                    {
                        _ISocioFincaRepository.ActualizarSocioFincaEstimadoConsumido(fincaEstima.SocioFincaEstimadoId, request.KilosBrutosPesado);
                    }
                }
            }



            return(affected);
        }
        /*
         *
         *
         *
         *
         *              parameters.Add("@TotalGramosAnalisisFisico", notaIngresoAlmacen.TotalGramosAnalisisFisico);
         *              parameters.Add("@TotalPorcentajeAnalisisFisico", notaIngresoAlmacen.TotalPorcentajeAnalisisFisico);
         *              parameters.Add("@HumedadPorcentajeAnalisisFisico", notaIngresoAlmacen.HumedadPorcentajeAnalisisFisico);
         *              parameters.Add("@Observacion", notaIngresoAlmacen.Observacion);
         *              parameters.Add("@EstadoId", notaIngresoAlmacen.EstadoId);
         *              parameters.Add("@FechaRegistro", notaIngresoAlmacen.FechaRegistro);
         *              parameters.Add("@UsuarioRegistro", notaIngresoAlmacen.UsuarioRegistro);
         *              parameters.Add("@FechaUltimaActualizacion", notaIngresoAlmacen.FechaUltimaActualizacion);
         *              parameters.Add("@UsuarioUltimaActualizacion", notaIngresoAlmacen.UsuarioUltimaActualizacion);
         *              parameters.Add("@Activo", notaIngresoAlmacen.Activo);
         *
         */

        public int Registrar(EnviarAlmacenGuiaRecepcionMateriaPrimaRequestDTO request)
        {
            ConsultaGuiaRecepcionMateriaPrimaPorIdBE guiaRecepcionMateriaPrima = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaPorId(request.GuiaRecepcionMateriaPrimaId);

            NotaIngresoAlmacen notaIngresoAlmacen = new NotaIngresoAlmacen();

            notaIngresoAlmacen.GuiaRecepcionMateriaPrimaId = request.GuiaRecepcionMateriaPrimaId;

            notaIngresoAlmacen.EmpresaId            = guiaRecepcionMateriaPrima.EmpresaId;
            notaIngresoAlmacen.Numero               = _ICorrelativoRepository.Obtener(guiaRecepcionMateriaPrima.EmpresaId, Documentos.NotaIngresoAlmacen);
            notaIngresoAlmacen.AlmacenId            = null;
            notaIngresoAlmacen.TipoProvedorId       = guiaRecepcionMateriaPrima.TipoProvedorId;
            notaIngresoAlmacen.SocioId              = guiaRecepcionMateriaPrima.SocioId;
            notaIngresoAlmacen.TerceroId            = guiaRecepcionMateriaPrima.TerceroId;
            notaIngresoAlmacen.TipoProduccionId     = guiaRecepcionMateriaPrima.TipoProduccionId;
            notaIngresoAlmacen.IntermediarioId      = guiaRecepcionMateriaPrima.IntermediarioId;
            notaIngresoAlmacen.ProductoId           = guiaRecepcionMateriaPrima.ProductoId;
            notaIngresoAlmacen.SubProductoId        = guiaRecepcionMateriaPrima.SubProductoId;
            notaIngresoAlmacen.UnidadMedidaIdPesado = guiaRecepcionMateriaPrima.UnidadMedidaIdPesado;
            notaIngresoAlmacen.CantidadPesado       = guiaRecepcionMateriaPrima.CantidadPesado;
            notaIngresoAlmacen.KilosBrutosPesado    = guiaRecepcionMateriaPrima.KilosBrutosPesado;
            notaIngresoAlmacen.TaraPesado           = guiaRecepcionMateriaPrima.TaraPesado;
            notaIngresoAlmacen.KilosNetosPesado     = guiaRecepcionMateriaPrima.KilosBrutosPesado - notaIngresoAlmacen.TaraPesado;
            notaIngresoAlmacen.QQ55 = notaIngresoAlmacen.KilosNetosPesado / Convert.ToDecimal(55.2);
            notaIngresoAlmacen.ExportableGramosAnalisisFisico     = guiaRecepcionMateriaPrima.ExportableGramosAnalisisFisico;
            notaIngresoAlmacen.ExportablePorcentajeAnalisisFisico = guiaRecepcionMateriaPrima.ExportablePorcentajeAnalisisFisico;
            notaIngresoAlmacen.DescarteGramosAnalisisFisico       = guiaRecepcionMateriaPrima.DescarteGramosAnalisisFisico;
            notaIngresoAlmacen.DescartePorcentajeAnalisisFisico   = guiaRecepcionMateriaPrima.DescartePorcentajeAnalisisFisico;
            notaIngresoAlmacen.CascarillaGramosAnalisisFisico     = guiaRecepcionMateriaPrima.CascarillaGramosAnalisisFisico;
            notaIngresoAlmacen.CascarillaPorcentajeAnalisisFisico = guiaRecepcionMateriaPrima.CascarillaPorcentajeAnalisisFisico;
            notaIngresoAlmacen.TotalGramosAnalisisFisico          = guiaRecepcionMateriaPrima.TotalGramosAnalisisFisico;
            notaIngresoAlmacen.TotalPorcentajeAnalisisFisico      = guiaRecepcionMateriaPrima.TotalPorcentajeAnalisisFisico;
            notaIngresoAlmacen.TotalAnalisisSensorial             = guiaRecepcionMateriaPrima.TotalAnalisisSensorial;
            notaIngresoAlmacen.HumedadPorcentajeAnalisisFisico    = guiaRecepcionMateriaPrima.HumedadPorcentajeAnalisisFisico.Value;

            List <ConsultaSocioFincaCertificacionPorSocioFincaId> certificacionesSocio = _ISocioFincaCertificacionRepository.ConsultarSocioFincaCertificacionPorSocioFincaId(guiaRecepcionMateriaPrima.SocioFincaId.Value).ToList();

            string certificaciones = String.Empty;
            string certificadoras  = String.Empty;
            int    contador        = 1;


            foreach (ConsultaSocioFincaCertificacionPorSocioFincaId certificacion in certificacionesSocio)
            {
                if (contador == 1)
                {
                    certificaciones = certificacion.TipoCertificacionId + "|";
                    certificadoras  = certificacion.EntidadCertificadoraId + "|";
                }
                else
                {
                    certificaciones = certificaciones + certificacion.TipoCertificacionId + "|";
                    certificadoras  = certificadoras + certificacion.EntidadCertificadoraId + "|";
                }
                contador = contador + 1;
            }

            notaIngresoAlmacen.TipoCertificacionId    = certificaciones;
            notaIngresoAlmacen.EntidadCertificadoraId = certificadoras;

            if (guiaRecepcionMateriaPrima.TotalGramosAnalisisFisico.HasValue && guiaRecepcionMateriaPrima.TotalGramosAnalisisFisico > 0)
            {
                notaIngresoAlmacen.RendimientoPorcentaje = (guiaRecepcionMateriaPrima.ExportableGramosAnalisisFisico / guiaRecepcionMateriaPrima.TotalGramosAnalisisFisico) * 100;
            }
            else
            {
                notaIngresoAlmacen.RendimientoPorcentaje = 0;
            }
            //notaIngresoAlmacen.Observacion = guiaRecepcionMateriaPrima.Observacion;
            notaIngresoAlmacen.UsuarioRegistro = request.Usuario;
            notaIngresoAlmacen.FechaRegistro   = DateTime.Now;
            notaIngresoAlmacen.EstadoId        = NotaIngresoAlmacenEstados.Ingresado;



            int affected = _INotaIngresoAlmacenRepository.Insertar(notaIngresoAlmacen);

            _IGuiaRecepcionMateriaPrimaRepository.ActualizarEstado(request.GuiaRecepcionMateriaPrimaId, DateTime.Now, request.Usuario, GuiaRecepcionMateriaPrimaEstados.EnviadoAlmacen);

            return(affected);
        }