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); }
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); }
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); }
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); }
public CentroCustoDTO ObterPeloCodigo(string codigo) { return(centroCustoRepository.ObterPeloCodigo(codigo, l => l.ListaFilhos).To <CentroCustoDTO>()); }
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); }