* vers�o PPA, quando a emiss�o solicitada � por �rg�o, deve classificar
* por �rg�o e tamb�m por "sigla" do item (em ordem crescente).
*/
boolean ppa = false;
if(lista != null && !lista.isEmpty()){
AcompRelatorioArel arel = (AcompRelatorioArel) lista.get(0);
ppa = arel.getAcompReferenciaItemAri().getAcompReferenciaAref().getTipoAcompanhamentoTa().getDescricaoTa().contains("PPA");
}
if(!ppa){
ordenarArelsPorIettsConfigurados(lista);
}
else {
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
ItemEstruturaIett iett1 = arel1.getAcompReferenciaItemAri().getItemEstruturaIett();
ItemEstruturaIett iett2 = arel2.getAcompReferenciaItemAri().getItemEstruturaIett();
return iett1.getSiglaIett().compareTo(iett2.getSiglaIett());
}
});
}
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
OrgaoOrg org1 = arel1.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
OrgaoOrg org2 = arel2.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
if(org1 == null && org2 == null)
return 0;
if(org1 != null && org2 == null)
return 1;
if(org1 == null && org2 != null)
return -1;
return org1.getSiglaOrg().compareTo(org2.getSiglaOrg());
}
});
}
// Se opcaoModelo == RELATORIO_ORGAO_ESPECIFICO os itens ser�o de 1 �rg�o espec�fico, portanto s� ordeno por situa��o.
else if(RELATORIO_ORGAO_ESPECIFICO.equals(opcaoModelo)){
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
Cor cor1 = arel1.getCor();
Cor cor2 = arel2.getCor();
if(cor1 == null && cor2 == null)
return 0;
if(cor1 != null && cor2 == null)
return 1;
if(cor1 == null && cor2 != null)
return -1;
return cor1.getOrdemCor().compareTo(cor2.getOrdemCor());
}
});
ordenarArelsPorIettsConfigurados(lista);
}
//opcaoModelo == RELATORIO_SITUACAO_ESPECIFICO os itens s�o s� de 1 situa��o, s� ordeno por �rg�o.
else if(RELATORIO_SITUACAO_ESPECIFICO.equals(opcaoModelo)){
ordenarArelsPorIettsConfigurados(lista);
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
OrgaoOrg org1 = arel1.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
OrgaoOrg org2 = arel2.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
if(org1 == null && org2 == null)
return 0;
if(org1 != null && org2 == null)
return 1;
if(org1 == null && org2 != null)
return -1;
return org1.getSiglaOrg().compareTo(org2.getSiglaOrg());
}
});
}
// Se opcaoModelo == RELATORIO_SITUACAO, primeiro ordeno por �rg�o e depois por situa��o para ficar ordenado por "Situa��o e Org�o".
else if(RELATORIO_SITUACAO.equals(opcaoModelo)){
//Situa��o e �rg�o
ordenarArelsPorIettsConfigurados(lista);
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
OrgaoOrg org1 = arel1.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
OrgaoOrg org2 = arel2.getAcompReferenciaItemAri().getItemEstruturaIett().getOrgaoOrgByCodOrgaoResponsavel1Iett();
if(org1 == null && org2 == null)
return 0;
if(org1 != null && org2 == null)
return 1;
if(org1 == null && org2 != null)
return -1;
return org1.getSiglaOrg().compareTo(org2.getSiglaOrg());
}
});
Collections.sort(lista, new Comparator(){
public int compare(Object arg1, Object arg2) {
AcompRelatorioArel arel1 = (AcompRelatorioArel) arg1;
AcompRelatorioArel arel2 = (AcompRelatorioArel) arg2;
Cor cor1 = arel1.getCor();
Cor cor2 = arel2.getCor();
if(cor1 == null && cor2 == null)
return 0;
if(cor1 != null && cor2 == null)
return 1;