示例#1
0
        public ParametroProdutoProjetoProperties parametroProdutoProjeto(ProjetoProperties projetoObj)
        {
            DataTable dt = new DataTable();
            ParametroProdutoProjetoProperties parametroProdutoProjetoProperties = new ParametroProdutoProjetoProperties();


            try
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine("declare @idParametro int, @idProduto  int, @idProjeto int");
                sb.AppendLine("set @idParametro = " + Constantes.CAMINHO_IMAGEM);
                sb.AppendLine("set @idProduto = 3");
                sb.AppendLine("set @idProjeto = " + projetoObj.idProjeto);
                sb.AppendLine("select IdProduto,IdProjeto, nmValorParametro,IdParametro from tb_parametro_produto_projeto with(nolock)");
                sb.AppendLine("where idparametro = @idParametro");
                sb.AppendLine("and idproduto = @idProduto");
                sb.AppendLine("and idProjeto = @idProjeto");
                dt = Database.Instance.ExecuteQuery(sb.ToString(), dt);


                foreach (DataRow objetoParametroProdutoProjeto in dt.Rows)
                {
                    parametroProdutoProjetoProperties.IdProduto        = (int)objetoParametroProdutoProjeto["IdProduto"];
                    parametroProdutoProjetoProperties.IdProjeto        = (int)objetoParametroProdutoProjeto["IdProjeto"];
                    parametroProdutoProjetoProperties.NmValorParametro = (string)objetoParametroProdutoProjeto["nmValorParametro"];
                    parametroProdutoProjetoProperties.IdParametro      = (int)objetoParametroProdutoProjeto["IdParametro"];
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro Parametro Produto Projeto Properties: " + ex.Message + "\n" + ex.ToString());
            }
            return(parametroProdutoProjetoProperties);
        }
        public ParametroProdutoProjetoProperties getParametroProdutoProjeto(ProjetoProperties projetoObj, ConfiguracaoProperties configApp)
        {
            ParametroProdutoProjetoProperties parametroProdutoProjetoProperties = dao.parametroProdutoProjeto(projetoObj);

            log.escreveLog(string.Concat(new object[] { "Parametro produto projeto ", parametroProdutoProjetoProperties.NmValorParametro, "para o id projeto", projetoObj.idProjeto }), configApp);

            return(parametroProdutoProjetoProperties);
        }
示例#3
0
        public ReleaseJucecProperties getImagem(DocumentosProperties documento, ReleaseJucecProperties releaseJucec, ConfiguracaoProperties configApp, ParametroProdutoProjetoProperties parametroProdutoProjetoPropertie, DirectoryInfo pathDestino, ProjetoProperties projetoObj)
        {
            ImagemDao dao = new ImagemDaoImpl();

            try
            {
                List <ImagemProperties> listaImagems = dao.ImagemProcessa(documento);

                log.escreveLog("Quantidade de imagem para o documento " + documento.idDocumento.ToString() + listaImagems.Count.ToString(), configApp);

                if (listaImagems.Count > 0)
                {
                    //releaseJucec.penultimaImg = listaImagems[listaImagems.Count - 2].NmImagem;

                    //log.escreveLog("PenultimaImg " + releaseJucec.penultimaImg, configApp);

                    releaseJucec.flagSemImagem = true;
                }
                else
                {
                    //releaseJucec.penultimaImg = string.Empty;

                    //log.escreveLog("PenultimaImg " + releaseJucec.penultimaImg, configApp);

                    releaseJucec.flagSemImagem = true;
                }
                if (releaseJucec.flagSemImagem)
                {
                    releaseJucec.ultimaImg = listaImagems[listaImagems.Count - 1].NmImagem;

                    log.escreveLog("UltimaImg " + releaseJucec.ultimaImg, configApp);

                    FileInfo fileDestinoPdf = null;

                    foreach (ImagemProperties imagem in listaImagems)
                    {
                        log.escreveLog("lendo a imagem  id " + imagem.IdImagem + " Nome imagem " + imagem.NmImagem, configApp);

                        log.escreveLog("Caminho da imagem no banco " + imagem.NmCaminhoImagem, configApp);

                        FileInfo fileOrigem = new FileInfo(parametroProdutoProjetoPropertie.NmValorParametro + imagem.NmCaminhoImagem);

                        log.escreveLog("Origem da imagem .Tiff " + fileOrigem.FullName.ToString(), configApp);

                        log.escreveLog("Destino do .CSV, .PDF sem assinatura, .PDF assinado " + pathDestino.FullName, configApp);

                        fileDestinoPdf = new FileInfo(pathDestino.FullName + "\\");

                        log.escreveLog("Destino com PDF " + fileDestinoPdf.FullName.ToString(), configApp);

                        if (!fileDestinoPdf.Directory.Exists)
                        {
                            fileDestinoPdf.Directory.Create();
                        }
                        if (new FileInfo(fileOrigem.FullName).Exists)
                        {
                            if (projetoObj.nmProjeto.ToUpper() != Constantes.DESCRICSO_PROJETO)
                            {
                                fileOrigem.CopyTo(fileDestinoPdf.FullName, true);
                            }
                            else
                            {
                                fileDestinoPdf = new FileInfo(string.Concat(new object[] { fileDestinoPdf.FullName, "\\", releaseJucec.numProtocolo, "_.pdf" }));

                                this.processaImagem(fileOrigem, fileDestinoPdf, listaImagems.Count, configApp);

                                dao.logImagem(imagem, Constantes.ENVIADO_FTP);
                            }

                            log.escreveLog("A Imagem [" + fileOrigem.FullName + "] copiada para o diretorio " + fileDestinoPdf.FullName, configApp);
                        }
                        else
                        {
                            log.escreveLog("A Imagem [" + fileOrigem.FullName + "] não existe no diretorio", configApp);
                        }
                    }
                }

                // processo
                //dao.atualizaStatus(imagem, Constantes.PDF_GERADO);

                releaseJucec.flag = true;
            }
            catch (Exception ex)
            {
                log.escreveLog("Erro ao tentar processaImagem:" + ex.Message + "\n" + ex.StackTrace, configApp);
                throw new Exception(ex.Message + "\n" + ex.StackTrace);
            }

            return(releaseJucec);
        }
示例#4
0
        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);
                }
            }
        }