public void InserirTramiteSequencia(int contratanteId, int fluxoId, int solicitacaoId, int papelAtualId, int statusId, int usuarioId, int grupoDestino, List <SOLICITACAO_TRAMITE> tramiteAtual, List <FLUXO_SEQUENCIA> proximoPapeis) { try { SOLICITACAO_TRAMITE tramite = InserirTramiteSequencia(solicitacaoId, papelAtualId, statusId, usuarioId, grupoDestino, tramiteAtual); proximoPapeis = ListarProximoPapeisFluxo(contratanteId, fluxoId, papelAtualId, grupoDestino); // verifica se o tramite atual está todo aprovado, lembrando que pode ter mais de um tramite simultaneamente // senão a solicitação não pode ir para o proximo passo. if (!tramiteAtual.Any(t => t.SOLICITACAO_STATUS_ID == 1)) { foreach (FLUXO_SEQUENCIA item in proximoPapeis) { // Se não houver proximo passo o sistem finaliza a solicitacao if (item.PAPEL_ID_FIM != null) { tramite = InserirTramiteConclusao(solicitacaoId, item); } else { AlterarSolicitacaoParaFinalizado(solicitacaoId, 4);// Concluido } } } } catch (Exception ex) { throw new ServiceWebForLinkException("Erro ao tentar inserir trâmite de sequência.", ex); } }
private SOLICITACAO_TRAMITE InserirTramiteSequencia(int solicitacaoId, int papelAtual, int status, int?usuario, int?grupoDestino, List <SOLICITACAO_TRAMITE> tramiteAtual) { SOLICITACAO_TRAMITE tramite; if (tramiteAtual.Count > 0) { tramite = tramiteAtual.Single(t => t.PAPEL_ID == papelAtual); tramite.SOLICITACAO_STATUS_ID = status; // Aprova tramite.TRMITE_DT_FIM = DateTime.Now; tramite.USUARIO_ID = usuario; } else { tramite = new SOLICITACAO_TRAMITE { SOLICITACAO_ID = solicitacaoId, PAPEL_ID = papelAtual, SOLICITACAO_STATUS_ID = status, USUARIO_ID = usuario, TRAMITE_DT_INI = DateTime.Now, TRMITE_DT_FIM = DateTime.Now, GRUPO_DESTINO = grupoDestino }; _solicitacaoTramiteRepository.Inserir(tramite); } return(tramite); }
public AprovacaoVM(int idSolicitacao, int fluxoId, string fluxoNome) { Solicitacao = new SOLICITACAO(); Fornecedor = new SolicitacaoCadastroFornecedor(); Solicitacao_Tramite = new SOLICITACAO_TRAMITE(); FornecedorFinalizado = new Fornecedor(); IdSolicitacao = idSolicitacao; FluxoId = fluxoId; NomeSolicitacao = fluxoNome; }
private SOLICITACAO_TRAMITE InserirTramiteConclusao(int solicitacaoId, FLUXO_SEQUENCIA item) { SOLICITACAO_TRAMITE tramite = new SOLICITACAO_TRAMITE(); tramite.SOLICITACAO_ID = solicitacaoId; tramite.PAPEL_ID = (int)item.PAPEL_ID_FIM; tramite.SOLICITACAO_STATUS_ID = 1; tramite.TRAMITE_DT_INI = DateTime.Now; tramite.GRUPO_DESTINO = item.GRUPO_DESTINO; _solicitacaoTramiteRepository.Inserir(tramite); return(tramite); }
public SOLICITACAO_TRAMITE InserirTramiteInicial(int solicitacaoId, int PapelAtual, int Status, int?Usuario, int?grupoDestino) { SOLICITACAO_TRAMITE tramite = new SOLICITACAO_TRAMITE { SOLICITACAO_ID = solicitacaoId, PAPEL_ID = PapelAtual, SOLICITACAO_STATUS_ID = Status, USUARIO_ID = Usuario, TRAMITE_DT_INI = DateTime.Now, GRUPO_DESTINO = grupoDestino }; _solicitacaoTramiteRepository.Inserir(tramite); return(tramite); }
public void ListarGridAcompanhamento(List <AprovacaoVM> lstAprovacaoVM, SOLICITACAO item) { var cnpjAprovacao = string.Empty; var etapaAprovacao = string.Empty; string etapa; SOLICITACAO_TRAMITE tramite = item.WFD_SOLICITACAO_TRAMITE .LastOrDefault(x => x.SOLICITACAO_ID == item.ID); if (tramite != null) { etapa = item.SOLICITACAO_STATUS_ID != (int)EnumStatusTramite.Concluido ? tramite.Papel.PAPEL_NM : item.WFD_SOLICITACAO_STATUS.NOME; } else { etapa = item.WFD_SOLICITACAO_STATUS.NOME; } var aprovacaoVM = new AprovacaoVM(item.ID, item.FLUXO_ID, item.Fluxo.FLUXO_NM); aprovacaoVM.Fornecedor = !item.SolicitacaoCadastroFornecedor.Any() ? null : item.SolicitacaoCadastroFornecedor.First(); if (aprovacaoVM.Fornecedor != null) { aprovacaoVM.GrupoContas = item.SolicitacaoCadastroFornecedor.FirstOrDefault().WFD_PJPF_CATEGORIA.DESCRICAO; } else if (item.SolicitacaoCadastroFornecedor.FirstOrDefault() != null) { aprovacaoVM.GrupoContas = item.Fornecedor.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == item.CONTRATANTE_ID).WFD_PJPF_CATEGORIA.DESCRICAO; } else if (item.Fornecedor != null) { aprovacaoVM.GrupoContas = item.Fornecedor.WFD_CONTRATANTE_PJPF.FirstOrDefault(x => x.CONTRATANTE_ID == item.CONTRATANTE_ID).WFD_PJPF_CATEGORIA.DESCRICAO; } else { aprovacaoVM.GrupoContas = item.FORNECEDORBASE.WFD_PJPF_CATEGORIA.DESCRICAO; } aprovacaoVM.Contratante = item.Contratante; aprovacaoVM.Solicitacao_Dt_Cria = item.SOLICITACAO_DT_CRIA; aprovacaoVM.Login = (item.Usuario != null) ? item.Usuario.NOME : null; aprovacaoVM.Etapa = etapa; if (item.Fornecedor != null) { if (item.Fornecedor.TIPO_PJPF_ID == 1 || item.Fornecedor.TIPO_PJPF_ID == 2) { aprovacaoVM.NomeFornecedor = item.Fornecedor.RAZAO_SOCIAL; } else { aprovacaoVM.NomeFornecedor = item.Fornecedor.NOME; } } else if (item.SolicitacaoCadastroFornecedor.FirstOrDefault() != null) { if (item.SolicitacaoCadastroFornecedor.First().PJPF_TIPO != 3) { aprovacaoVM.NomeFornecedor = item.SolicitacaoCadastroFornecedor.FirstOrDefault().RAZAO_SOCIAL; } else { aprovacaoVM.NomeFornecedor = item.SolicitacaoCadastroFornecedor.FirstOrDefault().NOME; } } else { aprovacaoVM.NomeFornecedor = item.FORNECEDORBASE.RAZAO_SOCIAL != null ? item.FORNECEDORBASE.RAZAO_SOCIAL : item.FORNECEDORBASE.NOME; } // 1 = Cadastro Fornecedor Nacional // 2 = Cadastro Fornecedor Estrangeiro // 10 = Cadastro de Fonecedor Pessoa Física // 11 = Cadastro Fornecedor Nacional Direto // 12 = Cadastro Fornecedor Pessoa Fisica Direto var fluxos = new List <int> { 10, 20, 30, 40, 50 }; if (fluxos.Contains(item.Fluxo.FLUXO_TP_ID)) { if (item.SolicitacaoCadastroFornecedor.Any()) { string sCnpj = item.SolicitacaoCadastroFornecedor.First().CNPJ; string sCpf = item.SolicitacaoCadastroFornecedor.First().CPF; int tpForn = item.SolicitacaoCadastroFornecedor.First().PJPF_TIPO; if (tpForn == 1 || tpForn == 2) { if (tpForn != 3) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { if (item.Fornecedor != null) { string sCnpj = item.Fornecedor.CNPJ; if (!string.IsNullOrEmpty(sCnpj)) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } } } } else { string sCnpj = item.Fornecedor != null ? item.Fornecedor.CNPJ : item.FORNECEDORBASE.CNPJ; string sCpf = item.Fornecedor != null ? item.Fornecedor.CPF : item.FORNECEDORBASE.CPF; int? tpForn = item.Fornecedor != null ? item.Fornecedor.TIPO_PJPF_ID : item.FORNECEDORBASE.PJPF_TIPO; if (tpForn == 1 || tpForn == 2) { if (tpForn != 3) { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCnpj).ToString(@"00\.000\.000\/0000\-00"); } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } else { aprovacaoVM.CNPJ_CPF = Convert.ToUInt64(sCpf).ToString(@"000\.000\.000\-00"); } } if (tramite != null) { aprovacaoVM.UrlAprovacao = Url.Action("FornecedoresControleSolicitacoesFrm", "ControleSolicitacao", new { chaveurl = Cripto.Criptografar(string.Format("idS={0}&idST={1}&idP={2}", aprovacaoVM.IdSolicitacao, aprovacaoVM.FluxoId, tramite.PAPEL_ID), Key) }, Request.Url.Scheme); } lstAprovacaoVM.Add(aprovacaoVM); }