use of br.jus.trf2.balcaojus.model.Padrao in project balcaovirtual by trf2-jus-br.
the class PadraoGet method run.
@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
Usuario u = BalcaojusServlet.getPrincipal();
try (Dao dao = new Dao()) {
List<Padrao> l = dao.obtemPadroes(u.usuario);
for (Padrao i : l) {
PadraoItem d = formatar(i);
// d.numeroDoDocumento;
// d.autor;
// d.reu;
// d.descricao;
// d.status;
// d.descricaoDoStatus;
// d.tipoDoDocumento;
// d.identificadorDoUsuarioQueIncluiu;
// d.nomeDoUsuarioQueIncluiu;
// d.siglaDaUnidade;
resp.list.add(d);
}
}
}
use of br.jus.trf2.balcaojus.model.Padrao in project balcaovirtual by trf2-jus-br.
the class PadraoGet method formatar.
public static PadraoItem formatar(Padrao i) {
PadraoItem d = new PadraoItem();
d.dataDeInclusao = i.getPadrDfInclusao();
d.sistema = i.getSistema() != null ? i.getSistema().getSistSg() : null;
d.id = i.getPadrId().toString();
d.numeroDoProcesso = i.getPadrCdProc();
d.conteudo = i.getPadrTxConteudo();
return d;
}
use of br.jus.trf2.balcaojus.model.Padrao in project balcaovirtual by trf2-jus-br.
the class PadraoPost method run.
@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
Usuario u = BalcaojusServlet.getPrincipal();
try (Dao dao = new Dao()) {
Padrao p = (req.id != null) ? dao.find(Padrao.class, Long.valueOf(req.id)) : new Padrao();
Document documentoOriginal = Jsoup.parse(req.html);
// conteudo = document.select("section[contentEditable=true]").text();
String htmlEditavel = documentoOriginal.select("section[contentEditable=true]").html();
if (htmlEditavel == null || htmlEditavel.isEmpty())
htmlEditavel = req.html;
// Converter para markdown
String markdown = Markdown.convertHtmlToMarkdown(htmlEditavel);
// Padronizar número, nomes, etc.
// ocorrencias = new Tudo(doc.autor, doc.reu).extract(markdown);
// markdownSimplificado = Utils.replaceOcurrencesWithPlaceholders(markdown, ocorrencias);
String html = Markdown.convertMarkdownToHtml(markdown);
p.setPadrTxConteudo(html);
p.setPadrCdUsu(u.usuario);
if (req.id == null)
p.setPadrDfInclusao(new Date());
if (p.getPadrDfModificacao() == null)
p.setPadrDfModificacao(p.getPadrDfInclusao());
dao.persist(p);
resp.padrao = PadraoGet.formatar(p);
} catch (Exception e) {
Dao.rollbackCurrentTransaction();
throw e;
}
}
use of br.jus.trf2.balcaojus.model.Padrao in project balcaovirtual by trf2-jus-br.
the class MesaIdGet method run.
@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
Usuario u = BalcaojusServlet.getPrincipal();
if (!u.isInterno())
throw new Exception("Mesas só podem ser acessadas por usuários internos");
resp.list = new ArrayList<>();
resp.status = new ArrayList<>();
Map<String, SwaggerCallParameters> mapp = new HashMap<>();
for (String system : Utils.getSystems()) {
if (!u.usuarios.containsKey(system) || !"int".equals(u.usuarios.get(system).origem) || !system.contains(".eproc"))
continue;
IUsuarioUsernameLocalIdMesaId2DocumentosGet.Request q = new IUsuarioUsernameLocalIdMesaId2DocumentosGet.Request();
q.username = u.usuario;
mapp.put(system, new SwaggerCallParameters(system + " - listar minutas", Utils.getApiPassword(system), "GET", Utils.getApiUrl(system) + "/usuario/" + u.usuario + "/local/null/mesa/null/documentos", q, IUsuarioUsernameLocalIdMesaId2DocumentosGet.Response.class));
}
SwaggerMultipleCallResult mcr = null;
mcr = SwaggerCall.callMultiple(mapp, 15000);
resp.status = Utils.getStatus(mcr);
for (String system : mcr.responses.keySet()) {
IUsuarioUsernameLocalIdMesaId2DocumentosGet.Response r = (IUsuarioUsernameLocalIdMesaId2DocumentosGet.Response) mcr.responses.get(system);
for (ISistemaProcessual.MesaDocumento a : r.list) {
IBalcaojus.MesaDocumento i = new MesaDocumento();
i.dataDeInclusao = a.dataDeInclusao;
i.id = a.id;
i.numeroDoProcesso = a.numeroDoProcesso;
i.autor = Texto.maiusculasEMinusculas(a.autor);
i.reu = Texto.maiusculasEMinusculas(a.reu);
i.numeroDoDocumento = a.numeroDoDocumento;
i.descricao = a.descricao;
i.status = a.status;
i.descricaoDoStatus = a.descricaoDoStatus;
i.tipoDoDocumento = Texto.maiusculasEMinusculas(a.tipoDoDocumento);
i.identificadorDoUsuarioQueIncluiu = a.identificadorDoUsuarioQueIncluiu;
i.nomeDoUsuarioQueIncluiu = a.nomeDoUsuarioQueIncluiu;
i.siglaDaUnidade = a.siglaDaUnidade;
i.conteudo = a.conteudo;
i.sistema = system;
if (a.lembretes != null) {
i.lembretes = new ArrayList<>();
for (ISistemaProcessual.Lembrete j : a.lembretes) {
IBalcaojus.Lembrete lembrete = new IBalcaojus.Lembrete();
lembrete.id = j.id;
lembrete.dataDeInclusao = j.dataDeInclusao;
lembrete.conteudo = j.conteudo;
lembrete.identificadorDoUsuario = j.identificadorDoUsuario;
lembrete.nomeDoUsuario = j.nomeDoUsuario;
i.lembretes.add(lembrete);
}
}
resp.list.add(i);
}
}
// Pipeline para minuta-padrão
if (resp.list.size() == 0)
return;
// Carregar padrões
List<Minuta> padroes = new ArrayList<>();
try (Dao dao = new Dao()) {
List<Padrao> l = dao.obtemPadroes(u.usuario);
for (Padrao i : l) {
padroes.add(new Minuta(i.getPadrId().toString(), i.getPadrTxConteudo()));
}
}
if (padroes.size() == 0)
return;
// Carregar Minutas
List<Minuta> minutas = new ArrayList<>();
for (MesaDocumento m : resp.list) {
if (m.conteudo == null || m.conteudo.trim().isEmpty())
continue;
minutas.add(new Minuta(m));
}
// Processar similaridade
NormalizedStringSimilarity metric = new SorensenDice();
for (Minuta minuta : minutas) {
for (Minuta padrao : padroes) {
double coef = 0d;
if (minuta.markdown.equals(padrao.markdown))
coef = 1d;
else
coef = 0.99d * metric.similarity(minuta.markdownSimplificado, padrao.markdownSimplificado);
if (coef > 0.75d) {
if (minuta.similaridade == 0d || minuta.similaridade < coef) {
minuta.padrao = padrao;
minuta.similaridade = coef;
}
}
}
}
for (Minuta minuta : minutas) {
if (minuta.padrao == null)
continue;
minuta.calcularDiff();
minuta.doc.similaridade = minuta.similaridade;
minuta.doc.diferencas = minuta.htmlDiff;
minuta.doc.idPadrao = minuta.padrao.id;
System.out.println(minuta.markdownDiff);
System.out.println(minuta.similaridade + " -> " + minuta.markdownSimplificado);
}
}
use of br.jus.trf2.balcaojus.model.Padrao in project balcaovirtual by trf2-jus-br.
the class PadraoIdDelete method run.
@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
try (Dao dao = new Dao()) {
Padrao padrao = dao.find(Padrao.class, Long.valueOf(req.id));
if (padrao == null)
return;
dao.beginTransaction();
dao.remove(padrao);
} catch (Exception e) {
Dao.rollbackCurrentTransaction();
throw e;
}
}
Aggregations