"success", 'message' => 'Berhasil simpan data Tujuan RENSTRA !']; foreach ($adata as $_key1 => $atujuan) { $apull = [ 'RPJMDID' => $id_rpjmd, 'OPDID' => 0, 'A_RDSASAR' => "0", 'A_BU' => "'X.XX'", 'No_Tujuan' => $atujuan['No_Tujuan'], 'Txt_Tujuan' => $atujuan['Txt_Tujuan'], 'SIPD_UNIK' => $atujuan['SIPD_UNIK'] ]; // bidang urusan $_tbu = []; foreach ($atujuan['A_BU'] as $_key_bu => $arec_bu) { $_tbu[] = $arec_bu; } $apull['A_BU'] = "'". implode("','", $_tbu) ."'"; // sasaran rpjmd if (count($atujuan['A_RDSASAR']) > 0) { $_tsa = []; foreach ($atujuan['A_RDSASAR'] as $_key_sa => $arec_sa) { $db->Query("SELECT RD_SASARID FROM rpjmd_sasaran WHERE SIPD_SASAR='".$arec_sa."' LIMIT 1"); if ($db->Next()) $_tsa[] = $db->Row("RD_SASARID", 0); } $apull['A_RDSASAR'] = implode(",", $_tsa); } // opd $db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$atujuan['K_OPD']."' LIMIT 1"); if ($db->Next()) $apull['OPDID'] = $db->Row("OPDID", 0); $id_opd = $apull['OPDID']; $ra_tujid = fastInsert("renstra_tujuan", $apull); // indikator foreach ($atujuan['indikator'] as $_key2 => $arec) { $apull = [ 'OPDID' => $id_opd, 'RA_TUJID' => $ra_tujid, 'RPJMDID' => $id_rpjmd, 'No_Indi' => $arec['No_Indi'], 'Txt_Indi' => $arec['Txt_Indi'], 'Indi_Satuan' => $arec['Indi_Satuan'], 'Indi_Status' => $arec['Indi_Status'], 'Indi_Awal' => $arec['Indi_Awal'], 'Indi_T1' => $arec['Indi_T1'], 'Indi_T2' => $arec['Indi_T2'], 'Indi_T3' => $arec['Indi_T3'], 'Indi_T4' => $arec['Indi_T4'], 'Indi_T5' => $arec['Indi_T5'], 'Indi_Akhir' => $arec['Indi_Akhir'], 'Tipe_Data' => $arec['Tipe_Data'], 'SIPD_UNIK' => $arec['SIPD_UNIK'] ]; fastInsert("renstra_tujuan_indi", $apull); } } return $aret; } function simpan_renstra_sasaran($db = null, $adata = []) {//oke global $id_rpjmd, $thn_submap; $aret = ['status' => "success", 'message' => 'Berhasil simpan data Sasaran RENSTRA !']; foreach ($adata as $_key1 => $asasar) { $apull = [ 'RPJMDID' => $id_rpjmd, 'RA_TUJID' => 0, 'OPDID' => 0, 'No_Sasaran' => $asasar['No_Sasaran'], 'Txt_Sasaran' => $asasar['Txt_Sasaran'], 'SIPD_UNIK' => $asasar['SIPD_UNIK'] ]; // tujuan renstra $db->Query("SELECT RA_TUJID FROM renstra_tujuan WHERE SIPD_UNIK='".$asasar['SIPD_TUJ']."' LIMIT 1"); if ($db->Next()) $apull['RA_TUJID'] = $db->Row("RA_TUJID", 0); // opd $db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$asasar['K_OPD']."' LIMIT 1"); if ($db->Next()) $apull['OPDID'] = $db->Row("OPDID", 0); $id_opd = $apull['OPDID']; $ra_sasarid = fastInsert("renstra_sasaran", $apull); // indikator foreach ($asasar['indikator'] as $_key2 => $arec) { $apull = [ 'OPDID' => $id_opd, 'RA_SASARID' => $ra_sasarid, 'RPJMDID' => $id_rpjmd, 'No_Indi' => $arec['No_Indi'], 'Txt_Indi' => $arec['Txt_Indi'], 'Indi_Satuan' => $arec['Indi_Satuan'], 'Indi_Status' => $arec['Indi_Status'], 'Indi_Awal' => $arec['Indi_Awal'], 'Indi_T1' => $arec['Indi_T1'], 'Indi_T2' => $arec['Indi_T2'], 'Indi_T3' => $arec['Indi_T3'], 'Indi_T4' => $arec['Indi_T4'], 'Indi_T5' => $arec['Indi_T5'], 'Indi_Akhir' => $arec['Indi_Akhir'], 'Tipe_Data' => $arec['Tipe_Data'], 'SIPD_UNIK' => $arec['SIPD_UNIK'] ]; fastInsert("renstra_sasaran_indi", $apull); } } return $aret; } function simpan_renstra_program($db = null, $adata = []) { global $id_rpjmd, $thn_submap; $aret = ['status' => "success", 'message' => 'Berhasil simpan data Program / Kegiatan / Sub Kegiatan RENSTRA !']; foreach ($adata as $_key1 => $aoutcome) { $acome = [ 'RD_OUTCOMEID' => 0, 'RD_PROGID' => 0, 'OPDID' => 0, 'ProgID' => 0, 'A_RASASAR' => 0 ]; // outcome rpjmd $db->Query("SELECT RD_OUTCOMEID,RD_PROGID,A_RASASAR FROM rpjmd_outcome WHERE RPJMDID='".$id_rpjmd."' AND SIPD_UNIK='".$aoutcome['SIPD_UNIK']."' LIMIT 1"); if ($db->Next()) $acome = array_merge($acome, $db->AllRow()); // program rpjmd $db->Query("SELECT BUID,ProgID,K_Bidu,K_Prog FROM rpjmd_prog WHERE RPJMDID='".$id_rpjmd."' AND RD_PROGID='".$acome['RD_PROGID']."' LIMIT 1"); if ($db->Next()) $acome = array_merge($acome, $db->AllRow()); // opd $db->Query("SELECT OPDID FROM para90_opd WHERE K_OPD='".$aoutcome['K_OPD']."' LIMIT 1"); if ($db->Next()) $acome = array_merge($acome, $db->AllRow()); // sasaran renstra if (count($aoutcome['A_RASASAR']) > 0) { $_tsa = explode(",", $acome['A_RASASAR']); foreach ($aoutcome['A_RASASAR'] as $_key_sa => $arec_sa) { $db->Query("SELECT RA_SASARID FROM renstra_sasaran WHERE SIPD_UNIK='".$arec_sa."' LIMIT 1"); if ($db->Next()) { if (!in_array($db->Row("RA_SASARID", 0), $_tsa)) $_tsa[] = $db->Row("RA_SASARID", 0); } } $_tsa = array_diff($_tsa, [0]); $acome['A_RASASAR'] = (count($_tsa)==0) ? "0" : implode(",", $_tsa); } fastUpdate("rpjmd_outcome", ['A_RASASAR'=>$acome['A_RASASAR']], ['RD_OUTCOMEID'=>$acome['RD_OUTCOMEID']]); $apull = [ 'RPJMDID' => $id_rpjmd, 'OPDID' => $acome['OPDID'], 'RD_PROGID' => $acome['RD_PROGID'], 'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'], 'A_RASASAR' => $acome['A_RASASAR'], 'ProgID' => $acome['ProgID'], 'K_Prog' => $acome['K_Prog'] ]; $ra_progid = fastInsert("renstra_prog", $apull); // indikator outcome (ke tabel renstra_prog_indi) foreach ($aoutcome['indikator'] as $_key2 => $aindi) { $apull = [ 'OPDID' => $acome['OPDID'], 'RA_PROGID' => $ra_progid, 'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'], 'RPJMDID' => $id_rpjmd, 'ProgID' => $acome['ProgID'], 'No_Indi' => $aindi['No_Indi'], 'Txt_Indi' => $aindi['Txt_Indi'], 'Indi_Satuan' => $aindi['Indi_Satuan'], 'Indi_Status' => $aindi['Indi_Status'], 'Indi_Awal' => $aindi['Indi_Awal'], 'Indi_T1' => $aindi['Indi_T1'], 'Indi_T2' => $aindi['Indi_T2'], 'Indi_T3' => $aindi['Indi_T3'], 'Indi_T4' => $aindi['Indi_T4'], 'Indi_T5' => $aindi['Indi_T5'], 'Indi_Akhir' => $aindi['Indi_Akhir'], 'Tipe_Data' => $aindi['Tipe_Data'], 'SIPD_UNIK' => $aindi['SIPD_UNIK'] ]; fastInsert("renstra_prog_indi", $apull); } // kegiatan foreach ($aoutcome['kegiatan'] as $_key3 => $akeg) { // master kegiatan $id_keg = 0; $db->Query("SELECT KegID FROM para90_submap WHERE Tahun='".$thn_submap."' AND ProgID='".$acome['ProgID']."' AND K_Keg LIKE '%".substr($akeg['K_Keg'],4)."' GROUP BY KegID LIMIT 1"); if ($db->Next()) $id_keg = $db->Row("KegID", 0); $apull = [ 'OPDID' => $acome['OPDID'], 'RA_PROGID' => $ra_progid, 'RD_OUTCOMEID' => $acome['RD_OUTCOMEID'], 'RPJMDID' => $id_rpjmd, 'ProgID' => $acome['ProgID'], 'KegID' => $id_keg, 'K_Keg' => $akeg['K_Keg'] ]; $ra_kegid = fastInsert("renstra_keg", $apull); // output kegiatan foreach ($akeg['output'] as $_key4 => $aoutput) { $apull = [ 'OPDID' => $acome['OPDID'], 'RA_KEGID' => $ra_kegid, 'RPJMDID' => $id_rpjmd, 'ProgID' => $acome['ProgID'], 'KegID' => $id_keg, 'No_Output' => $aoutput['No_Output'], 'Txt_Output' => $aoutput['Txt_Output'], 'SIPD_UNIK' => $aoutput['SIPD_UNIK'] ]; $ra_outid = fastInsert("renstra_output", $apull); if (count($aoutput['subkeg']) == 0) $aret['message'] .= $akeg['K_Keg']." - "; // sub kegiatan foreach ($aoutput['subkeg'] as $_key5 => $asub) { // master sub kegiatan $id_sub = 0; $db->Query("SELECT SubID FROM para90_submap WHERE Tahun='".$thn_submap."' AND KegID='".$id_keg."' AND K_Sub LIKE '%".substr($asub['K_Sub'],4)."' LIMIT 1"); if ($db->Next()) $id_sub = $db->Row("SubID", 0); $apull = [ 'OPDID' => $acome['OPDID'], 'RA_OUTPUTID' => $ra_outid, 'RA_KEGID' => $ra_kegid, 'RPJMDID' => $id_rpjmd, 'ProgID' => $acome['ProgID'], 'KegID' => $id_keg, 'SubID' => $id_sub, 'K_Sub' => $asub['K_Sub'], 'Pagu_T1' => $asub['Pagu_T1'], 'Pagu_T2' => $asub['Pagu_T2'], 'Pagu_T3' => $asub['Pagu_T3'], 'Pagu_T4' => $asub['Pagu_T4'], 'Pagu_T5' => $asub['Pagu_T5'], 'No_Indi' => $asub['No_Indi'], 'Txt_Indi' => $asub['Txt_Indi'], 'Indi_Satuan' => $asub['Indi_Satuan'], 'Indi_Status' => $asub['Indi_Status'], 'Indi_Awal' => $asub['Indi_Awal'], 'Indi_T1' => $asub['Indi_T1'], 'Indi_T2' => $asub['Indi_T2'], 'Indi_T3' => $asub['Indi_T3'], 'Indi_T4' => $asub['Indi_T4'], 'Indi_T5' => $asub['Indi_T5'], 'Indi_Akhir' => $asub['Indi_Akhir'], 'Kinerja' => $asub['Kinerja'], 'MIndiID' => $asub['ID_Indi'], //'Tipe_Data' => $asub['Tipe_Data'], //'SIPD_UNIK' => $asub['SIPD_UNIK'] ]; fastInsert("renstra_sub", $apull); } } } } // update sub -> output $db->Query("UPDATE renstra_output A, (SELECT OPDID,RA_OUTPUTID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_OUTPUTID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_OUTPUTID=B.RA_OUTPUTID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'"); // update sub -> keg $db->Query("UPDATE renstra_keg A, (SELECT OPDID,RA_KEGID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_sub WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_KEGID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_KEGID=B.RA_KEGID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'"); // update keg -> prog $db->Query("UPDATE renstra_prog A, (SELECT OPDID,RA_PROGID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_keg WHERE RPJMDID='".$id_rpjmd."' GROUP BY OPDID,RA_PROGID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RA_PROGID=B.RA_PROGID AND A.OPDID=B.OPDID AND A.RPJMDID='".$id_rpjmd."'"); // update prog -> outcome rpjmd $db->Query("UPDATE rpjmd_outcome A, (SELECT RD_OUTCOMEID,SUM(Pagu_T1) T1,SUM(Pagu_T2) T2,SUM(Pagu_T3) T3,SUM(Pagu_T4) T4,SUM(Pagu_T5) T5 FROM renstra_prog WHERE RPJMDID='".$id_rpjmd."' GROUP BY RD_OUTCOMEID) B SET A.Pagu_T1=B.T1,A.Pagu_T2=B.T2,A.Pagu_T3=B.T3,A.Pagu_T4=B.T4,A.Pagu_T5=B.T5 WHERE A.RD_OUTCOMEID=B.RD_OUTCOMEID AND A.RPJMDID='".$id_rpjmd."'"); return $aret; } ?>