package action;
import auxiliar.DatePtVizForaj;
import bo.Amplasament;
import bo.Beneficiar;
import bo.Foraj;
import bo.Geolog;
import bo.Proba;
import bo.Proiect;
import bo.Strat;
import dao.AmplasamentDao;
import dao.BeneficiarDao;
import dao.ForajDao;
import dao.GeologBeneficiarDao;
import dao.GeologDao;
import dao.ProbaDao;
import dao.ProiectDao;
import dao.StratDao;
import daoI.IAmplasamentDao;
import daoI.IBeneficiarDao;
import daoI.IForajDao;
import daoI.IGeologBeneficiarDao;
import daoI.IGeologDao;
import daoI.IProbaDao;
import daoI.IProiectDao;
import daoI.IStratDao;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;
public class VizualizareForajActionBean extends BaseActionBean {
private int idBeneficiarCurent;
private int idAmplasamentCurent;
private int idForajCurent;
private String beneficiarFilter;
private String amplasamentFilter;
private String forajFilter;
private String cota;
private int selectedCombo;
private List<DatePtVizForaj> date;
@DefaultHandler
public Resolution view() {
if (getSelectedCombo() == 1) {
int beneficiarID = Integer.parseInt(beneficiarFilter);
getContext().getRequest().getSession(true).setAttribute("idBeneficiarCurent", beneficiarID);
getContext().getRequest().getSession(true).setAttribute("idAmplasamentCurent", 0);
getContext().getRequest().getSession(true).setAttribute("idForajCurent", 0);
} else if (getSelectedCombo() == 2) {
int amplasamentID = Integer.parseInt(amplasamentFilter);
getContext().getRequest().getSession(true).setAttribute("idAmplasamentCurent", amplasamentID);
getContext().getRequest().getSession(true).setAttribute("idForajCurent", 0);
} else {
Object b = getContext().getRequest().getSession(true).getAttribute("idBeneficiarCurent");
if (b != null) {
int bI = Integer.parseInt(b.toString());
if (bI > 0) {
setIdBeneficiarCurent(bI);
}
Object a = getContext().getRequest().getSession(true).getAttribute("idAmplasamentCurent");
if (a != null) {
int aI = Integer.parseInt(a.toString());
if (aI > 0) {
setIdAmplasamentCurent(aI);
}
Object f = getContext().getRequest().getSession(true).getAttribute("idForajCurent");
if (f != null) {
int fI = Integer.parseInt(f.toString());
if (fI > 0) {
setIdForajCurent(fI);
}
}
}
}
}
return new ForwardResolution("/WEB-INF/jsp/vizualizareForaj.jsp");
}
public Resolution proiectePrivate() {
getContext().getRequest().getSession(true).setAttribute("vizualizareForaj", "proiectePrivate");
return new ForwardResolution("/WEB-INF/jsp/vizualizareForaj.jsp");
}
public Resolution proiectePublice() {
getContext().getRequest().getSession(true).setAttribute("vizualizareForaj", "proiectePublice");
return new ForwardResolution("/WEB-INF/jsp/vizualizareForaj.jsp");
}
public Resolution afiseaza() {
date = new ArrayList();
IStratDao stratDao = new StratDao();
IProbaDao probaDao = new ProbaDao();
IForajDao forajDao = new ForajDao();
int i = 0, j = 0;
float adancimeProba = 0, adancimeStrat = 0, adancimeStratAnterior = 0;
Proba probaCurenta = null;
Strat stratCurent = null;
try {
setIdForajCurent(Integer.parseInt(forajFilter));
} catch (Exception e) {
}
if (getIdForajCurent() > 0) {
cota = forajDao.getForajByID(getIdForajCurent()).getCota().toString();
}
List<Strat> straturi = stratDao.getAll(getIdForajCurent());
int nrStraturi = straturi.size();
List<Proba> probe = probaDao.getAll(getIdForajCurent());
int nrProbe = probe.size();
i = 0;
DatePtVizForaj d = null;
while (i < nrStraturi) {
d = new DatePtVizForaj();
stratCurent = straturi.get(i);
if (j < nrProbe) {
probaCurenta = probe.get(j);
adancimeProba = probaCurenta.getAdancime();
} else {
adancimeProba = 1000;
}
adancimeStrat = stratCurent.getAdancime();
if (adancimeProba < adancimeStrat) {
probaDao.addNrProba(probaCurenta.getIdProba(), j);
d.setNrProba(Integer.toString(j));
d.setAdancime(probaCurenta.getAdancime().toString());
if (probaCurenta.getArgila() != null) {
d.setArgila(probaCurenta.getArgila().toString());
}
if (probaCurenta.getPraf() != null) {
d.setPraf(probaCurenta.getPraf().toString());
}
if (probaCurenta.getNisip() != null) {
d.setNisip(probaCurenta.getNisip().toString());
}
if (probaCurenta.getPietris() != null) {
d.setPietris(probaCurenta.getPietris().toString());
}
if (probaCurenta.getW() != null) {
d.setW(probaCurenta.getW().toString());
}
if (probaCurenta.getWl() != null) {
d.setwL(probaCurenta.getWl().toString());
}
if (probaCurenta.getWp() != null) {
d.setwP(probaCurenta.getWp().toString());
}
if (probaCurenta.getIp() != null) {
d.setIp(probaCurenta.getIp().toString());
}
if (probaCurenta.getIc() != null) {
d.setIc(probaCurenta.getIc().toString());
}
if (probaCurenta.getY() != null) {
d.setY(probaCurenta.getY().toString());
}
if (probaCurenta.getYd() != null) {
d.setYd(probaCurenta.getYd().toString());
}
if (probaCurenta.getN() != null) {
d.setN(probaCurenta.getN().toString());
}
if (probaCurenta.getEmic() != null) {
d.setEmic(probaCurenta.getEmic().toString());
}
if (probaCurenta.getM0() != null) {
d.setM0(probaCurenta.getM0().toString());
}
if (probaCurenta.getUl() != null) {
d.setUl(probaCurenta.getUl().toString());
}
if (probaCurenta.getYdmax() != null) {
d.setYdmax(probaCurenta.getYdmax().toString());
}
if (probaCurenta.getE() != null) {
d.setE(probaCurenta.getE().toString());
}
if (probaCurenta.getE100() != null) {
d.setE100(probaCurenta.getE100().toString());
}
if (probaCurenta.getE200() != null) {
d.setE200(probaCurenta.getE200().toString());
}
if (probaCurenta.getE300() != null) {
d.setE300(probaCurenta.getE300().toString());
}
if (probaCurenta.getIm3() != null) {
d.setIm3(probaCurenta.getIm3().toString());
}
if (probaCurenta.getTipulIncercarii() != null) {
d.setTempIncercarii(probaCurenta.getTipulIncercarii().toString());
}
if (probaCurenta.getViteza() != null) {
d.setViteza(probaCurenta.getViteza().toString());
}
if (probaCurenta.getO() != null) {
d.setO(probaCurenta.getO().toString());
}
if (probaCurenta.getC() != null) {
d.setC(probaCurenta.getC().toString());
}
j++;
} else {
d.setAdancime(Float.toString(adancimeStrat));
//grosime
d.setGrosime(Float.toString(adancimeStrat - adancimeStratAnterior));
stratDao.addNrStrat(stratCurent.getIdStrat(), i);
d.setNrStrat(Integer.toString(i));
adancimeStratAnterior = adancimeStrat;
d.setNivelHidrostatic(stratCurent.getNivelHidrostatic().toString());
d.setDescriereStrat(stratCurent.getDescriere());
i++;
}
date.add(d);
}
return new ForwardResolution("/WEB-INF/jsp/vizualizareForaj.jsp");
}
public boolean getIsBeneficiarSelectat() {
if (getIdBeneficiarCurent() > 0) {
return true;
} else {
Object b = getContext().getRequest().getSession(true).getAttribute("idBeneficiarCurent");
if (b != null) {
int idB = Integer.parseInt(b.toString());
if (idB > 0) {
setIdBeneficiarCurent(idB);
return true;
}
}
}
return false;
}
public String getBeneficiarSelectat() {
if (getIdBeneficiarCurent() > 0) {
BeneficiarDao beneficiarDao = new BeneficiarDao();
String b = beneficiarDao.getPersonByID(getIdBeneficiarCurent());
return b;
}
return "";
}
public boolean getIsAmplasamentSelectat() {
if (getIdAmplasamentCurent() > 0) {
return true;
} else {
Object a = getContext().getRequest().getSession(true).getAttribute("idAmplasamentCurent");
if (a != null) {
int idA = Integer.parseInt(a.toString());
if (idA > 0) {
setIdAmplasamentCurent(idA);
return true;
}
}
}
return false;
}
public String getAmplasamentSelectat() {
if (getIdAmplasamentCurent() > 0) {
AmplasamentDao amplasamentDao = new AmplasamentDao();
Amplasament a = amplasamentDao.getAmplasamentByID(getIdAmplasamentCurent());
return a.getLocatie();
}
return "";
}
public boolean getIsForajSelectat() {
if (getIdForajCurent() > 0) {
return true;
} else {
Object f = getContext().getRequest().getSession(true).getAttribute("idForajCurent");
if (f != null) {
int idF = Integer.parseInt(f.toString());
if (idF > 0) {
setIdForajCurent(idF);
return true;
}
}
}
return false;
}
public String getForajSelectat() {
if (getIdForajCurent() > 0) {
ForajDao forajDao = new ForajDao();
Foraj f = forajDao.getForajByID(getIdForajCurent());
if (f != null) {
return f.getNumeForaj();
}
}
return "";
}
public List<Beneficiar> getBeneficiari() {
List<Beneficiar> beneficiari = new ArrayList<Beneficiar>();
IBeneficiarDao beneficiarDao = new BeneficiarDao();
String vizilibilitate = getContext().getRequest().getSession().getAttribute("vizualizareForaj").toString();
if (vizilibilitate.equals("proiectePrivate")) {
int idGeolog = getIdGeologLogat();
IGeologBeneficiarDao geologBeneficiarDao = new GeologBeneficiarDao();
List<Integer> idBeneficiari = geologBeneficiarDao.getGeologBeneficiariByGeologId(idGeolog);
Iterator it = idBeneficiari.iterator();
while (it.hasNext()) {
Integer idBeneficiar = (Integer) it.next();
Beneficiar beneficiar = beneficiarDao.getBeneficiarByID(idBeneficiar);
beneficiari.add(beneficiar);
}
} else {
beneficiari = getBeneficiariPublici();
getContext().getRequest().getSession(true).setAttribute("geologiPublici", beneficiari);
}
if (getIdBeneficiarCurent() == 0) {
setIdBeneficiarCurent(
beneficiari.get(0).getIdBeneficiar());
getContext().getRequest().getSession(true).setAttribute("idBeneficiarCurent", getIdBeneficiarCurent());
}
return beneficiari;
}
public List<Amplasament> getAmplasamente() {
int idB = getIdBeneficiarCurent();
List<Amplasament> amplasamente = null;
IAmplasamentDao amplasamentDao = new AmplasamentDao();
IProiectDao proiectDao = new ProiectDao();
String vizilibilitate = getContext().getRequest().getSession().getAttribute("vizualizareForaj").toString();
if (vizilibilitate.equals("proiectePrivate")) {
amplasamente = amplasamentDao.getAmplasamenteByBeneficiarIdAndGeologId(idB, getIdGeologLogat());
List<Proiect> proiecte = proiectDao.getProiecteByGeologIdAndBeneficiarId(getIdGeologLogat(), idB);
Iterator it = proiecte.iterator();
int idProiect;
while (it.hasNext()) {
idProiect = ((Proiect) it.next()).getIdProiect();
List<Amplasament> amplasamenteDinProiecte = amplasamentDao.getAmplasamenteByProiectId(idProiect);
for (int i = 0; i < amplasamenteDinProiecte.size(); i++) {
Amplasament amplasament = amplasamenteDinProiecte.get(i);
if (amplasament.getIdGeolog() != getIdGeologLogat()) {
amplasamente.add(amplasament);
}
}
}
} else { //daca sunt proiecte publice
IGeologDao geologDao = new GeologDao();
List<Geolog> geologi = geologDao.geologiPublici();
Iterator it = geologi.iterator();
while (it.hasNext()) {
Geolog geolog = (Geolog) it.next();
amplasamente = amplasamentDao.getAmplasamenteByBeneficiarIdAndGeologId(idB, geolog.getIdGeolog());
}
}
// List<Amplasament> amplasamente;
// IAmplasamentDao amplasamentDao = new AmplasamentDao();
// amplasamente = amplasamentDao.getAmplasamenteByBeneficiarId(getIdBeneficiarCurent());
if (getIdAmplasamentCurent() == 0 && amplasamente != null && amplasamente.size() > 0) {
setIdAmplasamentCurent(
amplasamente.get(0).getIdAmplasament());
getContext().getRequest().getSession(true).setAttribute("idAmplasamentCurent", getIdAmplasamentCurent());
}
return amplasamente;
}
public List<Foraj> getForaje() {
List<Foraj> foraje;
IForajDao forajDao = new ForajDao();
foraje = forajDao.getAll(getIdAmplasamentCurent());
if (getIdForajCurent() == 0) {
if (foraje != null && foraje.size() > 0) {
setIdForajCurent(foraje.get(0).getIdForaj());
}
getContext().getRequest().getSession(true).setAttribute("idForajCurent", getIdForajCurent());
}
return foraje;
}
private List<Beneficiar> getBeneficiariPublici() {
List<Beneficiar> beneficiari = new ArrayList<Beneficiar>();
Geolog geolog;
Beneficiar beneficiar;
List<Integer> idbeneficiari = new ArrayList<Integer>();
IBeneficiarDao beneficiarDao = new BeneficiarDao();
IGeologBeneficiarDao geologBeneficiarDao = new GeologBeneficiarDao();
IGeologDao geologDao = new GeologDao();
List<Geolog> geologi = geologDao.geologiPublici();
if (geologi != null) {
Iterator it = geologi.iterator();
while (it.hasNext()) {
geolog = (Geolog) it.next();
idbeneficiari = geologBeneficiarDao.getGeologBeneficiariByGeologId(geolog.getIdGeolog());
if (idbeneficiari != null) {
for (int i = 0; i < idbeneficiari.size(); i++) {
beneficiar = beneficiarDao.getBeneficiarByID(idbeneficiari.get(i));
beneficiari.add(beneficiar);
}
}
}
}
return beneficiari;
}
/**
* @return the idBeneficiarCurent
*/
public int getIdBeneficiarCurent() {
return idBeneficiarCurent;
}
/**
* @param idBeneficiarCurent the idBeneficiarCurent to set
*/
public void setIdBeneficiarCurent(int idBeneficiarCurent) {
this.idBeneficiarCurent = idBeneficiarCurent;
}
/**
* @return the idAmplasamentCurent
*/
public int getIdAmplasamentCurent() {
return idAmplasamentCurent;
}
/**
* @param idAmplasamentCurent the idAmplasamentCurent to set
*/
public void setIdAmplasamentCurent(int idAmplasamentCurent) {
this.idAmplasamentCurent = idAmplasamentCurent;
}
/**
* @return the idForajCurent
*/
public int getIdForajCurent() {
return idForajCurent;
}
/**
* @param idForajCurent the idForajCurent to set
*/
public void setIdForajCurent(int idForajCurent) {
this.idForajCurent = idForajCurent;
}
/**
* @return the beneficiarFilter
*/
public String getBeneficiarFilter() {
return beneficiarFilter;
}
/**
* @param beneficiarFilter the beneficiarFilter to set
*/
public void setBeneficiarFilter(String beneficiarFilter) {
this.beneficiarFilter = beneficiarFilter;
}
/**
* @return the amplasamentFilter
*/
public String getAmplasamentFilter() {
return amplasamentFilter;
}
/**
* @param amplasamentFilter the amplasamentFilter to set
*/
public void setAmplasamentFilter(String amplasamentFilter) {
this.amplasamentFilter = amplasamentFilter;
}
/**
* @return the forajFilter
*/
public String getForajFilter() {
return forajFilter;
}
/**
* @param forajFilter the forajFilter to set
*/
public void setForajFilter(String forajFilter) {
this.forajFilter = forajFilter;
}
/**
* @return the cota
*/
public String getCota() {
return cota;
}
/**
* @param cota the cota to set
*/
public void setCota(String cota) {
this.cota = cota;
}
/**
* @return the selectedCombo
*/
public int getSelectedCombo() {
return selectedCombo;
}
/**
* @param selectedCombo the selectedCombo to set
*/
public void setSelectedCombo(int selectedCombo) {
this.selectedCombo = selectedCombo;
}
/**
* @return the date
*/
public List getDate() {
return date;
}
/**
* @param date the date to set
*/
public void setDate(List date) {
this.date = date;
}
}