use of org.odftoolkit.odfdom.doc.table.OdfTable in project OpenRefine by OpenRefine.
the class OdsImporter method createParserUIInitializationData.
@Override
public JSONObject createParserUIInitializationData(ImportingJob job, List<JSONObject> fileRecords, String format) {
JSONObject options = super.createParserUIInitializationData(job, fileRecords, format);
JSONArray sheetRecords = new JSONArray();
JSONUtilities.safePut(options, "sheetRecords", sheetRecords);
OdfDocument odfDoc = null;
try {
JSONObject firstFileRecord = fileRecords.get(0);
File file = ImportingUtilities.getFile(job, firstFileRecord);
InputStream is = new FileInputStream(file);
odfDoc = OdfDocument.loadDocument(is);
List<OdfTable> tables = odfDoc.getTableList();
int sheetCount = tables.size();
boolean hasData = false;
for (int i = 0; i < sheetCount; i++) {
OdfTable sheet = tables.get(i);
int rows = sheet.getRowCount();
JSONObject sheetRecord = new JSONObject();
JSONUtilities.safePut(sheetRecord, "name", sheet.getTableName());
JSONUtilities.safePut(sheetRecord, "rows", rows);
if (hasData) {
JSONUtilities.safePut(sheetRecord, "selected", false);
} else if (rows > 0) {
JSONUtilities.safePut(sheetRecord, "selected", true);
hasData = true;
}
JSONUtilities.append(sheetRecords, sheetRecord);
}
} catch (FileNotFoundException e) {
logger.info("File not found", e);
} catch (Exception e) {
// ODF throws *VERY* wide exceptions
logger.info("Error reading ODF spreadsheet", e);
} finally {
if (odfDoc != null) {
odfDoc.close();
}
}
return options;
}
use of org.odftoolkit.odfdom.doc.table.OdfTable in project pentaho-kettle by pentaho.
the class OdfWorkbook method getSheet.
@Override
public KSheet getSheet(String sheetName) {
OdfSheet sheet = openSheetsMap.get(sheetName);
if (sheet == null) {
OdfTable table = document.getTableByName(sheetName);
if (table == null) {
return null;
} else {
sheet = new OdfSheet(table);
openSheetsMap.put(sheetName, sheet);
}
}
return sheet;
}
use of org.odftoolkit.odfdom.doc.table.OdfTable in project structr by structr.
the class ODSExporter method exportAttributes.
public static void exportAttributes(final ODSExporter thisNode, final String uuid) throws FrameworkException {
final SecurityContext securityContext = thisNode.getSecurityContext();
final File output = thisNode.getResultDocument();
final VirtualType transformation = thisNode.getTransformationProvider();
try {
final App app = StructrApp.getInstance();
final Result result = app.nodeQuery(AbstractNode.class).and(GraphObject.id, uuid).getResult();
final Result transformedResult = transformation.transformOutput(securityContext, AbstractNode.class, result);
Map<String, Object> nodeProperties = new HashMap<>();
GraphObjectMap node = (GraphObjectMap) transformedResult.get(0);
node.getPropertyKeys(null).forEach(p -> nodeProperties.put(p.dbName(), node.getProperty(p)));
OdfSpreadsheetDocument spreadsheet = OdfSpreadsheetDocument.loadDocument(output.getFileOnDisk().getAbsolutePath());
OdfTable sheet = spreadsheet.getTableList().get(0);
Iterator<Entry<String, Object>> it = nodeProperties.entrySet().iterator();
while (it.hasNext()) {
Entry<String, Object> currentEntry = it.next();
String address = currentEntry.getKey();
Object val = currentEntry.getValue();
if (val instanceof Collection) {
Collection col = (Collection) val;
writeCollectionToCells(sheet, sheet.getCellByPosition(address), col);
} else if (val instanceof String[]) {
String[] arr = (String[]) val;
List<String> list = new ArrayList<>(Arrays.asList(arr));
writeCollectionToCells(sheet, sheet.getCellByPosition(address), list);
} else {
writeObjectToCell(sheet.getCellByPosition(address), val);
}
}
spreadsheet.save(output.getFileOnDisk().getAbsolutePath());
spreadsheet.close();
} catch (Exception e) {
logger.error("Error while exporting to ODS", e);
}
}
use of org.odftoolkit.odfdom.doc.table.OdfTable in project trainning by fernandotomasio.
the class EXC001ODF method makeReport.
@Override
public void makeReport() {
try {
odt = OdfTextDocument.newTextDocument();
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
Long turmaId = (Long) params.get("turmaId");
TurmaDTO turma = service.findTurmaEfetiva(turmaId);
IndicacaoDTO[] indicacoes = service.findAllIndicacoesAlunos(turmaId);
odt.newParagraph("CURSO: " + turma.getCurso().getCodigo() + " - " + turma.getCurso().getDescricao());
odt.newParagraph("TURMA: " + turma.getNumeroTurma());
odt.newParagraph("INICIO: " + turma.getDataInicioFormatted());
odt.newParagraph("TERMINO: " + turma.getDataTerminoFormatted());
OdfTable indicacoesTable = OdfTable.newTable(odt, indicacoes.length + 1, 5);
OdfTableCell postoHeader = indicacoesTable.getCellByPosition(0, 0);
postoHeader.setStringValue("Posto/Graduacao");
postoHeader.setHorizontalAlignment("center");
OdfTableCell especialidadeHeader = indicacoesTable.getCellByPosition(1, 0);
especialidadeHeader.setStringValue("Especialidade");
especialidadeHeader.setHorizontalAlignment("center");
OdfTableCell nomeHeader = indicacoesTable.getCellByPosition(2, 0);
nomeHeader.setStringValue("Nome");
nomeHeader.setHorizontalAlignment("center");
OdfTableCell saramHeader = indicacoesTable.getCellByPosition(3, 0);
saramHeader.setStringValue("SARAM");
saramHeader.setHorizontalAlignment("center");
OdfTableCell cpfHeader = indicacoesTable.getCellByPosition(4, 0);
cpfHeader.setStringValue("CPF");
cpfHeader.setHorizontalAlignment("center");
OdfTableCell organizacaoHeader = indicacoesTable.getCellByPosition(5, 0);
organizacaoHeader.setStringValue("Organizacao");
organizacaoHeader.setHorizontalAlignment("center");
for (int i = 0; i < indicacoes.length; i++) {
PessoaDTO pessoa = organizationalService.findPessoa(indicacoes[i].getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
String cpf = pessoa.getCpf();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(indicacoes[i].getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
OdfTableCell postoCell = indicacoesTable.getCellByPosition(0, i + 1);
postoCell.setStringValue(posto);
OdfTableCell especialidadeCell = indicacoesTable.getCellByPosition(1, i + 1);
especialidadeCell.setStringValue(especialidade);
OdfTableCell nomeCell = indicacoesTable.getCellByPosition(2, i + 1);
nomeCell.setStringValue(nome);
OdfTableCell saramCell = indicacoesTable.getCellByPosition(3, i + 1);
saramCell.setStringValue(saram);
OdfTableCell cpfCell = indicacoesTable.getCellByPosition(4, i + 1);
cpfCell.setStringValue(cpf);
OdfTableCell organizacaoCell = indicacoesTable.getCellByPosition(5, i + 1);
organizacaoCell.setStringValue(siglaOrganizacao);
}
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC001ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
use of org.odftoolkit.odfdom.doc.table.OdfTable in project trainning by fernandotomasio.
the class EXC015ODF method makeReport.
@Override
public void makeReport() {
AtividadesEnsinoService service = (AtividadesEnsinoService) services.get("atividadesEnsinoService");
OrganizationalService organizationalService = (OrganizationalService) services.get("organizationalService");
try {
odt = OdfTextDocument.newTextDocument();
Long turmaId = (Long) params.get("turmaId");
TurmaEfetivaDTO turma = service.findTurmaEfetiva(turmaId);
OrganizacaoDTO gestora = organizationalService.findOrganizacao(turma.getOrganizacaoGestoraId());
OrganizacaoDTO responsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
// cancelados
CancelamentoMatriculaDTO[] cancelados = service.findAllCancelamentoMatriculaByTurma(turmaId);
// desligados
ConclusaoDTO[] desligados = service.findAllConcluidosByTurma(turmaId, false);
// concluidos
ConclusaoDTO[] conclusoesComAproveitamento = service.findAllConcluidosByTurma(turmaId, true);
// ordenar por nome
Arrays.sort(cancelados, new Comparator<CancelamentoMatriculaDTO>() {
@Override
public int compare(CancelamentoMatriculaDTO o1, CancelamentoMatriculaDTO o2) {
return o1.getMatricula().getPessoa().getNome().compareTo(o2.getMatricula().getPessoa().getNome());
}
});
// ordenar por nome
Arrays.sort(desligados, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
// ordenar por nome
Arrays.sort(conclusoesComAproveitamento, new Comparator<ConclusaoDTO>() {
@Override
public int compare(ConclusaoDTO o1, ConclusaoDTO o2) {
return o1.getPessoa().getNome().compareTo(o2.getPessoa().getNome());
}
});
// manipulação de datas
GregorianCalendar cal = new GregorianCalendar();
String ano = "" + cal.get(Calendar.YEAR);
String dia = "" + cal.get(Calendar.DAY_OF_MONTH);
SimpleDateFormat dfMes = new SimpleDateFormat("MMMM");
// CABECALHO
String cabecalho = "ITEM Nº XXX/" + ano + "/O - " + gestora.getSigla() + " - ";
// CABECALHO2
String cabecalho2 = null;
if (!gestora.getSigla().equals("DECEA")) {
cabecalho2 = "1 - ";
} else {
cabecalho2 = "1 - CURSO DE ";
}
cabecalho2 += turma.getCurso().getDescricao() + " (" + turma.getCurso().getCodigo() + " - Turma " + turma.getNumeroTurma() + ")" + " - ENCERRAMENTO";
// CABECALHO3
String cabecalho3 = null;
if (!gestora.getSigla().equals("DECEA")) {
cabecalho3 = "PORTARIA " + gestora.getSigla() + " Nº XXX-X/1EM, DE " + dia + " DE " + dfMes.format(new Date()).toUpperCase() + " DE " + ano + ".";
} else {
cabecalho3 = "";
}
// INTRODUCAO
String introducao = null;
if (!gestora.getSigla().equals("DECEA")) {
introducao = "Encerra o \"" + turma.getCurso().getDescricao() + " (" + turma.getCurso().getCodigo() + " - " + turma.getNumeroTurma() + ")\"" + " e dá outras providências.";
} else {
introducao = "";
}
// INTRODUCAO2
String introducao2 = null;
if (gestora.getSigla().equals("DECEA")) {
introducao2 = "";
// introducao2 = "O CHEFE DO SUBDEPARTAMENTO DE ADMINISTRAÇÃO DO DEPARTAMENTO DE CONTROLE DO ESPAÇO" +
// " AÉREO, no uso \n" +
// "de suas atribuições, que lhe confere, por delegação de competência emanada pelo Exmo. Sr. \n" +
// "Diretor do Departamento de Controle do Espaço Aéreo, publicada no Boletim Interno Ostensivo nº 50, de 12 de dezembro \n" +
// "2014, do DECEA, e considerando o disposto no Inciso IX, do Art. 9º do Regulamento do \n" +
// "Comando-Geral de Apoio, aprovado pela Portaria nº 2.133/GC3, de 29 de novembro de 2013, \n" +
// "resolve:";
} else {
introducao2 = "O CHEFE DO ESTADO-MAIOR DO COMANDO-GERAL DE APOIO, no uso \n" + "de suas atribuições, que lhe confere, por delegação de competência emanada pelo Exmo. Sr. \n" + "Comandante-Geral de Apoio, publicada no Boletim Interno Ostensivo nº 50, de 12 de dezembro \n" + "2014, do COMGAP, e considerando o disposto no Inciso IX, do Art. 9º do Regulamento do \n" + "Comando-Geral de Apoio, aprovado pela Portaria nº 2.133/GC3, de 29 de novembro de 2013, \n" + "resolve:";
}
// MONTAGEM DO TEXTO SOBRE OS PERÍODOS PARA COMPOR 1º PARAGRAFO
FaseDTO[] periodos = turma.getFases();
String textoPeriodo = "";
int contadorDeFases = 0;
for (FaseDTO faseDTO : periodos) {
contadorDeFases++;
}
if (contadorDeFases > 1) {
textoPeriodo += "realizado no formato " + turma.getTipoTurma() + ", ";
contadorDeFases = 1;
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
String tipoFase = "";
if (faseDTO.getTipoFase() != null) {
tipoFase = faseDTO.getTipoFase();
}
textoPeriodo += "sendo a " + contadorDeFases + "ª fase ";
if (tipoFase.equals("EAD")) {
textoPeriodo += "à distância (" + local + ") ";
} else {
textoPeriodo += tipoFase + ", realizada no " + local + ", ";
}
textoPeriodo += "no período de " + faseDTO.getPeriodoFormatted() + ", ";
contadorDeFases++;
}
}
} else {
// igual a uma fase
for (FaseDTO faseDTO : periodos) {
if (turma.getFases() != null) {
String local = "";
if (faseDTO.getLocal() != null) {
local = faseDTO.getLocal().getSigla();
}
String tipoFase = "";
if (faseDTO.getTipoFase() != null) {
tipoFase = faseDTO.getLocal().getSigla();
}
if (tipoFase.equals("EAD")) {
textoPeriodo += "realizado no formato à distância (" + local + ") ";
} else {
textoPeriodo += "realizado no formato " + tipoFase + ", no " + local + ", ";
}
textoPeriodo += "no período de " + faseDTO.getPeriodoFormatted() + ", ";
}
}
}
// 1º PARAGRAFO
String inicial = null;
if (!gestora.getSigla().equals("DECEA")) {
inicial = "Art. 1º ";
inicial += "Encerrar o \"";
} else {
inicial = "D) Encerra o curso de ";
}
inicial += turma.getCurso().getDescricao() + " (" + turma.getCurso().getCodigo() + " - Turma " + turma.getNumeroTurma() + ")";
if (!gestora.getSigla().equals("DECEA")) {
inicial += "\"";
}
inicial += ", ";
// TEXTO SOBRE OS PERÍODOS
inicial += textoPeriodo;
// preenchendo responsabilidade
if (turma.getResponsavelId() != null) {
OrganizacaoDTO organizacaoResponsavel = organizationalService.findOrganizacao(turma.getResponsavelId());
if (!"ILA".equals(organizacaoResponsavel.getSigla())) {
inicial += "sob responsabilidade do " + organizacaoResponsavel.getSigla() + " e do ILA, ";
} else {
inicial += "sob responsabilidade do " + organizacaoResponsavel.getSigla() + ", ";
}
} else {
inicial += "sob responsabilidade do ILA, ";
}
if (!gestora.getSigla().equals("DECEA")) {
inicial += "ativado através da Portaria XXX/1EM, de XX XXX XXXX, publicada no BCA Ostensivo nº. XXX, de XX XXX XXXX.";
} else {
inicial += "ativado no BCA Ostensivo nº XX, de XX MES XXXX.";
}
// INíCIO DOS PARAGRAFOS SEGUINTES
String canceladosParagrafo = "";
// PARAGRAFO DOS CANCELADOS
if (cancelados.length >= 1) {
// montar paragrafo de cancelamento
canceladosParagrafo += "Cancelar a matrícula ";
// verifica se mais de um
if (cancelados.length > 1) {
canceladosParagrafo += "dos ";
} else {
canceladosParagrafo += "do ";
}
// verificar se tem civil
int numCV = 0;
for (CancelamentoMatriculaDTO cancelado : cancelados) {
MatriculaDTO matricula = service.findMatricula(cancelado.getMatricula().getId());
PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
String posto = pessoa.getPosto();
if ("CV".equals(posto)) {
numCV++;
}
}
int numMil = cancelados.length - numCV;
if (numMil > 0) {
if (numMil > 1) {
canceladosParagrafo += "militares ";
} else {
canceladosParagrafo += "militar ";
}
}
if (numMil > 0 && numCV > 0) {
canceladosParagrafo += "e ";
}
if (numCV > 0) {
if (numCV > 1) {
canceladosParagrafo += "civis ";
} else {
canceladosParagrafo += "civil ";
}
}
canceladosParagrafo += "abaixo ";
if (cancelados.length > 1) {
canceladosParagrafo += "relacionados ";
} else {
canceladosParagrafo += "relacionado ";
}
if (!gestora.getSigla().equals("DECEA")) {
canceladosParagrafo += "conforme o item 4.8, da ICA 37-563/2016, do COMGAP:";
} else {
canceladosParagrafo += ":";
}
}
String desligadosParagrafo = "";
// PARAGRAFO DOS DESLIGADOS
if (desligados.length >= 1) {
// montar paragrafo de desligado
desligadosParagrafo += "Desligar ";
// verifica se mais de um
if (desligados.length > 1) {
desligadosParagrafo += "os ";
} else {
desligadosParagrafo += "o ";
}
// verificar se tem civil
int numCV = 0;
for (ConclusaoDTO desligado : desligados) {
PessoaDTO pessoa = organizationalService.findPessoa(desligado.getPessoa().getId());
String posto = pessoa.getPosto();
if ("CV".equals(posto)) {
numCV++;
}
}
int numMil = desligados.length - numCV;
if (numMil > 0) {
if (numMil > 1) {
desligadosParagrafo += "militares ";
} else {
desligadosParagrafo += "militar ";
}
}
if (numMil > 0 && numCV > 0) {
desligadosParagrafo += "e ";
}
if (numCV > 0) {
if (numCV > 1) {
desligadosParagrafo += "civis ";
} else {
desligadosParagrafo += "civil ";
}
}
desligadosParagrafo += "abaixo ";
if (desligados.length > 1) {
desligadosParagrafo += "relacionados ";
} else {
desligadosParagrafo += "relacionado ";
}
desligadosParagrafo += "conforme especificado:";
}
String aprovadosParagrafo = "";
// PARAGRAFO DOS APROVADOS
if (conclusoesComAproveitamento.length >= 1) {
// montar paragrafo de desligado
if (!gestora.getSigla().equals("DECEA")) {
aprovadosParagrafo += "Aprovar, por ";
} else {
aprovadosParagrafo += "Concluíram com aproveitamento ";
}
// verifica se mais de um
if (!gestora.getSigla().equals("DECEA")) {
if (conclusoesComAproveitamento.length > 1) {
aprovadosParagrafo += "terem ";
} else {
aprovadosParagrafo += "ter ";
}
}
if (!gestora.getSigla().equals("DECEA")) {
aprovadosParagrafo += "concluído com aproveitamento, ";
}
// verifica se mais de um
if (conclusoesComAproveitamento.length > 1) {
aprovadosParagrafo += "os ";
} else {
aprovadosParagrafo += "o ";
}
// verificar se tem civil
int numCV = 0;
for (ConclusaoDTO aprovado : conclusoesComAproveitamento) {
PessoaDTO pessoa = organizationalService.findPessoa(aprovado.getPessoa().getId());
String posto = pessoa.getPosto();
if ("CV".equals(posto)) {
numCV++;
}
}
int numMil = conclusoesComAproveitamento.length - numCV;
if (numMil > 0) {
if (numMil > 1) {
aprovadosParagrafo += "militares ";
} else {
aprovadosParagrafo += "militar ";
}
}
if (numMil > 0 && numCV > 0) {
aprovadosParagrafo += "e ";
}
if (numCV > 0) {
if (numCV > 1) {
aprovadosParagrafo += "civis ";
} else {
aprovadosParagrafo += "civil ";
}
}
aprovadosParagrafo += "abaixo ";
if (conclusoesComAproveitamento.length > 1) {
aprovadosParagrafo += "relacionados:";
} else {
aprovadosParagrafo += "relacionado:";
}
}
// PARAGRAFO ÚNICO
String paragrafoUnico = "";
if (!gestora.getSigla().equals("DECEA")) {
paragrafoUnico += "Parágrafo único. As OM dos militares listados neste artigo deverão orientar seus\n" + "militares a inserirem dados de conclusão do referido curso (cód: 70XXX) no SIGPES (utilizando as\n" + "senhas pessoais), além de ratificar as respectivas alterações por meio das Seções de Pessoal (campo\n" + "cadastro de pessoal menu Cursos).";
} else {
paragrafoUnico += "";
}
// MONTANDO O ARQUIVO FINAL
odt.newParagraph(cabecalho);
odt.newParagraph("");
odt.newParagraph(cabecalho2);
odt.newParagraph("");
odt.newParagraph(cabecalho3);
odt.newParagraph("");
if (!gestora.getSigla().equals("DECEA")) {
odt.newParagraph(introducao);
} else {
odt.newParagraph("A) Altera o quadro de instrutores do curso:");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Sem alteração.");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Inclusão de instrutor(es):");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Exclusão de instrutor(es):");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("B) Altera a matricula de aluno(os):");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Sem alteração.");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Inclusão de matrícula de aluno:");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Cancelamento de matrícula de aluno:");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Sem alteração.");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("C) Altera dados da turma(local e/ou período):");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Modifica o período de realização da turma de: / para:");
odt.newParagraph("");
odt.newParagraph("");
odt.newParagraph("Modifica o local de realização da turma de: / para:");
}
odt.newParagraph("");
odt.newParagraph(introducao2);
odt.newParagraph("");
odt.newParagraph(inicial);
odt.newParagraph("");
// MONTAGEM DO CORPO DO DOCUMENTO
int numParagrafo = 2;
// PARAGRAFO DOS CANCELADOS
if (!gestora.getSigla().equals("DECEA")) {
if (cancelados.length >= 1) {
// if (!gestora.getSigla().equals("DECEA")) {
odt.newParagraph("Art. " + numParagrafo + "º " + canceladosParagrafo);
// } else {
// odt.newParagraph(canceladosParagrafo);
// }
odt.newParagraph("");
// LOOP DOS CANCELADOS
for (int i = 0; i < cancelados.length; i++) {
MatriculaDTO matricula = service.findMatricula(cancelados[i].getMatricula().getId());
PessoaDTO pessoa = organizationalService.findPessoa(matricula.getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(matricula.getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String cancelado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (cancelados.length > 1) {
if (i + 1 == cancelados.length) {
cancelado += ".";
} else {
if (i + 2 == cancelados.length) {
cancelado += "; e";
} else {
cancelado += ";";
}
}
} else {
cancelado += ".";
}
odt.newParagraph("- " + cancelado);
}
numParagrafo++;
odt.newParagraph("");
}
}
// PARAGRAFO DOS DESLIGADOS
if (!gestora.getSigla().equals("DECEA")) {
if (desligados.length >= 1) {
// if (!gestora.getSigla().equals("DECEA")) {
// odt.newParagraph("Art. " + numParagrafo + "º " + desligadosParagrafo);
// } else {
// odt.newParagraph(desligadosParagrafo);
// }
odt.newParagraph("Art. " + numParagrafo + "º " + desligadosParagrafo);
odt.newParagraph("");
char inciso = 'a';
// AGRUPANDO OS DESLIGADOS POR ENQUADRAMENTO da letra "a" ao "i"
List<ConclusaoDTO> desligadosA = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosB = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosC = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosD = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosE = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosF = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosG = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosH = new ArrayList<ConclusaoDTO>();
List<ConclusaoDTO> desligadosI = new ArrayList<ConclusaoDTO>();
String[] letras = { "letra \"a\"", "letra \"b\"", "letra \"c\"", "letra \"d\"", "letra \"e\"", "letra \"f\"", "letra \"g\"", "letra \"h\"", "letra \"i\"" };
List<ConclusaoDTO> desligadosDefault = new ArrayList<ConclusaoDTO>();
for (int i = 0; i < desligados.length; i++) {
String motivo = desligados[i].getObservacao();
int letra;
for (letra = 0; letra < letras.length; letra++) {
if (motivo.contains(letras[letra])) {
break;
}
}
switch(letra) {
case // letra "a"
0:
desligadosA.add(desligados[i]);
break;
case // letra "b"
1:
desligadosB.add(desligados[i]);
break;
case // letra "c"
2:
desligadosC.add(desligados[i]);
break;
case // letra "d"
3:
desligadosD.add(desligados[i]);
break;
case // letra "e"
4:
desligadosE.add(desligados[i]);
break;
case // letra "f"
5:
desligadosF.add(desligados[i]);
break;
case // letra "g"
6:
desligadosG.add(desligados[i]);
break;
case // letra "h"
7:
desligadosH.add(desligados[i]);
break;
case // letra "i"
8:
desligadosI.add(desligados[i]);
break;
default:
desligadosDefault.add(desligados[i]);
}
}
// LOOP DESLIGADOS A
if (desligadosA.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"a\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosA.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosA.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosA.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosA.size() > 1) {
if (i + 1 == desligadosA.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosA.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS B
if (desligadosB.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"b\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosB.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosB.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosB.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosB.size() > 1) {
if (i + 1 == desligadosB.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosB.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS C
if (desligadosC.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"c\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosC.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosC.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosC.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosC.size() > 1) {
if (i + 1 == desligadosC.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosC.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS D
if (desligadosD.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"d\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosD.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosD.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosD.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosD.size() > 1) {
if (i + 1 == desligadosD.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosD.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS E
if (desligadosE.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"e\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosE.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosE.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosE.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosE.size() > 1) {
if (i + 1 == desligadosE.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosE.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS F
if (desligadosF.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"f\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosF.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosF.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosF.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosF.size() > 1) {
if (i + 1 == desligadosF.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosF.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS G
if (desligadosG.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"g\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosG.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosG.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosG.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosG.size() > 1) {
if (i + 1 == desligadosG.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosG.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS H
if (desligadosH.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"h\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosH.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosH.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosH.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosH.size() > 1) {
if (i + 1 == desligadosH.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosH.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS I
if (desligadosI.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência da letra \"i\", do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosI.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosI.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosI.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao;
if (desligadosI.size() > 1) {
if (i + 1 == desligadosI.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosI.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
// LOOP DESLIGADOS SEM ENQUADRAMENTO
if (desligadosDefault.size() >= 1) {
odt.newParagraph("" + inciso + ") Em decorrência do item 4.9.1, da ICA 37-563/XXXX, do COMGAP:");
odt.newParagraph("");
for (int i = 0; i < desligadosDefault.size(); i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligadosDefault.get(i).getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligadosDefault.get(i).getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade + " " + nome + ", da " + siglaOrganizacao + " (" + desligadosDefault.get(i).getObservacao() + ")";
if (desligadosDefault.size() > 1) {
if (i + 1 == desligadosDefault.size()) {
desligado += ".";
} else {
if (i + 2 == desligadosDefault.size()) {
desligado += "; e";
} else {
desligado += ";";
}
}
} else {
desligado += ".";
}
odt.newParagraph("- " + desligado);
}
inciso++;
odt.newParagraph("");
}
/*LOOP DOS DESLIGADOS GERAL SEM DISTINÇÂO POR LETRA
for (int i = 0; i < desligados.length; i++) {
PessoaDTO pessoa = organizationalService.findPessoa(desligados[i].getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(desligados[i].getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
String desligado = "" + posto + " " + especialidade +" " + nome + ", da " + siglaOrganizacao;
if(desligados.length>1){
if(i+1 == desligados.length){
desligado += ".";
}else{
if(i+2 == desligados.length)
desligado += "; e";
else
desligado += ";";
}
}else
desligado +=".";
odt.newParagraph("- " + desligado);
}
*/
numParagrafo++;
// odt.newParagraph("");
}
}
// PARAGRAFO DOS APROVADOS
if (conclusoesComAproveitamento.length >= 1) {
if (!gestora.getSigla().equals("DECEA")) {
odt.newParagraph("Art. " + numParagrafo + "º " + aprovadosParagrafo);
} else {
odt.newParagraph(aprovadosParagrafo);
}
odt.newParagraph("");
// montando a tabela
OdfTable indicacoesTable = OdfTable.newTable(odt, conclusoesComAproveitamento.length + 1, 6);
OdfTableCell contHeader = indicacoesTable.getCellByPosition(0, 0);
contHeader.setStringValue(" ");
contHeader.setHorizontalAlignment("center");
OdfTableCell postoHeader = indicacoesTable.getCellByPosition(1, 0);
postoHeader.setStringValue("PT/GD");
postoHeader.setHorizontalAlignment("center");
OdfTableCell especialidadeHeader = indicacoesTable.getCellByPosition(2, 0);
especialidadeHeader.setStringValue("ESP");
especialidadeHeader.setHorizontalAlignment("center");
OdfTableCell nomeHeader = indicacoesTable.getCellByPosition(3, 0);
nomeHeader.setStringValue("NOME");
nomeHeader.setHorizontalAlignment("center");
if (!gestora.getSigla().equals("DECEA")) {
OdfTableCell saramHeader = indicacoesTable.getCellByPosition(4, 0);
saramHeader.setStringValue("SARAM");
saramHeader.setHorizontalAlignment("center");
} else {
OdfTableCell cpfHeader = indicacoesTable.getCellByPosition(4, 0);
cpfHeader.setStringValue("CPF");
cpfHeader.setHorizontalAlignment("center");
}
OdfTableCell organizacaoHeader = indicacoesTable.getCellByPosition(5, 0);
organizacaoHeader.setStringValue("OM");
organizacaoHeader.setHorizontalAlignment("center");
// LOOP DOS APROVADOS
int cont = 1;
for (int i = 0; i < conclusoesComAproveitamento.length; i++) {
PessoaDTO pessoa = organizationalService.findPessoa(conclusoesComAproveitamento[i].getPessoa().getId());
String posto = pessoa.getPosto();
String especialidade = pessoa.getEspecialidade();
String nome = pessoa.getNome();
String saram = pessoa.getSaram();
String cpf = pessoa.getCpf();
OrganizacaoDTO organizacao = organizationalService.findOrganizacao(conclusoesComAproveitamento[i].getPessoa().getOrganizacao().getId());
String siglaOrganizacao = organizacao.getSigla();
OdfTableCell contCell = indicacoesTable.getCellByPosition(0, i + 1);
contCell.setStringValue(cont + "");
contCell.setHorizontalAlignment("center");
OdfTableCell postoCell = indicacoesTable.getCellByPosition(1, i + 1);
postoCell.setStringValue(posto);
postoCell.setHorizontalAlignment("center");
OdfTableCell especialidadeCell = indicacoesTable.getCellByPosition(2, i + 1);
especialidadeCell.setStringValue(especialidade);
especialidadeCell.setHorizontalAlignment("center");
OdfTableCell nomeCell = indicacoesTable.getCellByPosition(3, i + 1);
nomeCell.setStringValue(nome);
nomeCell.setHorizontalAlignment("center");
if (!gestora.getSigla().equals("DECEA")) {
OdfTableCell saramCell = indicacoesTable.getCellByPosition(4, i + 1);
saramCell.setStringValue(saram);
saramCell.setHorizontalAlignment("center");
} else {
OdfTableCell cpfCell = indicacoesTable.getCellByPosition(4, i + 1);
cpfCell.setStringValue(cpf);
cpfCell.setHorizontalAlignment("center");
}
OdfTableCell organizacaoCell = indicacoesTable.getCellByPosition(5, i + 1);
organizacaoCell.setStringValue(siglaOrganizacao);
organizacaoCell.setHorizontalAlignment("center");
cont++;
}
numParagrafo++;
odt.newParagraph("");
}
// PREENCHIMENTO DO FECHO DO ARQUIVO
odt.newParagraph(paragrafoUnico);
if (!gestora.getSigla().equals("DECEA")) {
odt.newParagraph("");
odt.newParagraph("Confeccionado por:");
odt.newParagraph("");
odt.newParagraph("JANE PEREIRA MENDES 3S SAD");
odt.newParagraph("Auxiliar da 1EM");
odt.newParagraph("");
odt.newParagraph("Revisado por:");
odt.newParagraph("");
odt.newParagraph("NILO JORGE SOARES 1º Ten QOEA SVA");
odt.newParagraph("Adjunto da 1EM");
odt.newParagraph("");
odt.newParagraph("Aprovado por:");
odt.newParagraph("");
odt.newParagraph("LUIZ EDUARDO FERREIRA DA SILVA Ten Cel QOAV");
odt.newParagraph("Adjunto da 1EM");
odt.newParagraph("");
odt.newParagraph("Publique-se:");
odt.newParagraph("");
odt.newParagraph("MARCELO SÁ FERNANDES Cel Av");
odt.newParagraph("Chefe da 1EM");
odt.newParagraph("");
odt.newParagraph("Assina:");
odt.newParagraph("");
odt.newParagraph("Maj Brig Ar ANTONIO RICARDO PINHEIRO VIEIRA");
odt.newParagraph("ChEM do COMGAP");
}
// FINALIZAR ARQUIVO
odt.save(os);
} catch (Exception ex) {
Logger.getLogger(EXC015ODF.class.getName()).log(Level.SEVERE, null, ex);
}
}
Aggregations