예제 #1
0
        private Specification <Material> ObterTipoTabelaSpecification(Specification <Material> specification, string codigoCentroCusto)
        {
            var centroCusto = centroCustoRepository.ObterPeloCodigo(codigoCentroCusto);

            if (centroCusto != null)
            {
                var tipoTabela = centroCusto.TipoTabela.HasValue ? (TipoTabela)centroCusto.TipoTabela.Value : TipoTabela.Propria;
                int?anoMes     = centroCusto.AnoMes;

                if (tipoTabela != TipoTabela.Propria)
                {
                    specification &= (MaterialSpecification.EhTipoTabela(TipoTabela.Propria) ||
                                      (MaterialSpecification.EhTipoTabela(tipoTabela) &&
                                       MaterialSpecification.MatchingAnoMes(anoMes)));
                }
                else
                {
                    specification &= MaterialSpecification.EhTipoTabela(tipoTabela);
                }
            }
            else
            {
                specification &= MaterialSpecification.EhTipoTabela(TipoTabela.Propria);
            }

            return(specification);
        }
예제 #2
0
        public FileDownloadDTO Exportar(int?id, FormatoExportacaoArquivo formato)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.RequisicaoMaterialImprimir))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return(null);
            }

            var requisicao = ObterPeloIdEUsuario(id, UsuarioLogado.Id, l => l.ListaItens.Select(o => o.Material.MaterialClasseInsumo));
            relRequisicaoMaterial objRel = new relRequisicaoMaterial();

            objRel.SetDataSource(RequisicaoToDataTable(requisicao));
            objRel.Subreports["requisicaoMaterialItem"].SetDataSource(RequisicaoItemToDataTable(requisicao.ListaItens.ToList()));

            var parametros  = parametrosOrdemCompraRepository.Obter();
            var centroCusto = centroCustoRepository.ObterPeloCodigo(requisicao.CodigoCentroCusto, l => l.ListaCentroCustoEmpresa);

            var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros);

            objRel.SetParameterValue("caminhoImagem", caminhoImagem);

            var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros);

            objRel.SetParameterValue("nomeEmpresa", nomeEmpresa);

            FileDownloadDTO arquivo = new FileDownloadDTO(
                "RequisicaoMaterial_" + id.ToString(),
                objRel.ExportToStream((ExportFormatType)formato),
                formato);

            RemoverIconeRelatorio(caminhoImagem);

            return(arquivo);
        }
예제 #3
0
        public FileDownloadDTO ExportarRelNotaFiscalLiberada(RelNotaFiscalLiberadaFiltro filtro,
                                                             int?usuarioId,
                                                             FormatoExportacaoArquivo formato)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.RelNotasFiscaisLiberadasImprimir))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return(null);
            }

            var specification = MontarSpecificationRelNotaFiscalLiberada(filtro, usuarioId);

            var listaMedicao =
                contratoRetificacaoItemMedicaoRepository.ListarPeloFiltro(specification,
                                                                          l => l.Contrato.ContratoDescricao,
                                                                          l => l.Contrato.CentroCusto.ListaUsuarioCentroCusto.Select(u => u.Modulo),
                                                                          l => l.Contrato.Contratado.PessoaFisica,
                                                                          l => l.Contrato.Contratado.PessoaJuridica,
                                                                          l => l.Contrato.Contratante.PessoaFisica,
                                                                          l => l.Contrato.Contratante.PessoaJuridica,
                                                                          l => l.ContratoRetificacao,
                                                                          l => l.ContratoRetificacaoItem.Classe,
                                                                          l => l.ContratoRetificacaoItem.Servico,
                                                                          l => l.ContratoRetificacaoItem.ListaContratoRetificacaoItemImposto.Select(i => i.ImpostoFinanceiro),
                                                                          l => l.MultiFornecedor,
                                                                          l => l.ContratoRetificacaoItemCronograma,
                                                                          l => l.TipoDocumento,
                                                                          l => l.TituloPagar,
                                                                          l => l.TituloReceber).To <List <ContratoRetificacaoItemMedicao> >();

            relNotaFiscalLiberada objRel = new relNotaFiscalLiberada();

            objRel.SetDataSource(RelNotaFiscalLiberadaToDataTable(listaMedicao));

            string periodo = filtro.DataInicial.Value.ToString("dd/MM/yyyy") + "  a  " + filtro.DataFinal.Value.ToString("dd/MM/yyyy");

            var parametros  = parametrosContratoRepository.Obter();
            var centroCusto = centroCustoRepository.ObterPeloCodigo(filtro.CentroCusto.Codigo, l => l.ListaCentroCustoEmpresa);

            var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros);

            var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros);

            objRel.SetParameterValue("nomeEmpresa", nomeEmpresa);
            objRel.SetParameterValue("descricaoCentroCusto", centroCusto != null ?  centroCusto.Descricao : "");
            objRel.SetParameterValue("periodo", periodo);
            objRel.SetParameterValue("caminhoImagem", caminhoImagem);

            FileDownloadDTO arquivo = new FileDownloadDTO(
                "Rel. Nota Fiscal Liberada",
                objRel.ExportToStream((ExportFormatType)formato),
                formato);

            if (System.IO.File.Exists(caminhoImagem))
            {
                System.IO.File.Delete(caminhoImagem);
            }
            return(arquivo);
        }
예제 #4
0
        public FileDownloadDTO ExportarRelOCItensOrdemCompra(RelOcItensOrdemCompraFiltro filtro,
                                                             int?usuarioId,
                                                             FormatoExportacaoArquivo formato)
        {
            if (!UsuarioLogado.IsInRole(Funcionalidade.RelatorioItensOrdemCompraImprimir))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error);
                return(null);
            }

            var specification = MontarSpecificationRelOCItensOrdemCompra(filtro, usuarioId);

            var listaOrdemCompraItem =
                ordemCompraItemRepository.ListarPeloFiltro(specification,
                                                           l => l.Classe,
                                                           l => l.OrdemCompra.CentroCusto,
                                                           l => l.OrdemCompra.ClienteFornecedor,
                                                           l => l.Material.MaterialClasseInsumo).To <List <OrdemCompraItem> >();

            relOrdemCompraItem objRel = new relOrdemCompraItem();

            objRel.SetDataSource(RelItensOrdemCompraToDataTable(listaOrdemCompraItem));

            string periodo = " Período de: " + filtro.DataInicial.Value.ToString("dd/MM/yyyy") + " até " + filtro.DataFinal.Value.ToString("dd/MM/yyyy");

            string parametroInsumo = "Insumo: ";

            if (filtro.Material.Id.HasValue)
            {
                parametroInsumo += filtro.Material.Id.ToString() + " - " + filtro.Material.Descricao;
            }
            else
            {
                parametroInsumo += "Todos";
            }

            var    parametros           = parametrosOrdemCompraRepository.Obter();
            var    centroCusto          = centroCustoRepository.ObterPeloCodigo(filtro.CentroCusto.Codigo, l => l.ListaCentroCustoEmpresa);
            string parametroCentroCusto = "Centro de Custo: ";

            if (centroCusto != null)
            {
                parametroCentroCusto += centroCusto.Codigo + " - " + centroCusto.Descricao;
            }
            else
            {
                parametroCentroCusto += "Todos";
            }

            var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros);

            var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros);

            objRel.SetParameterValue("nomeEmpresa", nomeEmpresa);
            objRel.SetParameterValue("parCentroCusto", parametroCentroCusto);
            objRel.SetParameterValue("parPeriodo", periodo);
            objRel.SetParameterValue("parInsumo", parametroInsumo);
            objRel.SetParameterValue("caminhoImagem", caminhoImagem);

            FileDownloadDTO arquivo = new FileDownloadDTO(
                "Rel. Itens ordem de compra",
                objRel.ExportToStream((ExportFormatType)formato),
                formato);

            if (System.IO.File.Exists(caminhoImagem))
            {
                System.IO.File.Delete(caminhoImagem);
            }
            return(arquivo);
        }
예제 #5
0
 public CentroCustoDTO ObterPeloCodigo(string codigo)
 {
     return(centroCustoRepository.ObterPeloCodigo(codigo, l => l.ListaFilhos).To <CentroCustoDTO>());
 }
예제 #6
0
        public FileDownloadDTO ExportarRelOrcamento(RelOrcamentoFiltro filtro, OrcamentoDTO orcamentoDTO, FormatoExportacaoArquivo formato)
        {
            DataTable dtaRelatorio = new DataTable();

            FileDownloadDTO arquivo = new FileDownloadDTO("Rel. Orçamento ", new System.IO.MemoryStream(), formato);

            if (orcamentoDTO == null)
            {
                return(arquivo);
            }

            ParametrosOrcamento parametros = parametrosOrcamentoRepository.Obter();
            var centroCusto   = centroCustoRepository.ObterPeloCodigo(orcamentoDTO.Obra.CentroCusto.Codigo, l => l.ListaCentroCustoEmpresa);
            var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros);
            var nomeEmpresa   = ObterNomeEmpresa(centroCusto, parametros);

            if (!filtro.EhClasse)
            {
                relOrcamento objRelOrcamento = new relOrcamento();

                dtaRelatorio = RelOrcamentoToDataTable(orcamentoDTO, false);

                objRelOrcamento.SetDataSource(dtaRelatorio);

                objRelOrcamento.SetParameterValue("ComBDI", filtro.EhBDI);
                objRelOrcamento.SetParameterValue("SemDetalhamento", filtro.EhSemDetalhamento);
                objRelOrcamento.SetParameterValue("TotalBDI", filtro.BDITotal);
                objRelOrcamento.SetParameterValue("ValorTotal", filtro.PrecoTotal);
                objRelOrcamento.SetParameterValue("NomeIndice", filtro.NomeIndice);
                objRelOrcamento.SetParameterValue("Defasagem", filtro.Defasagem);
                objRelOrcamento.SetParameterValue("DataBase", filtro.DataBase);
                objRelOrcamento.SetParameterValue("CotacaoBase", filtro.CotacaoBase);
                objRelOrcamento.SetParameterValue("DataAtual", filtro.DataAtual);
                objRelOrcamento.SetParameterValue("CotacaoAtual", filtro.CotacaoAtual);
                objRelOrcamento.SetParameterValue("ValorCorrigido", filtro.EhValorCorrigido);
                objRelOrcamento.SetParameterValue("AreaConstrucaoAreaReal", filtro.AreaConstrucaoAreaReal);
                objRelOrcamento.SetParameterValue("AreaConstrucaoAreaEquivalente", filtro.AreaConstrucaoAreaEquivalente);
                objRelOrcamento.SetParameterValue("caminhoImagem", caminhoImagem);

                arquivo = new FileDownloadDTO("Rel. Orçamento", objRelOrcamento.ExportToStream((ExportFormatType)formato), formato);
            }
            else
            {
                relOrcamentoClasse objRelOrcamentoClasse = new relOrcamentoClasse();

                dtaRelatorio = RelOrcamentoToDataTable(orcamentoDTO, true);

                objRelOrcamentoClasse.SetDataSource(dtaRelatorio);

                objRelOrcamentoClasse.SetParameterValue("ComBDI", filtro.EhBDI);
                objRelOrcamentoClasse.SetParameterValue("SemDetalhamento", filtro.EhSemDetalhamento);
                objRelOrcamentoClasse.SetParameterValue("TotalBDI", filtro.BDITotal);
                objRelOrcamentoClasse.SetParameterValue("ValorTotal", filtro.PrecoTotal);
                objRelOrcamentoClasse.SetParameterValue("NomeIndice", filtro.NomeIndice);
                objRelOrcamentoClasse.SetParameterValue("Defasagem", filtro.Defasagem);
                objRelOrcamentoClasse.SetParameterValue("DataBase", filtro.DataBase);
                objRelOrcamentoClasse.SetParameterValue("CotacaoBase", filtro.CotacaoBase);
                objRelOrcamentoClasse.SetParameterValue("DataAtual", filtro.DataAtual);
                objRelOrcamentoClasse.SetParameterValue("CotacaoAtual", filtro.CotacaoAtual);
                objRelOrcamentoClasse.SetParameterValue("ValorCorrigido", filtro.EhValorCorrigido);
                objRelOrcamentoClasse.SetParameterValue("AreaConstrucaoAreaReal", filtro.AreaConstrucaoAreaReal);
                objRelOrcamentoClasse.SetParameterValue("AreaConstrucaoAreaEquivalente", filtro.AreaConstrucaoAreaEquivalente);
                objRelOrcamentoClasse.SetParameterValue("caminhoImagem", caminhoImagem);

                arquivo = new FileDownloadDTO("Rel. Orçamento Classe", objRelOrcamentoClasse.ExportToStream((ExportFormatType)formato), formato);
            }

            if (System.IO.File.Exists(caminhoImagem))
            {
                System.IO.File.Delete(caminhoImagem);
            }

            return(arquivo);
        }