Commit e13d17c2a346d83dfa76c05dcf92aa43fc87e76d
1 parent
2da88ff4
Exists in
master
Atualizando implementação do login unico, ajustando issues https://softwarepubli…
…co.gov.br/gitlab/prototocolizacao/protocolizacao/issues/1 https://softwarepublico.gov.br/gitlab/prototocolizacao/protocolizacao/issues/2 e https://softwarepublico.gov.br/gitlab/prototocolizacao/protocolizacao/issues/3
Showing
140 changed files
with
2473 additions
and
1972 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 140 files displayed.
CHANGELOG
| ... | ... | @@ -1,62 +0,0 @@ |
| 1 | -# CHANGELOG | |
| 2 | - | |
| 3 | -## 1.2.0 - (27/10/2017) | |
| 4 | ---- | |
| 5 | -### Features: | |
| 6 | -- Quando um protocolo está em analise ele agora está em uma nova tela chamada "ANALISANDO"; | |
| 7 | - | |
| 8 | -### Bugfixes: | |
| 9 | -- Modal quando o usuário visualiza um documento agora com botão de fechar; | |
| 10 | -- Melhorado alguns aspectos de segurança; | |
| 11 | -- Tamplate do email modificado; | |
| 12 | -- Modificado email na home; | |
| 13 | -- Adicionado FAVICON; | |
| 14 | -- Permitido apenas caixa alta no nome (cadastro); | |
| 15 | - | |
| 16 | -## 1.1.4 - (20/10/2017) | |
| 17 | ---- | |
| 18 | -### Features: | |
| 19 | - | |
| 20 | -- Criando diretório docker e escondendo variáveis de acesso a banco; | |
| 21 | -- Adicionando import do certificado; | |
| 22 | -- Adição do diretorio docker já com as configurações padrões para integração continua; | |
| 23 | - | |
| 24 | -### Bugfixes: | |
| 25 | - | |
| 26 | - | |
| 27 | -## 1.1.3 - (13/10/2017) | |
| 28 | ---- | |
| 29 | -### Features: | |
| 30 | -### Bugfixes: | |
| 31 | - | |
| 32 | -- Ajustando lista de documentos ativos e inativos | |
| 33 | - | |
| 34 | -## 1.1.2 - (06/10/2017) | |
| 35 | ---- | |
| 36 | -### Features: | |
| 37 | - | |
| 38 | -- Ajustes no controle da modal; | |
| 39 | -- Validação de data de pesquisa de protocolo; | |
| 40 | -- Apresentação do texto de recusa; | |
| 41 | - | |
| 42 | -### Bugfixes: | |
| 43 | - | |
| 44 | -- Dinamização do cadastro do tipo de documento; | |
| 45 | - | |
| 46 | -## 1.1.1 - (02/10/2017) | |
| 47 | ---- | |
| 48 | -### Features | |
| 49 | - | |
| 50 | -- Corrigido Texto "Deseja informar protocolo anterior?" atualizado para "Deseja informar o numero do protocolo anterior?"; | |
| 51 | -- Corrigido a restrição do documento e do processo. Agora o documento é público e o Processo privado; | |
| 52 | - | |
| 53 | -### Bugfixes: | |
| 54 | - | |
| 55 | -- Corrigido bug de envio com duplicidade para o sei quando dois usuários estão analisando o mesmo protocolo; | |
| 56 | -- Corrigido bug onde o E-Mail Interessado 1 não estava recebendo email no caso de recusa e de aceite; | |
| 57 | - | |
| 58 | -## 1.0.0 (25/09/2017) | |
| 59 | ---- | |
| 60 | -### Features: | |
| 61 | - | |
| 62 | -- Versão estável do projeto | |
| 63 | 0 | \ No newline at end of file |
docker/Dockerfile
| 1 | 1 | FROM tomcat:8.5.20-jre8-alpine |
| 2 | 2 | |
| 3 | -LABEL maintainer="MP/SPO <biblioteca.digital@planejamento.gov.br>" | |
| 3 | +LABEL maintainer="MP/SPO <protocolo@planejamento.gov.br>" | |
| 4 | + | |
| 5 | +ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk | |
| 6 | + | |
| 7 | +ENV JAVA_SECURITY ${JAVA_HOME}/jre/lib/security | |
| 8 | + | |
| 9 | +ENV JAVA_CACERTS ${JAVA_SECURITY}/cacerts | |
| 4 | 10 | |
| 5 | -ENV JAVA_CACERTS /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts | |
| 6 | 11 | ENV PROTOCOLO_ARQUIVO /opt/protocolo_arquivos |
| 7 | -ENV CATALINA_HOME /usr/local/tomcat | |
| 8 | -ENV PATH $CATALINA_HOME/bin:$PATH | |
| 9 | 12 | |
| 10 | -#WORKDIR /root/ | |
| 11 | -#RUN mkdir .protocolo-config | |
| 12 | -#RUN mkdir -p /root/.protocolo-arquivos/ | |
| 13 | +ENV CATALINA_HOME /usr/local/tomcat | |
| 13 | 14 | |
| 14 | -RUN mkdir -p "$CATALINA_HOME" | |
| 15 | -RUN mkdir -p "$PROTOCOLO_ARQUIVO" | |
| 16 | -RUN mkdir -p $CATALINA_HOME/webapps/META-INF/ | |
| 15 | +ENV PATH $CATALINA_HOME/bin:$PATH | |
| 17 | 16 | |
| 18 | 17 | WORKDIR $CATALINA_HOME |
| 19 | 18 | |
| 20 | -COPY ./FILES/ICP-Brasilv5.crt /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/ | |
| 19 | +COPY ./FILES/ICP-Brasilv5.crt \ | |
| 20 | + ./FILES/ACSecretariaReceitaFederalBrasilv3.crt \ | |
| 21 | + ./FILES/AutoridadeCertificadoraRaizBrasileirav2.crt \ | |
| 22 | + ./FILES/AutoridadeCertificadoraSERPRORFBSSL.crt \ | |
| 23 | + ./FILES/AutoridadeCertificadoraMDICGOVBR.crt \ | |
| 24 | + ${JAVA_SECURITY}/ | |
| 25 | + | |
| 21 | 26 | COPY ./FILES/protocolo.war $CATALINA_HOME/webapps/protocolo.war |
| 22 | -COPY ./FILES/context.xml $CATALINA_HOME/webapps/META-INF/context.xml | |
| 23 | -COPY ./FILES/context.xml /usr/local/tomcat/conf/context.xml | |
| 27 | + | |
| 24 | 28 | COPY ./FILES/server.xml /usr/local/tomcat/conf/server.xml |
| 29 | + | |
| 25 | 30 | COPY ./FILES/web.xml /usr/local/tomcat/conf/web.xml |
| 26 | 31 | |
| 27 | 32 | RUN apk --no-cache update \ |
| 28 | - && apk --no-cache add tzdata zip unzip bzip2 less git net-tools iproute2 vim nano \ | |
| 29 | - && rm -f /etc/localtime \ | |
| 30 | - && ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime | |
| 33 | + && apk --no-cache add tzdata vim nano \ | |
| 34 | + && rm -f /etc/localtime \ | |
| 35 | + && ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime | |
| 36 | + | |
| 37 | +RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import \ | |
| 38 | + -file ${JAVA_SECURITY}/ICP-Brasilv5.crt -alias ICP-Brasilv5 | |
| 39 | + | |
| 40 | +RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import \ | |
| 41 | + -file ${JAVA_SECURITY}/ACSecretariaReceitaFederalBrasilv3.crt -alias ACSecretariaReceitaFederalBrasilv3 | |
| 42 | + | |
| 43 | +RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import \ | |
| 44 | + -file ${JAVA_SECURITY}/AutoridadeCertificadoraRaizBrasileirav2.crt -alias AutoridadeCertificadoraRaizBrasileirav2 | |
| 45 | + | |
| 46 | +RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import \ | |
| 47 | + -file ${JAVA_SECURITY}/AutoridadeCertificadoraSERPRORFBSSL.crt -alias AutoridadeCertificadoraSERPRORFBSSL | |
| 48 | + | |
| 49 | +RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import \ | |
| 50 | + -file ${JAVA_SECURITY}/AutoridadeCertificadoraMDICGOVBR.crt -alias AutoridadeCertificadoraMDICGOVBR | |
| 51 | + | |
| 52 | +RUN mkdir -p "$PROTOCOLO_ARQUIVO" | |
| 53 | + | |
| 54 | +# | |
| 55 | +# Ports to expose | |
| 56 | +EXPOSE 8080 | |
| 31 | 57 | |
| 32 | -RUN keytool -noprompt -storepass changeit -keystore ${JAVA_CACERTS} -import -file /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/ICP-Brasilv5.crt -alias ICP-Brasilv5 | |
| 33 | 58 | \ No newline at end of file |
| 59 | +# | |
| 60 | +# Command to run | |
| 61 | +CMD ["catalina.sh", "run"] | ... | ... |
docker/FILES/ICP-Brasilv5.crt
| ... | ... | @@ -1,38 +0,0 @@ |
| 1 | ------BEGIN CERTIFICATE----- | |
| 2 | -MIIGoTCCBImgAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBlzELMAkGA1UEBhMCQlIx | |
| 3 | -EzARBgNVBAoMCklDUC1CcmFzaWwxPTA7BgNVBAsMNEluc3RpdHV0byBOYWNpb25h | |
| 4 | -bCBkZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxNDAyBgNVBAMMK0F1 | |
| 5 | -dG9yaWRhZGUgQ2VydGlmaWNhZG9yYSBSYWl6IEJyYXNpbGVpcmEgdjUwHhcNMTYw | |
| 6 | -MzAyMTMwMTM4WhcNMjkwMzAyMjM1OTM4WjCBlzELMAkGA1UEBhMCQlIxEzARBgNV | |
| 7 | -BAoMCklDUC1CcmFzaWwxPTA7BgNVBAsMNEluc3RpdHV0byBOYWNpb25hbCBkZSBU | |
| 8 | -ZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxNDAyBgNVBAMMK0F1dG9yaWRh | |
| 9 | -ZGUgQ2VydGlmaWNhZG9yYSBSYWl6IEJyYXNpbGVpcmEgdjUwggIiMA0GCSqGSIb3 | |
| 10 | -DQEBAQUAA4ICDwAwggIKAoICAQD3LXgabUWsF+gUXw/6YODeF2XkqEyfk3VehdsI | |
| 11 | -x+3/ERgdjCS/ouxYR0Epi2hdoMUVJDNf3XQfjAWXJyCoTneHYAl2McMdvoqtLB2i | |
| 12 | -leQlJiis0fTtYTJayee9BAIdIrCor1Lc0vozXCpDtq5nTwhjIocaZtcuFsdrkl+n | |
| 13 | -bfYxl5m7vjTkTMS6j8ffjmFzbNPDlJuV3Vy7AzapPVJrMl6UHPXCHMYMzl0KxR/4 | |
| 14 | -7S5XGgmLYkYt8bNCHA3fg07y+Gtvgu+SNhMPwWKIgwhYw+9vErOnavRhOimYo4M2 | |
| 15 | -AwNpNK0OKLI7Im5V094jFp4Ty+mlmfQH00k8nkSUEN+1TGGkhv16c2hukbx9iCfb | |
| 16 | -mk7im2hGKjQA8eH64VPYoS2qdKbPbd3xDDHN2croYKpy2U2oQTVBSf9hC3o6fKo3 | |
| 17 | -zp0U3dNiw7ZgWKS9UwP31Q0gwgB1orZgLuF+LIppHYwxcTG/AovNWa4sTPukMiX2 | |
| 18 | -L+p7uIHExTZJJU4YoDacQh/mfbPIz3261He4YFmQ35sfw3eKHQSOLyiVfev/n0l/ | |
| 19 | -r308PijEd+d+Hz5RmqIzS8jYXZIeJxym4mEjE1fKpeP56Ea52LlIJ8ZqsJ3xzHWu | |
| 20 | -3WkAVz4hMqrX6BPMGW2IxOuEUQyIaCBg1lI6QLiPMHvo2/J7gu4YfqRcH6i27W3H | |
| 21 | -yzamEQIDAQABo4H1MIHyME4GA1UdIARHMEUwQwYFYEwBAQAwOjA4BggrBgEFBQcC | |
| 22 | -ARYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQQ2FjcmFpei5wZGYw | |
| 23 | -PwYDVR0fBDgwNjA0oDKgMIYuaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJy | |
| 24 | -L0xDUmFjcmFpenY1LmNybDAfBgNVHSMEGDAWgBRpqL512cTvbOcTReRhbuVo+LZA | |
| 25 | -XjAdBgNVHQ4EFgQUaai+ddnE72znE0XkYW7laPi2QF4wDwYDVR0TAQH/BAUwAwEB | |
| 26 | -/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQADggIBABRt2/JiWapef7o/ | |
| 27 | -plhR4PxymlMIp/JeZ5F0BZ1XafmYpl5g6pRokFrIRMFXLyEhlgo51I05InyCc9Td | |
| 28 | -6UXjlsOASTc/LRavyjB/8NcQjlRYDh6xf7OdP05mFcT/0+6bYRtNgsnUbr10pfsK | |
| 29 | -/UzyUvQWbumGS57hCZrAZOyd9MzukiF/azAa6JfoZk2nDkEudKOY8tRyTpMmDzN5 | |
| 30 | -fufPSC3v7tSJUqTqo5z7roN/FmckRzGAYyz5XulbOc5/UsAT/tk+KP/clbbqd/hh | |
| 31 | -evmmdJclLr9qWZZcOgzuFU2YsgProtVu0fFNXGr6KK9fu44pOHajmMsTXK3X7r/P | |
| 32 | -wh19kFRow5F3RQMUZC6Re0YLfXh+ypnUSCzA+uL4JPtHIGyvkbWiulkustpOKUSV | |
| 33 | -wBPzvA2sQUOvqdbAR7C8jcHYFJMuK2HZFji7pxcWWab/NKsFcJ3sluDjmhizpQax | |
| 34 | -bYTfAVXu3q8yd0su/BHHhBpteyHvYyyz0Eb9LUysR2cMtWvfPU6vnoPgYvOGO1Cz | |
| 35 | -iyGEsgKULkCH4o2Vgl1gQuKWO4V68rFW8a/jvq28sbY+y/Ao0I5ohpnBcQOAawiF | |
| 36 | -bz6yJtObajYMuztDDP8oY656EuuJXBJhuKAJPI/7WDtgfV8ffOh/iQGQATVMtgDN | |
| 37 | -0gv8bn5NdUX8UMNX1sHhU3H1UpoW | |
| 38 | ------END CERTIFICATE----- |
docker/FILES/context.xml
| ... | ... | @@ -30,6 +30,7 @@ |
| 30 | 30 | <Manager pathname="" /> |
| 31 | 31 | --> |
| 32 | 32 | |
| 33 | + <!-- | |
| 33 | 34 | <Resource |
| 34 | 35 | name="jdbc/protocoloDB" |
| 35 | 36 | auth="Container" |
| ... | ... | @@ -42,6 +43,7 @@ |
| 42 | 43 | username="MYSQL_USER" |
| 43 | 44 | password="MYSQL_PASSWORD" |
| 44 | 45 | /> |
| 46 | + --> | |
| 45 | 47 | |
| 46 | 48 | <Valve className="org.apache.catalina.authenticator.BasicAuthenticator" |
| 47 | 49 | disableProxyCaching="false" | ... | ... |
protocolo-web-db.sql
| ... | ... | @@ -86,7 +86,7 @@ CREATE TABLE `configuracao` ( |
| 86 | 86 | |
| 87 | 87 | LOCK TABLES `configuracao` WRITE; |
| 88 | 88 | /*!40000 ALTER TABLE `configuracao` DISABLE KEYS */; |
| 89 | -INSERT INTO `configuracao` VALUES (1,'SMTP_SERVER','10.209.253.28','',1),(2,'SMTP_PORT','25','teste3',1),(3,'MAIL_FROM','xxx@yyy.zzz','',1),(4,'EMAIL_RESPONSAVEL','sss@sssf.com',NULL,1),(9,'URL_AUTORIZAR','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/authorize',NULL,4),(10,'URL_TOKEN','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/token',NULL,4),(11,'URL_DADOS_USUARIO','https://testeservicos-ecidadao.estaleiro.serpro.gov.br/servicos-ecidadao/ecidadao/usuario/getUserInfo/',NULL,4),(12,'CLIENT_ID','516a9b57-d022-4843-a792-93b4dc95622b',NULL,4),(13,'SCOPE','openid',NULL,4),(14,'REDIRECT_URI','https://protocolo.planejamento.gov.br/login',NULL,4),(15,'CLIENT_SECRET','Ld65DuKIva0_EU0LO1VrVC6Be7b-_AsgvkueKpW4OJlhDdJQ4TJ9nKB173M5c5mmG03uhZvEbBKnDRmAe7gZkw',NULL,4),(16,'ESCOPO','dados_brasil_cidadao',NULL,4),(18,'URL_BRASIL_CIDADAO','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/login',NULL,4),(19,'URL_PRIMEIRO_ACESSO','https://testeportal-ecidadao.estaleiro.serpro.gov.br/servicos-cidadao/acesso/#/primeiro-acesso',NULL,4),(20,'STORAGE_PATH','/opt/protocolo_arquivos','teste2',3),(21,'URL_ENDPOINT','https://seitreina.nuvem.gov.br/sei/ws/SeiWS.php','teste4',2),(22,'ASSUNTO_CODIGO_ESTRUTURADO','520.1',NULL,2),(23,'PROCEDIMENTO_ESPECIFICADO','Especificacao do processo',NULL,2),(24,'PROCEDIMENTO_NIVEL_ACESSO','0',NULL,2),(25,'PROCEDIMENTO_ID_TIPO_PROCEDIMENTO','100000346',NULL,2),(26,'DOCUMENTO_TIPO','R',NULL,2),(27,'DOCUMENTO_ID_SERIE','1',NULL,2),(28,'DOCUMENTO_NIVEL_ACESSO','0',NULL,2),(29,'SIGLA_SISTEMA','UNB',NULL,2),(30,'IDENTIFICACAO_SERVICO','testeunb',NULL,2),(31,'ID_UNIDADE','110001972',NULL,2),(32,'CAPTCHA_SITE_KEY','6LdBAVQUAAAAAET4Dun738dTVCWfhqVDuvnDoBAp',NULL,5),(33,'CAPTCHA_SECRET_KEY','6LdBAVQUAAAAAEa3owvd2PBSaOwU8OOPeFwTq13w',NULL,5),(34,'EXP_NUM_PROTOCOLO','03154000244201864','numero do protocolo do sei ',2),(35,'EXP_DESC','teste','descrição',2),(36,'EXP_NOME_PDF','teste.pdf',NULL,2),(37,'EXP_CAMINHO_ARQUIVO','/home/dario/Documentos/123456.pdf',NULL,2),(38,'EXP_SERIE_TIPO','R',NULL,2),(39,'EXP_ID_SERIE','1',NULL,2); | |
| 89 | +INSERT INTO `configuracao` VALUES (1,'SMTP_SERVER',NULL,'ip do servidor de email',1),(2,'SMTP_PORT',NULL,'porta do servidor de email',1),(3,'MAIL_FROM','','email de envio',1),(4,'EMAIL_RESPONSAVEL',NULL,'responsavel por receber os emails de erro',1),(9,'URL_AUTORIZAR',NULL,'url autorizar do login unico /autorizar',4),(10,'URL_TOKEN',NULL,'url /token do portal do software publico',4),(11,'URL_DADOS_USUARIO',NULL,''url /getUserInfo do portal do login unico,4),(12,'CLIENT_ID',NULL,'client id do login unico',4),(13,'SCOPE',NULL,'scope do login unico',4),(14,'REDIRECT_URI',NULL,'URL de retorno do login unico',4),(15,'CLIENT_SECRET',NULL,'chave secreta do login unico',4),(16,'ESCOPO',NULL,'escopo de dados do login unico',4),(18,'URL_BRASIL_CIDADAO',NULL,'URL do login',4),(19,'URL_PRIMEIRO_ACESSO',NULL,'URL para o primeiro acesso',4),(20,'STORAGE_PATH',NULL,'Local no servidor onde será alocado para guardar os arquivos',3),(21,'URL_ENDPOINT',NULL,'Url do sei',2),(22,'ASSUNTO_CODIGO_ESTRUTURADO',NULL,'Código do assunto no sei',2),(23,'PROCEDIMENTO_ESPECIFICADO',NULL,'Expecificação do procesimento no sei',2),(24,'PROCEDIMENTO_NIVEL_ACESSO',NULL,'nivel de aceso no sei',2),(25,'PROCEDIMENTO_ID_TIPO_PROCEDIMENTO',NULL,'Tipo de procedimento no sei',2),(26,'DOCUMENTO_TIPO',NULL,'Tipo de documento no sei',2),(27,'DOCUMENTO_ID_SERIE',NULL,'Id serie do documento no sei',2),(28,'DOCUMENTO_NIVEL_ACESSO',NULL,'nivel de acesso do documento no sei',2),(29,'SIGLA_SISTEMA',NULL,'Sigla do sistema no sei',2),(30,'IDENTIFICACAO_SERVICO',NULL,'Identificação do serviço no sei',2),(31,'ID_UNIDADE',NULL,'Id da unidade no sei',2),(32,'CAPTCHA_SITE_KEY',NULL,'SITE_KEY do serviço de captcha do google',5),(33,'CAPTCHA_SECRET_KEY',NULL,'SECRET_KEY do serviço de captcha do google',5) | |
| 90 | 90 | /*!40000 ALTER TABLE `configuracao` ENABLE KEYS */; |
| 91 | 91 | UNLOCK TABLES; |
| 92 | 92 | ... | ... |
src/main/java/Sei/TesteIncluirDocumento.java
| 1 | 1 | package Sei; |
| 2 | 2 | |
| 3 | -import fi.solita.clamav.ClamAVClient; | |
| 4 | 3 | import org.apache.commons.io.FileUtils; |
| 5 | 4 | import org.springframework.util.Base64Utils; |
| 6 | 5 | |
| 7 | 6 | import java.io.File; |
| 8 | -import java.io.FileInputStream; | |
| 9 | 7 | import java.net.URL; |
| 10 | 8 | import java.text.Normalizer; |
| 11 | 9 | |
| ... | ... | @@ -26,20 +24,22 @@ public class TesteIncluirDocumento { |
| 26 | 24 | |
| 27 | 25 | System.out.println(part2);*/ |
| 28 | 26 | |
| 29 | - ClamAVClient cl = new ClamAVClient("10.209.40.206", 3310); | |
| 30 | - final byte[] reply; | |
| 31 | - try { | |
| 32 | - System.out.println("Tudo limpo."); | |
| 33 | - reply = cl.scan(new FileInputStream("/home/dario/Documentos/virus.pdf")); | |
| 34 | - | |
| 35 | - } catch (Exception e) { | |
| 36 | - throw new RuntimeException(e); | |
| 37 | - } | |
| 38 | - if (!ClamAVClient.isCleanReply(reply)) { | |
| 39 | - System.out.println("Virus encontrado."); | |
| 40 | - } else { | |
| 41 | - System.out.println("Tudo limpo."); | |
| 42 | - } | |
| 27 | +// ClamAVClient cl = new ClamAVClient("10.209.40.206", 3310); | |
| 28 | +// final byte[] reply; | |
| 29 | +// try { | |
| 30 | +// System.out.println("Tudo limpo."); | |
| 31 | +// reply = cl.scan(new FileInputStream("/home/dario/Documentos/virus.pdf")); | |
| 32 | +// | |
| 33 | +// } catch (Exception e) { | |
| 34 | +// throw new RuntimeException(e); | |
| 35 | +// } | |
| 36 | +// if (!ClamAVClient.isCleanReply(reply)) { | |
| 37 | +// System.out.println("Virus encontrado."); | |
| 38 | +// } else { | |
| 39 | +// System.out.println("Tudo limpo."); | |
| 40 | +// } | |
| 41 | + enviar(); | |
| 42 | + | |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | |
| ... | ... | @@ -52,11 +52,11 @@ public class TesteIncluirDocumento { |
| 52 | 52 | // System.out.println(path.resolve("PaytoStudy_Student_Guide_HiBonjour_PT.pdf").toFile().getAbsolutePath()); |
| 53 | 53 | |
| 54 | 54 | // |
| 55 | - URL urlEndpoint = new URL("https://seitreina.nuvem.gov.br/sei/ws/SeiWS.php"); | |
| 55 | + URL urlEndpoint = new URL("http://siphom.fazenda.gov.br/sei/ws/SeiWS.php"); | |
| 56 | 56 | SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); |
| 57 | 57 | |
| 58 | 58 | Assunto assunto = new Assunto(); |
| 59 | - assunto.setCodigoEstruturado("520.1"); //Tipo de assunto | |
| 59 | + assunto.setCodigoEstruturado("900"); //Tipo de assunto | |
| 60 | 60 | Assunto[] assuntos = {assunto}; |
| 61 | 61 | |
| 62 | 62 | Procedimento procedimento = new Procedimento(); |
| ... | ... | @@ -72,33 +72,28 @@ public class TesteIncluirDocumento { |
| 72 | 72 | |
| 73 | 73 | procedimento.setObservacao("Obs"); |
| 74 | 74 | procedimento.setNivelAcesso("0"); // 0 = Publico, 1 = Restrito, 2 = Sigiloso |
| 75 | - procedimento.setIdTipoProcedimento("100000346"); // Tipo de Processo => Adesão de atas | |
| 76 | -// | |
| 77 | -// | |
| 78 | -// | |
| 79 | -//// | |
| 80 | -// Documento[] documentos = {documento}; | |
| 81 | -// | |
| 82 | -// RetornoGeracaoProcedimento retornoGeracaoProcedimento = seiBindingStub.gerarProcedimento("UNB", | |
| 83 | -// "testeunb", | |
| 84 | -// "110001972", | |
| 85 | -// procedimento, null, | |
| 86 | -// null, | |
| 87 | -// null, "S", "N", null, null, null, null, null); | |
| 88 | -// | |
| 89 | -// System.out.println("************ RetornoGeracaoProcedimento = " + retornoGeracaoProcedimento.getProcedimentoFormatado()); | |
| 90 | -// System.out.println("************ RetornoGeracaoProcedimento = " + retornoGeracaoProcedimento.getLinkAcesso()); | |
| 75 | + procedimento.setIdTipoProcedimento("100000836"); // Tipo de Processo => Adesão de atas | |
| 76 | + | |
| 77 | + RetornoGeracaoProcedimento retornoGeracaoProcedimento = seiBindingStub.gerarProcedimento("PROT_ELETRONICO", | |
| 78 | + "ProtocolizacaoEletronica", | |
| 79 | + "110000054", | |
| 80 | + procedimento, null, | |
| 81 | + null, | |
| 82 | + null, "S", "N", null, null, null, null, null); | |
| 83 | + | |
| 84 | + System.out.println("************ RetornoGeracaoProcedimento = " + retornoGeracaoProcedimento.getProcedimentoFormatado()); | |
| 85 | + System.out.println("************ RetornoGeracaoProcedimento = " + retornoGeracaoProcedimento.getLinkAcesso()); | |
| 91 | 86 | |
| 92 | 87 | Documento documento = new Documento(); |
| 93 | - documento.setIdProcedimento("03154000037201729"); | |
| 88 | + documento.setIdProcedimento(retornoGeracaoProcedimento.getProcedimentoFormatado()); | |
| 94 | 89 | documento.setDescricao("Meu documento 5"); |
| 95 | 90 | documento.setNomeArquivo("PaytoStudy_Student_Guide_HiBonjour_PT.pdf"); |
| 96 | - documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(new File("/home/leonardo/Downloads/PaytoStudy_Student_Guide_HiBonjour_PT.pdf")))); | |
| 91 | + documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(new File("/home/matheus/teste.pdf")))); | |
| 97 | 92 | documento.setTipo("R"); |
| 98 | 93 | documento.setIdSerie("1"); |
| 99 | - documento.setData("16/08/2017"); | |
| 94 | + documento.setData("02/04/2019"); | |
| 100 | 95 | |
| 101 | - RetornoInclusaoDocumento retornoInclusaoDocumento = seiBindingStub.incluirDocumento("UNB", "testeunb", "110001972", documento); | |
| 96 | + RetornoInclusaoDocumento retornoInclusaoDocumento = seiBindingStub.incluirDocumento("PROT_ELETRONICO", "ProtocolizacaoEletronica", "110000054", documento); | |
| 102 | 97 | System.out.println("Link = " + retornoInclusaoDocumento.getLinkAcesso()); |
| 103 | 98 | } |
| 104 | 99 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/clamav/ClamavUtil.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.clamav; |
| 2 | 2 | |
| 3 | -import fi.solita.clamav.ClamAVClient; | |
| 4 | 3 | import org.springframework.beans.factory.annotation.Autowired; |
| 5 | -import org.springframework.context.annotation.PropertySource; | |
| 6 | 4 | import org.springframework.core.env.Environment; |
| 7 | 5 | import org.springframework.stereotype.Component; |
| 8 | 6 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/config/BrasilCidadaoConfig.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.config; |
| 2 | 2 | |
| 3 | -import java.security.KeyManagementException; | |
| 4 | -import java.security.NoSuchAlgorithmException; | |
| 5 | -import java.security.cert.CertificateException; | |
| 6 | -import java.security.cert.X509Certificate; | |
| 7 | -import java.util.Base64; | |
| 8 | -import java.util.HashMap; | |
| 9 | -import java.util.Map; | |
| 10 | -import java.util.Random; | |
| 11 | - | |
| 12 | -import javax.net.ssl.HttpsURLConnection; | |
| 13 | -import javax.net.ssl.SSLContext; | |
| 14 | -import javax.net.ssl.TrustManager; | |
| 15 | -import javax.net.ssl.X509TrustManager; | |
| 16 | - | |
| 17 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 18 | -import org.springframework.context.annotation.PropertySource; | |
| 19 | -import org.springframework.core.env.Environment; | |
| 20 | -import org.springframework.http.HttpHeaders; | |
| 21 | -import org.springframework.http.MediaType; | |
| 22 | 3 | |
| 23 | 4 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; |
| 24 | 5 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 25 | - | |
| 6 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 26 | 7 | import org.springframework.context.annotation.Bean; |
| 27 | 8 | import org.springframework.context.annotation.Configuration; |
| 28 | 9 | |
| 10 | +import javax.net.ssl.HttpsURLConnection; | |
| 11 | +import javax.net.ssl.SSLContext; | |
| 12 | +import javax.net.ssl.TrustManager; | |
| 13 | +import javax.net.ssl.X509TrustManager; | |
| 14 | +import java.net.URLEncoder; | |
| 15 | +import java.security.KeyManagementException; | |
| 16 | +import java.security.NoSuchAlgorithmException; | |
| 17 | +import java.security.cert.CertificateException; | |
| 18 | +import java.security.cert.X509Certificate; | |
| 19 | +import java.util.Random; | |
| 20 | + | |
| 29 | 21 | |
| 30 | 22 | @Configuration |
| 31 | 23 | //@PropertySource(value = {"file:${HOME}/.protocolo-config/protocolo-brasilCidadao.properties"}) |
| ... | ... | @@ -34,86 +26,88 @@ public class BrasilCidadaoConfig { |
| 34 | 26 | |
| 35 | 27 | @Autowired |
| 36 | 28 | private ConfiguracaoRepository configuracaoRepository; |
| 37 | - | |
| 29 | + | |
| 38 | 30 | Random gerador = new Random(); |
| 39 | - | |
| 40 | - public String gerarUrlAutorizar(){ | |
| 41 | - disableSSLCertificateChecking(); | |
| 42 | - String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_AUTORIZAR)+"?response_type=code&client_id="+ | |
| 43 | - configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_ID)+"&redirect_uri="+ | |
| 44 | - configuracaoRepository.recuperarValor(ConfiguracaoEnum.REDIRECT_URI)+"&nonce="+gerador.hashCode()+ | |
| 45 | - "&state="+gerador.hashCode(); | |
| 46 | - return url; | |
| 47 | - } | |
| 48 | - public String gerarUrlToken(){ | |
| 49 | - String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_TOKEN); | |
| 50 | - return url; | |
| 51 | - } | |
| 52 | - public String gerarUrlDadosUsuarios(String token){ | |
| 53 | - String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_DADOS_USUARIO)+ | |
| 54 | - configuracaoRepository.recuperarValor(ConfiguracaoEnum.ESCOPO)+"?access_token="+token; | |
| 55 | - return url; | |
| 56 | - } | |
| 57 | - @Bean(name = "urlBrasilCidadao") | |
| 58 | - public UrlBrasilCidadao gerarUrlBrasilCidadao(){ | |
| 59 | - String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_BRASIL_CIDADAO); | |
| 60 | - return () -> url; | |
| 61 | - } | |
| 62 | - @Bean(name = "urlPrimeiroAcesso") | |
| 63 | - public UrlPrimeiroAcesso gerarUrlPrimeiroAcesso(){ | |
| 64 | - String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_PRIMEIRO_ACESSO); | |
| 65 | - return () -> url; | |
| 66 | - } | |
| 67 | - | |
| 68 | - public String gerarRequisicaoAtributo(String code){ | |
| 69 | - String reqAtr = | |
| 70 | - "grant_type=authorization_code&"+ | |
| 71 | - "code="+code+"&"+ | |
| 72 | - "redirect_uri="+configuracaoRepository.recuperarValor(ConfiguracaoEnum.REDIRECT_URI); | |
| 73 | - | |
| 74 | - return reqAtr; | |
| 75 | - } | |
| 76 | - public HttpHeaders gerarRequisicaoHeader(){ | |
| 77 | - HttpHeaders headers = new HttpHeaders(); | |
| 78 | - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 79 | - headers.add(headers.AUTHORIZATION, "Basic "+Base64.getEncoder().encodeToString(( | |
| 80 | - configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_ID)+":"+ | |
| 81 | - configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_SECRET)).getBytes())); | |
| 82 | - return headers; | |
| 83 | - } | |
| 84 | - | |
| 85 | - | |
| 86 | - private void disableSSLCertificateChecking() { | |
| 87 | - TrustManager[] trustAllCerts = new TrustManager[] { | |
| 88 | - new X509TrustManager() { | |
| 89 | - public X509Certificate[] getAcceptedIssuers() { | |
| 90 | - return null; | |
| 91 | - } | |
| 92 | - @Override | |
| 93 | - public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { | |
| 94 | - // Not implemented | |
| 95 | - } | |
| 96 | - @Override public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { | |
| 97 | - // Not implemented | |
| 98 | - } | |
| 99 | - } | |
| 100 | - }; | |
| 101 | - try { | |
| 102 | - SSLContext sc = SSLContext.getInstance("TLS"); | |
| 103 | - sc.init(null, trustAllCerts, new java.security.SecureRandom()); | |
| 104 | - HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); | |
| 105 | - | |
| 106 | - } catch (KeyManagementException e) { | |
| 107 | - e.printStackTrace(); | |
| 108 | - } catch (NoSuchAlgorithmException e) { | |
| 109 | - e.printStackTrace(); | |
| 110 | - } | |
| 111 | - } | |
| 112 | - public interface UrlBrasilCidadao { | |
| 31 | + | |
| 32 | + public String gerarUrlAutorizar(){ | |
| 33 | + disableSSLCertificateChecking(); | |
| 34 | + String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_AUTORIZAR)+"?response_type=code&client_id="+ | |
| 35 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_ID)+ "&scope=" | |
| 36 | + + configuracaoRepository.recuperarValor(ConfiguracaoEnum.SCOPE) + "&redirect_uri=" + | |
| 37 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.REDIRECT_URI)+"&nonce="+gerador.hashCode()+ | |
| 38 | + "&state="+gerador.hashCode(); | |
| 39 | + return url; | |
| 40 | + } | |
| 41 | + | |
| 42 | + @Bean(name = "urlBrasilCidadao") | |
| 43 | + public UrlBrasilCidadao gerarUrlBrasilCidadao(){ | |
| 44 | + String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_BRASIL_CIDADAO); | |
| 45 | + return () -> url; | |
| 46 | + } | |
| 47 | + @Bean(name = "urlPrimeiroAcesso") | |
| 48 | + public UrlPrimeiroAcesso gerarUrlPrimeiroAcesso(){ | |
| 49 | + String url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_PRIMEIRO_ACESSO); | |
| 50 | + return () -> url; | |
| 51 | + } | |
| 52 | + | |
| 53 | + private void disableSSLCertificateChecking() { | |
| 54 | + TrustManager[] trustAllCerts = new TrustManager[] { | |
| 55 | + new X509TrustManager() { | |
| 56 | + public X509Certificate[] getAcceptedIssuers() { | |
| 57 | + return null; | |
| 58 | + } | |
| 59 | + @Override | |
| 60 | + public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { | |
| 61 | + // Not implemented | |
| 62 | + } | |
| 63 | + @Override public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { | |
| 64 | + // Not implemented | |
| 65 | + } | |
| 66 | + } | |
| 67 | + }; | |
| 68 | + try { | |
| 69 | + SSLContext sc = SSLContext.getInstance("TLS"); | |
| 70 | + sc.init(null, trustAllCerts, new java.security.SecureRandom()); | |
| 71 | + HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); | |
| 72 | + | |
| 73 | + } catch (KeyManagementException e) { | |
| 74 | + e.printStackTrace(); | |
| 75 | + } catch (NoSuchAlgorithmException e) { | |
| 76 | + e.printStackTrace(); | |
| 77 | + } | |
| 78 | + } | |
| 79 | + public interface UrlBrasilCidadao { | |
| 113 | 80 | String getUrlBrasilCidadao(); |
| 114 | 81 | } |
| 115 | 82 | |
| 116 | - public interface UrlPrimeiroAcesso { | |
| 83 | + public interface UrlPrimeiroAcesso { | |
| 117 | 84 | String getUrlPrimeiroAcesso(); |
| 118 | 85 | } |
| 86 | + | |
| 87 | + public String gerarURLToken(String code){ | |
| 88 | + String url = ""; | |
| 89 | + try { | |
| 90 | + url = configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_TOKEN) + "?grant_type=authorization_code&code=" | |
| 91 | + + code + "&redirect_uri=" + URLEncoder.encode(configuracaoRepository.recuperarValor(ConfiguracaoEnum.REDIRECT_URI), "UTF-8") ; | |
| 92 | + }catch (Exception e){ | |
| 93 | + e.printStackTrace(); | |
| 94 | + } | |
| 95 | + return url; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public String obterClientSecret(){ | |
| 99 | + return configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_SECRET); | |
| 100 | + } | |
| 101 | + | |
| 102 | + public String obterClientID(){ | |
| 103 | + return configuracaoRepository.recuperarValor(ConfiguracaoEnum.CLIENT_ID); | |
| 104 | + } | |
| 105 | + | |
| 106 | + public String obterURLBrasilCidadao(){ | |
| 107 | + return configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_BRASIL_CIDADAO); | |
| 108 | + } | |
| 109 | + | |
| 110 | + public String obterURLDadosUsuario(){ | |
| 111 | + return configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_DADOS_USUARIO); | |
| 112 | + } | |
| 119 | 113 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/config/MailConfig.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.config; |
| 2 | 2 | |
| 3 | +import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 3 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | 6 | import org.springframework.context.annotation.Bean; |
| 5 | 7 | import org.springframework.context.annotation.Configuration; |
| 6 | -import org.springframework.context.annotation.PropertySource; | |
| 7 | -import org.springframework.core.env.Environment; | |
| 8 | 8 | import org.springframework.mail.javamail.JavaMailSender; |
| 9 | 9 | import org.springframework.mail.javamail.JavaMailSenderImpl; |
| 10 | 10 | |
| 11 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 12 | -import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 13 | - | |
| 14 | 11 | import java.util.Properties; |
| 15 | 12 | |
| 16 | 13 | @Configuration | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/config/SecurityConfig.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.config; |
| 2 | 2 | |
| 3 | +import br.gov.planejamento.dipla.protocolo.handler.LogoutBrasilCidadaoHandler; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.security.CustomAuthenticationFailureHandler; | |
| 3 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | 6 | import org.springframework.context.annotation.Bean; |
| 5 | -import org.springframework.context.annotation.Configuration; | |
| 6 | -import org.springframework.core.annotation.Order; | |
| 7 | 7 | import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; |
| 8 | 8 | import org.springframework.security.config.annotation.web.builders.HttpSecurity; |
| 9 | 9 | import org.springframework.security.config.annotation.web.builders.WebSecurity; |
| ... | ... | @@ -12,14 +12,8 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur |
| 12 | 12 | import org.springframework.security.core.userdetails.UserDetailsService; |
| 13 | 13 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| 14 | 14 | import org.springframework.security.crypto.password.PasswordEncoder; |
| 15 | -import org.springframework.security.web.authentication.AuthenticationFailureHandler; | |
| 16 | -import org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint; | |
| 17 | -import org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter; | |
| 18 | 15 | import org.springframework.security.web.util.matcher.AntPathRequestMatcher; |
| 19 | 16 | |
| 20 | -import br.gov.planejamento.dipla.protocolo.handler.LogoutBrasilCidadaoHandler; | |
| 21 | -import br.gov.planejamento.dipla.protocolo.security.CustomAuthenticationFailureHandler; | |
| 22 | - | |
| 23 | 17 | |
| 24 | 18 | |
| 25 | 19 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/config/ServiceConfig.java
| ... | ... | @@ -7,12 +7,8 @@ import br.gov.planejamento.dipla.protocolo.storage.local.ArquivoStorageLocal; |
| 7 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 8 | 8 | import org.springframework.context.annotation.Bean; |
| 9 | 9 | import org.springframework.context.annotation.Configuration; |
| 10 | -import org.springframework.context.annotation.PropertySource; | |
| 11 | -import org.springframework.core.env.Environment; | |
| 12 | 10 | import org.springframework.util.StringUtils; |
| 13 | 11 | |
| 14 | -import java.io.IOException; | |
| 15 | -import java.nio.file.Files; | |
| 16 | 12 | import java.nio.file.Path; |
| 17 | 13 | |
| 18 | 14 | import static java.nio.file.FileSystems.getDefault; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/controllers/ArquivosController.java
| ... | ... | @@ -10,12 +10,9 @@ import br.gov.planejamento.dipla.protocolo.repositories.ArquivosRepository; |
| 10 | 10 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 11 | 11 | import br.gov.planejamento.dipla.protocolo.storage.ArquivoStorage; |
| 12 | 12 | import br.gov.planejamento.dipla.protocolo.storage.ArquivoStorageRunnable; |
| 13 | -import org.apache.tomcat.util.threads.ThreadPoolExecutor; | |
| 14 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | 14 | import org.springframework.http.MediaType; |
| 16 | 15 | import org.springframework.http.ResponseEntity; |
| 17 | -import org.springframework.scheduling.config.Task; | |
| 18 | -import org.springframework.security.access.method.P; | |
| 19 | 16 | import org.springframework.web.bind.annotation.*; |
| 20 | 17 | import org.springframework.web.context.request.async.DeferredResult; |
| 21 | 18 | import org.springframework.web.multipart.MultipartFile; |
| ... | ... | @@ -23,13 +20,10 @@ import org.springframework.web.servlet.ModelAndView; |
| 23 | 20 | import org.springframework.web.util.UriUtils; |
| 24 | 21 | |
| 25 | 22 | import javax.servlet.http.HttpServletRequest; |
| 23 | +import java.io.File; | |
| 26 | 24 | import java.io.IOException; |
| 27 | -import java.net.MalformedURLException; | |
| 28 | -import java.net.URLEncoder; | |
| 29 | -import java.nio.file.Files; | |
| 30 | 25 | import java.util.Base64; |
| 31 | 26 | import java.util.List; |
| 32 | -import java.io.*; | |
| 33 | 27 | |
| 34 | 28 | |
| 35 | 29 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/controllers/ConfiguracaoController.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.controllers; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig.UrlBrasilCidadao; | |
| 4 | 3 | import br.gov.planejamento.dipla.protocolo.controllers.page.PageWrapper; |
| 5 | -import br.gov.planejamento.dipla.protocolo.controllers.sessions.ArquivosSession; | |
| 6 | -import br.gov.planejamento.dipla.protocolo.dto.ArquivoDTO; | |
| 7 | -import br.gov.planejamento.dipla.protocolo.dto.MetadadosDTO; | |
| 8 | 4 | import br.gov.planejamento.dipla.protocolo.entities.Configuracao; |
| 9 | 5 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEmail; |
| 10 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 11 | -import br.gov.planejamento.dipla.protocolo.entities.EmailEnum; | |
| 12 | 6 | import br.gov.planejamento.dipla.protocolo.entities.Metadado; |
| 13 | -import br.gov.planejamento.dipla.protocolo.entities.MetadadosEmail; | |
| 14 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 15 | -import br.gov.planejamento.dipla.protocolo.entities.StatusEnum; | |
| 16 | -import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; | |
| 17 | 7 | import br.gov.planejamento.dipla.protocolo.mail.Mailer; |
| 18 | 8 | import br.gov.planejamento.dipla.protocolo.repositories.ClassificacaoRepository; |
| 19 | 9 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoEmailRepository; |
| 20 | 10 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 21 | -import br.gov.planejamento.dipla.protocolo.repositories.ProtocoloRepository; | |
| 22 | -import br.gov.planejamento.dipla.protocolo.repositories.TiposDocumentoRepository; | |
| 23 | -import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 24 | 11 | import br.gov.planejamento.dipla.protocolo.repositories.filter.ConfiguracaoFilter; |
| 25 | -import br.gov.planejamento.dipla.protocolo.repositories.filter.ProtocoloFilter; | |
| 26 | -import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; | |
| 27 | -import br.gov.planejamento.dipla.protocolo.services.AutoCadastroService; | |
| 28 | 12 | import br.gov.planejamento.dipla.protocolo.services.ConfiguracaoEmailService; |
| 29 | 13 | import br.gov.planejamento.dipla.protocolo.services.ConfiguracaoService; |
| 30 | -import br.gov.planejamento.dipla.protocolo.services.EnviarProtocoloService; | |
| 31 | -import br.gov.planejamento.dipla.protocolo.services.SalvarProtocoloService; | |
| 32 | -import br.gov.planejamento.dipla.protocolo.services.UnidadeService; | |
| 33 | -import br.gov.planejamento.dipla.protocolo.services.ProtocoloFlagService; | |
| 34 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| 35 | -import org.springframework.beans.factory.annotation.Value; | |
| 36 | -import org.springframework.context.annotation.Bean; | |
| 37 | 15 | import org.springframework.data.domain.Pageable; |
| 38 | 16 | import org.springframework.data.web.PageableDefault; |
| 39 | -import org.springframework.http.MediaType; | |
| 40 | -import org.springframework.http.ResponseEntity; | |
| 41 | -import org.springframework.security.core.annotation.AuthenticationPrincipal; | |
| 42 | 17 | import org.springframework.stereotype.Controller; |
| 43 | -import org.springframework.util.CollectionUtils; | |
| 44 | -import org.springframework.util.StringUtils; | |
| 45 | 18 | import org.springframework.validation.BindingResult; |
| 46 | -import org.springframework.web.bind.annotation.*; | |
| 19 | +import org.springframework.web.bind.annotation.GetMapping; | |
| 20 | +import org.springframework.web.bind.annotation.PathVariable; | |
| 21 | +import org.springframework.web.bind.annotation.PostMapping; | |
| 22 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 47 | 23 | import org.springframework.web.servlet.ModelAndView; |
| 48 | 24 | import org.springframework.web.servlet.mvc.support.RedirectAttributes; |
| 49 | -import java.util.Optional; | |
| 50 | -import br.gov.planejamento.dipla.protocolo.response.Response; | |
| 51 | -import br.gov.planejamento.dipla.protocolo.dto.ProtocoloFlagDTO; | |
| 52 | 25 | |
| 53 | 26 | import javax.servlet.http.HttpServletRequest; |
| 54 | 27 | import javax.validation.Valid; |
| 55 | - | |
| 56 | -import java.util.ArrayList; | |
| 57 | -import java.util.Date; | |
| 58 | 28 | import java.util.Iterator; |
| 59 | 29 | import java.util.List; |
| 60 | -import java.util.UUID; | |
| 61 | -import org.springframework.validation.ObjectError; | |
| 62 | 30 | |
| 63 | 31 | |
| 64 | 32 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/controllers/LoginController.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.controllers; |
| 2 | 2 | |
| 3 | +import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; | |
| 5 | +import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 6 | +import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 7 | +import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 8 | +import br.gov.planejamento.dipla.protocolo.security.LoginAttemptService; | |
| 9 | +import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; | |
| 10 | +import br.gov.planejamento.dipla.protocolo.services.AutoCadastroService; | |
| 11 | +import br.gov.planejamento.dipla.protocolo.services.BrasilCidadaoService; | |
| 3 | 12 | import org.slf4j.Logger; |
| 4 | 13 | import org.slf4j.LoggerFactory; |
| 5 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | 15 | import org.springframework.beans.factory.annotation.Value; |
| 7 | -import org.springframework.http.HttpEntity; | |
| 8 | -import org.springframework.http.HttpMethod; | |
| 9 | -import org.springframework.http.ResponseEntity; | |
| 10 | -import org.springframework.http.converter.StringHttpMessageConverter; | |
| 11 | -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | |
| 12 | -import org.springframework.security.core.GrantedAuthority; | |
| 13 | 16 | import org.springframework.security.core.annotation.AuthenticationPrincipal; |
| 14 | -import org.springframework.security.core.authority.SimpleGrantedAuthority; | |
| 15 | 17 | import org.springframework.security.core.context.SecurityContextHolder; |
| 16 | 18 | import org.springframework.security.core.userdetails.User; |
| 17 | -import org.springframework.security.crypto.password.PasswordEncoder; | |
| 18 | 19 | import org.springframework.stereotype.Controller; |
| 19 | -import org.springframework.web.bind.annotation.*; | |
| 20 | 20 | import org.springframework.web.bind.annotation.GetMapping; |
| 21 | -import org.springframework.web.bind.annotation.PathVariable; | |
| 22 | 21 | import org.springframework.web.bind.annotation.RequestMapping; |
| 23 | -import org.springframework.web.bind.annotation.RequestMethod; | |
| 24 | 22 | import org.springframework.web.bind.annotation.RequestParam; |
| 25 | 23 | import org.springframework.web.servlet.ModelAndView; |
| 26 | 24 | |
| 27 | -import com.fasterxml.jackson.core.JsonParseException; | |
| 28 | -import com.fasterxml.jackson.databind.JsonMappingException; | |
| 29 | -import com.fasterxml.jackson.databind.ObjectMapper; | |
| 30 | - | |
| 31 | -import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; | |
| 32 | -import br.gov.planejamento.dipla.protocolo.dto.TokenRetornoDto; | |
| 33 | -import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; | |
| 34 | -import br.gov.planejamento.dipla.protocolo.entities.Grupo; | |
| 35 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 36 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 37 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 38 | -import br.gov.planejamento.dipla.protocolo.mail.Mailer; | |
| 39 | -import br.gov.planejamento.dipla.protocolo.repositories.*; | |
| 40 | -import br.gov.planejamento.dipla.protocolo.security.BrasilCidadaoUserDetails; | |
| 41 | -import br.gov.planejamento.dipla.protocolo.security.LoginAttemptService; | |
| 42 | -import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; | |
| 43 | -import br.gov.planejamento.dipla.protocolo.services.AutoCadastroService; | |
| 44 | -import br.gov.planejamento.dipla.protocolo.services.BrasilCidadaoService; | |
| 45 | -import br.gov.planejamento.dipla.protocolo.services.CadastroUsuarioService; | |
| 46 | - | |
| 47 | -import java.io.IOException; | |
| 48 | -import java.nio.charset.Charset; | |
| 49 | -import java.util.ArrayList; | |
| 50 | -import java.util.Arrays; | |
| 51 | -import java.util.Collection; | |
| 52 | -import java.util.Enumeration; | |
| 53 | -import java.util.HashSet; | |
| 25 | +import javax.servlet.http.HttpServletRequest; | |
| 54 | 26 | import java.util.List; |
| 55 | 27 | import java.util.Optional; |
| 56 | -import java.util.Set; | |
| 57 | - | |
| 58 | - | |
| 59 | -import javax.servlet.http.HttpServletRequest; | |
| 60 | 28 | |
| 61 | 29 | /** |
| 62 | 30 | * @author Leonardo Dias |
| ... | ... | @@ -143,18 +111,21 @@ public class LoginController { |
| 143 | 111 | mv.addObject("email",usuarioretorno.getEmail()); |
| 144 | 112 | |
| 145 | 113 | }else if(!usuarioBrasilCidadao.isPresent()) { |
| 146 | - | |
| 147 | - //Primeiro Acesso | |
| 148 | - if(!usuarioEmailExistente.isPresent()) { | |
| 149 | - autoCadastroService.cadastrarBrasilCidadao(usuarioretorno); | |
| 150 | - } | |
| 151 | - autoCadastroService.migrarBrasilCidadao(usuarioretorno); | |
| 152 | - autoCadastroService.enviarConsiliacaoUsuario(usuarioBrasilCidadao.get(),usuarioretorno.getEmail(),baseUrl); | |
| 153 | - mv.addObject("modalConfirmacaoBrasilCidadao",true); | |
| 154 | - mv.addObject("email",usuarioretorno.getEmail()); | |
| 155 | - } | |
| 156 | - | |
| 157 | - } | |
| 114 | + | |
| 115 | + Usuario usuario = new Usuario(); | |
| 116 | + | |
| 117 | + //Primeiro Acesso | |
| 118 | + if(!usuarioEmailExistente.isPresent()) { | |
| 119 | + usuario = autoCadastroService.cadastrarBrasilCidadao(usuarioretorno); | |
| 120 | + }else{ | |
| 121 | + usuario = usuarioEmailExistente.get(); | |
| 122 | + } | |
| 123 | + UsuarioBrasilCidadao usuarioBrasilCidadaoRetorno = autoCadastroService.migrarBrasilCidadao(usuarioretorno, usuario); | |
| 124 | + autoCadastroService.enviarConsiliacaoUsuario(usuarioBrasilCidadaoRetorno, usuario.getEmail(),baseUrl); | |
| 125 | + mv.addObject("modalConfirmacaoBrasilCidadao",true); | |
| 126 | + mv.addObject("email",usuarioretorno.getEmail()); | |
| 127 | + } | |
| 128 | + } | |
| 158 | 129 | }catch (Exception e){ |
| 159 | 130 | msgErro=e.getMessage(); |
| 160 | 131 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/controllers/ProtocoloController.java
| ... | ... | @@ -3,16 +3,18 @@ package br.gov.planejamento.dipla.protocolo.controllers; |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.controllers.page.PageWrapper; |
| 4 | 4 | import br.gov.planejamento.dipla.protocolo.controllers.sessions.ArquivosSession; |
| 5 | 5 | import br.gov.planejamento.dipla.protocolo.dto.ArquivoDTO; |
| 6 | +import br.gov.planejamento.dipla.protocolo.dto.ProtocoloFlagDTO; | |
| 6 | 7 | import br.gov.planejamento.dipla.protocolo.entities.Protocolo; |
| 7 | 8 | import br.gov.planejamento.dipla.protocolo.entities.StatusEnum; |
| 8 | 9 | import br.gov.planejamento.dipla.protocolo.repositories.ProtocoloRepository; |
| 9 | 10 | import br.gov.planejamento.dipla.protocolo.repositories.TiposDocumentoRepository; |
| 10 | 11 | import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; |
| 11 | 12 | import br.gov.planejamento.dipla.protocolo.repositories.filter.ProtocoloFilter; |
| 13 | +import br.gov.planejamento.dipla.protocolo.response.Response; | |
| 12 | 14 | import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; |
| 13 | 15 | import br.gov.planejamento.dipla.protocolo.services.*; |
| 16 | +import org.hibernate.service.spi.ServiceException; | |
| 14 | 17 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | -import org.springframework.beans.factory.annotation.Value; | |
| 16 | 18 | import org.springframework.data.domain.Pageable; |
| 17 | 19 | import org.springframework.data.web.PageableDefault; |
| 18 | 20 | import org.springframework.http.ResponseEntity; |
| ... | ... | @@ -23,391 +25,396 @@ import org.springframework.util.StringUtils; |
| 23 | 25 | import org.springframework.validation.BindingResult; |
| 24 | 26 | import org.springframework.web.bind.annotation.*; |
| 25 | 27 | import org.springframework.web.servlet.ModelAndView; |
| 28 | +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; | |
| 26 | 29 | import org.springframework.web.servlet.mvc.support.RedirectAttributes; |
| 27 | 30 | |
| 28 | -import java.io.IOException; | |
| 29 | -import java.util.Optional; | |
| 30 | -import br.gov.planejamento.dipla.protocolo.response.Response; | |
| 31 | -import br.gov.planejamento.dipla.protocolo.dto.ProtocoloFlagDTO; | |
| 32 | - | |
| 33 | 31 | import javax.servlet.http.HttpServletRequest; |
| 34 | 32 | import javax.validation.Valid; |
| 35 | - | |
| 36 | -import java.util.HashMap; | |
| 33 | +import java.io.IOException; | |
| 37 | 34 | import java.util.List; |
| 38 | -import java.util.Map; | |
| 35 | +import java.util.Optional; | |
| 39 | 36 | import java.util.UUID; |
| 40 | 37 | import java.util.concurrent.CompletableFuture; |
| 41 | 38 | |
| 42 | -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; | |
| 43 | - | |
| 44 | -import org.hibernate.service.spi.ServiceException; | |
| 45 | - | |
| 46 | - | |
| 47 | 39 | /** |
| 48 | 40 | * @author Leonardo Dias |
| 49 | 41 | */ |
| 50 | 42 | @Controller |
| 51 | 43 | public class ProtocoloController { |
| 52 | 44 | |
| 53 | - @Autowired | |
| 54 | - private ArquivosSession arquivosSession; | |
| 55 | - | |
| 56 | - @Autowired | |
| 57 | - private TiposDocumentoRepository tipoDocumentoRepository; | |
| 58 | - | |
| 59 | - @Autowired | |
| 60 | - private UsuarioRepository usuarioRepository; | |
| 61 | - | |
| 62 | - @Autowired | |
| 63 | - private ProtocoloRepository protocoloRepository; | |
| 64 | - | |
| 65 | - @Autowired | |
| 66 | - private EnviarProtocoloService enviarProtocoloService; | |
| 67 | - | |
| 68 | - @Autowired | |
| 69 | - private SalvarProtocoloService salvarProtocoloService; | |
| 70 | - | |
| 71 | - @Autowired | |
| 72 | - private UnidadeService unidadeService; | |
| 73 | - | |
| 74 | - @Autowired | |
| 75 | - private ProtocoloFlagService protocoloFlagService; | |
| 76 | - | |
| 77 | - @Autowired | |
| 78 | - private EventServerService eventServerService; | |
| 79 | - | |
| 80 | - private final int DEFAULT_PAGEABLE_SIZE = 10; | |
| 81 | - | |
| 82 | - @GetMapping("/") | |
| 83 | - public ModelAndView principal(Protocolo protocolo, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 84 | - List<String> permissoes = usuarioRepository.permissoes(usuarioSistema.getUsuario()); | |
| 85 | - if (permissoes.contains("ROLE_CADASTRO") & usuarioSistema.getUsuario().getTemPerfilBrasilCidadao() == null) { | |
| 86 | - ModelAndView mv = new ModelAndView("Dashboard"); | |
| 87 | - mv.addObject("usuario", usuarioSistema.getUsuario()); | |
| 88 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 89 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 90 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 91 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 92 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 93 | - mv.addObject("unidades", unidadeService.obterUnidades()); | |
| 94 | - return mv; | |
| 95 | - } | |
| 96 | - | |
| 97 | - return enviar(protocolo, usuarioSistema); | |
| 98 | - } | |
| 99 | - | |
| 100 | - @GetMapping("/pendentes") | |
| 101 | - public ModelAndView pesquisaProtocolosPendentes(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 102 | - ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosPendentes"); | |
| 103 | - filter.setStatus(StatusEnum.PENDENTE); | |
| 104 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), httpServletRequest); | |
| 105 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 106 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 107 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 108 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 109 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 110 | - mv.addObject("pagina", paginaWrapper); | |
| 111 | - return mv; | |
| 112 | - } | |
| 113 | - | |
| 114 | - @GetMapping("/aprovados") | |
| 115 | - public ModelAndView pesquisaProtocolosAprovados(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 116 | - ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAprovados"); | |
| 117 | - filter.setStatus(StatusEnum.APROVADO); | |
| 118 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), httpServletRequest); | |
| 119 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 120 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 121 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 122 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 123 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 124 | - mv.addObject("pagina", paginaWrapper); | |
| 125 | - return mv; | |
| 126 | - } | |
| 127 | - | |
| 128 | - @GetMapping("/aprovadosManualmente") | |
| 129 | - public ModelAndView pesquisaProtocolosAprovadosManualmente(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 130 | - ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAprovadosManualmente"); | |
| 131 | - filter.setStatus(StatusEnum.APROVADO_MANUALMENTE); | |
| 132 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), httpServletRequest); | |
| 133 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 134 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 135 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 136 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 137 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 138 | - mv.addObject("pagina", paginaWrapper); | |
| 139 | - return mv; | |
| 140 | - } | |
| 141 | - | |
| 142 | - @GetMapping("/reprovados") | |
| 143 | - public ModelAndView pesquisaProtocolosReprovados(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 144 | - ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosReprovados"); | |
| 145 | - filter.setStatus(StatusEnum.REPROVADO); | |
| 146 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), httpServletRequest); | |
| 147 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 148 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 149 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 150 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 151 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 152 | - mv.addObject("pagina", paginaWrapper); | |
| 153 | - return mv; | |
| 154 | - } | |
| 155 | - | |
| 156 | - @GetMapping("/analisando") | |
| 157 | - public ModelAndView pesquisaProtocolosAnalisando(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 158 | - ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAnalisando"); | |
| 159 | - filter.setStatus(StatusEnum.ANALISANDO); | |
| 160 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), httpServletRequest); | |
| 161 | - mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 162 | - mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 163 | - mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 164 | - mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 165 | - mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 166 | - mv.addObject("pagina", paginaWrapper); | |
| 167 | - return mv; | |
| 168 | - } | |
| 169 | - | |
| 170 | - @GetMapping("/opcoes") | |
| 171 | - public ModelAndView opcoes() { | |
| 172 | - return new ModelAndView("/protocolo/OpcoesProtocolo"); | |
| 173 | - } | |
| 174 | - | |
| 175 | - @GetMapping("/enviar") | |
| 176 | - public ModelAndView enviar(Protocolo protocolo, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 177 | - if (StringUtils.isEmpty(protocolo.getUuid())) { | |
| 178 | - protocolo.setUuid(UUID.randomUUID().toString()); | |
| 179 | - protocolo.setPossuiProtocoloAnterior("N"); | |
| 180 | - } | |
| 181 | - ModelAndView mv = new ModelAndView("/protocolo/CadastroProtocolo"); | |
| 182 | - mv.addObject("usuario", usuarioSistema.getUsuario()); | |
| 183 | - mv.addObject("tiposDocumento", tipoDocumentoRepository.findByAtivo(true)); | |
| 184 | - mv.addObject("unidades", unidadeService.obterUnidades()); | |
| 185 | - return mv; | |
| 186 | - } | |
| 187 | - | |
| 188 | - @PostMapping("/enviar") | |
| 189 | - public ModelAndView enviar(@Valid Protocolo protocolo, BindingResult result, RedirectAttributes attributes, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 190 | - if ("S".equals(protocolo.getPossuiProtocoloAnterior()) && StringUtils.isEmpty(protocolo.getNumeroProtocoloAnterior())) { | |
| 191 | - result.rejectValue("numeroProtocoloAnterior", "Número do protocolo Anterior é obrigatório.", "Número do protocolo Anterior é obrigatório."); | |
| 192 | - return enviar(protocolo, usuarioSistema); | |
| 193 | - } | |
| 194 | - | |
| 195 | - if (result.hasErrors()) { | |
| 196 | - return enviar(protocolo, usuarioSistema); | |
| 197 | - } | |
| 198 | - | |
| 199 | - List<ArquivoDTO> arquivoDTOList = arquivosSession.obterArquivos(protocolo.getUuid()); | |
| 200 | - | |
| 201 | - if (CollectionUtils.isEmpty(arquivoDTOList)) { | |
| 202 | - String msg = "Nenhum arquivo anexado, favor incluir algum arquivo antes de efetuar a protocolização."; | |
| 203 | - result.rejectValue("arquivo", msg, msg); | |
| 204 | - return enviar(protocolo, usuarioSistema); | |
| 205 | - } | |
| 206 | - | |
| 207 | - protocolo.setUsuario(usuarioSistema.getUsuario()); | |
| 208 | - enviarProtocoloService.enviar(protocolo, arquivoDTOList); | |
| 209 | - attributes.addFlashAttribute("mensagem", String.format("Protocolo Nº %s salvo com sucesso.", protocolo.getNumero())); | |
| 210 | - return new ModelAndView("redirect:/enviar"); | |
| 211 | - } | |
| 212 | - | |
| 213 | - @GetMapping("/meus-protocolos") | |
| 214 | - public ModelAndView meusProtocolos(ProtocoloFilter filter, BindingResult result, @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 215 | - ModelAndView mv = new ModelAndView("protocolo/MeusProtocolos"); | |
| 216 | - | |
| 217 | - PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrarMeusProtocolos(usuarioSistema.getUsuario(), filter, pageable), httpServletRequest); | |
| 218 | - mv.addObject("pagina", paginaWrapper); | |
| 219 | - | |
| 220 | - return mv; | |
| 221 | - } | |
| 222 | - | |
| 223 | - @GetMapping("/reenvioRecibo/{codigo}") | |
| 224 | - public @ResponseBody | |
| 225 | - ResponseEntity<?> reenviarRecibo(@PathVariable("codigo") Protocolo protocolo,@RequestParam(value = "email", required = false) String email) { | |
| 226 | - enviarProtocoloService.reenviarRecibo(protocolo,email); | |
| 227 | - Response<String> response = new Response<String>(); | |
| 228 | - String resposta=null; | |
| 229 | - if(!email.isEmpty()||email!=null) { | |
| 230 | - resposta=email; | |
| 231 | - } | |
| 232 | - if(!protocolo.getEmail1().isEmpty()&&protocolo.getEmail1()!=null&&protocolo.getEmail1()!="") { | |
| 233 | - resposta=resposta+" "+protocolo.getEmail1(); | |
| 234 | - } | |
| 235 | - if(!protocolo.getEmail2().isEmpty()&&protocolo.getEmail2()!=null&&protocolo.getEmail2()!="") { | |
| 236 | - resposta=resposta+" "+protocolo.getEmail2(); | |
| 237 | - } | |
| 238 | - if(!protocolo.getUsuario().getEmail().isEmpty()&&protocolo.getUsuario().getEmail()!=null&&protocolo.getUsuario().getEmail()!="") { | |
| 239 | - resposta=resposta+" "+protocolo.getUsuario().getEmail(); | |
| 240 | - } | |
| 241 | - response.setData(resposta); | |
| 242 | - return ResponseEntity.ok(response); | |
| 243 | - } | |
| 244 | - | |
| 245 | - | |
| 246 | - @RequestMapping("/stream") | |
| 247 | - public SseEmitter enableNotifier(){ | |
| 248 | - //SseEmitter notifier = new SseEmitter(); | |
| 249 | - return eventServerService; | |
| 250 | - } | |
| 251 | - | |
| 252 | - @PutMapping("/aprovar/{codigo}") | |
| 253 | - public @ResponseBody | |
| 254 | - ResponseEntity<?> aprovar(@PathVariable("codigo") Protocolo protocolo, @RequestParam(value = "sei", required = false) String sei, @RequestParam(value = "tipo", required = false) String tipo) { | |
| 255 | - //SseEmitter sseEmitter = new SseEmitter(); | |
| 256 | - CompletableFuture.supplyAsync( () -> { | |
| 257 | - try { | |
| 258 | - enviarProtocoloService.enviarSEI( protocolo, sei, tipo ); | |
| 259 | - return "Sincronizado com Sucesso !"; | |
| 260 | - } catch (ServiceException e) { | |
| 261 | - return e.getMessage(); | |
| 262 | - } catch (Exception e) { | |
| 263 | - return e.getMessage(); | |
| 264 | - } | |
| 265 | - } ) | |
| 266 | - .whenCompleteAsync( (result, throwable) -> { | |
| 267 | - try { | |
| 268 | - eventServerService.send( result ); | |
| 269 | - } catch (IOException e) { | |
| 270 | - e.printStackTrace(); | |
| 271 | - } | |
| 272 | - } ) | |
| 273 | - .exceptionally( ex -> { | |
| 274 | - try { | |
| 275 | - eventServerService.send( ex.getMessage() ); | |
| 276 | - } catch (Exception e) { | |
| 277 | - e.printStackTrace(); | |
| 278 | - } | |
| 279 | - return "erro"; | |
| 280 | - } ); | |
| 281 | - | |
| 282 | - return ResponseEntity.ok().build(); | |
| 283 | - } | |
| 284 | - | |
| 285 | - @PutMapping("/aprovarManualmente/{sei}/{codigo}") | |
| 286 | - public @ResponseBody | |
| 287 | - ResponseEntity<?> aprovarManualmente(@PathVariable("sei") String sei, @PathVariable("codigo") Protocolo protocolo) { | |
| 288 | - protocolo.setNupe(sei); | |
| 289 | - salvarProtocoloService.aprovarManualmente(protocolo); | |
| 290 | - return ResponseEntity.ok().build(); | |
| 291 | - } | |
| 292 | - | |
| 293 | - @GetMapping("/aprovarManualmente/{sei}") | |
| 294 | - public ResponseEntity<Response<String>> consultarSei(@PathVariable("sei") String sei) { | |
| 295 | - Optional<String> linkSei = enviarProtocoloService.consultarSei(sei); | |
| 296 | - Response<String> response = new Response<String>(); | |
| 297 | - if (!linkSei.isPresent()) { | |
| 298 | - response.getErrors().add("Nº SEI não encontrado: " + sei); | |
| 299 | - return ResponseEntity.badRequest().body(response); | |
| 300 | - } | |
| 301 | - response.setData(linkSei.get()); | |
| 302 | - return ResponseEntity.ok(response); | |
| 303 | - } | |
| 304 | - | |
| 305 | - @PutMapping("/reprovar/{codigo}") | |
| 306 | - public @ResponseBody | |
| 307 | - ResponseEntity<?> reprovar(@PathVariable("codigo") Protocolo protocolo, @RequestBody String observacao) { | |
| 308 | - protocolo.setObservacao(observacao); | |
| 309 | - enviarProtocoloService.recusar(protocolo); | |
| 310 | - return ResponseEntity.ok().build(); | |
| 311 | - } | |
| 312 | - | |
| 313 | - /** | |
| 314 | - * atulizado o status de pendente para analise na tabela protocolo | |
| 315 | - * | |
| 316 | - * @param protocolo | |
| 317 | - * @return ResponseEntity | |
| 318 | - */ | |
| 319 | - @PutMapping("/atualizarFlag/{codigo}") | |
| 320 | - public @ResponseBody | |
| 321 | - ResponseEntity<?> atualizarflag(@PathVariable("codigo") Protocolo protocolo) { | |
| 322 | - salvarProtocoloService.analisando(protocolo); | |
| 323 | - return ResponseEntity.ok().build(); | |
| 324 | - } | |
| 325 | - | |
| 326 | - /** | |
| 327 | - * atulizado o status para pendente | |
| 328 | - * | |
| 329 | - * @param protocolo | |
| 330 | - * @return ResponseEntity | |
| 331 | - */ | |
| 332 | - @PutMapping("/atuzalizarFlagPendente/{codigo}") | |
| 333 | - public @ResponseBody | |
| 334 | - ResponseEntity<?> atuzalizarFlagPendente(@PathVariable("codigo") Protocolo protocolo) { | |
| 335 | - salvarProtocoloService.pendente(protocolo); | |
| 336 | - return ResponseEntity.ok().build(); | |
| 337 | - } | |
| 338 | - | |
| 339 | - /** | |
| 340 | - * método para reprovar o protocolo | |
| 341 | - * | |
| 342 | - * @param protocolo | |
| 343 | - * @return ResponseEntity | |
| 344 | - */ | |
| 345 | - @PutMapping("/atuzalizarFlagReprovado/{codigo}") | |
| 346 | - public @ResponseBody | |
| 347 | - ResponseEntity<?> atuzalizarFlagReprovado(@PathVariable("codigo") Protocolo protocolo) { | |
| 348 | - salvarProtocoloService.reprovar(protocolo); | |
| 349 | - return ResponseEntity.ok().build(); | |
| 350 | - } | |
| 351 | - | |
| 352 | - /** | |
| 353 | - * método para retirar o protocolo da análise | |
| 354 | - * | |
| 355 | - * @param protocolo | |
| 356 | - * @return ResponseEntity | |
| 357 | - */ | |
| 358 | - @PutMapping("/retirarAnalise") | |
| 359 | - public @ResponseBody | |
| 360 | - ResponseEntity<?> retirarAnalise(@RequestParam("codigo") Protocolo protocolo) { | |
| 361 | - salvarProtocoloService.pendente(protocolo); | |
| 362 | - return ResponseEntity.ok().build(); | |
| 363 | - } | |
| 364 | - | |
| 365 | - /** | |
| 366 | - * método para retirar o protocolo da análise e deixar reprovado | |
| 367 | - * | |
| 368 | - * @param protocolo | |
| 369 | - * @return ResponseEntity | |
| 370 | - */ | |
| 371 | - @PutMapping("/retirarAnaliseReprovado") | |
| 372 | - public @ResponseBody | |
| 373 | - ResponseEntity<?> retirarAnaliseReprovado(@RequestParam("codigo") Protocolo protocolo) { | |
| 374 | - salvarProtocoloService.reprovar(protocolo); | |
| 375 | - return ResponseEntity.ok().build(); | |
| 376 | - } | |
| 377 | - | |
| 378 | - /** | |
| 379 | - * busca o status passado o código | |
| 380 | - * | |
| 381 | - * @param codigo | |
| 382 | - * @return ResponseEntity | |
| 383 | - */ | |
| 384 | - @GetMapping(value = "/buscarFlag/{codigo}") | |
| 385 | - public ResponseEntity<Response<ProtocoloFlagDTO>> buscarStatusPorCodigp(@PathVariable("codigo") Long codigo) { | |
| 386 | - Response<ProtocoloFlagDTO> response = new Response<ProtocoloFlagDTO>(); | |
| 387 | - Optional<Protocolo> protocolo = protocoloFlagService.buscarStatusPorCodigo(codigo); | |
| 388 | - | |
| 389 | - if (!protocolo.isPresent()) { | |
| 390 | - response.getErrors().add("Status não encontrado para o código: " + codigo); | |
| 391 | - return ResponseEntity.badRequest().body(response); | |
| 392 | - } | |
| 393 | - | |
| 394 | - response.setData(this.converterProtocoloFlagDto(protocolo.get())); | |
| 395 | - return ResponseEntity.ok(response); | |
| 396 | - } | |
| 397 | - | |
| 398 | - /** | |
| 399 | - * convertendo a entidade para objeto DTO | |
| 400 | - * | |
| 401 | - * @param protocolo | |
| 402 | - * @return protocoloFlagDTO | |
| 403 | - */ | |
| 404 | - private ProtocoloFlagDTO converterProtocoloFlagDto(Protocolo protocolo) { | |
| 405 | - ProtocoloFlagDTO protocoloFlagDTO = new ProtocoloFlagDTO(); | |
| 406 | - protocoloFlagDTO.setStatus(protocolo.getStatus().toString()); | |
| 407 | - //protocoloFlagDTO.setObservacao(Optional.of(protocolo.getObservacao().toString())); | |
| 408 | - //protocoloFlagDTO.setObservacao().ifPresent(x -> protocolo.getObservacao(x.toString())); | |
| 409 | - protocolo.getObservacaoOpt().ifPresent(observacao -> protocoloFlagDTO.setObservacao(Optional.of(observacao.toString()))); | |
| 410 | - return protocoloFlagDTO; | |
| 411 | - } | |
| 45 | + @Autowired | |
| 46 | + private ArquivosSession arquivosSession; | |
| 47 | + | |
| 48 | + @Autowired | |
| 49 | + private TiposDocumentoRepository tipoDocumentoRepository; | |
| 50 | + | |
| 51 | + @Autowired | |
| 52 | + private UsuarioRepository usuarioRepository; | |
| 53 | + | |
| 54 | + @Autowired | |
| 55 | + private ProtocoloRepository protocoloRepository; | |
| 56 | + | |
| 57 | + @Autowired | |
| 58 | + private EnviarProtocoloService enviarProtocoloService; | |
| 59 | + | |
| 60 | + @Autowired | |
| 61 | + private SalvarProtocoloService salvarProtocoloService; | |
| 62 | + | |
| 63 | + @Autowired | |
| 64 | + private UnidadeService unidadeService; | |
| 65 | + | |
| 66 | + @Autowired | |
| 67 | + private ProtocoloFlagService protocoloFlagService; | |
| 68 | + | |
| 69 | + @Autowired | |
| 70 | + private EventServerService eventServerService; | |
| 71 | + | |
| 72 | + private final int DEFAULT_PAGEABLE_SIZE = 10; | |
| 73 | + | |
| 74 | + @GetMapping("/") | |
| 75 | + public ModelAndView principal(Protocolo protocolo, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 76 | + List<String> permissoes = usuarioRepository.permissoes(usuarioSistema.getUsuario()); | |
| 77 | + if (permissoes.contains("ROLE_CADASTRO") & usuarioSistema.getUsuario().getTemPerfilBrasilCidadao() == null) { | |
| 78 | + ModelAndView mv = new ModelAndView("Dashboard"); | |
| 79 | + mv.addObject("usuario", usuarioSistema.getUsuario()); | |
| 80 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 81 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 82 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 83 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 84 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 85 | + mv.addObject("unidades", unidadeService.obterUnidades()); | |
| 86 | + return mv; | |
| 87 | + } | |
| 88 | + | |
| 89 | + return enviar(protocolo, usuarioSistema); | |
| 90 | + } | |
| 91 | + | |
| 92 | + @GetMapping("/pendentes") | |
| 93 | + public ModelAndView pesquisaProtocolosPendentes(ProtocoloFilter filter, BindingResult result, | |
| 94 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 95 | + ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosPendentes"); | |
| 96 | + filter.setStatus(StatusEnum.PENDENTE); | |
| 97 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), | |
| 98 | + httpServletRequest); | |
| 99 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 100 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 101 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 102 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 103 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 104 | + mv.addObject("pagina", paginaWrapper); | |
| 105 | + return mv; | |
| 106 | + } | |
| 107 | + | |
| 108 | + @GetMapping("/aprovados") | |
| 109 | + public ModelAndView pesquisaProtocolosAprovados(ProtocoloFilter filter, BindingResult result, | |
| 110 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 111 | + ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAprovados"); | |
| 112 | + filter.setStatus(StatusEnum.APROVADO); | |
| 113 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), | |
| 114 | + httpServletRequest); | |
| 115 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 116 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 117 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 118 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 119 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 120 | + mv.addObject("pagina", paginaWrapper); | |
| 121 | + return mv; | |
| 122 | + } | |
| 123 | + | |
| 124 | + @GetMapping("/aprovadosManualmente") | |
| 125 | + public ModelAndView pesquisaProtocolosAprovadosManualmente(ProtocoloFilter filter, BindingResult result, | |
| 126 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 127 | + ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAprovadosManualmente"); | |
| 128 | + filter.setStatus(StatusEnum.APROVADO_MANUALMENTE); | |
| 129 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), | |
| 130 | + httpServletRequest); | |
| 131 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 132 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 133 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 134 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 135 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 136 | + mv.addObject("pagina", paginaWrapper); | |
| 137 | + return mv; | |
| 138 | + } | |
| 139 | + | |
| 140 | + @GetMapping("/reprovados") | |
| 141 | + public ModelAndView pesquisaProtocolosReprovados(ProtocoloFilter filter, BindingResult result, | |
| 142 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 143 | + ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosReprovados"); | |
| 144 | + filter.setStatus(StatusEnum.REPROVADO); | |
| 145 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), | |
| 146 | + httpServletRequest); | |
| 147 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 148 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 149 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 150 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 151 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 152 | + mv.addObject("pagina", paginaWrapper); | |
| 153 | + return mv; | |
| 154 | + } | |
| 155 | + | |
| 156 | + @GetMapping("/analisando") | |
| 157 | + public ModelAndView pesquisaProtocolosAnalisando(ProtocoloFilter filter, BindingResult result, | |
| 158 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest) { | |
| 159 | + ModelAndView mv = new ModelAndView("protocolo/PesquisaProtocolosAnalisando"); | |
| 160 | + filter.setStatus(StatusEnum.ANALISANDO); | |
| 161 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>(protocoloRepository.filtrar(filter, pageable), | |
| 162 | + httpServletRequest); | |
| 163 | + mv.addObject("protocolosAprovados", protocoloRepository.protocolosAprovados()); | |
| 164 | + mv.addObject("protocolosAprovadosManualmente", protocoloRepository.protocolosAprovadosManualmente()); | |
| 165 | + mv.addObject("protocolosReprovados", protocoloRepository.protocolosReprovados()); | |
| 166 | + mv.addObject("protocolosPendentes", protocoloRepository.protocolosPendentes()); | |
| 167 | + mv.addObject("protocolosAnalise", protocoloRepository.protocolosAnalisando()); | |
| 168 | + mv.addObject("pagina", paginaWrapper); | |
| 169 | + return mv; | |
| 170 | + } | |
| 171 | + | |
| 172 | + @GetMapping("/opcoes") | |
| 173 | + public ModelAndView opcoes() { | |
| 174 | + return new ModelAndView("/protocolo/OpcoesProtocolo"); | |
| 175 | + } | |
| 176 | + | |
| 177 | + @GetMapping("/enviar") | |
| 178 | + public ModelAndView enviar(Protocolo protocolo, @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 179 | + if (StringUtils.isEmpty(protocolo.getUuid())) { | |
| 180 | + protocolo.setUuid(UUID.randomUUID().toString()); | |
| 181 | + protocolo.setPossuiProtocoloAnterior("N"); | |
| 182 | + } | |
| 183 | + ModelAndView mv = new ModelAndView("/protocolo/CadastroProtocolo"); | |
| 184 | + mv.addObject("usuario", usuarioSistema.getUsuario()); | |
| 185 | + mv.addObject("tiposDocumento", tipoDocumentoRepository.findByAtivo(true)); | |
| 186 | + mv.addObject("unidades", unidadeService.obterUnidades()); | |
| 187 | + return mv; | |
| 188 | + } | |
| 189 | + | |
| 190 | + @PostMapping("/enviar") | |
| 191 | + public ModelAndView enviar(@Valid Protocolo protocolo, BindingResult result, RedirectAttributes attributes, | |
| 192 | + @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 193 | + if ("S".equals(protocolo.getPossuiProtocoloAnterior()) | |
| 194 | + && StringUtils.isEmpty(protocolo.getNumeroProtocoloAnterior())) { | |
| 195 | + result.rejectValue("numeroProtocoloAnterior", "Número do protocolo Anterior é obrigatório.", | |
| 196 | + "Número do protocolo Anterior é obrigatório."); | |
| 197 | + return enviar(protocolo, usuarioSistema); | |
| 198 | + } | |
| 199 | + | |
| 200 | + if (result.hasErrors()) { | |
| 201 | + return enviar(protocolo, usuarioSistema); | |
| 202 | + } | |
| 203 | + | |
| 204 | + List<ArquivoDTO> arquivoDTOList = arquivosSession.obterArquivos(protocolo.getUuid()); | |
| 205 | + | |
| 206 | + if (CollectionUtils.isEmpty(arquivoDTOList)) { | |
| 207 | + String msg = "Nenhum arquivo anexado, favor incluir algum arquivo antes de efetuar a protocolização."; | |
| 208 | + result.rejectValue("arquivo", msg, msg); | |
| 209 | + return enviar(protocolo, usuarioSistema); | |
| 210 | + } | |
| 211 | + | |
| 212 | + protocolo.setUsuario(usuarioSistema.getUsuario()); | |
| 213 | + enviarProtocoloService.enviar(protocolo, arquivoDTOList); | |
| 214 | + attributes.addFlashAttribute("mensagem", | |
| 215 | + String.format("Protocolo Nº %s salvo com sucesso.", protocolo.getNumero())); | |
| 216 | + return new ModelAndView("redirect:/enviar"); | |
| 217 | + } | |
| 218 | + | |
| 219 | + @GetMapping("/meus-protocolos") | |
| 220 | + public ModelAndView meusProtocolos(ProtocoloFilter filter, BindingResult result, | |
| 221 | + @PageableDefault(size = DEFAULT_PAGEABLE_SIZE) Pageable pageable, HttpServletRequest httpServletRequest, | |
| 222 | + @AuthenticationPrincipal UsuarioSistema usuarioSistema) { | |
| 223 | + ModelAndView mv = new ModelAndView("protocolo/MeusProtocolos"); | |
| 224 | + | |
| 225 | + PageWrapper<Protocolo> paginaWrapper = new PageWrapper<>( | |
| 226 | + protocoloRepository.filtrarMeusProtocolos(usuarioSistema.getUsuario(), filter, pageable), | |
| 227 | + httpServletRequest); | |
| 228 | + mv.addObject("pagina", paginaWrapper); | |
| 229 | + | |
| 230 | + return mv; | |
| 231 | + } | |
| 232 | + | |
| 233 | + @GetMapping("/reenvioRecibo/{codigo}") | |
| 234 | + public @ResponseBody ResponseEntity<?> reenviarRecibo(@PathVariable("codigo") Protocolo protocolo, | |
| 235 | + @RequestParam(value = "email", required = false) String email) { | |
| 236 | + enviarProtocoloService.reenviarRecibo(protocolo, email); | |
| 237 | + Response<String> response = new Response<String>(); | |
| 238 | + String resposta = null; | |
| 239 | + if (!email.isEmpty() || email != null) { | |
| 240 | + resposta = email; | |
| 241 | + } | |
| 242 | + if (!protocolo.getEmail1().isEmpty() && protocolo.getEmail1() != null && protocolo.getEmail1() != "") { | |
| 243 | + resposta = resposta + " " + protocolo.getEmail1(); | |
| 244 | + } | |
| 245 | + if (!protocolo.getEmail2().isEmpty() && protocolo.getEmail2() != null && protocolo.getEmail2() != "") { | |
| 246 | + resposta = resposta + " " + protocolo.getEmail2(); | |
| 247 | + } | |
| 248 | + if (!protocolo.getUsuario().getEmail().isEmpty() && protocolo.getUsuario().getEmail() != null | |
| 249 | + && protocolo.getUsuario().getEmail() != "") { | |
| 250 | + resposta = resposta + " " + protocolo.getUsuario().getEmail(); | |
| 251 | + } | |
| 252 | + response.setData(resposta); | |
| 253 | + return ResponseEntity.ok(response); | |
| 254 | + } | |
| 255 | + | |
| 256 | + @RequestMapping("/stream") | |
| 257 | + public SseEmitter enableNotifier() { | |
| 258 | + // SseEmitter notifier = new SseEmitter(); | |
| 259 | + return eventServerService; | |
| 260 | + } | |
| 261 | + | |
| 262 | + @PutMapping("/aprovar/{codigo}") | |
| 263 | + public @ResponseBody ResponseEntity<?> aprovar(@PathVariable("codigo") Protocolo protocolo, | |
| 264 | + @RequestParam(value = "sei", required = false) String sei, | |
| 265 | + @RequestParam(value = "tipo", required = false) String tipo, | |
| 266 | + @RequestParam(value = "idSei") String idSei) { | |
| 267 | + // SseEmitter sseEmitter = new SseEmitter(); | |
| 268 | + CompletableFuture.supplyAsync(() -> { | |
| 269 | + try { | |
| 270 | + enviarProtocoloService.enviarSEI(protocolo, sei, tipo, idSei); | |
| 271 | + return "Sincronizado com Sucesso !"; | |
| 272 | + } catch (ServiceException e) { | |
| 273 | + return e.getMessage(); | |
| 274 | + } catch (Exception e) { | |
| 275 | + return e.getMessage(); | |
| 276 | + } | |
| 277 | + }).whenCompleteAsync((result, throwable) -> { | |
| 278 | + try { | |
| 279 | + eventServerService.send(result); | |
| 280 | + } catch (IOException e) { | |
| 281 | + e.printStackTrace(); | |
| 282 | + } | |
| 283 | + }).exceptionally(ex -> { | |
| 284 | + try { | |
| 285 | + eventServerService.send(ex.getMessage()); | |
| 286 | + } catch (Exception e) { | |
| 287 | + e.printStackTrace(); | |
| 288 | + } | |
| 289 | + return "erro"; | |
| 290 | + }); | |
| 291 | + | |
| 292 | + return ResponseEntity.ok().build(); | |
| 293 | + } | |
| 294 | + | |
| 295 | + @PutMapping("/aprovarManualmente/{sei}/{codigo}") | |
| 296 | + public @ResponseBody ResponseEntity<?> aprovarManualmente(@PathVariable("sei") String sei, | |
| 297 | + @PathVariable("codigo") Protocolo protocolo) { | |
| 298 | + protocolo.setNupe(sei); | |
| 299 | + salvarProtocoloService.aprovarManualmente(protocolo); | |
| 300 | + return ResponseEntity.ok().build(); | |
| 301 | + } | |
| 302 | + | |
| 303 | + @GetMapping("/aprovarManualmente/{sei}") | |
| 304 | + public ResponseEntity<Response<String>> consultarSei(@PathVariable("sei") String sei) { | |
| 305 | + Optional<String> linkSei = enviarProtocoloService.consultarSei(sei); | |
| 306 | + Response<String> response = new Response<String>(); | |
| 307 | + if (!linkSei.isPresent()) { | |
| 308 | + response.getErrors().add("Nº SEI não encontrado: " + sei); | |
| 309 | + return ResponseEntity.badRequest().body(response); | |
| 310 | + } | |
| 311 | + response.setData(linkSei.get()); | |
| 312 | + return ResponseEntity.ok(response); | |
| 313 | + } | |
| 314 | + | |
| 315 | + @PutMapping("/reprovar/{codigo}") | |
| 316 | + public @ResponseBody ResponseEntity<?> reprovar(@PathVariable("codigo") Protocolo protocolo, | |
| 317 | + @RequestBody String observacao) { | |
| 318 | + protocolo.setObservacao(observacao); | |
| 319 | + enviarProtocoloService.recusar(protocolo); | |
| 320 | + return ResponseEntity.ok().build(); | |
| 321 | + } | |
| 322 | + | |
| 323 | + /** | |
| 324 | + * atulizado o status de pendente para analise na tabela protocolo | |
| 325 | + * | |
| 326 | + * @param protocolo | |
| 327 | + * @return ResponseEntity | |
| 328 | + */ | |
| 329 | + @PutMapping("/atualizarFlag/{codigo}") | |
| 330 | + public @ResponseBody ResponseEntity<?> atualizarflag(@PathVariable("codigo") Protocolo protocolo) { | |
| 331 | + salvarProtocoloService.analisando(protocolo); | |
| 332 | + return ResponseEntity.ok().build(); | |
| 333 | + } | |
| 334 | + | |
| 335 | + /** | |
| 336 | + * atulizado o status para pendente | |
| 337 | + * | |
| 338 | + * @param protocolo | |
| 339 | + * @return ResponseEntity | |
| 340 | + */ | |
| 341 | + @PutMapping("/atuzalizarFlagPendente/{codigo}") | |
| 342 | + public @ResponseBody ResponseEntity<?> atuzalizarFlagPendente(@PathVariable("codigo") Protocolo protocolo) { | |
| 343 | + salvarProtocoloService.pendente(protocolo); | |
| 344 | + return ResponseEntity.ok().build(); | |
| 345 | + } | |
| 346 | + | |
| 347 | + /** | |
| 348 | + * método para reprovar o protocolo | |
| 349 | + * | |
| 350 | + * @param protocolo | |
| 351 | + * @return ResponseEntity | |
| 352 | + */ | |
| 353 | + @PutMapping("/atuzalizarFlagReprovado/{codigo}") | |
| 354 | + public @ResponseBody ResponseEntity<?> atuzalizarFlagReprovado(@PathVariable("codigo") Protocolo protocolo) { | |
| 355 | + salvarProtocoloService.reprovar(protocolo); | |
| 356 | + return ResponseEntity.ok().build(); | |
| 357 | + } | |
| 358 | + | |
| 359 | + /** | |
| 360 | + * método para retirar o protocolo da análise | |
| 361 | + * | |
| 362 | + * @param protocolo | |
| 363 | + * @return ResponseEntity | |
| 364 | + */ | |
| 365 | + @PutMapping("/retirarAnalise") | |
| 366 | + public @ResponseBody ResponseEntity<?> retirarAnalise(@RequestParam("codigo") Protocolo protocolo) { | |
| 367 | + salvarProtocoloService.pendente(protocolo); | |
| 368 | + return ResponseEntity.ok().build(); | |
| 369 | + } | |
| 370 | + | |
| 371 | + /** | |
| 372 | + * método para retirar o protocolo da análise e deixar reprovado | |
| 373 | + * | |
| 374 | + * @param protocolo | |
| 375 | + * @return ResponseEntity | |
| 376 | + */ | |
| 377 | + @PutMapping("/retirarAnaliseReprovado") | |
| 378 | + public @ResponseBody ResponseEntity<?> retirarAnaliseReprovado(@RequestParam("codigo") Protocolo protocolo) { | |
| 379 | + salvarProtocoloService.reprovar(protocolo); | |
| 380 | + return ResponseEntity.ok().build(); | |
| 381 | + } | |
| 382 | + | |
| 383 | + /** | |
| 384 | + * busca o status passado o código | |
| 385 | + * | |
| 386 | + * @param codigo | |
| 387 | + * @return ResponseEntity | |
| 388 | + */ | |
| 389 | + @GetMapping(value = "/buscarFlag/{codigo}") | |
| 390 | + public ResponseEntity<Response<ProtocoloFlagDTO>> buscarStatusPorCodigp(@PathVariable("codigo") Long codigo) { | |
| 391 | + Response<ProtocoloFlagDTO> response = new Response<ProtocoloFlagDTO>(); | |
| 392 | + Optional<Protocolo> protocolo = protocoloFlagService.buscarStatusPorCodigo(codigo); | |
| 393 | + | |
| 394 | + if (!protocolo.isPresent()) { | |
| 395 | + response.getErrors().add("Status não encontrado para o código: " + codigo); | |
| 396 | + return ResponseEntity.badRequest().body(response); | |
| 397 | + } | |
| 398 | + | |
| 399 | + response.setData(this.converterProtocoloFlagDto(protocolo.get())); | |
| 400 | + return ResponseEntity.ok(response); | |
| 401 | + } | |
| 402 | + | |
| 403 | + /** | |
| 404 | + * convertendo a entidade para objeto DTO | |
| 405 | + * | |
| 406 | + * @param protocolo | |
| 407 | + * @return protocoloFlagDTO | |
| 408 | + */ | |
| 409 | + private ProtocoloFlagDTO converterProtocoloFlagDto(Protocolo protocolo) { | |
| 410 | + ProtocoloFlagDTO protocoloFlagDTO = new ProtocoloFlagDTO(); | |
| 411 | + protocoloFlagDTO.setStatus(protocolo.getStatus().toString()); | |
| 412 | + // protocoloFlagDTO.setObservacao(Optional.of(protocolo.getObservacao().toString())); | |
| 413 | + // protocoloFlagDTO.setObservacao().ifPresent(x -> | |
| 414 | + // protocolo.getObservacao(x.toString())); | |
| 415 | + protocolo.getObservacaoOpt() | |
| 416 | + .ifPresent(observacao -> protocoloFlagDTO.setObservacao(Optional.of(observacao.toString()))); | |
| 417 | + return protocoloFlagDTO; | |
| 418 | + } | |
| 412 | 419 | |
| 413 | 420 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/controllers/UsuarioController.java
| ... | ... | @@ -7,7 +7,6 @@ package br.gov.planejamento.dipla.protocolo.controllers; |
| 7 | 7 | |
| 8 | 8 | import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; |
| 9 | 9 | import br.gov.planejamento.dipla.protocolo.controllers.page.PageWrapper; |
| 10 | -import br.gov.planejamento.dipla.protocolo.dto.ProtocoloFlagDTO; | |
| 11 | 10 | import br.gov.planejamento.dipla.protocolo.entities.Grupo; |
| 12 | 11 | import br.gov.planejamento.dipla.protocolo.entities.Usuario; |
| 13 | 12 | import br.gov.planejamento.dipla.protocolo.repositories.GrupoRepository; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/dto/MetadadosDTO.java
| ... | ... | @@ -3,18 +3,6 @@ package br.gov.planejamento.dipla.protocolo.dto; |
| 3 | 3 | import lombok.Getter; |
| 4 | 4 | import lombok.Setter; |
| 5 | 5 | |
| 6 | -import java.util.HashMap; | |
| 7 | -import java.util.List; | |
| 8 | -import java.util.Map; | |
| 9 | -import java.util.Optional; | |
| 10 | - | |
| 11 | -import javax.persistence.Column; | |
| 12 | - | |
| 13 | -import org.hibernate.validator.constraints.NotBlank; | |
| 14 | -import org.hibernate.validator.constraints.NotEmpty; | |
| 15 | - | |
| 16 | -import br.gov.planejamento.dipla.protocolo.entities.Configuracao; | |
| 17 | - | |
| 18 | 6 | /** |
| 19 | 7 | * Created by dario on 29/09/17. |
| 20 | 8 | */ | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/dto/ProtocoloFlagDTO.java
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Arquivos.java
| ... | ... | @@ -48,7 +48,7 @@ public class Arquivos implements Serializable { |
| 48 | 48 | @Column(name = "descricao_documento") |
| 49 | 49 | private String descricaoDocumento; |
| 50 | 50 | |
| 51 | - @ManyToOne | |
| 51 | + @ManyToOne(fetch=FetchType.EAGER) | |
| 52 | 52 | @JoinColumn(name = "codigo_tipo_documento") |
| 53 | 53 | private TiposDocumento tipoDocumento = new TiposDocumento(); |
| 54 | 54 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Classificacao.java
| ... | ... | @@ -29,6 +29,6 @@ public class Classificacao implements Serializable { |
| 29 | 29 | @Column(name = "nome") |
| 30 | 30 | private String nome; |
| 31 | 31 | |
| 32 | - @OneToMany(mappedBy = "classificacao", cascade = CascadeType.ALL) | |
| 32 | + @OneToMany(mappedBy = "classificacao", cascade = CascadeType.ALL, fetch = FetchType.EAGER) | |
| 33 | 33 | private List<Configuracao> configuracoes = new ArrayList<>(); |
| 34 | 34 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Configuracao.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.entities; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.validation.AtributoConfirmacao; | |
| 4 | 3 | import lombok.EqualsAndHashCode; |
| 5 | 4 | import lombok.Getter; |
| 6 | 5 | import lombok.Setter; |
| 7 | -import org.hibernate.validator.constraints.Email; | |
| 8 | -import org.hibernate.validator.constraints.Length; | |
| 9 | 6 | import org.hibernate.validator.constraints.NotBlank; |
| 10 | 7 | |
| 11 | 8 | import javax.persistence.*; |
| 12 | -import javax.validation.constraints.NotNull; | |
| 13 | -import javax.validation.constraints.Size; | |
| 14 | 9 | import java.io.Serializable; |
| 15 | -import java.util.List; | |
| 16 | 10 | |
| 17 | 11 | /** |
| 18 | 12 | * | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/ConfiguracaoEmail.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.entities; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.validation.AtributoConfirmacao; | |
| 4 | 3 | import lombok.EqualsAndHashCode; |
| 5 | 4 | import lombok.Getter; |
| 6 | 5 | import lombok.Setter; |
| 7 | -import org.hibernate.validator.constraints.Email; | |
| 8 | -import org.hibernate.validator.constraints.Length; | |
| 9 | 6 | import org.hibernate.validator.constraints.NotBlank; |
| 10 | 7 | |
| 11 | 8 | import javax.persistence.*; |
| 12 | -import javax.validation.constraints.NotNull; | |
| 13 | -import javax.validation.constraints.Size; | |
| 14 | 9 | import java.io.Serializable; |
| 15 | -import java.util.ArrayList; | |
| 16 | 10 | import java.util.List; |
| 17 | 11 | |
| 18 | 12 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/LogSistema.java
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Metadado.java
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Protocolo.java
| ... | ... | @@ -5,7 +5,6 @@ import lombok.Getter; |
| 5 | 5 | import lombok.Setter; |
| 6 | 6 | import org.hibernate.annotations.DynamicUpdate; |
| 7 | 7 | import org.hibernate.validator.constraints.Email; |
| 8 | -import org.hibernate.validator.constraints.Length; | |
| 9 | 8 | import org.hibernate.validator.constraints.SafeHtml; |
| 10 | 9 | |
| 11 | 10 | import javax.persistence.*; |
| ... | ... | @@ -14,7 +13,6 @@ import java.text.SimpleDateFormat; |
| 14 | 13 | import java.util.ArrayList; |
| 15 | 14 | import java.util.Date; |
| 16 | 15 | import java.util.List; |
| 17 | -import javax.persistence.Transient; | |
| 18 | 16 | import java.util.Optional; |
| 19 | 17 | |
| 20 | 18 | /** |
| ... | ... | @@ -37,6 +35,10 @@ public class Protocolo implements Serializable { |
| 37 | 35 | |
| 38 | 36 | @Transient |
| 39 | 37 | private String linkNup; |
| 38 | + | |
| 39 | + @Transient | |
| 40 | + private String idSei; | |
| 41 | + | |
| 40 | 42 | @Transient |
| 41 | 43 | private static final String urlNup = ""; |
| 42 | 44 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/TiposDocumento.java
| ... | ... | @@ -11,7 +11,6 @@ import lombok.Setter; |
| 11 | 11 | import org.hibernate.validator.constraints.NotBlank; |
| 12 | 12 | |
| 13 | 13 | import javax.persistence.*; |
| 14 | -import javax.validation.constraints.NotNull; | |
| 15 | 14 | import java.io.Serializable; |
| 16 | 15 | |
| 17 | 16 | /** |
| ... | ... | @@ -35,9 +34,15 @@ public class TiposDocumento implements Serializable { |
| 35 | 34 | @NotBlank(message = "O campo descrição é de preenchimento obrigatório") |
| 36 | 35 | private String descricao; |
| 37 | 36 | |
| 38 | - @NotBlank(message = "O campo código é de preenchimento obrigatório") | |
| 37 | + //@NotBlank(message = "O campo código é de preenchimento obrigatório") | |
| 39 | 38 | @Column(name = "codigo_sei") |
| 40 | 39 | private String codigoSei; |
| 40 | + | |
| 41 | + @Column(name = "codigo_sei_mf") | |
| 42 | + private String codigoSeiMf; | |
| 43 | + | |
| 44 | + @Column(name = "codigo_sei_mdic") | |
| 45 | + private String codigoSeiMdic; | |
| 41 | 46 | |
| 42 | 47 | private Boolean ativo; |
| 43 | 48 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/Usuario.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.entities; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.validation.AtributoConfirmacao; |
| 4 | +import lombok.AccessLevel; | |
| 4 | 5 | import lombok.EqualsAndHashCode; |
| 5 | 6 | import lombok.Getter; |
| 6 | 7 | import lombok.Setter; |
| ... | ... | @@ -8,14 +9,12 @@ import org.hibernate.validator.constraints.Email; |
| 8 | 9 | import org.hibernate.validator.constraints.Length; |
| 9 | 10 | import org.hibernate.validator.constraints.NotBlank; |
| 10 | 11 | import org.hibernate.validator.constraints.SafeHtml; |
| 11 | -import org.springframework.util.StringUtils; | |
| 12 | 12 | |
| 13 | 13 | import javax.persistence.*; |
| 14 | 14 | import javax.validation.constraints.NotNull; |
| 15 | 15 | import javax.validation.constraints.Size; |
| 16 | 16 | import java.io.Serializable; |
| 17 | 17 | import java.util.List; |
| 18 | -import lombok.AccessLevel; | |
| 19 | 18 | |
| 20 | 19 | /** |
| 21 | 20 | * | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/entities/UsuarioBrasilCidadao.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.entities; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.validation.AtributoConfirmacao; | |
| 4 | 3 | import lombok.EqualsAndHashCode; |
| 5 | 4 | import lombok.Getter; |
| 6 | 5 | import lombok.Setter; |
| 7 | -import org.hibernate.validator.constraints.Email; | |
| 8 | -import org.hibernate.validator.constraints.Length; | |
| 9 | 6 | import org.hibernate.validator.constraints.NotBlank; |
| 10 | 7 | |
| 11 | 8 | import javax.persistence.*; |
| 12 | -import javax.validation.constraints.NotNull; | |
| 13 | 9 | import javax.validation.constraints.Size; |
| 14 | 10 | import java.io.Serializable; |
| 15 | -import java.util.List; | |
| 16 | 11 | |
| 17 | 12 | /** |
| 18 | 13 | * | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/handler/LogoutBrasilCidadaoHandler.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.handler; |
| 2 | 2 | |
| 3 | -import java.io.IOException; | |
| 4 | - | |
| 5 | -import javax.servlet.ServletException; | |
| 6 | -import javax.servlet.http.HttpServletRequest; | |
| 7 | -import javax.servlet.http.HttpServletResponse; | |
| 8 | - | |
| 3 | +import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; | |
| 9 | 4 | import org.springframework.beans.factory.annotation.Autowired; |
| 10 | 5 | import org.springframework.http.HttpStatus; |
| 11 | 6 | import org.springframework.security.core.Authentication; |
| 12 | 7 | import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; |
| 13 | 8 | import org.springframework.stereotype.Component; |
| 14 | -import org.springframework.web.client.RestTemplate; | |
| 15 | 9 | |
| 16 | -import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; | |
| 10 | +import javax.servlet.ServletException; | |
| 11 | +import javax.servlet.http.HttpServletRequest; | |
| 12 | +import javax.servlet.http.HttpServletResponse; | |
| 13 | +import java.io.IOException; | |
| 17 | 14 | |
| 18 | 15 | @Component |
| 19 | 16 | public class LogoutBrasilCidadaoHandler implements LogoutSuccessHandler { | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/mail/Mailer.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.mail; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; | |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.Configuracao; | |
| 5 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEmail; | |
| 6 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 7 | -import br.gov.planejamento.dipla.protocolo.entities.EmailEnum; | |
| 8 | -import br.gov.planejamento.dipla.protocolo.entities.Metadado; | |
| 9 | -import br.gov.planejamento.dipla.protocolo.entities.MetadadosEmail; | |
| 10 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 11 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 3 | +import br.gov.planejamento.dipla.protocolo.entities.*; | |
| 12 | 4 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoEmailRepository; |
| 13 | 5 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 14 | 6 | import br.gov.planejamento.dipla.protocolo.repositories.MetadadoRepository; |
| 15 | -import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 16 | - | |
| 17 | 7 | import org.slf4j.Logger; |
| 18 | 8 | import org.slf4j.LoggerFactory; |
| 19 | 9 | import org.springframework.beans.factory.annotation.Autowired; |
| 20 | -import org.springframework.context.annotation.PropertySource; | |
| 21 | -import org.springframework.core.env.Environment; | |
| 22 | 10 | import org.springframework.core.io.ClassPathResource; |
| 23 | 11 | import org.springframework.mail.javamail.JavaMailSender; |
| 24 | 12 | import org.springframework.mail.javamail.MimeMessageHelper; |
| ... | ... | @@ -31,17 +19,9 @@ import org.thymeleaf.spring4.SpringTemplateEngine; |
| 31 | 19 | import org.thymeleaf.spring4.dialect.SpringStandardDialect; |
| 32 | 20 | import org.thymeleaf.templatemode.TemplateMode; |
| 33 | 21 | import org.thymeleaf.templateresolver.StringTemplateResolver; |
| 34 | -import org.w3c.dom.Document; | |
| 35 | -import org.w3c.dom.Node; | |
| 36 | -import org.w3c.dom.NodeList; | |
| 37 | -import org.xml.sax.InputSource; | |
| 38 | 22 | |
| 39 | 23 | import javax.mail.MessagingException; |
| 40 | 24 | import javax.mail.internet.MimeMessage; |
| 41 | -import javax.xml.parsers.DocumentBuilder; | |
| 42 | -import javax.xml.parsers.DocumentBuilderFactory; | |
| 43 | - | |
| 44 | -import java.io.StringReader; | |
| 45 | 25 | import java.util.Iterator; |
| 46 | 26 | import java.util.List; |
| 47 | 27 | import java.util.Locale; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/ClassificacaoRepository.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Classificacao; |
| 4 | - | |
| 5 | -import java.util.Optional; | |
| 6 | - | |
| 7 | 4 | import org.springframework.data.jpa.repository.JpaRepository; |
| 8 | 5 | import org.springframework.stereotype.Repository; |
| 9 | 6 | |
| 7 | +import java.util.Optional; | |
| 8 | + | |
| 10 | 9 | /** |
| 11 | 10 | * |
| 12 | 11 | * @author Leonardo Dias |
| ... | ... | @@ -14,4 +13,5 @@ import org.springframework.stereotype.Repository; |
| 14 | 13 | @Repository |
| 15 | 14 | public interface ClassificacaoRepository extends JpaRepository<Classificacao, Long>{ |
| 16 | 15 | public Optional<Classificacao> findByNome(String nome); |
| 16 | + public Optional<Classificacao> findByCodigo(Long codigo); | |
| 17 | 17 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/ConfiguracaoEmailRepository.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEmail; |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 5 | -import br.gov.planejamento.dipla.protocolo.entities.MetadadosEmail; | |
| 6 | - | |
| 7 | 4 | import org.springframework.data.jpa.repository.JpaRepository; |
| 8 | 5 | import org.springframework.stereotype.Repository; |
| 9 | 6 | |
| 10 | -import java.util.List; | |
| 11 | 7 | import java.util.Optional; |
| 12 | 8 | |
| 13 | 9 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/ConfiguracaoRepository.java
| ... | ... | @@ -3,11 +3,9 @@ package br.gov.planejamento.dipla.protocolo.repositories; |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Configuracao; |
| 4 | 4 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; |
| 5 | 5 | import br.gov.planejamento.dipla.protocolo.repositories.helper.configuracao.ConfiguracaoRepositoryQueries; |
| 6 | -import br.gov.planejamento.dipla.protocolo.repositories.helper.usuario.UsuarioRepositoryQueries; | |
| 7 | 6 | import org.springframework.data.jpa.repository.JpaRepository; |
| 8 | 7 | import org.springframework.stereotype.Repository; |
| 9 | 8 | |
| 10 | -import java.util.List; | |
| 11 | 9 | import java.util.Optional; |
| 12 | 10 | |
| 13 | 11 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/LogStatusRepository.java
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/LoginAttemptRepository.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.LoginAttempt; |
| 4 | - | |
| 5 | 4 | import org.springframework.data.jpa.repository.JpaRepository; |
| 6 | 5 | import org.springframework.data.jpa.repository.Modifying; |
| 7 | 6 | import org.springframework.data.jpa.repository.Query; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/MetadadoRepository.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.entities.Arquivos; | |
| 4 | 3 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEmail; |
| 5 | 4 | import br.gov.planejamento.dipla.protocolo.entities.Metadado; |
| 6 | -import br.gov.planejamento.dipla.protocolo.entities.MetadadosEmail; | |
| 7 | - | |
| 8 | 5 | import org.springframework.data.jpa.repository.JpaRepository; |
| 9 | 6 | import org.springframework.stereotype.Repository; |
| 10 | 7 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/ProtocoloRepository.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Protocolo; |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.StatusEnum; | |
| 5 | 4 | import br.gov.planejamento.dipla.protocolo.entities.Usuario; |
| 6 | 5 | import br.gov.planejamento.dipla.protocolo.repositories.helper.protocolo.ProtocoloRepositoryQueries; |
| 7 | 6 | import org.springframework.data.jpa.repository.JpaRepository; |
| 8 | 7 | import org.springframework.data.jpa.repository.Query; |
| 9 | -import org.springframework.data.repository.query.Param; | |
| 10 | 8 | import org.springframework.stereotype.Repository; |
| 11 | -import java.util.Optional; | |
| 12 | 9 | import org.springframework.transaction.annotation.Transactional; |
| 13 | -import org.springframework.data.jpa.repository.JpaRepository; | |
| 14 | 10 | |
| 15 | 11 | import java.math.BigDecimal; |
| 16 | 12 | import java.util.List; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/TiposDocumentoRepository.java
| ... | ... | @@ -8,10 +8,10 @@ package br.gov.planejamento.dipla.protocolo.repositories; |
| 8 | 8 | import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; |
| 9 | 9 | import br.gov.planejamento.dipla.protocolo.repositories.helper.tiposDocumento.TiposDocumentoRepositoryQueries; |
| 10 | 10 | import org.springframework.data.jpa.repository.JpaRepository; |
| 11 | -import org.springframework.data.jpa.repository.Query; | |
| 12 | 11 | import org.springframework.stereotype.Repository; |
| 13 | -import java.util.Optional; | |
| 12 | + | |
| 14 | 13 | import java.util.List; |
| 14 | +import java.util.Optional; | |
| 15 | 15 | |
| 16 | 16 | /** |
| 17 | 17 | * @author leonardo | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/UsuarioRepository.java
| ... | ... | @@ -16,6 +16,7 @@ import java.util.Optional; |
| 16 | 16 | public interface UsuarioRepository extends JpaRepository<Usuario, Long>, UsuarioRepositoryQueries { |
| 17 | 17 | |
| 18 | 18 | public List<Usuario> findByCodigoIn(Long[] codigos); |
| 19 | + public Usuario findByCodigo(Long codgio); | |
| 19 | 20 | |
| 20 | 21 | public Optional<Usuario> findByEmail(String email); |
| 21 | 22 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/helper/configuracao/ConfiguracaoRepositoryImpl.java
| ... | ... | @@ -2,11 +2,8 @@ package br.gov.planejamento.dipla.protocolo.repositories.helper.configuracao; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Configuracao; |
| 4 | 4 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; |
| 5 | - | |
| 6 | - | |
| 7 | -import javax.persistence.EntityManager; | |
| 8 | -import javax.persistence.PersistenceContext; | |
| 9 | - | |
| 5 | +import br.gov.planejamento.dipla.protocolo.repositories.filter.ConfiguracaoFilter; | |
| 6 | +import br.gov.planejamento.dipla.protocolo.repositories.paginacao.PaginacaoUtil; | |
| 10 | 7 | import org.hibernate.Criteria; |
| 11 | 8 | import org.hibernate.Session; |
| 12 | 9 | import org.hibernate.criterion.MatchMode; |
| ... | ... | @@ -17,15 +14,13 @@ import org.springframework.data.domain.Page; |
| 17 | 14 | import org.springframework.data.domain.PageImpl; |
| 18 | 15 | import org.springframework.data.domain.Pageable; |
| 19 | 16 | |
| 20 | -import br.gov.planejamento.dipla.protocolo.repositories.filter.ConfiguracaoFilter; | |
| 21 | -import br.gov.planejamento.dipla.protocolo.repositories.paginacao.PaginacaoUtil; | |
| 22 | - | |
| 23 | -import java.util.List; | |
| 17 | +import javax.persistence.EntityManager; | |
| 18 | +import javax.persistence.PersistenceContext; | |
| 24 | 19 | import java.util.Optional; |
| 25 | 20 | |
| 26 | 21 | /** |
| 27 | 22 | * |
| 28 | - * @author Leonardo Dias | |
| 23 | + * @authors Leonardo Dias, Matheus de Carvalho | |
| 29 | 24 | */ |
| 30 | 25 | public class ConfiguracaoRepositoryImpl implements ConfiguracaoRepositoryQueries { |
| 31 | 26 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/helper/configuracao/ConfiguracaoRepositoryQueries.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories.helper.configuracao; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.dto.MetadadosDTO; | |
| 4 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Configuracao; |
| 5 | 4 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; |
| 6 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 7 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 8 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 9 | 5 | import br.gov.planejamento.dipla.protocolo.repositories.filter.ConfiguracaoFilter; |
| 10 | -import br.gov.planejamento.dipla.protocolo.repositories.filter.ProtocoloFilter; | |
| 11 | -import br.gov.planejamento.dipla.protocolo.repositories.filter.UsuarioFilter; | |
| 12 | 6 | import org.springframework.data.domain.Page; |
| 13 | 7 | import org.springframework.data.domain.Pageable; |
| 14 | 8 | |
| 15 | -import java.util.List; | |
| 16 | 9 | import java.util.Optional; |
| 17 | 10 | |
| 18 | 11 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/repositories/helper/usuario/UsuarioRepositoryImpl.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.repositories.helper.usuario; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Grupo; |
| 4 | -import java.util.ArrayList; | |
| 5 | -import java.util.List; | |
| 6 | - | |
| 7 | -import javax.persistence.EntityManager; | |
| 8 | -import javax.persistence.PersistenceContext; | |
| 9 | - | |
| 4 | +import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 5 | +import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 6 | +import br.gov.planejamento.dipla.protocolo.entities.UsuarioGrupo; | |
| 7 | +import br.gov.planejamento.dipla.protocolo.repositories.filter.UsuarioFilter; | |
| 8 | +import br.gov.planejamento.dipla.protocolo.repositories.paginacao.PaginacaoUtil; | |
| 10 | 9 | import org.hibernate.Criteria; |
| 11 | 10 | import org.hibernate.Hibernate; |
| 12 | 11 | import org.hibernate.Session; |
| 13 | -import org.hibernate.criterion.Criterion; | |
| 14 | -import org.hibernate.criterion.DetachedCriteria; | |
| 15 | -import org.hibernate.criterion.MatchMode; | |
| 16 | -import org.hibernate.criterion.Order; | |
| 17 | -import org.hibernate.criterion.Projections; | |
| 18 | -import org.hibernate.criterion.Restrictions; | |
| 19 | -import org.hibernate.criterion.Subqueries; | |
| 12 | +import org.hibernate.criterion.*; | |
| 13 | +import org.hibernate.sql.JoinType; | |
| 20 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | 15 | import org.springframework.data.domain.Page; |
| 22 | 16 | import org.springframework.data.domain.PageImpl; |
| ... | ... | @@ -24,13 +18,11 @@ import org.springframework.data.domain.Pageable; |
| 24 | 18 | import org.springframework.transaction.annotation.Transactional; |
| 25 | 19 | import org.springframework.util.StringUtils; |
| 26 | 20 | |
| 27 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 28 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 29 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioGrupo; | |
| 30 | -import br.gov.planejamento.dipla.protocolo.repositories.filter.UsuarioFilter; | |
| 31 | -import br.gov.planejamento.dipla.protocolo.repositories.paginacao.PaginacaoUtil; | |
| 21 | +import javax.persistence.EntityManager; | |
| 22 | +import javax.persistence.PersistenceContext; | |
| 23 | +import java.util.ArrayList; | |
| 24 | +import java.util.List; | |
| 32 | 25 | import java.util.Optional; |
| 33 | -import org.hibernate.sql.JoinType; | |
| 34 | 26 | |
| 35 | 27 | /** |
| 36 | 28 | * | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/security/AppUserDetailsService.java
| ... | ... | @@ -2,8 +2,6 @@ package br.gov.planejamento.dipla.protocolo.security; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Usuario; |
| 4 | 4 | import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; |
| 5 | - | |
| 6 | -import org.apache.commons.codec.digest.DigestUtils; | |
| 7 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 8 | 6 | import org.springframework.security.core.GrantedAuthority; |
| 9 | 7 | import org.springframework.security.core.authority.SimpleGrantedAuthority; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/security/BrasilCidadaoUserDetails.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.security; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; | |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 5 | 3 | import org.springframework.security.core.GrantedAuthority; |
| 6 | -import org.springframework.security.core.userdetails.User; | |
| 4 | +import org.springframework.security.core.authority.SimpleGrantedAuthority; | |
| 5 | +import org.springframework.security.core.userdetails.UserDetails; | |
| 7 | 6 | |
| 8 | 7 | import java.util.Collection; |
| 8 | +import java.util.Collections; | |
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | - * | |
| 12 | 11 | * @author Leonardo Dias |
| 13 | 12 | */ |
| 14 | 13 | |
| 15 | -import org.springframework.security.core.GrantedAuthority; | |
| 16 | -import org.springframework.security.core.authority.SimpleGrantedAuthority; | |
| 17 | -import org.springframework.security.core.userdetails.UserDetails; | |
| 18 | - | |
| 19 | -import java.util.Collection; | |
| 20 | -import java.util.Collections; | |
| 21 | -import java.util.Map; | |
| 22 | - | |
| 23 | 14 | public class BrasilCidadaoUserDetails implements UserDetails { |
| 24 | 15 | |
| 25 | 16 | /** | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/security/CaptchaService.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.security; |
| 2 | 2 | |
| 3 | +import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 5 | +import br.gov.planejamento.dipla.protocolo.services.exeptions.ReCaptchaUnavailableException; | |
| 3 | 6 | import org.slf4j.Logger; |
| 4 | 7 | import org.slf4j.LoggerFactory; |
| 5 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | 9 | import org.springframework.stereotype.Service; |
| 7 | 10 | import org.springframework.web.client.RestTemplate; |
| 8 | 11 | |
| 9 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 10 | -import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 11 | -import br.gov.planejamento.dipla.protocolo.services.exeptions.ReCaptchaUnavailableException; | |
| 12 | - | |
| 13 | 12 | import javax.servlet.http.HttpServletRequest; |
| 14 | 13 | import java.net.URI; |
| 15 | 14 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/security/CustomAuthenticationFailureHandler.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.security; |
| 2 | 2 | |
| 3 | -import java.io.IOException; | |
| 4 | -import java.util.Optional; | |
| 5 | - | |
| 6 | -import javax.servlet.ServletException; | |
| 7 | -import javax.servlet.http.HttpServletRequest; | |
| 8 | -import javax.servlet.http.HttpServletResponse; | |
| 9 | - | |
| 10 | -import org.apache.commons.codec.digest.DigestUtils; | |
| 3 | +import br.gov.planejamento.dipla.protocolo.repositories.LoginAttemptRepository; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.services.AutoCadastroService; | |
| 11 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | 6 | import org.springframework.security.core.AuthenticationException; |
| 13 | -import org.springframework.security.web.DefaultRedirectStrategy; | |
| 14 | -import org.springframework.security.web.RedirectStrategy; | |
| 15 | -import org.springframework.security.web.WebAttributes; | |
| 16 | 7 | import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler; |
| 17 | 8 | import org.springframework.stereotype.Component; |
| 18 | 9 | |
| 19 | -import br.gov.planejamento.dipla.protocolo.entities.LoginAttempt; | |
| 20 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 21 | -import br.gov.planejamento.dipla.protocolo.repositories.LoginAttemptRepository; | |
| 22 | -import br.gov.planejamento.dipla.protocolo.services.AutoCadastroService; | |
| 10 | +import javax.servlet.ServletException; | |
| 11 | +import javax.servlet.http.HttpServletRequest; | |
| 12 | +import javax.servlet.http.HttpServletResponse; | |
| 13 | +import java.io.IOException; | |
| 23 | 14 | |
| 24 | 15 | @Component |
| 25 | 16 | public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler { | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/security/LoginAttemptService.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.security; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | -import java.util.Date; | |
| 5 | -import java.util.Map; | |
| 6 | -import java.util.Optional; | |
| 7 | - | |
| 4 | +import br.gov.planejamento.dipla.protocolo.entities.LoginAttempt; | |
| 5 | +import br.gov.planejamento.dipla.protocolo.repositories.LoginAttemptRepository; | |
| 8 | 6 | import org.apache.commons.codec.digest.DigestUtils; |
| 9 | 7 | import org.springframework.beans.factory.annotation.Autowired; |
| 10 | 8 | import org.springframework.stereotype.Service; |
| 11 | 9 | |
| 12 | -import br.gov.planejamento.dipla.protocolo.entities.LoginAttempt; | |
| 13 | -import br.gov.planejamento.dipla.protocolo.repositories.LoginAttemptRepository; | |
| 14 | -import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 10 | +import java.util.Date; | |
| 11 | +import java.util.Optional; | |
| 15 | 12 | |
| 16 | 13 | |
| 17 | 14 | @Service | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/sei/ws/SeiWSClient.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.sei.ws; |
| 2 | 2 | |
| 3 | 3 | import Sei.*; |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.Arquivos; | |
| 5 | -import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEnum; | |
| 6 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.entities.*; | |
| 7 | 5 | import br.gov.planejamento.dipla.protocolo.mail.Mailer; |
| 8 | 6 | import br.gov.planejamento.dipla.protocolo.repositories.ArquivosRepository; |
| 7 | +import br.gov.planejamento.dipla.protocolo.repositories.ClassificacaoRepository; | |
| 9 | 8 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 10 | 9 | import br.gov.planejamento.dipla.protocolo.services.SalvarProtocoloService; |
| 11 | 10 | import br.gov.planejamento.dipla.protocolo.storage.ArquivoStorage; |
| 11 | +import org.apache.axis.AxisFault; | |
| 12 | 12 | import org.apache.commons.io.FileUtils; |
| 13 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 14 | -import org.springframework.context.annotation.PropertySource; | |
| 15 | -import org.springframework.core.env.Environment; | |
| 16 | 14 | import org.springframework.scheduling.annotation.Async; |
| 17 | 15 | import org.springframework.stereotype.Component; |
| 18 | 16 | import org.springframework.util.Base64Utils; |
| 19 | 17 | |
| 20 | -import java.io.Console; | |
| 21 | -import java.io.File; | |
| 22 | 18 | import java.io.IOException; |
| 19 | +import java.net.MalformedURLException; | |
| 23 | 20 | import java.net.URL; |
| 24 | 21 | import java.nio.file.Path; |
| 25 | -import java.util.List; | |
| 26 | -import java.util.Optional; | |
| 27 | - | |
| 28 | -import static java.nio.file.FileSystems.getDefault; | |
| 29 | - | |
| 30 | -import java.util.concurrent.CompletableFuture; | |
| 31 | - | |
| 32 | -import java.util.Date; | |
| 33 | 22 | import java.text.DateFormat; |
| 34 | 23 | import java.text.SimpleDateFormat; |
| 24 | +import java.util.*; | |
| 35 | 25 | |
| 36 | - | |
| 37 | - | |
| 38 | - | |
| 26 | +import static java.nio.file.FileSystems.getDefault; | |
| 39 | 27 | |
| 40 | 28 | @Component |
| 41 | 29 | public class SeiWSClient { |
| 42 | 30 | |
| 43 | - @Autowired | |
| 44 | - private Mailer mailer; | |
| 45 | - | |
| 46 | - @Autowired | |
| 47 | - private ConfiguracaoRepository configuracaoRepository; | |
| 48 | - | |
| 49 | - @Autowired | |
| 50 | - private SalvarProtocoloService salvarProtocoloService; | |
| 51 | - | |
| 52 | - @Autowired | |
| 53 | - private ArquivosRepository arquivosRepository; | |
| 54 | - | |
| 55 | - @Autowired | |
| 56 | - private ArquivoStorage arquivoStorage; | |
| 57 | - | |
| 58 | - private String getDateTime() { | |
| 59 | - DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); | |
| 60 | - Date date = new Date(); | |
| 61 | - return dateFormat.format(date); | |
| 62 | - } | |
| 63 | - | |
| 64 | - @Async | |
| 65 | - public String enviar(Protocolo protocolo, Long idUsuario, String sei, String tipo) { | |
| 66 | - | |
| 67 | - if (sei!=null && tipo!=null && !sei.isEmpty() && tipo.equals("existente")) { | |
| 68 | - enviarDocumento( protocolo, idUsuario, sei ); | |
| 69 | - } else { | |
| 70 | - | |
| 71 | - try { | |
| 72 | - URL urlEndpoint = new URL( configuracaoRepository.recuperarValor( ConfiguracaoEnum.URL_ENDPOINT ) ); | |
| 73 | - SeiBindingStub seiBindingStub = new SeiBindingStub( urlEndpoint, null ); | |
| 74 | - seiBindingStub.setTimeout( 600000 * 60 ); | |
| 75 | - | |
| 76 | - | |
| 77 | - /*Assunto assunto = new Assunto(); | |
| 78 | - assunto.setCodigoEstruturado( configuracaoRepository.recuperarValor( ConfiguracaoEnum.ASSUNTO_CODIGO_ESTRUTURADO ) ); | |
| 79 | - Assunto[] assuntos = {assunto};*/ | |
| 80 | - | |
| 81 | - Procedimento procedimento = new Procedimento(); | |
| 82 | - if (tipo.equals("novo")) { | |
| 83 | - procedimento.setNumeroProtocolo( sei ); | |
| 84 | - procedimento.setDataAutuacao( getDateTime() ); | |
| 85 | - } | |
| 86 | - | |
| 87 | - procedimento.setAssuntos( recuperaAssunto() ); | |
| 88 | - procedimento.setEspecificacao( configuracaoRepository.recuperarValor( ConfiguracaoEnum.PROCEDIMENTO_ESPECIFICADO ) ); | |
| 89 | - | |
| 90 | - Interessado interessado = new Interessado(); | |
| 91 | - interessado.setNome( protocolo.getUsuario().getNome() ); | |
| 92 | - interessado.setSigla( "Telefone: " + protocolo.getUsuario().getTelefone() ); | |
| 93 | - Interessado[] interessados = {interessado}; | |
| 94 | - | |
| 95 | - procedimento.setInteressados( interessados ); | |
| 96 | - | |
| 97 | - procedimento.setNivelAcesso( configuracaoRepository.recuperarValor( ConfiguracaoEnum.PROCEDIMENTO_NIVEL_ACESSO ) ); | |
| 98 | - procedimento.setIdTipoProcedimento( configuracaoRepository.recuperarValor( ConfiguracaoEnum.PROCEDIMENTO_ID_TIPO_PROCEDIMENTO ) ); | |
| 99 | - | |
| 100 | - List<Arquivos> arquivosList = arquivosRepository.findByProtocolo( protocolo ); | |
| 101 | - | |
| 102 | - procedimento.setObservacao( | |
| 103 | - protocolo.toString() + | |
| 104 | - "\n" + | |
| 105 | - "Quantidade Arquivos: " + arquivosList.size() | |
| 106 | - ); | |
| 107 | - | |
| 108 | - | |
| 109 | - //criando o procedimento | |
| 110 | - RetornoGeracaoProcedimento retornoGeracaoProcedimento = seiBindingStub.gerarProcedimento( | |
| 111 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.SIGLA_SISTEMA ), | |
| 112 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.IDENTIFICACAO_SERVICO ), | |
| 113 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.ID_UNIDADE ), | |
| 114 | - procedimento, | |
| 115 | - null, | |
| 116 | - null, | |
| 117 | - null, | |
| 118 | - "N", | |
| 119 | - "N", | |
| 120 | - null, | |
| 121 | - null, | |
| 122 | - "N", | |
| 123 | - null, | |
| 124 | - null ); | |
| 125 | - | |
| 126 | - | |
| 127 | - arquivosList.forEach( arquivo -> { | |
| 128 | - try { | |
| 129 | - Documento documento = new Documento(); | |
| 130 | - documento.setIdProcedimento( retornoGeracaoProcedimento.getProcedimentoFormatado() | |
| 131 | - .replace( ".", "" ) | |
| 132 | - .replace( "/", "" ) | |
| 133 | - .replace( "-", "" ) ); | |
| 134 | - documento.setObservacao( protocolo.toString()); | |
| 135 | - documento.setDescricao( arquivo.getDescricaoDocumento() ); | |
| 136 | - documento.setNomeArquivo( arquivo.getNomeOriginal() ); | |
| 137 | - documento.setTipo( configuracaoRepository.recuperarValor( ConfiguracaoEnum.DOCUMENTO_TIPO ) ); | |
| 138 | - //documento.setIdSerie(env.getProperty("documento.id-serie")); //TODO: Alterar para pegar da combo Tipo Documento | |
| 139 | - documento.setIdSerie( arquivo.getTipoDocumento().getCodigoSei() ); //Tipo documento vindo do banco de dados | |
| 140 | - documento.setData( protocolo.getDataFormatada() ); | |
| 141 | - documento.setNivelAcesso( configuracaoRepository.recuperarValor( ConfiguracaoEnum.DOCUMENTO_NIVEL_ACESSO ) ); | |
| 142 | - | |
| 143 | - Path path = getDefault().getPath( configuracaoRepository.recuperarValor( ConfiguracaoEnum.STORAGE_PATH ) ).resolve( arquivo.getNome() ); | |
| 144 | - documento.setConteudo( Base64Utils.encodeToString( FileUtils.readFileToByteArray( path.toFile() ) ) ); | |
| 145 | - | |
| 146 | - seiBindingStub.incluirDocumento( | |
| 147 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.SIGLA_SISTEMA ), | |
| 148 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.IDENTIFICACAO_SERVICO ), | |
| 149 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.ID_UNIDADE ), | |
| 150 | - documento | |
| 151 | - ); | |
| 152 | - } catch (IOException e) { | |
| 153 | - protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage() ); | |
| 154 | - throw new RuntimeException( e.getMessage() ); | |
| 155 | - } | |
| 156 | - } ); | |
| 157 | - | |
| 158 | - protocolo.setLinkSEI(retornoGeracaoProcedimento.getLinkAcesso()); | |
| 159 | - protocolo.setNupe( retornoGeracaoProcedimento.getProcedimentoFormatado() ); | |
| 160 | - salvarProtocoloService.aprovar( protocolo, idUsuario ); | |
| 161 | - | |
| 162 | - //System.out.println("NUP TEMPOR�RIO"); | |
| 163 | - //System.out.println(protocolo.getEmail1()); | |
| 164 | - | |
| 165 | - protocolo.setArquivosList(arquivosList); | |
| 166 | - mailer.enviarAceite( protocolo ); | |
| 167 | - | |
| 168 | - /*arquivosList.forEach( arquivo -> { | |
| 169 | - arquivoStorage.excluir( arquivo.getNome() ); | |
| 170 | - } );*/ | |
| 171 | - | |
| 172 | - | |
| 173 | - return retornoGeracaoProcedimento.getProcedimentoFormatado(); | |
| 174 | - | |
| 175 | - } catch (Exception e) { | |
| 176 | - protocolo.setErroWs("[ERRO GERAR PROCEDIMENTO] " + e.getMessage() ); | |
| 177 | - e.printStackTrace(); | |
| 178 | - rollback( protocolo, e.getMessage() ); | |
| 179 | - } | |
| 180 | - } | |
| 181 | - | |
| 182 | - return null; | |
| 183 | - } | |
| 184 | - | |
| 185 | - /** | |
| 186 | - * | |
| 187 | - * @return array | |
| 188 | - */ | |
| 189 | - private Assunto[] recuperaAssunto() { | |
| 190 | - Assunto assunto = new Assunto(); | |
| 191 | - assunto.setCodigoEstruturado( configuracaoRepository.recuperarValor( ConfiguracaoEnum.ASSUNTO_CODIGO_ESTRUTURADO ) ); | |
| 192 | - Assunto[] assuntos = {assunto}; | |
| 193 | - return assuntos; | |
| 194 | - } | |
| 195 | - | |
| 196 | - private void rollback(Protocolo protocolo, String msgErro) { | |
| 197 | - protocolo.setNupe( null ); | |
| 198 | - salvarProtocoloService.pendente( protocolo ); | |
| 199 | - mailer.enviarEmailErroEnvioSEI( protocolo, msgErro ); | |
| 200 | - } | |
| 201 | - | |
| 202 | - public String enviarDocumento(Protocolo protocolo, Long idUsuario, String sei) { | |
| 203 | - String observacaoAnterior=""; | |
| 204 | - try { | |
| 205 | - | |
| 206 | - URL urlEndpoint = new URL( configuracaoRepository.recuperarValor( ConfiguracaoEnum.URL_ENDPOINT ) ); | |
| 207 | - SeiBindingStub seiBindingStub = new SeiBindingStub( urlEndpoint, null ); | |
| 208 | - seiBindingStub.setTimeout( 600000 * 60 ); | |
| 209 | - | |
| 210 | - List<Arquivos> arquivosList = arquivosRepository.findByProtocolo( protocolo ); | |
| 211 | - | |
| 212 | - arquivosList.forEach( arquivo -> { | |
| 213 | - try { | |
| 214 | - Documento documento = new Documento(); | |
| 215 | - //documento.setIdProcedimento( sei ); | |
| 216 | - documento.setIdProcedimento( sei | |
| 217 | - .replace( ".", "" ) | |
| 218 | - .replace( "/", "" ) | |
| 219 | - .replace( "-", "" ) ); | |
| 220 | - documento.setObservacao( protocolo.toString()); | |
| 221 | - documento.setDescricao( arquivo.getDescricaoDocumento() ); | |
| 222 | - documento.setNomeArquivo( arquivo.getNomeOriginal() ); | |
| 223 | - documento.setTipo( configuracaoRepository.recuperarValor( ConfiguracaoEnum.DOCUMENTO_TIPO ) ); | |
| 224 | - //documento.setIdSerie(env.getProperty("documento.id-serie")); //TODO: Alterar para pegar da combo Tipo Documento | |
| 225 | - documento.setIdSerie( arquivo.getTipoDocumento().getCodigoSei() ); //Tipo documento vindo do banco de dados | |
| 226 | - documento.setData( protocolo.getDataFormatada() ); | |
| 227 | - documento.setNivelAcesso( configuracaoRepository.recuperarValor( ConfiguracaoEnum.DOCUMENTO_NIVEL_ACESSO ) ); | |
| 228 | - | |
| 229 | - Path path = getDefault().getPath( configuracaoRepository.recuperarValor( ConfiguracaoEnum.STORAGE_PATH ) ).resolve( arquivo.getNome() ); | |
| 230 | - documento.setConteudo( Base64Utils.encodeToString( FileUtils.readFileToByteArray( path.toFile() ) ) ); | |
| 231 | - | |
| 232 | - seiBindingStub.incluirDocumento( | |
| 233 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.SIGLA_SISTEMA ), | |
| 234 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.IDENTIFICACAO_SERVICO ), | |
| 235 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.ID_UNIDADE ), | |
| 236 | - documento | |
| 237 | - ); | |
| 238 | - } catch (IOException e) { | |
| 239 | - protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage() ); | |
| 240 | - throw new RuntimeException( e.getMessage() ); | |
| 241 | - } | |
| 242 | - } ); | |
| 243 | - | |
| 244 | - protocolo.setNupe( sei ); | |
| 245 | - //protocolo.setNupe( retornoGeracaoProcedimento.getProcedimentoFormatado() ); | |
| 246 | - salvarProtocoloService.aprovar( protocolo, idUsuario ); | |
| 247 | - | |
| 248 | - protocolo.setArquivosList(arquivosRepository.findByProtocolo(protocolo)); | |
| 249 | - mailer.enviarAceite( protocolo ); | |
| 250 | - | |
| 251 | - /*arquivosList.forEach( arquivo -> { | |
| 252 | - arquivoStorage.excluir( arquivo.getNome() ); | |
| 253 | - } );*/ | |
| 254 | - | |
| 255 | - | |
| 256 | - return sei; | |
| 257 | - | |
| 258 | - | |
| 259 | - } catch (Exception e) { | |
| 260 | - e.printStackTrace(); | |
| 261 | - rollback( protocolo, e.getMessage() ); | |
| 262 | - } | |
| 263 | - | |
| 264 | - return null; | |
| 265 | - | |
| 266 | - } | |
| 267 | - public RetornoConsultaProcedimento consultarProtocoloSei(String sei) { | |
| 268 | - Optional<String> retorno = Optional.ofNullable(null); | |
| 269 | - RetornoConsultaProcedimento retornoConsultaProcedimento = new RetornoConsultaProcedimento(); | |
| 270 | - try { | |
| 271 | - URL urlEndpoint = new URL( configuracaoRepository.recuperarValor( ConfiguracaoEnum.URL_ENDPOINT ) ); | |
| 272 | - SeiBindingStub seiBindingStub = new SeiBindingStub( urlEndpoint, null ); | |
| 273 | - retornoConsultaProcedimento = seiBindingStub.consultarProcedimento( | |
| 274 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.SIGLA_SISTEMA ), | |
| 275 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.IDENTIFICACAO_SERVICO ), | |
| 276 | - configuracaoRepository.recuperarValor( ConfiguracaoEnum.ID_UNIDADE ), | |
| 277 | - sei, | |
| 278 | - "S", | |
| 279 | - "S", | |
| 280 | - "S", | |
| 281 | - "S", | |
| 282 | - "S", | |
| 283 | - "S", | |
| 284 | - "S", | |
| 285 | - "S", | |
| 286 | - "S" | |
| 287 | - ); | |
| 288 | - }catch(Exception e) { | |
| 289 | - e.printStackTrace(); | |
| 290 | - } | |
| 291 | - return retornoConsultaProcedimento; | |
| 292 | - } | |
| 293 | - | |
| 294 | - | |
| 31 | + @Autowired | |
| 32 | + private Mailer mailer; | |
| 33 | + | |
| 34 | + @Autowired | |
| 35 | + private ConfiguracaoRepository configuracaoRepository; | |
| 36 | + | |
| 37 | + @Autowired | |
| 38 | + private ClassificacaoRepository classificacaoRepository; | |
| 39 | + | |
| 40 | + @Autowired | |
| 41 | + private SalvarProtocoloService salvarProtocoloService; | |
| 42 | + | |
| 43 | + @Autowired | |
| 44 | + private ArquivosRepository arquivosRepository; | |
| 45 | + | |
| 46 | + @Autowired | |
| 47 | + private ArquivoStorage arquivoStorage; | |
| 48 | + | |
| 49 | + private String getDateTime() { | |
| 50 | + DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); | |
| 51 | + Date date = new Date(); | |
| 52 | + return dateFormat.format(date); | |
| 53 | + } | |
| 54 | + | |
| 55 | + @Async | |
| 56 | + public String enviar(Protocolo protocolo, Long idUsuario, String sei, String tipo, String idSei) throws Exception { | |
| 57 | + Map<String, String> map = new HashMap<String, String>(); | |
| 58 | + if (idSei != null) { | |
| 59 | + Optional<Classificacao> classificacaoConfig = classificacaoRepository.findByCodigo(Long.parseLong(idSei)); | |
| 60 | + if (classificacaoConfig.isPresent()) { | |
| 61 | + Classificacao c = classificacaoConfig.get(); | |
| 62 | + Iterator<Configuracao> itr = c.getConfiguracoes().iterator(); | |
| 63 | + while (itr.hasNext()) { | |
| 64 | + Configuracao conf = itr.next(); | |
| 65 | + map.put(conf.getNome(), conf.getValor()); | |
| 66 | + } | |
| 67 | + /** | |
| 68 | + * Envio para o SEI Definido | |
| 69 | + */ | |
| 70 | + this.enviarDocumentoComSei(protocolo, idUsuario, sei, tipo, map, idSei); | |
| 71 | + } | |
| 72 | + } else { | |
| 73 | + throw new Exception("[ERRO - idSei null]"); | |
| 74 | + } | |
| 75 | + return null; | |
| 76 | + } | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * | |
| 80 | + * @return array | |
| 81 | + */ | |
| 82 | + private Assunto[] recuperaAssunto() { | |
| 83 | + Assunto assunto = new Assunto(); | |
| 84 | + assunto.setCodigoEstruturado( | |
| 85 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.ASSUNTO_CODIGO_ESTRUTURADO)); | |
| 86 | + Assunto[] assuntos = { assunto }; | |
| 87 | + return assuntos; | |
| 88 | + } | |
| 89 | + | |
| 90 | + private void rollback(Protocolo protocolo, String msgErro) { | |
| 91 | + protocolo.setNupe(null); | |
| 92 | + salvarProtocoloService.pendente(protocolo); | |
| 93 | + mailer.enviarEmailErroEnvioSEI(protocolo, msgErro); | |
| 94 | + } | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * | |
| 98 | + * | |
| 99 | + * | |
| 100 | + * | |
| 101 | + * | |
| 102 | + */ | |
| 103 | + | |
| 104 | + private SeiBindingStub montarURLEndPoint(String endPoint) throws MalformedURLException, AxisFault { | |
| 105 | + URL urlEndpoint = new URL(endPoint); | |
| 106 | + SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); | |
| 107 | + return seiBindingStub; | |
| 108 | + } | |
| 109 | + | |
| 110 | + private Assunto[] montarAssunto(String assuntoCodigoEstruturado) { | |
| 111 | + Assunto assunto = new Assunto(); | |
| 112 | + assunto.setCodigoEstruturado(assuntoCodigoEstruturado); // Tipo de assunto | |
| 113 | + Assunto[] assuntos = { assunto }; | |
| 114 | + return assuntos; | |
| 115 | + } | |
| 116 | + | |
| 117 | + private Procedimento montarProcedimento(Assunto[] assuntos, Map<String, String> mapConfig, Protocolo protocolo, int size) { | |
| 118 | + Procedimento procedimento = new Procedimento(); | |
| 119 | + procedimento.setAssuntos(assuntos); | |
| 120 | + procedimento.setEspecificacao(mapConfig.get("PROCEDIMENTO_ESPECIFICADO")); | |
| 121 | + procedimento.setObservacao(protocolo.toString() + "\n" + "Quantidade Arquivos: " + size); | |
| 122 | + procedimento.setNivelAcesso(mapConfig.get("PROCEDIMENTO_NIVEL_ACESSO")); // 0 = Publico, 1 = Restrito, 2 = Sigiloso | |
| 123 | + procedimento.setIdTipoProcedimento(mapConfig.get("PROCEDIMENTO_ID_TIPO_PROCEDIMENTO")); // Tipo de Processo => Adesão de atas | |
| 124 | + procedimento.setIdHipoteseLegal(mapConfig.get("PROCEDIMENTO_HIPOTESE_LEGAL")); | |
| 125 | + return procedimento; | |
| 126 | + } | |
| 127 | + | |
| 128 | + private Interessado[] montarInteressado(Protocolo protocolo) { | |
| 129 | + Interessado interessado = new Interessado(); | |
| 130 | + interessado.setNome(protocolo.getUsuario().getNome()); | |
| 131 | + interessado.setSigla("Telefone: " + protocolo.getUsuario().getTelefone()); | |
| 132 | + Interessado[] interessados = { interessado }; | |
| 133 | + return interessados; | |
| 134 | + } | |
| 135 | + | |
| 136 | + private Documento montarDocumento(String idProcedimento, String descricao, String observacao, String nomeArquivo, | |
| 137 | + String conteudo, String tipo, String idSerie, String data) throws IOException { | |
| 138 | + Documento documento = new Documento(); | |
| 139 | + documento.setIdProcedimento(idProcedimento); | |
| 140 | + documento.setDescricao(descricao); | |
| 141 | + documento.setObservacao(observacao); | |
| 142 | + documento.setNomeArquivo(nomeArquivo); | |
| 143 | + documento.setConteudo(conteudo); | |
| 144 | + documento.setTipo(tipo); | |
| 145 | + documento.setIdSerie(idSerie); | |
| 146 | + documento.setData(data); | |
| 147 | + | |
| 148 | + return documento; | |
| 149 | + } | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * Função para enviar para múltiplos SEI's | |
| 153 | + * | |
| 154 | + * @author Matheus de Carvalho Sobrinho | |
| 155 | + * @param protocolo | |
| 156 | + * @param idUsuario | |
| 157 | + * @param sei | |
| 158 | + * @param tipo | |
| 159 | + * @param mapConfig | |
| 160 | + * @param idSei | |
| 161 | + * @return | |
| 162 | + */ | |
| 163 | + public String enviarDocumentoComSei(Protocolo protocolo, Long idUsuario, String sei, String tipo, | |
| 164 | + Map<String, String> mapConfig, String idSei) { | |
| 165 | + | |
| 166 | + if (sei != null && tipo != null && !sei.isEmpty() && tipo.equals("existente")) { | |
| 167 | + enviarDocumento(protocolo, idUsuario, sei, mapConfig, idSei); | |
| 168 | + } else { | |
| 169 | + try { | |
| 170 | + List<Arquivos> arquivosList = arquivosRepository.findByProtocolo(protocolo); | |
| 171 | + SeiBindingStub seiBindingStubMontado = this.montarURLEndPoint(mapConfig.get("URL_ENDPOINT")); | |
| 172 | + Assunto[] assuntos = this.montarAssunto(mapConfig.get("ASSUNTO_CODIGO_ESTRUTURADO")); | |
| 173 | + Interessado[] interessados = this.montarInteressado(protocolo); | |
| 174 | + Procedimento procedimento = this.montarProcedimento(assuntos, mapConfig, protocolo, arquivosList.size()); | |
| 175 | + procedimento.setInteressados(interessados); | |
| 176 | + | |
| 177 | + // Verificar se é um tipo informado | |
| 178 | + if (tipo.equals("novo")) { | |
| 179 | + procedimento.setNumeroProtocolo(sei); | |
| 180 | + procedimento.setDataAutuacao(getDateTime()); | |
| 181 | + } | |
| 182 | + | |
| 183 | + procedimento.setIdTipoProcedimento(mapConfig.get("PROCEDIMENTO_ID_TIPO_PROCEDIMENTO")); | |
| 184 | + | |
| 185 | + RetornoGeracaoProcedimento retornoGeracaoProcedimento = seiBindingStubMontado.gerarProcedimento( | |
| 186 | + mapConfig.get("SIGLA_SISTEMA"), mapConfig.get("IDENTIFICACAO_SERVICO"), | |
| 187 | + mapConfig.get("ID_UNIDADE"), procedimento, null, null, null, "S", "N", null, null, null, null, | |
| 188 | + null); | |
| 189 | + | |
| 190 | + arquivosList.forEach(arquivo -> { | |
| 191 | + try { | |
| 192 | + Path path = getDefault() | |
| 193 | + .getPath(configuracaoRepository.recuperarValor(ConfiguracaoEnum.STORAGE_PATH)) | |
| 194 | + .resolve(arquivo.getNome()); | |
| 195 | + | |
| 196 | + Documento documento = this.montarDocumento( | |
| 197 | + retornoGeracaoProcedimento.getProcedimentoFormatado().replace(".", "").replace("/", "") | |
| 198 | + .replace("-", ""), | |
| 199 | + arquivo.getDescricaoDocumento(), | |
| 200 | + protocolo.toString() + "\n" + "Quantidade Arquivos: " + arquivosList.size(), | |
| 201 | + arquivo.getNomeOriginal(), | |
| 202 | + Base64Utils.encodeToString(FileUtils.readFileToByteArray(path.toFile())), | |
| 203 | + mapConfig.get("DOCUMENTO_TIPO"), recuperarCodigoSeiDeArquivo(arquivo, idSei), | |
| 204 | + protocolo.getDataFormatada()); | |
| 205 | + | |
| 206 | + documento.setNivelAcesso(mapConfig.get("DOCUMENTO_NIVEL_ACESSO")); | |
| 207 | + documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(path.toFile()))); | |
| 208 | + | |
| 209 | + RetornoInclusaoDocumento retornoInclusaoDeDocumento = seiBindingStubMontado.incluirDocumento( | |
| 210 | + mapConfig.get("SIGLA_SISTEMA"), mapConfig.get("IDENTIFICACAO_SERVICO"), | |
| 211 | + mapConfig.get("ID_UNIDADE"), documento); | |
| 212 | + System.out.println("Link = " + retornoInclusaoDeDocumento.getLinkAcesso()); | |
| 213 | + | |
| 214 | + } catch (IOException e) { | |
| 215 | + protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage()); | |
| 216 | + throw new RuntimeException(e.getMessage()); | |
| 217 | + } | |
| 218 | + }); | |
| 219 | + | |
| 220 | + protocolo.setLinkSEI(retornoGeracaoProcedimento.getLinkAcesso()); | |
| 221 | + protocolo.setNupe(retornoGeracaoProcedimento.getProcedimentoFormatado()); | |
| 222 | + salvarProtocoloService.aprovar(protocolo, idUsuario); | |
| 223 | + | |
| 224 | + mailer.enviarAceite(protocolo); | |
| 225 | + | |
| 226 | + return retornoGeracaoProcedimento.getProcedimentoFormatado(); | |
| 227 | + } catch (Exception e) { | |
| 228 | + protocolo.setErroWs("[ERRO GERAR PROCEDIMENTO] " + e.getMessage()); | |
| 229 | + e.printStackTrace(); | |
| 230 | + rollback(protocolo, e.getMessage()); | |
| 231 | + } | |
| 232 | + } | |
| 233 | + | |
| 234 | + return null; | |
| 235 | + } | |
| 236 | + | |
| 237 | + public String enviarDocumento(Protocolo protocolo, Long idUsuario, String sei, Map<String, String> mapConfig, | |
| 238 | + String idSei) { | |
| 239 | + try { | |
| 240 | + | |
| 241 | + URL urlEndpoint = new URL(mapConfig.get("URL_ENDPOINT")); | |
| 242 | + SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); | |
| 243 | + seiBindingStub.setTimeout(600000 * 60); | |
| 244 | + | |
| 245 | + List<Arquivos> arquivosList = arquivosRepository.findByProtocolo(protocolo); | |
| 246 | + | |
| 247 | + arquivosList.forEach(arquivo -> { | |
| 248 | + try { | |
| 249 | + Documento documento = new Documento(); | |
| 250 | + // documento.setIdProcedimento( sei ); | |
| 251 | + documento.setIdProcedimento(sei.replace(".", "").replace("/", "").replace("-", "")); | |
| 252 | + documento.setObservacao(protocolo.toString()); | |
| 253 | + documento.setDescricao(arquivo.getDescricaoDocumento()); | |
| 254 | + documento.setNomeArquivo(arquivo.getNomeOriginal()); | |
| 255 | + | |
| 256 | + documento.setTipo(mapConfig.get("DOCUMENTO_TIPO")); | |
| 257 | + // documento.setIdSerie(env.getProperty("documento.id-serie")); //TODO: Alterar | |
| 258 | + // para pegar da combo Tipo Documento | |
| 259 | + | |
| 260 | + documento.setIdSerie(recuperarCodigoSeiDeArquivo(arquivo, idSei)); // Tipo documento vindo do banco | |
| 261 | + // de | |
| 262 | + // dados | |
| 263 | + documento.setData(protocolo.getDataFormatada()); | |
| 264 | + documento.setNivelAcesso(mapConfig.get("DOCUMENTO_NIVEL_ACESSO")); | |
| 265 | + | |
| 266 | + Path path = getDefault() | |
| 267 | + .getPath(configuracaoRepository.recuperarValor(ConfiguracaoEnum.STORAGE_PATH)) | |
| 268 | + .resolve(arquivo.getNome()); | |
| 269 | + documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(path.toFile()))); | |
| 270 | + | |
| 271 | + seiBindingStub.incluirDocumento(mapConfig.get("SIGLA_SISTEMA"), | |
| 272 | + mapConfig.get("IDENTIFICACAO_SERVICO"), mapConfig.get("ID_UNIDADE"), documento); | |
| 273 | + } catch (IOException e) { | |
| 274 | + protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage()); | |
| 275 | + throw new RuntimeException(e.getMessage()); | |
| 276 | + } | |
| 277 | + }); | |
| 278 | + | |
| 279 | + protocolo.setNupe(sei); | |
| 280 | + salvarProtocoloService.aprovar(protocolo, idUsuario); | |
| 281 | + | |
| 282 | + protocolo.setArquivosList(arquivosRepository.findByProtocolo(protocolo)); | |
| 283 | + mailer.enviarAceite(protocolo); | |
| 284 | + | |
| 285 | + return sei; | |
| 286 | + } catch (Exception e) { | |
| 287 | + e.printStackTrace(); | |
| 288 | + rollback(protocolo, e.getMessage()); | |
| 289 | + } | |
| 290 | + | |
| 291 | + return null; | |
| 292 | + | |
| 293 | + } | |
| 294 | + | |
| 295 | + private String recuperarCodigoSeiDeArquivo(Arquivos arquivo, String idSei) { | |
| 296 | + if (idSei.equals("2")) { | |
| 297 | + return arquivo.getTipoDocumento().getCodigoSei(); | |
| 298 | + } else if (idSei.equals("6")) { | |
| 299 | + return arquivo.getTipoDocumento().getCodigoSeiMf(); | |
| 300 | + } else if (idSei.equals("7")) { | |
| 301 | + return arquivo.getTipoDocumento().getCodigoSeiMdic(); | |
| 302 | + } | |
| 303 | + return null; | |
| 304 | + } | |
| 305 | + | |
| 306 | + public RetornoConsultaProcedimento consultarProtocoloSei(String sei) { | |
| 307 | + Optional<String> retorno = Optional.ofNullable(null); | |
| 308 | + RetornoConsultaProcedimento retornoConsultaProcedimento = new RetornoConsultaProcedimento(); | |
| 309 | + try { | |
| 310 | + URL urlEndpoint = new URL(configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_ENDPOINT)); | |
| 311 | + SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); | |
| 312 | + retornoConsultaProcedimento = seiBindingStub.consultarProcedimento( | |
| 313 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.SIGLA_SISTEMA), | |
| 314 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.IDENTIFICACAO_SERVICO), | |
| 315 | + configuracaoRepository.recuperarValor(ConfiguracaoEnum.ID_UNIDADE), sei, "S", "S", "S", "S", "S", | |
| 316 | + "S", "S", "S", "S"); | |
| 317 | + } catch (Exception e) { | |
| 318 | + e.printStackTrace(); | |
| 319 | + } | |
| 320 | + return retornoConsultaProcedimento; | |
| 321 | + } | |
| 322 | + | |
| 323 | +// /** | |
| 324 | +// * Enviar para o SEI primeiramente definido | |
| 325 | +// * | |
| 326 | +// * @param protocolo | |
| 327 | +// * @param idUsuario | |
| 328 | +// * @param sei | |
| 329 | +// * @param tipo | |
| 330 | +// * @return | |
| 331 | +// */ | |
| 332 | +// public String enviarSeiPadrao(Protocolo protocolo, Long idUsuario, String sei, String tipo, | |
| 333 | +// Map<String, String> mapConfig, String idSei) { | |
| 334 | +// | |
| 335 | +// if (sei != null && tipo != null && !sei.isEmpty() && tipo.equals("existente")) { | |
| 336 | +// enviarDocumentoPadrao(protocolo, idUsuario, sei, mapConfig, idSei); | |
| 337 | +// } else { | |
| 338 | +// | |
| 339 | +// try { | |
| 340 | +// URL urlEndpoint = new URL(configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_ENDPOINT)); | |
| 341 | +// SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); | |
| 342 | +// seiBindingStub.setTimeout(600000 * 60); | |
| 343 | +// | |
| 344 | +// Procedimento procedimento = new Procedimento(); | |
| 345 | +// if (tipo.equals("novo")) { | |
| 346 | +// procedimento.setNumeroProtocolo(sei); | |
| 347 | +// procedimento.setDataAutuacao(getDateTime()); | |
| 348 | +// } | |
| 349 | +// | |
| 350 | +// procedimento.setAssuntos(recuperaAssunto()); | |
| 351 | +// procedimento.setEspecificacao( | |
| 352 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.PROCEDIMENTO_ESPECIFICADO)); | |
| 353 | +// | |
| 354 | +// Interessado interessado = new Interessado(); | |
| 355 | +// interessado.setNome(protocolo.getUsuario().getNome()); | |
| 356 | +// interessado.setSigla("Telefone: " + protocolo.getUsuario().getTelefone()); | |
| 357 | +// Interessado[] interessados = { interessado }; | |
| 358 | +// | |
| 359 | +// procedimento.setInteressados(interessados); | |
| 360 | +// | |
| 361 | +// procedimento.setNivelAcesso( | |
| 362 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.PROCEDIMENTO_NIVEL_ACESSO)); | |
| 363 | +// procedimento.setIdTipoProcedimento( | |
| 364 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.PROCEDIMENTO_ID_TIPO_PROCEDIMENTO)); | |
| 365 | +// | |
| 366 | +// List<Arquivos> arquivosList = arquivosRepository.findByProtocolo(protocolo); | |
| 367 | +// | |
| 368 | +// procedimento.setObservacao(protocolo.toString() + "\n" + "Quantidade Arquivos: " + arquivosList.size()); | |
| 369 | +// | |
| 370 | +// // criando o procedimento | |
| 371 | +// RetornoGeracaoProcedimento retornoGeracaoProcedimento = seiBindingStub.gerarProcedimento( | |
| 372 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.SIGLA_SISTEMA), | |
| 373 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.IDENTIFICACAO_SERVICO), | |
| 374 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.ID_UNIDADE), procedimento, null, null, | |
| 375 | +// null, "N", "N", null, null, "N", null, null); | |
| 376 | +// | |
| 377 | +// arquivosList.forEach(arquivo -> { | |
| 378 | +// try { | |
| 379 | +// Documento documento = new Documento(); | |
| 380 | +// documento.setIdProcedimento(retornoGeracaoProcedimento.getProcedimentoFormatado() | |
| 381 | +// .replace(".", "").replace("/", "").replace("-", "")); | |
| 382 | +// documento.setObservacao(protocolo.toString()); | |
| 383 | +// documento.setDescricao(arquivo.getDescricaoDocumento()); | |
| 384 | +// documento.setNomeArquivo(arquivo.getNomeOriginal()); | |
| 385 | +// documento.setTipo(configuracaoRepository.recuperarValor(ConfiguracaoEnum.DOCUMENTO_TIPO)); | |
| 386 | +// // documento.setIdSerie(env.getProperty("documento.id-serie")); //TODO: Alterar | |
| 387 | +// // para pegar da combo Tipo Documento | |
| 388 | +// documento.setIdSerie(arquivo.getTipoDocumento().getCodigoSei()); // Tipo documento vindo do | |
| 389 | +// // banco de dados | |
| 390 | +// documento.setData(protocolo.getDataFormatada()); | |
| 391 | +// documento.setNivelAcesso( | |
| 392 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.DOCUMENTO_NIVEL_ACESSO)); | |
| 393 | +// | |
| 394 | +// Path path = getDefault() | |
| 395 | +// .getPath(configuracaoRepository.recuperarValor(ConfiguracaoEnum.STORAGE_PATH)) | |
| 396 | +// .resolve(arquivo.getNome()); | |
| 397 | +// documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(path.toFile()))); | |
| 398 | +// | |
| 399 | +// seiBindingStub.incluirDocumento( | |
| 400 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.SIGLA_SISTEMA), | |
| 401 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.IDENTIFICACAO_SERVICO), | |
| 402 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.ID_UNIDADE), documento); | |
| 403 | +// } catch (IOException e) { | |
| 404 | +// protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage()); | |
| 405 | +// throw new RuntimeException(e.getMessage()); | |
| 406 | +// } | |
| 407 | +// }); | |
| 408 | +// | |
| 409 | +// protocolo.setLinkSEI(retornoGeracaoProcedimento.getLinkAcesso()); | |
| 410 | +// protocolo.setNupe(retornoGeracaoProcedimento.getProcedimentoFormatado()); | |
| 411 | +// salvarProtocoloService.aprovar(protocolo, idUsuario); | |
| 412 | +// | |
| 413 | +// protocolo.setArquivosList(arquivosList); | |
| 414 | +// mailer.enviarAceite(protocolo); | |
| 415 | +// | |
| 416 | +// return retornoGeracaoProcedimento.getProcedimentoFormatado(); | |
| 417 | +// | |
| 418 | +// } catch (Exception e) { | |
| 419 | +// protocolo.setErroWs("[ERRO GERAR PROCEDIMENTO] " + e.getMessage()); | |
| 420 | +// e.printStackTrace(); | |
| 421 | +// rollback(protocolo, e.getMessage()); | |
| 422 | +// } | |
| 423 | +// } | |
| 424 | +// | |
| 425 | +// return null; | |
| 426 | +// } | |
| 427 | +// | |
| 428 | +// public String enviarDocumentoPadrao(Protocolo protocolo, Long idUsuario, String sei, Map<String, String> mapConfig, | |
| 429 | +// String idSei) { | |
| 430 | +// String observacaoAnterior = ""; | |
| 431 | +// try { | |
| 432 | +// | |
| 433 | +// URL urlEndpoint = new URL(configuracaoRepository.recuperarValor(ConfiguracaoEnum.URL_ENDPOINT)); | |
| 434 | +// SeiBindingStub seiBindingStub = new SeiBindingStub(urlEndpoint, null); | |
| 435 | +// seiBindingStub.setTimeout(600000 * 60); | |
| 436 | +// | |
| 437 | +// List<Arquivos> arquivosList = arquivosRepository.findByProtocolo(protocolo); | |
| 438 | +// | |
| 439 | +// arquivosList.forEach(arquivo -> { | |
| 440 | +// try { | |
| 441 | +// Documento documento = new Documento(); | |
| 442 | +// // documento.setIdProcedimento( sei ); | |
| 443 | +// documento.setIdProcedimento(sei.replace(".", "").replace("/", "").replace("-", "")); | |
| 444 | +// documento.setObservacao(protocolo.toString()); | |
| 445 | +// documento.setDescricao(arquivo.getDescricaoDocumento()); | |
| 446 | +// documento.setNomeArquivo(arquivo.getNomeOriginal()); | |
| 447 | +// documento.setTipo(configuracaoRepository.recuperarValor(ConfiguracaoEnum.DOCUMENTO_TIPO)); | |
| 448 | +// // documento.setIdSerie(env.getProperty("documento.id-serie")); //TODO: Alterar | |
| 449 | +// // para pegar da combo Tipo Documento | |
| 450 | +// documento.setIdSerie(arquivo.getTipoDocumento().getCodigoSei()); // Tipo documento vindo do banco de | |
| 451 | +// // dados | |
| 452 | +// documento.setData(protocolo.getDataFormatada()); | |
| 453 | +// documento.setNivelAcesso( | |
| 454 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.DOCUMENTO_NIVEL_ACESSO)); | |
| 455 | +// | |
| 456 | +// Path path = getDefault() | |
| 457 | +// .getPath(configuracaoRepository.recuperarValor(ConfiguracaoEnum.STORAGE_PATH)) | |
| 458 | +// .resolve(arquivo.getNome()); | |
| 459 | +// documento.setConteudo(Base64Utils.encodeToString(FileUtils.readFileToByteArray(path.toFile()))); | |
| 460 | +// | |
| 461 | +// seiBindingStub.incluirDocumento( | |
| 462 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.SIGLA_SISTEMA), | |
| 463 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.IDENTIFICACAO_SERVICO), | |
| 464 | +// configuracaoRepository.recuperarValor(ConfiguracaoEnum.ID_UNIDADE), documento); | |
| 465 | +// } catch (IOException e) { | |
| 466 | +// protocolo.setErroWs("[ERRO INCLUIR DOCUMENTO] " + e.getMessage()); | |
| 467 | +// throw new RuntimeException(e.getMessage()); | |
| 468 | +// } | |
| 469 | +// }); | |
| 470 | +// | |
| 471 | +// protocolo.setNupe(sei); | |
| 472 | +// // protocolo.setNupe( retornoGeracaoProcedimento.getProcedimentoFormatado() ); | |
| 473 | +// salvarProtocoloService.aprovar(protocolo, idUsuario); | |
| 474 | +// | |
| 475 | +// protocolo.setArquivosList(arquivosRepository.findByProtocolo(protocolo)); | |
| 476 | +// mailer.enviarAceite(protocolo); | |
| 477 | +// | |
| 478 | +// /* | |
| 479 | +// * arquivosList.forEach( arquivo -> { arquivoStorage.excluir( arquivo.getNome() | |
| 480 | +// * ); } ); | |
| 481 | +// */ | |
| 482 | +// | |
| 483 | +// return sei; | |
| 484 | +// | |
| 485 | +// } catch (Exception e) { | |
| 486 | +// e.printStackTrace(); | |
| 487 | +// rollback(protocolo, e.getMessage()); | |
| 488 | +// } | |
| 489 | +// | |
| 490 | +// return null; | |
| 491 | +// | |
| 492 | +// } | |
| 493 | + | |
| 494 | + | |
| 295 | 495 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/AutoCadastroService.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.services; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; |
| 4 | -import br.gov.planejamento.dipla.protocolo.entities.AcaoEnum; | |
| 5 | -import br.gov.planejamento.dipla.protocolo.entities.Grupo; | |
| 6 | -import br.gov.planejamento.dipla.protocolo.entities.LoginAttempt; | |
| 7 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 8 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 9 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.entities.*; | |
| 10 | 5 | import br.gov.planejamento.dipla.protocolo.mail.Mailer; |
| 11 | -import br.gov.planejamento.dipla.protocolo.repositories.GrupoRepository; | |
| 12 | -import br.gov.planejamento.dipla.protocolo.repositories.LoginAttemptRepository; | |
| 13 | -import br.gov.planejamento.dipla.protocolo.repositories.ProtocoloRepository; | |
| 14 | -import br.gov.planejamento.dipla.protocolo.repositories.UsuarioBrasilCidadaoRepository; | |
| 15 | -import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 6 | +import br.gov.planejamento.dipla.protocolo.repositories.*; | |
| 16 | 7 | import br.gov.planejamento.dipla.protocolo.services.exeptions.EmailUsuarioJaCadastradoException; |
| 17 | 8 | import br.gov.planejamento.dipla.protocolo.services.exeptions.SenhaObrigatoriaUsuarioException; |
| 18 | - | |
| 19 | 9 | import org.apache.commons.codec.digest.DigestUtils; |
| 20 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 21 | 11 | import org.springframework.security.crypto.password.PasswordEncoder; |
| ... | ... | @@ -23,9 +13,6 @@ import org.springframework.stereotype.Service; |
| 23 | 13 | import org.springframework.transaction.annotation.Transactional; |
| 24 | 14 | import org.springframework.util.Base64Utils; |
| 25 | 15 | import org.springframework.util.StringUtils; |
| 26 | -import org.springframework.web.bind.annotation.GetMapping; | |
| 27 | -import org.springframework.web.bind.annotation.PathVariable; | |
| 28 | -import org.springframework.web.servlet.ModelAndView; | |
| 29 | 16 | |
| 30 | 17 | import java.util.ArrayList; |
| 31 | 18 | import java.util.List; |
| ... | ... | @@ -93,8 +80,8 @@ public class AutoCadastroService { |
| 93 | 80 | } |
| 94 | 81 | |
| 95 | 82 | @Transactional |
| 96 | - public void cadastrarBrasilCidadao(UsuarioBrasilCidadaoDto usuarioretorno) { | |
| 97 | - | |
| 83 | + public Usuario cadastrarBrasilCidadao(UsuarioBrasilCidadaoDto usuarioretorno) { | |
| 84 | + | |
| 98 | 85 | UsuarioBrasilCidadao usuarioBrasilCidadao= new UsuarioBrasilCidadao(); |
| 99 | 86 | Usuario usuario = new Usuario(); |
| 100 | 87 | usuario.setNome(usuarioretorno.getNome()); |
| ... | ... | @@ -104,18 +91,22 @@ public class AutoCadastroService { |
| 104 | 91 | List<Grupo> grupos = new ArrayList<>(); |
| 105 | 92 | grupos.add(grupoRepository.findOne(3L)); |
| 106 | 93 | usuario.setGrupos(grupos); |
| 107 | - | |
| 94 | + | |
| 108 | 95 | salvar(usuario,grupos,false,false); |
| 109 | - | |
| 96 | + | |
| 97 | + return usuario; | |
| 98 | + | |
| 110 | 99 | } |
| 111 | 100 | |
| 112 | - public void migrarBrasilCidadao(UsuarioBrasilCidadaoDto usuarioretorno) { | |
| 101 | + public UsuarioBrasilCidadao migrarBrasilCidadao(UsuarioBrasilCidadaoDto usuarioretorno, Usuario usuario) { | |
| 113 | 102 | UsuarioBrasilCidadao usuarioBrasilCidadao= new UsuarioBrasilCidadao(); |
| 114 | - //Salvando CPF | |
| 115 | - usuarioBrasilCidadao.setCpf(usuarioretorno.getCpf()); | |
| 116 | - usuarioBrasilCidadao.setToken(usuarioretorno.getToken()); | |
| 117 | - usuarioBrasilCidadao.setAtivo(Boolean.FALSE); | |
| 118 | - usuarioBrasilCidadaoRepository.save(usuarioBrasilCidadao); | |
| 103 | + usuarioBrasilCidadao.setEmail(usuarioretorno.getEmail()); | |
| 104 | + usuarioBrasilCidadao.setUsuario(usuario); | |
| 105 | + usuarioBrasilCidadao.setCpf(usuarioretorno.getCpf()); | |
| 106 | + usuarioBrasilCidadao.setToken(usuarioretorno.getToken()); | |
| 107 | + usuarioBrasilCidadao.setAtivo(Boolean.FALSE); | |
| 108 | + usuarioBrasilCidadaoRepository.save(usuarioBrasilCidadao); | |
| 109 | + return usuarioBrasilCidadao; | |
| 119 | 110 | } |
| 120 | 111 | public void atualizarBrasilCidadao(UsuarioBrasilCidadaoDto usuarioretorno, UsuarioBrasilCidadao usuarioBrasilCidadao, Boolean atualizaEmail) { |
| 121 | 112 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/BrasilCidadaoService.java
| ... | ... | @@ -6,44 +6,38 @@ |
| 6 | 6 | package br.gov.planejamento.dipla.protocolo.services; |
| 7 | 7 | |
| 8 | 8 | import br.gov.planejamento.dipla.protocolo.config.BrasilCidadaoConfig; |
| 9 | -import br.gov.planejamento.dipla.protocolo.dto.TokenRetornoDto; | |
| 10 | 9 | import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; |
| 11 | -import br.gov.planejamento.dipla.protocolo.entities.Configuracao; | |
| 12 | -import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; | |
| 13 | 10 | import br.gov.planejamento.dipla.protocolo.entities.Usuario; |
| 14 | 11 | import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; |
| 15 | -import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 16 | -import br.gov.planejamento.dipla.protocolo.repositories.TiposDocumentoRepository; | |
| 17 | 12 | import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; |
| 18 | -import br.gov.planejamento.dipla.protocolo.security.BrasilCidadaoUserDetails; | |
| 19 | 13 | import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; |
| 20 | - | |
| 14 | +import org.jose4j.json.internal.json_simple.JSONArray; | |
| 15 | +import org.jose4j.json.internal.json_simple.JSONObject; | |
| 16 | +import org.jose4j.json.internal.json_simple.parser.JSONParser; | |
| 17 | +import org.jose4j.jwk.PublicJsonWebKey; | |
| 18 | +import org.jose4j.jwt.JwtClaims; | |
| 19 | +import org.jose4j.jwt.consumer.JwtConsumer; | |
| 20 | +import org.jose4j.jwt.consumer.JwtConsumerBuilder; | |
| 21 | 21 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | -import org.springframework.http.HttpEntity; | |
| 23 | -import org.springframework.http.HttpMethod; | |
| 24 | -import org.springframework.http.ResponseEntity; | |
| 25 | 22 | import org.springframework.http.converter.StringHttpMessageConverter; |
| 26 | 23 | import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; |
| 27 | 24 | import org.springframework.security.core.GrantedAuthority; |
| 28 | 25 | import org.springframework.security.core.authority.SimpleGrantedAuthority; |
| 29 | -import org.springframework.security.core.context.SecurityContextHolder; | |
| 30 | 26 | import org.springframework.stereotype.Service; |
| 31 | -import org.springframework.transaction.annotation.Transactional; | |
| 32 | 27 | import org.springframework.web.client.RestTemplate; |
| 33 | -import org.springframework.web.servlet.ModelAndView; | |
| 34 | - | |
| 35 | -import com.fasterxml.jackson.databind.ObjectMapper; | |
| 36 | 28 | |
| 29 | +import javax.net.ssl.HttpsURLConnection; | |
| 30 | +import java.io.BufferedReader; | |
| 31 | +import java.io.InputStreamReader; | |
| 32 | +import java.net.URL; | |
| 37 | 33 | import java.nio.charset.Charset; |
| 38 | -import java.util.Collection; | |
| 39 | -import java.util.HashSet; | |
| 40 | -import java.util.List; | |
| 41 | -import java.util.Optional; | |
| 42 | -import java.util.Set; | |
| 34 | +import java.util.*; | |
| 35 | + | |
| 36 | + | |
| 43 | 37 | |
| 44 | 38 | /** |
| 45 | 39 | * |
| 46 | - * @author leonardo | |
| 40 | + * @author leonardo, Jose Fortes | |
| 47 | 41 | */ |
| 48 | 42 | @Service |
| 49 | 43 | public class BrasilCidadaoService { |
| ... | ... | @@ -55,63 +49,148 @@ public class BrasilCidadaoService { |
| 55 | 49 | |
| 56 | 50 | @Autowired |
| 57 | 51 | private BrasilCidadaoConfig brasilCidadaoOpenIdConnectConfig; |
| 58 | - | |
| 59 | - | |
| 60 | - public UsuarioBrasilCidadaoDto autenticarBrasilCidadao(String code) throws Exception{ | |
| 61 | - UsuarioBrasilCidadaoDto usuarioretorno = new UsuarioBrasilCidadaoDto(); | |
| 62 | - | |
| 63 | - RestTemplate restTemplate = new RestTemplate(); | |
| 64 | - restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); | |
| 65 | - | |
| 66 | - HttpEntity<String> entityToken = new HttpEntity<String>(brasilCidadaoOpenIdConnectConfig.gerarRequisicaoAtributo(code), brasilCidadaoOpenIdConnectConfig.gerarRequisicaoHeader()); | |
| 67 | - | |
| 68 | - //Enviando autorização com code | |
| 69 | - | |
| 70 | - ResponseEntity<String> respEntToken = restTemplate.exchange(brasilCidadaoOpenIdConnectConfig.gerarUrlToken(), HttpMethod.POST, entityToken, String.class); | |
| 71 | - | |
| 72 | - if(respEntToken.getStatusCodeValue()!=200) { | |
| 73 | - throw new Exception("Erro no recebimento do token"); | |
| 74 | - } | |
| 75 | - | |
| 76 | - //Capturando token | |
| 77 | - TokenRetornoDto retorno = new ObjectMapper().readValue(respEntToken.getBody().toString(), TokenRetornoDto.class); | |
| 78 | - | |
| 79 | - //Enviando token | |
| 80 | - ResponseEntity<String> respEntUsuario = restTemplate.exchange(brasilCidadaoOpenIdConnectConfig.gerarUrlDadosUsuarios(retorno.getAccess_token()),HttpMethod.GET,null,String.class); | |
| 81 | - | |
| 82 | - if(respEntUsuario.getStatusCodeValue()!=200) { | |
| 83 | - throw new Exception("Erro no recebimento dos dados do usuario"); | |
| 84 | - } | |
| 85 | - | |
| 86 | - //Capturando dados usuario | |
| 87 | - usuarioretorno = new ObjectMapper().readValue(respEntUsuario.getBody().toString() , UsuarioBrasilCidadaoDto.class); | |
| 88 | - usuarioretorno.setToken(retorno.getAccess_token()); | |
| 89 | - | |
| 90 | - return usuarioretorno; | |
| 91 | - } | |
| 92 | - | |
| 93 | - public UsernamePasswordAuthenticationToken autenticarProtocolo(UsuarioBrasilCidadaoDto usuarioretorno) throws Exception { | |
| 94 | - Optional<UsuarioBrasilCidadao> usuarioBrasilCidadao = usuarioRepository.buscarBrasilCidadao(usuarioretorno.getCpf()); | |
| 95 | - | |
| 96 | - BrasilCidadaoUserDetails userDetails = new BrasilCidadaoUserDetails(usuarioBrasilCidadao.get().getUsuario().getEmail()); | |
| 97 | - Optional<Usuario> usuario = usuarioRepository.findByEmail(usuarioBrasilCidadao.get().getUsuario().getEmail()); | |
| 98 | - | |
| 99 | - | |
| 100 | - List<String> permissoes = usuarioRepository.permissoes(usuario.get()); | |
| 52 | + | |
| 53 | + | |
| 54 | + public UsernamePasswordAuthenticationToken autenticarProtocolo(UsuarioBrasilCidadaoDto usuarioretorno) throws Exception { | |
| 55 | + Optional<UsuarioBrasilCidadao> usuarioBrasilCidadao = usuarioRepository.buscarBrasilCidadao(usuarioretorno.getCpf()); | |
| 56 | + | |
| 57 | + Optional<Usuario> usuario = usuarioRepository.findByEmail(usuarioBrasilCidadao.get().getUsuario().getEmail()); | |
| 58 | + | |
| 101 | 59 | usuario.get().setTemPerfilBrasilCidadao(true); |
| 102 | - | |
| 103 | - UsuarioSistema usuarioSistema = new UsuarioSistema(usuario.get(),getPermissoes(),true); | |
| 104 | - | |
| 105 | - UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken( | |
| 106 | - usuarioSistema, | |
| 107 | - usuarioretorno.getToken(),getPermissoes()); | |
| 60 | + | |
| 61 | + UsuarioSistema usuarioSistema = new UsuarioSistema(usuario.get(), getPermissoes(), true); | |
| 62 | + | |
| 63 | + UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken( | |
| 64 | + usuarioSistema, | |
| 65 | + usuarioretorno.getToken(), getPermissoes()); | |
| 108 | 66 | return auth; |
| 109 | - } | |
| 110 | - | |
| 111 | - private Collection<? extends GrantedAuthority> getPermissoes() { | |
| 67 | + } | |
| 68 | + | |
| 69 | + private Collection<? extends GrantedAuthority> getPermissoes() { | |
| 112 | 70 | Set<SimpleGrantedAuthority> authorities = new HashSet<>(); |
| 113 | 71 | authorities.add(new SimpleGrantedAuthority("ROLE_BRASILCIDADAO")); |
| 114 | 72 | return authorities; |
| 115 | 73 | } |
| 116 | 74 | |
| 75 | + public UsuarioBrasilCidadaoDto autenticarBrasilCidadao(String code) throws Exception { | |
| 76 | + UsuarioBrasilCidadaoDto usuarioRetorno = new UsuarioBrasilCidadaoDto(); | |
| 77 | + | |
| 78 | + RestTemplate restTemplate = new RestTemplate(); | |
| 79 | + restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); | |
| 80 | + | |
| 81 | + //Enviando autorização com code | |
| 82 | + try { | |
| 83 | + String idToken = receberToken(code); | |
| 84 | + usuarioRetorno = recuperarInformacoesUsuarioBrasilCidadao(idToken); | |
| 85 | + return usuarioRetorno; | |
| 86 | + } catch (Exception e) { | |
| 87 | + msgErro = e.getMessage(); | |
| 88 | + System.out.println(msgErro); | |
| 89 | + } | |
| 90 | + | |
| 91 | + return null; | |
| 92 | + } | |
| 93 | + | |
| 94 | + private String receberToken(String code) throws Exception{ | |
| 95 | + String idToken = ""; | |
| 96 | + try { | |
| 97 | + String tokens = extractToken(code); | |
| 98 | + org.jose4j.json.internal.json_simple.parser.JSONParser parser = new JSONParser(); | |
| 99 | + org.jose4j.json.internal.json_simple.JSONObject tokensJson = (JSONObject) parser.parse(tokens); | |
| 100 | + idToken = (String) tokensJson.get("id_token"); | |
| 101 | + } catch (Exception e) { | |
| 102 | + msgErro = e.getMessage(); | |
| 103 | + System.out.println(msgErro); | |
| 104 | + } | |
| 105 | + | |
| 106 | + return idToken; | |
| 107 | + } | |
| 108 | + | |
| 109 | + private String extractToken(String code) throws Exception { | |
| 110 | + String retorno = ""; | |
| 111 | + URL url = new URL(brasilCidadaoOpenIdConnectConfig.gerarURLToken(code)); | |
| 112 | + HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); | |
| 113 | + conn.setRequestMethod("POST"); | |
| 114 | + conn.setRequestProperty("Accept", "application/json"); | |
| 115 | + conn.setRequestProperty("authorization", String.format("Basic %s", | |
| 116 | + Base64.getEncoder().encodeToString(String.format("%s:%s", brasilCidadaoOpenIdConnectConfig.obterClientID(), brasilCidadaoOpenIdConnectConfig.obterClientSecret()).getBytes()))); | |
| 117 | + | |
| 118 | + if (conn.getResponseCode() != 200) { | |
| 119 | + throw new RuntimeException("Falhou : HTTP error code : " + conn.getResponseCode()); | |
| 120 | + } | |
| 121 | + | |
| 122 | + BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); | |
| 123 | + | |
| 124 | + String tokens = null; | |
| 125 | + while ((tokens = br.readLine()) != null) { | |
| 126 | + retorno += tokens; | |
| 127 | + } | |
| 128 | + | |
| 129 | + conn.disconnect(); | |
| 130 | + | |
| 131 | + return retorno; | |
| 132 | + } | |
| 133 | + | |
| 134 | + private UsuarioBrasilCidadaoDto recuperarInformacoesUsuarioBrasilCidadao(String idToken) throws Exception{ | |
| 135 | + JwtClaims idTokenJwtClaims; | |
| 136 | + try { | |
| 137 | + idTokenJwtClaims = processToClaims(idToken); | |
| 138 | + } catch (Exception e) { | |
| 139 | + msgErro = e.getMessage(); | |
| 140 | + System.out.println(msgErro); | |
| 141 | + throw new Exception(e); | |
| 142 | + } | |
| 143 | + | |
| 144 | + UsuarioBrasilCidadaoDto usuarioBrasilCidadaoDto = new UsuarioBrasilCidadaoDto(); | |
| 145 | + usuarioBrasilCidadaoDto.setEmail(idTokenJwtClaims.getClaimValue("email").toString()); | |
| 146 | + usuarioBrasilCidadaoDto.setNome(idTokenJwtClaims.getStringClaimValue("name").toString()); | |
| 147 | + usuarioBrasilCidadaoDto.setCpf(idTokenJwtClaims.getClaimValue("sub").toString()); | |
| 148 | + return usuarioBrasilCidadaoDto; | |
| 149 | + } | |
| 150 | + | |
| 151 | + private JwtClaims processToClaims(String token) throws Exception { | |
| 152 | + URL url = new URL(brasilCidadaoOpenIdConnectConfig.obterURLDadosUsuario()); | |
| 153 | + HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); | |
| 154 | + conn.setRequestMethod("GET"); | |
| 155 | + conn.setRequestProperty("Accept", "application/json"); | |
| 156 | + if (conn.getResponseCode() != 200) { | |
| 157 | + throw new RuntimeException("Falhou : HTTP error code : " + conn.getResponseCode()); | |
| 158 | + } | |
| 159 | + | |
| 160 | + BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); | |
| 161 | + | |
| 162 | + String ln = null, jwk = ""; | |
| 163 | + while ((ln = br.readLine()) != null) { | |
| 164 | + jwk += ln; | |
| 165 | + } | |
| 166 | + | |
| 167 | + conn.disconnect(); | |
| 168 | + | |
| 169 | + JSONParser parser = new JSONParser(); | |
| 170 | + JSONObject tokensJson = (JSONObject) parser.parse(jwk); | |
| 171 | + | |
| 172 | + JSONArray keys = (JSONArray) tokensJson.get("keys"); | |
| 173 | + | |
| 174 | + JSONObject keyJSONObject = (JSONObject) keys.get(0); | |
| 175 | + | |
| 176 | + String key = keyJSONObject.toJSONString(); | |
| 177 | + | |
| 178 | + PublicJsonWebKey pjwk = PublicJsonWebKey.Factory.newPublicJwk(key); | |
| 179 | + | |
| 180 | + JwtConsumer jwtConsumer = new JwtConsumerBuilder().setRequireExpirationTime() // Exige que o token tenha um | |
| 181 | + // tempo de validade | |
| 182 | + .setExpectedAudience(brasilCidadaoOpenIdConnectConfig.obterClientID()).setMaxFutureValidityInMinutes(60) // Testa se o tempo de validade do | |
| 183 | + // access token é inferior ou igual | |
| 184 | + // ao tempo máximo estipulado (Tempo | |
| 185 | + // padrão de 60 minutos) | |
| 186 | + .setAllowedClockSkewInSeconds(30) // Esta é uma boa prática. | |
| 187 | + .setRequireSubject() // Exige que o token tenha um Subject. | |
| 188 | + .setExpectedIssuer(brasilCidadaoOpenIdConnectConfig.obterURLBrasilCidadao() + "/") // Verifica a procedência do token. | |
| 189 | + .setVerificationKey(pjwk.getPublicKey()) // Verifica a assinatura com a public key fornecida. | |
| 190 | + .build(); // Cria a instância JwtConsumer. | |
| 191 | + | |
| 192 | + return jwtConsumer.processToClaims(token); | |
| 193 | + } | |
| 194 | + | |
| 195 | + | |
| 117 | 196 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/CadastroUsuarioService.java
| ... | ... | @@ -5,13 +5,10 @@ |
| 5 | 5 | */ |
| 6 | 6 | package br.gov.planejamento.dipla.protocolo.services; |
| 7 | 7 | |
| 8 | -import br.gov.planejamento.dipla.protocolo.dto.UsuarioBrasilCidadaoDto; | |
| 9 | 8 | import br.gov.planejamento.dipla.protocolo.entities.AcaoEnum; |
| 10 | -import br.gov.planejamento.dipla.protocolo.entities.Grupo; | |
| 11 | 9 | import br.gov.planejamento.dipla.protocolo.entities.Usuario; |
| 12 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 13 | 10 | import br.gov.planejamento.dipla.protocolo.mail.Mailer; |
| 14 | -import br.gov.planejamento.dipla.protocolo.repositories.*; | |
| 11 | +import br.gov.planejamento.dipla.protocolo.repositories.UsuarioRepository; | |
| 15 | 12 | import br.gov.planejamento.dipla.protocolo.services.exeptions.EmailUsuarioJaCadastradoException; |
| 16 | 13 | import br.gov.planejamento.dipla.protocolo.services.exeptions.SenhaObrigatoriaUsuarioException; |
| 17 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -22,8 +19,6 @@ import org.springframework.util.StringUtils; |
| 22 | 19 | |
| 23 | 20 | import java.math.BigInteger; |
| 24 | 21 | import java.security.SecureRandom; |
| 25 | -import java.util.ArrayList; | |
| 26 | -import java.util.List; | |
| 27 | 22 | import java.util.Optional; |
| 28 | 23 | |
| 29 | 24 | /** |
| ... | ... | @@ -105,7 +100,7 @@ public class CadastroUsuarioService { |
| 105 | 100 | usuario.setSenha(senha); |
| 106 | 101 | mailer.enviarNovaSenha(usuario); |
| 107 | 102 | }else { |
| 108 | - throw new RuntimeException("Usuário Cadastrado como Brasil Cidadão."); | |
| 103 | + throw new RuntimeException("Usuário Cadastrado com Login Único."); | |
| 109 | 104 | } |
| 110 | 105 | }else{ |
| 111 | 106 | throw new RuntimeException("Email não cadastrado."); | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/ConfiguracaoEmailService.java
| ... | ... | @@ -5,12 +5,8 @@ |
| 5 | 5 | */ |
| 6 | 6 | package br.gov.planejamento.dipla.protocolo.services; |
| 7 | 7 | |
| 8 | -import br.gov.planejamento.dipla.protocolo.entities.Configuracao; | |
| 9 | 8 | import br.gov.planejamento.dipla.protocolo.entities.ConfiguracaoEmail; |
| 10 | -import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; | |
| 11 | 9 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoEmailRepository; |
| 12 | -import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; | |
| 13 | -import br.gov.planejamento.dipla.protocolo.repositories.TiposDocumentoRepository; | |
| 14 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | 11 | import org.springframework.stereotype.Service; |
| 16 | 12 | import org.springframework.transaction.annotation.Transactional; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/ConfiguracaoService.java
| ... | ... | @@ -6,9 +6,7 @@ |
| 6 | 6 | package br.gov.planejamento.dipla.protocolo.services; |
| 7 | 7 | |
| 8 | 8 | import br.gov.planejamento.dipla.protocolo.entities.Configuracao; |
| 9 | -import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; | |
| 10 | 9 | import br.gov.planejamento.dipla.protocolo.repositories.ConfiguracaoRepository; |
| 11 | -import br.gov.planejamento.dipla.protocolo.repositories.TiposDocumentoRepository; | |
| 12 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
| 13 | 11 | import org.springframework.stereotype.Service; |
| 14 | 12 | import org.springframework.transaction.annotation.Transactional; | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/EnviarProtocoloService.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.services; |
| 2 | 2 | |
| 3 | +import Sei.RetornoConsultaProcedimento; | |
| 3 | 4 | import br.gov.planejamento.dipla.protocolo.dto.ArquivoDTO; |
| 4 | 5 | import br.gov.planejamento.dipla.protocolo.entities.AcaoEnum; |
| 5 | 6 | import br.gov.planejamento.dipla.protocolo.entities.Protocolo; |
| ... | ... | @@ -13,9 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired; |
| 13 | 14 | import org.springframework.context.ApplicationEventPublisher; |
| 14 | 15 | import org.springframework.stereotype.Service; |
| 15 | 16 | |
| 16 | -import Sei.RetornoConsultaProcedimento; | |
| 17 | - | |
| 18 | -import java.time.LocalDateTime; | |
| 19 | 17 | import java.util.Date; |
| 20 | 18 | import java.util.List; |
| 21 | 19 | import java.util.Optional; |
| ... | ... | @@ -56,13 +54,13 @@ public class EnviarProtocoloService { |
| 56 | 54 | return Optional.of(retornoConsultaProcedimento.getLinkAcesso()); |
| 57 | 55 | } |
| 58 | 56 | |
| 59 | - public void enviarSEI(Protocolo protocolo, String sei, String tipo) { | |
| 57 | + public void enviarSEI(Protocolo protocolo, String sei, String tipo, String idSei) { | |
| 60 | 58 | protocolo.setDataEnvio(new Date()); |
| 61 | 59 | protocolo.setNupe("Processando..."); |
| 62 | 60 | protocolo.setStatus(StatusEnum.PROCESSANDO); |
| 63 | 61 | protocoloRepository.save(protocolo); |
| 64 | 62 | logProtocoloService.saveLog(protocolo,AcaoEnum.ALTERAR); |
| 65 | - publisher.publishEvent(new AprovarProtocoloEvent(this, protocolo, logProtocoloService.recuperarUsuario(), sei, tipo)); | |
| 63 | + publisher.publishEvent(new AprovarProtocoloEvent(this, protocolo, logProtocoloService.recuperarUsuario(), sei, tipo, idSei)); | |
| 66 | 64 | } |
| 67 | 65 | |
| 68 | 66 | public void recusar(Protocolo protocolo) { | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/LogProtocoloService.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.services; |
| 2 | 2 | |
| 3 | -import java.util.Date; | |
| 4 | -import java.util.List; | |
| 5 | -import java.util.Optional; | |
| 6 | - | |
| 7 | -import javax.persistence.Column; | |
| 8 | -import javax.persistence.EnumType; | |
| 9 | -import javax.persistence.Enumerated; | |
| 10 | -import javax.persistence.GeneratedValue; | |
| 11 | -import javax.persistence.GenerationType; | |
| 12 | -import javax.persistence.Id; | |
| 13 | -import javax.persistence.JoinColumn; | |
| 14 | -import javax.persistence.ManyToOne; | |
| 15 | -import javax.persistence.Temporal; | |
| 16 | - | |
| 3 | +import br.gov.planejamento.dipla.protocolo.entities.*; | |
| 4 | +import br.gov.planejamento.dipla.protocolo.repositories.LogStatusRepository; | |
| 5 | +import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; | |
| 17 | 6 | import org.springframework.beans.factory.annotation.Autowired; |
| 18 | 7 | import org.springframework.security.core.context.SecurityContextHolder; |
| 19 | 8 | import org.springframework.stereotype.Service; |
| 20 | 9 | import org.springframework.transaction.annotation.Transactional; |
| 21 | - | |
| 22 | -import br.gov.planejamento.dipla.protocolo.dto.ArquivoDTO; | |
| 23 | -import br.gov.planejamento.dipla.protocolo.entities.AcaoEnum; | |
| 24 | -import br.gov.planejamento.dipla.protocolo.entities.Arquivos; | |
| 25 | -import br.gov.planejamento.dipla.protocolo.entities.EntidadeEnum; | |
| 26 | -import br.gov.planejamento.dipla.protocolo.entities.LogSistema; | |
| 27 | -import br.gov.planejamento.dipla.protocolo.entities.Protocolo; | |
| 28 | -import br.gov.planejamento.dipla.protocolo.entities.StatusEnum; | |
| 29 | -import br.gov.planejamento.dipla.protocolo.entities.TiposDocumento; | |
| 30 | -import br.gov.planejamento.dipla.protocolo.entities.Usuario; | |
| 31 | -import br.gov.planejamento.dipla.protocolo.entities.UsuarioBrasilCidadao; | |
| 32 | -import br.gov.planejamento.dipla.protocolo.repositories.LogStatusRepository; | |
| 33 | -import br.gov.planejamento.dipla.protocolo.repositories.ProtocoloRepository; | |
| 34 | -import br.gov.planejamento.dipla.protocolo.security.UsuarioSistema; | |
| 35 | -import br.gov.planejamento.dipla.protocolo.storage.ArquivoStorage; | |
| 36 | 10 | /** |
| 37 | 11 | * Created by dario on 29/09/17. |
| 38 | 12 | */ | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/ProtocoloFlagService.java
src/main/java/br/gov/planejamento/dipla/protocolo/services/event/AprovarProtocoloEvent.java
| ... | ... | @@ -11,12 +11,14 @@ public class AprovarProtocoloEvent extends ApplicationEvent { |
| 11 | 11 | private Long idUsuario; |
| 12 | 12 | private String sei; |
| 13 | 13 | private String tipo; |
| 14 | + private String idSei; | |
| 14 | 15 | |
| 15 | - public AprovarProtocoloEvent(Object source, Protocolo protocolo, Long idUsuario, String sei, String tipo) { | |
| 16 | + public AprovarProtocoloEvent(Object source, Protocolo protocolo, Long idUsuario, String sei, String tipo, String idSei) { | |
| 16 | 17 | super(source); |
| 17 | 18 | this.protocolo = protocolo; |
| 18 | 19 | this.idUsuario = idUsuario; |
| 19 | 20 | this.sei = sei; |
| 20 | 21 | this.tipo = tipo; |
| 22 | + this.idSei = idSei; | |
| 21 | 23 | } |
| 22 | 24 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/event/listener/AprovarProtocoloListener.java
| ... | ... | @@ -14,6 +14,10 @@ public class AprovarProtocoloListener implements ApplicationListener<AprovarProt |
| 14 | 14 | |
| 15 | 15 | @Override |
| 16 | 16 | public void onApplicationEvent(AprovarProtocoloEvent aprovarProtocoloEvent) { |
| 17 | - seiWSClient.enviar(aprovarProtocoloEvent.getProtocolo(),aprovarProtocoloEvent.getIdUsuario(), aprovarProtocoloEvent.getSei(),aprovarProtocoloEvent.getTipo()); | |
| 17 | + try { | |
| 18 | + seiWSClient.enviar(aprovarProtocoloEvent.getProtocolo(),aprovarProtocoloEvent.getIdUsuario(), aprovarProtocoloEvent.getSei(),aprovarProtocoloEvent.getTipo(), aprovarProtocoloEvent.getIdSei()); | |
| 19 | + } catch (Exception e) { | |
| 20 | + e.printStackTrace(); | |
| 21 | + } | |
| 18 | 22 | } |
| 19 | 23 | } | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/services/impl/ProtocoloFlagServiceImpl.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.services.impl; |
| 2 | 2 | |
| 3 | 3 | import br.gov.planejamento.dipla.protocolo.entities.Protocolo; |
| 4 | -import br.gov.planejamento.dipla.protocolo.services.ProtocoloFlagService; | |
| 5 | 4 | import br.gov.planejamento.dipla.protocolo.repositories.ProtocoloRepository; |
| 5 | +import br.gov.planejamento.dipla.protocolo.services.ProtocoloFlagService; | |
| 6 | 6 | import org.springframework.beans.factory.annotation.Autowired; |
| 7 | 7 | import org.springframework.stereotype.Service; |
| 8 | -import org.springframework.stereotype.Service; | |
| 9 | 8 | |
| 10 | 9 | import java.util.Optional; |
| 11 | 10 | ... | ... |
src/main/java/br/gov/planejamento/dipla/protocolo/storage/local/ArquivoStorageLocal.java
| 1 | 1 | package br.gov.planejamento.dipla.protocolo.storage.local; |
| 2 | 2 | |
| 3 | -import br.gov.planejamento.dipla.protocolo.clamav.ClamavUtil; | |
| 4 | 3 | import br.gov.planejamento.dipla.protocolo.storage.ArquivoStorage; |
| 5 | 4 | import br.gov.planejamento.dipla.protocolo.util.MyStringUtil; |
| 6 | 5 | import org.apache.commons.io.FileUtils; | ... | ... |
src/main/java/fi/solita/clamav/ClamAVClient.java
| ... | ... | @@ -3,12 +3,8 @@ package fi.solita.clamav; |
| 3 | 3 | /** |
| 4 | 4 | * Created by dario on 19/10/17. |
| 5 | 5 | */ |
| 6 | -import java.io.BufferedOutputStream; | |
| 7 | -import java.io.ByteArrayInputStream; | |
| 8 | -import java.io.ByteArrayOutputStream; | |
| 9 | -import java.io.IOException; | |
| 10 | -import java.io.InputStream; | |
| 11 | -import java.io.OutputStream; | |
| 6 | + | |
| 7 | +import java.io.*; | |
| 12 | 8 | import java.net.Socket; |
| 13 | 9 | import java.nio.ByteBuffer; |
| 14 | 10 | import java.nio.charset.StandardCharsets; | ... | ... |
src/main/resources/application.properties
| 1 | +#Banco de dados | |
| 2 | + | |
| 3 | +spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect | |
| 4 | +spring.datasource.url= jdbc:mysql://10.209.40.206/protocolo-sei?useSSL=false | |
| 5 | +spring.datasource.username=root | |
| 6 | +spring.datasource.password=root | |
| 7 | + | |
| 8 | +#server.context-path=/protocolo | |
| 9 | + | |
| 1 | 10 | spring.thymeleaf.mode=HTML |
| 2 | 11 | spring.thymeleaf.template-resolver-order=1 |
| 3 | 12 | |
| 4 | 13 | #spring.mvc.locale=pt_BR |
| 5 | 14 | spring.mvc.date-format=dd/MM/yyyy HH:mm |
| 6 | 15 | |
| 7 | -spring.datasource.jndi-name=java:comp/env/jdbc/protocoloDB | |
| 16 | +#spring.datasource.jndi-name=java:comp/env/jdbc/protocoloDB | |
| 8 | 17 | |
| 9 | 18 | spring.http.multipart.max-file-size=30720KB |
| 10 | 19 | spring.http.multipart.max-request-size=30720KB |
| ... | ... | @@ -18,9 +27,10 @@ versao=@project.version@ |
| 18 | 27 | |
| 19 | 28 | |
| 20 | 29 | |
| 21 | - | |
| 22 | - | |
| 23 | 30 | # Recaptcha |
| 24 | 31 | #recaptcha.url=https://www.google.com/recaptcha/api/siteverify |
| 25 | 32 | #recaptcha.site-key=!1vfdvS34#$%%$Cdd7581dec |
| 26 | -#recaptcha.secret-key=!1vfdvS34#$%%$Cdd7581dec | |
| 27 | 33 | \ No newline at end of file |
| 34 | +#recaptcha.secret-key=!1vfdvS34#$%%$Cdd7581dec | |
| 35 | + | |
| 36 | +# Comando para execu��o do flyway em ambiente de desenvolvimento | |
| 37 | +# mvn flyway:migrate -Dflyway.url=jdbc:mysql://localhost:3306/protocolo?useSSL=false -Dflyway.user=root -Dflyway.password=root -e -X | |
| 28 | 38 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V01_Start.sql
| ... | ... | @@ -1,582 +0,0 @@ |
| 1 | --- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) | |
| 2 | --- | |
| 3 | --- Server version 5.7.21 | |
| 4 | - | |
| 5 | -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; | |
| 6 | -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; | |
| 7 | -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; | |
| 8 | -/*!40101 SET NAMES utf8 */; | |
| 9 | -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; | |
| 10 | -/*!40103 SET TIME_ZONE='+00:00' */; | |
| 11 | -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; | |
| 12 | -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; | |
| 13 | -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; | |
| 14 | -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; | |
| 15 | - | |
| 16 | --- | |
| 17 | --- Table structure for table `arquivos` | |
| 18 | --- | |
| 19 | - | |
| 20 | -DROP TABLE IF EXISTS `arquivos`; | |
| 21 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 22 | -/*!40101 SET character_set_client = utf8 */; | |
| 23 | -CREATE TABLE `arquivos` ( | |
| 24 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 25 | - `codigo_protocolo` bigint(20) DEFAULT NULL, | |
| 26 | - `nome` varchar(200) NOT NULL, | |
| 27 | - `nome_original` varchar(100) NOT NULL, | |
| 28 | - `content_type` varchar(100) NOT NULL, | |
| 29 | - `tamanho` varchar(10) NOT NULL, | |
| 30 | - `codigo_tipo_documento` bigint(20) DEFAULT NULL, | |
| 31 | - `descricao_documento` varchar(200) DEFAULT NULL, | |
| 32 | - PRIMARY KEY (`codigo`), | |
| 33 | - KEY `codigo_protocolo` (`codigo_protocolo`), | |
| 34 | - KEY `codigo_tipo_documento` (`codigo_tipo_documento`), | |
| 35 | - CONSTRAINT `arquivos_ibfk_1` FOREIGN KEY (`codigo_protocolo`) REFERENCES `protocolo` (`codigo`), | |
| 36 | - CONSTRAINT `arquivos_ibfk_2` FOREIGN KEY (`codigo_tipo_documento`) REFERENCES `tipo_documento` (`codigo`) | |
| 37 | -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; | |
| 38 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 39 | - | |
| 40 | - | |
| 41 | --- | |
| 42 | --- Table structure for table `classificacao` | |
| 43 | --- | |
| 44 | - | |
| 45 | -DROP TABLE IF EXISTS `classificacao`; | |
| 46 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 47 | -/*!40101 SET character_set_client = utf8 */; | |
| 48 | -CREATE TABLE `classificacao` ( | |
| 49 | - `codigo` bigint(20) NOT NULL, | |
| 50 | - `nome` varchar(100) NOT NULL, | |
| 51 | - PRIMARY KEY (`codigo`) | |
| 52 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 53 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 54 | - | |
| 55 | --- | |
| 56 | --- Dumping data for table `classificacao` | |
| 57 | --- | |
| 58 | - | |
| 59 | -LOCK TABLES `classificacao` WRITE; | |
| 60 | -/*!40000 ALTER TABLE `classificacao` DISABLE KEYS */; | |
| 61 | -INSERT INTO `classificacao` VALUES (1,'server-email'),(2,'sei'),(3,'storage'),(4,'brasil-cidadao'),(5,'captcha'); | |
| 62 | -/*!40000 ALTER TABLE `classificacao` ENABLE KEYS */; | |
| 63 | -UNLOCK TABLES; | |
| 64 | - | |
| 65 | --- | |
| 66 | --- Table structure for table `configuracao` | |
| 67 | --- | |
| 68 | - | |
| 69 | -DROP TABLE IF EXISTS `configuracao`; | |
| 70 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 71 | -/*!40101 SET character_set_client = utf8 */; | |
| 72 | -CREATE TABLE `configuracao` ( | |
| 73 | - `codigo` bigint(20) NOT NULL, | |
| 74 | - `nome` varchar(45) NOT NULL, | |
| 75 | - `valor` text, | |
| 76 | - `descricao` text, | |
| 77 | - `codigo_classificacao` bigint(20) NOT NULL, | |
| 78 | - PRIMARY KEY (`codigo`), | |
| 79 | - KEY `fk_configuracao_classificacao_idx` (`codigo_classificacao`), | |
| 80 | - CONSTRAINT `classificacao_fk` FOREIGN KEY (`codigo_classificacao`) REFERENCES `classificacao` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 81 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 82 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 83 | - | |
| 84 | --- | |
| 85 | --- Dumping data for table `configuracao` | |
| 86 | --- | |
| 87 | - | |
| 88 | -LOCK TABLES `configuracao` WRITE; | |
| 89 | -/*!40000 ALTER TABLE `configuracao` DISABLE KEYS */; | |
| 90 | -INSERT INTO `configuracao` VALUES (1,'SMTP_SERVER','10.209.253.28','',1),(2,'SMTP_PORT','25','teste3',1),(3,'MAIL_FROM','xxx@yyy.zzz','',1),(4,'EMAIL_RESPONSAVEL','sss@sssf.com',NULL,1),(9,'URL_AUTORIZAR','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/authorize',NULL,4),(10,'URL_TOKEN','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/token',NULL,4),(11,'URL_DADOS_USUARIO','https://testeservicos-ecidadao.estaleiro.serpro.gov.br/servicos-ecidadao/ecidadao/usuario/getUserInfo/',NULL,4),(12,'CLIENT_ID','516a9b57-d022-4843-a792-93b4dc95622b',NULL,4),(13,'SCOPE','openid',NULL,4),(14,'REDIRECT_URI','https://protocolo.planejamento.gov.br/login',NULL,4),(15,'CLIENT_SECRET','Ld65DuKIva0_EU0LO1VrVC6Be7b-_AsgvkueKpW4OJlhDdJQ4TJ9nKB173M5c5mmG03uhZvEbBKnDRmAe7gZkw',NULL,4),(16,'ESCOPO','dados_brasil_cidadao',NULL,4),(18,'URL_BRASIL_CIDADAO','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/login',NULL,4),(19,'URL_PRIMEIRO_ACESSO','https://testeportal-ecidadao.estaleiro.serpro.gov.br/servicos-cidadao/acesso/#/primeiro-acesso',NULL,4),(20,'STORAGE_PATH','E:/Ambiente/Desenvolvimento/estorage/temp','teste2',3),(21,'URL_ENDPOINT','https://seitreina.nuvem.gov.br/sei/ws/SeiWS.php','teste4',2),(22,'ASSUNTO_CODIGO_ESTRUTURADO','520.1',NULL,2),(23,'PROCEDIMENTO_ESPECIFICADO','Especificacao do processo',NULL,2),(24,'PROCEDIMENTO_NIVEL_ACESSO','0',NULL,2),(25,'PROCEDIMENTO_ID_TIPO_PROCEDIMENTO','100000346',NULL,2),(26,'DOCUMENTO_TIPO','R',NULL,2),(27,'DOCUMENTO_ID_SERIE','1',NULL,2),(28,'DOCUMENTO_NIVEL_ACESSO','0',NULL,2),(29,'SIGLA_SISTEMA','UNB',NULL,2),(30,'IDENTIFICACAO_SERVICO','testeunb',NULL,2),(31,'ID_UNIDADE','110001972',NULL,2),(32,'CAPTCHA_SITE_KEY','6LdBAVQUAAAAAET4Dun738dTVCWfhqVDuvnDoBAp',NULL,5),(33,'CAPTCHA_SECRET_KEY','6LdBAVQUAAAAAEa3owvd2PBSaOwU8OOPeFwTq13w',NULL,5); | |
| 91 | -/*!40000 ALTER TABLE `configuracao` ENABLE KEYS */; | |
| 92 | -UNLOCK TABLES; | |
| 93 | - | |
| 94 | --- | |
| 95 | --- Table structure for table `configuracao_email` | |
| 96 | --- | |
| 97 | - | |
| 98 | -DROP TABLE IF EXISTS `configuracao_email`; | |
| 99 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 100 | -/*!40101 SET character_set_client = utf8 */; | |
| 101 | -CREATE TABLE `configuracao_email` ( | |
| 102 | - `codigo` int(11) NOT NULL, | |
| 103 | - `nome` varchar(45) DEFAULT NULL, | |
| 104 | - `valor` text, | |
| 105 | - PRIMARY KEY (`codigo`) | |
| 106 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 107 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 108 | - | |
| 109 | --- | |
| 110 | --- Dumping data for table `configuracao_email` | |
| 111 | --- | |
| 112 | - | |
| 113 | -LOCK TABLES `configuracao_email` WRITE; | |
| 114 | -/*!40000 ALTER TABLE `configuracao_email` DISABLE KEYS */; | |
| 115 | -INSERT INTO `configuracao_email` VALUES (1,'EMAIL_CONTEUDO_CADASTRO','<p><span>PREZADO(A),</span></p>\r\n<p style=\"text-align: justify;\"><span><br />SEJA BEM VINDO AO SISTEMA DE PROTOCOLIZAÇÃO ELETRÔNICA DE DOCUMENTOS DO MINISTÉRIO DO PLANEJAMENTO, DESENVOLVIMENTO E GESTÃO. PARA CONCLUIR O SEU CADASTRO, ACESSE O LINK <span>{$METADADO_USUARIO_URLCONFIRMACAO}</span></span></p>\r\n<p><span><br />ESSE PASSO É IMPORTANTE PARA VALIDARMOS TODOS OS USUÁRIOS.</span></p>'),(2,'EMAIL_CONTEUDO_CONSOLIDACAO','<p><span>PREZADO(A),</span></p>\r\n<p style=\"text-align: justify;\"><span><br />SEJA BEM VINDO AO SISTEMA DE PROTOCOLIZAÇÃO ELETRÔNICA DE DOCUMENTOS DO MINISTÉRIO DO PLANEJAMENTO, DESENVOLVIMENTO E GESTÃO. PARA CONCLUIR O SEU CADASTRO, ACESSE O LINK <span>{$METADADO_USUARIO_URLCONSILIACAO}</span></span></p>\r\n<p><span><br />ESSE PASSO É IMPORTANTE PARA VALIDARMOS TODOS OS USUÁRIOS.</span></p>'),(3,'EMAIL_CONTEUDO_ERRO_SEI','<h1 style=\"font-size: 15px;\">Erro ao enviar o protocolo Nº <span>{$METADADO_PROTOCOLO_NUMERO}</span>para o SEI</h1>\r\n<p>Detalhe do Erro: <span>{$METADADO_MSGERRO}</span>.</p>'),(4,'EMAIL_CONTEUDO_ESQUECI_SENHA','<p style=\"font-size: 15px;\">Recebemos uma solicitação de recuperação de senha, por isso estamos enviando uma nova para que você possa continuar usando nosso sistema de protocolo.</p>\r\n<h1 style=\"font-size: 15px;\">Sua nova senha é: <span>{$METADADO_USUARIO_NOVASENHA}</span></h1>'),(5,'EMAIL_CONTEUDO_PROTOCOLO','<h3>Número do Protocolo Provisório: <span>{$METADADO_PROTOCOLO_NUMERO}</span></h3>\r\n<p style=\"text-align: justify;\">Número Único de Protocolo: Será enviado para o(s) e-mail(s) cadastrado(s) no prazo máximo de vinte e quatro horas, contadas do recebimento, salvo quando este ocorrer às sextas-feiras, véspera de feriados ou pontos facultativos ou haja restrição técnica da unidade, devidamente fundamentada.</p>\r\n<p>Data: <span>{$METADADO_PROTOCOLO_DATAHORAFORMADATA}</span></p>\r\n<p>Nome: <span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>\r\n<p>Referência ao protocolo anterior: <span>{$METADADO_PROTOCOLO_NUMEROANTERIOR}</span></p>\r\n<p><span>{$METADADO_PROTOCOLO_TABELAARQUIVO}</span></p>'),(6,'EMAIL_CONTEUDO_NEGADO','<h3>Número do Protocolo Provisório: <span>{$METADADO_PROTOCOLO_NUMERO}</span></h3>\r\n<p style=\"text-align: justify;\">Prezado (a)<span>{$METADADO_PROTOCOLO_USUARIONOME}</span>, <br /> Esta é uma mensagem automática e não deve ser respondida. <br /> Seu protocolo não foi aceito pelo motivo abaixo especificado: <br /><span>{$METADADO_PROTOCOLO_OBSERVACAO}</span></p>\r\n<p>Nome:<span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>'),(7,'EMAIL_CONTEUDO_RECEBIMENTO_SEI','<h3>Número Único de Protocolo:<span>{$METADADO_PROTOCOLO_NUPE}</span></h3>\r\n<p style=\"text-align: justify;\">Prezado (a) usuário (a), Esta é uma mensagem automática e não deve ser respondida. Informamos que seu protocolo foi entregue ao setor responsável e que foi gerado o NUP:<span>{$METADADO_PROTOCOLO_NUPE}</span>. Quaisquer divergências das informações prestadas ou problemas nos arquivos anexados serão comunicados ao (à) senhor (a) através dos e-mails informados em seu cadastro. Informações referentes à tramitação de seu processo serão atualizadas até 24 horas e estarão acessíveis no sítio do protocolo integrado do Governo Federal, disponível em <span>{$METADADO_PROTOCOLO_LINKSEI}</span></p>\r\n<p>Data:<span>{$METADADO_PROTOCOLO_DATAHORAFORMADATA}</span>}.</p>\r\n<p>Nome:<span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>\r\n<p>Referência ao protocolo anterior:</p>\r\n<p><span>{$METADADO_PROTOCOLO_TABELAARQUIVO}</span></p>'),(8,'EMAIL_CABECALHO','<h4 style=\"background-color: #fafafa; color: #626262; text-align: center;\"><span>{$METADADO_LOGO_EMAIL}</span></h4><h4 style=\"background-color: #fafafa; color: #626262; text-align: center;\">Ministério do Planejamento, Desenvolvimento e Gestão <br />Protocolo Central <br />Esplanada dos Ministérios Bloco K, Térreo, sala T 28, CEP 70.040-906 – Brasília-DF <br />protocolo@planejamento.gov.br <br />(61) 2020-5195/5580 </h4>'),(9,'EMAIL_RODAPE','<p> </p>\r <p>“Por gentileza, responda nossa pesquisa de satisfação do Sistema de Protocolo Eletrônico. Sua contribuição é de extrema valia. <a href=\"http://formsus.datasus.gov.br/site/formulario.php?id_aplicacao=36481\">Clique aqui</a>”</p>\r <p> </p>\r <p style=\"text-align: justify; font-size: 10px;\">São de exclusiva responsabilidade do usuário: A conformidade entre os dados informados e os documentos; A conservação dos originais em papel de documentos digitalizados até que decaia o direito de revisão dos atos praticados no processo, para que, caso solicitado, sejam apresentados para qualquer tipo de conferência; A observação de que os atos processuais se consideram realizados no dia e hora do recebimento pelo SEI, considerando-se tempestivos os praticados até 23h59min59s do último dia do prazo, considerando sempre o horário oficial de Brasília, independente do fuso horário em que se encontre. </p>'),(10,'EMAIL_CONTEUDO_DESBLOQUEIO','<p><span>PREZADO(A),</span></p>\r\n<p style=\"text-align: justify;\"><span><br />Usuário bloqueado, favor acessar o LINK <span>{$METADADO_USUARIO_URLDESBLOQUEIO}</span></span></p>\r\n<p><span><br />para desbloqueiar o usuário.</span></p>'); | |
| 116 | -/*!40000 ALTER TABLE `configuracao_email` ENABLE KEYS */; | |
| 117 | -UNLOCK TABLES; | |
| 118 | - | |
| 119 | --- | |
| 120 | --- Table structure for table `expedicao` | |
| 121 | --- | |
| 122 | - | |
| 123 | -DROP TABLE IF EXISTS `expedicao`; | |
| 124 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 125 | -/*!40101 SET character_set_client = utf8 */; | |
| 126 | -CREATE TABLE `expedicao` ( | |
| 127 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 128 | - `numero_processo` varchar(100) NOT NULL, | |
| 129 | - `data_expedicao` datetime NOT NULL, | |
| 130 | - `usuario_codigo` bigint(20) NOT NULL, | |
| 131 | - `status_expedicao` varchar(45) DEFAULT NULL, | |
| 132 | - PRIMARY KEY (`codigo`), | |
| 133 | - KEY `fk_expedicao_usuario1_idx` (`usuario_codigo`), | |
| 134 | - CONSTRAINT `fk_expedicao_usuario1` FOREIGN KEY (`usuario_codigo`) REFERENCES `usuario` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 135 | -) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; | |
| 136 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 137 | - | |
| 138 | - | |
| 139 | --- | |
| 140 | --- Table structure for table `grupo` | |
| 141 | --- | |
| 142 | - | |
| 143 | -DROP TABLE IF EXISTS `grupo`; | |
| 144 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 145 | -/*!40101 SET character_set_client = utf8 */; | |
| 146 | -CREATE TABLE `grupo` ( | |
| 147 | - `codigo` bigint(20) NOT NULL, | |
| 148 | - `nome` varchar(50) NOT NULL, | |
| 149 | - PRIMARY KEY (`codigo`) | |
| 150 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 151 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 152 | - | |
| 153 | --- | |
| 154 | --- Dumping data for table `grupo` | |
| 155 | --- | |
| 156 | - | |
| 157 | -LOCK TABLES `grupo` WRITE; | |
| 158 | -/*!40000 ALTER TABLE `grupo` DISABLE KEYS */; | |
| 159 | -INSERT INTO `grupo` VALUES (1,'Administrador'),(2,'Protocolo'),(3,'Brasil Cidadao'),(4,'Usuario Expedidor'); | |
| 160 | -/*!40000 ALTER TABLE `grupo` ENABLE KEYS */; | |
| 161 | -UNLOCK TABLES; | |
| 162 | - | |
| 163 | --- | |
| 164 | --- Table structure for table `grupo_permissao` | |
| 165 | --- | |
| 166 | - | |
| 167 | -DROP TABLE IF EXISTS `grupo_permissao`; | |
| 168 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 169 | -/*!40101 SET character_set_client = utf8 */; | |
| 170 | -CREATE TABLE `grupo_permissao` ( | |
| 171 | - `codigo_grupo` bigint(20) NOT NULL, | |
| 172 | - `codigo_permissao` bigint(20) NOT NULL, | |
| 173 | - PRIMARY KEY (`codigo_grupo`,`codigo_permissao`), | |
| 174 | - KEY `codigo_permissao` (`codigo_permissao`), | |
| 175 | - CONSTRAINT `grupo_permissao_ibfk_1` FOREIGN KEY (`codigo_grupo`) REFERENCES `grupo` (`codigo`), | |
| 176 | - CONSTRAINT `grupo_permissao_ibfk_2` FOREIGN KEY (`codigo_permissao`) REFERENCES `permissao` (`codigo`) | |
| 177 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 178 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 179 | - | |
| 180 | --- | |
| 181 | --- Dumping data for table `grupo_permissao` | |
| 182 | --- | |
| 183 | - | |
| 184 | -LOCK TABLES `grupo_permissao` WRITE; | |
| 185 | -/*!40000 ALTER TABLE `grupo_permissao` DISABLE KEYS */; | |
| 186 | -INSERT INTO `grupo_permissao` VALUES (1,1),(2,2),(3,3),(4,4); | |
| 187 | -/*!40000 ALTER TABLE `grupo_permissao` ENABLE KEYS */; | |
| 188 | -UNLOCK TABLES; | |
| 189 | - | |
| 190 | --- | |
| 191 | --- Table structure for table `link_expedicao_sei` | |
| 192 | --- | |
| 193 | - | |
| 194 | -DROP TABLE IF EXISTS `link_expedicao_sei`; | |
| 195 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 196 | -/*!40101 SET character_set_client = utf8 */; | |
| 197 | -CREATE TABLE `link_expedicao_sei` ( | |
| 198 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 199 | - `link` varchar(255) NOT NULL, | |
| 200 | - `data` datetime NOT NULL, | |
| 201 | - `status` varchar(10) NOT NULL, | |
| 202 | - `usuario_codigo` bigint(20) NOT NULL, | |
| 203 | - `expedicao_codigo` bigint(20) NOT NULL, | |
| 204 | - PRIMARY KEY (`codigo`), | |
| 205 | - KEY `fk_link_expedicao_sei_usuario1_idx` (`usuario_codigo`), | |
| 206 | - KEY `fk_link_expedicao_sei_expedicao1_idx` (`expedicao_codigo`), | |
| 207 | - CONSTRAINT `fk_link_expedicao_sei_expedicao1` FOREIGN KEY (`expedicao_codigo`) REFERENCES `expedicao` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
| 208 | - CONSTRAINT `fk_link_expedicao_sei_usuario1` FOREIGN KEY (`usuario_codigo`) REFERENCES `usuario` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 209 | -) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8; | |
| 210 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 211 | - | |
| 212 | - | |
| 213 | --- | |
| 214 | --- Table structure for table `log_sistema` | |
| 215 | --- | |
| 216 | - | |
| 217 | -DROP TABLE IF EXISTS `log_sistema`; | |
| 218 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 219 | -/*!40101 SET character_set_client = utf8 */; | |
| 220 | -CREATE TABLE `log_sistema` ( | |
| 221 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 222 | - `codigo_entidade` bigint(20) NOT NULL, | |
| 223 | - `entidade` varchar(45) NOT NULL, | |
| 224 | - `acao` varchar(45) NOT NULL, | |
| 225 | - `antes` text, | |
| 226 | - `depois` text, | |
| 227 | - `data_hora` datetime NOT NULL, | |
| 228 | - `codigo_usuario` bigint(20) DEFAULT NULL, | |
| 229 | - PRIMARY KEY (`codigo`) | |
| 230 | -) ENGINE=InnoDB AUTO_INCREMENT=202 DEFAULT CHARSET=utf8; | |
| 231 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 232 | - | |
| 233 | - | |
| 234 | --- | |
| 235 | --- Table structure for table `login_attempt` | |
| 236 | --- | |
| 237 | - | |
| 238 | -DROP TABLE IF EXISTS `login_attempt`; | |
| 239 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 240 | -/*!40101 SET character_set_client = utf8 */; | |
| 241 | -CREATE TABLE `login_attempt` ( | |
| 242 | - `id` int(11) NOT NULL AUTO_INCREMENT, | |
| 243 | - `key` varchar(255) NOT NULL, | |
| 244 | - `amount` int(2) NOT NULL DEFAULT '1', | |
| 245 | - `reset_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| 246 | - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| 247 | - `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| 248 | - PRIMARY KEY (`id`), | |
| 249 | - KEY `amount` (`amount`), | |
| 250 | - KEY `reset_at` (`reset_at`), | |
| 251 | - KEY `key` (`key`) USING BTREE | |
| 252 | -) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1; | |
| 253 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 254 | - | |
| 255 | - | |
| 256 | --- | |
| 257 | --- Table structure for table `metadado` | |
| 258 | --- | |
| 259 | - | |
| 260 | -DROP TABLE IF EXISTS `metadado`; | |
| 261 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 262 | -/*!40101 SET character_set_client = utf8 */; | |
| 263 | -CREATE TABLE `metadado` ( | |
| 264 | - `codigo` int(11) NOT NULL, | |
| 265 | - `nome` varchar(45) NOT NULL, | |
| 266 | - `valor` text, | |
| 267 | - `descricao` text, | |
| 268 | - PRIMARY KEY (`codigo`) | |
| 269 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 270 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 271 | - | |
| 272 | --- | |
| 273 | --- Dumping data for table `metadado` | |
| 274 | --- | |
| 275 | - | |
| 276 | -LOCK TABLES `metadado` WRITE; | |
| 277 | -/*!40000 ALTER TABLE `metadado` DISABLE KEYS */; | |
| 278 | -INSERT INTO `metadado` VALUES (1,'METADADO_LOGO_EMAIL','<img src=\"../../static/images/brasao-brasil.png\" th:src=\"|cid:logo|\"/>','Imagem do logótipo do ministério.'),(2,'METADADO_MSGERRO','<span th:text=\"${msgErro}\">Erro no protocolo.</span>','Mensagem de erro ao enviar ao SEI.'),(3,'METADADO_PROTOCOLO_DATAHORAFORMADATA','<span th:text=\"${protocolo.dataHoraFormatada}\">','Data de criação do protocolo.'),(4,'METADADO_PROTOCOLO_EMAIL1','<span th:text=\"${protocolo.email1}\">E-mail: protocolo.email1</span>','E-mail 1 de interessado.'),(5,'METADADO_PROTOCOLO_EMAIL2','<span th:text=\"${protocolo.email2}\">E-mail: protocolo.emails</span>','E-mail 2 de interessado.'),(6,'METADADO_PROTOCOLO_LINKSEI','<a th:href=\"|https://protocolointegrado.gov.br/protocolo/documento/detalhes_documento.jsf?protocolo=${protocolo.nupe}|\">Link protocolo integrado.</a>','Link de acesso ao protocolo no SEI.'),(7,'METADADO_PROTOCOLO_NUMERO','<span th:text=\"${protocolo.numero}\">Nmero do Protocolo Provisrio: 123ads31232asfd</span>','Numero do protocolo.'),(8,'METADADO_PROTOCOLO_NUMEROANTERIOR','<span th:text=\"${protocolo.numeroProtocoloAnterior}\">Referncia ao protocolo anterior: 121345461</span>','Numero de protocolo anterior.'),(9,'METADADO_PROTOCOLO_NUPE','<span th:text=\"${protocolo.nupe}\">protocolo.nupe</span>','Numero único do protocolo no SEI.'),(10,'METADADO_PROTOCOLO_OBSERVACAO','<span th:text=\"${protocolo.observacao}\">observacao</span>','Obsersavação cadastrada no cancelamento do protocolo.'),(11,'METADADO_PROTOCOLO_TABELAARQUIVO','<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" style=\"width: 100%\">\n <thead>\n <tr>\n <td style=\"text-align: center\">\n Descrição do documento\n </td>\n <td style=\"text-align: center\">\n Arquivo\n </td>\n </tr>\n </thead>\n <tbody>\n <tr th:each=\"arquivo: ${protocolo.arquivosList}\">\n <td th:text=\"${arquivo.tipoDocumento.descricao}\">${arquivo.tipoDocumento.descricao}</td>\n <td th:text=\"${arquivo.nomeOriginal}\">${arquivo.nomeOriginal}</td>\n </tr>\n </tbody>\n</table>','Tabela com a lista de arquivos do protocolo.'),(12,'METADADO_PROTOCOLO_USUARIOEMAIL','<span th:text=\"${protocolo.usuario.email}\">E-mail: protocolo.email1</span>','E-mail do usuário que cadastrou o protocolo.'),(13,'METADADO_PROTOCOLO_USUARIONOME','<span th:text=\"${protocolo.usuario.nome}\">$ usuario nome</span>','Nome do usuário que cadastrou o protocolo.'),(14,'METADADO_USUARIO_NOVASENHA','<span th:text=\"${usuario.senha}\">Sua nova senha : 5as4f56as4f5as4</span>','Nova senha gerada para o usuário.'),(15,'METADADO_USUARIO_URLCONFIRMACAO','<a th:href=\"${usuario.urlConfirmacaoCadastro}\">CONFIRMAR MEU CADASTRO.</a>','Url para ativação do usuário.'),(16,'METADADO_USUARIO_URLCONSILIACAO','<a th:href=\"${usuario.urlConfirmacaoCadastro}\">CONFIRMAR MEU CADASTRO.</a>','Url para consiliação de usuário protocolo com usuário brasil cidadão.'),(17,'METADADO_USUARIO_URLDESBLOQUEIO','<a th:href=\"${usuario.urlDesbloqueio}\">Link de desbloqueio</a>',NULL); | |
| 279 | -/*!40000 ALTER TABLE `metadado` ENABLE KEYS */; | |
| 280 | -UNLOCK TABLES; | |
| 281 | - | |
| 282 | --- | |
| 283 | --- Table structure for table `metadado_email` | |
| 284 | --- | |
| 285 | - | |
| 286 | -DROP TABLE IF EXISTS `metadado_email`; | |
| 287 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 288 | -/*!40101 SET character_set_client = utf8 */; | |
| 289 | -CREATE TABLE `metadado_email` ( | |
| 290 | - `codigo_email` int(11) NOT NULL, | |
| 291 | - `codigo_metadado` int(11) NOT NULL, | |
| 292 | - PRIMARY KEY (`codigo_metadado`,`codigo_email`), | |
| 293 | - KEY `fk_metadado_email_configuracao_email1_idx` (`codigo_email`), | |
| 294 | - CONSTRAINT `metadado_email_fk1` FOREIGN KEY (`codigo_email`) REFERENCES `configuracao_email` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION, | |
| 295 | - CONSTRAINT `metadado_email_fk2` FOREIGN KEY (`codigo_metadado`) REFERENCES `metadado` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 296 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 297 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 298 | - | |
| 299 | --- | |
| 300 | --- Dumping data for table `metadado_email` | |
| 301 | --- | |
| 302 | - | |
| 303 | -LOCK TABLES `metadado_email` WRITE; | |
| 304 | -/*!40000 ALTER TABLE `metadado_email` DISABLE KEYS */; | |
| 305 | -INSERT INTO `metadado_email` VALUES (1,15),(2,16),(3,2),(3,7),(4,14),(5,3),(5,4),(5,5),(5,7),(5,8),(5,10),(5,11),(5,12),(5,13),(6,3),(6,4),(6,5),(6,7),(6,10),(6,12),(6,13),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(7,10),(7,11),(7,12),(7,13),(8,1),(9,1),(10,17); | |
| 306 | -/*!40000 ALTER TABLE `metadado_email` ENABLE KEYS */; | |
| 307 | -UNLOCK TABLES; | |
| 308 | - | |
| 309 | --- | |
| 310 | --- Table structure for table `permissao` | |
| 311 | --- | |
| 312 | - | |
| 313 | -DROP TABLE IF EXISTS `permissao`; | |
| 314 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 315 | -/*!40101 SET character_set_client = utf8 */; | |
| 316 | -CREATE TABLE `permissao` ( | |
| 317 | - `codigo` bigint(20) NOT NULL, | |
| 318 | - `nome` varchar(50) NOT NULL, | |
| 319 | - PRIMARY KEY (`codigo`) | |
| 320 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 321 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 322 | - | |
| 323 | --- | |
| 324 | --- Dumping data for table `permissao` | |
| 325 | --- | |
| 326 | - | |
| 327 | -LOCK TABLES `permissao` WRITE; | |
| 328 | -/*!40000 ALTER TABLE `permissao` DISABLE KEYS */; | |
| 329 | -INSERT INTO `permissao` VALUES (1,'ROLE_CADASTRO'),(2,'ROLE_PROTOCOLO'),(3,'ROLE_BRASILCIDADAO'),(4,'ROLE_EXPEDIDOR'); | |
| 330 | -/*!40000 ALTER TABLE `permissao` ENABLE KEYS */; | |
| 331 | -UNLOCK TABLES; | |
| 332 | - | |
| 333 | --- | |
| 334 | --- Table structure for table `protocolo` | |
| 335 | --- | |
| 336 | - | |
| 337 | -DROP TABLE IF EXISTS `protocolo`; | |
| 338 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 339 | -/*!40101 SET character_set_client = utf8 */; | |
| 340 | -CREATE TABLE `protocolo` ( | |
| 341 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 342 | - `numero` varchar(50) NOT NULL, | |
| 343 | - `data_hora` datetime DEFAULT NULL, | |
| 344 | - `codigo_usuario` bigint(20) NOT NULL, | |
| 345 | - `status` varchar(20) NOT NULL DEFAULT 'PENDENTE', | |
| 346 | - `email1` varchar(50) DEFAULT NULL, | |
| 347 | - `email2` varchar(50) DEFAULT NULL, | |
| 348 | - `observacao` text, | |
| 349 | - `nupe` varchar(20) DEFAULT NULL, | |
| 350 | - `data_envio` datetime DEFAULT NULL, | |
| 351 | - `erro_ws` text, | |
| 352 | - `nr_protocolo_anterior` varchar(50) DEFAULT NULL, | |
| 353 | - `id_unidade` bigint(20) DEFAULT NULL, | |
| 354 | - `linksei` varchar(255) DEFAULT NULL, | |
| 355 | - PRIMARY KEY (`codigo`), | |
| 356 | - KEY `codigo_usuario` (`codigo_usuario`), | |
| 357 | - CONSTRAINT `protocolo_ibfk_1` FOREIGN KEY (`codigo_usuario`) REFERENCES `usuario` (`codigo`) | |
| 358 | -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; | |
| 359 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 360 | - | |
| 361 | - | |
| 362 | --- | |
| 363 | --- Table structure for table `schema_version` | |
| 364 | --- | |
| 365 | - | |
| 366 | -DROP TABLE IF EXISTS `schema_version`; | |
| 367 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 368 | -/*!40101 SET character_set_client = utf8 */; | |
| 369 | -CREATE TABLE `schema_version` ( | |
| 370 | - `installed_rank` int(11) NOT NULL, | |
| 371 | - `version` varchar(50) DEFAULT NULL, | |
| 372 | - `description` varchar(200) NOT NULL, | |
| 373 | - `type` varchar(20) NOT NULL, | |
| 374 | - `script` varchar(1000) NOT NULL, | |
| 375 | - `checksum` int(11) DEFAULT NULL, | |
| 376 | - `installed_by` varchar(100) NOT NULL, | |
| 377 | - `installed_on` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | |
| 378 | - `execution_time` int(11) NOT NULL, | |
| 379 | - `success` tinyint(1) NOT NULL, | |
| 380 | - PRIMARY KEY (`installed_rank`), | |
| 381 | - KEY `schema_version_s_idx` (`success`) | |
| 382 | -) ENGINE=InnoDB DEFAULT CHARSET=latin1; | |
| 383 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 384 | - | |
| 385 | --- | |
| 386 | --- Dumping data for table `schema_version` | |
| 387 | --- | |
| 388 | - | |
| 389 | -LOCK TABLES `schema_version` WRITE; | |
| 390 | -/*!40000 ALTER TABLE `schema_version` DISABLE KEYS */; | |
| 391 | -INSERT INTO `schema_version` VALUES (1,'01','Script inicial','SQL','V01__Start.sql',107793004,'root','2018-10-26 14:48:18',1610,1); | |
| 392 | -/*!40000 ALTER TABLE `schema_version` ENABLE KEYS */; | |
| 393 | -UNLOCK TABLES; | |
| 394 | - | |
| 395 | --- | |
| 396 | --- Table structure for table `temp_arquivo` | |
| 397 | --- | |
| 398 | - | |
| 399 | -DROP TABLE IF EXISTS `temp_arquivo`; | |
| 400 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 401 | -/*!40101 SET character_set_client = utf8 */; | |
| 402 | -CREATE TABLE `temp_arquivo` ( | |
| 403 | - `id` int(11) NOT NULL AUTO_INCREMENT, | |
| 404 | - `nome` varchar(255) CHARACTER SET latin1 NOT NULL, | |
| 405 | - `pagina` varchar(10) CHARACTER SET latin1 NOT NULL, | |
| 406 | - `temp_desc_arquivo_idarquivo` varchar(2) CHARACTER SET latin1 NOT NULL, | |
| 407 | - `temp_desc_arquivo_token` varchar(6) CHARACTER SET latin1 NOT NULL, | |
| 408 | - PRIMARY KEY (`id`), | |
| 409 | - KEY `fk_temp_arquivo_temp_desc_arquivo1_idx` (`temp_desc_arquivo_idarquivo`,`temp_desc_arquivo_token`), | |
| 410 | - CONSTRAINT `fk_temp_arquivo_temp_desc_arquivo1` FOREIGN KEY (`temp_desc_arquivo_idarquivo`, `temp_desc_arquivo_token`) REFERENCES `temp_desc_arquivo` (`idarquivo`, `token`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 411 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 412 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 413 | - | |
| 414 | - | |
| 415 | --- | |
| 416 | --- Table structure for table `temp_desc_arquivo` | |
| 417 | --- | |
| 418 | - | |
| 419 | -DROP TABLE IF EXISTS `temp_desc_arquivo`; | |
| 420 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 421 | -/*!40101 SET character_set_client = utf8 */; | |
| 422 | -CREATE TABLE `temp_desc_arquivo` ( | |
| 423 | - `tipo` varchar(45) CHARACTER SET latin1 NOT NULL, | |
| 424 | - `qtd_paginas` varchar(10) CHARACTER SET latin1 NOT NULL, | |
| 425 | - `temp_protocolo_token` varchar(6) CHARACTER SET latin1 NOT NULL, | |
| 426 | - `idarquivo` varchar(2) CHARACTER SET latin1 NOT NULL, | |
| 427 | - `token` varchar(6) CHARACTER SET latin1 NOT NULL, | |
| 428 | - `descricao` varchar(45) CHARACTER SET latin1 NOT NULL, | |
| 429 | - PRIMARY KEY (`idarquivo`,`token`), | |
| 430 | - KEY `fk_temp_desc_arquivo_temp_protocolo1_idx` (`temp_protocolo_token`), | |
| 431 | - CONSTRAINT `fk_temp_desc_arquivo_temp_protocolo1` FOREIGN KEY (`temp_protocolo_token`) REFERENCES `temp_protocolo` (`token`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 432 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 433 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 434 | - | |
| 435 | - | |
| 436 | --- | |
| 437 | --- Table structure for table `temp_protocolo` | |
| 438 | --- | |
| 439 | - | |
| 440 | -DROP TABLE IF EXISTS `temp_protocolo`; | |
| 441 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 442 | -/*!40101 SET character_set_client = utf8 */; | |
| 443 | -CREATE TABLE `temp_protocolo` ( | |
| 444 | - `token` varchar(6) CHARACTER SET latin1 NOT NULL, | |
| 445 | - `email1` varchar(100) CHARACTER SET latin1 DEFAULT NULL, | |
| 446 | - `email2` varchar(100) CHARACTER SET big5 DEFAULT NULL, | |
| 447 | - `nr_protocolo_anterior` varchar(100) CHARACTER SET latin1 DEFAULT NULL, | |
| 448 | - `usuario_codigo` bigint(20) NOT NULL, | |
| 449 | - PRIMARY KEY (`token`), | |
| 450 | - KEY `fk_temp_protocolo_usuario1_idx` (`usuario_codigo`), | |
| 451 | - CONSTRAINT `fk_temp_protocolo_usuario1` FOREIGN KEY (`usuario_codigo`) REFERENCES `usuario` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION | |
| 452 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 453 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 454 | - | |
| 455 | - | |
| 456 | --- | |
| 457 | --- Table structure for table `tipo_documento` | |
| 458 | --- | |
| 459 | - | |
| 460 | -DROP TABLE IF EXISTS `tipo_documento`; | |
| 461 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 462 | -/*!40101 SET character_set_client = utf8 */; | |
| 463 | -CREATE TABLE `tipo_documento` ( | |
| 464 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 465 | - `descricao` varchar(50) NOT NULL, | |
| 466 | - `codigo_sei` varchar(45) NOT NULL, | |
| 467 | - `ativo` tinyint(4) NOT NULL, | |
| 468 | - PRIMARY KEY (`codigo`) | |
| 469 | -) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; | |
| 470 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 471 | - | |
| 472 | --- | |
| 473 | --- Dumping data for table `tipo_documento` | |
| 474 | --- | |
| 475 | - | |
| 476 | -LOCK TABLES `tipo_documento` WRITE; | |
| 477 | -/*!40000 ALTER TABLE `tipo_documento` DISABLE KEYS */; | |
| 478 | -INSERT INTO `tipo_documento` VALUES (14,'Requerimento','238',1),(15,'Complemento','651',1); | |
| 479 | -/*!40000 ALTER TABLE `tipo_documento` ENABLE KEYS */; | |
| 480 | -UNLOCK TABLES; | |
| 481 | - | |
| 482 | --- | |
| 483 | --- Table structure for table `usuario` | |
| 484 | --- | |
| 485 | - | |
| 486 | -DROP TABLE IF EXISTS `usuario`; | |
| 487 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 488 | -/*!40101 SET character_set_client = utf8 */; | |
| 489 | -CREATE TABLE `usuario` ( | |
| 490 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 491 | - `nome` varchar(50) NOT NULL, | |
| 492 | - `email` varchar(50) NOT NULL, | |
| 493 | - `senha` varchar(120) NOT NULL, | |
| 494 | - `telefone` varchar(15) DEFAULT NULL, | |
| 495 | - `ativo` tinyint(1) DEFAULT '1', | |
| 496 | - `token` varchar(255) NOT NULL DEFAULT '0', | |
| 497 | - `nome_social` varchar(50) DEFAULT NULL, | |
| 498 | - `status_expedicao` tinyint(1) DEFAULT '0', | |
| 499 | - `listexpedidor` varchar(30) DEFAULT NULL, | |
| 500 | - `unidade` varchar(12) DEFAULT NULL, | |
| 501 | - PRIMARY KEY (`codigo`), | |
| 502 | - UNIQUE KEY `email` (`email`) | |
| 503 | -) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; | |
| 504 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 505 | - | |
| 506 | --- | |
| 507 | --- Dumping data for table `usuario` | |
| 508 | --- | |
| 509 | - | |
| 510 | -LOCK TABLES `usuario` WRITE; | |
| 511 | -/*!40000 ALTER TABLE `usuario` DISABLE KEYS */; | |
| 512 | -INSERT INTO `usuario` VALUES (1,'Admin','admin@admin.com','$2a$10$g.wT4R0Wnfel1jc/k84OXuwZE02BlACSLfWy6TycGPvvEKvIm86SG',NULL,1,'0',NULL,0,'LISTA1',NULL),(2,'Dário','dario.santos.bsb@gmail.com','$2a$10$kGXHZvmTfzS3.uAn7L5q1e6LXrQAhA29qFG0/d4jIUA684i8EJtNC','(99) 99999-9999',0,'0','',0,'selecionadosUsuarioExpedicao',NULL),(6,'FABIO HENRIQUE MAXIMIANO','dario.santos@redes.unb.br','$2a$10$Wv4zAd2QnmS.sFtvQf2xFuJZBCqkfyKeqI8lw3yEht/E6IUN9WgBm','(00)00000-0000',1,'0',NULL,1,'selecionadosUsuarioExpedicao',NULL),(7,'EXPEDIDOR','dariobsb@hotmail.com','$2a$10$K27B2DRGIjZAZxNXWzhkc./JFAQM98LJtzZbbGLm5Y6H0eSCDZTLO','(61) 99999-9999',1,'0','EXPED',0,'0',NULL),(8,'EXP@EXP.COM','exp@exp.com','$2a$10$sXtxt6ZrHbh8048pAppe8ubWUMJosr7wBVYsnMaIcpPAXM6SMT/1W','(11) 11111-1111',1,'0','EXP@EXP.COM',NULL,NULL,'110001972'),(9,'JOSE','jose@jose.com','$2a$10$BqBmIANciq4iZrPzJSXq8uTk5i/jZ8V0eFLetVUZohrLXEaRrznYi','(11) 2255-3366',1,'0','',NULL,NULL,'110001896'); | |
| 513 | -/*!40000 ALTER TABLE `usuario` ENABLE KEYS */; | |
| 514 | -UNLOCK TABLES; | |
| 515 | - | |
| 516 | --- | |
| 517 | --- Table structure for table `usuario_brasil_cidadao` | |
| 518 | --- | |
| 519 | - | |
| 520 | -DROP TABLE IF EXISTS `usuario_brasil_cidadao`; | |
| 521 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 522 | -/*!40101 SET character_set_client = utf8 */; | |
| 523 | -CREATE TABLE `usuario_brasil_cidadao` ( | |
| 524 | - `codigo` bigint(20) NOT NULL AUTO_INCREMENT, | |
| 525 | - `cpf` varchar(15) NOT NULL, | |
| 526 | - `codigo_usuario` bigint(20) NOT NULL, | |
| 527 | - `token` text, | |
| 528 | - `ativo` tinyint(4) NOT NULL, | |
| 529 | - `email` varchar(50) DEFAULT NULL, | |
| 530 | - PRIMARY KEY (`codigo`), | |
| 531 | - KEY `usuario_brasil_cidadao_fki_1` (`codigo_usuario`), | |
| 532 | - CONSTRAINT `usuario_brasil_cidadao_ibfk_1` FOREIGN KEY (`codigo_usuario`) REFERENCES `usuario` (`codigo`) ON UPDATE CASCADE | |
| 533 | -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; | |
| 534 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 535 | - | |
| 536 | --- | |
| 537 | --- Dumping data for table `usuario_brasil_cidadao` | |
| 538 | --- | |
| 539 | - | |
| 540 | -LOCK TABLES `usuario_brasil_cidadao` WRITE; | |
| 541 | -/*!40000 ALTER TABLE `usuario_brasil_cidadao` DISABLE KEYS */; | |
| 542 | -INSERT INTO `usuario_brasil_cidadao` VALUES (1,'29752304869',6,'eyJraWQiOiJyc2ExIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIyOTc1MjMwNDg2OSIsImF6cCI6IjUxNmE5YjU3LWQwMjItNDg0My1hNzkyLTkzYjRkYzk1NjIyYiIsInNjb3BlIjpbImRhZG9zX2JyYXNpbF9jaWRhZGFvIiwib3BlbmlkIl0sIm5hbWUiOiJGQUJJTyBIRU5SSVFVRSBNQVhJTUlBTk8iLCJpc3MiOiJodHRwczpcL1wvdGVzdGVzY3AtZWNpZGFkYW8uZXN0YWxlaXJvLnNlcnByby5nb3YuYnJcL3NjcFwvIiwiZXhwIjoxNTQwNTg0NDY1LCJpYXQiOjE1NDA1ODA4NjYsImF1dGhfZmFjdG9yIjoiQ1BGX1NFTkhBIiwianRpIjoiZjM2MjQ0N2YtMjQxYi00MGJkLWFiNjEtMTQ5ODc3NjJjYWZmIn0.Ra8uMYFaxwXKhy3YG2Lu6HEC61hNVRW5bH2adk3oP3VgyC2wySvviXqz_Jd805Thl86SCVtWhr2csXWllBn0_gELW6BVAawePP7izaUef1Oohby9e7yluugMglvfqxQ8cRX0CZnprEflrS_SuWkvbW_ULxQ7clfSdJVkK0nkho9xgoQT133F-sCjjfPvg44jLqeNjbnVkRTtZwWBK14_pkDq90QLmZKryFwIstHuiVb-vTMdSMIbo4w3ppoT8UZaD8EXVoi_pAN8pXc8RLLi3gvGqxBvw71Zm18uJhf_bVkvlhClfwO-qK6oCxRTHMkBiFfUjpcLLuNS-GuSHS3AwQ',1,NULL); | |
| 543 | -/*!40000 ALTER TABLE `usuario_brasil_cidadao` ENABLE KEYS */; | |
| 544 | -UNLOCK TABLES; | |
| 545 | - | |
| 546 | --- | |
| 547 | --- Table structure for table `usuario_grupo` | |
| 548 | --- | |
| 549 | - | |
| 550 | -DROP TABLE IF EXISTS `usuario_grupo`; | |
| 551 | -/*!40101 SET @saved_cs_client = @@character_set_client */; | |
| 552 | -/*!40101 SET character_set_client = utf8 */; | |
| 553 | -CREATE TABLE `usuario_grupo` ( | |
| 554 | - `codigo_usuario` bigint(20) NOT NULL, | |
| 555 | - `codigo_grupo` bigint(20) NOT NULL, | |
| 556 | - PRIMARY KEY (`codigo_usuario`,`codigo_grupo`), | |
| 557 | - KEY `codigo_grupo` (`codigo_grupo`), | |
| 558 | - CONSTRAINT `usuario_grupo_ibfk_1` FOREIGN KEY (`codigo_usuario`) REFERENCES `usuario` (`codigo`) | |
| 559 | -) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 560 | -/*!40101 SET character_set_client = @saved_cs_client */; | |
| 561 | - | |
| 562 | --- | |
| 563 | --- Dumping data for table `usuario_grupo` | |
| 564 | --- | |
| 565 | - | |
| 566 | -LOCK TABLES `usuario_grupo` WRITE; | |
| 567 | -/*!40000 ALTER TABLE `usuario_grupo` DISABLE KEYS */; | |
| 568 | -INSERT INTO `usuario_grupo` VALUES (1,1),(2,2),(6,3),(7,4),(8,4),(9,4); | |
| 569 | -/*!40000 ALTER TABLE `usuario_grupo` ENABLE KEYS */; | |
| 570 | -UNLOCK TABLES; | |
| 571 | - | |
| 572 | -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; | |
| 573 | - | |
| 574 | -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; | |
| 575 | -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; | |
| 576 | -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; | |
| 577 | -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; | |
| 578 | -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; | |
| 579 | -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; | |
| 580 | -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; | |
| 581 | - | |
| 582 | --- Dump completed on 2018-11-19 13:32:46 |
src/main/resources/db/migration/V01__criar_tabela_usuario_grupo_permissao.sql
0 → 100644
| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | +CREATE TABLE usuario ( | |
| 2 | + codigo BIGINT(20) PRIMARY KEY AUTO_INCREMENT, | |
| 3 | + nome VARCHAR(50) NOT NULL, | |
| 4 | + email VARCHAR(50) NOT NULL, | |
| 5 | + senha VARCHAR(120) NOT NULL, | |
| 6 | + ativo BOOLEAN DEFAULT true, | |
| 7 | + data_nascimento DATE | |
| 8 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 9 | + | |
| 10 | +CREATE TABLE grupo ( | |
| 11 | + codigo BIGINT(20) PRIMARY KEY, | |
| 12 | + nome VARCHAR(50) NOT NULL | |
| 13 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 14 | + | |
| 15 | +CREATE TABLE permissao ( | |
| 16 | + codigo BIGINT(20) PRIMARY KEY, | |
| 17 | + nome VARCHAR(50) NOT NULL | |
| 18 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 19 | + | |
| 20 | +CREATE TABLE usuario_grupo ( | |
| 21 | + codigo_usuario BIGINT(20) NOT NULL, | |
| 22 | + codigo_grupo BIGINT(20) NOT NULL, | |
| 23 | + PRIMARY KEY (codigo_usuario, codigo_grupo), | |
| 24 | + FOREIGN KEY (codigo_usuario) REFERENCES usuario(codigo), | |
| 25 | + FOREIGN KEY (codigo_grupo) REFERENCES grupo(codigo) | |
| 26 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 27 | + | |
| 28 | +CREATE TABLE grupo_permissao ( | |
| 29 | + codigo_grupo BIGINT(20) NOT NULL, | |
| 30 | + codigo_permissao BIGINT(20) NOT NULL, | |
| 31 | + PRIMARY KEY (codigo_grupo, codigo_permissao), | |
| 32 | + FOREIGN KEY (codigo_grupo) REFERENCES grupo(codigo), | |
| 33 | + FOREIGN KEY (codigo_permissao) REFERENCES permissao(codigo) | |
| 34 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 35 | + | |
| 36 | +ALTER TABLE usuario | |
| 37 | + MODIFY ativo BOOLEAN DEFAULT true NOT NULL; | |
| 38 | + | |
| 39 | +INSERT INTO grupo (codigo, nome) VALUES (1, 'Administrador'); | |
| 40 | +INSERT INTO grupo (codigo, nome) VALUES (2, 'Consulta'); | |
| 41 | + | |
| 42 | +INSERT INTO usuario (nome, email, senha, ativo) VALUES ('Admin', 'admin@admin.com', '$2a$10$g.wT4R0Wnfel1jc/k84OXuwZE02BlACSLfWy6TycGPvvEKvIm86SG', 1) | |
| 0 | 43 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V02__inserir_permissoes_e_relacionar_usuario_admin.sql
0 → 100644
| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | +INSERT INTO permissao VALUES (1, 'ROLE_CADASTRO'); | |
| 2 | + | |
| 3 | +INSERT INTO grupo_permissao (codigo_grupo, codigo_permissao) VALUES (1, 1); | |
| 4 | + | |
| 5 | +INSERT INTO usuario_grupo (codigo_usuario, codigo_grupo) VALUES ( | |
| 6 | + (SELECT codigo FROM usuario WHERE email = 'admin@admin.com'), 1); | |
| 0 | 7 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V03__criar_tabela_protocolo.sql
0 → 100644
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | +CREATE TABLE protocolo ( | |
| 2 | + codigo BIGINT(20) PRIMARY KEY AUTO_INCREMENT, | |
| 3 | + nome VARCHAR(80) NOT NULL, | |
| 4 | + rg VARCHAR(20) NOT NULL, | |
| 5 | + cpf VARCHAR(11) NOT NULL, | |
| 6 | + telefone VARCHAR(20) NOT NULL, | |
| 7 | + email VARCHAR(50) NOT NULL, | |
| 8 | + descricao VARCHAR(120) NOT NULL, | |
| 9 | + numero VARCHAR(50) NOT NULL, | |
| 10 | + arquivo VARCHAR(100) NOT NULL, | |
| 11 | + content_type VARCHAR(100) NOT NULL, | |
| 12 | + data_hora DATETIME | |
| 13 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 0 | 14 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V04__criar_tabela_arquivos.sql
0 → 100644
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +ALTER TABLE protocolo DROP COLUMN arquivo; | |
| 2 | +ALTER TABLE protocolo DROP COLUMN content_type; | |
| 3 | + | |
| 4 | +CREATE TABLE arquivos ( | |
| 5 | + codigo BIGINT(20) PRIMARY KEY AUTO_INCREMENT, | |
| 6 | + codigo_protocolo BIGINT(20), | |
| 7 | + nome VARCHAR(100) NOT NULL, | |
| 8 | + nome_original VARCHAR(100) NOT NULL, | |
| 9 | + content_type VARCHAR(100) NOT NULL, | |
| 10 | + tamanho VARCHAR(10) NOT NULL, | |
| 11 | + FOREIGN KEY (codigo_protocolo) REFERENCES protocolo(codigo) | |
| 12 | +) ENGINE=InnoDB DEFAULT CHARSET=utf8; | |
| 0 | 13 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V05__inserir_role_protocolo.sql
0 → 100644
src/main/resources/db/migration/V06__remover_coluna_dt_nascimento_e_ativo_tabela_usuario.sql
0 → 100644
src/main/resources/db/migration/V07__adicao_colula_telefone_tabela_usuario.sql
0 → 100644
src/main/resources/db/migration/V08__remover_colunas_nome_rg_cpf_telefone_email_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V09__adicionar_coluna_codigo_usuario_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V10__criar_tabela_tipo_documento.sql
0 → 100644
src/main/resources/db/migration/V11__adicionar_coluna_tipo_doc_e_desc_doc_tabela_arquivos.sql
0 → 100644
src/main/resources/db/migration/V12__retornando_coluna_ativo_tabela_usuario.sql
0 → 100644
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +ALTER TABLE usuario ADD COLUMN ativo BOOLEAN DEFAULT true; | ... | ... |
src/main/resources/db/migration/V13__remover_coluna_descricao_tabela_protocolo.sql
0 → 100644
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +ALTER TABLE protocolo DROP COLUMN descricao; | ... | ... |
src/main/resources/db/migration/V14__adicionar_not_null_coluna_codigo_usuario_tabela_protocolo.sql
0 → 100644
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +ALTER TABLE protocolo MODIFY codigo_usuario BIGINT(20) NOT NULL; | ... | ... |
src/main/resources/db/migration/V15__adicionar_coluna_status_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V16__adicionar_coluna_emails_secundarios_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V17__alterar_conteudo_grupo_de_consulta_protocolo.sql
0 → 100644
| ... | ... | @@ -0,0 +1 @@ |
| 1 | +update grupo set nome = 'Protocolo' where codigo = 2; | ... | ... |
src/main/resources/db/migration/V18__adicionar_coluna_observacao_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V19__adicionar_coluna_nupe_e_data_envio_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V20__tipo_documento_insert.sql
0 → 100644
| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | +INSERT INTO tipo_documento (descricao) VALUES ('APOLICE (RECEBIMENTO)'); | |
| 2 | +INSERT INTO tipo_documento (descricao) VALUES ('ATA (RECEBIMENTO)'); | |
| 3 | +INSERT INTO tipo_documento (descricao) VALUES ('BOLETIM'); | |
| 4 | +INSERT INTO tipo_documento (descricao) VALUES ('BOLETO (RECEBIMENTO)'); | |
| 5 | +INSERT INTO tipo_documento (descricao) VALUES ('CARTA (RECEBIMENTO)'); | |
| 6 | +INSERT INTO tipo_documento (descricao) VALUES ('CARTA CIRCULAR (RECEBIMENTO)'); | |
| 7 | +INSERT INTO tipo_documento (descricao) VALUES ('CARTA CIRCULAR CONJUNTA (RECEBIMENTO)'); | |
| 8 | +INSERT INTO tipo_documento (descricao) VALUES ('COMUNICAÇÃO EXTERNA'); | |
| 9 | +INSERT INTO tipo_documento (descricao) VALUES ('CONVITE'); | |
| 10 | +INSERT INTO tipo_documento (descricao) VALUES ('CURRICULUM VITAE'); | |
| 11 | +INSERT INTO tipo_documento (descricao) VALUES ('DECLARAÇÃO (RECEBIMENTO)'); | |
| 12 | +INSERT INTO tipo_documento (descricao) VALUES ('OFÍCIO (RECEBIMENTO)'); | |
| 13 | +INSERT INTO tipo_documento (descricao) VALUES ('Meu tipo'); | |
| 0 | 14 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V21__remover_meu_tipo_documento.sql
0 → 100644
src/main/resources/db/migration/V22__alterar_tamanho_campo_nome_tabela_arquivo.sql
0 → 100644
src/main/resources/db/migration/V23__alterar_tamanho_campo_nome_original_tabela_arquivo.sql
0 → 100644
src/main/resources/db/migration/V24__adicionar_coluna_nr_protocolo_anterior_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V25__adicionar_coluna_id_unidade_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V26__alterar_tamanho_campo_status_tabela_protocolo.sql
0 → 100644
src/main/resources/db/migration/V27__alterar_tamanho_campo_ observacao _protocolo.sql
0 → 100644
src/main/resources/db/migration/V28__alterar_tabela_tipodocumento_com_campo_codigo_sei_e _campo_ativo.sql
0 → 100644
src/main/resources/db/migration/V29__limpa_as_tabelas_arquivos_protocolo_e_tipodocumento.sql
0 → 100644
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | +SET sql_safe_updates=0; | |
| 2 | + | |
| 3 | +DELETE FROM arquivos; | |
| 4 | + | |
| 5 | +DELETE FROM protocolo; | |
| 6 | + | |
| 7 | +DELETE FROM tipo_documento; | |
| 8 | + | |
| 9 | +INSERT INTO tipo_documento (descricao, codigo_sei, ativo) values ('Requerimento', '238', 1); | |
| 10 | + | |
| 11 | +INSERT INTO tipo_documento (descricao, codigo_sei, ativo) values ('Complemento', '651', 1); | |
| 0 | 12 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V30__tabela_usuario_estrutura_campo_email_para_unico.sql
0 → 100644
src/main/resources/db/migration/V31__tabela_usuario_estrutura_campo_token_mobile.sql
0 → 100644
src/main/resources/db/migration/V32__inserir_role_brasilcidadao.sql
0 → 100644
| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | +INSERT INTO permissao VALUES (3, 'ROLE_BRASILCIDADAO'); | |
| 2 | + | |
| 3 | +INSERT INTO grupo VALUES (3, 'Brasil Cidadao'); | |
| 4 | + | |
| 5 | +INSERT INTO grupo_permissao (codigo_grupo, codigo_permissao) VALUES (3, 3); | |
| 6 | + | |
| 7 | +CREATE TABLE usuario_brasil_cidadao ( | |
| 8 | + codigo BIGINT NOT NULL AUTO_INCREMENT, | |
| 9 | + cpf VARCHAR(15) NOT NULL, | |
| 10 | + codigo_usuario BIGINT NOT NULL, | |
| 11 | + FOREIGN KEY (codigo_usuario) | |
| 12 | + REFERENCES usuario(codigo) | |
| 13 | + ON UPDATE CASCADE ON DELETE RESTRICT, | |
| 14 | + PRIMARY KEY(codigo) | |
| 15 | + | |
| 16 | + ); | |
| 0 | 17 | \ No newline at end of file | ... | ... |
src/main/resources/db/migration/V33__criacao_de_tabela_de_log_protocolo_correcao_unique_cpf.sql
0 → 100644
| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | +-- MySQL Workbench Synchronization | |
| 2 | +-- Generated: 2018-02-26 14:06 | |
| 3 | +-- Model: New Model | |
| 4 | +-- Version: 1.0 | |
| 5 | +-- Project: Name of the project | |
| 6 | +-- Author: 01572931140 | |
| 7 | + | |
| 8 | +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; | |
| 9 | +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; | |
| 10 | +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; | |
| 11 | + | |
| 12 | +CREATE TABLE IF NOT EXISTS `configuracao` ( | |
| 13 | + `codigo` BIGINT(20) NOT NULL AUTO_INCREMENT, | |
| 14 | + `nome` VARCHAR(45) NOT NULL, | |
| 15 | + `valor` TEXT NULL DEFAULT NULL, | |
| 16 | + `descricao` TEXT NULL DEFAULT NULL, | |
| 17 | + `id_enum` INT(11) NULL DEFAULT NULL, | |
| 18 | + `id_classificacao` INT(11) NULL DEFAULT NULL, | |
| 19 | + `classificacao` VARCHAR(45) NULL DEFAULT NULL, | |
| 20 | + PRIMARY KEY (`codigo`)) | |
| 21 | +ENGINE = InnoDB | |
| 22 | +AUTO_INCREMENT = 53 | |
| 23 | +DEFAULT CHARACTER SET = utf8; | |
| 24 | + | |
| 25 | +CREATE TABLE IF NOT EXISTS `log_sistema` ( | |
| 26 | + `codigo` BIGINT(20) NOT NULL AUTO_INCREMENT, | |
| 27 | + `codigo_entidade` BIGINT(20) NOT NULL, | |
| 28 | + `entidade` VARCHAR(45) NOT NULL, | |
| 29 | + `acao` VARCHAR(45) NOT NULL, | |
| 30 | + `antes` TEXT NULL DEFAULT NULL, | |
| 31 | + `depois` TEXT NULL DEFAULT NULL, | |
| 32 | + `data_hora` DATETIME NOT NULL, | |
| 33 | + `codigo_usuario` BIGINT(20) NULL DEFAULT NULL, | |
| 34 | + PRIMARY KEY (`codigo`)) | |
| 35 | +ENGINE = InnoDB | |
| 36 | +AUTO_INCREMENT = 33 | |
| 37 | +DEFAULT CHARACTER SET = utf8; | |
| 38 | + | |
| 39 | +CREATE TABLE IF NOT EXISTS `temp_arquivo` ( | |
| 40 | + `id` INT(11) NOT NULL AUTO_INCREMENT, | |
| 41 | + `nome` VARCHAR(255) NOT NULL, | |
| 42 | + `pagina` VARCHAR(10) NOT NULL, | |
| 43 | + `temp_desc_arquivo_idarquivo` VARCHAR(2) NOT NULL, | |
| 44 | + `temp_desc_arquivo_token` VARCHAR(6) NOT NULL, | |
| 45 | + PRIMARY KEY (`id`), | |
| 46 | + INDEX `fk_temp_arquivo_temp_desc_arquivo1_idx` (`temp_desc_arquivo_idarquivo` ASC, `temp_desc_arquivo_token` ASC), | |
| 47 | + CONSTRAINT `fk_temp_arquivo_temp_desc_arquivo1` | |
| 48 | + FOREIGN KEY (`temp_desc_arquivo_idarquivo` , `temp_desc_arquivo_token`) | |
| 49 | + REFERENCES `temp_desc_arquivo` (`idarquivo` , `token`) | |
| 50 | + ON DELETE NO ACTION | |
| 51 | + ON UPDATE NO ACTION) | |
| 52 | +ENGINE = InnoDB | |
| 53 | +DEFAULT CHARACTER SET = latin1; | |
| 54 | + | |
| 55 | +CREATE TABLE IF NOT EXISTS `temp_desc_arquivo` ( | |
| 56 | + `tipo` VARCHAR(45) NOT NULL, | |
| 57 | + `qtd_paginas` VARCHAR(10) NOT NULL, | |
| 58 | + `temp_protocolo_token` VARCHAR(6) NOT NULL, | |
| 59 | + `idarquivo` VARCHAR(2) NOT NULL, | |
| 60 | + `token` VARCHAR(6) NOT NULL, | |
| 61 | + `descricao` VARCHAR(45) NOT NULL, | |
| 62 | + PRIMARY KEY (`idarquivo`, `token`), | |
| 63 | + INDEX `fk_temp_desc_arquivo_temp_protocolo1_idx` (`temp_protocolo_token` ASC), | |
| 64 | + CONSTRAINT `fk_temp_desc_arquivo_temp_protocolo1` | |
| 65 | + FOREIGN KEY (`temp_protocolo_token`) | |
| 66 | + REFERENCES `temp_protocolo` (`token`) | |
| 67 | + ON DELETE NO ACTION | |
| 68 | + ON UPDATE NO ACTION) | |
| 69 | +ENGINE = InnoDB | |
| 70 | +DEFAULT CHARACTER SET = latin1; | |
| 71 | + | |
| 72 | +CREATE TABLE IF NOT EXISTS `temp_protocolo` ( | |
| 73 | + `token` VARCHAR(6) NOT NULL, | |
| 74 | + `email1` VARCHAR(100) NULL DEFAULT NULL, | |
| 75 | + `email2` VARCHAR(100) CHARACTER SET 'big5' NULL DEFAULT NULL, | |
| 76 | + `nr_protocolo_anterior` VARCHAR(100) NULL DEFAULT NULL, | |
| 77 | + `usuario_codigo` BIGINT(20) NOT NULL, | |
| 78 | + PRIMARY KEY (`token`), | |
| 79 | + INDEX `fk_temp_protocolo_usuario1_idx` (`usuario_codigo` ASC), | |
| 80 | + CONSTRAINT `fk_temp_protocolo_usuario1` | |
| 81 | + FOREIGN KEY (`usuario_codigo`) | |
| 82 | + REFERENCES `usuario` (`codigo`) | |
| 83 | + ON DELETE NO ACTION | |
| 84 | + ON UPDATE NO ACTION) | |
| 85 | +ENGINE = InnoDB | |
| 86 | +DEFAULT CHARACTER SET = latin1; | |
| 87 | + | |
| 88 | +ALTER TABLE `usuario` | |
| 89 | +ADD COLUMN `nome_social` VARCHAR(50) NULL DEFAULT NULL AFTER `token`; | |
| 90 | + | |
| 91 | +ALTER TABLE `temp_arquivo` | |
| 92 | +CHARACTER SET = utf8 ; | |
| 93 | + | |
| 94 | +ALTER TABLE `temp_desc_arquivo` | |
| 95 | +CHARACTER SET = utf8 ; | |
| 96 | + | |
| 97 | +ALTER TABLE `temp_protocolo` | |
| 98 | +CHARACTER SET = utf8 ; | |
| 99 | + | |
| 100 | +SET SQL_MODE=@OLD_SQL_MODE; | |
| 101 | +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; | |
| 102 | +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; | ... | ... |
src/main/resources/db/migration/V34__correcao_tabela_log.sql
0 → 100644
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | +-- MySQL Workbench Synchronization | |
| 2 | +-- Generated: 2018-03-01 16:29 | |
| 3 | +-- Model: New Model | |
| 4 | +-- Version: 1.0 | |
| 5 | +-- Project: Name of the project | |
| 6 | +-- Author: 01572931140 | |
| 7 | + | |
| 8 | +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; | |
| 9 | +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; | |
| 10 | +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; | |
| 11 | + | |
| 12 | +--ALTER TABLE `protocolo`.`log_sistema` | |
| 13 | +--CHANGE COLUMN `codigo` `codigo` BIGINT(20) NOT NULL AUTO_INCREMENT , | |
| 14 | +--ADD COLUMN `codigo_usuario` BIGINT(20) NULL DEFAULT NULL AFTER `data_hora`; | |
| 15 | + | |
| 16 | + | |
| 17 | +SET SQL_MODE=@OLD_SQL_MODE; | |
| 18 | +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; | |
| 19 | +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; | ... | ... |
src/main/resources/db/migration/V35__tabela_metadad_configuracao_email.sql
0 → 100644
| ... | ... | @@ -0,0 +1,180 @@ |
| 1 | +-- MySQL Workbench Synchronization | |
| 2 | +-- Generated: 2018-03-07 12:38 | |
| 3 | +-- Model: New Model | |
| 4 | +-- Version: 1.0 | |
| 5 | +-- Project: Name of the project | |
| 6 | +-- Author: 01572931140 | |
| 7 | + | |
| 8 | +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; | |
| 9 | +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; | |
| 10 | +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; | |
| 11 | + | |
| 12 | +ALTER TABLE `configuracao` | |
| 13 | +CHANGE COLUMN `codigo` `codigo` INT(11) NOT NULL AUTO_INCREMENT ; | |
| 14 | + | |
| 15 | +CREATE TABLE IF NOT EXISTS `configuracao_email` ( | |
| 16 | + `codigo` INT(11) NOT NULL, | |
| 17 | + `nome` VARCHAR(45) NULL DEFAULT NULL, | |
| 18 | + `valor` TEXT NULL DEFAULT NULL, | |
| 19 | + PRIMARY KEY (`codigo`)) | |
| 20 | +ENGINE = InnoDB | |
| 21 | +DEFAULT CHARACTER SET = utf8; | |
| 22 | + | |
| 23 | +CREATE TABLE IF NOT EXISTS `metadado` ( | |
| 24 | + `codigo` INT(11) NOT NULL, | |
| 25 | + `nome` VARCHAR(45) NOT NULL, | |
| 26 | + `valor` TEXT NULL DEFAULT NULL, | |
| 27 | + `descricao` TEXT NULL DEFAULT NULL, | |
| 28 | + PRIMARY KEY (`codigo`)) | |
| 29 | +ENGINE = InnoDB | |
| 30 | +DEFAULT CHARACTER SET = utf8; | |
| 31 | + | |
| 32 | +CREATE TABLE IF NOT EXISTS `metadado_email` ( | |
| 33 | + `codigo_email` INT(11) NOT NULL, | |
| 34 | + `codigo_metadado` INT(11) NOT NULL, | |
| 35 | + PRIMARY KEY (`codigo_metadado`, `codigo_email`), | |
| 36 | + INDEX `fk_metadado_email_configuracao_email1_idx` (`codigo_email` ASC), | |
| 37 | + CONSTRAINT `metadado_email_fk1` | |
| 38 | + FOREIGN KEY (`codigo_email`) | |
| 39 | + REFERENCES `configuracao_email` (`codigo`) | |
| 40 | + ON DELETE NO ACTION | |
| 41 | + ON UPDATE NO ACTION, | |
| 42 | + CONSTRAINT `metadado_email_fk2` | |
| 43 | + FOREIGN KEY (`codigo_metadado`) | |
| 44 | + REFERENCES `metadado` (`codigo`) | |
| 45 | + ON DELETE NO ACTION | |
| 46 | + ON UPDATE NO ACTION) | |
| 47 | +ENGINE = InnoDB | |
| 48 | +DEFAULT CHARACTER SET = utf8; | |
| 49 | + | |
| 50 | +SET SQL_MODE=@OLD_SQL_MODE; | |
| 51 | +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; | |
| 52 | +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; | |
| 53 | + | |
| 54 | + | |
| 55 | +/* | |
| 56 | +-- Insert protocolo.configuracao | |
| 57 | +LIMIT 0, 1000 | |
| 58 | + | |
| 59 | +-- Date: 2018-03-07 12:42 | |
| 60 | +*/ | |
| 61 | +SET FOREIGN_KEY_CHECKS = 0; | |
| 62 | +truncate table `configuracao`; | |
| 63 | +SET FOREIGN_KEY_CHECKS = 1; | |
| 64 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (1,'SMTP_SERVER','10.209.253.28','',1,1,'server-email'); | |
| 65 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (2,'SMTP_PORT','25','teste3',2,1,'server-email'); | |
| 66 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (3,'MAIL_FROM','xxx@yyy.zzz','',3,1,'server-email'); | |
| 67 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (4,'EMAIL_RESPONSAVEL','sss@sssf.com',NULL,4,1,'server-email'); | |
| 68 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (9,'URL_AUTORIZAR','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/authorize',NULL,17,4,'brasil-cidadao'); | |
| 69 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (10,'URL_TOKEN','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/token',NULL,18,4,'brasil-cidadao'); | |
| 70 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (11,'URL_DADOS_USUARIO','https://testeservicos-ecidadao.estaleiro.serpro.gov.br/servicos-ecidadao/ecidadao/usuario/getUserInfo/',NULL,19,4,'brasil-cidadao'); | |
| 71 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (12,'CLIENT_ID','516a9b57-d022-4843-a792-93b4dc95622b',NULL,20,4,'brasil-cidadao'); | |
| 72 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (13,'SCOPE','openid',NULL,21,4,'brasil-cidadao'); | |
| 73 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (14,'REDIRECT_URI','https://protocolo.planejamento.gov.br/login',NULL,22,4,'brasil-cidadao'); | |
| 74 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (15,'CLIENT_SECRET','Ld65DuKIva0_EU0LO1VrVC6Be7b-_AsgvkueKpW4OJlhDdJQ4TJ9nKB173M5c5mmG03uhZvEbBKnDRmAe7gZkw',NULL,23,4,'brasil-cidadao'); | |
| 75 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (16,'ESCOPO','dados_brasil_cidadao',NULL,24,4,'brasil-cidadao'); | |
| 76 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (18,'URL_BRASIL_CIDADAO','https://testescp-ecidadao.estaleiro.serpro.gov.br/scp/login',NULL,25,4,'brasil-cidadao'); | |
| 77 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (19,'URL_PRIMEIRO_ACESSO','https://testeportal-ecidadao.estaleiro.serpro.gov.br/servicos-cidadao/acesso/#/primeiro-acesso',NULL,26,4,'brasil-cidadao'); | |
| 78 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (20,'STORAGE_PATH','E:/Ambiente/Desenvolvimento/estorage/temp','teste2',16,3,'storage'); | |
| 79 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (21,'URL_ENDPOINT','https://seitreina.nuvem.gov.br/sei/ws/SeiWS.php','teste4',5,2,'sei'); | |
| 80 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (22,'ASSUNTO_CODIGO_ESTRUTURADO','520.1',NULL,6,2,'sei'); | |
| 81 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (23,'PROCEDIMENTO_ESPECIFICADO','Especificacao do processo',NULL,7,2,'sei'); | |
| 82 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (24,'PROCEDIMENTO_NIVEL_ACESSO','0',NULL,8,2,'sei'); | |
| 83 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (25,'PROCEDIMENTO_ID_TIPO_PROCEDIMENTO','100000346',NULL,9,2,'sei'); | |
| 84 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (26,'DOCUMENTO_TIPO','R',NULL,10,2,'sei'); | |
| 85 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (27,'DOCUMENTO_ID_SERIE','1',NULL,11,2,'sei'); | |
| 86 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (28,'DOCUMENTO_NIVEL_ACESSO','0',NULL,12,2,'sei'); | |
| 87 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (29,'SIGLA_SISTEMA','UNB',NULL,13,2,'sei'); | |
| 88 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (30,'IDENTIFICACAO_SERVICO','testeunb',NULL,14,2,'sei'); | |
| 89 | +INSERT INTO `configuracao` (`codigo`,`nome`,`valor`,`descricao`,`id_enum`,`id_classificacao`,`classificacao`) VALUES (31,'ID_UNIDADE','110001972',NULL,15,2,'sei'); | |
| 90 | + | |
| 91 | +/* | |
| 92 | +-- insert protocolo.configuracao_email | |
| 93 | +LIMIT 0, 1000 | |
| 94 | + | |
| 95 | +-- Date: 2018-03-07 12:41 | |
| 96 | +*/ | |
| 97 | +SET FOREIGN_KEY_CHECKS = 0; | |
| 98 | +truncate table `configuracao_email`; | |
| 99 | +SET FOREIGN_KEY_CHECKS = 1; | |
| 100 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (1,'EMAIL_CONTEUDO_CADASTRO','<p><span>PREZADO(A),</span></p>\r\n<p style=\"text-align: justify;\"><span><br />SEJA BEM VINDO AO SISTEMA DE PROTOCOLIZAÇÃO ELETRÔNICA DE DOCUMENTOS DO MINISTÉRIO DO PLANEJAMENTO, DESENVOLVIMENTO E GESTÃO. PARA CONCLUIR O SEU CADASTRO, ACESSE O LINK <span>{$METADADO_USUARIO_URLCONFIRMACAO}</span></span></p>\r\n<p><span><br />ESSE PASSO É IMPORTANTE PARA VALIDARMOS TODOS OS USUÁRIOS.</span></p>'); | |
| 101 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (2,'EMAIL_CONTEUDO_CONSOLIDACAO','<p><span>PREZADO(A),</span></p>\r\n<p style=\"text-align: justify;\"><span><br />SEJA BEM VINDO AO SISTEMA DE PROTOCOLIZAÇÃO ELETRÔNICA DE DOCUMENTOS DO MINISTÉRIO DO PLANEJAMENTO, DESENVOLVIMENTO E GESTÃO. PARA CONCLUIR O SEU CADASTRO, ACESSE O LINK <span>{$METADADO_USUARIO_URLCONSILIACAO}</span></span></p>\r\n<p><span><br />ESSE PASSO É IMPORTANTE PARA VALIDARMOS TODOS OS USUÁRIOS.</span></p>'); | |
| 102 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (3,'EMAIL_CONTEUDO_ERRO_SEI','<h1 style=\"font-size: 15px;\">Erro ao enviar o protocolo Nº <span>{$METADADO_PROTOCOLO_NUMERO}</span>para o SEI</h1>\r\n<p>Detalhe do Erro: <span>{$METADADO_MSGERRO}</span>.</p>'); | |
| 103 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (4,'EMAIL_CONTEUDO_ESQUECI_SENHA','<p style=\"font-size: 15px;\">Recebemos uma solicitação de recuperação de senha, por isso estamos enviando uma nova para que você possa continuar usando nosso sistema de protocolo.</p>\r\n<h1 style=\"font-size: 15px;\">Sua nova senha é: <span>{$METADADO_USUARIO_NOVASENHA}</span></h1>'); | |
| 104 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (5,'EMAIL_CONTEUDO_PROTOCOLO','<h3>Número do Protocolo Provisório: <span>{$METADADO_PROTOCOLO_NUMERO}</span></h3>\r\n<p style=\"text-align: justify;\">Número Único de Protocolo: Será enviado para o(s) e-mail(s) cadastrado(s) no prazo máximo de vinte e quatro horas, contadas do recebimento, salvo quando este ocorrer às sextas-feiras, véspera de feriados ou pontos facultativos ou haja restrição técnica da unidade, devidamente fundamentada.</p>\r\n<p>Data: <span>{$METADADO_PROTOCOLO_DATAHORAFORMADATA}</span></p>\r\n<p>Nome: <span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail: <span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>\r\n<p>Referência ao protocolo anterior: <span>{$METADADO_PROTOCOLO_NUMEROANTERIOR}</span></p>\r\n<p><span>{$METADADO_PROTOCOLO_TABELAARQUIVO}</span></p>'); | |
| 105 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (6,'EMAIL_CONTEUDO_NEGADO','<h3>Número do Protocolo Provisório: <span>{$METADADO_PROTOCOLO_NUMERO}</span></h3>\r\n<p style=\"text-align: justify;\">Prezado (a)<span>{$METADADO_PROTOCOLO_USUARIONOME}</span>, <br /> Esta é uma mensagem automática e não deve ser respondida. <br /> Seu protocolo não foi aceito pelo motivo abaixo especificado: <br /><span>{$METADADO_PROTOCOLO_OBSERVACAO}</span></p>\r\n<p>Nome:<span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>'); | |
| 106 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (7,'EMAIL_CONTEUDO_RECEBIMENTO_SEI','<h3>Número Único de Protocolo:<span>{$METADADO_PROTOCOLO_NUPE}</span></h3>\r\n<p style=\"text-align: justify;\">Prezado (a) usuário (a), Esta é uma mensagem automática e não deve ser respondida. Informamos que seu protocolo foi entregue ao setor responsável e que foi gerado o NUP:<span>{$METADADO_PROTOCOLO_NUPE}</span>. Quaisquer divergências das informações prestadas ou problemas nos arquivos anexados serão comunicados ao (à) senhor (a) através dos e-mails informados em seu cadastro. Informações referentes à tramitação de seu processo serão atualizadas até 24 horas e estarão acessíveis no sítio do protocolo integrado do Governo Federal, disponível em <span>{$METADADO_PROTOCOLO_LINKSEI}</span></p>\r\n<p>Data:<span>{$METADADO_PROTOCOLO_DATAHORAFORMADATA}</span>}.</p>\r\n<p>Nome:<span>{$METADADO_PROTOCOLO_USUARIONOME}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_USUARIOEMAIL}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL1}</span></p>\r\n<p>E-mail:<span>{$METADADO_PROTOCOLO_EMAIL2}</span></p>\r\n<p>Referência ao protocolo anterior:</p>\r\n<p><span>{$METADADO_PROTOCOLO_TABELAARQUIVO}</span></p>'); | |
| 107 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (8,'EMAIL_CABECALHO','<table>\r\n<tbody>\r\n<tr style=\"text-align: center;\">\r\n<td><span>{$METADADO_LOGO_EMAIL}</span></td>\r\n</tr>\r\n<tr style=\"text-align: center;\">\r\n<td>\r\n<h4>Ministério do Planejamento, Desenvolvimento e Gestão <br /> Protocolo Central <br /> Esplanada dos Ministérios Bloco K, Térreo, sala T 28, CEP 70.040-906 – Brasília-DF <br /> protocolo@planejamento.gov.br <br /> (61) 2020-5195/5580 </h4>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>'); | |
| 108 | +INSERT INTO `configuracao_email` (`codigo`,`nome`,`valor`) VALUES (9,'EMAIL_RODAPE','<p> </p>\r\n<p>“Por gentileza, responda nossa pesquisa de satisfação do Sistema de Protocolo Eletrônico. Sua contribuição é de extrema valia. <a href=\"http://formsus.datasus.gov.br/site/formulario.php?id_aplicacao=36481\" target=\"_blank\" rel=\"noopener\"> Clique aqui</a>”</p>\r\n<p> </p>\r\n<p style=\"text-align: justify; font-size: 10px;\">São de exclusiva responsabilidade do usuário: A conformidade entre os dados informados e os documentos; A conservação dos originais em papel de documentos digitalizados até que decaia o direito de revisão dos atos praticados no processo, para que, caso solicitado, sejam apresentados para qualquer tipo de conferência; A observação de que os atos processuais se consideram realizados no dia e hora do recebimento pelo SEI, considerando-se tempestivos os praticados até 23h59min59s do último dia do prazo, considerando sempre o horário oficial de Brasília, independente do fuso horário em que se encontre. </p>'); | |
| 109 | + | |
| 110 | +/* | |
| 111 | +-- Insert protocolo.metadado | |
| 112 | +LIMIT 0, 1000 | |
| 113 | + | |
| 114 | +-- Date: 2018-03-07 12:42 | |
| 115 | +*/ | |
| 116 | +SET FOREIGN_KEY_CHECKS = 0; | |
| 117 | +truncate table `metadado`; | |
| 118 | +SET FOREIGN_KEY_CHECKS = 1; | |
| 119 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (1,'METADADO_LOGO_EMAIL','<img src=\"../../static/images/brasao-brasil.png\" th:src=\"|cid:logo|\"/>','Imagem do logótipo do ministério.'); | |
| 120 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (2,'METADADO_MSGERRO','<span th:text=\"&{msgErro}\">Erro no protocolo.</span>','Mensagem de erro ao enviar ao SEI.'); | |
| 121 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (3,'METADADO_PROTOCOLO_DATAHORAFORMADATA','<span th:text=\"&{protocolo.dataHoraFormatada}\">','Data de criação do protocolo.'); | |
| 122 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (4,'METADADO_PROTOCOLO_EMAIL1','<span th:text=\"&{protocolo.email1}\">E-mail: protocolo.email1</span>','E-mail 1 de interessado.'); | |
| 123 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (5,'METADADO_PROTOCOLO_EMAIL2','<span th:text=\"&{protocolo.email2}\">E-mail: protocolo.emails</span>','E-mail 2 de interessado.'); | |
| 124 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (6,'METADADO_PROTOCOLO_LINKSEI','<span th:text=\"&{protocolo.linkSEI}\">linksei</span>','Link de acesso ao protocolo no SEI.'); | |
| 125 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (7,'METADADO_PROTOCOLO_NUMERO','<span th:text=\"&{protocolo.numero}\">Nmero do Protocolo Provisrio: 123ads31232asfd</span>','Numero do protocolo.'); | |
| 126 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (8,'METADADO_PROTOCOLO_NUMEROANTERIOR','<span th:text=\"&{protocolo.numeroProtocoloAnterior}\">Referncia ao protocolo anterior: 121345461</span>','Numero de protocolo anterior.'); | |
| 127 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (9,'METADADO_PROTOCOLO_NUPE','<span th:text=\"&{protocolo.nupe}\">protocolo.nupe</span>','Numero único do protocolo no SEI.'); | |
| 128 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (10,'METADADO_PROTOCOLO_OBSERVACAO','<span th:text=\"&{protocolo.observacao}\">observacao</span>','Obsersavação cadastrada no cancelamento do protocolo.'); | |
| 129 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (11,'METADADO_PROTOCOLO_TABELAARQUIVO','<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" style=\"width: 100%\">\n <thead>\n <tr>\n <td style=\"text-align: center\">\n Descrição do documento\n </td>\n <td style=\"text-align: center\">\n Arquivo\n </td>\n </tr>\n </thead>\n <tbody>\n <tr th:each=\"arquivo: &{protocolo.arquivosList}\">\n <td th:text=\"&{arquivo.tipoDocumento.descricao}\">&{arquivo.tipoDocumento.descricao}</td>\n <td th:text=\"&{arquivo.nomeOriginal}\">&{arquivo.nomeOriginal}</td>\n </tr>\n </tbody>\n</table>','Tabela com a lista de arquivos do protocolo.'); | |
| 130 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (12,'METADADO_PROTOCOLO_USUARIOEMAIL','<span th:text=\"&{protocolo.usuario.email}\">E-mail: protocolo.email1</span>','E-mail do usuário que cadastrou o protocolo.'); | |
| 131 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (13,'METADADO_PROTOCOLO_USUARIONOME','<span th:text=\"&{protocolo.usuario.nome}\">& usuario nome</span>','Nome do usuário que cadastrou o protocolo.'); | |
| 132 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (14,'METADADO_USUARIO_NOVASENHA','<span th:text=\"&{usuario.senha}\">Sua nova senha : 5as4f56as4f5as4</span>','Nova senha gerada para o usuário.'); | |
| 133 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (15,'METADADO_USUARIO_URLCONFIRMACAO','<a th:href=\"&{usuario.urlConfirmacaoCadastro}\">CONFIRMAR MEU CADASTRO.</a>','Url para ativação do usuário.'); | |
| 134 | +INSERT INTO `metadado` (`codigo`,`nome`,`valor`,`descricao`) VALUES (16,'METADADO_USUARIO_URLCONSILIACAO','<a th:href=\"&{usuario.urlConfirmacaoCadastro}\">CONFIRMAR MEU CADASTRO.</a>','Url para consiliação de usuário protocolo com usuário brasil cidadão.'); | |
| 135 | +UPDATE metadado SET valor = REPLACE(valor,'&','$'); | |
| 136 | + | |
| 137 | +/* | |
| 138 | +-- insert protocolo.metadado_email | |
| 139 | +LIMIT 0, 1000 | |
| 140 | + | |
| 141 | +-- Date: 2018-03-07 12:42 | |
| 142 | +*/ | |
| 143 | +SET FOREIGN_KEY_CHECKS = 0; | |
| 144 | +truncate table `metadado_email`; | |
| 145 | +SET FOREIGN_KEY_CHECKS = 1; | |
| 146 | + | |
| 147 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (1,15); | |
| 148 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (2,16); | |
| 149 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (3,2); | |
| 150 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (3,7); | |
| 151 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (4,14); | |
| 152 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,3); | |
| 153 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,4); | |
| 154 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,5); | |
| 155 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,7); | |
| 156 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,8); | |
| 157 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,10); | |
| 158 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,11); | |
| 159 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,12); | |
| 160 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (5,13); | |
| 161 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,3); | |
| 162 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,4); | |
| 163 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,5); | |
| 164 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,7); | |
| 165 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,10); | |
| 166 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,12); | |
| 167 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (6,13); | |
| 168 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,3); | |
| 169 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,4); | |
| 170 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,5); | |
| 171 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,6); | |
| 172 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,7); | |
| 173 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,8); | |
| 174 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,9); | |
| 175 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,10); | |
| 176 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,11); | |
| 177 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,12); | |
| 178 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (7,13); | |
| 179 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (8,1); | |
| 180 | +INSERT INTO `metadado_email` (`codigo_email`,`codigo_metadado`) VALUES (9,1); | ... | ... |
src/main/resources/db/migration/V36__tabela_protocolo_erro_ws.sql
0 → 100644
src/main/resources/db/migration/V37__correcao_metadado_urlconfirmacao.sql
0 → 100644
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | + | |
| 2 | +UPDATE metadado | |
| 3 | + SET valor=concat('<a th:href="', '$', '{usuario.urlConfirmacaoCadastro}">CONFIRMAR MEU CADASTRO.</a>') | |
| 4 | + WHERE (codigo=15); | |
| 5 | + | |
| 6 | +UPDATE metadado | |
| 7 | + SET valor=concat('<a th:href="', '$', '{usuario.urlConfirmacaoCadastro}">CONFIRMAR MEU CADASTRO.</a>') | |
| 8 | + WHERE (codigo=16); | |
| 9 | + | |
| 10 | +UPDATE configuracao_email | |
| 11 | + SET valor=concat('<h4 style="background-color: #fafafa; color: #626262; text-align: center;"><span>{', '$', 'METADADO_LOGO_EMAIL}</span></h4><h4 style="background-color: #fafafa; color: #626262; text-align: center;">Ministério do Planejamento, Desenvolvimento e Gestão <br />Protocolo Central <br />Esplanada dos Ministérios Bloco K, Térreo, sala T 28, CEP 70.040-906 – Brasília-DF <br />protocolo@planejamento.gov.br <br />(61) 2020-5195/5580 </h4>') | |
| 12 | + WHERE (codigo=8); | |
| 0 | 13 | \ No newline at end of file | ... | ... |