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 | ... | ... |