示例#1
0
        public ResultadoProceso ProcesaBarras(string barra1, string barra2, string codigoLocal)
        {
            decimal stroreNBR           = decimal.Parse(codigoLocal);
            decimal itemNumber          = decimal.Parse(barra1.Substring(3, 6));
            string  origen              = barra1.Substring(12, 3);
            decimal origenFrigorifico   = decimal.Parse(barra1.Substring(18, 3));
            decimal certificadoEmbarque = 0;

            if (barra1.Length == 40)
            {
                certificadoEmbarque = decimal.Parse(barra1.Substring(23, 17));
            }
            if (barra1.Length == 41)
            {
                certificadoEmbarque = decimal.Parse(barra1.Substring(23, 18));
            }

            string  fechaFaena = barra2.Substring(2, 6);
            decimal pesaNeto   = decimal.Parse(barra2.Substring(12, 6));
            decimal pesaBruto  = decimal.Parse(barra2.Substring(22, 6));
            string  barraLarga = string.Concat(barra1, barra2);

            barraLarga = string.Empty;
            string responsable = string.Empty;


            Datos.Repositorio.RepositorioBalanza repositorioBalanza = new Datos.Repositorio.RepositorioBalanza();

            Datos.Paridad paridad = repositorioBalanza.ObtieneParidad(itemNumber);
            if (paridad == null)
            {
                return new ResultadoProceso {
                           EstadoResutado = 1
                }
            }
            ;

            decimal itemVenta = paridad.Item_Venta;

            Datos.Item_Padre itemPadre = repositorioBalanza.ObtieneItemPadre(itemVenta);
            if (itemPadre == null)
            {
                return new ResultadoProceso {
                           EstadoResutado = 2
                }
            }
            ;

            repositorioBalanza.CargaBarras(itemPadre, stroreNBR, decimal.Parse(origen), origenFrigorifico, certificadoEmbarque, fechaFaena, pesaNeto, pesaBruto, barraLarga, responsable);

            return(new ResultadoProceso {
                EstadoResutado = 0
            });
        }
示例#2
0
        public ResultadoProceso ProcesaBarrasMSG(string msg, string codigoLocal)
        {
            //msg = "156551|1|004|002|00000001234123412|130805|001850|001945|24115655142200425100200000000012341234121113080531020018503302001945";
            //msg = "285197|2|002|2|0|131125|123456|0|";

            //codigoLocal = "201";

            decimal stroreNBR = decimal.Parse(codigoLocal);

            string[] mensaje = msg.Split('|');
            //if ((mensaje.Length != 9) || (mensaje.Length != 10))

            /*if (mensaje.Length != 10)
             *  throw new InvalidOperationException("Valide el formato y largo del msg.");*/
            decimal itemNumber               = Convert.ToDecimal(mensaje[0]);
            int     tipoItem                 = int.Parse(mensaje[1].ToString()); // 1: Item Compra     2: Item Venta
            string  origen                   = mensaje[2].ToString();
            decimal origenFrigorifico        = decimal.Parse(mensaje[3].ToString());
            string  certificadoEmbarqueTexto = mensaje[4].ToString();
            decimal certificadoEmbarque      = 0;

            if (!string.IsNullOrEmpty(certificadoEmbarqueTexto.Trim()))
            {
                certificadoEmbarque = decimal.Parse(certificadoEmbarqueTexto.Trim());
            }
            string  fechaFaena  = mensaje[5].ToString();
            decimal pesaNeto    = decimal.Parse(mensaje[6]);
            decimal pesaBruto   = decimal.Parse(mensaje[7]);
            string  barraLarga  = mensaje[8];
            string  responsable = string.Empty;

            if (mensaje.Length == 10)
            {
                responsable = mensaje[9];
            }

            Datos.Repositorio.RepositorioBalanza repositorioBalanza = new Datos.Repositorio.RepositorioBalanza();
            decimal itemVenta = itemNumber;

            if (tipoItem == 1)
            {
                Datos.Paridad paridad = repositorioBalanza.ObtieneParidad(itemNumber);
                if (paridad == null)
                {
                    return new ResultadoProceso {
                               EstadoResutado = 1, Item = itemNumber
                    }
                }
                ;
                itemVenta = paridad.Item_Venta;
            }
            Datos.Item_Padre itemPadre = repositorioBalanza.ObtieneItemPadre(itemVenta);
            if (itemPadre == null)
            {
                return new ResultadoProceso {
                           EstadoResutado = 2, Item = itemVenta
                }
            }
            ;

            repositorioBalanza.CargaBarras(itemPadre, stroreNBR, decimal.Parse(origen), origenFrigorifico, certificadoEmbarque, fechaFaena, pesaNeto, pesaBruto, barraLarga, responsable);
            return(new ResultadoProceso {
                EstadoResutado = 0, Item = itemPadre.OLD_NBR
            });
        }