/*
 * 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;
    private List<MonitoringProvinsi> listmw;
    private List<MonitoringProvinsi> listmn;

    private List<JenisBas> listjbas;

    private List<JenisLaporan> listjlaporan;

    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() {

        listmp = monitoringEjbHome.findByTahunLaporanMP(tahun, idjenislaporan, idbas, kdPeriode);
//        
        listmw = monitoringEjbHome.findByTahunLaporanMW(tahun2, idjenislaporan2, idbas2, kdPeriode2);
//        
//        listmn = monitoringEjbHome.findByTahun(tahun,idbas);
        listjbas = jenisBasEjbHome.findAllAktif();

        listjlaporan = jenisLaporanEjbHome.findAll();

        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() {

        listmp = monitoringEjbHome.findByTahunLaporanMP(tahun, idjenislaporan, idbas, kdPeriode);

    }

    public void reloadWilayah() {
        //  listmw = monitoringEjbHome.findByTahunLaporanMW(tahun, idjenislaporan, idbas);
        listmw = monitoringEjbHome.findByTahunLaporanMW(tahun2, idjenislaporan2, idbas2, kdPeriode2);
        System.out.println(" TEST " + listmw.size());
    }

    public void reloadNasional() {

        // listmn = monitoringEjbHome.findByTahun(tahun, idbas);
    }

    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;
    }
    
    

}
