public int Insertar(GuiaRemisionAlmacenPlanta GuiaRemisionAlmacenPlanta)
        {
            int result = 0;

            var parameters = new DynamicParameters();

            parameters.Add("@NotaSalidaAlmacenPlantaId", GuiaRemisionAlmacenPlanta.NotaSalidaAlmacenPlantaId);
            parameters.Add("@Numero", GuiaRemisionAlmacenPlanta.Numero);
            parameters.Add("@EmpresaId", GuiaRemisionAlmacenPlanta.EmpresaId);
            parameters.Add("@AlmacenId", GuiaRemisionAlmacenPlanta.AlmacenId);
            parameters.Add("@MotivoSalidaId", GuiaRemisionAlmacenPlanta.MotivoSalidaId);
            parameters.Add("@MotivoSalidaReferencia", GuiaRemisionAlmacenPlanta.MotivoSalidaReferencia);
            parameters.Add("@EmpresaIdDestino", GuiaRemisionAlmacenPlanta.EmpresaIdDestino);
            parameters.Add("@EmpresaTransporteId", GuiaRemisionAlmacenPlanta.EmpresaTransporteId);
            parameters.Add("@TransporteId", GuiaRemisionAlmacenPlanta.TransporteId);
            parameters.Add("@MarcaTractorId", GuiaRemisionAlmacenPlanta.MarcaTractorId);
            parameters.Add("@PlacaTractor", GuiaRemisionAlmacenPlanta.PlacaTractor);
            parameters.Add("@MarcaCarretaId", GuiaRemisionAlmacenPlanta.MarcaCarretaId);
            parameters.Add("@PlacaCarreta", GuiaRemisionAlmacenPlanta.PlacaCarreta);
            parameters.Add("@Conductor", GuiaRemisionAlmacenPlanta.Conductor);
            parameters.Add("@Licencia", GuiaRemisionAlmacenPlanta.Licencia);
            parameters.Add("@CantidadLotes", GuiaRemisionAlmacenPlanta.CantidadLotes);
            parameters.Add("@NumeroConstanciaMTC", GuiaRemisionAlmacenPlanta.NumeroConstanciaMTC);
            parameters.Add("@TipoProduccionId", GuiaRemisionAlmacenPlanta.TipoProduccionId);
            parameters.Add("@TipoCertificacionId", GuiaRemisionAlmacenPlanta.TipoCertificacionId);
            parameters.Add("@PromedioPorcentajeRendimiento", GuiaRemisionAlmacenPlanta.PromedioPorcentajeRendimiento);
            parameters.Add("@HumedadPorcentajeAnalisisFisico", GuiaRemisionAlmacenPlanta.HumedadPorcentajeAnalisisFisico);
            parameters.Add("@CantidadTotal", GuiaRemisionAlmacenPlanta.CantidadTotal);
            parameters.Add("@PesoKilosBrutos", GuiaRemisionAlmacenPlanta.PesoKilosBrutos);
            parameters.Add("@EstadoId", GuiaRemisionAlmacenPlanta.EstadoId);
            parameters.Add("@FechaRegistro", GuiaRemisionAlmacenPlanta.FechaRegistro);
            parameters.Add("@UsuarioRegistro", GuiaRemisionAlmacenPlanta.UsuarioRegistro);
            parameters.Add("@GuiaRemisionAlmacenPlantaId", dbType: DbType.Int32, direction: ParameterDirection.Output);


            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                result = db.Execute("uspGuiaRemisionAlmacenPlantaInsertar", parameters, commandType: CommandType.StoredProcedure);
            }

            result = parameters.Get <int>("GuiaRemisionAlmacenPlantaId");
            return(result);
        }
Ejemplo n.º 2
0
        public int RegistrarNotaSalidaAlmacenPlanta(RegistrarNotaSalidaAlmacenPlantaRequestDTO request)
        {
            NotaSalidaAlmacenPlanta notaSalidaAlmacen = new NotaSalidaAlmacenPlanta();
            List <NotaSalidaAlmacenPlantaDetalle> lstnotaSalidaAlmacen = new List <NotaSalidaAlmacenPlantaDetalle>();
            int affected = 0;


            List <TablaIdsTipo> notaIngresoIdActualizar = new List <TablaIdsTipo>();

            notaSalidaAlmacen.EmpresaId              = request.EmpresaId;
            notaSalidaAlmacen.AlmacenId              = request.AlmacenId;
            notaSalidaAlmacen.Numero                 = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.NotaSalidaAlmacenPlanta);
            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        = NotaSalidaAlmacenEstados.Ingresado;
            notaSalidaAlmacen.FechaRegistro   = DateTime.Now;
            notaSalidaAlmacen.UsuarioRegistro = request.UsuarioNotaSalidaAlmacenPlanta;

            notaSalidaAlmacen.NotaSalidaAlmacenPlantaId = _INotaSalidaAlmacenPlantaRepository.Insertar(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);
            }


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

            GuiaRemisionAlmacenPlanta guiaRemisionAlmacen = _Mapper.Map <GuiaRemisionAlmacenPlanta>(notaSalidaAlmacen);

            guiaRemisionAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.GuiaRemisionAlmacenPlanta);


            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    = "";;
            guiaRemisionAlmacen.TipoCertificacionId = "";
            guiaRemisionAlmacen.EstadoId            = GuiaRemisionAlmacenEstados.Ingresado;

            guiaRemisionAlmacenId = _IGuiaRemisionAlmacenPlantaRepository.Insertar(guiaRemisionAlmacen);

            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);
                }
            }

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

            return(affected);
        }