/*
 * 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.ejb.session;

import java.util.List;
import javax.ejb.Remote;
import sikd.ikonsol.model.AkunEliminasi;
import sikd.ikonsol.model.AkunResiprokal;
import sikd.ikonsol.model.HeaderDataKonsolidasi;
import sikd.ikonsol.model.RawData;
import sikd.ikonsol.model.SusunKonsolidasi;

/**
 *
 * @author Imam Bhoim
 */
@Remote
public interface AkunEliminasiEjbHome {

    
     public AkunEliminasi createNew();
    
    public List<AkunEliminasi> findAll();

    public List<AkunEliminasi> findAllByTahunBasJenisLap(int tahun, int idbas, int idjnslaporan, String kdperiode);
    
    public List<AkunEliminasi> findByKodeProvinsi(String kode, int id);

    public List<AkunEliminasi> selectCompare();

    public AkunEliminasi saveProses(AkunEliminasi obj);
    
     public AkunEliminasi updateProses(AkunEliminasi obj);
    
//insert awal eliminasi
    
      public List<AkunEliminasi> selectKdProv(int idheaderdata);
      
      
      public List<AkunResiprokal> selectResipro(int idjnslapor);
      
    public List<RawData> selectProvRawData(AkunResiprokal objresiprokal, SusunKonsolidasi obj, HeaderDataKonsolidasi hd, 
            String kdpemda);
      
    public List<RawData> selectKabRawData(AkunResiprokal objresiprokal, SusunKonsolidasi obj, HeaderDataKonsolidasi hd, 
            String kdpemda);
    
    
    //update
    
    public List<AkunEliminasi> selectKdProv1(int idheaderdata);
    
    public List<AkunResiprokal> selectResipro2(int id, String kdpemda);
     
    public AkunResiprokal selectOpsiNilai(int opsi);
    
    public AkunEliminasi selectCountKabKota(int id, String kdprov, int headerid);
    
    
    public AkunEliminasi updateEliminasi(AkunEliminasi obj);
    
    public AkunEliminasi updateEliminasiManual(AkunEliminasi obj);
    
     
    public AkunEliminasi selectCountFlag(String kdprov,String flag, int headeridint,int idres);

    public AkunEliminasi selectRefAkun1(String kdLvl1,int idres);
    public AkunEliminasi selectRefAkun2(String kdLvl1,String kdLvl2,int idres);
    public AkunEliminasi selectRefAkun3(String kdLvl1,String kdLvl2,String kdLvl3,int idres);

   
    public List<AkunEliminasi> findByListNasional(String priode, int idbas, int idjenis, int tahun);

    public List<AkunEliminasi> findByListProv(String priode, int idbas, int idjenis, int tahun,String prov);

    public List<AkunEliminasi> findByListWilayah(String priode, int idbas, int idjenis, int tahun,String wilayah);

}
