public FileDownloadDTO ExportarRelUnidadeMedida(FormatoExportacaoArquivo formato) { if (!EhPermitidoImprimir()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(null); } var specification = (Specification <UnidadeMedida>) new TrueSpecification <UnidadeMedida>(); var listaUnidadeMedida = unidadeMedidaRepository.ListarPeloFiltro(specification).OrderBy(l => l.Sigla).To <List <UnidadeMedida> >(); relUnidadeMedida objRel = new relUnidadeMedida(); objRel.SetDataSource(RelUnidadeMedidaToDataTable(listaUnidadeMedida)); var parametros = parametrosOrdemCompraRepository.Obter(); CentroCusto centroCusto = null; var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros); var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros); objRel.SetParameterValue("nomeSistema", "ORDEMCOMPRA"); objRel.SetParameterValue("caminhoImagem", caminhoImagem); FileDownloadDTO arquivo = new FileDownloadDTO("Rel. Unidade medida", objRel.ExportToStream((ExportFormatType)formato), formato); if (System.IO.File.Exists(caminhoImagem)) { System.IO.File.Delete(caminhoImagem); } return(arquivo); }
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 ParametrosOrdemCompraDTO Obter() { ParametrosOrdemCompraDTO parametros = new ParametrosOrdemCompraDTO(); parametros = parametrosRepository.Obter().To <ParametrosOrdemCompraDTO>(); if (parametros.Cliente == null) { parametros.Cliente = new ClienteFornecedorDTO(); } return(parametros); }
public bool Aprovar(int?id, int[] itens) { ParametrosOrdemCompra parametros = parametrosOrdemCompraRepository.Obter() ?? new ParametrosOrdemCompra(); if (!UsuarioLogado.IsInRole(Funcionalidade.PreRequisicaoMaterialAprovar)) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (!itens.Any()) { messageQueue.Add(Resource.OrdemCompra.ErrorMessages.SelecioneUmItemParaAprocacao, TypeMessage.Error); return(false); } var preRequisicaoMaterial = preRequisicaoMaterialRepository.ObterPeloId(id, l => l.ListaItens); if (preRequisicaoMaterial == null) { messageQueue.Add(Application.Resource.Sigim.ErrorMessages.NenhumRegistroEncontrado, TypeMessage.Error); return(false); } if (!PodeAprovarNaSituacaoAtual(preRequisicaoMaterial.Situacao)) { var msg = string.Format(Resource.OrdemCompra.ErrorMessages.PreRequisicaoSituacaoInvalida, preRequisicaoMaterial.Situacao.ObterDescricao()); messageQueue.Add(msg, TypeMessage.Error); return(false); } if (ItemJaAprovadoFoiSelecionado(itens, preRequisicaoMaterial)) { return(false); } var listaCentroCusto = preRequisicaoMaterial.ListaItens.Where(l => itens.Contains(l.Id.Value)).Select(l => l.CodigoCentroCusto).Distinct().ToList(); foreach (var centroCusto in listaCentroCusto) { RequisicaoMaterial requisicaoMaterial = new RequisicaoMaterial(); int sequencial = 1; requisicaoMaterial = new RequisicaoMaterial(); SituacaoRequisicaoMaterial situacao = SituacaoRequisicaoMaterial.Aprovada; if (parametros != null) { if (parametros.EhGeraRequisicaoMaterialRequisitada.HasValue) { if (parametros.EhGeraRequisicaoMaterialRequisitada.Value) { situacao = SituacaoRequisicaoMaterial.Requisitada; } } } requisicaoMaterial.Situacao = situacao; requisicaoMaterial.DataAprovacao = DateTime.Now; requisicaoMaterial.LoginUsuarioAprovacao = UsuarioLogado.Login; requisicaoMaterial.CodigoCentroCusto = centroCusto; requisicaoMaterial.Data = preRequisicaoMaterial.Data; requisicaoMaterial.DataCadastro = preRequisicaoMaterial.DataCadastro; requisicaoMaterial.LoginUsuarioCadastro = preRequisicaoMaterial.LoginUsuarioCadastro; requisicaoMaterial.Observacao = preRequisicaoMaterial.Observacao; var listaItens = preRequisicaoMaterial.ListaItens.Where(l => itens.Contains(l.Id.Value) && l.CodigoCentroCusto == centroCusto).ToList(); foreach (var item in listaItens) { RequisicaoMaterialItem requisicaoMaterialItem = new RequisicaoMaterialItem(); requisicaoMaterialItem.Sequencial = sequencial; requisicaoMaterialItem.MaterialId = item.MaterialId; requisicaoMaterialItem.CodigoClasse = item.CodigoClasse; requisicaoMaterialItem.Complemento = item.Complemento; requisicaoMaterialItem.UnidadeMedida = item.UnidadeMedida; requisicaoMaterialItem.Quantidade = item.Quantidade; requisicaoMaterialItem.QuantidadeAprovada = item.QuantidadeAprovada; requisicaoMaterialItem.DataMaxima = item.DataMaxima; requisicaoMaterialItem.DataMinima = item.DataMinima; requisicaoMaterialItem.Situacao = SituacaoRequisicaoMaterialItem.Requisitado; requisicaoMaterialItem.PreRequisicaoMaterialItemId = item.Id; requisicaoMaterialItem.RequisicaoMaterial = requisicaoMaterial; requisicaoMaterial.ListaItens.Add(requisicaoMaterialItem); item.ListaRequisicaoMaterialItem.Add(requisicaoMaterialItem); item.Situacao = SituacaoPreRequisicaoMaterialItem.Aprovado; item.DataAprovacao = DateTime.Now; item.LoginUsuarioAprovacao = UsuarioLogado.Login; sequencial++; } requisicaoMaterialRepository.Inserir(requisicaoMaterial); } AjustarSituacaoPreRequisicao(preRequisicaoMaterial); preRequisicaoMaterialRepository.Alterar(preRequisicaoMaterial); preRequisicaoMaterialRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.OrdemCompra.SuccessMessages.AprovacaoRealizadaComSucesso, TypeMessage.Success); return(true); }
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); }