1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
public class SPTrader extends UnicastRemoteObject implements SPTraderInterface{
.....
public static ArrayList<Titre> listeTitreParSicav(int idSicav) throws RemoteException, SicavNotExistException {
Iterator<TitreDTO> iter = Factory.getInstance().getTitreDAO().rechercherBySicav(idSicav);
ArrayList<Titre> liste = new ArrayList<Titre>();
while(iter.hasNext()) {
TitreDTO titreDTO = iter.next();
liste.add(new Titre(titreDTO));
}
return liste;
}
public static ArrayList listeTitre() throws RemoteException {
Iterator<TitreDTO> iter = Factory.getInstance().getTitreDAO().liste();
ArrayList<Titre> liste = new ArrayList<Titre>();
while(iter.hasNext()) {
TitreDTO titreDTO = iter.next();
liste.add(new Titre(titreDTO));
}
return liste;
}
private static ArrayList<Titre> recherche(int isin,int idSicav) throws TitreNotExistException, RemoteException,SicavNotExistException{
ArrayList<Titre> ar = new ArrayList<Titre>();
Iterator it = Factory.getInstance().getTitreDAO().rechercherByTitle(isin);
while (it.hasNext()) {
Titre t= new Titre((TitreDTO)it.next());
ar.add(t);
}
ArrayList<Titre> ar2;
ar2 = SPTrader.listeTitreParSicav(idSicav);
ArrayList<Titre> ar3 = new ArrayList<Titre>();
for (int i=0;i<ar.size();i++)
{
for (int j=0;j<ar2.size();j++)
{
if (ar.get(i).getIdTitre()==ar2.get(j).getIdTitre())
{ar3.add(ar.get(i));}
}
}
return ar3;
}
private static int EnPret(int id, int idSicav) throws TitreNotExistException, PretNotExistException{
Iterator<PretDTO> it = Factory.getInstance().getPretDAO().searchByIsinCodeAndSicav(id, idSicav);
int x=0;
while (it.hasNext()) {
Pret p = new Pret(it.next());
x+= p.getQuantity();
}
return x;
}
public Iterator<SPTrader> createSPTrader(int idSicav) throws RemoteException, TitreNotExistException, SicavNotExistException, PretNotExistException {
ArrayList<SPTrader> arsptrader = new ArrayList<SPTrader>();
ArrayList<Titre> artitre;
String nom="";
int Qt = 0;
int qtEnPret=0;
int qtDispo=0;
int QtJ1=0;
int QtJ2=0;
int QtJ3=0;
int isin;
boolean ok=true;
for (int i = 0;i<SPTrader.listeTitreParSicav(idSicav).size();i++) {
Titre t = new Titre((Titre)SPTrader.listeTitreParSicav(idSicav).get(i));
artitre = SPTrader.recherche(t.getIsin(),idSicav);
if (arsptrader.size()>0) {
for (int x = 0;x<arsptrader.size()&& ok;x++) {
if (t.getIsin()!=arsptrader.get(x).getIsin()) {
nom =t.getNom();
isin = t.getIsin();
int z=0;
Qt = 0;
qtEnPret=0;
qtDispo=0;
QtJ1=0;
QtJ2=0;
QtJ3=0;
while (z<artitre.size()) {
Titre t1 = new Titre(artitre.get(z));
Qt += t1.getQt();
qtEnPret+=EnPret(t1.getIdTitre(),idSicav);
qtDispo += t1.getQt()-qtEnPret;
QtJ1 = qtDispo;
QtJ2=qtDispo;
QtJ3=qtDispo;
z++;
}
SPTrader sptrader = new SPTrader(nom,Qt,qtEnPret,qtDispo,QtJ1,QtJ2,QtJ3,isin);
arsptrader.add(sptrader);
}
else ok=false;
}
}
else{
nom =t.getNom();
isin = t.getIsin();
int z=0;
Qt = 0;
qtEnPret=0;
qtDispo=0;
QtJ1=0;
QtJ2=0;
QtJ3=0;
while (z<artitre.size()) {
Titre t1 = new Titre(artitre.get(z));
Qt += t1.getQt();
qtEnPret+=EnPret(t1.getIdTitre(),idSicav);
qtDispo = Qt-qtEnPret;
QtJ1 = qtDispo;
QtJ2=qtDispo;
QtJ3=qtDispo;
z++;
}
SPTrader sptrader = new SPTrader(nom,Qt,qtEnPret,qtDispo,QtJ1,QtJ2,QtJ3,isin);
arsptrader.add(sptrader);
}
}
return arsptrader.iterator();
}
} |
Partager