This commit is contained in:
Orange_Dugongo 2016-11-03 16:55:03 +01:00
parent 5afd838b08
commit b8e267d2b4
2 changed files with 19 additions and 43 deletions

View File

@ -100,19 +100,15 @@ public class Azienda{
public Azienda filtroLivello(String livello){ public Azienda filtroLivello(String livello){
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getLivello().equals(livello)){ if(i.getLivello().equals(livello))
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }
@ -122,19 +118,15 @@ public class Azienda{
public Azienda filtroNome(String nome){ public Azienda filtroNome(String nome){
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getNome().equals(nome)){ if(i.getNome().equals(nome))
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }
@ -144,19 +136,15 @@ public class Azienda{
public Azienda filtroPagaMaggiore(double paga){ public Azienda filtroPagaMaggiore(double paga){
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getPaga()>=paga){ if(i.getPaga()>=paga)
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }
@ -166,19 +154,15 @@ public class Azienda{
public Azienda filtroPagaMinore(double paga){ public Azienda filtroPagaMinore(double paga){
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getPaga()<paga){ if(i.getPaga()<paga)
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }
@ -188,21 +172,17 @@ public class Azienda{
public Azienda filtroNatoPrima(String dataString) throws Exception{ public Azienda filtroNatoPrima(String dataString) throws Exception{
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date data = sdf.parse(dataString); Date data = sdf.parse(dataString);
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getData().before(data)){ if(i.getData().before(data))
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }
@ -212,22 +192,18 @@ public class Azienda{
public Azienda filtroNatoDopo(String dataString) throws Exception{ public Azienda filtroNatoDopo(String dataString) throws Exception{
ArrayList<Sede> sediFilter = new ArrayList<Sede>(); ArrayList<Sede> sediFilter = new ArrayList<Sede>();
ArrayList<Impiegato> impiegatiFilter; ArrayList<Impiegato> impiegatiFilter;
boolean almenoUno;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date data = sdf.parse(dataString); Date data = sdf.parse(dataString);
for(Sede s: sedi){ for(Sede s: sedi){
almenoUno=false;
impiegatiFilter=new ArrayList<Impiegato>(); impiegatiFilter=new ArrayList<Impiegato>();
for(Impiegato i: s.getImpiegati()){ for(Impiegato i: s.getImpiegati()){
if(i.getData().after(data)){ if(i.getData().after(data))
impiegatiFilter.add(i); impiegatiFilter.add(i);
almenoUno=true;
} }
} if(impiegatiFilter.size()>0)
if(almenoUno)
sediFilter.add(s.copySede(impiegatiFilter)); sediFilter.add(s.copySede(impiegatiFilter));
} }

View File

@ -11,7 +11,7 @@ public class Test{
ps.println("Stampa degli impiegati con paga compresa tra 50000 e 80000"); ps.println("Stampa degli impiegati con paga compresa tra 50000 e 80000");
azienda.filtroPagaMinore(80000).filtroPagaMaggiore(50000).print(ps); azienda.filtroPagaMinore(80000).filtroPagaMaggiore(50000).print(ps);
ps.println("Stampa degli ilmpiegati nella sede PP01 nati dopo il 1990"); ps.println("Stampa degli impiegati nella sede PP01 nati dopo il 1990");
azienda.filtroNatoDopo("31/12/1989").filtroSedeId("PP01").print(ps); azienda.filtroNatoDopo("31/12/1989").filtroSedeId("PP01").print(ps);
ps.println("Stampa degli impiegati di livello over9000"); ps.println("Stampa degli impiegati di livello over9000");