package sikd.sikd5.sikd5ejb.mapper.transaksi;

import java.util.List;
import java.util.Map;
import sikd.sikd5.sikd5bean.ws.transaksi.Apbd_WS;
import sikd.sikd5.sikd5bean.ws.transaksi.Headerapbd_WS;

/**
 *
 * @author soraturaes
 */
public class HeaderApbdSql {
    
    public static String getInsertApbdSql(Map<String, Object> params ){
        List<Apbd_WS> apbds = (List<Apbd_WS>)params.get("data");
        Long headerapbdid = (Long)params.get("headerapbdid");
        StringBuilder sql = new StringBuilder();
        sql.append("INSERT INTO transaksi.apbd( ");
        sql.append(" headerapbdid, kodefungsi, namafungsi, kodeurusanpelaksana, namaurusanpelaksana, kodeurusanprogram, namaurusanprogram, kodeunitskpd, namaunitskpd, kodeskpd, namaskpd, kodeprogram, namaprogram, kodekegiatan, namakegiatan, namaoutcome, targetoutcome, satuanoutcome, namaoutput, targetoutput, satuanoutput, kodelokasi, namalokasi, kodeakunutama, namaakunutama, kodeakunkelompok, namaakunkelompok, kodeakunjenis, namaakunjenis, kodeakunobjek, namaakunobjek, kodeakunrinci, namaakunrinci, kodeakunsubrinci, namaakunsubrinci, kodeakunsubsubrinci, namaakunsubsubrinci, volume, satuan, hargasatuan, nilaianggaran, catatan) ");
        sql.append(" VALUES ");
        Headerapbd_WS ja;
        for (Apbd_WS ap : apbds) {
            sql.append(" ( ").append(headerapbdid).append(",");
            sql.append("'").append(ap.getKodeurusanprogram()).append("', '").append(ap.getNamaurusanprogram()).append("', ");
            sql.append("'").append(ap.getKodeurusanpelaksana()).append("', '").append(ap.getNamaurusanpelaksana()).append("', ");
            sql.append("'").append(ap.getKodeskpd()).append("', '").append(ap.getNamaskpd()).append("', ");
            sql.append("'").append(ap.getKodeunitskpd()==null?"":ap.getKodeunitskpd()).append("', '").append(ap.getNamaunitskpd()==null?"":ap.getNamaunitskpd()).append("', ");
            sql.append("'").append(ap.getKodeprogram()).append("', '").append(ap.getNamaprogram()).append("', ");
            sql.append("'").append(ap.getKodekegiatan()).append("', '").append(ap.getNamakegiatan()).append("', ");
            sql.append("'").append(ap.getNamaoutcome()).append("', ").append(ap.getTargetoutcome()).append(", '").append(ap.getSatuanoutcome()).append("', ");
            sql.append("'").append(ap.getNamaoutput()==null?"":ap.getNamaoutput()).append("', ").append(ap.getTargetoutput()).append(", ");
            sql.append("'").append(ap.getSatuanoutput()==null?"":ap.getSatuanoutput()).append("', ");
            sql.append("'").append(ap.getKodelokasi()==null?"":ap.getKodelokasi()).append("', '").append(ap.getNamalokasi()==null?"":ap.getNamalokasi()).append("', ");
            sql.append("'").append(ap.getKodefungsi()==null?"":ap.getKodefungsi()).append("', '").append(ap.getNamafungsi()==null?"":ap.getNamafungsi()).append("', ");
            sql.append("'").append(ap.getKodeakunutama()).append("', '").append(ap.getNamaakunutama()).append("', ");
            sql.append("'").append(ap.getKodeakunkelompok()).append("', '").append(ap.getNamaakunkelompok()).append("', ");
            sql.append("'").append(ap.getKodeakunjenis()).append("', '").append(ap.getNamaakunjenis()).append("', ");
            sql.append("'").append(ap.getKodeakunobjek()).append("', '").append(ap.getNamaakunobjek()).append("', ");
            sql.append("'").append(ap.getKodeakunrinci()).append("', '").append(ap.getNamaakunrinci()).append("', ");
            sql.append("'").append(ap.getKodeakunsubrinci()==null?"":ap.getKodeakunsubrinci()).append("', '").append(ap.getNamaakunsubrinci()==null?"":ap.getNamaakunsubrinci()).append("', ");
            sql.append("'").append(ap.getKodeakunsubsubrinci()==null?"":ap.getKodeakunsubsubrinci()).append("', '").append(ap.getNamaakunsubsubrinci()==null?"":ap.getNamaakunsubsubrinci()).append("', ");
            sql.append(ap.getVolume()).append(", '").append(ap.getSatuan()==null?"":ap.getSatuan()).append("', ");
            sql.append(ap.getHargasatuan()).append(", ").append(ap.getNilaianggaran()).append(", '").append(ap.getCatatan()==null?"":ap.getCatatan()).append("'");
            sql.append("),");
        }
        String str = sql.toString();
        if( str!=null && !str.trim().equals("") && str.trim().endsWith(",")) str = str.trim().substring(0, str.trim().length()-1);
//        str = str+ " returning apbdid";
        System.out.println("sql "+ str);
        return str;
    }
    
}
