Ejemplo n.º 1
0
        public static void getSalidaOC(string FilePath, string[] TemplatePath, Salida_orden_carga o, DataSet ds)
        {
            try
            {
                List <string> files    = new List <string>();
                int           idSalida = 0;
                string        fileName = string.Empty;
                Salida        oS       = new Salida();
                foreach (Salida_orden_carga_rem item in o.LstRem)
                {
                    if (idSalida != item.Id_salida)
                    {
                        idSalida = Convert.ToInt32(item.Id_salida);
                        fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                        oS       = SalidaCtrl.SalidaGetAllDataById(idSalida);
                        getSalida(fileName, TemplatePath[0], oS, ds);
                        files.Add(fileName);
                    }
                }
                fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                getSalidaOCTransCondicion(fileName, TemplatePath[1], o, oS, ds);
                files.Add(fileName);

                DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public static void getEntradaAlm(string FilePath, string TemplatePath, string TemplatePathPallet, Entrada oE, DataSet ds, bool withDetail = true)
        {
            try
            {
                List <string> files    = new List <string>();
                string        fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";

                fillEntradaAlm(fileName, TemplatePath, oE, ds);
                files.Add(fileName);

                if (withDetail)
                {
                    int maxTar = oE.PLstTarAlm.Count;

                    for (int indTar = 1; indTar <= maxTar; indTar += 4)
                    {
                        //oTA1 = oE.PLstTarAlm[indTar - 1];

                        //if (indTar < oE.PLstTarAlm.Count)
                        //    oTA2 = oE.PLstTarAlm[indTar];
                        //else
                        //    oTA2 = new Tarima_almacen();

                        Tarima_almacen oTA1 = new Tarima_almacen();
                        Tarima_almacen oTA2 = new Tarima_almacen();
                        Tarima_almacen oTA3 = new Tarima_almacen();
                        Tarima_almacen oTA4 = new Tarima_almacen();

                        oTA1 = oE.PLstTarAlm[indTar - 1];
                        if (indTar < maxTar)
                        {
                            oTA2 = oE.PLstTarAlm[indTar];
                        }
                        if (indTar + 1 < maxTar)
                        {
                            oTA3 = oE.PLstTarAlm[indTar + 1];
                        }
                        if (indTar + 2 < maxTar)
                        {
                            oTA4 = oE.PLstTarAlm[indTar + 2];
                        }

                        fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                        fillEntradaAlmTar(fileName, TemplatePathPallet, oTA1, oTA2, oTA3, oTA4, oE);
                        files.Add(fileName);
                    }
                }

                DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
        //public static void getSalidaAlm(string FilePath, string TemplatePath, Salida oS)
        //{
        //    try
        //    {
        //        List<string> files = new List<string>();
        //        string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
        //        fillSalidaAlm(fileName, TemplatePath, oS);
        //        files.Add(fileName);

        //        fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
        //        ExportToPdf(oS.PLstTarAlm, fileName, oS.Folio);
        //        files.Add(fileName);

        //        DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
        //    }
        //    catch (Exception)
        //    {

        //        throw;
        //    }
        //}

        //private static void fillSalidaAlm(string FilePath, string TemplatePath, Salida oS)
        //{
        //    try
        //    {
        //        PdfReader reader = new PdfReader(TemplatePath);
        //        PdfStamper stamper = new PdfStamper(reader, new FileStream(FilePath, FileMode.Create));
        //        AcroFields fields = stamper.AcroFields;

        //        // set form fields

        //        fields.SetField("BodegaDireccion", oS.PBodega.Direccion);
        //        fields.SetField("Bodega", oS.PBodega.Nombre);
        //        fields.SetField("Cortina", oS.PCortina.Nombre);
        //        fields.SetField("Folio", oS.Folio + oS.Folio_indice);

        //        CultureInfo ci = new CultureInfo("es-MX");

        //        fields.SetField("Fecha", oS.Fecha.ToString("dd \\de MMM \\de yyyy", ci));
        //        fields.SetField("Hora", oS.Hora_salida.ToString());

        //        fields.SetField("Cliente", oS.PCliente.Razon);
        //        fields.SetField("Destino", oS.Destino);

        //        fields.SetField("DocRef", oS.Referencia);

        //        fields.SetField("Mercancia", oS.Mercancia);

        //        fields.SetField("Transporte", oS.PTransporte.Nombre);
        //        fields.SetField("TipoTransporte", oS.PTransporteTipo.Nombre);
        //        string strPlaca = string.Empty;
        //        if (string.Compare(oS.Placa, "N.A.") != 0)
        //        {
        //            strPlaca = "Placa: " + oS.Placa;
        //            if (string.Compare(oS.Caja, "N.A.") != 0)
        //                strPlaca += ", Caja: " + oS.Caja;
        //            if (string.Compare(oS.Caja1, "N.A.") != 0)
        //            {
        //                strPlaca += ", Cont. 1: " + oS.Caja1;
        //                if (string.Compare(oS.Caja2, "N.A.") != 0)
        //                    strPlaca += ", Cont. 2: " + oS.Caja2;
        //            }
        //            fields.SetField("Placas", strPlaca);
        //        }

        //        for (int iSTC = 1; iSTC <= oS.PLstSalTransCond.Count; iSTC++)
        //        {
        //            Salida_transporte_condicion oSTC = oS.PLstSalTransCond[iSTC - 1];
        //            fields.SetField(iSTC.ToString() + "_" + (oSTC.Si_no ? "si" : "no"), "X");
        //        }

        //        fields.SetField("Sello", oS.Sello);
        //        fields.SetField("Talon", oS.Talon);
        //        fields.SetField("Custodia", oS.PCustodia.Nombre);
        //        fields.SetField("Operador", oS.Operador);

        //        //fields.SetField("DocAnexos", "SIN DOCUMENTOS");
        //        //StringBuilder sbDocAnexos = new StringBuilder();
        //        //foreach (Salida_documento oSD in oS.PLstSalDoc)
        //        //{
        //        //    sbDocAnexos.Append(oSD.PDocumento.Nombre + ": " + oSD.Referencia).AppendLine();
        //        //}
        //        //if (sbDocAnexos.Length > 0)
        //        //    fields.SetField("DocAnexos", sbDocAnexos.ToString());


        //        //StringBuilder sbCompartida = new StringBuilder();
        //        //int saltoCompartida = 1;
        //        //foreach (Salida_compartida oSC in oS.PLstSalComp)
        //        //{
        //        //    if (string.Compare(oS.Referencia, oSC.Referencia) != 0)
        //        //    {
        //        //        sbCompartida.Append(oSC.Referencia);
        //        //        if (saltoCompartida % 2 == 0)
        //        //        {
        //        //            sbCompartida.AppendLine();
        //        //            saltoCompartida = 0;
        //        //        }
        //        //        else
        //        //            sbCompartida.Append(", ");
        //        //        saltoCompartida++;
        //        //    }
        //        //}

        //        //if (sbCompartida.Length == 0)
        //        //    fields.SetField("Compartida", "NO COMPARTIDA");
        //        //else
        //        //    fields.SetField("Compartida", sbCompartida.ToString().Substring(0, sbCompartida.ToString().Length - 2));

        //        fields.SetField("total_tarimas", oS.PLstTarAlm.Count.ToString());

        //        StringBuilder sbCodigos = new StringBuilder();
        //        IEnumerable<Tarima_almacen> lstDifCodigos = oS.PLstTarAlm.Distinct(new Tarima_almacenComparerCodigos());
        //        foreach (Tarima_almacen itemCodDif in lstDifCodigos)
        //        {
        //            sbCodigos.Append(itemCodDif.Mercancia_codigo);
        //            sbCodigos.Append(", ");
        //        }
        //        fields.SetField("docCodigos", sbCodigos.ToString().Substring(0, sbCodigos.ToString().Length - 2));

        //        //fields.SetField("Bultos", oS.No_bulto.ToString());
        //        //fields.SetField("Piezas", oS.No_pieza.ToString());

        //        //string NoSalida = string.Empty;
        //        //if (oS.PSalPar != null && oS.PSalPar.Id > 0)
        //        //{
        //        //    fields.SetField("SalidaParcial", "X");
        //        //    fields.SetField("NoSalida", oS.PSalPar.No_salida.ToString());
        //        //    if (oS.PSalPar.Es_ultima)
        //        //        fields.SetField("UltimaParcial", "X");
        //        //}
        //        //else
        //        //    fields.SetField("SalidaUnica", "X");

        //        fields.SetField("Almacen", oS.PUsuario.Nombre);
        //        fields.SetField("Vigilante", oS.Vigilante);
        //        fields.SetField("Observaciones", oS.Observaciones);

        //        stamper.FormFlattening = true;
        //        stamper.Close();
        //        reader.Close();
        //    }
        //    catch (Exception)
        //    {

        //        throw;
        //    }
        //}

        //public static void ExportToPdf(List<Tarima_almacen> lst, string FilePath, string folioSalida)
        //{
        //    Document document = new Document(PageSize.LEGAL, 20f, 20f, 55f, 20f);
        //    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(FilePath, FileMode.Create));
        //    document.Open();

        //    _events evtHeader = new _events("Folio:" + folioSalida);
        //    writer.PageEvent = evtHeader;


        //    iTextSharp.text.Font font = iTextSharp.text.FontFactory.GetFont(FontFactory.COURIER_BOLD, 6);

        //    PdfPTable table = new PdfPTable(6);


        //    //PdfPRow row = null;
        //    float[] widths = new float[] { 1.5f, 2f, 2f, 6f, 2f, 2f };

        //    table.SetWidths(widths);
        //    table.WidthPercentage = 100;
        //    table.SpacingAfter = 20;
        //    //int iCol = 0;
        //    //string colname = "";
        //    PdfPCell cell = new PdfPCell(new Phrase("Products"));

        //    cell.Colspan = 6;
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("RENGLÓN", font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("CODIGO", font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("PALLET", font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("MERCANCÍA", font), HorizontalAlignment = PdfPCell.ALIGN_LEFT });
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("ESTÁNDAR", font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //    table.AddCell(new PdfPCell() { Phrase = new Phrase("RR", font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });

        //    for (int indTA = 0; indTA < lst.Count; indTA++ )
        //    {
        //        Tarima_almacen itemTA = lst[indTA];
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase((indTA + 1).ToString(), font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase(itemTA.Mercancia_codigo, font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase(itemTA.Folio, font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase(itemTA.Mercancia_nombre, font), HorizontalAlignment = PdfPCell.ALIGN_LEFT });
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase(itemTA.Estandar, font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //        table.AddCell(new PdfPCell() { Phrase = new Phrase(itemTA.Rr, font), HorizontalAlignment = PdfPCell.ALIGN_CENTER });
        //    }

        //    document.Add(table);
        //    document.Close();
        //}

        #region Salida Almacen

        public static void getSalidaAlm(string FilePath, string TemplatePath, Salida oS, DataSet ds)
        {
            try
            {
                List <string> files    = new List <string>();
                string        fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";

                fillSalidaAlm(fileName, TemplatePath, oS, ds);
                files.Add(fileName);

                fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                fillSalidaAlmTar(fileName, TemplatePath, oS, ds);
                files.Add(fileName);

                DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
            }
            catch
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        //public static void buildOrdenCarga(string FilePath, string TemplatePath, Salida_orden_carga o)
        //{
        //    try
        //    {
        //        PdfReader reader = new PdfReader(TemplatePath);
        //        PdfStamper stamper = new PdfStamper(reader, new FileStream(FilePath, FileMode.Create));
        //        AcroFields fields = stamper.AcroFields;


        //        // set form fields

        //        fields.SetField("folio", o.Folio_orden_carga);
        //        fields.SetField("lblFolio", "FOLIO CARGA");

        //        CultureInfo ci = new CultureInfo("es-MX");
        //        fields.SetField("fecha_solicitud", o.Fecha_solicitud.ToString("dddd, dd \\de MMMM \\de yyyy", ci));
        //        fields.SetField("fecha_carga_solicitada", o.Fecha_carga_solicitada.ToString("dddd, dd \\de MMMM \\de yyyy", ci));
        //        fields.SetField("hora_carga_solicitada", o.Hora_carga_solicitada);
        //        fields.SetField("fecha_cita", o.Fecha_cita.ToString("dddd, dd \\de MMMM \\de yyyy", ci));
        //        fields.SetField("hora_cita", o.Hora_cita);

        //        fields.SetField("tipo_carga", o.TipoCarga);
        //        //addBarCodes(stamper, o.Folio_orden_carga);

        //        IEnumerable<Salida_orden_carga_rem> lstDifPedimentos = o.LstRem.Distinct(new OrdeCargaRemComparer());
        //        int countDifPedimentos = 0;
        //        foreach (var salOrdCarRem in lstDifPedimentos)
        //        {
        //            countDifPedimentos++;
        //        }

        //        o.TipoEnvio = (countDifPedimentos > 1 ? "COMPARTIDO" : "INDIVIDUAL");
        //        fields.SetField("tipo_envio", o.TipoEnvio);
        //        fields.SetField("destino", o.Destino);

        //        for (int iRem = 0; iRem < o.LstRem.Count; iRem++)
        //        {
        //            Salida_orden_carga_rem oRem = o.LstRem[iRem];
        //            fields.SetField("remision_" + iRem.ToString(), oRem.PSalRem.Folio_remision);
        //            fields.SetField("referencia_" + iRem.ToString(), oRem.PSalRem.Referencia);
        //            fields.SetField("codigo_" + iRem.ToString(), oRem.PSalRem.Codigo);
        //            fields.SetField("orden_" + iRem.ToString(), oRem.PSalRem.Orden);
        //        }

        //        fields.SetField("lineaTransporte", o.Transporte);
        //        fields.SetField("tipoTransporte", o.TipoTransporte);

        //        stamper.FormFlattening = true;
        //        stamper.Close();
        //        reader.Close();

        //        //addBarCodes(FilePath, oSR);
        //    }
        //    catch (Exception)
        //    {

        //        throw;
        //    }
        //}

        public static void getOrdenCarga(string FilePath, string TemplatePath, Salida_orden_carga o)
        {
            try
            {
                List <string> files         = new List <string>();
                int           noPag         = o.LstRem.Count / Globals.ORDEN_CARGA_CANT_REM_X_HOJA;
                int           ultPag        = o.LstRem.Count % Globals.ORDEN_CARGA_CANT_REM_X_HOJA;
                int           noRemImpresas = 0;
                for (int i = 0; i <= noPag; i++)
                {
                    string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                    List <Salida_orden_carga_rem> lst = o.LstRem.GetRange(noRemImpresas, i == noPag ? ultPag : Globals.ORDEN_CARGA_CANT_REM_X_HOJA);
                    buildOrdenCarga(fileName, TemplatePath, o, lst);
                    files.Add(fileName);
                    noRemImpresas += Globals.ORDEN_CARGA_CANT_REM_X_HOJA;
                }

                DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 5
0
        public static void getSalida(string path, string rptPath, Salida oS, DataSet ds)
        {
            try
            {
                CultureInfo    ci      = new CultureInfo("es-MX");
                ReportDocument reporte = new ReportDocument();
                reporte.Load(rptPath);

                foreach (Salida_documento oSD in oS.PLstSalDoc)
                {
                    DataRow dr = ds.Tables["entsaldoc"].NewRow();
                    dr["documento"]  = oSD.PDocumento.Nombre;
                    dr["referencia"] = oSD.Referencia;
                    ds.Tables["entsaldoc"].Rows.Add(dr);
                }
                reporte.Subreports[0].SetDataSource(ds.Tables["entsaldoc"]);
                #region Datos de la entrada
                reporte.SetParameterValue("direccion_bodega", oS.PBodega.Direccion);
                reporte.SetParameterValue("bodega", oS.PBodega.Nombre);
                reporte.SetParameterValue("cortina", oS.PCortina.Nombre);
                reporte.SetParameterValue("cliente", oS.PCliente.Razon);
                reporte.SetParameterValue("folio", oS.Folio + oS.Folio_indice);
                reporte.SetParameterValue("fecha", oS.Fecha.ToString("dd \\de MMM \\de yyyy", ci));
                reporte.SetParameterValue("hora", oS.Hora_salida.ToString());
                reporte.SetParameterValue("destino", oS.Destino);
                //reporte.SetParameterValue("tipoEntrada", "Entrada Única");
                #endregion

                #region Datos de la mercancia
                reporte.SetParameterValue("documento", oS.Referencia);
                reporte.SetParameterValue("mercancia", oS.Mercancia);
                reporte.SetParameterValue("pallet", oS.No_pallet.ToString());
                reporte.SetParameterValue("bulto", oS.No_bulto.ToString());
                reporte.SetParameterValue("pieza", oS.No_pieza.ToString());

                reporte.SetParameterValue("unica", "---");
                reporte.SetParameterValue("parcial", "---");
                reporte.SetParameterValue("no_parcial", "---");
                reporte.SetParameterValue("es_ultima", "---");
                string NoSalida = string.Empty;
                if (oS.PSalPar != null && oS.PSalPar.Id > 0)
                {
                    reporte.SetParameterValue("parcial", "X");
                    reporte.SetParameterValue("no_parcial", oS.PSalPar.No_salida.ToString());
                    if (oS.PSalPar.Es_ultima)
                    {
                        reporte.SetParameterValue("es_ultima", "X");
                    }
                }
                else
                {
                    reporte.SetParameterValue("unica", "X");
                }
                #endregion

                #region Documentos Salida
                StringBuilder sbCompartida    = new StringBuilder();
                int           saltoCompartida = 1;
                foreach (Salida_compartida oSC in oS.PLstSalComp)
                {
                    if (string.Compare(oS.Referencia, oSC.Referencia) != 0)
                    {
                        sbCompartida.Append(oSC.Referencia);
                        if (saltoCompartida % 2 == 0)
                        {
                            sbCompartida.AppendLine();
                            saltoCompartida = 0;
                        }
                        else
                        {
                            sbCompartida.Append(", ");
                        }
                        saltoCompartida++;
                    }
                }

                if (sbCompartida.Length == 0)
                {
                    reporte.SetParameterValue("compartidas", "NO COMPARTIDA");
                }
                else
                {
                    reporte.SetParameterValue("compartidas", sbCompartida.ToString().Substring(0, sbCompartida.ToString().Length - 2));
                }

                #endregion

                #region Datos del Transporte

                StringBuilder sbET = new StringBuilder();

                sbET.Append(oS.PTransporte.Nombre + ", Tipo: " + oS.PTransporteTipo.Nombre);

                string strPlaca = string.Empty;
                if (string.Compare(oS.Placa, "N.A.") != 0)
                {
                    strPlaca = "Placa: " + oS.Placa;
                    if (string.Compare(oS.Caja, "N.A.") != 0)
                    {
                        strPlaca += ", Caja: " + oS.Caja;
                    }
                    if (string.Compare(oS.Caja1, "N.A.") != 0)
                    {
                        strPlaca += ", Cont. 1: " + oS.Caja1;
                        if (string.Compare(oS.Caja2, "N.A.") != 0)
                        {
                            strPlaca += ", Cont. 2: " + oS.Caja2;
                        }
                    }
                    sbET.Append(" " + strPlaca);
                }

                reporte.SetParameterValue("transporte", sbET.ToString());
                reporte.SetParameterValue("sello", oS.Sello);
                reporte.SetParameterValue("custodia", oS.PCustodia.Nombre);

                #endregion

                #region Otros Datos

                //reporte.SetParameterValue("horaDescarga", oS.Hora_descarga.ToString());
                //reporte.SetParameterValue("tipoDescarga", oS.PTipoCarga.Nombre);
                reporte.SetParameterValue("observaciones", oS.Observaciones.Length == 0 ? "--- Sin observaciones ---" : oS.Observaciones);

                #endregion

                #region Firmas

                reporte.SetParameterValue("operador", oS.Operador);
                reporte.SetParameterValue("usuario", oS.PUsuario.Nombre);
                reporte.SetParameterValue("vigilante", oS.Vigilante);

                #endregion

                List <string> files    = new List <string>();
                string        fileName = string.Empty;

                foreach (Cliente_copia itemCC in oS.PLstCCopia)
                {
                    fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                    reporte.SetParameterValue("copiaPara", itemCC.Nombre);
                    reporte.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, fileName);
                    files.Add(fileName);
                }

                DocConcat.ConcatPdfFiles(files.ToArray(), path);

                // reporte.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
            }
            catch
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        public static void getEntrada(string FilePath, string rptPath, Entrada oE, DataSet ds)
        {
            try
            {
                int            bultoRecibido = 0;
                CultureInfo    ci            = new CultureInfo("es-MX");
                ReportDocument reporte       = new ReportDocument();
                reporte.Load(rptPath);

                foreach (Entrada_documento oED in oE.PLstEntDoc)
                {
                    DataRow dr = ds.Tables["entsaldoc"].NewRow();
                    dr["documento"]  = oED.PDocumento.Nombre;
                    dr["referencia"] = oED.Referencia;
                    ds.Tables["entsaldoc"].Rows.Add(dr);
                }
                reporte.Subreports[0].SetDataSource(ds.Tables["entsaldoc"]);
                #region Datos de la entrada
                reporte.SetParameterValue("direccion_bodega", oE.PBodega.Direccion);
                reporte.SetParameterValue("bodega", oE.PBodega.Nombre);
                reporte.SetParameterValue("cortina", oE.Cortina);
                reporte.SetParameterValue("cliente", oE.Cliente);
                reporte.SetParameterValue("folio", oE.Folio + oE.Folio_indice);
                reporte.SetParameterValue("fecha", oE.Fecha.ToString("dd \\de MMM \\de yyyy", ci));
                reporte.SetParameterValue("hora", oE.Hora.ToString());
                reporte.SetParameterValue("origen", oE.Origen);
                reporte.SetParameterValue("tipoEntrada", "Entrada Única");
                #endregion

                #region Datos de la mercancia
                reporte.SetParameterValue("documento", oE.Referencia);
                reporte.SetParameterValue("mercancia", oE.Mercancia);
                reporte.SetParameterValue("pallet", oE.No_pallet.ToString());
                reporte.SetParameterValue("caja_declarada", oE.No_bulto_declarado.ToString());
                reporte.SetParameterValue("caja_recibida", oE.No_bulto_recibido.ToString());

                reporte.SetParameterValue("cajaxrecibir", 0);
                reporte.SetParameterValue("piezaxrecibir", 0);

                bultoRecibido = oE.No_bulto_recibido;

                reporte.SetParameterValue("tipoEntrada", "Única");
                reporte.SetParameterValue("no_entrada", string.Empty);

                if (oE.PEntPar != null)
                {
                    if (oE.PEntPar.No_entrada > 0)
                    {
                        reporte.SetParameterValue("tipoEntrada", "Parcial");
                        reporte.SetParameterValue("no_entrada", "No: " + oE.PEntPar.No_entrada.ToString() + (oE.PEntPar.Es_ultima ? " - Última" : string.Empty));
                        reporte.SetParameterValue("cajaxrecibir", Convert.ToString(oE.No_bulto_declarado - oE.No_bulto_recibido));
                        Entrada_parcial oEP = EntradaCtrl.ParcialGetByReferencia(oE.Referencia, true, oE.Id);
                        int             piezasPorRecibir = oE.No_pieza_declarada - oEP.No_pieza_recibidas;
                        reporte.SetParameterValue("piezaxrecibir", piezasPorRecibir.ToString());
                        bultoRecibido = oEP.No_bulto_recibido;
                    }
                }
                int diferenciaBulto = oE.No_bulto_declarado - bultoRecibido;
                reporte.SetParameterValue("caja_sobrante", "0");
                reporte.SetParameterValue("caja_faltante", "0");
                if (diferenciaBulto > 0)
                {
                    reporte.SetParameterValue("caja_faltante", diferenciaBulto.ToString());
                }
                if (diferenciaBulto < 0)
                {
                    reporte.SetParameterValue("caja_sobrante", Math.Abs(diferenciaBulto).ToString());
                }

                if (oE.PEntPar != null && oE.PEntPar.Id > 0)
                {
                    if (!oE.PEntPar.Es_ultima)
                    {
                        reporte.SetParameterValue("caja_faltante", 0);
                    }
                    else
                    {
                        reporte.SetParameterValue("cajaxrecibir", 0);
                        reporte.SetParameterValue("piezaxrecibir", 0);
                    }
                }

                reporte.SetParameterValue("cajadanada", oE.No_bulto_danado.ToString());
                reporte.SetParameterValue("cajaabierta", oE.No_bulto_abierto.ToString());
                reporte.SetParameterValue("pieza_declarada", oE.No_pieza_declarada.ToString());
                reporte.SetParameterValue("pieza_recibida", oE.No_pieza_recibida.ToString());
                #endregion

                #region Documentos Entrada

                StringBuilder             sbCompartida    = new StringBuilder();
                int                       saltoCompartida = 1;
                List <Entrada_compartida> lstECActive     = oE.PLstEntComp.FindAll(p => p.IsActive == true);
                foreach (Entrada_compartida oEC in lstECActive)
                {
                    if (string.Compare(oE.Referencia, oEC.Referencia) != 0)
                    {
                        sbCompartida.Append(oEC.Referencia);
                        if (saltoCompartida % 2 == 0)
                        {
                            sbCompartida.AppendLine();
                            saltoCompartida = 0;
                        }
                        else
                        {
                            sbCompartida.Append(", ");
                        }
                        saltoCompartida++;
                    }
                }

                if (sbCompartida.Length == 0)
                {
                    reporte.SetParameterValue("compartidas", "NO COMPARTIDA");
                }
                else
                {
                    reporte.SetParameterValue("compartidas", sbCompartida.ToString().Substring(0, sbCompartida.ToString().Length - 2));
                }

                #endregion

                #region Datos del Transporte

                StringBuilder sbET = new StringBuilder();
                //foreach (Entrada_transporte oET in oE.PLstEntTrans)
                //{
                //    sbET.Append("Linea: " + oET.Transporte_linea + ", Tipo: " + oET.Transporte_tipo);
                //    if (string.Compare(oET.Placa, "N.A.") != 0)
                //        sbET.Append(", Placa: " + oET.Placa);
                //    if (string.Compare(oET.Caja, "N.A.") != 0)
                //        sbET.Append(", Caja: " + oET.Caja);
                //    if (string.Compare(oET.Caja1, "N.A.") != 0)
                //        sbET.Append(", Contenedor 1: " + oET.Caja1);
                //    if (string.Compare(oET.Caja2, "N.A.") != 0)
                //        sbET.Append(", Contenedor 2: " + oET.Caja2);
                //    sbET.AppendLine();
                //}
                sbET.Append("Linea: " + oE.Transporte_linea + ", Tipo: " + oE.Transporte_tipo);
                if (string.Compare(oE.Placa, "N.A.") != 0)
                {
                    sbET.Append(", Placa: " + oE.Placa);
                }
                if (string.Compare(oE.Caja, "N.A.") != 0)
                {
                    sbET.Append(", Caja: " + oE.Caja);
                }
                if (string.Compare(oE.Caja1, "N.A.") != 0)
                {
                    sbET.Append(", Contenedor 1: " + oE.Caja1);
                }
                if (string.Compare(oE.Caja2, "N.A.") != 0)
                {
                    sbET.Append(", Contenedor 2: " + oE.Caja2);
                }
                sbET.AppendLine();

                reporte.SetParameterValue("transporte", sbET.ToString());
                reporte.SetParameterValue("sello", oE.Sello);
                reporte.SetParameterValue("custodia", oE.Custodia);

                #endregion

                #region Otros Datos

                reporte.SetParameterValue("horaDescarga", oE.Hora_descarga.ToString());
                reporte.SetParameterValue("tipoDescarga", oE.Tipo_carga);
                reporte.SetParameterValue("observaciones", "Se recibe unidad y/o contenedor sin daños o menoscabos. " + oE.Observaciones);

                #endregion

                #region Firmas

                reporte.SetParameterValue("operador", oE.Operador);
                reporte.SetParameterValue("usuario", oE.PUsuario.Nombre);
                reporte.SetParameterValue("vigilante", oE.Vigilante);

                #endregion

                List <string> files    = new List <string>();
                string        fileName = string.Empty;

                foreach (Cliente_copia itemCC in oE.PLstCCopia)
                {
                    fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                    reporte.SetParameterValue("copiaPara", itemCC.Nombre);
                    reporte.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, fileName);
                    files.Add(fileName);
                }

                DocConcat.ConcatPdfFiles(files.ToArray(), FilePath);
                //reporte.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, FilePath);
            }
            catch
            {
                throw;
            }
        }