public ExpensesReportVerticalRpt GetInformeGastoVerticalListReport(ExpenseList list,
                                                                           ExpedienteList expedientes,
                                                                           ReportFilter filter,
                                                                           InputDeliveryLineList conceptos)
        {
            if (list == null)
            {
                return(null);
            }

            ExpensesReportVerticalRpt doc = new ExpensesReportVerticalRpt();

            List <ResumenGastoPrint> pList     = new List <ResumenGastoPrint>();
            InputDeliveryList        albaranes = InputDeliveryList.GetList(false);

            foreach (ExpedientInfo item in expedientes)
            {
                if (filter.SoloIncompletos)
                {
                    if (list.ExpedienteIsComplete(item.Oid))
                    {
                        continue;
                    }
                }

                ResumenGastoPrint registro = ResumenGastoPrint.New(item, list, conceptos, albaranes);

                if (registro.Proveedor != null ||
                    registro.Naviera != null ||
                    registro.Despachante != null ||
                    registro.TransportistaDestino != null ||
                    registro.TransportistaOrigen != null)
                {
                    pList.Add(registro);
                }
            }

            doc.SetDataSource(pList);

            FormatHeader(doc);

            return(doc);
        }
Esempio n. 2
0
        public ExpedienteGaListRpt GetGaListReport(ExpedienteList list)
        {
            if (list.Count == 0)
            {
                return(null);
            }

            List <ExpedientePrint> pList = new List <ExpedientePrint>();

            foreach (ExpedientInfo item in list)
            {
                pList.Add(ExpedientePrint.New(item));
            }

            ExpedienteGaListRpt doc = new ExpedienteGaListRpt();

            doc.SetDataSource(pList);
            doc.SetParameterValue("Empresa", Schema.Name);
            doc.SetParameterValue("Filter", Filter);

            return(doc);
        }
Esempio n. 3
0
        public new static IAgenteHipatiaList GetAgentes(EntidadInfo entidad)
        {
            IAgenteHipatiaList lista = new IAgenteHipatiaList(new List <IAgenteHipatia>());

            if (entidad.Tipo == typeof(Almacen).Name)
            {
                StoreList list = StoreList.GetList(false);

                foreach (StoreInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Despachante).Name)
            {
                DespachanteList list = DespachanteList.GetList(false);

                foreach (DespachanteInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Employee).Name)
            {
                EmployeeList list = EmployeeList.GetList(false);

                foreach (EmployeeInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Expedient).Name)
            {
                ExpedienteList list = ExpedienteList.GetList(false);

                foreach (ExpedientInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(InputInvoice).Name)
            {
                InputInvoiceList list = InputInvoiceList.GetList(false);

                foreach (InputInvoiceInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(LineaFomento).Name)
            {
                LineaFomentoList list = LineaFomentoList.GetList(false);

                foreach (LineaFomentoInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Naviera).Name)
            {
                NavieraList list = NavieraList.GetList(false);

                foreach (NavieraInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Payment).Name)
            {
                PaymentList list = PaymentList.GetList(false);

                foreach (PaymentInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Product).Name)
            {
                ProductList list = ProductList.GetList(false);

                foreach (ProductInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Proveedor).Name)
            {
                ProveedorList list = ProveedorList.GetList(false);

                foreach (ProveedorInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Transporter).Name)
            {
                TransporterList list = TransporterList.GetList(false);

                foreach (TransporterInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else
            {
                throw new iQException("No se ha encontrado el tipo de entidad " + entidad.Tipo);
            }

            return(lista);
        }
        public ExpensesReportRpt GetInformeGastoListReport(ExpenseList list,
                                                           ExpedienteList expedients,
                                                           ReportFilter filter,
                                                           ReportFormat format)
        {
            if (list == null)
            {
                return(null);
            }

            ExpensesReportRpt doc = new ExpensesReportRpt();

            List <GastoPrint> pList = new List <GastoPrint>();

            //long oid_exp = 0;

            foreach (ExpenseInfo item in list)
            {
                if (filter.SoloIncompletos)
                {
                    if (list.ExpedienteIsComplete(item.OidExpediente))
                    {
                        continue;
                    }
                }

                pList.Add(GastoPrint.New(item));

                //if ((oid_exp != item.OidExpediente) && (item.OidExpediente != 0))
                //{
                //    oid_exp = item.OidExpediente;

                //    ExpedienteInfo expediente = expedientes.GetItem(item.OidExpediente);

                //    CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.Naviera, expediente, list, pList);
                //    CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.Despachante, expediente, list, pList);
                //    CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.TransportistaOrigen, expediente, list, pList);
                //    CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.TransportistaDestino, expediente, list, pList);
                //    CheckGasto(ECategoriaGasto.Stock, ETipoAcreedor.Proveedor, expediente, list, pList);
                //}
            }

            //foreach (ExpedienteInfo item in expedientes)
            //{
            //    if (!list.ExistsExpediente(item.Oid))
            //    {
            //        CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.Naviera, item, list, pList);
            //        CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.Despachante, item, list, pList);
            //        CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.TransportistaOrigen, item, list, pList);
            //        CheckGasto(ECategoriaGasto.GeneralesExpediente, ETipoAcreedor.TransportistaDestino, item, list, pList);
            //        CheckGasto(ECategoriaGasto.Stock, ETipoAcreedor.Proveedor, item, list, pList);
            //    }
            //}

            doc.SetDataSource(pList);

            FormatHeader(doc);
            FormatReport(doc, filter, format);

            return(doc);
        }
        public PaymentsReportRpt GetInformeControlPagosReport(InputInvoiceList facturas,
                                                              ExpedienteList expedientes,
                                                              PaymentSummaryList resumen,
                                                              ReportFilter filter,
                                                              ReportFormat format)
        {
            List <ExpedientInfo> explist = new List <ExpedientInfo>();

            foreach (ExpedientInfo exp in expedientes)
            {
                if ((filter.exp_inicial.Length == 0 || exp.Codigo.CompareTo(filter.exp_inicial) >= 0) &&
                    (filter.exp_final.Length == 0 || exp.Codigo.CompareTo(filter.exp_final) <= 0))
                {
                    explist.Add(exp);
                }
            }

            List <ControlPagosPrint> lista = new List <ControlPagosPrint>();
            ExpedientInfo            obj   = null;
            DateTime fecha_pago            = DateTime.MinValue;

            string oidS = string.Empty;
            long   oid  = 0;

            foreach (InputInvoiceInfo item in facturas)
            {
                if (!CompFechas(filter, item.Prevision, item.FechaPagoFactura))
                {
                    continue;
                }
                if ((filter.tipo == EPagos.Pagados) && !item.Pagada)
                {
                    continue;
                }
                if ((filter.tipo == EPagos.Pendientes) && item.Pagada)
                {
                    continue;
                }

                switch (filter.tipo_informe)
                {
                case ETipoInforme.Despachante:

                    if (item.ETipoAcreedor != ETipoAcreedor.Despachante)
                    {
                        continue;
                    }

                    if (filter.objeto_detallado != null)
                    {
                        if (!item.OidAcreedor.Equals(((DespachanteInfo)filter.objeto_detallado).Oid))
                        {
                            continue;
                        }
                    }

                    obj  = expedientes.GetItem(item.OidExpediente);
                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;

                case ETipoInforme.Naviera:

                    if (item.ETipoAcreedor != ETipoAcreedor.Naviera)
                    {
                        continue;
                    }

                    if (filter.objeto_detallado != null)
                    {
                        if (!item.OidAcreedor.Equals(((NavieraInfo)filter.objeto_detallado).Oid))
                        {
                            continue;
                        }
                    }

                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);

                    obj = expedientes.GetItem(item.OidExpediente);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;

                case ETipoInforme.Proveedor:

                    if (item.ETipoAcreedor != ETipoAcreedor.Proveedor)
                    {
                        continue;
                    }

                    obj = expedientes.GetItem(item.OidExpediente);

                    if (filter.objeto_detallado != null)
                    {
                        if (!item.OidAcreedor.Equals(((ProveedorInfo)filter.objeto_detallado).Oid))
                        {
                            continue;
                        }
                    }

                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);

                    obj = expedientes.GetItem(item.OidExpediente);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;

                case ETipoInforme.TransportistaDestino:

                    if (item.ETipoAcreedor != ETipoAcreedor.TransportistaDestino)
                    {
                        continue;
                    }

                    if (filter.objeto_detallado != null)
                    {
                        if (item.OidAcreedor.Equals(((Transporter)filter.objeto_detallado).Oid))
                        {
                            continue;
                        }
                    }

                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);

                    obj = expedientes.GetItem(item.OidExpediente);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;

                case ETipoInforme.TransportistaOrigen:

                    if (item.ETipoAcreedor != ETipoAcreedor.TransportistaOrigen)
                    {
                        continue;
                    }

                    if (filter.objeto_detallado != null)
                    {
                        if (item.OidAcreedor.Equals(((TransporterInfo)filter.objeto_detallado).Oid))
                        {
                            continue;
                        }
                    }

                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);

                    obj = expedientes.GetItem(item.OidExpediente);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;

                case ETipoInforme.Todos:

                    oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString();
                    oid  = Convert.ToInt64(oidS);

                    obj = expedientes.GetItem(item.OidExpediente);
                    lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid)));

                    break;
                }
            }

            PaymentsReportRpt doc = new PaymentsReportRpt();

            if (format.Vista == EReportVista.Resumido)
            {
                doc.TitulosDetalle.SectionFormat.EnableSuppress = true;
                doc.Detalle.SectionFormat.EnableSuppress        = true;
                doc.GHElemento.SectionFormat.EnableSuppress     = true;
                doc.ReportDefinition.ReportObjects["SubtotalesAcreedorLB"].ObjectFormat.EnableSuppress = true;
            }
            else
            {
                doc.TitulosResumido.SectionFormat.EnableSuppress = true;
                doc.ReportDefinition.ReportObjects["NombreAcreedor"].ObjectFormat.EnableSuppress = true;
            }

            doc.SetDataSource(lista);

            FormatHeader(doc);

            return(doc);
        }
Esempio n. 6
0
        public MovimientosStockListPorExpedienteRpt GetMovimientosStockListAgrupado(ExpedienteList items,
                                                                                    ProductInfo producto,
                                                                                    SerieInfo serie,
                                                                                    ReportFilter filter,
                                                                                    ReportFormat format)
        {
            MovimientosStockListPorExpedienteRpt doc = new MovimientosStockListPorExpedienteRpt();
            List <ExpedientePrint> pList             = new List <ExpedientePrint>();
            List <StockPrint>      movs = new List <StockPrint>();
            StockList stocks            = null;

            int movsCount = 0;

            foreach (ExpedientInfo item in items)
            {
                if (filter.SoloStock)
                {
                    if ((item.StockKilos == 0) || (item.StockBultos == 0))
                    {
                        continue;
                    }
                }

                movsCount = movs.Count;
                stocks    = (item.Stocks == null) ? StockList.GetListByExpediente(item.Oid, false) : item.Stocks;
                foreach (StockInfo stock in stocks)
                {
                    if (filter.SoloMermas)
                    {
                        if ((stock.OidAlbaran != 0) || (stock.Kilos >= 0))
                        {
                            continue;
                        }
                    }

                    if ((filter.FechaIni <= stock.Fecha) && (stock.Fecha <= filter.FechaFin))
                    {
                        if ((producto == null) && (serie == null))
                        {
                            movs.Add(StockPrint.New(stock));
                        }
                        else if (producto != null)
                        {
                            if ((producto.Oid == stock.OidProducto) && (serie == null))
                            {
                                movs.Add(StockPrint.New(stock));
                            }
                            else if ((producto.Oid == stock.OidProducto) && (serie.Oid == stock.OidSerie))
                            {
                                movs.Add(StockPrint.New(stock));
                            }
                        }
                        else if (serie.Oid == stock.OidSerie)
                        {
                            movs.Add(StockPrint.New(stock));
                        }
                    }
                }

                if (movsCount < movs.Count)
                {
                    pList.Add(item.GetPrintObject());
                }
            }

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (movs.Count <= 0)
            {
                return(null);
            }

            doc.SetDataSource(pList);
            doc.Subreports["StocksSubReport"].SetDataSource(movs);

            FormatHeader(doc);
            FormatReport(doc, filter, format);

            return(doc);
        }