/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sikd.ikonsol.ctrl;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
import sikd.ikonsol.ejb.session.JenisBasEjbHome;
import sikd.ikonsol.ejb.session.JenisLaporanEjbHome;
import sikd.ikonsol.ejb.session.MonitoringEjbHome;
import sikd.ikonsol.ejb.session.PeriodeEjbHome;
import sikd.ikonsol.model.JenisBas;
import sikd.ikonsol.model.JenisLaporan;
import sikd.ikonsol.model.MonitoringNasional;
import sikd.ikonsol.model.MonitoringProvinsi;
import sikd.ikonsol.model.MonitoringWilayah;
import sikd.ikonsol.model.Periode;

/**
 *
 * @author Imam Bhoim
 */
@ViewScoped
@Named(value = "monitoringBeanCtrl")
public class MonitoringBeanCtrl implements Serializable {

    MonitoringProvinsi mp;
    MonitoringWilayah mw;
    MonitoringNasional mn;

    private List<MonitoringProvinsi> listmp,listmplak;
    private List<MonitoringProvinsi> listmw,listmwlak;
    private List<MonitoringProvinsi> listmn,listmnlak;

    private List<JenisBas> listjbas;

    private List<JenisLaporan> listjlaporan,listjlaporanlak;

    private List<Periode> listperiode;

    @EJB
    JenisBasEjbHome jenisBasEjbHome;

    @EJB
    JenisLaporanEjbHome jenisLaporanEjbHome;

    @EJB
    PeriodeEjbHome periodeBasEjbHome;

    private int idbas, idbas2 = 0;

    private int tahun;
    private int tahun2;
    private int idjenislaporan;
    private String kdPeriode;
    private int idjenislaporan2;
    private String kdPeriode2;

    @EJB
    MonitoringEjbHome monitoringEjbHome;

    @PostConstruct
    public void init() {

        try {
            listmp = monitoringEjbHome.findByTahunLaporanMP(tahun, idjenislaporan, idbas, kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
        try {
            listmw = monitoringEjbHome.findByTahunLaporanMW(tahun, idjenislaporan, idbas, kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
        try {
            listmn = monitoringEjbHome.findByTahunLaporanMN(tahun, idbas, kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
        
         try {
            listmplak = monitoringEjbHome.findByTahunLaporanMPLak(tahun, idjenislaporan, kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
        try {
            listmwlak = monitoringEjbHome.findByTahunLaporanMWLak(tahun, idjenislaporan,kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
        try {
            listmnlak = monitoringEjbHome.findByTahunLaporanMNLak(tahun, kdPeriode);
        } catch (Exception e) {
            System.out.println(e);
        }
//        listmn = monitoringEjbHome.findByTahun(tahun,idbas);
        listjbas = jenisBasEjbHome.findAllAktif();

        listjlaporan = jenisLaporanEjbHome.findAllLra();
        
        listjlaporanlak = jenisLaporanEjbHome.findAllLak();

        listperiode = periodeBasEjbHome.findAllAktif();

    }

    public ArrayList<Integer> listTahun() {

        ArrayList<Integer> numbers = new ArrayList<Integer>();
        for (int years = 2015; years <= Calendar.getInstance().get(Calendar.YEAR); years++) {
            numbers.add(years);
        }
        return (numbers);
    }

    public void reloadProvinsi() {
        try {
            listmp = monitoringEjbHome.findByTahunLaporanMP(tahun, idjenislaporan, idbas, kdPeriode);
        } catch (Exception e) {
            //System.out.println(e);
        }
    }

    public void reloadWilayah() {
        //  listmw = monitoringEjbHome.findByTahunLaporanMW(tahun, idjenislaporan, idbas);
        try {
            listmw = monitoringEjbHome.findByTahunLaporanMW(tahun, idjenislaporan, idbas, kdPeriode);
        } catch (Exception e) {
            //System.out.println(e);
        }
    }

    public void reloadNasional() {
        try {
            //System.out.println("A : " + tahun + " " + idbas + " " + kdPeriode); 
            listmn = monitoringEjbHome.findByTahunLaporanMN(tahun, idbas, kdPeriode);
            
            //System.out.println("B : " + listmn.size());
            
        } catch (Exception e) {
            //System.out.println(e);
        }
    }
    
     public void reloadProvinsiLak() {
        try {
            listmplak = monitoringEjbHome.findByTahunLaporanMPLak(tahun, idjenislaporan, kdPeriode);
        } catch (Exception e) {
            //System.out.println(e);
        }
    }

    public void reloadWilayahLak() {
        //  listmw = monitoringEjbHome.findByTahunLaporanMW(tahun, idjenislaporan, idbas);
        try {
            listmwlak = monitoringEjbHome.findByTahunLaporanMWLak(tahun, idjenislaporan, kdPeriode);
        } catch (Exception e) {
            //System.out.println(e);
        }
    }

    public void reloadNasionalLak() {
        try {
            //System.out.println("A : " + tahun + " " + idbas + " " + kdPeriode); 
            listmnlak = monitoringEjbHome.findByTahunLaporanMNLak(tahun, kdPeriode);
            
            //System.out.println("B : " + listmn.size());
            
        } catch (Exception e) {
            //System.out.println(e);
        }
    }

    public MonitoringProvinsi getMp() {
        return mp;
    }

    public void setMp(MonitoringProvinsi mp) {
        this.mp = mp;
    }

    public MonitoringWilayah getMw() {
        return mw;
    }

    public void setMw(MonitoringWilayah mw) {
        this.mw = mw;
    }

    public MonitoringNasional getMn() {
        return mn;
    }

    public void setMn(MonitoringNasional mn) {
        this.mn = mn;
    }

    public List<MonitoringProvinsi> getListmp() {
        return listmp;
    }

    public void setListmp(List<MonitoringProvinsi> listmp) {
        this.listmp = listmp;
    }

    public List<MonitoringProvinsi> getListmw() {
        return listmw;
    }

    public void setListmw(List<MonitoringProvinsi> listmw) {
        this.listmw = listmw;
    }

    public List<MonitoringProvinsi> getListmn() {
        return listmn;
    }

    public void setListmn(List<MonitoringProvinsi> listmn) {
        this.listmn = listmn;
    }

    public List<JenisBas> getListjbas() {
        return listjbas;
    }

    public void setListjbas(List<JenisBas> listjbas) {
        this.listjbas = listjbas;
    }

    public List<JenisLaporan> getListjlaporan() {
        return listjlaporan;
    }

    public void setListjlaporan(List<JenisLaporan> listjlaporan) {
        this.listjlaporan = listjlaporan;
    }

    public JenisBasEjbHome getJenisBasEjbHome() {
        return jenisBasEjbHome;
    }

    public void setJenisBasEjbHome(JenisBasEjbHome jenisBasEjbHome) {
        this.jenisBasEjbHome = jenisBasEjbHome;
    }

    public JenisLaporanEjbHome getJenisLaporanEjbHome() {
        return jenisLaporanEjbHome;
    }

    public void setJenisLaporanEjbHome(JenisLaporanEjbHome jenisLaporanEjbHome) {
        this.jenisLaporanEjbHome = jenisLaporanEjbHome;
    }

    public int getIdbas() {
        return idbas;
    }

    public void setIdbas(int idbas) {
        this.idbas = idbas;
    }

    public int getTahun() {
        return tahun;
    }

    public void setTahun(int tahun) {
        this.tahun = tahun;
    }

    public int getIdjenislaporan() {
        return idjenislaporan;
    }

    public void setIdjenislaporan(int idjenislaporan) {
        this.idjenislaporan = idjenislaporan;
    }

    public MonitoringEjbHome getMonitoringEjbHome() {
        return monitoringEjbHome;
    }

    public void setMonitoringEjbHome(MonitoringEjbHome monitoringEjbHome) {
        this.monitoringEjbHome = monitoringEjbHome;
    }

    public List<Periode> getListperiode() {
        return listperiode;
    }

    public void setListperiode(List<Periode> listperiode) {
        this.listperiode = listperiode;
    }

    public String getKdPeriode() {
        return kdPeriode;
    }

    public void setKdPeriode(String kdPeriode) {
        this.kdPeriode = kdPeriode;
    }

    public int getIdbas2() {
        return idbas2;
    }

    public void setIdbas2(int idbas2) {
        this.idbas2 = idbas2;
    }

    public int getTahun2() {
        return tahun2;
    }

    public void setTahun2(int tahun2) {
        this.tahun2 = tahun2;
    }

    public int getIdjenislaporan2() {
        return idjenislaporan2;
    }

    public void setIdjenislaporan2(int idjenislaporan2) {
        this.idjenislaporan2 = idjenislaporan2;
    }

    public String getKdPeriode2() {
        return kdPeriode2;
    }

    public void setKdPeriode2(String kdPeriode2) {
        this.kdPeriode2 = kdPeriode2;
    }

    public List<MonitoringProvinsi> getListmplak() {
        return listmplak;
    }

    public void setListmplak(List<MonitoringProvinsi> listmplak) {
        this.listmplak = listmplak;
    }

    public List<MonitoringProvinsi> getListmwlak() {
        return listmwlak;
    }

    public void setListmwlak(List<MonitoringProvinsi> listmwlak) {
        this.listmwlak = listmwlak;
    }

    public List<MonitoringProvinsi> getListmnlak() {
        return listmnlak;
    }

    public void setListmnlak(List<MonitoringProvinsi> listmnlak) {
        this.listmnlak = listmnlak;
    }

    public List<JenisLaporan> getListjlaporanlak() {
        return listjlaporanlak;
    }

    public void setListjlaporanlak(List<JenisLaporan> listjlaporanlak) {
        this.listjlaporanlak = listjlaporanlak;
    }
    
    

}
