// Autor:Eduardo Nofre // Date: 04/04/2017 // Motivação: solicitação do cliente para o Rafael Lira que esteve no cliente em Recifie // action: move os arquivos pdf sem assinatura para um diretorio definido pelo cliente // essa configuração fica no appConfig ou melhor appConfig.ini public Boolean moverPdfSemAssinaturaSRM(FileInfo arquivoMover, ReleaseJucecProperties releaseJucec, DocumentosProperties documento, ConfiguracaoProperties configApp) { RegrasDocumentos regrasDocumentos = new RegrasDocumentos(); bool isJucec = regrasDocumentos.tipoIndexDocumento_Jucec_Sesaz(documento); if (isJucec) { if (arquivoMover.FullName != "") { FileInfo dirOrigemPdf = new FileInfo(arquivoMover.FullName); if (Directory.Exists(configApp.caminhoPdfSemAssinatura)) { if (!File.Exists(configApp.caminhoPdfSemAssinatura + "\\" + releaseJucec.numProtocolo + ".pdf")) { System.IO.File.Copy(arquivoMover.FullName, configApp.caminhoPdfSemAssinatura + "\\" + releaseJucec.numProtocolo + ".pdf"); log.escreveLog(".PDF sem assinatura enviado para o SRM " + arquivoMover.Name, configApp); regrasDocumentos.LogDocumento(documento, Constantes.ENVIADO_SRM); return(true); } else { log.escreveLog("Aviso: Não foi possivel enviar para o SRM porque talvez o arquivo pdf ja exista neste diretorio " + configApp.caminhoPdfSemAssinatura + "\\" + releaseJucec.numProtocolo + ".pdf", configApp); return(true); } } else { log.escreveLog("Aviso: Diretorio não existe " + configApp.caminhoPdfSemAssinatura, configApp); System.IO.Directory.CreateDirectory(configApp.caminhoPdfSemAssinatura); if (Directory.Exists(configApp.caminhoPdfSemAssinatura)) { log.escreveLog("Aviso: Diretorio criado comsucesso " + configApp.caminhoPdfSemAssinatura, configApp); System.IO.File.Copy(arquivoMover.FullName, configApp.caminhoPdfSemAssinatura + "\\" + releaseJucec.numProtocolo + ".pdf"); log.escreveLog("Aviso: Enviado SRM " + arquivoMover.Name, configApp); regrasDocumentos.LogDocumento(documento, Constantes.ENVIADO_SRM); return(true); } else { log.escreveLog("Não foi possivel criar o diretorio verifique a permissão na pasta protocolo SRM" + releaseJucec.numProtocolo, configApp); return(false); } } } } return(false); }
public void processamento() { log.escreveLog("Inicio ", configApp); while (!Constantes.THREAD_PARADA_SOLICITADO) { try { RegrasProjeto regraProjeto = new RegrasProjeto(); RegrasProtocolo regraProtocolo = new RegrasProtocolo(); // carrega as informaçoes do projeto projetoObj = regraProjeto.getProjeto(configApp); // Busca protocolo liberados List <ProtocoloProperties> listaProtocolosLiberado = regraProtocolo.getProtocoloProtocolosLiberado(configApp); log.escreveLog("Quantidade de protocolo disponível " + listaProtocolosLiberado.Count, configApp); foreach (ProtocoloProperties protocolo in listaProtocolosLiberado) { RegrasDocumentos regrasDocumentos = new RegrasDocumentos(); // lista de documentos liberados List <DocumentosProperties> listaDocumentosLiberados = regrasDocumentos.getDocumentosLiberado(protocolo); log.escreveLog("Quantidade de documentos disponível " + listaProtocolosLiberado.Count, configApp); foreach (DocumentosProperties documento in listaDocumentosLiberados) { log.escreveLog("Lendo o documento " + documento.idDocumento, configApp); RegrasIndexer regrasIndexer = new RegrasIndexer(); // Recupera os indices e valorIndice ReleaseJucecProperties releaseJucec = regrasIndexer.getIndexerProcesso(documento, projetoObj, protocolo, configApp); //Concatena Nire e NumeroArquivamento NireNunArquivamento = regrasIndexer.concatNire_NunArquivamento(releaseJucec, projetoObj); if (NireNunArquivamento != null) { RegrasCaixa regrasCaixa = new RegrasCaixa(); RegrasImagem regrasImagem = new RegrasImagem(); RegrasParametroProdutoProjeto regrasParametroProdutoProjeto = new RegrasParametroProdutoProjeto(); Servicos servicos = new Servicos(); // Busca caixa com base no numero arquivamento CaixaProperties caixa = regrasCaixa.getCaixaProcesso(documento); log.escreveLog("Pegou a caixa " + caixa.IdCaixa, configApp); // caminho onde será depositado os arquivos .pdf DirectoryInfo pathDestino = regrasCaixa.trataCaixa(caixa, configApp, releaseJucec, NireNunArquivamento, projetoObj, documento); // retorna um projeto produto ParametroProdutoProjetoProperties parametroProdutoProjetoProperties = regrasParametroProdutoProjeto.getParametroProdutoProjeto(projetoObj, configApp); // pega todas as imagens referente ao idDocumento passado como parametro e diferente de excluida. // busca a origem do arquivo .tiff // cria o _.pdf no destino passado como parametro releaseJucec = regrasImagem.getImagem(documento, releaseJucec, configApp, parametroProdutoProjetoProperties, pathDestino, projetoObj); documentoSemTiff = releaseJucec.flagSemImagem; if (documentoSemTiff) { if (releaseJucec.flag) { // Gera o arquivo csv no mesmo diretorio do PDF log.escreveLog("Gerando arquivo .CSV ", configApp); servicos.geraArqvuivoCSV(pathDestino.ToString() + "\\" + documento.idProcesso.ToString() + ".csv", releaseJucec, pathDestino, caixa); log.escreveLog("Gerando arquivo .CSV para o carga generica ", configApp); // Enviando cvs para o sistema carga Generica servicos.geraArqvuivoCSV(ConfigurationSettings.AppSettings["diretorioCsvContentProcessar"].ToString() + "\\" + documento.idProcesso.ToString() + ".csv", releaseJucec, pathDestino, caixa); } else { log.escreveLog("Quantidade de Indices [0] no Processo [" + documento.idProcesso + "] não é o mesmo na estrutura do arquivo", configApp); } log.escreveLog("Pesquisando as imagens no diretorio para assinatura do Protocolo [" + protocolo.dsProtocolo + "] na estrutura do arquivo", configApp); // retorna uma lista de pdf que termine com _.pdf FileInfo[] filesPdf = servicos.getPdfs(configApp, caixa, pathDestino); log.escreveLog("Foram encontrados .Pdf's com _.PDF [" + filesPdf.Length + "]", configApp); // move os pdfs sem assinatura para o diretorio informado na tag do app.config <caminhoPdfSemAssinatura> servicos.moverPdfSemAssinaturaSRM(filesPdf[0], releaseJucec, documento, configApp); // serviço que assina os pdfs de acordo com a certificado da maquina pdfisOk = servicos.arquivoParaAssinar(filesPdf[0], releaseJucec, configApp); } if (documentoSemTiff) { // documento log e status regrasDocumentos = new RegrasDocumentos(); regrasDocumentos.LogDocumento(documento, Constantes.ENVIADO_FTP); regrasDocumentos.atualizaSatusDocumento(documento, Constantes.ENVIADO_FTP); } else { // documento log e status regrasDocumentos = new RegrasDocumentos(); regrasDocumentos.LogDocumento(documento, Constantes.DOCUMENTO_SEM_TIFF); regrasDocumentos.atualizaSatusDocumento(documento, Constantes.DOCUMENTO_SEM_TIFF); } } } // processo e status regrasProtocolo = new RegrasProtocolo(); regrasProtocolo.atualizaProcesso(protocolo, Constantes.ENVIADO_FTP); regrasProtocolo.logProcesso(protocolo, Constantes.ENVIADO_FTP); } } catch (Exception ex) { log.escreveLog("\n Erro: " + ex.Message + "\n" + ex.ToString() + "\n", configApp); // MessageBox.Show(ex.StackTrace); } } }