Package action

Source Code of action.ProiectActionBean

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package action;

import bo.Beneficiar;
import bo.Geolog;
import bo.GeologBeneficiar;
import dao.GeologDao;
import dao.GeologBeneficiarDao;
import daoI.IGeologBeneficiarDao;
import daoI.IGeologDao;
import bo.Amplasament;
import bo.Judet;
import bo.Oras;
import dao.AmplasamentDao;
import dao.JudetDao;
import dao.OrasDao;
import daoI.IAmplasamentDao;
import daoI.IJudetDao;
import daoI.IOrasDao;
import bo.Proiect;
import dao.ProiectDao;
import daoI.IProiectDao;
import auxiliar.ProiecteGeologSef;
import java.util.List;
import auxiliar.RepartizareProiect;
import dao.BeneficiarDao;
import daoI.IBeneficiarDao;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;

public class ProiectActionBean extends BaseActionBean {

    private String numeProiect;
    private String geologFilter;
    private String judetFilter;
    private String orasFilter;
    private String locatie;
    private Boolean amplasamentAdaugat = false;
    private String butonRadio;
    private Boolean radioNeselectat = false;

    @DefaultHandler
    public Resolution view() {
        return new ForwardResolution("/WEB-INF/jsp/repartizareAmplasamente.jsp");
    }

    public Resolution proiecteGeologSef() {
        getContext().getRequest().getSession(true).setAttribute("proiecteGeologSef", getProiecteGeologSef());
        return new ForwardResolution("/WEB-INF/jsp/proiecteGeologSef.jsp");
    }

    public Resolution submit() {
        IProiectDao proiectDao = new ProiectDao();
        int idBeneficiar = ((Beneficiar) getContext().getRequest().getSession().getAttribute("beneficiarProiect")).getIdBeneficiar();
        int idGeolog = getIdGeologLogat();
        Proiect proiect = new Proiect(getNumeProiect(), idGeolog, idBeneficiar);
        proiectDao.saveOrUpdate(proiect);
        Proiect p = proiectDao.getUltimulProiectAdaugat(idGeolog);
        getContext().getRequest().getSession(true).setAttribute("proiectInLucru", proiectDao.getUltimulProiectAdaugat(idGeolog));
        return new ForwardResolution("/WEB-INF/jsp/repartizareAmplasamente.jsp");
    }

    public Resolution adauga() {
        //adaugam beneficiarul si la subgeologul corespunzator
        IGeologBeneficiarDao geologBeneficiarDao = new GeologBeneficiarDao();
        Beneficiar beneficiar = (Beneficiar) getContext().getRequest().getSession().getAttribute("beneficiarProiect");
        int idBeneficiar = beneficiar.getIdBeneficiar();
        int idGeolog = Integer.parseInt(getGeologFilter());
        geologBeneficiarDao.saveOrUpdate(new GeologBeneficiar(idGeolog, idBeneficiar));

        //adaugam amplasamentul
        int idProiect = ((Proiect) getContext().getRequest().getSession().getAttribute("proiectInLucru")).getIdProiect();
        IOrasDao orasDao = new OrasDao();
        Oras oras = orasDao.getOrasByID(Integer.parseInt(getOrasFilter()));
        Amplasament amplasament = new Amplasament();
        amplasament.setBeneficiar(beneficiar);
        amplasament.setOras(oras);
        amplasament.setLocatie(getLocatie());
        amplasament.setIdGeolog(idGeolog);
        amplasament.setIdProiect(idProiect);
        setAmplasamentAdaugat(true);
        IAmplasamentDao amplasamentDao = new AmplasamentDao();
        amplasamentDao.saveOrUpdate(amplasament);

        //restul pentru afisarea in tabel
        //numele geologului caruia i s-a repartizat amplasamentul
        IGeologDao geologDao = new GeologDao();
        Geolog geolog = geologDao.getGeologByID(idGeolog);
        RepartizareProiect repartizareProiect = (RepartizareProiect) getContext().getRequest().getSession().getAttribute("repartizareAmplasamente");
        if (repartizareProiect == null) {
            RepartizareProiect repartizareP = new RepartizareProiect();
            repartizareP.setIdAmplasament(Arrays.asList(amplasamentDao.getLastAmplasament().getIdAmplasament()));
            repartizareP.setGeolog(Arrays.asList(geolog));
            repartizareP.setOras(Arrays.asList(oras.getNumeOras()));
            repartizareP.setLocatie(Arrays.asList(getLocatie()));
            getContext().getRequest().getSession(true).setAttribute("repartizareAmplasamente", repartizareP);
        } else {
            List<Integer> auxA = new ArrayList<Integer>();
            List<Geolog> auxN = new ArrayList<Geolog>();
            List<String> auxO = new ArrayList<String>();
            List<String> auxL = new ArrayList<String>();
            auxA.addAll(repartizareProiect.getIdAmplasament());
            auxA.add(amplasamentDao.getLastAmplasament().getIdAmplasament());
            repartizareProiect.setIdAmplasament(auxA);

            auxN.addAll(repartizareProiect.getGeolog());
            auxN.add(geolog);
            repartizareProiect.setGeolog(auxN);

            auxO.addAll(repartizareProiect.getOras());
            auxO.add(oras.getNumeOras());
            repartizareProiect.setOras(auxO);

            auxL.addAll(repartizareProiect.getLocatie());
            auxL.add(getLocatie());
            repartizareProiect.setLocatie(auxL);

            getContext().getRequest().getSession(true).setAttribute("repartizareAmplasamente", repartizareProiect);
        }
        setAmplasamentAdaugat(true);
        return new ForwardResolution("/WEB-INF/jsp/repartizareAmplasamente.jsp");
    }

    public Resolution sterge() {
        if (getButonRadio() == null) {
            setRadioNeselectat(true);
            return new ForwardResolution("/WEB-INF/jsp/repartizareAmplasamente.jsp");
        } else {
           
               int idAmplasament = Integer.parseInt(getButonRadio());
            int idBeneficiar = ((Beneficiar) getContext().getRequest().getSession().getAttribute("beneficiarProiect")).getIdBeneficiar();
            IAmplasamentDao amplasamentDao = new AmplasamentDao();
            Amplasament amplasament=amplasamentDao.getAmplasamentByID(idAmplasament);
            amplasamentDao.delete(idAmplasament);
            IGeologBeneficiarDao geologBeneficiarDao = new GeologBeneficiarDao();
            int idGeolog = amplasament.getIdGeolog();
            geologBeneficiarDao.delete(idGeolog, idBeneficiar);

            IGeologDao geologDao = new GeologDao();
            Geolog geolog = geologDao.getGeologByID(idGeolog);

            RepartizareProiect repartizareProiect = (RepartizareProiect) getContext().getRequest().getSession().getAttribute("repartizareAmplasamente");
            List<Integer> auxA = new ArrayList<Integer>();
            List<Geolog> auxN = new ArrayList<Geolog>();
            List<String> auxO = new ArrayList<String>();
            List<String> auxL = new ArrayList<String>();

             auxA.addAll(repartizareProiect.getIdAmplasament());
            auxN.addAll(repartizareProiect.getGeolog());
             auxO.addAll(repartizareProiect.getOras());
             auxL.addAll(repartizareProiect.getLocatie());

            int aux = 1, pozitie = -1;
            Iterator it = auxN.iterator();
            while (it.hasNext() && aux == 1) {
                pozitie++;
                Geolog g = (Geolog) it.next();
                if (g.getIdGeolog() == amplasament.getIdGeolog() && (auxO.get(pozitie).equals(amplasament.getOras().getNumeOras()) )&& (auxL.get(pozitie).equals(amplasament.getLocatie()) )) {
                    aux = 0;
                }
            }

            auxA.remove(pozitie);
            repartizareProiect.setIdAmplasament(auxA);
           
            auxN.remove(pozitie);
            repartizareProiect.setGeolog(auxN);

          
            auxO.remove(pozitie);
            repartizareProiect.setOras(auxO);

           
            auxL.remove(pozitie);
            repartizareProiect.setLocatie(auxL);

            getContext().getRequest().getSession(true).setAttribute("repartizareAmplasamente", repartizareProiect);

        }
        return new ForwardResolution("/WEB-INF/jsp/repartizareAmplasamente.jsp");
    }
public Resolution stergeProiect(){
     int idProiect = ((Proiect) getContext().getRequest().getSession().getAttribute("proiectInLucru")).getIdProiect();
     IProiectDao proiectDao=new ProiectDao();
     IAmplasamentDao amplasamentDao=new AmplasamentDao();
     IGeologBeneficiarDao geologBeneficiarDao=new GeologBeneficiarDao();
     int idGeologSef=proiectDao.getProiectByID(idProiect).getIdGeolog();
     int idBeneficiar=proiectDao.getProiectByID(idProiect).getIdBeneficiar();
     List<Amplasament> amplasamente=amplasamentDao.getAmplasamenteByProiectId(idProiect);
     Iterator it=amplasamente.iterator();
     while(it.hasNext()){
         Amplasament amplasament=(Amplasament)it.next();
         geologBeneficiarDao.delete(amplasament.getIdGeolog(), idBeneficiar);
         amplasamentDao.delete(amplasament.getIdAmplasament());
     }
     geologBeneficiarDao.delete(idGeologSef, idBeneficiar);
     proiectDao.delete(idProiect);
     return new ForwardResolution("/WEB-INF/jsp/geologLogat.jsp");
}
    public List<Geolog> getGeologi() {
        IGeologDao geologDao = new GeologDao();
        List<Geolog> geologi = geologDao.getAll();
        return geologi;
    }

    public List<Judet> getJudete() {
        IJudetDao judetDao = new JudetDao();
        List<Judet> judete = judetDao.getAll();
        return judete;
    }

    public List<Oras> getOrase() {
        if (getJudetFilter() != null) {
            IOrasDao orasDao = new OrasDao();
            List<Oras> orase = orasDao.getOraseByJudetId(Integer.parseInt(getJudetFilter()));
            return orase;
        } else {
            IOrasDao orasDao = new OrasDao();
            List<Oras> orase = orasDao.getOraseByJudetId(getJudete().get(0).getIdJudet());
            return orase;
        }
    }

    public Boolean getIsJudetSelectat() {

        if (getJudetFilter() != null) {
            return true;
        } else {
            return false;
        }
    }

    public String getNumeProiect() {
        return numeProiect;
    }

    public void setNumeProiect(String numeProiect) {
        this.numeProiect = numeProiect;
    }

    public Boolean getAmplasamentAdaugat() {
        return amplasamentAdaugat;
    }

    public void setAmplasamentAdaugat(Boolean amplasamentAdaugat) {
        this.amplasamentAdaugat = amplasamentAdaugat;
    }

    public String getGeologFilter() {
        return geologFilter;
    }

    public void setGeologFilter(String geologFilter) {
        this.geologFilter = geologFilter;
    }

    public String getJudetFilter() {
        return judetFilter;
    }

    public void setJudetFilter(String judetFilter) {
        this.judetFilter = judetFilter;
    }

    public String getLocatie() {
        return locatie;
    }

    public void setLocatie(String locatie) {
        this.locatie = locatie;
    }

    public String getOrasFilter() {
        return orasFilter;
    }

    public void setOrasFilter(String orasFilter) {
        this.orasFilter = orasFilter;
    }

    public String getButonRadio() {
        return butonRadio;
    }

    public void setButonRadio(String butonRadio) {
        this.butonRadio = butonRadio;
    }

    public Boolean getRadioNeselectat() {
        return radioNeselectat;
    }

    public void setRadioNeselectat(Boolean radioNeselectat) {
        this.radioNeselectat = radioNeselectat;
    }

    public List<ProiecteGeologSef> getProiecteGeologSef() {
        IBeneficiarDao beneficiarDao = new BeneficiarDao();
        IProiectDao proiectDao = new ProiectDao();
        IAmplasamentDao amplasamentDao = new AmplasamentDao();
        IGeologDao geologDao = new GeologDao();
        Proiect p;
        ProiecteGeologSef proiect;
        RepartizareProiect repartizareProiect;
        List<Amplasament> amplasamente;
        List<Geolog> geologi;
        List<String> orase;
        List<String> locatii;
        Amplasament amplasament;
        Geolog geolog;
        String oras, locatie;
        List<ProiecteGeologSef> proiecteGeologSef = new ArrayList<ProiecteGeologSef>();

        List<Proiect> proiecte = proiectDao.getProiecteByGeologId(getIdGeologLogat());
        Iterator it = proiecte.iterator();
        while (it.hasNext()) {
            p = (Proiect) it.next();
            proiect = new ProiecteGeologSef();
            proiect.setNumeProiect(p.getNumeProiect()); //nume proiect
            //nume beneficiar
            proiect.setNumeBeneficiar(beneficiarDao.getBeneficiarByID(p.getIdBeneficiar()).getNumeBeneficiar());
            // determinam amplasamentele pt un proiect
            amplasamente = amplasamentDao.getAmplasamenteByProiectId(p.getIdProiect());
            repartizareProiect = new RepartizareProiect();
            geologi = new ArrayList<Geolog>();
            orase = new ArrayList<String>();
            locatii = new ArrayList<String>();

            for (int i = 0; i < amplasamente.size(); i++) {
                amplasament = amplasamente.get(i);
                geolog = geologDao.getGeologByID(amplasament.getIdGeolog());
                oras = amplasament.getOras().getNumeOras();
                locatie = amplasament.getLocatie();
                geologi.add(geolog);
                orase.add(oras);
                locatii.add(locatie);
            }
            repartizareProiect.setGeolog(geologi);
            repartizareProiect.setLocatie(locatii);
            repartizareProiect.setOras(orase);
            proiect.setRepartizareProiect(repartizareProiect);
            proiecteGeologSef.add(proiect);
        }
        return proiecteGeologSef;
    }
}
TOP

Related Classes of action.ProiectActionBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.