Package action

Source Code of action.MetodaSedimentariiActionBean

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

import bo.CitiriAreometru;
import bo.TempCitita;
import auxiliar.FormularMetodaSedimentarii;
import auxiliar.MetodaSedimentarii;
import bo.Proba;
import dao.ProbaDao;
import daoI.IProbaDao;
import dao.CitiriAreometruDao;
import dao.TempCititaDao;
import daoI.ICitiriAreometruDao;
import daoI.ITempCititaDao;
import dao.CorectiaTemperaturiiDao;
import daoI.ICorectiaTemperaturiiDao;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.ForwardResolution;
import net.sourceforge.stripes.action.Resolution;

public class MetodaSedimentariiActionBean extends BaseActionBean {

    private FormularMetodaSedimentarii formular = new FormularMetodaSedimentarii();
    private MetodaSedimentarii medSedimentarii;
    private String aInput;
    private String bInput;

    @DefaultHandler
    public Resolution view() {
      
        //daca s-a mai facut metoda cernerii pt proba curenta,atunci se afiseaza valorile din BD
        medSedimentarii = new MetodaSedimentarii();
        ICitiriAreometruDao citiriAreometruDao = new CitiriAreometruDao();
        ITempCititaDao tempCititaDao = new TempCititaDao();
        CitiriAreometru citiriAreometruAuxiliar = citiriAreometruDao.getCitiriAreometruByIDProba(Integer.parseInt(getContext().getRequest().getSession().getAttribute("idProba").toString()));
        TempCitita tempCititaAuxiliar = tempCititaDao.getTempCititaByIDProba(Integer.parseInt(getContext().getRequest().getSession().getAttribute("idProba").toString()));
        if ((citiriAreometruAuxiliar != null) && (tempCititaAuxiliar != null)) {
            CitiriAreometru citiriAreometruDinBD = citiriAreometruDao.getCitiriAreometruByIDProba(Integer.parseInt(getContext().getRequest().getSession().getAttribute("idProba").toString()));
            List<Float> citiriAreometruDinBDList = Arrays.asList(citiriAreometruDinBD.getVal05(), citiriAreometruDinBD.getVal1(), citiriAreometruDinBD.getVal2(), citiriAreometruDinBD.getVal4(), citiriAreometruDinBD.getVal8(), citiriAreometruDinBD.getVal15(), citiriAreometruDinBD.getVal30(), citiriAreometruDinBD.getVal60(), citiriAreometruDinBD.getVal120(), citiriAreometruDinBD.getVal240(), citiriAreometruDinBD.getVal720(), citiriAreometruDinBD.getVal960());
            medSedimentarii.setCitiriAreometru(citiriAreometruDinBDList);

            TempCitita tempCititaDinBd = tempCititaDao.getTempCititaByIDProba(Integer.parseInt(getContext().getRequest().getSession().getAttribute("idProba").toString()));
            List<Float> tempCititaDinBdList = Arrays.asList(tempCititaDinBd.getVal05(), tempCititaDinBd.getVal1(), tempCititaDinBd.getVal2(), tempCititaDinBd.getVal4(), tempCititaDinBd.getVal8(), tempCititaDinBd.getVal15(), tempCititaDinBd.getVal30(), tempCititaDinBd.getVal60(), tempCititaDinBd.getVal120(), tempCititaDinBd.getVal240(), tempCititaDinBd.getVal720(), tempCititaDinBd.getVal960());
            medSedimentarii.setTemperaturaCitita(tempCititaDinBdList);

            populeazaColoana2Si3 (citiriAreometruDinBD,tempCititaDinBd);
            medSedimentarii.setCitiriCorectate(formulaMetSedimentariiCol4(citiriAreometruDinBDList));
            medSedimentarii.setCorectiaTemperaturii(formulaMetSedimentariiCol6(tempCititaDinBdList));
            medSedimentarii.setRc(formulaMetSedimentariiCol7(medSedimentarii.getCitiriCorectate(), medSedimentarii.getCorectiaTemperaturii()));
            medSedimentarii.setDiametruGranule(formulaMetSedimentariiCol5(medSedimentarii.getRc(), medSedimentarii.getTimpFloat(), Float.parseFloat(getB()), Float.parseFloat(getRs())));
            medSedimentarii.setMp(formulaMetSedimentariiCol8(medSedimentarii.getRc(), Float.parseFloat(getRs())));

            getContext().getRequest().getSession(true).setAttribute("metS", medSedimentarii);
        }

        getContext().getRequest().getSession(true).setAttribute("metS", medSedimentarii);
        return new ForwardResolution("/WEB-INF/jsp/metoda_sedimentarii.jsp");
    }

    public Resolution submit() {
        IProbaDao probaDao = new ProbaDao();
        //proba curenta
        Proba proba = probaDao.geProbaByID(Integer.parseInt(getContext().getRequest().getSession().getAttribute("idProba").toString()));
        //valori introduse
        List<Float> valoriIntroduseTemperatura = Arrays.asList(Float.parseFloat(getFormular().getT0()), Float.parseFloat(getFormular().getT1()), Float.parseFloat(getFormular().getT2()), Float.parseFloat(getFormular().getT3()), Float.parseFloat(getFormular().getT4()), Float.parseFloat(getFormular().getT5()), Float.parseFloat(getFormular().getT6()), Float.parseFloat(getFormular().getT7()), Float.parseFloat(getFormular().getT8()), Float.parseFloat(getFormular().getT9()), Float.parseFloat(getFormular().getT10()), Float.parseFloat(getFormular().getT11()));
        List<Float> valoriIntroduseAreometru = Arrays.asList(Float.parseFloat(getFormular().getA0()), Float.parseFloat(getFormular().getA1()), Float.parseFloat(getFormular().getA2()), Float.parseFloat(getFormular().getA3()), Float.parseFloat(getFormular().getA4()), Float.parseFloat(getFormular().getA5()), Float.parseFloat(getFormular().getA6()), Float.parseFloat(getFormular().getA7()), Float.parseFloat(getFormular().getA8()), Float.parseFloat(getFormular().getA9()), Float.parseFloat(getFormular().getA10()), Float.parseFloat(getFormular().getA11()));

        //obiect format pt proba curenta cu valorile introduse pt introducere in BD
        TempCitita tempCititaBO = new TempCitita(proba, valoriIntroduseTemperatura.get(0), valoriIntroduseTemperatura.get(1), valoriIntroduseTemperatura.get(2), valoriIntroduseTemperatura.get(3), valoriIntroduseTemperatura.get(4), valoriIntroduseTemperatura.get(5), valoriIntroduseTemperatura.get(6), valoriIntroduseTemperatura.get(7), valoriIntroduseTemperatura.get(8), valoriIntroduseTemperatura.get(9), valoriIntroduseTemperatura.get(10), valoriIntroduseTemperatura.get(11));
        ITempCititaDao tempCititaDao = new TempCititaDao();
        TempCitita tempCititaAuxiliar = tempCititaDao.getTempCititaByIDProba(proba.getIdProba());
        if (tempCititaAuxiliar == null) {
            tempCititaDao.saveOrUpdate(tempCititaBO);
        } else {
            tempCititaBO.setIdSedimentare(tempCititaAuxiliar.getIdSedimentare());
            tempCititaDao.saveOrUpdate(tempCititaBO);
        }

        CitiriAreometru citireAreometruBO = new CitiriAreometru(proba, valoriIntroduseAreometru.get(0), valoriIntroduseAreometru.get(1), valoriIntroduseAreometru.get(2), valoriIntroduseAreometru.get(3), valoriIntroduseAreometru.get(4), valoriIntroduseAreometru.get(5), valoriIntroduseAreometru.get(6), valoriIntroduseAreometru.get(7), valoriIntroduseAreometru.get(8), valoriIntroduseAreometru.get(9), valoriIntroduseAreometru.get(10), valoriIntroduseAreometru.get(11));
        ICitiriAreometruDao citiriAreometruDao = new CitiriAreometruDao();
        CitiriAreometru citiriAreometruAuxiliar = citiriAreometruDao.getCitiriAreometruByIDProba(proba.getIdProba());
        if (citiriAreometruAuxiliar == null) {
            citiriAreometruDao.saveOrUpdate(citireAreometruBO);
        } else {
            citireAreometruBO.setIdSedimentare(citiriAreometruAuxiliar.getIdSedimentare());
            citiriAreometruDao.saveOrUpdate(citireAreometruBO);
        }

        //update la proba pt parametrii md si rs

        proba.setA(Float.parseFloat(getaInput()));
        proba.setB(Float.parseFloat(getbInput()));
        probaDao.saveOrUpdate(proba);


        medSedimentarii = new MetodaSedimentarii();
        //se modifica pt a afisa in pagina, noile valori introduse
        CitiriAreometru citiriAreometruDinBD = citiriAreometruDao.getCitiriAreometruByIDProba(proba.getIdProba());
        List<Float> citiriAreometruDinBDList = Arrays.asList(citiriAreometruDinBD.getVal05(), citiriAreometruDinBD.getVal1(), citiriAreometruDinBD.getVal2(), citiriAreometruDinBD.getVal4(), citiriAreometruDinBD.getVal8(), citiriAreometruDinBD.getVal15(), citiriAreometruDinBD.getVal30(), citiriAreometruDinBD.getVal60(), citiriAreometruDinBD.getVal120(), citiriAreometruDinBD.getVal240(), citiriAreometruDinBD.getVal720(), citiriAreometruDinBD.getVal960());
        medSedimentarii.setCitiriAreometru(citiriAreometruDinBDList);

        TempCitita tempCititaDinBd = tempCititaDao.getTempCititaByIDProba(proba.getIdProba());
        List<Float> tempCititaDinBdList = Arrays.asList(tempCititaDinBd.getVal05(), tempCititaDinBd.getVal1(), tempCititaDinBd.getVal2(), tempCititaDinBd.getVal4(), tempCititaDinBd.getVal8(), tempCititaDinBd.getVal15(), tempCititaDinBd.getVal30(), tempCititaDinBd.getVal60(), tempCititaDinBd.getVal120(), tempCititaDinBd.getVal240(), tempCititaDinBd.getVal720(), tempCititaDinBd.getVal960());
        medSedimentarii.setTemperaturaCitita(tempCititaDinBdList);
        medSedimentarii.setCitiriCorectate(formulaMetSedimentariiCol4(citiriAreometruDinBDList));
        medSedimentarii.setCorectiaTemperaturii(formulaMetSedimentariiCol6(tempCititaDinBdList));
        medSedimentarii.setRc(formulaMetSedimentariiCol7(medSedimentarii.getCitiriCorectate(), medSedimentarii.getCorectiaTemperaturii()));
        medSedimentarii.setDiametruGranule(formulaMetSedimentariiCol5(medSedimentarii.getRc(), medSedimentarii.getTimpFloat(), Float.parseFloat(getB()), Float.parseFloat(getRs())));
        medSedimentarii.setMp(formulaMetSedimentariiCol8(medSedimentarii.getRc(), Float.parseFloat(getRs())));
        getContext().getRequest().getSession(true).setAttribute("metS", medSedimentarii);
        return new ForwardResolution("/WEB-INF/jsp/metoda_sedimentarii.jsp");
    }

    public List<Float> formulaMetSedimentariiCol4(List<Float> dateIn)//dataIn=citiri_areometru
    {
        List<Float> dateOut = new ArrayList<Float>();
        for (int i = 0; i < dateIn.size(); i++) {
            Float formula = (dateIn.get(i) - 1) * 1000 + (float) 0.2;
            dateOut.add((Float)zecimale(formula,5));
        }
        return dateOut;
    }
//dataIn1=citiri_areometru.dateIn2=timp,param1=b,param2=rs

    public List<Float> formulaMetSedimentariiCol5(List<Float> dateIn1, List<Float> dateIn2, Float param1, Float param2) {
        List<Float> dateOut = new ArrayList<Float>();
        for (int i = 0; i < dateIn1.size(); i++) {
            Float formula = (float) (Math.sqrt(1800 * 0.01 * 1000 * (20.17 - param1 * dateIn1.get(i)) / ((param2 - 1) * dateIn2.get(i) * 60)) / 1000);
            dateOut.add((Float)zecimale(formula,5));
        }
        return dateOut;
    }
    //dateIn -  temp_citita

    public List<Float> formulaMetSedimentariiCol6(List<Float> dateIn) {
        List<Float> dateOut = new ArrayList<Float>();
        ICorectiaTemperaturiiDao corectiaTempDao = new CorectiaTemperaturiiDao();
        for (int i = 0; i < dateIn.size(); i++) {
            Float formula = corectiaTempDao.getTempCititaByTemp(dateIn.get(i));
            if (formula == null) {
                dateOut.add((float) 0.0);
            } else {
                dateOut.add((Float)zecimale(formula,5));
            }
        }
        return dateOut;
    }
    //dataIn1=temperatura Citita,dateIn2=corectia temperaturi

    public List<Float> formulaMetSedimentariiCol7(List<Float> dateIn1, List<Float> dateIn2) {
        List<Float> dateOut = new ArrayList<Float>();
        for (int i = 0; i < dateIn1.size(); i++) {
            Float formula = dateIn1.get(i) + dateIn2.get(i);
            dateOut.add((Float)zecimale(formula,5));
        }
        return dateOut;
    }
    //dataIn=citiri_areometru,param1=rs

    public List<Float> formulaMetSedimentariiCol8(List<Float> dateIn, Float param) {
        List<Float> dateOut = new ArrayList<Float>();
        for (int i = 0; i < dateIn.size(); i++) {
            Float formula = 100 * (param / (param - 1)) * dateIn.get(i) / 50;
            dateOut.add((Float)zecimale(formula,5));
                }
        return dateOut;
    }

    public FormularMetodaSedimentarii getFormular() {
        return formular;
    }

    public void setFormular(FormularMetodaSedimentarii formular) {
        this.formular = formular;
    }

    public String getaInput() {
        return aInput;
    }

    public void setaInput(String aInput) {
        this.aInput = aInput;
    }

    public String getbInput() {
        return bInput;
    }

    public void setbInput(String bInput) {
        this.bInput = bInput;
    }

    private void populeazaColoana2Si3(CitiriAreometru citiriAreometru,TempCitita tempCitita ) {
        formular.setA0(citiriAreometru.getVal05().toString());
        formular.setA1(citiriAreometru.getVal1().toString());
        formular.setA2(citiriAreometru.getVal2().toString());
        formular.setA3(citiriAreometru.getVal4().toString());
        formular.setA4(citiriAreometru.getVal8().toString());
        formular.setA5(citiriAreometru.getVal15().toString());
        formular.setA6(citiriAreometru.getVal30().toString());
        formular.setA7(citiriAreometru.getVal60().toString());
        formular.setA8(citiriAreometru.getVal120().toString());
        formular.setA9(citiriAreometru.getVal240().toString());
        formular.setA10(citiriAreometru.getVal720().toString());
        formular.setA11(citiriAreometru.getVal960().toString());
        formular.setT0(tempCitita.getVal05().toString());
        formular.setT1(tempCitita.getVal1().toString());
        formular.setT2(tempCitita.getVal2().toString());
        formular.setT3(tempCitita.getVal4().toString());
        formular.setT4(tempCitita.getVal8().toString());
        formular.setT5(tempCitita.getVal15().toString());
        formular.setT6(tempCitita.getVal30().toString());
        formular.setT7(tempCitita.getVal60().toString());
        formular.setT8(tempCitita.getVal120().toString());
        formular.setT9(tempCitita.getVal240().toString());
        formular.setT10(tempCitita.getVal720().toString());
        formular.setT11(tempCitita.getVal960().toString());

     }
}
TOP

Related Classes of action.MetodaSedimentariiActionBean

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.