diff --git a/.env.example b/.env.example index d058c34ef2272f8e73d9fd190679a99d7a6549c6..2f8a96b9afe53714b3e472fcec65739f7d937fd6 100644 --- a/.env.example +++ b/.env.example @@ -7,11 +7,11 @@ APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql -DB_HOST=127.0.0.1 +DB_HOST=remotemysql.com DB_PORT=3306 -DB_DATABASE=homestead -DB_USERNAME=homestead -DB_PASSWORD=secret +DB_DATABASE=RPmAaYlhQt +DB_USERNAME=RPmAaYlhQt +DB_PASSWORD=QJcEXd7kOH BROADCAST_DRIVER=log CACHE_DRIVER=file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 382348a3f2034affbea4e5e6c70aa19ce281efce..356f94173d598c24334eb6f2320eb919f1339c1b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,11 @@ image: php:7-stretch before_script: - - curl -sL https://deb.nodesource.com/setup_10.x | bash - - - apt-get install -y nodejs zip unzip git - - apt-get update + - curl -sL https://deb.nodesource.com/setup_10.x | bash - + - apt-get update + - apt-get install -y nodejs zip unzip git libpng-dev + - docker-php-ext-install gd + - docker-php-ext-install pdo pdo_mysql mysqli - curl --show-error --silent https://getcomposer.org/installer | php - php composer.phar install - npm install @@ -15,19 +17,13 @@ stages: test: stage: test - cache: - key: build-cache - paths: - - node_modules/ - - vendor/ script: - cp .env.example .env - php artisan key:generate + - php artisan migrate:refresh --seed - vendor/bin/phpunit -v --coverage-text staging: stage: staging - cache: - key: build-cache script: - echo "staging running" diff --git a/app/Constants/Links.php b/app/Constants/Links.php index 6b212ec58ff413526069902a040939798ca3cdaa..e1b51899c58f7de5d61d780b6bd4d45589de69e0 100644 --- a/app/Constants/Links.php +++ b/app/Constants/Links.php @@ -19,6 +19,7 @@ class Links { const LINK_PEMDA_KABUPATEN = "/rekap/kabupaten"."/{id_kabupaten}"; const LINK_PROVINSI_SWAKELOLA = "/rekap/provinsi/satker"."/{id_satker}"."/swakelola"; + const LINK_KOTA_SWAKELOLA = "/rekap/kota"."/{id_kota}"."/satker"."/{id_satker}"."/swakelola"; const LINK_KABUPATEN_SWAKELOLA = "/rekap/kabupaten"."/{id_kabupaten}"."/satker"."/{id_satker}"."/swakelola"; const LINK_PEMDA_PROVINSI_PENYEDIA = "/rekap/provinsi/penyedia"; @@ -38,8 +39,24 @@ class Links { const LINK_KABUPATEN_PENYEDIA_SWAKELOLA = "/rekap/kabupaten"."/{id_kabupaten}"."/satker"."/{id_satker}"."/swakelola/penyedia-swakelola"; const LINK_UNDUH_PAKET_RUP = "/unduh/paketRUP"; - const LINK_UNDUH_PAKET_RUP_PDF = "/unduh/paketRUP/download"; + const LINK_UNDUH_PAKET_RUP_PDF = "/unduh/paketRUP/{satker}/download"; const LINK_UNDUH_MATERI = "/unduh/materi"; + + const LINK_MODAL_SWAKELOLA = "/modal/swakelola"."/{id_paket}"; + const LINK_MODAL_PENYEDIA = "/modal/penyedia"."/{id_paket}"; + const LINK_MODAL_PENYEDIA_SWAKELOLA = "/modal/penyediaSwakelola"."/{id_paket}"; + const LINK_BERITA = "/berita"; + + const LOGOUT = "/logout"; + const LINK_CARI_PAKET = "/search"; + + const LINK_FIND_PAKET = "/findsearch"."/{tahun_anggaran}"."/{keyword}"."/{jenisPengadaan}"."/{metodePengadaan}"; + const LINK_STATUS_PAKET = "/status"; + const LINK_UMUMKAN_PAKET = "/status/pengumuman"."/{id_paket}"; + const LINK_KLASIFIKASI_PAKET = "/status/klasifikasi"."/{id_paket}"."/{status}"."/{jenis_paket}"; + const LINK_JENIS_PAKET = "/status/jenispaket"."/{kode_rup}"; + + const LINK_MODAL_CARI_PAKET = "/modal/search"."/{id_paket}"; } ?> \ No newline at end of file diff --git a/app/Helper/PaketPDFHelper.php b/app/Helper/PaketPDFHelper.php index c3d83f963e631ded4481e50b1c606ac363af2493..8a4f4329b3a5378d02339eba0845497c691c0337 100644 --- a/app/Helper/PaketPDFHelper.php +++ b/app/Helper/PaketPDFHelper.php @@ -3,7 +3,7 @@ namespace App\Helper; use \Mpdf\Mpdf; use \Mpdf\HTMLParserMode; -use App\Util\Paket; +use App\Util\PaketClass; use App\Util\Info; class PaketPDFHelper { @@ -88,7 +88,7 @@ class PaketPDFHelper { <th>Sumber Dana</th> <th>Lokasi</th> <th >Keterangan</th> - <th>Pemilihan Penyehia</th> + <th>Pemilihan Penyedia</th> <th>Pagu</th> </tr> </thead> @@ -117,23 +117,7 @@ class PaketPDFHelper { return $paketTableHTML; } - private static function generatePaketMock(){ - $pakets = []; - $paket = new Paket("Diklat Kepemimpinan Tingkat III(Pengiriman)", "20312436", "Makan Minum Peserta,Panitia dan Pengajar Diklat,Seminar, Pelatihan,Lokakarya dan Sejenisnyaeselon III atau setara", "APBD", "Cimahi (Kota)", "Volume:1820 porsi <br> TKDN: Ya <br> Makan pagi, snack pagi,makan siang, snack sore, makan malam dan penyediaan air minum", "Tender", "263.900.000"); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - array_push($pakets, $paket); - - return $pakets; - } - - public static function generatePaketPDF($satker, $type, $pakets){ + public static function generatePaketPDF($satker, $opd, $pa, $paketPenyedia, $paketPenyediaDraf, $paketSwakelolaDraf, $paketSwakelola, $paketPenyediaSwakelola, $paketPenyediaSwakelolaDraf){ $mpdf = new Mpdf(['format' => 'Legal-L'] ); $bootstrap = file_get_contents("https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"); @@ -145,8 +129,7 @@ class PaketPDFHelper { $mpdf->WriteHTML('<br><br><br>'); $mpdf->WriteHTML('<h1 align="center">TAHUN ANGGARAN: 2019</h1>'); - $info = new Info("Pemerintah Daerah Provinsi Jawa Barat", "Badan Pengembangan Sumber Daya Manusia Provinsi JawaBarat", "Dr. H. MUHAMMAD SOLIHIN, M.Si <br> - 196304091989091001"); + $info = new Info($opd, $satker->nama, $pa); $overviewHTML = PaketPDFHelper::generateOverviewHTML($info); $mpdf->WriteHTML($overviewHTML); // Output a PDF file directly to the browser @@ -155,14 +138,14 @@ class PaketPDFHelper { $mpdf->WriteHTML('<h2>1. Paket Penyedia </h2>'); // Paket penyedia terumumkan $mpdf->WriteHTML('<h3>1.1. Paket Penyedia Terumumkan</h3>'); - $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "penyedia"); + // $pakets = PaketPDFHelper::generatePaketMock(); + $paketHTML = PaketPDFHelper::generatePaketTable($paketPenyedia, "penyedia"); $mpdf->WriteHTML($paketHTML); - + $mpdf->WriteHTML('<br>'); // Draft paket penyedia $mpdf->WriteHTML('<h3>1.2. Draft Paket Penyedia</h3>'); // $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "penyedia"); + $paketHTML = PaketPDFHelper::generatePaketTable($paketPenyediaDraf, "penyedia"); $mpdf->WriteHTML($paketHTML); $mpdf->AddPage(); @@ -170,14 +153,14 @@ class PaketPDFHelper { $mpdf->WriteHTML('<h2>2. Paket Swakelola </h2>'); // Swakelola terumumkan $mpdf->WriteHTML('<h3>2.1. Paket Swakelola Terumumkan</h3>'); - $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "swakelola"); + // $pakets = PaketPDFHelper::generatePaketMock(); + $paketHTML = PaketPDFHelper::generatePaketTable($paketSwakelola, "swakelola"); $mpdf->WriteHTML($paketHTML); - + $mpdf->WriteHTML('<br>'); // Swakelola terumumkan $mpdf->WriteHTML('<h3>2.2. Draft Paket Swakelola</h3>'); - $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "swakelola"); + // $pakets = PaketPDFHelper::generatePaketMock(); + $paketHTML = PaketPDFHelper::generatePaketTable($paketSwakelolaDraf, "swakelola"); $mpdf->WriteHTML($paketHTML); $mpdf->AddPage(); @@ -185,14 +168,15 @@ class PaketPDFHelper { $mpdf->WriteHTML('<h2>3. Paket Penyedia Dalam Swakelola </h2>'); // Swakelola terumumkan $mpdf->WriteHTML('<h3>3.1. Paket Penyedia Dalam Swakelola Terumumkan</h3>'); - $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "penyedia"); + // $pakets = PaketPDFHelper::generatePaketMock(); + $paketHTML = PaketPDFHelper::generatePaketTable($paketPenyediaSwakelola, "penyedia"); $mpdf->WriteHTML($paketHTML); + $mpdf->WriteHTML('<br>'); // Swakelola terumumkan $mpdf->WriteHTML('<h3>2.2. Draft Paket Penyedia Dalam Swakelola</h3>'); - $pakets = PaketPDFHelper::generatePaketMock(); - $paketHTML = PaketPDFHelper::generatePaketTable($pakets, "penyediaa"); + // $pakets = PaketPDFHelper::generatePaketMock(); + $paketHTML = PaketPDFHelper::generatePaketTable($paketPenyediaSwakelolaDraf, "penyediaa"); $mpdf->WriteHTML($paketHTML); $mpdf->Output(); diff --git a/app/Helper/RekapHelper.php b/app/Helper/RekapHelper.php index 4c44202fb0e929f4b58f6e2df6377c822708bd65..e494426fdae01fedc9dbd1c69deef558397c297c 100644 --- a/app/Helper/RekapHelper.php +++ b/app/Helper/RekapHelper.php @@ -19,7 +19,7 @@ class RekapHelper { public static function getPaketPenyediaSummary($kldis){ $kldiSummary = new RekapSummary(0, 0); foreach($kldis as $kldi){ - $paketKldi = $kldi->getPaket(); + $paketKldi = $kldi->getPaketPenyedia(); $summary = RekapHelper::calculatePaketSummary($paketKldi); $kldiSummary->sumPagu += $summary->sumPagu; $kldiSummary->countPaket += $summary->countPaket; @@ -27,12 +27,21 @@ class RekapHelper { return $kldiSummary; } - public static function getPaketSwakelolaSummary(){ - $sumPagu = 0; - $countPaket = 0; - // TODO: CARI PAKET SWAKELOLA - $summary = new RekapSummary($sumPagu, $countPaket); - return $summary; + public static function getPaketSwakelolaSummary($kldis){ + // $sumPagu = 0; + // $countPaket = 0; + // // TODO: CARI PAKET SWAKELOLA + // $summary = new RekapSummary($sumPagu, $countPaket); + // return $summary; + $kldiSummary = new RekapSummary(0, 0); + foreach($kldis as $kldi){ + $paketKldi = $kldi->getPaketSwakelola(); + $summary = RekapHelper::calculatePaketSummary($paketKldi); + $kldiSummary->sumPagu += $summary->sumPagu; + $kldiSummary->countPaket += $summary->countPaket; + } + return $kldiSummary; + } public static function getSummaryTotal($rekaps){ diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php deleted file mode 100644 index 6a247fefd088bae6baae483aa27872517393f5fe..0000000000000000000000000000000000000000 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -namespace App\Http\Controllers\Auth; - -use App\Http\Controllers\Controller; -use Illuminate\Foundation\Auth\SendsPasswordResetEmails; - -class ForgotPasswordController extends Controller -{ - /* - |-------------------------------------------------------------------------- - | Password Reset Controller - |-------------------------------------------------------------------------- - | - | This controller is responsible for handling password reset emails and - | includes a trait which assists in sending these notifications from - | your application to your users. Feel free to explore this trait. - | - */ - - use SendsPasswordResetEmails; - - /** - * Create a new controller instance. - * - * @return void - */ - public function __construct() - { - $this->middleware('guest'); - } -} diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index b2ea669a0d282114a7875ffe769da416a0c7f18e..191b2b6fe3d413f7b79d13dd40d5e387512f6ff2 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -25,7 +25,7 @@ class LoginController extends Controller * * @var string */ - protected $redirectTo = '/home'; + protected $redirectTo = '/'; /** * Create a new controller instance. diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 85b9057a0eff20766a539ec7a26925aebcd96f92..ebc88fc81af614febe19e9d3c385e583b30cc0c8 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -2,11 +2,11 @@ namespace App\Http\Controllers\Auth; -use App\User; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; +use App\Model\User; class RegisterController extends Controller { @@ -28,7 +28,7 @@ class RegisterController extends Controller * * @var string */ - protected $redirectTo = '/home'; + protected $redirectTo = '/'; /** * Create a new controller instance. @@ -67,6 +67,7 @@ class RegisterController extends Controller 'name' => $data['name'], 'email' => $data['email'], 'password' => Hash::make($data['password']), + 'role' => strtolower($data['role']), ]); } } diff --git a/app/Http/Controllers/CariPaket/CariPaketController.php b/app/Http/Controllers/CariPaket/CariPaketController.php new file mode 100644 index 0000000000000000000000000000000000000000..3674cfab7c9d10391237b885e0beabaeb6201412 --- /dev/null +++ b/app/Http/Controllers/CariPaket/CariPaketController.php @@ -0,0 +1,100 @@ +<?php + +namespace App\Http\Controllers\CariPaket; + +use App\Http\Controllers\Controller; +use App\Model\Penyedia; +use App\Model\Paket; +use App\Model\Satker; +use App\Model\Pengadaan; +use App\Model\PaketPenyedia; +use App\Model\PaketPenyediaSwakelola; +use App\Model\PaketSwakelola; +use App\Util\CariPaket; +use Illuminate\Http\Request; + +class CariPaketController extends Controller +{ + + public function showAllPaket(){ + $tahun = []; + $jenisP = []; + $metodeP = []; + + $paketData = Paket::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket_all.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 't_paket_all.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 't_paket_all.m_pengadaan_id') + ->select('t_paket_all.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $paketP = PaketPenyedia::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 't_paket.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 't_paket.m_pengadaan_id') + ->select('t_paket.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $spakets = PaketSwakelola::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 's_paket.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 's_paket.m_pengadaan_id') + ->select('s_paket.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $spaketpenyedia = PaketPenyediaSwakelola::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 's_paket_penyedia.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 's_paket_penyedia.m_pengadaan_id') + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $tahunAnggarans = Paket::distinct()->get(['tahun_anggaran']); + foreach($tahunAnggarans as $tahunAnggaran){ + array_push($tahun, $tahunAnggaran); + } + + $pengadaans = Pengadaan::distinct()->get(['nama']); + foreach($pengadaans as $pengadaan){ + array_push($jenisP, $pengadaan); + } + + $metodes = Penyedia::distinct()->get(['nama']); + foreach($metodes as $metode){ + array_push($metodeP, $metode); + } + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketAll = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $paketAll); + } + + foreach ($paketP as $datum) { + $paketPAll = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $paketPAll); + } + + foreach ($spakets as $datum) { + $Spaket = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $Spaket); + } + + foreach ($spaketpenyedia as $datum) { + $Spaketp = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $Spaketp); + } + + return response()->json(['dataPaket' => $data, 'tahun' => $tahun, 'pengadaan' => $jenisP, 'metode' => $metodeP]); + } +} diff --git a/app/Http/Controllers/CariPaket/FindPaketController.php b/app/Http/Controllers/CariPaket/FindPaketController.php new file mode 100644 index 0000000000000000000000000000000000000000..043911a3d09840d6f2b3cf62972f82de63802aa8 --- /dev/null +++ b/app/Http/Controllers/CariPaket/FindPaketController.php @@ -0,0 +1,109 @@ +<?php + +namespace App\Http\Controllers\CariPaket; + +use App\Http\Controllers\Controller; +use App\Model\Penyedia; +use App\Model\Paket; +use App\Model\Satker; +use App\Model\Pengadaan; +use App\Model\PaketPenyedia; +use App\Model\PaketPenyediaSwakelola; +use App\Model\PaketSwakelola; +use App\Util\CariPaket; +use Illuminate\Http\Request; + +class FindPaketController extends Controller +{ + + public function findPaket($tahunA, $keyword, $jenisP, $metode){ + $metodeP = []; + $keyword = str_replace('%20', ' ', $keyword); + $jenisP = str_replace('%20', ' ', $jenisP); + $metode = str_replace('%20', ' ', $metode); + + $paketData = Paket::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket_all.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 't_paket_all.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 't_paket_all.m_pengadaan_id') + ->select('t_paket_all.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $paketP = PaketPenyedia::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 't_paket.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 't_paket.m_pengadaan_id') + ->select('t_paket.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $spakets = PaketSwakelola::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 's_paket.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 's_paket.m_pengadaan_id') + ->select('s_paket.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $spaketpenyedia = PaketPenyediaSwakelola::with(['penyedia', 'kldi', 'satker', 'pengadaan']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->join('m_satker', 'm_satker.id', '=', 's_paket_penyedia.m_satker_id') + ->join('m_pengadaan', 'm_pengadaan.id', '=', 's_paket_penyedia.m_pengadaan_id') + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode', 'm_satker.nama as namaSatker', 'm_pengadaan.nama as jenisPengadaan') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketAll = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $paketAll); + } + + foreach ($paketP as $datum) { + $paketPAll = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $paketPAll); + } + + foreach ($spakets as $datum) { + $Spaket = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $Spaket); + } + + foreach ($spaketpenyedia as $datum) { + $Spaketp = new CariPaket($datum -> nama, $datum -> pagu, $datum->tahun_anggaran, $datum -> jenisPengadaan, + $datum -> metode, $datum -> tahun_anggaran, + $datum -> m_kldi_id, $datum -> namaSatker, $datum -> lokasi, $datum -> pid); + array_push($data, $Spaketp); + } + $result = []; + + if (($keyword == '') and ($jenisP == 'Semua') and ($metode == 'Semua')){ + foreach ($data as $d){ + if ($d->$tahun == $tahunA){ + array_push($result, $d); + } + } + return response()->json(['result' => $result]); + } else { + if ($jenisP == 'Semua'){ + $jenisP = ''; + } + + if ($metode == 'Semua'){ + $metode = ''; + } + + foreach ($data as $d){ + if (strpos($d->paket, $keyword) and ($d->$tahun == $tahunA) and strpos($d->$jenisPengadaan,$jenisP) and strpos($d->$metode,$metode)) + array_push($result, $d); + } + } + + return response()->json(['dataPaket' => $result]); + } +} diff --git a/app/Http/Controllers/CariPaket/ModalCariPaketController.php b/app/Http/Controllers/CariPaket/ModalCariPaketController.php new file mode 100644 index 0000000000000000000000000000000000000000..50876171332dea1017be57363a6e4f0b427578a3 --- /dev/null +++ b/app/Http/Controllers/CariPaket/ModalCariPaketController.php @@ -0,0 +1,103 @@ +<?php + +namespace App\Http\Controllers\CariPaket; + + +use App\Http\Controllers\Controller; +use App\Constants\Links; +use App\Model\Paket; +use App\Model\PaketPenyedia; +use App\Model\PaketSwakelola; +use App\Model\PaketPenyediaSwakelola; +use App\Model\Satker; +use App\Model\KLDI; +use App\Model\Kota; +use App\Model\Kabupaten; +use App\Model\Pengadaan; +use App\Model\Penyedia; +use App\Util\CariPaketClass; +use Illuminate\Http\Request; + +class ModalCariPaketController extends Controller +{ + + public function showDetailPaket($id_paket){ + $paket = Paket:://find($id_paket); + where('t_paket_all.pid', $id_paket) + ->select('t_paket_all.*') + -> get()->first(); + + if(empty($paket)){ + $paket = PaketPenyedia:://find($id_paket); + where('t_paket.pid', $id_paket) + ->select('t_paket.*') + -> get()->first(); + } + + if(empty($paket)){ + $paket = PaketSwakelola:://find($id_paket); + where('s_paket.pid', $id_paket) + ->select('s_paket.*') + -> get()->first(); + } + + if(empty($paket)){ + $paket = PaketPenyediaSwakelola:://find($id_paket); + where('s_paket_penyedia.pid', $id_paket) + ->select('s_paket_penyedia.*') + -> get()->first(); + } + + if(!empty($paket)){ + + $satker = Satker::find($paket -> m_satker_id); + $kldi = KLDI::find($paket -> m_kldi_id); + if ($kldi -> type_id == 1) { + $kldiName = 'Pemerintah Daerah Provinsi Jawa Barat'; + $kota_kabupaten = '-'; + } + else if ($kldi -> type_id == 2) { + $kldiName = Kota::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + else if ($kldi -> type_id == 3) { + $kldiName = Kabupaten::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + $provinsi = "Jawa Barat"; + $pengadaanName = Pengadaan::find($paket -> m_pengadaan_id) -> nama; + $penyediaName = Penyedia::find($paket -> m_penyedia_id) -> nama; + + // belom ada di db + $dalamNegeri = "-"; + $usahaKecil = "-"; + $DIPA_DPA = "-"; + $klpd = $kldiName; + $mak = "-"; + $paguSumberDana = $paket -> pagu; + $totalSumberDana = $paket -> pagu; + $bulanKebutuhan = $paket -> created_at; + + // create sumber dana + $sumberDana["nama"] = $paket -> sumber_dana; + $sumberDana["mak"] = $mak; + $sumberDana["TA"] = "-"; + $sumberDana["pagu"] = $paguSumberDana; + $sumberDana["klpd"] = $klpd; + + $nama = $paket -> nama; + $satkerNama = $satker -> nama; + $paketModal = new CariPaketClass($id_paket, $nama, $kldiName, $satkerNama, + $paket -> tahun_anggaran, $provinsi, $kota_kabupaten, $paket -> lokasi, $paket -> volume, + $paket -> deskripsi, $paket -> d_spesifikasi_teknis, $dalamNegeri, $usahaKecil, $DIPA_DPA, + $sumberDana, $totalSumberDana, $pengadaanName, $paket -> pagu, $penyediaName, $bulanKebutuhan, + $paket -> d_end_work, $paket -> d_start_work, $paket -> d_end, $paket -> d_start, $paket -> updated_at ); + + + return response()->json(['paket' => $paketModal]); + + } + + + } +} diff --git a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKabupatenController.php b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKabupatenController.php index f9df10ed35f223a8128b60fae42f15e1f1926911..4db97a110c27c16516acd0fc812dae879d83fe95 100644 --- a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKabupatenController.php +++ b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKabupatenController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\PemdaPenyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\Type; use App\Model\KLDI; use App\Model\Satker; @@ -38,7 +38,7 @@ class PemdaPenyediaKabupatenController extends Controller $typeID = $type -> id; } - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_kldi', 'm_kldi.id', '=', 't_paket.m_kldi_id') ->where('m_kldi.type_id', $typeID) @@ -60,7 +60,7 @@ class PemdaPenyediaKabupatenController extends Controller $satkerName = $satker -> nama; } - $paketPenyediaKabupaten = new PemdaPenyediaDaerah($satkerName, $datum -> nama, $datum -> pagu, + $paketPenyediaKabupaten = new PemdaPenyediaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaKabupaten); } diff --git a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKotaController.php b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKotaController.php index 612972e6390381889d312fe9ea5bec27ea5796f1..b92cb45d1d3f10e682f816411c3a51af4cec9416 100644 --- a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKotaController.php +++ b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaKotaController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\PemdaPenyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\Type; use App\Model\KLDI; use App\Model\Satker; @@ -19,10 +19,10 @@ class PemdaPenyediaKotaController extends Controller // join // get kode kldi kota + $kotaName = ''; $kota = Kota::find($id_kota); if (empty($kota)) { $kldi = 0; - $kotaName = ''; } else { $kldi = $kota -> m_kldi_id; @@ -38,7 +38,7 @@ class PemdaPenyediaKotaController extends Controller $typeID = $type -> id; } - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_kldi', 'm_kldi.id', '=', 't_paket.m_kldi_id') ->where('m_kldi.type_id', $typeID) @@ -52,19 +52,17 @@ class PemdaPenyediaKotaController extends Controller foreach ($paketData as $datum) { // get nama satker $satker = Satker::find($datum -> m_satker_id); - - if (empty($satker)) { - $satkerName = ''; - } - else { + + $satkerName = ''; + if (!empty($satker)) { $satkerName = $satker -> nama; } - $paketPenyediaKota = new PemdaPenyediaDaerah($satkerName, $datum -> nama, $datum -> pagu, + $paketPenyediaKota = new PemdaPenyediaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaKota); } - return response()->json(['paketPenyedia' => $data, 'title'=> $satkerName]); + return response()->json(['paketPenyedia' => $data, 'title'=> $kotaName]); } } diff --git a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaProvinsiController.php b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaProvinsiController.php index 5e8fd4c56e9181285e48099569721a4aa1b8f0a6..4c0cf3dc9eafdbc5e0bcb424f5c9c40ec5bb1ac5 100644 --- a/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaProvinsiController.php +++ b/app/Http/Controllers/PemdaPenyedia/PemdaPenyediaProvinsiController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\PemdaPenyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\Type; use App\Model\KLDI; use App\Model\Satker; @@ -27,7 +27,7 @@ class PemdaPenyediaProvinsiController extends Controller $typeID = $type -> id; } - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_kldi', 'm_kldi.id', '=', 't_paket.m_kldi_id') ->where('m_kldi.type_id', $typeID) @@ -48,7 +48,7 @@ class PemdaPenyediaProvinsiController extends Controller $satkerName = $satker -> nama; } - $paketPenyediaProvinsi = new PemdaPenyediaDaerah($satkerName, $datum -> nama, $datum -> pagu, + $paketPenyediaProvinsi = new PemdaPenyediaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaProvinsi); } diff --git a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKabupatenController.php b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKabupatenController.php index 787b1ddff9edd362628b5ffcee0d18196dbdb1cf..b929c78b403f7bc00886952c7fcd7ca302b2fa9f 100644 --- a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKabupatenController.php +++ b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKabupatenController.php @@ -1,15 +1,67 @@ <?php -namespace App\Http\Controllers\PemdaSwakelola; +namespace App\Http\Controllers\PemdaPenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\PemdaSwakelolaDaerah; +use App\Util\PemdaPenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\KLDI; +use App\Model\Type; +use App\Model\Penyedia; +use App\Model\Satker; +use App\Model\Kabupaten; use Illuminate\Http\Request; -class PemdaSwakelolaKabupatenController extends Controller +class PemdaPenyediaSwakelolaKabupatenController extends Controller { public function showKabupaten($id_kabupaten){ - return view('pemdaPenyediaSwakelola.pemdaKabupaten'); + $kabupaten = Kabupaten::find($id_kabupaten); + if (empty($kabupaten)) { + $kldi = 0; + $kabupatenName = ''; + } + else { + $kldi = $kabupaten -> m_kldi_id; + $kabupatenName = $kabupaten -> nama; + } + + // get type kabupaten + $type = Type::where('name', 'Kabupaten') -> first(); + + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->join('m_kldi', 'm_kldi.id', '=', 's_paket_penyedia.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->where('m_kldi.id', $kldi) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketSwakelolaKabupaten = new PemdaPenyediaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, + $datum->tahun_anggaran, $datum -> metode, $datum -> sumber_dana); + array_push($data, $paketSwakelolaKabupaten); + } + + return response()->json(['paket' => $data, 'title'=> $kabupatenName]); } } diff --git a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKotaController.php b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKotaController.php index 9b8888a04e1aa88171a41e2f844144f4f4c3d401..8cbc478edd7c05034abef5c44c317a2591e634f0 100644 --- a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKotaController.php +++ b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaKotaController.php @@ -1,16 +1,69 @@ <?php -namespace App\Http\Controllers\PemdaSwakelola; +namespace App\Http\Controllers\PemdaPenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\PemdaSwakelolaDaerah; +use App\Util\PemdaPenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\KLDI; +use App\Model\Type; +use App\Model\Penyedia; +use App\Model\Satker; +use App\Model\Provinsi; +use App\Model\Kota; use Illuminate\Http\Request; -class PemdaSwakelolaKotaController extends Controller +class PemdaPenyediaSwakelolaKotaController extends Controller { public function showKota($id_kota){ - return view('pemdaPenyediaSwakelola.pemdaKota'); + $kotaName = ''; + $kota = Kota::find($id_kota); + if (empty($kota)) { + $kldi = 0; + } + else { + $kldi = $kota -> m_kldi_id; + $kotaName = $kota -> nama; + } + + // get type kota + $type = Type::where('name', 'Kota') -> first(); + + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->join('m_kldi', 'm_kldi.id', '=', 's_paket_penyedia.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->where('m_kldi.id', $kldi) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketSwakelolaKota = new PemdaPenyediaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, + $datum->tahun_anggaran, $datum -> metode, $datum -> sumber_dana); + array_push($data, $paketSwakelolaKota); + } + + return response()->json(['paket' => $data, 'title'=> $kotaName]); } } diff --git a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaProvinsiController.php b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaProvinsiController.php index deb0cf23ee2c6fa62e3a47fbdca75f44b5d4cfbf..be64ce72408c0a21518731698b4984f39c5daf5b 100644 --- a/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaProvinsiController.php +++ b/app/Http/Controllers/PemdaPenyediaSwakelola/PemdaPenyediaSwakelolaProvinsiController.php @@ -1,16 +1,71 @@ <?php -namespace App\Http\Controllers\PemdaSwakelola; +namespace App\Http\Controllers\PemdaPenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\PemdaSwakelolaDaerah; +use App\Util\PemdaPenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\KLDI; +use App\Model\Type; +use App\Model\Penyedia; +use App\Model\Satker; +use App\Model\Provinsi; use Illuminate\Http\Request; -class PemdaSwakelolaProvinsiController extends Controller +class PemdaPenyediaSwakelolaProvinsiController extends Controller { public function showProvinsi(){ + $type = Type::where('name', 'Provinsi') -> first(); - return view('pemdaPenyediaSwakelola.pemdaProvinsi'); + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->join('m_kldi', 'm_kldi.id', '=', 's_paket_penyedia.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketPenyediaSwakelolaProvinsi = new PemdaPenyediaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, + $datum->tahun_anggaran, $datum -> metode, $datum -> sumber_dana); + array_push($data, $paketPenyediaSwakelolaProvinsi); + } + + // get nama provinsi + $kldi = KLDI::where('type_id', $typeID) -> first(); + + if (empty($kldi)) { + $provinsiName = ''; + } + else { + $provinsi = Provinsi::where('m_kldi_id', $kldi -> id) -> first(); + if (empty($provinsi)) { + $provinsiName = ''; + } + else { + $provinsiName = $provinsi -> nama; + } + } + + return response()->json(['paket' => $data, 'title'=> $satkerName]); } } diff --git a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKabupatenController.php b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKabupatenController.php index df1b5e6ebb5fb46ee377b1c502328334111a81a3..d75706f43f6fb0869482004f5f2629b7e7f222f5 100644 --- a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKabupatenController.php +++ b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKabupatenController.php @@ -3,6 +3,11 @@ namespace App\Http\Controllers\PemdaSwakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Type; +use App\Model\KLDI; +use App\Model\Satker; +use App\Model\Kabupaten; use App\Util\PemdaSwakelolaDaerah; use Illuminate\Http\Request; @@ -11,45 +16,50 @@ class PemdaSwakelolaKabupatenController extends Controller public function showKabupaten($id_kabupaten){ - $data = Array ( - "0" => Array ( - "no" => "1", - "satuanKerja" => "BIRO HUKUM DAN HAM SETDA PROVINSI JAWA BARAT", - "kegiatan" => "Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum", - "pagu" => "356.500.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Kegiatan Pengelolaaan Website Dinas Perhubungan Provinsi Jawa Barat", - "pagu" => "161.200.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Revitalisasi Sarana Dan Prasarana Terminal Tipe B di Wilayah IV", - "pagu" => "14.900.000", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Pemeliharaan Kendaraan Dinas UPTD Pengelolaan Prasarana Perhubungan LLAJ Wilayah IV", - "pagu" => "200.198.000", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Jasa Keamanan dan Kebersihan UPTD Pengelolaan Prasarana Perhubungan Wilayah IV", - "pagu" => "683.266.403", - "sumberDana" => "APBD" - ) - ); + $kabupaten = Kabupaten::find($id_kabupaten); + if (empty($kabupaten)) { + $kldi = 0; + $kabupatenName = ''; + } + else { + $kldi = $kabupaten -> m_kldi_id; + $kabupatenName = $kabupaten -> nama; + } + + // get type kabupaten + $type = Type::where('name', 'Kabupaten') -> first(); + + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketSwakelola:: + join('m_kldi', 'm_kldi.id', '=', 's_paket.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->where('m_kldi.id', $kldi) + ->select('s_paket.*') + -> get(); + + $data = []; - $kabupatenName = "BANDUNG"; + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketSwakelolaKabupaten = new PemdaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, + $datum -> sumber_dana); + array_push($data, $paketSwakelolaKabupaten); + } return response()->json(['paketSwakelola' => $data, 'subtitle'=> $kabupatenName]); } diff --git a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKotaController.php b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKotaController.php index 5fccd7a67a7f0b7324d146773ca57e50de667bba..d4bc1bca0656ab7abe722e215674ce4c7c347a90 100644 --- a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKotaController.php +++ b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaKotaController.php @@ -3,53 +3,66 @@ namespace App\Http\Controllers\PemdaSwakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Type; +use App\Model\KLDI; +use App\Model\Satker; +use App\Model\Kota; use App\Util\PemdaSwakelolaDaerah; use Illuminate\Http\Request; + class PemdaSwakelolaKotaController extends Controller { public function showKota($id_kota){ - $data = Array ( - "0" => Array ( - "no" => "1", - "satuanKerja" => "BIRO HUKUM DAN HAM SETDA PROVINSI JAWA BARAT", - "kegiatan" => "Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum", - "pagu" => "356.500.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Kegiatan Pengelolaaan Website Dinas Perhubungan Provinsi Jawa Barat", - "pagu" => "161.200.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Revitalisasi Sarana Dan Prasarana Terminal Tipe B di Wilayah IV", - "pagu" => "14.900.000", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Pemeliharaan Kendaraan Dinas UPTD Pengelolaan Prasarana Perhubungan LLAJ Wilayah IV", - "pagu" => "200.198.000", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Jasa Keamanan dan Kebersihan UPTD Pengelolaan Prasarana Perhubungan Wilayah IV", - "pagu" => "683.266.403", - "sumberDana" => "APBD" - ) - ); + // get kode kldi kota + $kotaName = ''; + $kota = Kota::find($id_kota); + if (empty($kota)) { + $kldi = 0; + } + else { + $kldi = $kota -> m_kldi_id; + $kotaName = $kota -> nama; + } + + // get type kota + $type = Type::where('name', 'Kota') -> first(); + + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketSwakelola:: + join('m_kldi', 'm_kldi.id', '=', 's_paket.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->where('m_kldi.id', $kldi) + ->select('s_paket.*') + -> get(); + + $data = []; - $kotaName = "BANDUNG"; + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketSwakelolaKota = new PemdaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, + $datum -> sumber_dana); + array_push($data, $paketSwakelolaKota); + } + return response()->json(['paketSwakelola' => $data, 'subtitle'=> $kotaName]); } diff --git a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaProvinsiController.php b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaProvinsiController.php index e690359025a2fdec4240e5bbabbd343e0ff22582..12a3097d0ea80962f8eb0f76792e5e5a62f119d7 100644 --- a/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaProvinsiController.php +++ b/app/Http/Controllers/PemdaSwakelola/PemdaSwakelolaProvinsiController.php @@ -3,54 +3,68 @@ namespace App\Http\Controllers\PemdaSwakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Type; +use App\Model\KLDI; +use App\Model\Satker; +use App\Model\Provinsi; use App\Util\PemdaSwakelolaDaerah; use Illuminate\Http\Request; + class PemdaSwakelolaProvinsiController extends Controller { public function showProvinsi(){ - $data = Array ( - "0" => Array ( - "no" => "1", - "satuanKerja" => "BIRO HUKUM DAN HAM SETDA PROVINSI JAWA BARAT", - "kegiatan" => "Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum", - "pagu" => "356.500.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Kegiatan Pengelolaaan Website Dinas Perhubungan Provinsi Jawa Barat", - "pagu" => "161.200.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Revitalisasi Sarana Dan Prasarana Terminal Tipe B di Wilayah IV", - "pagu" => "14.900.000", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Pemeliharaan Kendaraan Dinas UPTD Pengelolaan Prasarana Perhubungan LLAJ Wilayah IV", - "pagu" => "200.198.000", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "satuanKerja" => "DINAS PERHUBUNGAN PROVINSI JAWA BARAT", - "kegiatan" => "Swakelola Kegiatan Penyediaan Jasa Keamanan dan Kebersihan UPTD Pengelolaan Prasarana Perhubungan Wilayah IV", - "pagu" => "683.266.403", - "sumberDana" => "APBD" - ) - ); + // get type provinsi + $type = Type::where('name', 'Provinsi') -> first(); + + $typeID = 0; + + if (!empty($type)) { + $typeID = $type -> id; + } + + $paketData = PaketSwakelola:: + join('m_kldi', 'm_kldi.id', '=', 's_paket.m_kldi_id') + ->where('m_kldi.type_id', $typeID) + ->select('s_paket.*') + -> get(); + + $data = []; - $provinsiName = "JAWA BARAT"; + // $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + // get nama satker + $satker = Satker::find($datum -> m_satker_id); + + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + $paketSwakelolaProvinsi = new PemdaSwakelolaDaerah($datum -> id, $satkerName, $datum -> nama, $datum -> pagu, $datum -> sumber_dana); + array_push($data, $paketSwakelolaProvinsi); + } + + // get nama provinsi + $kldi = KLDI::where('type_id', $typeID) -> first(); + if (empty($kldi)) { + $provinsiName = ''; + } + else { + $provinsi = Provinsi::where('m_kldi_id', $kldi -> id) -> first(); + if (empty($provinsi)) { + $provinsiName = ''; + } + else { + $provinsiName = $provinsi -> nama; + } + } return response()->json(['paketSwakelola' => $data, 'subtitle'=> $provinsiName]); } } diff --git a/app/Http/Controllers/Penyedia/PenyediaKabupatenController.php b/app/Http/Controllers/Penyedia/PenyediaKabupatenController.php index 42268d7936f44423924111d60c14e48efc6ea142..5ab7b53a90185c54986798db4fa31488b3314929 100644 --- a/app/Http/Controllers/Penyedia/PenyediaKabupatenController.php +++ b/app/Http/Controllers/Penyedia/PenyediaKabupatenController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Penyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\Satker; use App\Model\Kabupaten; use App\Util\PenyediaDaerah; @@ -25,7 +25,7 @@ class PenyediaKabupatenController extends Controller $kldi = $kabupaten -> m_kldi_id; } - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_satker', 'm_satker.id', '=', 't_paket.m_satker_id') ->where('t_paket.m_satker_id', $id_satker) @@ -37,7 +37,7 @@ class PenyediaKabupatenController extends Controller // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana foreach ($paketData as $datum) { - $paketPenyediaKabupaten = new PenyediaDaerah($datum -> nama, $datum -> pagu, + $paketPenyediaKabupaten = new PenyediaDaerah($datum -> id, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaKabupaten); } diff --git a/app/Http/Controllers/Penyedia/PenyediaKotaController.php b/app/Http/Controllers/Penyedia/PenyediaKotaController.php index 34a8e9e529fb343bdee4b2a0fafe7b4ded90eb8a..db8f74df4c87b8c760e84637e4634f2682530da0 100644 --- a/app/Http/Controllers/Penyedia/PenyediaKotaController.php +++ b/app/Http/Controllers/Penyedia/PenyediaKotaController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Penyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\Satker; use App\Model\Kota; use App\Util\PenyediaDaerah; @@ -25,7 +25,7 @@ class PenyediaKotaController extends Controller $kldi = $kota -> m_kldi_id; } - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_satker', 'm_satker.id', '=', 't_paket.m_satker_id') ->where('t_paket.m_satker_id', $id_satker) @@ -37,7 +37,7 @@ class PenyediaKotaController extends Controller // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana foreach ($paketData as $datum) { - $paketPenyediaKota = new PenyediaDaerah($datum -> nama, $datum -> pagu, + $paketPenyediaKota = new PenyediaDaerah($datum -> id, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaKota); } diff --git a/app/Http/Controllers/Penyedia/PenyediaModalController.php b/app/Http/Controllers/Penyedia/PenyediaModalController.php new file mode 100644 index 0000000000000000000000000000000000000000..1a269843bc2cfdfe7ad431f659c9eb7259bfe622 --- /dev/null +++ b/app/Http/Controllers/Penyedia/PenyediaModalController.php @@ -0,0 +1,67 @@ +<?php + +namespace App\Http\Controllers\Penyedia; + +use App\Http\Controllers\Controller; +use App\Constants\Links; +use App\Model\PaketPenyedia; +use App\Model\Satker; +use App\Model\KLDI; +use App\Model\Kota; +use App\Model\Kabupaten; +use App\Model\Pengadaan; +use App\Model\Penyedia; +use App\Util\PaketPenyediaClass; +use Illuminate\Http\Request; + +class PenyediaModalController extends Controller +{ + public function showDetailPaket($id_paket) { + + $paket = PaketPenyedia::find($id_paket); + $satker = Satker::find($paket -> m_satker_id); + $kldi = KLDI::find($paket -> m_kldi_id); + if ($kldi -> type_id == 1) { + $kldiName = 'Pemerintah Daerah Provinsi Jawa Barat'; + $kota_kabupaten = '-'; + } + else if ($kldi -> type_id == 2) { + $kldiName = Kota::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + else if ($kldi -> type_id == 3) { + $kldiName = Kabupaten::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + + $provinsi = "Jawa Barat"; + $pengadaanName = Pengadaan::find($paket -> m_pengadaan_id) -> nama; + $penyediaName = Penyedia::find($paket -> m_penyedia_id) -> nama; + + // belom ada di db + $dalamNegeri = "-"; + $usahaKecil = "-"; + $DIPA_DPA = "-"; + $klpd = $kldiName; + $mak = "-"; + $paguSumberDana = $paket -> pagu; + $totalSumberDana = $paket -> pagu; + $bulanKebutuhan = $paket -> created_at; + + // create sumber dana + $sumberDana["nama"] = $paket -> sumber_dana; + $sumberDana["mak"] = $mak; + $sumberDana["TA"] = "-"; + $sumberDana["pagu"] = $paguSumberDana; + $sumberDana["klpd"] = $klpd; + + // asumsi id_paket = rup + $paketModalPenyedia = new PaketPenyediaClass($id_paket, $paket -> nama, $kldiName, $satker -> nama, + $paket -> tahun_anggaran, $provinsi, $kota_kabupaten, $paket -> lokasi, $paket -> volume, + $paket -> deskripsi, $paket -> d_spesifikasi_teknis, $dalamNegeri, $usahaKecil, $DIPA_DPA, + $sumberDana, $totalSumberDana, $pengadaanName, $paket -> pagu, $penyediaName, $bulanKebutuhan, + $paket -> d_end_work, $paket -> d_start_work, $paket -> d_end, $paket -> d_start, $paket -> updated_at ); + + return response()->json(['paket' => $paketModalPenyedia]); + } +} diff --git a/app/Http/Controllers/Penyedia/PenyediaProvinsiController.php b/app/Http/Controllers/Penyedia/PenyediaProvinsiController.php index e7f0091b758d7b4a645d45ff48757d26472bddc6..605a9a1b5ddf702ec81e9fd46d66af9e4d19b9e4 100644 --- a/app/Http/Controllers/Penyedia/PenyediaProvinsiController.php +++ b/app/Http/Controllers/Penyedia/PenyediaProvinsiController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Penyedia; use App\Http\Controllers\Controller; use App\Model\Penyedia; -use App\Model\Paket; +use App\Model\PaketPenyedia; use App\Model\KLDI; use App\Model\Satker; use App\Util\PenyediaDaerah; @@ -16,7 +16,7 @@ class PenyediaProvinsiController extends Controller public function showProvinsi($id_satker){ // join - $paketData = Paket::with(['penyedia', 'kldi']) + $paketData = PaketPenyedia::with(['penyedia', 'kldi']) ->join('m_penyedia', 'm_penyedia.id', '=', 't_paket.m_penyedia_id') ->join('m_satker', 'm_satker.id', '=', 't_paket.m_satker_id') ->where('t_paket.m_satker_id', $id_satker) @@ -27,7 +27,7 @@ class PenyediaProvinsiController extends Controller // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana foreach ($paketData as $datum) { - $paketPenyediaProvinsi = new PenyediaDaerah($datum -> nama, $datum -> pagu, + $paketPenyediaProvinsi = new PenyediaDaerah($datum -> id, $datum -> nama, $datum -> pagu, $datum -> metode, $datum -> sumber_dana); array_push($data, $paketPenyediaProvinsi); } diff --git a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKabupatenController.php b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKabupatenController.php index ed8aba03ac34b7085139b6e389a16a92f74f45cb..2971495a9e5820c23462775fff2e58579275b5d1 100644 --- a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKabupatenController.php +++ b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKabupatenController.php @@ -1,15 +1,53 @@ <?php -namespace App\Http\Controllers\Swakelola; +namespace App\Http\Controllers\PenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\SwakelolaDaerah; +use App\Util\PenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\Kabupaten; +use App\Model\Satker; +use App\Model\KLDI; use Illuminate\Http\Request; -class SwakelolaKabupatenController extends Controller +class PenyediaSwakelolaKabupatenController extends Controller { public function showKabupaten($id_kabupaten, $id_satker){ - return view('swakelola.kabupaten'); + $kabupaten = Kabupaten::find($id_kabupaten); + if (empty($kabupaten)) { + $kldi = 0; + } + else { + $kldi = $kabupaten -> m_kldi_id; + } + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_satker', 'm_satker.id', '=', 's_paket_penyedia.m_satker_id') + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->where('s_paket_penyedia.m_satker_id', $id_satker) + ->where('s_paket_penyedia.m_kldi_id', $kldi) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketPenyediaKabupaten = new PenyediaSwakelolaDaerah($datum -> id, $datum -> nama, $datum -> nama, + $datum -> pagu, $datum->metode, $datum -> sumber_dana); + array_push($data, $paketPenyediaKabupaten); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + return response()->json(['paket' => $data, 'subtitle'=> $satkerName]); } } diff --git a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKotaController.php b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKotaController.php index cda022c73d5cd4690ceb1d4d7aea8c326d811132..e99fe43fa3b7935cf6a25b9f25c296839414f79e 100644 --- a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKotaController.php +++ b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaKotaController.php @@ -1,15 +1,53 @@ <?php -namespace App\Http\Controllers\Swakelola; +namespace App\Http\Controllers\PenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\SwakelolaDaerah; +use App\Util\PenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\Satker; +use App\Model\KLDI; +use App\Model\Kota; use Illuminate\Http\Request; -class SwakelolaKotaController extends Controller +class PenyediaSwakelolaKotaController extends Controller { public function showKota($id_kota, $id_satker){ - return view('penyediaSwakelola.kota'); + $kota = Kota::find($id_kota); + if (empty($kota)) { + $kldi = 0; + } + else { + $kldi = $kota -> m_kldi_id; + } + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_satker', 'm_satker.id', '=', 's_paket_penyedia.m_satker_id') + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->where('s_paket_penyedia.m_satker_id', $id_satker) + ->where('s_paket_penyedia.m_kldi_id', $kldi) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketPenyediaKota = new PenyediaSwakelolaDaerah($datum -> id, $datum -> nama, $datum -> nama, + $datum -> pagu, $datum->metode, $datum -> sumber_dana); + array_push($data, $paketPenyediaKota); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + return response()->json(['paket' => $data, 'subtitle'=> $satkerName]); } } diff --git a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaModalController.php b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaModalController.php new file mode 100644 index 0000000000000000000000000000000000000000..4ac7623b39ff3fe8aaa8463ef23bd576d7ed16d5 --- /dev/null +++ b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaModalController.php @@ -0,0 +1,67 @@ +<?php + +namespace App\Http\Controllers\PenyediaSwakelola; + +use App\Http\Controllers\Controller; +use App\Constants\Links; +use App\Model\PaketPenyediaSwakelola; +use App\Model\Satker; +use App\Model\KLDI; +use App\Model\Kota; +use App\Model\Kabupaten; +use App\Model\Pengadaan; +use App\Model\Penyedia; +use App\Util\PaketPenyediaSwakelolaClass; +use Illuminate\Http\Request; + +class PenyediaSwakelolaModalController extends Controller +{ + public function showDetailPaket($id_paket) { + + $paket = PaketPenyediaSwakelola::find($id_paket); + $satker = Satker::find($paket -> m_satker_id); + $kldi = KLDI::find($paket -> m_kldi_id); + if ($kldi -> type_id == 1) { + $kldiName = 'Pemerintah Daerah Provinsi Jawa Barat'; + $kota_kabupaten = '-'; + } + else if ($kldi -> type_id == 2) { + $kldiName = Kota::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + else if ($kldi -> type_id == 3) { + $kldiName = Kabupaten::where('m_kldi_id', $kldi -> id) -> first() -> nama; + $kota_kabupaten = $kldiName; + } + + $provinsi = "Jawa Barat"; + $pengadaanName = Pengadaan::find($paket -> m_pengadaan_id) -> nama; + $penyediaName = Penyedia::find($paket -> m_penyedia_id) -> nama; + + // belom ada di db + $dalamNegeri = "-"; + $usahaKecil = "-"; + $DIPA_DPA = "-"; + $klpd = $kldiName; + $mak = "-"; + $paguSumberDana = $paket -> pagu; + $totalSumberDana = $paket -> pagu; + $bulanKebutuhan = $paket -> created_at; + + // create sumber dana + $sumberDana["nama"] = $paket -> sumber_dana; + $sumberDana["mak"] = $mak; + $sumberDana["TA"] = "-"; + $sumberDana["pagu"] = $paguSumberDana; + $sumberDana["klpd"] = $klpd; + + // asumsi id_paket = rup + $paketModalPenyediaSwakelola = new PaketPenyediaSwakelolaClass($id_paket, $paket -> nama, $kldiName, $satker -> nama, + $paket -> tahun_anggaran, $provinsi, $kota_kabupaten, $paket -> lokasi, $paket -> volume, + $paket -> deskripsi, $paket -> d_spesifikasi_teknis, $dalamNegeri, $usahaKecil, $DIPA_DPA, + $sumberDana, $totalSumberDana, $pengadaanName, $paket -> pagu, $penyediaName, $bulanKebutuhan, + $paket -> d_end_work, $paket -> d_start_work, $paket -> d_end, $paket -> d_start, $paket -> updated_at ); + + return response()->json(['paket' => $paketModalPenyediaSwakelola]); + } +} diff --git a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaProvinsiController.php b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaProvinsiController.php index 6127818502a0d62a3ae3a68407e80bd2f534f716..c9741b7f016930ecd56f1d513947a11f505de89e 100644 --- a/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaProvinsiController.php +++ b/app/Http/Controllers/PenyediaSwakelola/PenyediaSwakelolaProvinsiController.php @@ -1,15 +1,43 @@ <?php -namespace App\Http\Controllers\Swakelola; +namespace App\Http\Controllers\PenyediaSwakelola; use App\Http\Controllers\Controller; -use App\Util\SwakelolaDaerah; +use App\Util\PenyediaSwakelolaDaerah; +use App\Model\PaketPenyediaSwakelola; +use App\Model\Satker; use Illuminate\Http\Request; -class SwakelolaProvinsiController extends Controller +class PenyediaSwakelolaProvinsiController extends Controller { public function showProvinsi($id_satker){ - return view('penyediaSwakelola.provinsi'); + + $paketData = PaketPenyediaSwakelola::with(['penyedia', 'kldi']) + ->join('m_satker', 'm_satker.id', '=', 's_paket_penyedia.m_satker_id') + ->join('m_penyedia', 'm_penyedia.id', '=', 's_paket_penyedia.m_penyedia_id') + ->where('s_paket_penyedia.m_satker_id', $id_satker) + ->select('s_paket_penyedia.*', 'm_penyedia.nama as metode') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketPenyediaSwakelolaProvinsi = new PenyediaSwakelolaDaerah($datum -> id, $datum -> kegiatan, $datum -> nama, + $datum -> pagu, $datum->metode, $datum -> sumber_dana); + array_push($data, $paketPenyediaSwakelolaProvinsi); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } + + return response()->json(['paket' => $data, 'subtitle'=> $satkerName]); } } diff --git a/app/Http/Controllers/Rekap/DetailRekapController.php b/app/Http/Controllers/Rekap/DetailRekapController.php index 754fd7c95a01b4d461f271603055ab4f9f992cbc..d8667c8788890464d21f7b432e551599bcb3d829 100644 --- a/app/Http/Controllers/Rekap/DetailRekapController.php +++ b/app/Http/Controllers/Rekap/DetailRekapController.php @@ -23,10 +23,10 @@ class DetailRekapController extends Controller //count paket yang satkers id = satker foreach ($satkers as $satker) { - $paketBySatker = $satker->getPaket(); - // $totalPaketBySatker = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerSwakelola = new RekapSummary(0,0); + $paketBySatkerPenyedia = $satker->getPaketPenyedia(); + $paketBySatkerSwakelola = $satker->getPaketSwakelola(); + $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatkerPenyedia); + $satkerSwakelola = RekapHelper::calculatePaketSummary($paketBySatkerSwakelola); $paketSatker = new Rekap($satker->nama, $satkerPenyedia, $satkerSwakelola, '', @@ -47,10 +47,10 @@ class DetailRekapController extends Controller //count paket yang satkers id = satker foreach ($satkers as $satker) { - $paketBySatker = $satker->getPaket(); - // $totalPaketBySatker = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerSwakelola = new RekapSummary(0,0); + $paketBySatkerPenyedia = $satker->getPaketPenyedia(); + $paketBySatkerSwakelola = $satker->getPaketSwakelola(); + $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatkerPenyedia); + $satkerSwakelola = RekapHelper::calculatePaketSummary($paketBySatkerSwakelola); $linkPenyedia = str_replace('{id_satker}', $satker->id, Links::LINK_KOTA_PENYEDIA); @@ -79,10 +79,10 @@ class DetailRekapController extends Controller //count paket yang satkers id = satker foreach ($satkers as $satker) { - $paketBySatker = $satker->getPaket(); - // $totalPaketBySatker = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatker); - $satkerSwakelola = new RekapSummary(0,0); + $paketBySatkerPenyedia = $satker->getPaketPenyedia(); + $paketBySatkerSwakelola = $satker->getPaketSwakelola(); + $satkerPenyedia = RekapHelper::calculatePaketSummary($paketBySatkerPenyedia); + $satkerSwakelola = RekapHelper::calculatePaketSummary($paketBySatkerSwakelola); $linkPenyedia = str_replace('{id_satker}', $satker->id, Links::LINK_KABUPATEN_PENYEDIA); $linkSwakelola = str_replace('{id_satker}', $satker->id, Links::LINK_KABUPATEN_SWAKELOLA); diff --git a/app/Http/Controllers/Rekap/KabupatenController.php b/app/Http/Controllers/Rekap/KabupatenController.php index a35b2b9f169a19a9cb62e7aa30b6b6179999ec9a..6d70fc121bd32363215db730119cd753c10d58f2 100644 --- a/app/Http/Controllers/Rekap/KabupatenController.php +++ b/app/Http/Controllers/Rekap/KabupatenController.php @@ -19,8 +19,8 @@ class KabupatenController extends Controller foreach($kabupatens as $kabupaten){ $namaKabupaten = $kabupaten->nama; - $paketPenyediaKabupaten = RekapHelper::calculatePaketSummary($kabupaten->getPaket()); - $paketSwakelolaKabupaten = new RekapSummary(0,0); + $paketPenyediaKabupaten = RekapHelper::calculatePaketSummary($kabupaten->getPaketPenyedia()); + $paketSwakelolaKabupaten = RekapHelper::calculatePaketSummary($kabupaten->getPaketSwakelola()); $rekapKabupaten = new Rekap( $namaKabupaten, $paketPenyediaKabupaten, diff --git a/app/Http/Controllers/Rekap/KotaController.php b/app/Http/Controllers/Rekap/KotaController.php index 68fa921c723e1c1d9d0b2a75c85868b6b7495278..2084d456d17d9d357c4a1a6b765803e93043cb9c 100644 --- a/app/Http/Controllers/Rekap/KotaController.php +++ b/app/Http/Controllers/Rekap/KotaController.php @@ -19,8 +19,8 @@ class KotaController extends Controller foreach($kotas as $kota){ $namaKota = $kota->nama; - $paketPenyediaKota = RekapHelper::calculatePaketSummary($kota->getPaket()); - $paketSwakelolaKota = new RekapSummary(0,0); + $paketPenyediaKota = RekapHelper::calculatePaketSummary($kota->getPaketPenyedia()); + $paketSwakelolaKota = RekapHelper::calculatePaketSummary($kota->getPaketSwakelola()); $rekapKota = new Rekap( $namaKota, $paketPenyediaKota, diff --git a/app/Http/Controllers/Status/KlasifikasiController.php b/app/Http/Controllers/Status/KlasifikasiController.php new file mode 100644 index 0000000000000000000000000000000000000000..1a22b8aaa838a55814d65cb5efcc8384383abeb1 --- /dev/null +++ b/app/Http/Controllers/Status/KlasifikasiController.php @@ -0,0 +1,27 @@ +<?php + +namespace App\Http\Controllers\Status; + +use App\Http\Controllers\Controller; +use App\Model\Paket; +use Illuminate\Http\Request; + +class KlasifikasiController extends Controller { + public function changeStatus($id_paket, $status, $jenis_paket) { + Paket::where('id', $id_paket) + ->update(['status' => $status+1, 'jenis_paket_id' => (int)$jenis_paket]); + + return response()->json(['status' => 200]); + } + + public function getJenisPaket($kodeRUP) { + $paket = Paket::where('pid', $kodeRUP)->first(); + if (empty($paket)) { + $jenis_paket_id = 0; + } + else { + $jenis_paket_id = $paket->jenis_paket_id; + } + return response()->json(['jenis_paket' => $jenis_paket_id]); + } +} diff --git a/app/Http/Controllers/Status/PengumumanController.php b/app/Http/Controllers/Status/PengumumanController.php new file mode 100644 index 0000000000000000000000000000000000000000..1770ba0f5f1f708f97ec8b319c0c11cef7c6cbbb --- /dev/null +++ b/app/Http/Controllers/Status/PengumumanController.php @@ -0,0 +1,94 @@ +<?php + +namespace App\Http\Controllers\Status; + +use App\Http\Controllers\Controller; +use App\Model\Paket; +use App\Model\PaketPenyedia; +use App\Model\PaketSwakelola; +use App\Model\PaketPenyediaSwakelola; +use Illuminate\Http\Request; + +class PengumumanController extends Controller +{ + public function classifyPaket($id_paket) { + $data = Paket::find($id_paket); + + if ($data->jenis_paket_id == 1) { + $paket = new PaketPenyedia; + $paket->file_pemenang = $data->file_pemenang; + } + else if ($data->jenis_paket_id == 2) { + $paket = new PaketSwakelola; + } + else if ($data->jenis_paket_id == 3) { + $paket = new PaketPenyediaSwakelola; + $paket->file_pemenang = $data->file_pemenang; + } + $paket->pid = $data->pid; + $paket->nama = $data->nama; + $paket->kegiatan = $data->kegiatan; + $paket->lokasi = $data->lokasi; + $paket->volume = $data->volume; + $paket->sumber_dana = $data->sumber_dana; + $paket->d_start = $data->d_start; + $paket->d_end = $data->d_end; + $paket->d_start_work = $data->d_start_work; + $paket->d_end_work = $data->d_end_work; + $paket->pagu = $data->pagu; + $paket->tahun_anggaran = $data->tahun_anggaran; + $paket->deskripsi = $data->deskripsi; + $paket->m_satker_id = $data->m_satker_id; + $paket->m_pengadaan_id = $data->m_pengadaan_id; + $paket->m_penyedia_id = $data->m_penyedia_id; + $paket->m_belanja_id = $data->m_belanja_id; + $paket->m_pokja_id = $data->m_pokja_id; + $paket->users_id = $data->users_id; + $paket->m_kldi_id = $data->m_kldi_id; + $paket->id_ulp = $data->id_ulp; + $paket->hps = $data->hps; + $paket->d_usulan = $data->d_usulan; + $paket->d_ket_usulan = $data->d_ket_usulan; + $paket->d_kerangka = $data->d_kerangka; + $paket->d_ket_kerangka = $data->d_ket_kerangka; + $paket->d_spesifikasi_teknis = $data->d_spesifikasi_teknis; + $paket->d_ket_spesifikasi_teknis = $data->d_ket_spesifikasi_teknis; + $paket->d_hps = $data->d_hps; + $paket->d_ket_hps = $data->d_ket_hps; + $paket->d_rancangan_kontrak = $data->d_rancangan_kontrak; + $paket->d_ket_rancangan_kontrak = $data->d_ket_rancangan_kontrak; + $paket->d_printscreen_sirup = $data->d_printscreen_sirup; + $paket->d_ket_printscreen_sirup = $data->d_ket_printscreen_sirup; + $paket->d_copy_dpa = $data->d_copy_dpa; + $paket->d_ket_copy_dpa = $data->d_ket_copy_dpa; + $paket->d_stat = $data->d_stat; + $paket->d_keterangan = $data->d_keterangan; + $paket->id_user_ulp = $data->id_user_ulp; + $paket->rev_usulan = $data->rev_usulan; + $paket->rev_kerangka = $data->rev_kerangka; + $paket->rev_teknis = $data->rev_teknis; + $paket->rev_hps = $data->rev_hps; + $paket->rev_kontrak = $data->rev_kontrak; + $paket->rev_sirup = $data->rev_sirup; + $paket->rev_copy = $data->rev_copy; + $paket->catatan_revisi = $data->catatan_revisi; + $paket->id_ketua = $data->id_ketua; + $paket->id_sekretaris = $data->id_sekretaris; + $paket->id_anggota = $data->id_anggota; + $paket->id_anggota2 = $data->id_anggota2; + $paket->id_anggota3 = $data->id_anggota3; + $paket->id_anggota4 = $data->id_anggota4; + $paket->id_anggota5 = $data->id_anggota5; + $paket->id_anggota6 = $data->id_anggota6; + $paket->id_anggota7 = $data->id_anggota7; + $paket->sk_panitia = $data->sk_panitia; + $paket->created_at = $data->created_at; + $paket->updated_at = $data->updated_at; + $paket->save(); + + $data->delete(); + + return response()->json(['status' => 200]); + + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Status/StatusController.php b/app/Http/Controllers/Status/StatusController.php new file mode 100644 index 0000000000000000000000000000000000000000..2556aa54306b8df94a160e9f80c931db339a7152 --- /dev/null +++ b/app/Http/Controllers/Status/StatusController.php @@ -0,0 +1,54 @@ +<?php + +namespace App\Http\Controllers\Status; + +use App\Http\Controllers\Controller; +use App\Model\Paket; +use App\Model\PaketPenyedia; +use App\Model\PaketSwakelola; +use App\Model\PaketPenyediaSwakelola; +use App\Util\PaketClass; +use Illuminate\Http\Request; + +class StatusController extends Controller +{ + + public function showPaket(){ + $pakets = Paket::get(); + + $paketClasses = []; + foreach ($pakets as $paketDatum){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, + $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, + $paketDatum->penyedia->nama, $paketDatum->pagu, $paketDatum->d_start_work, $paketDatum->status); + array_push($paketClasses, $paket); + } + + // append paket penyedia, swakelola, penyedia swakelola dg status 4 (sudah diumumkan) + $pakets = PaketPenyedia::get(); + foreach ($pakets as $paketDatum){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, + $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, + $paketDatum->penyedia->nama, $paketDatum->pagu, $paketDatum->d_start_work, '4'); + array_push($paketClasses, $paket); + } + + $pakets = PaketSwakelola::get(); + foreach ($pakets as $paketDatum){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, + $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, + $paketDatum->penyedia->nama, $paketDatum->pagu, $paketDatum->d_start_work, '4'); + array_push($paketClasses, $paket); + } + + $pakets = PaketPenyediaSwakelola::get(); + foreach ($pakets as $paketDatum){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, + $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, + $paketDatum->penyedia->nama, $paketDatum->pagu, $paketDatum->d_start_work, '4'); + array_push($paketClasses, $paket); + } + + return response()->json(['paket' => $paketClasses]); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Swakelola/SwakelolaKabupatenController.php b/app/Http/Controllers/Swakelola/SwakelolaKabupatenController.php index 41fd409739f33eba890bc44e921c48b6708a8066..8e23530fdd5a9470298e61dd8bd018f03b0e01bd 100644 --- a/app/Http/Controllers/Swakelola/SwakelolaKabupatenController.php +++ b/app/Http/Controllers/Swakelola/SwakelolaKabupatenController.php @@ -3,6 +3,9 @@ namespace App\Http\Controllers\Swakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Satker; +use App\Model\Kabupaten; use App\Util\SwakelolaDaerah; use Illuminate\Http\Request; @@ -10,45 +13,40 @@ class SwakelolaKabupatenController extends Controller { public function showKabupaten($id_kabupaten, $id_satker){ - $data = Array ( - "0" => Array ( - "no" => "1", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "4.100.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "2.300.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Belanja Asesoris Komputer", - "pagu" => "7.737.571", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Alat Tulis Kantor", - "pagu" => "5.497.076", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Jasa Profesi", - "pagu" => "569.330.000", - "sumberDana" => "APBD" - ) - ); + // join + + // get kode kldi kabupaten + $kabupaten = Kabupaten::find($id_kabupaten); + if (empty($kabupaten)) { + $kldi = 0; + } + else { + $kldi = $kabupaten -> m_kldi_id; + } + + $paketData = PaketSwakelola:: + where('s_paket.m_satker_id', $id_satker) + ->where('s_paket.m_kldi_id', $kldi) + ->select('s_paket.*') + -> get(); + + $data = []; - $satkerName = "Satuan Kerja"; + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketSwakelolaKabupaten = new SwakelolaDaerah($datum -> id, $datum -> kegiatan, $datum -> nama, + $datum -> pagu, $datum -> sumber_dana); + array_push($data, $paketSwakelolaKabupaten); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } return response()->json(['paketSwakelola' => $data, 'subtitle'=> $satkerName]); } diff --git a/app/Http/Controllers/Swakelola/SwakelolaKotaController.php b/app/Http/Controllers/Swakelola/SwakelolaKotaController.php index 1a90126dc2d55f520a49c0af94a04784b74e5c49..abb59a6eff4f4eaf6a8301c298d48e0278f6e258 100644 --- a/app/Http/Controllers/Swakelola/SwakelolaKotaController.php +++ b/app/Http/Controllers/Swakelola/SwakelolaKotaController.php @@ -3,6 +3,9 @@ namespace App\Http\Controllers\Swakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Satker; +use App\Model\Kota; use App\Util\SwakelolaDaerah; use Illuminate\Http\Request; @@ -10,45 +13,40 @@ class SwakelolaKotaController extends Controller { public function showKota($id_kota, $id_satker){ - $data = Array ( - "0" => Array ( - "no" => "1", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "4.100.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "2.300.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Belanja Asesoris Komputer", - "pagu" => "7.737.571", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Alat Tulis Kantor", - "pagu" => "5.497.076", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Jasa Profesi", - "pagu" => "569.330.000", - "sumberDana" => "APBD" - ) - ); - - $satkerName = "Satuan Kerja"; + // join + + // get kode kldi kabupaten + $kota = Kota::find($id_kota); + if (empty($kota)) { + $kldi = 0; + } + else { + $kldi = $kota -> m_kldi_id; + } + + $paketData = PaketSwakelola:: + where('s_paket.m_satker_id', $id_satker) + ->where('s_paket.m_kldi_id', $kldi) + ->select('s_paket.*') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketSwakelolaKota = new SwakelolaDaerah($datum -> id, $datum -> kegiatan, $datum -> nama, + $datum -> pagu, $datum -> sumber_dana); + array_push($data, $paketSwakelolaKota); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } return response()->json(['paketSwakelola' => $data, 'subtitle'=> $satkerName]); } diff --git a/app/Http/Controllers/Swakelola/SwakelolaModalController.php b/app/Http/Controllers/Swakelola/SwakelolaModalController.php new file mode 100644 index 0000000000000000000000000000000000000000..3d53893e7f1d0c8a19c080bad07af513559ce049 --- /dev/null +++ b/app/Http/Controllers/Swakelola/SwakelolaModalController.php @@ -0,0 +1,73 @@ +<?php + +namespace App\Http\Controllers\Swakelola; + +use App\Http\Controllers\Controller; +use App\Constants\Links; +use App\Model\Paket; +use App\Model\Satker; +use App\Model\KLDI; +use App\Model\Kota; +use App\Model\Kabupaten; +use App\Model\PaketSwakelola; +use App\Util\PaketSwakelolaClass; +use Illuminate\Http\Request; + +class SwakelolaModalController extends Controller +{ + public function showDetailPaket($id_paket) { + $rup = $id_paket; + $paket = PaketSwakelola::find($id_paket); + $satkerAll = Satker::find($paket -> m_satker_id); + $satker = $satkerAll->nama; + + $kldiAll = KLDI::find($paket -> m_kldi_id); + if ($kldiAll -> type_id == 1) { + $kldi = 'Pemerintah Daerah Provinsi Jawa Barat'; + $kota = '-'; + } else if ($kldiAll -> type_id == 2) { + $kldi = Kota::where('m_kldi_id', $kldiAll->id) -> first() -> nama; + $kota = $kldi; + } + else if ($kldiAll -> type_id == 3) { + $kldi = Kabupaten::where('m_kldi_id', $kldiAll->id) -> first() -> nama; + $kota = $kldi; + } + $provinsi = "Jawa Barat"; + $nama = $paket->nama; + $tahun = $paket->tahun_anggaran; + $lokasi = $paket->lokasi; + $deskripsi = $paket->deskripsi; + $volume = $paket->volume; + $sumberDana["nama"] = $paket->sumber_dana; + $sumberDana["mak"] = "-"; //belum ada di db + $sumberDana["pagu"] = $paket->pagu; + $sumberDana["klpd"] = $kldi; + $totalSumberDana = $paket -> pagu; //asumsi + $awalKerja = $paket->d_start_work; + $akhirKerja = $paket->d_end_work; + + $paketSwakelola = new PaketSwakelolaClass($rup, $nama, $kldi, $satker, $tahun, + $provinsi, $kota, $lokasi, $volume, $deskripsi, $sumberDana, $totalSumberDana, + $awalKerja, $akhirKerja); + + return response()->json(['paket' => $paketSwakelola]); + } + + // public function showDetailPaket() { + // return response()->json(['paket'=> ['rup' => '19062504', + // 'nama'=>'Honorarium Pengadaan Barang dan Jasa', + // 'kldi' => 'Pemerintah Daerah Provinsi Jawa Barat', + // 'satker' => 'BADAN KEPEGAWAIAN DAERAH PROVINSI JAWA BARAT', + // 'tahun' => '2019', + // 'provinsi' => 'Jawa Barat', + // 'kota' => 'Bandung (Kota)', + // 'lokasi' => 'Jl. Ternate No. 2 Bandung', + // 'volume' => '2 Paket', + // 'deskripsi' => 'Honorarium Pengadaan Barang dan Jasa pengadaan langsung', + // 'sumberDana' => ['sumberDana' => 'APBD','klpd' => 'Pemerintah Daerah Provinsi Jawa Barat','mak' => '5.2.1.01.02','pagu' => '4100000'], + // 'totalSumberDana' => '4100000', + // 'awalKerja' => 'Maret 2019', + // 'akhirKerja' => 'Maret 2019']]); + // } +} diff --git a/app/Http/Controllers/Swakelola/SwakelolaProvinsiController.php b/app/Http/Controllers/Swakelola/SwakelolaProvinsiController.php index 2be7da8a47cf929141b4620ca19ad5c79de42dff..a8b3b2646428a8c4f3019d179fefd1772833e290 100644 --- a/app/Http/Controllers/Swakelola/SwakelolaProvinsiController.php +++ b/app/Http/Controllers/Swakelola/SwakelolaProvinsiController.php @@ -3,6 +3,9 @@ namespace App\Http\Controllers\Swakelola; use App\Http\Controllers\Controller; +use App\Model\PaketSwakelola; +use App\Model\Satker; +use App\Model\KLDI; use App\Util\SwakelolaDaerah; use Illuminate\Http\Request; @@ -10,44 +13,29 @@ class SwakelolaProvinsiController extends Controller { public function showProvinsi($id_satker){ - $data = Array ( - "0" => Array ( - "no" => "1", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "4.100.000", - "sumberDana" => "APBD" - ), - "1" => Array ( - "no" => "2", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Honorarium Pengadaan Barang dan Jasa", - "pagu" => "2.300.000", - "sumberDana" => "APBD" - ), - "2" => Array ( - "no" => "3", - "kegiatan" => "Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat", - "paket" => "Belanja Asesoris Komputer", - "pagu" => "7.737.571", - "sumberDana" => "APBD" - ), - "3" => Array ( - "no" => "4", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Alat Tulis Kantor", - "pagu" => "5.497.076", - "sumberDana" => "APBD" - ), - "4" => Array ( - "no" => "5", - "kegiatan" => "Penyusunan Dokumen Perencanaan BKD", - "paket" => "Belanja Jasa Profesi", - "pagu" => "569.330.000", - "sumberDana" => "APBD" - ) - ); - $satkerName = "Satuan Kerja"; + // join + + $paketData = PaketSwakelola:: + where('s_paket.m_satker_id', $id_satker) + ->select('s_paket.*') + -> get(); + + $data = []; + + // $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana + foreach ($paketData as $datum) { + $paketSwakelolaProvinsi = new SwakelolaDaerah($datum -> id, $datum -> kegiatan, $datum -> nama, $datum -> pagu, $datum -> sumber_dana); + array_push($data, $paketSwakelolaProvinsi); + } + + // get name of satker + $satker = Satker::find($id_satker); + if (empty($satker)) { + $satkerName = ''; + } + else { + $satkerName = $satker -> nama; + } return response()->json(['paketSwakelola' => $data, 'subtitle'=> $satkerName]); } diff --git a/app/Http/Controllers/Unduh/MateriController.php b/app/Http/Controllers/Unduh/MateriController.php new file mode 100644 index 0000000000000000000000000000000000000000..874af423ef02beb1217b8b188b462c8e3192243d --- /dev/null +++ b/app/Http/Controllers/Unduh/MateriController.php @@ -0,0 +1,35 @@ +<?php + +namespace App\Http\Controllers\Unduh; + +use App\Http\Controllers\Controller; +use App\Util\UnduhMateri; +use Illuminate\Http\Request; + +class MateriController extends Controller +{ + + public function showMateri(){ + $data = Array ( + "0" => Array ( + "no" => "1", + "judul" =>"Diseminasi Aplikasi Monev", + "subJudul" => "Diseminasi Aplikasi Monev", + "kategori" => "File Diseminasi", + "deskripsi" => "Surat Undangan Diseminasi", + "filename" => "DISEMINASI MONEV ( 5 TEMPAT TERBARU ).pdf", + "filelink" => "/file/DISEMINASI MONEV ( 5 TEMPAT TERBARU ).pdf", + ), + "1" => Array ( + "no" => "2", + "judul" => "Panduan Aplikasi SiRUP v 2.3", + "subJudul" => "Manual User", + "kategori" => "Panduan", + "deskripsi" => "User Manual Untuk Pengguna Aplikasi SiRUP versi 2.3", + "filename" => "Tata cara penggunaan aplikasi sirup versi 2.3_6+SKDEPUTI.pdf", + "filelink" => "/file/Tata cara penggunaan aplikasi sirup versi 2.3_6 SKDEPUTI.pdf", + ) + ); + return response()->json(['result' => $data]); + } +} diff --git a/app/Http/Controllers/Unduh/PaketRUPController.php b/app/Http/Controllers/Unduh/PaketRUPController.php index 5f3c6b96a538500dd99d798d2dda77fad4c2349f..58b00a1c471963bb31872cae1de5bf34eddf0774 100644 --- a/app/Http/Controllers/Unduh/PaketRUPController.php +++ b/app/Http/Controllers/Unduh/PaketRUPController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers\Unduh; use App\Http\Controllers\Controller; -use App\Model\Paket as PaketModel; -use App\Util\Paket; +use App\Model\PaketPenyedia as PaketModel; +use App\Util\PaketClass; use App\Model\Satker; use App\Helper\PaketPDFHelper; use Illuminate\Http\Request; @@ -16,34 +16,50 @@ class PaketRUPController extends Controller $result = []; $tahun = []; - foreach($satkers as $satker){ - $namaSatker = $satker->nama; - array_push($result, $namaSatker); - } - $tahunAnggarans = PaketModel::distinct()->get(['tahun_anggaran']); foreach($tahunAnggarans as $tahunAnggaran){ array_push($tahun, $tahunAnggaran); } - return response()->json(['result' => $result, 'tahun' => $tahun]); + return response()->json(['result' => $satkers, 'tahun' => $tahun]); } - - public function generatePDF(Request $request){ - $satkerId = $request->satker; - $satker = Satker::find($satkerId)->first(); - $type = $satker->kldi->type; - $penyedia = $satker->penyedia; - $pakets = []; - - foreach ($satker->getPaket() as $paketDatum){ - $paket = new Paket($paketDatum->kegiatan, $paketDatum->pid, $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->keterangan, $penyedia, $paketDatum->pagu); - array_push($pakets, $paket); + + private function createPaketClass($pakets){ + $paketClasses = []; + foreach ($pakets as $paketDatum){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, $paketDatum->penyedia->nama, $paketDatum->pagu); + array_push($paketClasses, $paket); + } + return $paketClasses; + } + + private function createPaketDrafClass($pakets, $type){ + $paketClasses = []; + foreach ($pakets as $paketDatum){ + if ($paketDatum->jenisPaket->id == $type){ + $paket = new PaketClass($paketDatum->id, $paketDatum->kegiatan, $paketDatum->pid, $paketDatum->nama, $paketDatum->sumber_dana, $paketDatum->lokasi, $paketDatum->deskripsi, $paketDatum->penyedia->nama, $paketDatum->pagu); + array_push($paketClasses, $paket); + } } + return $paketClasses; + } - // var_dump($satker); - // var_dump($type->name); + public function generatePDF(Request $request){ + $satkerId = intval($request->satker); + $satker = Satker::find($satkerId); + $opd = $satker->kldi->type->name; + + $drafPakets = $satker->paketDraf; + $paketPenyediaDraf = $this->createPaketDrafClass($drafPakets, 1); + $paketSwakelolaDraf = $this->createPaketDrafClass($drafPakets, 2); + $paketPenyediaSwakelolaDraf = $this->createPaketDrafClass($drafPakets, 3); + - PaketPDFHelper::generatePaketPDF($satker, $type, $pakets); + $paketPenyedia = $this->createPaketClass($satker->paket); + $paketSwakelola = $this->createPaketClass($satker->paketSwakelola); + $paketPenyediaSwakelola = $this->createPaketClass($satker->paketPenyediaSwakelola); + + PaketPDFHelper::generatePaketPDF($satker, $opd, "Dr. H. MUHAMMAD SOLIHIN, M.Si <br> + 196304091989091001", $paketPenyedia, $paketPenyediaDraf, $paketSwakelola,$paketSwakelolaDraf, $paketPenyediaSwakelola,$paketPenyediaSwakelolaDraf); } } diff --git a/app/Http/Controllers/UnduhMateri.php b/app/Http/Controllers/UnduhMateri.php deleted file mode 100644 index 380b4903987f75349a6ea1a7b88a9132224cb1b8..0000000000000000000000000000000000000000 --- a/app/Http/Controllers/UnduhMateri.php +++ /dev/null @@ -1,15 +0,0 @@ -<?php - -namespace App\Http\Controllers; - -use App\Http\Controllers\Controller; -use App\Util\UnduhMateri; -use Illuminate\Http\Request; - -class UnduhMateriController extends Controller -{ - - public function showMateri(){ - return view('unduhMateri'); - } -} diff --git a/app/Http/Middleware/PAMiddleware.php b/app/Http/Middleware/PAMiddleware.php new file mode 100644 index 0000000000000000000000000000000000000000..ac9315c64f7f437e2d0f97b86c9a4ca0eaa72266 --- /dev/null +++ b/app/Http/Middleware/PAMiddleware.php @@ -0,0 +1,23 @@ +<?php + +namespace App\Http\Middleware; + +use Closure; + +class PAMiddleware +{ + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + if (!$request->user()){ + return new Response(view('home')); + } + return $next($request); + } +} diff --git a/app/Model/JenisPaket.php b/app/Model/JenisPaket.php new file mode 100644 index 0000000000000000000000000000000000000000..db73b56cf4d9a7feaf24b49707a61c1d0986b870 --- /dev/null +++ b/app/Model/JenisPaket.php @@ -0,0 +1,10 @@ +<?php + +namespace App\Model; + +use Illuminate\Database\Eloquent\Model; + +class JenisPaket extends Model +{ + protected $table = 'jenis_paket'; +} diff --git a/app/Model/KLDI.php b/app/Model/KLDI.php index 7f7db179fda72561b8e986ba1ca24e57f337c79d..065065b3f72d30b0a8664dc455c31c9de366e9d2 100644 --- a/app/Model/KLDI.php +++ b/app/Model/KLDI.php @@ -8,8 +8,11 @@ class KLDI extends Model { protected $table = 'm_kldi'; - public function paket(){ - return $this->hasMany('App\Model\Paket', 'm_kldi_id'); + public function paketPenyedia(){ + return $this->hasMany('App\Model\PaketPenyedia', 'm_kldi_id'); + } + public function paketSwakelola(){ + return $this->hasMany('App\Model\PaketSwakelola', 'm_kldi_id'); } public function satker(){ return $this->hasMany('App\Model\Satker', 'm_kldi_id'); diff --git a/app/Model/Kabupaten.php b/app/Model/Kabupaten.php index 83fce235eaf460217e3ea5bac016bd5ce37f3ca8..7bff12653f49d61ab991534e2e201267e5aa5668 100644 --- a/app/Model/Kabupaten.php +++ b/app/Model/Kabupaten.php @@ -12,8 +12,12 @@ class Kabupaten extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } - public function getPaket(){ - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } public function getSatker(){ diff --git a/app/Model/Kota.php b/app/Model/Kota.php index 9d422b4bd82476656ec23cf6258a72ab089dae1e..0a0b518e6cc8e04b0a4344c18afbc703e89060f1 100644 --- a/app/Model/Kota.php +++ b/app/Model/Kota.php @@ -10,11 +10,14 @@ class Kota extends Model public function kldi(){ return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); -} + } - // retrieve paket from kldi - public function getPaket(){ - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } // retrieve paket from kldi diff --git a/app/Model/Paket.php b/app/Model/Paket.php index d0c3b1c479e24abe431db800241c5c1db357adab..636eeda48e9c17f143787f392d484834113be9b6 100644 --- a/app/Model/Paket.php +++ b/app/Model/Paket.php @@ -6,16 +6,20 @@ use Illuminate\Database\Eloquent\Model; class Paket extends Model { - protected $table = 't_paket'; + protected $table = 't_paket_all'; public function satker() { return $this->belongsTo('App\Model\Satker', 'm_satker_id'); } - public function getPaket(){ - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; } + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; + } + public function penyedia() { return $this->belongsTo('App\Model\Penyedia', 'm_penyedia_id'); } @@ -24,6 +28,14 @@ class Paket extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } + public function pengadaan() { + return $this->belongsTo('App\Model\Pengadaan', 'm_pengadaan_id'); + } + + public function jenisPaket() { + return $this->belongsTo('App\Model\JenisPaket', 'jenis_paket_id'); + } + public function getType() { return $this->kldi->type; } diff --git a/app/Model/PaketPenyedia.php b/app/Model/PaketPenyedia.php new file mode 100644 index 0000000000000000000000000000000000000000..b26100656be41311a0389a50eff931fba900180b --- /dev/null +++ b/app/Model/PaketPenyedia.php @@ -0,0 +1,38 @@ +<?php + +namespace App\Model; + +use Illuminate\Database\Eloquent\Model; + +class PaketPenyedia extends Model +{ + protected $table = 't_paket'; + + public function satker() { + return $this->belongsTo('App\Model\Satker', 'm_satker_id'); + } + + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; + } + + public function penyedia() { + return $this->belongsTo('App\Model\Penyedia', 'm_penyedia_id'); + } + + public function pengadaan() { + return $this->belongsTo('App\Model\Pengadaan', 'm_pengadaan_id'); + } + + public function kldi() { + return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); + } + + public function getType() { + return $this->kldi->type; + } +} diff --git a/app/Model/S_Paket_Penyedia.php b/app/Model/PaketPenyediaSwakelola.php similarity index 61% rename from app/Model/S_Paket_Penyedia.php rename to app/Model/PaketPenyediaSwakelola.php index adb94917c6a2b164851d2e45b64da4bc4ffad401..b4ba58b26ac98a6c310ad08d73e3216779cb25e1 100644 --- a/app/Model/S_Paket_Penyedia.php +++ b/app/Model/PaketPenyediaSwakelola.php @@ -4,7 +4,7 @@ namespace App\Model; use Illuminate\Database\Eloquent\Model; -class S_Paket_Penyedia extends Model +class PaketPenyediaSwakelola extends Model { protected $table = 's_paket_penyedia'; @@ -13,9 +13,12 @@ class S_Paket_Penyedia extends Model return $this->belongsTo('App\Model\Satker', 'm_satker_id'); } - public function getPaket() - { - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } public function penyedia() @@ -28,6 +31,10 @@ class S_Paket_Penyedia extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } + public function pengadaan() { + return $this->belongsTo('App\Model\Pengadaan', 'm_pengadaan_id'); + } + public function getType() { return $this->kldi->type; diff --git a/app/Model/S_Paket.php b/app/Model/PaketSwakelola.php similarity index 61% rename from app/Model/S_Paket.php rename to app/Model/PaketSwakelola.php index f557ddbf805fdc4884db725d7a3b811d5b1c0354..1c47d0f702b6a01bebed1b94cd8578abaa246629 100644 --- a/app/Model/S_Paket.php +++ b/app/Model/PaketSwakelola.php @@ -4,7 +4,7 @@ namespace App\Model; use Illuminate\Database\Eloquent\Model; -class S_Paket extends Model +class PaketSwakelola extends Model { protected $table = 's_paket'; @@ -13,9 +13,12 @@ class S_Paket extends Model return $this->belongsTo('App\Model\Satker', 'm_satker_id'); } - public function getPaket() - { - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } public function penyedia() @@ -28,6 +31,10 @@ class S_Paket extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } + public function pengadaan() { + return $this->belongsTo('App\Model\Pengadaan', 'm_pengadaan_id'); + } + public function getType() { return $this->kldi->type; diff --git a/app/Model/Penyedia.php b/app/Model/Penyedia.php index e129ee411e6b765df46efcb198d88dabc01e5aa2..1b5a43c4694fd609680ce4ccb77f2e2b8754c17a 100644 --- a/app/Model/Penyedia.php +++ b/app/Model/Penyedia.php @@ -9,7 +9,7 @@ class Penyedia extends Model protected $table = 'm_penyedia'; public function paket(){ - return $this->hasMany('App\Model\Paket'); + return $this->hasMany('App\Model\PaketPenyedia'); } } diff --git a/app/Model/Provinsi.php b/app/Model/Provinsi.php index 848ed0872f2e7050ed79e4daf78e5abb5aadd74e..cc293c327bf3cea2dcd61ac2b8d1edd598337db3 100644 --- a/app/Model/Provinsi.php +++ b/app/Model/Provinsi.php @@ -12,7 +12,11 @@ class Provinsi extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } - public function getPaket(){ - return $this->kldi->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } } diff --git a/app/Model/Satker.php b/app/Model/Satker.php index 88ecbaf8b04ecb315904b4522b4caf8274bd10c3..4ee20ddceb99f0c1f7ab70dde5ba99033016beb4 100644 --- a/app/Model/Satker.php +++ b/app/Model/Satker.php @@ -9,6 +9,18 @@ class Satker extends Model protected $table = 'm_satker'; public function paket() { + return $this->hasMany('App\Model\PaketPenyedia', 'm_satker_id'); + } + + public function paketSwakelola(){ + return $this->hasMany('App\Model\PaketSwakelola', 'm_satker_id'); + } + + public function paketPenyediaSwakelola(){ + return $this->hasMany('App\Model\PaketPenyediaSwakelola', 'm_satker_id'); + } + + public function paketDraf(){ return $this->hasMany('App\Model\Paket', 'm_satker_id'); } @@ -16,7 +28,11 @@ class Satker extends Model return $this->belongsTo('App\Model\KLDI', 'm_kldi_id'); } - public function getPaket(){ - return $this->paket; + public function getPaketPenyedia(){ + return $this->kldi->paketPenyedia; + } + + public function getPaketSwakelola(){ + return $this->kldi->paketSwakelola; } } diff --git a/app/Model/User.php b/app/Model/User.php index bae3385c0f0f2a9addcbd95e65d93ea09f08c90a..2d8d9dd220edc4eee565886980739a0133ac2855 100644 --- a/app/Model/User.php +++ b/app/Model/User.php @@ -16,7 +16,7 @@ class User extends Authenticatable * @var array */ protected $fillable = [ - 'name', 'email', 'password', + 'name', 'email', 'password','role' ]; /** diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 0acc984bae1780b5275383064eeed1e480f391a1..2a24176a7436af5fce56a40b75fb5eb347109e24 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -25,6 +25,12 @@ class AuthServiceProvider extends ServiceProvider { $this->registerPolicies(); - // + Gate::define('pa', function($user) { + return $user->role == 'pa'; + }); + + Gate::define('ppk', function($user){ + return $user->role == 'ppk'; + }); } } diff --git a/app/Util/CariPaket.php b/app/Util/CariPaket.php new file mode 100644 index 0000000000000000000000000000000000000000..7f37b3b01015ae6f58b8b4fc7d669bdd932cd17c --- /dev/null +++ b/app/Util/CariPaket.php @@ -0,0 +1,36 @@ +<?php + +namespace App\Util; + +class CariPaket +{ + public $no; + public $paket; + public $pagu; + public $jenisPengadaan; + public $metode; + public $pemilihan; + public $kldi; + public $satuanKerja; + public $lokasi; + public $id; + + public static $count = 0; + + function __construct($paket, $pagu, $tahun, $jenisPengadaan, $metode, $pemilihan, $kldi, $satuanKerja, $lokasi, $id) { + CariPaket::$count++; + $this->no = CariPaket::$count; + $this->paket = $paket; + $this->pagu = $pagu; + $this->tahun = $tahun; + $this->jenisPengadaan = $jenisPengadaan; + $this->metode = $metode; + $this->pemilihan = $pemilihan; + $this->kldi = $kldi; + $this->satuanKerja = $satuanKerja; + $this->lokasi = $lokasi; + $this->id = $id; + } +} + +?> \ No newline at end of file diff --git a/app/Util/CariPaketClass.php b/app/Util/CariPaketClass.php new file mode 100644 index 0000000000000000000000000000000000000000..309386b6a6991f30e95ec3309e3b2b00034a929b --- /dev/null +++ b/app/Util/CariPaketClass.php @@ -0,0 +1,77 @@ +<?php + +namespace App\Util; + +class CariPaketClass +{ + public $rup; + public $nama; + public $kldi; + public $satker; + public $tahun; + public $provinsi; + public $kota_kabupaten; + public $lokasi; + public $volume; + public $deskripsi; +/** + * tambahan + */ + public $spesifikasi; + public $dalamNegeri; + public $usahaKecil; + public $DIPA_DPA; + + /** + * tambahan + */ + public $sumberDana; + public $totalSumberDana; + + // tambahin beberapa dibawah + public $jenisPengadaan; + public $pagu; + public $pemilihanPenyedia; + public $bulanKebutuhan; + public $pekerjaanAkhir; + public $pekerjaanMulai; + public $pemilihanAkhir; + public $pemilihanMulai; + public $tanggalPerbaharui; + + public static $count = 0; // gak tau buat apa dari swakelola + + function __construct($rup, $nama, $kldi, $satker, $tahun, $provinsi, $kota_kabupaten, $lokasi, $volume, $deskripsi, + $spesifikasi, $dalamNegeri, $usahaKecil, $DIPA_DPA, $sumberDana, $totalSumberDana, + $jenisPengadaan, $pagu, $pemilihanPenyedia, $bulanKebutuhan, $pekerjaanAkhir, $pekerjaanMulai, + $pemilihanAkhir, $pemilihanMulai, $tanggalPerbaharui){ + $this->rup = $rup; + $this->nama = $nama; + $this->kldi = $kldi; + $this->satker = $satker; + $this->tahun = $tahun; + $this->provinsi = $provinsi; + $this->kota_kabupaten = $kota_kabupaten; + $this->lokasi = $lokasi; + $this->volume = $volume; + $this->deskripsi = $deskripsi; + $this->spesifikasi = $spesifikasi; + $this->dalamNegeri = $dalamNegeri; + $this->usahaKecil = $usahaKecil; + $this->DIPA_DPA = $DIPA_DPA; + $this->sumberDana = $sumberDana; + $this->totalSumberDana = $totalSumberDana; + $this->jenisPengadaan = $jenisPengadaan; + $this->pagu = $pagu; + $this->pemilihanPenyedia = $pemilihanPenyedia; + $this->bulanKebutuhan = $bulanKebutuhan; + $this->pekerjaanAkhir = $pekerjaanAkhir; + $this->pekerjaanMulai = $pekerjaanMulai; + $this->pemilihanAkhir = $pemilihanAkhir; + $this->pemilihanMulai = $pemilihanMulai; + $this->tanggalPerbaharui = $tanggalPerbaharui; + } + +} + +?> \ No newline at end of file diff --git a/app/Util/Paket.php b/app/Util/PaketClass.php similarity index 57% rename from app/Util/Paket.php rename to app/Util/PaketClass.php index 4136b986e938488d4dafafc8c3a65c4d9cbb195e..b3e52e661db01099acb8e48e2644e9ff179b0b55 100644 --- a/app/Util/Paket.php +++ b/app/Util/PaketClass.php @@ -2,9 +2,10 @@ namespace App\Util; -class Paket +class PaketClass { public $no; + public $idPaket; public $kegiatan; public $kodeRUP; public $namaPaket; @@ -13,10 +14,15 @@ class Paket public $keterangan; public $pemilihanPenyedia; public $pagu; + public $mulaiPekerjaan; + public $status; public static $count = 0; - function __construct($kegiatan, $kodeRUP, $namaPaket, $sumberDana, $lokasi, $keterangan, $pemilihanPenyedia, $pagu) { + function __construct($idPaket, $kegiatan, $kodeRUP, $namaPaket, $sumberDana, $lokasi, $keterangan, $pemilihanPenyedia, $pagu, $mulaiPekerjaan='', $status='') { + PaketClass::$count++; + $this->no = PaketClass::$count; + $this->idPaket = $idPaket; $this->kegiatan = $kegiatan; $this->kodeRUP = $kodeRUP; $this->namaPaket = $namaPaket; @@ -25,6 +31,8 @@ class Paket $this->sumberDana = $sumberDana; $this->pemilihanPenyedia = $pemilihanPenyedia; $this->pagu = $pagu; + $this->mulaiPekerjaan = $mulaiPekerjaan; + $this->status=$status; } } diff --git a/app/Util/PaketPenyediaClass.php b/app/Util/PaketPenyediaClass.php new file mode 100644 index 0000000000000000000000000000000000000000..332ace32421a5a28435525b19a7f1460efec4401 --- /dev/null +++ b/app/Util/PaketPenyediaClass.php @@ -0,0 +1,74 @@ +<?php + +namespace App\Util; + +class PaketPenyediaClass +{ + public $no; + public $rup; + public $nama; + public $kldi; + public $satker; + public $tahun; + public $provinsi; + public $kota_kabupaten; + public $lokasi; + public $volume; + public $deskripsi; + + public $spesifikasi; + public $dalamNegeri; + public $usahaKecil; + public $DIPA_DPA; + + public $sumberDana; + public $totalSumberDana; + + public $jenisPengadaan; + public $pagu; + public $pemilihanPenyedia; + public $bulanKebutuhan; + public $pekerjaanAkhir; + public $pekerjaanMulai; + public $pemilihanAkhir; + public $pemilihanMulai; + public $tanggalPerbaharui; + + public static $count = 0; + + function __construct($rup, $nama, $kldi, $satker, $tahun, $provinsi, $kota_kabupaten, $lokasi, $volume, $deskripsi, + $spesifikasi, $dalamNegeri, $usahaKecil, $DIPA_DPA, $sumberDana, $totalSumberDana, + $jenisPengadaan, $pagu, $pemilihanPenyedia, $bulanKebutuhan, $pekerjaanAkhir, $pekerjaanMulai, + $pemilihanAkhir, $pemilihanMulai, $tanggalPerbaharui){ + PaketPenyediaClass::$count++; + $this->no = PaketPenyediaClass::$count; + $this->rup = $rup; + $this->nama = $nama; + $this->kldi = $kldi; + $this->satker = $satker; + $this->tahun = $tahun; + $this->provinsi = $provinsi; + $this->kota_kabupaten = $kota_kabupaten; + $this->lokasi = $lokasi; + $this->volume = $volume; + $this->deskripsi = $deskripsi; + $this->spesifikasi = $spesifikasi; + $this->dalamNegeri = $dalamNegeri; + $this->usahaKecil = $usahaKecil; + $this->DIPA_DPA = $DIPA_DPA; + $this->sumberDana = $sumberDana; + $this->totalSumberDana = $totalSumberDana; + $this->jenisPengadaan = $jenisPengadaan; + $this->pagu = $pagu; + $this->pemilihanPenyedia = $pemilihanPenyedia; + $this->bulanKebutuhan = $bulanKebutuhan; + $this->pekerjaanAkhir = $pekerjaanAkhir; + $this->pekerjaanMulai = $pekerjaanMulai; + $this->pemilihanAkhir = $pemilihanAkhir; + $this->pemilihanMulai = $pemilihanMulai; + $this->tanggalPerbaharui = $tanggalPerbaharui; + } + +} + +?> \ No newline at end of file diff --git a/app/Util/PaketPenyediaSwakelolaClass.php b/app/Util/PaketPenyediaSwakelolaClass.php new file mode 100644 index 0000000000000000000000000000000000000000..4baff74727f8776ac69dc0e2c5a4e00b2d7589d2 --- /dev/null +++ b/app/Util/PaketPenyediaSwakelolaClass.php @@ -0,0 +1,79 @@ +<?php + +namespace App\Util; + +class PaketPenyediaSwakelolaClass +{ + public $no; + public $rup; + public $nama; + public $kldi; + public $satker; + public $tahun; + public $provinsi; + public $kota_kabupaten; + public $lokasi; + public $volume; + public $deskripsi; +/** + * tambahan + */ + public $spesifikasi; + public $dalamNegeri; + public $usahaKecil; + public $DIPA_DPA; + + /** + * tambahan + */ + public $sumberDana; + public $totalSumberDana; + + // tambahin beberapa dibawah + public $jenisPengadaan; + public $pagu; + public $pemilihanPenyedia; + public $bulanKebutuhan; + public $pekerjaanAkhir; + public $pekerjaanMulai; + public $pemilihanAkhir; + public $pemilihanMulai; + public $tanggalPerbaharui; + + public static $count = 0; // gak tau buat apa dari swakelola + + function __construct($rup, $nama, $kldi, $satker, $tahun, $provinsi, $kota_kabupaten, $lokasi, $volume, $deskripsi, + $spesifikasi, $dalamNegeri, $usahaKecil, $DIPA_DPA, $sumberDana, $totalSumberDana, + $jenisPengadaan, $pagu, $pemilihanPenyedia, $bulanKebutuhan, $pekerjaanAkhir, $pekerjaanMulai, + $pemilihanAkhir, $pemilihanMulai, $tanggalPerbaharui){ + PaketPenyediaSwakelolaClass::$count++; + $this->no = PaketPenyediaSwakelolaClass::$count; + $this->rup = $rup; + $this->nama = $nama; + $this->kldi = $kldi; + $this->satker = $satker; + $this->tahun = $tahun; + $this->provinsi = $provinsi; + $this->kota_kabupaten = $kota_kabupaten; + $this->lokasi = $lokasi; + $this->volume = $volume; + $this->deskripsi = $deskripsi; + $this->spesifikasi = $spesifikasi; + $this->dalamNegeri = $dalamNegeri; + $this->usahaKecil = $usahaKecil; + $this->DIPA_DPA = $DIPA_DPA; + $this->sumberDana = $sumberDana; + $this->totalSumberDana = $totalSumberDana; + $this->jenisPengadaan = $jenisPengadaan; + $this->pagu = $pagu; + $this->pemilihanPenyedia = $pemilihanPenyedia; + $this->bulanKebutuhan = $bulanKebutuhan; + $this->pekerjaanAkhir = $pekerjaanAkhir; + $this->pekerjaanMulai = $pekerjaanMulai; + $this->pemilihanAkhir = $pemilihanAkhir; + $this->pemilihanMulai = $pemilihanMulai; + $this->tanggalPerbaharui = $tanggalPerbaharui; + } +} + +?> \ No newline at end of file diff --git a/app/Util/PaketSwakelola.php b/app/Util/PaketSwakelola.php new file mode 100644 index 0000000000000000000000000000000000000000..9be73539c88625fff9d74edb1bdde9ba8b9e2371 --- /dev/null +++ b/app/Util/PaketSwakelola.php @@ -0,0 +1,50 @@ +<?php + +namespace App\Util; + +class PaketSwakelola +{ + public $no; + public $rup; + public $nama; + public $kldi; + public $satker; + public $tahun; + public $provinsi; + public $kota; + public $lokasi; + public $volume; + public $deskripsi; + public $sumberDana; + public $klpd; + public $mak; + public $pagu; + public $totalSumberDana; + public $awalKerja; + public $akhirKerja; + + function __construct($rup, $nama, $kldi, $satker, $tahun, $provinsi, $kota, $lokasi, $volume, $deskripsi, $sumberDana, $totalSumberDana, $awalKerja, $akhirKerja){ + PaketSwakelola::$count++; + $this->no = PaketSwakelola::$count; + $this->rup = $rup; + $this-> nama = $nama; + $this->kldi = $kldi; + $this->satker = $satker; + $this->tahun = $tahun; + $this->provinsi = $provinsi; + $this->kota = $kota; + $this->lokasi = $lokasi; + $this->volume = $volume; + $this->deskripsi = $this->deskripsi; + $this->sumberDana = $sumberDana; + $this->totalSumberDana = $totalSumberDana; + $this->awalKerja = $awalKerja; + $this->akhirKerja = $akhirKerja; + } + + // private function calculateTotal($sumberDana) { + + // } +} + +?> \ No newline at end of file diff --git a/app/Util/PaketSwakelolaClass.php b/app/Util/PaketSwakelolaClass.php new file mode 100644 index 0000000000000000000000000000000000000000..79426d5987598f9e07289b1c47596ba62f1c0852 --- /dev/null +++ b/app/Util/PaketSwakelolaClass.php @@ -0,0 +1,53 @@ +<?php + +namespace App\Util; + +class PaketSwakelolaClass +{ + public $no; + public $rup; + public $nama; + public $kldi; + public $satker; + public $tahun; + public $provinsi; + public $kota; + public $lokasi; + public $volume; + public $deskripsi; + public $sumberDana; + public $klpd; + public $mak; + public $pagu; + public $totalSumberDana; + public $awalKerja; + public $akhirKerja; + + public static $count = 0; + + + function __construct($rup, $nama, $kldi, $satker, $tahun, $provinsi, $kota, $lokasi, $volume, $deskripsi, $sumberDana, $totalSumberDana, $awalKerja, $akhirKerja){ + PaketSwakelolaClass::$count++; + $this->no = PaketSwakelolaClass::$count; + $this->rup = $rup; + $this-> nama = $nama; + $this->kldi = $kldi; + $this->satker = $satker; + $this->tahun = $tahun; + $this->provinsi = $provinsi; + $this->kota = $kota; + $this->lokasi = $lokasi; + $this->volume = $volume; + $this->deskripsi = $this->deskripsi; + $this->sumberDana = $sumberDana; + $this->totalSumberDana = $totalSumberDana; + $this->awalKerja = $awalKerja; + $this->akhirKerja = $akhirKerja; + } + + // private function calculateTotal($sumberDana) { + + // } +} + +?> \ No newline at end of file diff --git a/app/Util/PemdaPenyediaDaerah.php b/app/Util/PemdaPenyediaDaerah.php index 5b356f31020244a223def5d5d94ce021c41b3fb7..4b283bc2cc99729057730df6d742e0aa974410dd 100644 --- a/app/Util/PemdaPenyediaDaerah.php +++ b/app/Util/PemdaPenyediaDaerah.php @@ -5,6 +5,7 @@ namespace App\Util; class PemdaPenyediaDaerah { public $no; + public $idPaket; public $satuanKerja; public $namaPaket; public $pagu; @@ -13,9 +14,10 @@ class PemdaPenyediaDaerah public static $count = 0; - function __construct($satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana) { + function __construct($idPaket, $satuanKerja, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana) { PemdaPenyediaDaerah::$count++; $this->no = PemdaPenyediaDaerah::$count; + $this->idPaket = $idPaket; $this->satuanKerja = $satuanKerja; $this->namaPaket = $namaPaket; $this->pagu = $pagu; diff --git a/app/Util/PemdaPenyediaSwakelolaDaerah.php b/app/Util/PemdaPenyediaSwakelolaDaerah.php index 247f637a5d35a2c8eb00503a9b20a9f26d330646..9f5575c4071ab0bb921d8c1ad608e6932e7d519f 100644 --- a/app/Util/PemdaPenyediaSwakelolaDaerah.php +++ b/app/Util/PemdaPenyediaSwakelolaDaerah.php @@ -6,19 +6,21 @@ class PemdaPenyediaSwakelolaDaerah { public $no; public $satuanKerja; - public $paket; + public $namaPaket; public $pagu; public $waktuPemilihan; public $metodePemilihan; public $sumberDana; + public $idPaket; public static $count = 0; - function __construct($satuanKerja, $paket ,$pagu, $waktuPemilihan, $metodePemilihan, $sumberDana){ + function __construct($idPaket, $satuanKerja, $paket ,$pagu, $waktuPemilihan, $metodePemilihan, $sumberDana){ PemdaPenyediaSwakelolaDaerah::$count++; $this->no = PemdaPenyediaSwakelolaDaerah::$count; + $this->idPaket = $idPaket; $this->satuanKerja = $satuanKerja; - $this->paket = $paket; + $this->namaPaket = $paket; $this->pagu = $pagu; $this->waktuPemilihan = $waktuPemilihan; $this->metodePemilihan = $metodePemilihan; diff --git a/app/Util/PemdaSwakelolaDaerah.php b/app/Util/PemdaSwakelolaDaerah.php index f94bcb0a8ecb58e05cc85d694025ce8d3fdaa48f..7527e5a32bdcaa013d7a65bb736b469821b7143d 100644 --- a/app/Util/PemdaSwakelolaDaerah.php +++ b/app/Util/PemdaSwakelolaDaerah.php @@ -12,8 +12,9 @@ class PemdaSwakelolaDaerah public static $count = 0; - function __construct($satuanKerja, $kegiatan, $pagu, $sumberDana){ + function __construct($id, $satuanKerja, $kegiatan, $pagu, $sumberDana){ PemdaSwakelolaDaerah::$count++; + $this->idPaket = $id; $this->no = PemdaSwakelolaDaerah::$count; $this->satuanKerja = $satuanKerja; $this->kegiatan = $kegiatan; diff --git a/app/Util/PenyediaDaerah.php b/app/Util/PenyediaDaerah.php index ed988832494c2c8c8a3a587751563acb3438a9ad..78d3b4f31a6b36b0fa7071adc9e3b91b9e334e12 100644 --- a/app/Util/PenyediaDaerah.php +++ b/app/Util/PenyediaDaerah.php @@ -5,6 +5,7 @@ namespace App\Util; class PenyediaDaerah { public $no; + public $idPaket; public $namaPaket; public $pagu; public $metodePemilihanPenyedia; @@ -12,9 +13,10 @@ class PenyediaDaerah public static $count = 0; - function __construct($namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana) { + function __construct($idPaket, $namaPaket, $pagu, $metodePemilihanPenyedia, $sumberDana) { PenyediaDaerah::$count++; $this->no = PenyediaDaerah::$count; + $this->idPaket = $idPaket; $this->namaPaket = $namaPaket; $this->pagu = $pagu; $this->metodePemilihanPenyedia = $metodePemilihanPenyedia; diff --git a/app/Util/PenyediaSwakelolaDaerah.php b/app/Util/PenyediaSwakelolaDaerah.php index 88ea990ba10dd58cfef7345b96ad74dcbc68c33c..48ae7a84282947d2a42d6a3be06d466ee76529bc 100644 --- a/app/Util/PenyediaSwakelolaDaerah.php +++ b/app/Util/PenyediaSwakelolaDaerah.php @@ -5,19 +5,23 @@ namespace App\Util; class PenyediaSwakelolaDaerah { public $no; - public $kegiatan; + public $namaPaket; public $paket; public $pagu; public $sumberDana; + public $metode; + public $idPaket; public static $count = 0; - function __construct($kegiatan, $paket, $pagu, $sumberDana){ + function __construct($idPaket, $namaPaket, $paket, $pagu, $metode, $sumberDana){ PenyediaSwakelolaDaerah::$count++; $this->no = PenyediaSwakelolaDaerah::$count; - $this->kegiatan = $kegiatan; + $this->namaPaket = $namaPaket; + $this->idPaket = $idPaket; $this->paket = $paket; $this->pagu = $pagu; + $this->metode = $metode; $this->sumberDana = $sumberDana; } } diff --git a/app/Util/SumberDana.php b/app/Util/SumberDana.php new file mode 100644 index 0000000000000000000000000000000000000000..7723cdb1a5c4c7ad45d0bdf52bc9fea656a3b6b8 --- /dev/null +++ b/app/Util/SumberDana.php @@ -0,0 +1,20 @@ +<?php + +namespace App\Util; + +class SumberDana +{ + public $sumberDana; + public $klpd; + public $mak; + public $pagu; + + function __construct($sumberDana, $klpd, $mak, $pagu) { + $this->sumberDana = $sumberDana; + $this->$klpd = $klpd; + $this->mak = $mak; + $this->pagu = $pagu; + } +} + +?> diff --git a/app/Util/SwakelolaDaerah.php b/app/Util/SwakelolaDaerah.php index 638003ccfb699599bc67073958621ca418797290..7041906825cc3e71bff397d241d4fa076f7520fb 100644 --- a/app/Util/SwakelolaDaerah.php +++ b/app/Util/SwakelolaDaerah.php @@ -5,16 +5,19 @@ namespace App\Util; class SwakelolaDaerah { public $no; + public $idPaket; public $kegiatan; public $paket; public $pagu; + public $metode; public $sumberDana; public static $count = 0; - function __construct($kegiatan, $paket, $pagu, $sumberDana){ + function __construct($idPaket, $kegiatan, $paket, $pagu, $sumberDana){ SwakelolaDaerah::$count++; $this->no = SwakelolaDaerah::$count; + $this->idPaket = $idPaket; $this->kegiatan = $kegiatan; $this->paket = $paket; $this->pagu = $pagu; diff --git a/app/Util/UnduhMateri.php b/app/Util/UnduhMateri.php index f9e971d3a2ee2762f20f298fb45be01656b449dd..572eeb35eab5d1a1338f501780be1c4ebf0742f7 100644 --- a/app/Util/UnduhMateri.php +++ b/app/Util/UnduhMateri.php @@ -9,18 +9,20 @@ class UnduhMateri public $subjudul; public $kategori; public $deskripsi; - public $file; + public $filename; + public $filelink; public static $count = 0; - function __construct($judul, $subjudul, $kategori, $deskripsi, $file){ + function __construct($judul, $subjudul, $kategori, $deskripsi, $filename, $filelink){ UnduhMateri::$count++; $this->no = UnduhMateri::$count; $this->judul = $judul; $this->subjudul = $subjudul; $this->kategori = $kategori; $this->deskripsi = $deskripsi; - $this->file = $file; + $this->filename = $filename; + $this->filelink = $filelink; } } diff --git a/config/auth.php b/config/auth.php index 897dc826167c268c3e9a55b5f36a3cbdf3235ddb..947f7206e29713ca51094f69350c5e89879bffb3 100644 --- a/config/auth.php +++ b/config/auth.php @@ -68,7 +68,7 @@ return [ 'providers' => [ 'users' => [ 'driver' => 'eloquent', - 'model' => App\User::class, + 'model' => App\Model\User::class, ], // 'users' => [ diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 4a3ba472383f22d901f1cbb639554e775b1f988c..b1993d3820208627d53adf4a98c3807a6317ac2f 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -19,6 +19,7 @@ class CreateUsersTable extends Migration $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); + $table->enum('role', ['pa', 'ppk']); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/migrations/2019_03_21_042553_create_t_paket_penyedia_table.php b/database/migrations/2019_03_21_042553_create_t_paket_penyedia_table.php index be3f232a6c9239b448cf51cf48fcbbc51008d16a..56fc6f29e4a09f8343edd5ff67cc5e817c3d44f2 100644 --- a/database/migrations/2019_03_21_042553_create_t_paket_penyedia_table.php +++ b/database/migrations/2019_03_21_042553_create_t_paket_penyedia_table.php @@ -13,7 +13,7 @@ class CreateTPaketPenyediaTable extends Migration */ public function up() { - Schema::create('t_paket_penyedia', function (Blueprint $table) { + Schema::create('t_paket', function (Blueprint $table) { $table->bigIncrements('id'); $table->unsignedBigInteger('pid')->unique(); $table->string('nama'); @@ -92,6 +92,6 @@ class CreateTPaketPenyediaTable extends Migration */ public function down() { - Schema::dropIfExists('t_paket_penyedia'); + Schema::dropIfExists('t_paket'); } } diff --git a/database/migrations/2019_04_20_204220_create_jenis_paket_table.php b/database/migrations/2019_04_20_204220_create_jenis_paket_table.php new file mode 100644 index 0000000000000000000000000000000000000000..20cc1db189dcaed9865ff87b744eb7cca21656a2 --- /dev/null +++ b/database/migrations/2019_04_20_204220_create_jenis_paket_table.php @@ -0,0 +1,32 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreateJenisPaketTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('jenis_paket', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('name')->unique()->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('jenis_paket'); + } +} diff --git a/database/migrations/2019_04_20_204225_create_t_paket_all_table.php b/database/migrations/2019_04_20_204225_create_t_paket_all_table.php new file mode 100644 index 0000000000000000000000000000000000000000..78eb86af262c75d9aa9f54260ab22aab2e286565 --- /dev/null +++ b/database/migrations/2019_04_20_204225_create_t_paket_all_table.php @@ -0,0 +1,100 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class CreateTPaketAllTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('t_paket_all', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->unsignedBigInteger('pid')->unique(); + $table->string('nama'); + $table->string('kegiatan'); + $table->string('lokasi'); + $table->string('volume'); + $table->string('sumber_dana'); + $table->date('d_start'); + $table->date('d_end'); + $table->date('d_start_work'); + $table->date('d_end_work'); + $table->integer('pagu'); + $table->string('tahun_anggaran'); + $table->string('deskripsi'); + $table->unsignedBigInteger('m_satker_id'); + $table->foreign('m_satker_id')->references('id')->on('m_satker'); + $table->unsignedBigInteger('m_pengadaan_id'); + $table->foreign('m_pengadaan_id')->references('id')->on('m_pengadaan'); + $table->unsignedBigInteger('m_penyedia_id'); + $table->foreign('m_penyedia_id')->references('id')->on('m_penyedia'); + $table->unsignedBigInteger('m_belanja_id'); + $table->foreign('m_belanja_id')->references('id')->on('m_belanja'); + $table->unsignedBigInteger('m_pokja_id'); + $table->foreign('m_pokja_id')->references('id')->on('m_pokja'); + $table->unsignedBigInteger('users_id'); + $table->foreign('users_id')->references('id')->on('users'); + $table->unsignedBigInteger('m_kldi_id'); + $table->foreign('m_kldi_id')->references('id')->on('m_kldi'); + $table->unsignedBigInteger('id_ulp'); + $table->integer('hps'); + $table->string('d_usulan')->nullable(); + $table->string('d_ket_usulan')->nullable(); + $table->string('d_kerangka')->nullable(); + $table->string('d_ket_kerangka')->nullable(); + $table->string('d_spesifikasi_teknis')->nullable(); + $table->string('d_ket_spesifikasi_teknis')->nullable(); + $table->string('d_hps')->nullable(); + $table->string('d_ket_hps')->nullable(); + $table->string('d_rancangan_kontrak')->nullable(); + $table->string('d_ket_rancangan_kontrak')->nullable(); + $table->string('d_printscreen_sirup')->nullable(); + $table->string('d_ket_printscreen_sirup')->nullable(); + $table->string('d_copy_dpa')->nullable(); + $table->string('d_ket_copy_dpa')->nullable(); + $table->enum('d_stat', ['Created', 'Verifikasi', 'Revisi', 'Process', 'waitPOKJA', 'Aktif', 'Rejected', 'Approved', 'Closed', 'Pending'])->nullable(); + $table->string('d_keterangan')->nullable(); + $table->unsignedBigInteger('id_user_ulp')->nullable(); + $table->tinyInteger('rev_usulan')->nullable(); + $table->tinyInteger('rev_kerangka')->nullable(); + $table->tinyInteger('rev_teknis')->nullable(); + $table->tinyInteger('rev_hps')->nullable(); + $table->tinyInteger('rev_kontrak')->nullable(); + $table->tinyInteger('rev_sirup')->nullable(); + $table->tinyInteger('rev_copy')->nullable(); + $table->string('catatan_revisi')->nullable(); + $table->unsignedBigInteger('id_ketua')->nullable(); + $table->unsignedBigInteger('id_sekretaris')->nullable(); + $table->unsignedBigInteger('id_anggota')->nullable(); + $table->unsignedBigInteger('id_anggota2')->nullable(); + $table->unsignedBigInteger('id_anggota3')->nullable(); + $table->unsignedBigInteger('id_anggota4')->nullable(); + $table->unsignedBigInteger('id_anggota5')->nullable(); + $table->unsignedBigInteger('id_anggota6')->nullable(); + $table->unsignedBigInteger('id_anggota7')->nullable(); + $table->string('sk_panitia')->nullable(); + $table->enum('file_pemenang', ['Y','N'])->nullable(); + $table->enum('status', [1, 2, 3, 4]); + $table->unsignedBigInteger('jenis_paket_id'); + $table->foreign('jenis_paket_id')->references('id')->on('jenis_paket'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('t_paket_all'); + } +} + diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 91cb6d1c2dede4151cd947c27d31f2faa7ab5a8b..f957f303b2d05f3405364a03e526299f21844383 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -1,6 +1,22 @@ <?php use Illuminate\Database\Seeder; +use App\Model\Type; +use App\Model\KLDI; +use App\Model\Provinsi; +use App\Model\Kabupaten; +use App\Model\Kota; +use App\Model\Penyedia; +use App\Model\Pengadaan; +use App\Model\Satker; +use App\Model\Belanja; +use App\Model\Pokja; +use App\Model\JenisPaket; +use App\Model\Paket; +use App\Model\PaketPenyedia; +use App\Model\PaketSwakelola; +use App\Model\PaketPenyediaSwakelola; +use App\Model\User; class DatabaseSeeder extends Seeder { @@ -11,6 +27,284 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + $this->call([ + UserSeeder::class, + TypeSeeder::class, + KLDISeeder::class, + ProvinsiSeeder::class, + KotaSeeder::class, + KabupatenSeeder::class, + PenyediaSeeder::class, + PengadaanSeeder::class, + SatkerSeeder::class, + BelanjaSeeder::class, + PokjaSeeder::class, + JenisPaketSeeder::class, + PaketSeeder::class, + PaketPenyediaSeeder::class, + PaketSwakelolaSeeder::class, + PaketPenyediaSwakelolaSeeder::class, + ]); + } +} + +class TypeSeeder extends Seeder { + + public function run() + { + Type::create(['name' => 'Provinsi']); + Type::create(['name' => 'Kota']); + Type::create(['name' => 'Kabupaten']); + } +} + +class UserSeeder extends Seeder { + + public function run() + { + User::create(['name' => 'test', 'email'=>'test@gmail.com', 'password'=>'test', 'role'=>'pa']); + User::create(['name' => 'test2', 'email'=>'test2@gmail.com', 'password'=>'test2', 'role'=>'ppk']); + } +} + +class KLDISeeder extends Seeder { + + public function run() + { + KLDI::create(['type_id' => 1]); + KLDI::create(['type_id' => 2]); + KLDI::create(['type_id' => 2]); + KLDI::create(['type_id' => 3]); + KLDI::create(['type_id' => 3]); + } +} + +class ProvinsiSeeder extends Seeder { + + public function run() + { + Provinsi::create(['m_kldi_id' => 1, 'nama'=> 'Pemerintah Daerah Provinsi Jawa Barat']); + + } +} + +class KotaSeeder extends Seeder { + public function run(){ + Kota::create(['m_kldi_id' => 2, 'nama'=> 'Pemerintah Daerah Kota Bandung']); + Kota::create(['m_kldi_id' => 3, 'nama'=> 'Pemerintah Daerah Kota Cirebon']); + } +} + +class KabupatenSeeder extends Seeder { + public function run(){ + Kabupaten::create(['m_kldi_id' => 4, 'nama'=> 'Pemerintah Daerah Kabupaten Bandung']); + Kabupaten::create(['m_kldi_id' => 5, 'nama'=> 'Pemerintah Daerah Kabupaten Majalengka']); + } +} + +class PenyediaSeeder extends Seeder { + + public function run() + { + Penyedia::create(['pid' => 8, 'nama'=> 'Pengadaan Langsung', 'stat'=>'Y']); + Penyedia::create(['pid' => 9, 'nama'=> 'e-Purchasing','stat'=>'Y']); + Penyedia::create(['pid' => 7, 'nama'=> 'Penunjukan Langsung','stat'=>'Y']); + Penyedia::create(['pid' => 2, 'nama'=> 'Lelang Sederhana','stat'=>'Y']); + Penyedia::create(['pid' => 1, 'nama'=> 'Lelang Umum','stat'=>'Y']); + Penyedia::create(['pid' => 6, 'nama'=> 'Pemilihan Langsung','stat'=>'Y']); + Penyedia::create(['pid' => 11, 'nama'=> 'Kontes','stat'=>'Y']); + Penyedia::create(['pid' => 5, 'nama'=> 'Seleksi Sederhana','stat'=>'Y']); + Penyedia::create(['pid' => 4, 'nama'=> 'Seleksi Umum','stat'=>'Y']); + Penyedia::create(['pid' => 12, 'nama'=> 'Lelang Cepat','stat'=>'Y']); + Penyedia::create(['pid' => 11, 'nama'=> 'Pemerintah Daerah Kabupaten Majalengka','stat'=>'Y']); + } +} + +class PengadaanSeeder extends Seeder { + + public function run() + { + Pengadaan::create(['pid' => 1, 'nama'=> 'Barang', 'stat'=>'Y']); + Pengadaan::create(['pid' => 4, 'nama'=> 'Jasa Lainnya','stat'=>'Y']); + Pengadaan::create(['pid' => 2, 'nama'=> 'Pekerjaan','stat'=>'Y']); + Pengadaan::create(['pid' => 3, 'nama'=> 'Jasa Konsultasi','stat'=>'Y']); + } +} + +class SatkerSeeder extends Seeder { + + public function run() + { + Satker::create(['m_kldi_id' => 1, 'nama'=> 'DINAS KOMUNIKASI DAN INFORMATIKA PROVINSI JAWA BARAT']); + Satker::create(['m_kldi_id' => 1, 'nama'=> 'BADAN PENDAPATAN DAERAH PROVINSI JAWA BARAT']); + Satker::create(['m_kldi_id' => 2, 'nama'=> 'BADAN KESATUAN BANGSA DAN POLITIK']); + Satker::create(['m_kldi_id' => 2, 'nama'=> 'DINAS PERHUBUNGAN']); + Satker::create(['m_kldi_id' => 4, 'nama'=> 'SEKRETARIAT DAERAH']); + Satker::create(['m_kldi_id' => 4, 'nama'=> 'DINAS PERPUSTAKAAN DAN KEARSIPAN']); + } +} + +class BelanjaSeeder extends Seeder { + + public function run() + { + Belanja::create(['name' =>'Barang/jasa']); + } +} + +class PokjaSeeder extends Seeder { + + public function run() + { + Pokja::create(['pid' => '123-456-789','nama'=>'Pokja Satu','alamat'=>'Alamat', 'stat'=>'Y']); + Pokja::create(['pid' => '122-333-444','nama'=>'Pokja Dua','alamat'=>'Alamat', 'stat'=>'Y']); + } +} + +class PaketPenyediaSeeder extends Seeder { + + public function run() + { + PaketPenyedia::create(['pid'=>10000, 'nama'=>'Belanja Jasa Keamanan', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10001, 'nama'=>'Belanja PULPEN', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10002, 'nama'=>'Belanja PULPEN', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10003, 'nama'=>'Belanja ayam gorenggggg', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10004, 'nama'=>'Belanja es teh manis', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10005, 'nama'=>'Belanja buku', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10006, 'nama'=>'Belanja Topi', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10007, 'nama'=>'Belanja Meja', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10008, 'nama'=>'Belanja HP', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10009, 'nama'=>'Belanja HP', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10010, 'nama'=>'Belanja jeruk', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10011, 'nama'=>'Belanja mainan', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10012, 'nama'=>'Belanja snack', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10013, 'nama'=>'Belanja baterai', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10014, 'nama'=>'Belanja internet', 'kegiatan'=>'Penyediaan Jasa', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10015, 'nama'=>'Belanja lampu', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10016, 'nama'=>'Belanja laptop', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyedia::create(['pid'=>10017, 'nama'=>'Belanja yoyo', 'kegiatan'=>'Penyediaan Jasa', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + } +} + +class PaketSwakelolaSeeder extends Seeder { + + public function run() + { + PaketSwakelola::create(['pid'=>20000, 'nama'=>'Honorarium Pengadaan Barang dan Jasa 1', 'kegiatan'=>'Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'20001000', 'tahun_anggaran'=>'2019', 'deskripsi'=>'Pengadaan Barang dan Jasa', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20001, 'nama'=>'Honorarium Pengadaan Barang Jasa 2', 'kegiatan'=>'Penyusunan Dokumen Perencanaan BKD', 'lokasi'=>'Jl. Ahmad Yani No. 11', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20002, 'nama'=>'Honorarium Pengadaan Barang Jasa 3', 'kegiatan'=>'Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20003, 'nama'=>'Konsumsi Rapat Akbar', 'kegiatan'=>'Rapat Akbar', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'1980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20004, 'nama'=>'Sewa Hotel', 'kegiatan'=>'Seminar SIRUP', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20005, 'nama'=>'Belanja ATK', 'kegiatan'=>'Pembelian Tahunan', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20006, 'nama'=>'Perjalanan Dinas ke Jakarta', 'kegiatan'=>'Seminar', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20007, 'nama'=>'Perjalanan Dinas ke Bandung', 'kegiatan'=>'Workshop', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20008, 'nama'=>'Perjalanan Dinas ke Bali', 'kegiatan'=>'Pelatihan', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20009, 'nama'=>'Belanja Mouse', 'kegiatan'=>'Penyediaan Barang Komputer', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20010, 'nama'=>'Belanja Speaker', 'kegiatan'=>'Penyediaan Barang Komputer', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20011, 'nama'=>'Belanja Keyboard', 'kegiatan'=>'Penyediaan Barang Komputer', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20012, 'nama'=>'Belanja Snack', 'kegiatan'=>'Rapat Akbar', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20013, 'nama'=>'Honor Tim', 'kegiatan'=>'Pelatihan SIRUP LKPP', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20014, 'nama'=>'Operational Kendaraan Dinas', 'kegiatan'=>'Perjalanan Dinas', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20015, 'nama'=>'Belanja Bensin', 'kegiatan'=>'Perjalanan Dinas', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20016, 'nama'=>'Belanja konsumsi dan snack', 'kegiatan'=>'Pertemuan Para Ketua Dinas', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketSwakelola::create(['pid'=>20017, 'nama'=>'Perjalanan Dinas ke Semarang', 'kegiatan'=>'Rapat', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + } +} + +class PaketPenyediaSwakelolaSeeder extends Seeder { + + public function run() + { + PaketPenyediaSwakelola::create(['pid'=>30000, 'nama'=>'Beli Air', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'20001000', 'tahun_anggaran'=>'2019', 'deskripsi'=>'Pengadaan Barang dan Jasa', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30001, 'nama'=>'Beli Pisang', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 11', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30002, 'nama'=>'Beli Penggaris', 'kegiatan'=>'Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30003, 'nama'=>'Beli Baju', 'kegiatan'=>'Rapat Akbar', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'1980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30004, 'nama'=>'Beli Charger', 'kegiatan'=>'Seminar SIRUP', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30005, 'nama'=>'Beli Jaket', 'kegiatan'=>'Pembelian Tahunan', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30006, 'nama'=>'Beli Map', 'kegiatan'=>'Seminar', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30007, 'nama'=>'Beli Kertas 1 Rim', 'kegiatan'=>'Workshop', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30008, 'nama'=>'Beli Tinta', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>3, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30009, 'nama'=>'Beli Tiket Kereta untuk Rapat', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30010, 'nama'=>'Beli Umbul-Umbul', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30011, 'nama'=>'Beli Pamflet', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>4, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>2, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30012, 'nama'=>'Belanja Souvenir', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30013, 'nama'=>'Nasi Prasmanan', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30014, 'nama'=>'Belanja Pengadaan', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30015, 'nama'=>'Snack', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30016, 'nama'=>'Belanja Jasa Service', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + + PaketPenyediaSwakelola::create(['pid'=>30017, 'nama'=>'Belanja Perangko', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0]); + } +} + +class PaketSeeder extends Seeder { + + public function run() + { + Paket::create(['pid'=>40000, 'nama'=>'Sewa Gedung', 'kegiatan'=>'Seminar SIRUP', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'80000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>2, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>3, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0, 'jenis_paket_id'=>4]); + Paket::create(['pid'=>40001, 'nama'=>'Belanja Sarung', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'999', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>6, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0, 'jenis_paket_id'=>4]); + Paket::create(['pid'=>40002, 'nama'=>'Beli Galon', 'kegiatan'=>'Penyediaan Jasa Kemanan dan Kebersihan Beserta Peralatannya-ASN', 'lokasi'=>'Jl. TEST', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'20001000', 'tahun_anggaran'=>'2019', 'deskripsi'=>'Pengadaan Barang dan Jasa', 'm_satker_id'=>1, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>1, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>1, 'id_ulp'=>0, 'hps'=>0, 'jenis_paket_id'=>4]); + Paket::create(['pid'=>40003, 'nama'=>'Belanja Selimut', 'kegiatan'=>'Pelatihan SIRUP LKPP', 'lokasi'=>'Jl. Ahmad Yani No. 21 Garut', 'volume'=>'1 Paket', 'sumber_dana'=>'APBD', 'd_start'=>'2018-03-01', 'd_end'=>'2018-03-01', 'd_start_work'=>'2018-04-01', 'd_end_work'=>'2018-12-01', 'pagu' =>'199980000', 'tahun_anggaran'=>'2018', 'deskripsi'=>'Belanja Jasa Keamanan Dalam', 'm_satker_id'=>5, 'm_pengadaan_id'=>2, 'm_penyedia_id'=>2, 'm_belanja_id'=>1, 'm_pokja_id'=>1, 'users_id'=>1, 'm_kldi_id'=>4, 'id_ulp'=>0, 'hps'=>0, 'jenis_paket_id'=>4]); + } +} + +class JenisPaketSeeder extends Seeder { + + public function run() + { + JenisPaket::create(['name' => 'penyedia']); + JenisPaket::create(['name' => 'swakelola']); + JenisPaket::create(['name' => 'penyedia swakelola']); + JenisPaket::create(['name' => null]); } } diff --git a/package-lock.json b/package-lock.json index 1830b954de4a25d6e9a6e5f6a31c6f98d170c6f1..d8e47d60fc9867ee1bc2946c3b7d5828b7874f19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3765,12 +3765,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3785,17 +3787,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3912,7 +3917,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3924,6 +3930,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3938,6 +3945,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4049,7 +4057,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -4182,6 +4191,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4375,6 +4385,11 @@ "glob": "^7.1.1" } }, + "glyphicons": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/glyphicons/-/glyphicons-0.2.0.tgz", + "integrity": "sha1-KR2OyXSZOp/IinK1jVQNr1UNo5k=" + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", diff --git a/package.json b/package.json index fda5807be28790682970273327a6118cb12bfea4..81d3ede160ff208d3261c498621bda704631ea83 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "bootstrap-vue": "^2.0.0-rc.16", "datatables.net": "^1.10.19", "datatables.net-bs": "^1.10.19", - "datatables.net-dt": "^1.10.19" + "datatables.net-dt": "^1.10.19", + "glyphicons": "^0.2.0" } } diff --git a/public/css/app.css b/public/css/app.css index 72880346be0188f56778cf3779c541cf09a60145..fba7bbb091390df41fa5b6608c4625a43eb71ac3 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -12179,6 +12179,10 @@ a.text-dark:focus { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); } +.content { + min-height: 700px; +} + .footer { color: #fff; } diff --git a/public/file/DISEMINASI MONEV ( 5 TEMPAT TERBARU ).pdf b/public/file/DISEMINASI MONEV ( 5 TEMPAT TERBARU ).pdf new file mode 100644 index 0000000000000000000000000000000000000000..c9f54534dac03c8a4ce7cb0c74075962f2438907 Binary files /dev/null and b/public/file/DISEMINASI MONEV ( 5 TEMPAT TERBARU ).pdf differ diff --git a/public/file/Tata cara penggunaan aplikasi sirup versi 2.3_6 SKDEPUTI.pdf b/public/file/Tata cara penggunaan aplikasi sirup versi 2.3_6 SKDEPUTI.pdf new file mode 100644 index 0000000000000000000000000000000000000000..562cf34ef05ebf6433417df63236889fe991bca1 Binary files /dev/null and b/public/file/Tata cara penggunaan aplikasi sirup versi 2.3_6 SKDEPUTI.pdf differ diff --git a/resources/js/app.js b/resources/js/app.js index b98fa89431d07e36693a4e2f1310b65ac49f7495..10c94f681887cdd13dd46053902daab3c5c4c3f4 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -41,7 +41,14 @@ Vue.component('rekap-table-component', require('./components/RekapTableComponent Vue.component('modal-swakelola-component', require('./components/ModalSwakelolaComponent.vue').default); Vue.component('unduh-paket-component', require('./components/UnduhPaketComponent.vue').default); Vue.component('unduh-materi-table-component', require('./components/UnduhMateriTableComponent.vue').default); -Vue.component('modal-penyedia-component', require('./components/ModalPenyedia.vue').default); +Vue.component('modal-cari-paket-component', require('./components/ModalCariPaketComponent.vue').default); +Vue.component('modal-penyedia-component', require('./components/ModalPenyediaComponent.vue').default); +Vue.component('cari-paket-component', require('./components/CariPaketComponent.vue').default); +Vue.component('status-paket-component', require('./components/StatusPaketTableComponent.vue').default); +Vue.component('modal-pengumuman-component', require('./components/ModalPengumumanComponent.vue').default); +Vue.component('modal-klasifikasi-component', require('./components/ModalKlasifikasiComponent.vue').default); +Vue.component('loading-component', require('./components/LoadingComponent.vue').default); +Vue.component('modal-penyedia-swakelola-component', require('./components/ModalPenyediaSwakelolaComponent.vue').default); /** * Next, we will create a fresh Vue application instance and attach it to * the page. Then, you may begin adding components to this application diff --git a/resources/js/components/CariPaketComponent.vue b/resources/js/components/CariPaketComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..531a94f32075e991464a94d304534b7943971da0 --- /dev/null +++ b/resources/js/components/CariPaketComponent.vue @@ -0,0 +1,209 @@ +<template> + <div class="container-full"> + <div class="row"> + <div class="col-md-12" style="height:60px; background-color:#F05155; margin-bottom: 30px;"> + <div class="center" style="padding-top: 15px; padding-bottom:15px; width:100%;"> + <form class="form-inline" role="form" method="GET" @submit.prevent="findPaket"> + <div class="row" style="text-align: center;"> + <div class="form-group col-sm-13 center" style="padding-left: 30px; "> + <div class="input-group"> + <span class="input-group-addon"> + <i class="fas fa-calendar-alt"> + </i> + </span> + <select name="tahunAnggaran" id="tahunAnggaran" size="1" class="form-control" @change="handleChangeTahun"> + <option v-for="tahun in tahunAnggaran" :key="tahun.tahun_anggaran" v-bind:value="tahun.tahun_anggaran">{{tahun.tahun_anggaran}}</option> + </select> + <span class="input-group-addon"> + <i class="fa fa-key fa-fw"></i> + </span> + <input type="text" name="keyword" id="keyword" class="form-control" value placeholder="Kata Kunci" size="50" v-model="keyword"> + <span class="input-group-addon"> + <i class="fas fa-road"></i> + </span> + <select name="jenisPengadaan" id="jenisPengadaan" class="form-control pencarianHome" @change="handleChangeJenis"> + <option value="Semua">Semua Jenis Pengadaan</option> + <option v-for="jenis in jenisPengadaan" :key="jenis" v-bind:value="jenis.nama">{{jenis.nama}}</option> + </select> + <span class="input-group-addon"> + <i class="fas fa-road"></i> + </span> + <select name="metodePengadaan" id="metodePengadaan" class="form-control pencarianHome" @change="handleChangeMethod"> + <option value="Semua">Semua Metode</option> + <option v-for="metode in metodePengadaan" :key="metode" v-bind:value="metode.nama">{{metode.nama}}</option> + </select> + <span class="input-group-addon"> + <i class="fas fa-search"></i> + </span> + <!-- TO DO : make search function --> + <input type="submit" value="Cari" class="form-control"> + </div> + </div> + </div> + </form> + </div> + </div> + </div> + <div id="content"> + <div class="row"> + <div class="col-sm-12"> + <table class="table table-striped" id="paket"> + <thead> + <tr style="background-color: #F05155;border-bottom: 4px solid #ddd"> + <th class="text-center" style="color: white">No</th> + <th class="text-center" style="color: white">Paket</th> + <th class="text-center" style="color: white">Pagu(Rp)</th> + <th class="text-center" style="color: white">Jenis Pengadaan</th> + <th class="text-center" style="color: white">Metode</th> + <th class="text-center" style="color: white">Pemilihan</th> + <th class="text-center" style="color: white">K/L/D/I</th> + <th class="text-center" style="color: white">Satuan Kerja</th> + <th class="text-center" style="color: white">Lokasi</th> + <th class="text-center" style="color: white">ID</th> + </tr> + </thead> + <tbody> + <tr v-for="item in paketData" :key="item.no"> + <td>{{item.no}}</td> + + <td><a data-toggle="modal" :href="'#modalCariPaket' + item.id"> {{item.paket}} </a></td> + <td>{{item.pagu}}</td> + <td>{{item.jenisPengadaan}}</td> + <td>{{item.metode}}</td> + <td>{{item.pemilihan}}</td> + <td>{{item.kldi}}</td> + <td>{{item.satuanKerja}}</td> + <td>{{item.lokasi}}</td> + <td>{{item.id}}</td> + <modal-cari-paket-component :id="'modalCariPaket' + item.id" :idPaket="item.id"> </modal-cari-paket-component> + </tr> + </tbody> + </table> + </div> + </div> + </div> + </div> +</template> + +<script> +export default { + props: ["apiLink"], + data: function(){ + return { + paketData : null, + tahunAnggaran : null, + jenisPengadaan : null, + metodePengadaan : null, + keyword : '', + thn : null, + jns : null, + m : null + } + }, + mounted: function(){ + axios + .get(this.apiLink) + .then(response => { + this.paketData = response.data.dataPaket; + this.tahunAnggaran = response.data.tahun; + this.jenisPengadaan = response.data.pengadaan; + this.metodePengadaan = response.data.metode; + }) + .then(()=>{ + console.log(this.tahunAnggaran); + // Setup - add a text input to each footer cell + $("#paket tfoot th.search").each(function() { + var title = $(this).text(); + $(this).html('<input type="text" placeholder="Search ' + title + '" />'); + }); + + // DataTable + var table = $("#paket").DataTable({ + pagingType: "full_numbers" + }); + }) + }, + methods : { + handleChangeTahun : function (e){ + if (e.target.options.selectedIndex != -1){ + this.thn = (e.target.options[e.target.options.selectedIndex].value); + } + }, + handleChangeJenis : function (e){ + if (e.target.options.selectedIndex != -1){ + this.jns = (e.target.options[e.target.options.selectedIndex].value); + } + }, + handleChangeMethod : function(e) { + if (e.target.options.selectedIndex != -1){ + this.m = (e.target.options[e.target.options.selectedIndex].value); + } + }, + findPaket : function(){ + console.log("test"); + axios.get('api/findsearch/'+this.thn+'/'+this.keyword+'/'+this.jns+'/'+this.m) + .then(response=>{ + this.paketData = response.data.dataPaket; + }) + }, + } +} +</script> + +<style scoped> +.input-group{ + position: relative; + border-collapse: separate; +} + +.label{ + font-size: 12px; + text-align: left; + white-space: nowrap; + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + color: #333333; +} + +.input-group-addon{ + padding: 6px 12px; + font-size: 14px; + font-weight: 400; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} + +.input-sm{ + padding: 5px 10px; + font-size: 12px; + height: 30px; + line-height: 30px; +} + +.form-control{ + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #ffffff; + background-image: none; + border: 1px solid #ccc; +} + +.pencarianHome{ + -webkit-appearance: none; +} + +#content{ + padding: 0px 30px 0px 30px; +} + +.resultTable{ + padding-top: 10px; +} +</style> diff --git a/resources/js/components/LoadingComponent.vue b/resources/js/components/LoadingComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..c5601de8c4a3d4e5662780543bd4ed56a1b39d26 --- /dev/null +++ b/resources/js/components/LoadingComponent.vue @@ -0,0 +1,48 @@ +<template> + <div class="half-circle-spinner"> + <div class="circle circle-1"></div> + <div class="circle circle-2"></div> + </div> +</template> + +<style scoped> + .half-circle-spinner, .half-circle-spinner * { + box-sizing: border-box; + } + + .half-circle-spinner { + width: 60px; + height: 60px; + border-radius: 100%; + position: relative; + } + + .half-circle-spinner .circle { + content: ""; + position: absolute; + width: 100%; + height: 100%; + border-radius: 100%; + border: calc(60px / 10) solid transparent; + } + + .half-circle-spinner .circle.circle-1 { + border-top-color: #ff1d5e; + animation: half-circle-spinner-animation 1s infinite; + } + + .half-circle-spinner .circle.circle-2 { + border-bottom-color: #ff1d5e; + animation: half-circle-spinner-animation 1s infinite alternate; + } + + @keyframes half-circle-spinner-animation { + 0% { + transform: rotate(0deg); + + } + 100%{ + transform: rotate(360deg); + } + } +</style> diff --git a/resources/js/components/ModalCariPaketComponent.vue b/resources/js/components/ModalCariPaketComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..e697c99a8ee69d639d2f6cfdc17e0f3e5b1435c1 --- /dev/null +++ b/resources/js/components/ModalCariPaketComponent.vue @@ -0,0 +1,239 @@ +<template> + <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> + <div class="modal-dialog modal-lg" role="document"> + <div class="modal-content"> + + <div v-if="loading === true"> + <div style="padding: 50px"> + <loading-component class="loader"> </loading-component> + </div> + </div> + + <div v-if="loading === false"> + <div style="padding: 0px 30px 0px 30px"> + <div + class="text-center" + style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;" + > + {{item["nama"]}} + </div> + <div style="margin-bottom: 30px"></div> + <div class="paket"> + <div class="nav-tabs nav-fill list-paket"> + <a> + <button class="btn button-paket" id="detilPaket-btn" role="button">Detil Paket</button> + </a> + </div> + </div> + </div> + + <div class="modal-header"> + </div> + + <div class="row" style="font-size: 10pt; padding-left: 40px"> + <dl class="dl-horizontal" style="display: inline-block"> + <dt>Kode RUP</dt> + <dd>: {{item["rup"]}}</dd> + <br> + <dt>Nama Paket</dt> + <dd>: {{item["nama"]}}</dd> + <br> + <dt>KLDI</dt> + <dd>: {{item["kldi"]}}</dd> + <br> + <dt>Satuan Kerja</dt> + <dd>: {{item["satker"]}}</dd> + <br> + <dt>Tahun Anggaran</dt> + <dd>: {{item["tahun"]}}</dd> + <br> + <dd><br></dd> + <dt> + <h4 style="font-size: small">Lokasi Pekerjaan</h4> + </dt> + <dd> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Provinsi</th> + <th>Kabupaten/Kota</th> + <th>Detail Lokasi</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["provinsi"]}}</td> + <td>{{item["kota_kabupaten"]}}</td> + <td>{{item["lokasi"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Volume</dt> + <dd>: {{item["volume"]}}</dd> + <br> + <dt>Deskripsi</dt> + <dd>: {{item["deskripsi"]}}</dd> + <br> + <dt>Spesifikasi</dt> + <dd>: {{item["spesifikasi"]}}</dd> + <br> + <dt>Produk Dalam Negeri</dt> + <dd>: {{item["dalamNegeri"]}}</dd> + <br> + <dt>Usaha Kecil</dt> + <dd>: {{item["usahaKecil"]}}</dd> + <br> + <dt>Pra DIPA / DPA</dt> + <dd>: {{item["DIPA_DPA"]}}</dd> + <br> + <dt> + <h4 style="font-size: small">SUMBER DANA</h4> + </dt> + <dd> + <br> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Sumber Dana</th> + <th>T.A.</th> + <th>KLPD</th> + <th>MAK</th> + <th>Pagu</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["sumberDana"]["nama"]}}</td> + <td>{{item["sumberDana"]["TA"]}}</td> + <td>{{item["sumberDana"]["klpd"]}}</td> + <td>{{item["sumberDana"]["mak"]}}</td> + <td>{{item["sumberDana"]["pagu"]}}</td> + </tr> + <tr> + <td colspan="5">Total</td> + <td>{{item["totalSumberDana"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Jenis Pengadaan</dt> + <dd>: {{item["jenisPengadaan"]}}</dd> + <br> + <dt>Jumlah Pagu</dt> + <dd>: {{item["pagu"]}}</dd> + <br> + <dt>Pemilihan Penyedia</dt> + <dd>: {{item["pemilihanPenyedia"]}}</dd> + <br> + <dt> + <h4 style="font-size: small; margin-top: 10px; margin-bottom: 10px">WAKTU</h4> + </dt> + <dd></dd> + <br> + <dt>Bulan Kebutuhan</dt> + <dd>: {{item["bulanKebutuhan"]}}</dd> + <br> + <dt>Bulan Pekerjaan Akhir</dt> + <dd>: {{item["pekerjaanAkhir"]}}</dd> + <br> + <dt>Bulan Pekerjaan Mulai</dt> + <dd>: {{item["pekerjaanMulai"]}}</dd> + <br> + <dt>Bulan Pemilihan Akhir</dt> + <dd>: {{item["pemilihanAkhir"]}}</dd> + <br> + <dt>Bulan Pemilihan Mulai</dt> + <dd>: {{item["pemilihanMulai"]}}</dd> + <br> + <dt>Tanggal Perbaharui</dt> + <dd>: {{item["tanggalPerbaharui"]}}</dd> + <br> + </dl> + </div> + + <div class="modal-footer"> + <button type="button" data-dismiss="modal" class="btn button-paket">Tutup</button> + <button type="button" class="btn btn-primary">Print</button> + </div> + </div> + + </div> + </div> + </div> +</template> + +<script> +export default { + props: ['idPaket'], + data: function() { + return{ + title : null, + item : null, + loading: false, + } + }, + created() { + this.loading = true; + }, + mounted: function() { + var url = "/api/modal/search/" + this.idPaket; + axios + .get(url) + .then(response => { + this.item = response.data.paket; + this.loading = false; + }) + } +} +</script> + +<style scoped> + .paket { + text-align: center; + padding-bottom: 20px; + font-size: 9.5pt; + } + + .list-paket { + border-color: #f05155; + font-size: 20px; + } + + .button-paket { + background: #f05155; + color: white; + margin: 3px; + } + + #penyedia-btn { + float: right; + } + + #swakelola-btn { + background: #ef7c7f; + color: white; + float: left; + } + + #swakelola-btn:hover { + background: #f05155; + color: white; + float: left; + } + + dt { + display: inline-block; + margin-block-end: 10px; + margin-right: 20px; + } + + dd { + display: inline; + } + .loader { + margin: 0 auto; + } +</style> diff --git a/resources/js/components/ModalKlasifikasiComponent.vue b/resources/js/components/ModalKlasifikasiComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..68901fa1ec3311577c3561882fa87e499673fbee --- /dev/null +++ b/resources/js/components/ModalKlasifikasiComponent.vue @@ -0,0 +1,78 @@ +<template> + <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> + <div class="modal-dialog modal-lg" role="document"> + <div class="modal-content"> + + <div style="padding: 0px 30px 0px 30px"> + <div + class="text-center" + style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;"> + {{title}} + </div> + <div + class="text-center" + style="color: #2e3436; font-size: 18pt; text-align: center; padding-top: 15px;"> + {{namaPaket}} + </div> + <div style="margin-bottom: 30px"></div> + </div> + <div class="modal-header" style="padding: 0px"> </div> + <div style="color: #2e3436; font-size: 15pt; text-align: left; padding-top: 13px; padding-left: 30px;"> + Pilih klasifikasi paket berikut: + </div> + <div class="type-paket"> + <input type="radio" name="type" v-model="jenis" value="1"> Penyedia<br> + <input type="radio" name="type" v-model="jenis" value="2"> Swakelola<br> + <input type="radio" name="type" v-model="jenis" value="3"> Penyedia dalam Swakelola + </div> + + <div class="modal-footer"> + <button type="button" id='simpanKlasifikasi' v-on:click="klasifikasi(idPaket, jenis)" class="btn button-save">Simpan</button> + <button type="button" id='batalKlasifikasi' data-dismiss="modal" class="btn btn-primary">Batal</button> + </div> + + </div> + </div> + </div> +</template> + +<script> +export default { + props: ['idPaket', 'namaPaket', 'title', 'status'], + data: function() { + return{ + item : null, + statusKlasifikasiSukses: null, + jenis: 0 + } + }, + methods: { + klasifikasi: function(id, jenisPaket) { + var status = this.status; + var url = "/api/status/klasifikasi/" + this.idPaket + "/" + status + "/" + jenisPaket; + axios + .get(url) + .then(response => { + this.statusKlasifikasiSukses = response.data.status; + }) + }, + setJenisPaket: function(jenis) { + this.jenis = jenis; + } + } +} +</script> + +<style scoped> + .button-save { + background: #f05155; + color: white; + margin: 3px; + } + .type-paket { + text-align: left; + padding-left: 30px; + padding-bottom: 30px; + padding-top: 5px; + } +</style> diff --git a/resources/js/components/ModalPengumumanComponent.vue b/resources/js/components/ModalPengumumanComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..a1817457c19b82e2f322d8384d77970faed40b47 --- /dev/null +++ b/resources/js/components/ModalPengumumanComponent.vue @@ -0,0 +1,66 @@ +<template> + <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> + <div class="modal-dialog modal-lg" role="document"> + <div class="modal-content"> + + <div style="padding: 0px 30px 0px 30px"> + <div + class="text-center" + style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;"> + {{this.kegiatan}} + </div> + <div + class="text-center" + style="color: #2e3436; font-size: 15pt; text-align: center; padding-top: 15px;"> + {{this.namaPaket}} + </div> + <div style="margin-bottom: 30px"></div> + </div> + + <div class="modal-header" style="padding: 0px"> </div> + + <div style="font-size: 13pt; padding-left: 30px; padding:40px;"> + Apakah Anda yakin untuk mengumumkan paket ini? + </div> + + <div class="modal-footer"> + <button type="button" id='simpanUmumkan' v-on:click="simpan(idPaket)" class="btn button-save">Ya</button> + <button type="button" id='batalUmumkan' data-dismiss="modal" class="btn btn-primary">Tidak</button> + </div> + + </div> + </div> + </div> +</template> + +<script> +export default { + props: ['idPaket', 'kegiatan', 'namaPaket'], + data: function() { + return{ + item : null, + status: null + } + }, + methods: { + simpan: function(id) { + var url = "/api/status/pengumuman/" + this.idPaket; + axios + .get(url) + .then(response => { + this.status = response.data.status; + console.log(this.status); + }) + } + } +} +</script> + +<style scoped> + .button-save { + background: #f05155; + color: white; + margin: 3px; + } + +</style> diff --git a/resources/js/components/ModalPenyedia.vue b/resources/js/components/ModalPenyedia.vue deleted file mode 100644 index ad26babce0b96ce4fa383cc8232c18a64c7afebc..0000000000000000000000000000000000000000 --- a/resources/js/components/ModalPenyedia.vue +++ /dev/null @@ -1,174 +0,0 @@ -<template> - <div> - <div style="padding: 0px 30px 0px 30px"> - <div - class="text-center" - style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;" - > - {{title}} - </div> - <div style="margin-bottom: 30px"></div> - <div class="paket"> - <ul class="nav nav-tabs nav-fill list-paket"> - <li class="nav-item" role="presentation"> - <button href class="btn button-paket" id="penyedia-btn" role="button">Detil Paket</button> - </li> - <li class="nav-item" role="presentation"> - <button href class="btn button-paket" id="swakelola-btn" role="button">Detil Renja</button> - </li> - </ul> - </div> - </div> - - <div class="modal-header"> - </div> - <div class="row" style="font-size: 10pt; padding-left: 30px"> - <dl class="dl-horizontal"> - <dt>Kode RUP</dt> - <dd>: 18767305</dd> - <dt>Nama Paket</dt> - <dd>: Belanja Jasa Kawat/Faksimili/Internet (Jaringan Internet Redundant Pendukung Data Center (DC))</dd> - <dt>KLDI</dt> - <dd>: Pemerintah Daerah Provinsi Jawa Barat</dd> - <dt>Satuan Kerja</dt> - <dd>: DINAS KOMUNIKASI DAN INFORMATIKA PROVINSI JAWA BARAT</dd> - <dt>Tahun Anggaran</dt> - <dd>: 2019</dd> - <dd><br></dd> - <dt> - <h4 style="font-size: small">Lokasi Pekerjaan</h4> - </dt> - <dd> - <table class="table table-striped table-hover"> - <tbody> - <tr> - <th>No.</th> - <th>Provinsi</th> - <th>Kabupaten/Kota</th> - <th>Detail Lokasi</th> - </tr> - <tr> - <td>1.</td> - <td>Jawa Barat</td> - <td>Bandung (Kota)</td> - <td>Jl. Tamansari No.55 Bandung</td> - </tr> - </tbody> - </table> - </dd> - <dt>Volume</dt> - <dd>: satu paket</dd> - <dt>Deskripsi</dt> - <dd>: Jaringan Internet Redundant Pendukung Data Center (DC)</dd> - <dt>Spesifikasi</dt> - <dd>: -</dd> - <dt>Produk Dalam Negeri</dt> - <dd>: Tidak</dd> - <dt>Usaha Kecil</dt> - <dd>: Ya</dd> - <dt>Pra DIPA / DPA</dt> - <dd>: Tidak</dd> - <dt> - <h4 style="font-size: small">SUMBER DANA</h4> - </dt> - <dd> - <table class="table table-striped table-hover"> - <tbody> - <tr> - <th>No.</th> - <th>Sumber Dana</th> - <th>T.A.</th> - <th>KLPD</th> - <th>MAK</th> - <th>Pagu</th> - </tr> - <tr> - <td>1.</td> - <td>APBD</td> - <td>2019</td> - <td>Pemerintah Daerah Provinsi Jawa Barat</td> - <td>5.2.3.10.08</td> - <td>31950450</td> - </tr> - <tr> - <td colspan="5">Total</td> - <td>31950450</td> - </tr> - </tbody> - </table> - </dd> - <dt>Jenis Pengadaan</dt> - <dd>: Barang,</dd> - <dt>Jumlah Pagu</dt> - <dd>: 31950450</dd> - <dt>Pemilihan Penyedia</dt> - <dd>: E-Purchasing</dd> - <dt> - <h4 style="font-size: small; margin-top: 10px; margin-bottom: 10px">WAKTU</h4> - </dt> - <dd></dd> - <dt>Bulan Kebutuhan</dt> - <dd>: Mei 2019</dd> - <dt>Bulan Pekerjaan Akhir</dt> - <dd>: April 2019</dd> - <dt>Bulan Pekerjaan Mulai</dt> - <dd>: April 2019</dd> - <dt>Bulan Pemilihan Akhir</dt> - <dd>: April 2019</dd> - <dt>Bulan Pemilihan Mulai</dt> - <dd>: April 2019</dd> - <dt>Tanggal Perbarui</dt> - <dd>: 2019-01-15</dd> - </dl> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-rup btn-redPastel">Tutup</button> - <button type="button" class="btn btn-primary">Print</button> - </div> - </div> -</template> - -<script> -export default { - data: function() { - return{ - title : 'Belanja Jasa Kawat/Faksimili/Internet (Jaringan Internet Redundant Pendukung Data Center (DC))' - } - } -} -</script> - -<style scoped> - .paket { - text-align: center; - padding-bottom: 20px; - font-size: 9.5pt; - } - - .list-paket { - border-color: #f05155; - font-size: 20px; - } - - .button-paket { - background: #f05155; - color: white; - margin: 3px; - } - - #penyedia-btn { - float: right; - } - - #swakelola-btn { - background: #ef7c7f; - color: white; - float: left; - } - - #swakelola-btn:hover { - background: #f05155; - color: white; - float: left; - } -</style> diff --git a/resources/js/components/ModalPenyediaComponent.vue b/resources/js/components/ModalPenyediaComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..f9a8588ba7a85d549e65d7e3e2390fb3781170b1 --- /dev/null +++ b/resources/js/components/ModalPenyediaComponent.vue @@ -0,0 +1,245 @@ +<template> + <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> + <div class="modal-dialog modal-lg" role="document"> + <div class="modal-content"> + + <div v-if="loading === true"> + <div style="padding: 50px"> + <loading-component class="loader"> </loading-component> + </div> + </div> + + <div v-if="loading === false" class="content"> + <div style="padding: 0px 30px 0px 30px"> + <div + class="text-center" + style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;" + > + {{item["nama"]}} + </div> + <div style="margin-bottom: 30px"></div> + <div class="paket"> + <ul class="nav nav-tabs nav-fill list-paket"> + <li class="nav-item" role="presentation"> + <button href class="btn button-paket" id="penyedia-btn" role="button">Detil Paket</button> + </li> + <li class="nav-item" role="presentation"> + <button href class="btn button-paket" id="swakelola-btn" role="button">Detil Renja</button> + </li> + </ul> + </div> + </div> + + <div class="modal-header"> + </div> + + <div class="row" style="font-size: 10pt; padding-left: 30px"> + <dl class="dl-horizontal" style="display: inline-block"> + <dt>Kode RUP</dt> + <dd>: {{item["rup"]}}</dd> + <br> + <dt>Nama Paket</dt> + <dd>: {{item["nama"]}}</dd> + <br> + <dt>KLDI</dt> + <dd>: {{item["kldi"]}}</dd> + <br> + <dt>Satuan Kerja</dt> + <dd>: {{item["satker"]}}</dd> + <br> + <dt>Tahun Anggaran</dt> + <dd>: {{item["tahun"]}}</dd> + <br> + <dd><br></dd> + <dt> + <h4 style="font-size: small">Lokasi Pekerjaan</h4> + </dt> + <dd> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Provinsi</th> + <th>Kabupaten/Kota</th> + <th>Detail Lokasi</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["provinsi"]}}</td> + <td>{{item["kota_kabupaten"]}}</td> + <td>{{item["lokasi"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Volume</dt> + <dd>: {{item["volume"]}}</dd> + <br> + <dt>Deskripsi</dt> + <dd>: {{item["deskripsi"]}}</dd> + <br> + <dt>Spesifikasi</dt> + <dd>: {{item["spesifikasi"]}}</dd> + <br> + <dt>Produk Dalam Negeri</dt> + <dd>: {{item["dalamNegeri"]}}</dd> + <br> + <dt>Usaha Kecil</dt> + <dd>: {{item["usahaKecil"]}}</dd> + <br> + <dt>Pra DIPA / DPA</dt> + <dd>: {{item["DIPA_DPA"]}}</dd> + <br> + <dt> + <h4 style="font-size: small">SUMBER DANA</h4> + </dt> + <dd> + <br> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Sumber Dana</th> + <th>T.A.</th> + <th>KLPD</th> + <th>MAK</th> + <th>Pagu</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["sumberDana"]["nama"]}}</td> + <td>{{item["sumberDana"]["TA"]}}</td> + <td>{{item["sumberDana"]["klpd"]}}</td> + <td>{{item["sumberDana"]["mak"]}}</td> + <td>{{item["sumberDana"]["pagu"]}}</td> + </tr> + <tr> + <td colspan="5">Total</td> + <td>{{item["totalSumberDana"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Jenis Pengadaan</dt> + <dd>: {{item["jenisPengadaan"]}}</dd> + <br> + <dt>Jumlah Pagu</dt> + <dd>: {{item["pagu"]}}</dd> + <br> + <dt>Pemilihan Penyedia</dt> + <dd>: {{item["pemilihanPenyedia"]}}</dd> + <br> + <dt> + <h4 style="font-size: small; margin-top: 10px; margin-bottom: 10px">WAKTU</h4> + </dt> + <dd></dd> + <br> + <dt>Bulan Kebutuhan</dt> + <dd>: {{item["bulanKebutuhan"]}}</dd> + <br> + <dt>Bulan Pekerjaan Akhir</dt> + <dd>: {{item["pekerjaanAkhir"]}}</dd> + <br> + <dt>Bulan Pekerjaan Mulai</dt> + <dd>: {{item["pekerjaanMulai"]}}</dd> + <br> + <dt>Bulan Pemilihan Akhir</dt> + <dd>: {{item["pemilihanAkhir"]}}</dd> + <br> + <dt>Bulan Pemilihan Mulai</dt> + <dd>: {{item["pemilihanMulai"]}}</dd> + <br> + <dt>Tanggal Perbaharui</dt> + <dd>: {{item["tanggalPerbaharui"]}}</dd> + <br> + </dl> + </div> + + <div class="modal-footer"> + <button type="button" data-dismiss="modal" class="btn button-paket">Tutup</button> + <button type="button" class="btn btn-primary">Print</button> + </div> + </div> + + </div> + </div> + </div> +</template> + +<script> +export default { + props: ['idPaket'], + data: function() { + return{ + title : null, + item : null, + loading: false, + } + }, + created() { + this.loading = true; + }, + mounted: function() { + var url = "/api/modal/penyedia/" + this.idPaket; + axios + .get(url) + .then(response => { + this.item = response.data.paket; + this.loading = false; + }) + } +} +</script> + +<style scoped> + .paket { + text-align: center; + padding-bottom: 20px; + font-size: 9.5pt; + } + + .list-paket { + border-color: #f05155; + font-size: 20px; + } + + .button-paket { + background: #f05155; + color: white; + margin: 3px; + } + + #penyedia-btn { + float: right; + } + + #swakelola-btn { + background: #ef7c7f; + color: white; + float: left; + } + + #swakelola-btn:hover { + background: #f05155; + color: white; + float: left; + } + + dt { + display: inline-block; + margin-block-end: 10px; + margin-right: 20px; + } + + dd { + display: inline; + } + .loader { + margin: 0 auto; + } + .content { + text-align: left; + } +</style> diff --git a/resources/js/components/ModalPenyediaSwakelolaComponent.vue b/resources/js/components/ModalPenyediaSwakelolaComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..7c7a1769a9bb8fa6c7a7f15399559c69e99b488d --- /dev/null +++ b/resources/js/components/ModalPenyediaSwakelolaComponent.vue @@ -0,0 +1,242 @@ +<template> + <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> + <div class="modal-dialog modal-lg" role="document"> + <div class="modal-content"> + + <div v-if="loading === true"> + <div style="padding: 50px"> + <loading-component class="loader"> </loading-component> + </div> + </div> + + <div v-if="loading === false"> + <div style="padding: 0px 30px 0px 30px"> + <div + class="text-center" + style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;" + > + {{item["nama"]}} + </div> + <div style="margin-bottom: 30px"></div> + <div class="paket"> + <ul class="nav nav-tabs nav-fill list-paket"> + <li class="nav-item" role="presentation"> + <button href class="btn button-paket" id="penyedia-btn" role="button">Detil Paket</button> + </li> + <li class="nav-item" role="presentation"> + <button href class="btn button-paket" id="swakelola-btn" role="button">Detil Renja</button> + </li> + </ul> + </div> + </div> + + <div class="modal-header"> + </div> + + <div class="row" style="font-size: 10pt; padding-left: 30px"> + <dl class="dl-horizontal" style="display: inline-block"> + <dt>Kode RUP</dt> + <dd>: {{item["rup"]}}</dd> + <br> + <dt>Nama Paket</dt> + <dd>: {{item["nama"]}}</dd> + <br> + <dt>KLDI</dt> + <dd>: {{item["kldi"]}}</dd> + <br> + <dt>Satuan Kerja</dt> + <dd>: {{item["satker"]}}</dd> + <br> + <dt>Tahun Anggaran</dt> + <dd>: {{item["tahun"]}}</dd> + <br> + <dd><br></dd> + <dt> + <h4 style="font-size: small">Lokasi Pekerjaan</h4> + </dt> + <dd> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Provinsi</th> + <th>Kabupaten/Kota</th> + <th>Detail Lokasi</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["provinsi"]}}</td> + <td>{{item["kota_kabupaten"]}}</td> + <td>{{item["lokasi"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Volume</dt> + <dd>: {{item["volume"]}}</dd> + <br> + <dt>Deskripsi</dt> + <dd>: {{item["deskripsi"]}}</dd> + <br> + <dt>Spesifikasi</dt> + <dd>: {{item["spesifikasi"]}}</dd> + <br> + <dt>Produk Dalam Negeri</dt> + <dd>: {{item["dalamNegeri"]}}</dd> + <br> + <dt>Usaha Kecil</dt> + <dd>: {{item["usahaKecil"]}}</dd> + <br> + <dt>Pra DIPA / DPA</dt> + <dd>: {{item["DIPA_DPA"]}}</dd> + <br> + <dt> + <h4 style="font-size: small">SUMBER DANA</h4> + </dt> + <dd> + <br> + <table class="table table-striped table-hover"> + <tbody> + <tr> + <th>No.</th> + <th>Sumber Dana</th> + <th>T.A.</th> + <th>KLPD</th> + <th>MAK</th> + <th>Pagu</th> + </tr> + <tr> + <td>1.</td> + <td>{{item["sumberDana"]["nama"]}}</td> + <td>{{item["sumberDana"]["TA"]}}</td> + <td>{{item["sumberDana"]["klpd"]}}</td> + <td>{{item["sumberDana"]["mak"]}}</td> + <td>{{item["sumberDana"]["pagu"]}}</td> + </tr> + <tr> + <td colspan="5">Total</td> + <td>{{item["totalSumberDana"]}}</td> + </tr> + </tbody> + </table> + </dd> + <br> + <dt>Jenis Pengadaan</dt> + <dd>: {{item["jenisPengadaan"]}}</dd> + <br> + <dt>Jumlah Pagu</dt> + <dd>: {{item["pagu"]}}</dd> + <br> + <dt>Pemilihan Penyedia</dt> + <dd>: {{item["pemilihanPenyedia"]}}</dd> + <br> + <dt> + <h4 style="font-size: small; margin-top: 10px; margin-bottom: 10px">WAKTU</h4> + </dt> + <dd></dd> + <br> + <dt>Bulan Kebutuhan</dt> + <dd>: {{item["bulanKebutuhan"]}}</dd> + <br> + <dt>Bulan Pekerjaan Akhir</dt> + <dd>: {{item["pekerjaanAkhir"]}}</dd> + <br> + <dt>Bulan Pekerjaan Mulai</dt> + <dd>: {{item["pekerjaanMulai"]}}</dd> + <br> + <dt>Bulan Pemilihan Akhir</dt> + <dd>: {{item["pemilihanAkhir"]}}</dd> + <br> + <dt>Bulan Pemilihan Mulai</dt> + <dd>: {{item["pemilihanMulai"]}}</dd> + <br> + <dt>Tanggal Perbaharui</dt> + <dd>: {{item["tanggalPerbaharui"]}}</dd> + <br> + </dl> + </div> + + <div class="modal-footer"> + <button type="button" data-dismiss="modal" class="btn button-paket">Tutup</button> + <button type="button" class="btn btn-primary">Print</button> + </div> + </div> + + </div> + </div> + </div> +</template> + +<script> +export default { + props: ['idPaket'], + data: function() { + return{ + title : null, + item : null, + loading: false, + } + }, + created() { + this.loading = true; + }, + mounted: function() { + var url = "/api/modal/penyediaSwakelola/" + this.idPaket; + axios + .get(url) + .then(response => { + this.item = response.data.paket; + this.loading = false; + }) + } +} +</script> + +<style scoped> + .paket { + text-align: center; + padding-bottom: 20px; + font-size: 9.5pt; + } + + .list-paket { + border-color: #f05155; + font-size: 20px; + } + + .button-paket { + background: #f05155; + color: white; + margin: 3px; + } + + #penyedia-btn { + float: right; + } + + #swakelola-btn { + background: #ef7c7f; + color: white; + float: left; + } + + #swakelola-btn:hover { + background: #f05155; + color: white; + float: left; + } + + dt { + display: inline-block; + margin-block-end: 10px; + margin-right: 20px; + } + + dd { + display: inline; + } + .loader { + margin: 0 auto; + } +</style> diff --git a/resources/js/components/ModalSwakelolaComponent.vue b/resources/js/components/ModalSwakelolaComponent.vue index 647d30cc979b26645bf97490ebf238e6e8a032ff..261b34aaa46589902d1fcb73894dfa67d3a8b10d 100644 --- a/resources/js/components/ModalSwakelolaComponent.vue +++ b/resources/js/components/ModalSwakelolaComponent.vue @@ -2,130 +2,138 @@ <div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> - <div class="modal-header bg-danger"> - <h5 class="modal-title text-white" id="exampleModalLongTitle">Paket Swakelola</h5> - <button type="button" class="close" data-dismiss="modal" aria-label="Close"> - <span aria-hidden="true">×</span> - </button> - </div> - <div class="modal-body" v-for="item in dataSwakelola" :key="item.rup"> - <h4 class='m-3'>{{item.nama}}</h4> - <table class="table table-sm table-borderless"> - <tbody> - <tr> - <th scope="row" class="text-right">Kode RUP</th> - <th scope="row">:</th> - <td>{{item.rup}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Nama Paket</th> - <th scope="row">:</th> - <td>{{item.nama}}</td> - </tr> - <tr> - <th scope="row" class="text-right">KLDI</th> - <th scope="row">:</th> - <td>{{item.kldi}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Satuan Kerja</th> - <th scope="row">:</th> - <td>{{item.satker}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Tahun Anggaran</th> - <th scope="row">:</th> - <td>{{item.tahun}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Lokasi Pekerjaan</th> - <th scope="row">:</th> - <td> - <table class="table table-bordered table-sm"> - <thead> - <tr class="table-active"> - <th>No.</th> - <th>Provinsi</th> - <th>Kabupaten/Kota</th> - <th>Detail Lokasi</th> - </tr> - </thead> - <tbody> - <tr> - <td>1.</td> - <td>{{item.provinsi}}</td> - <td>{{item.kota}}</td> - <td>{{item.lokasi}}</td> - </tr> - </tbody> - </table> - </td> - </tr> - <tr> - <th scope="row" class="text-right">Volume</th> - <th scope="row">:</th> - <td>{{item.volume}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Lokasi</th> - <th scope="row">:</th> - <td>{{item.kota}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Deskripsi</th> - <th scope="row">:</th> - <td>{{item.deskripsi}}</td> - </tr> - <tr> - <th scope="row" class="text-right">SUMBER DANA</th> - <th scope="row">:</th> - <td> - <table class="table table-bordered table-sm"> - <thead> - <tr class="table-active"> - <th>No.</th> - <th>Sumber Dana</th> - <th>KLPD</th> - <th>MAK</th> - <th>Pagu</th> - </tr> - </thead> - <tbody> - <tr v-for="subitem in item.sumberDana" :key="subitem.no"> - <td>1.</td> - <td>{{subitem.sumberDana}}</td> - <td>{{subitem.klpd}}</td> - <td>{{subitem.mak}}</td> - <td>{{subitem.pagu}}</td> - </tr> - <tr class="table-active"> - <td class="text-left" colspan="4">Total</td> - <td>{{item.totalSumberDana}}</td> - </tr> - </tbody> - </table> - </td> - </tr> - <tr> - <td colspan="3">PELAKSANAAN PEKERJAAN</td> - </tr> - <tr> - <th scope="row" class="text-right">Awal</th> - <th scope="row">:</th> - <td>{{item.awalKerja}}</td> - </tr> - <tr> - <th scope="row" class="text-right">Akhir</th> - <th scope="row">:</th> - <td>{{item.akhirKerja}}</td> - </tr> - </tbody> - </table> - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-danger" data-dismiss="modal">Tutup</button> - <button type="button" class="btn btn-primary">Print</button> - </div> + + <div v-if="loading === true"> + <div style="padding: 50px"> + <loading-component class="loader"> </loading-component> + </div> + </div> + <div v-if="loading === false"> + <div class="modal-header bg-danger"> + <h5 class="modal-title text-white" id="exampleModalLongTitle">Paket Swakelola</h5> + <button type="button" class="close" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + <h4 class='m-3'>{{item["nama"]}}</h4> + <table class="table table-sm table-borderless"> + <tbody> + <tr> + <th scope="row" class="text-right">Kode RUP</th> + <th scope="row">:</th> + <td>{{item["rup"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Nama Paket</th> + <th scope="row">:</th> + <td>{{item["nama"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">KLDI</th> + <th scope="row">:</th> + <td>{{item["kldi"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Satuan Kerja</th> + <th scope="row">:</th> + <td>{{item["satker"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Tahun Anggaran</th> + <th scope="row">:</th> + <td>{{item["tahun"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Lokasi Pekerjaan</th> + <th scope="row">:</th> + <td> + <table class="table table-bordered table-sm"> + <thead> + <tr class="table-active"> + <th>No.</th> + <th>Provinsi</th> + <th>Kabupaten/Kota</th> + <th>Detail Lokasi</th> + </tr> + </thead> + <tbody> + <tr> + <td>1.</td> + <td>{{item["provinsi"]}}</td> + <td>{{item["kota"]}}</td> + <td>{{item["lokasi"]}}</td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <th scope="row" class="text-right">Volume</th> + <th scope="row">:</th> + <td>{{item["volume"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Lokasi</th> + <th scope="row">:</th> + <td>{{item["kota"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Deskripsi</th> + <th scope="row">:</th> + <td>{{item["deskripsi"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">SUMBER DANA</th> + <th scope="row">:</th> + <td> + <table class="table table-bordered table-sm"> + <thead> + <tr class="table-active"> + <th>No.</th> + <th>Sumber Dana</th> + <th>KLPD</th> + <th>MAK</th> + <th>Pagu</th> + </tr> + </thead> + <tbody> + <tr> + <td>1.</td> + <td>{{item["sumberDana"]["nama"]}}</td> + <td>{{item["sumberDana"]["klpd"]}}</td> + <td>{{item["sumberDana"]["mak"]}}</td> + <td>{{item["sumberDana"]["pagu"]}}</td> + </tr> + <tr class="table-active"> + <td class="text-left" colspan="4">Total</td> + <td>{{item["totalSumberDana"]}}</td> + </tr> + </tbody> + </table> + </td> + </tr> + <tr> + <td colspan="3">PELAKSANAAN PEKERJAAN</td> + </tr> + <tr> + <th scope="row" class="text-right">Awal</th> + <th scope="row">:</th> + <td>{{item["awalKerja"]}}</td> + </tr> + <tr> + <th scope="row" class="text-right">Akhir</th> + <th scope="row">:</th> + <td>{{item["akhirKerja"]}}</td> + </tr> + </tbody> + </table> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-danger" data-dismiss="modal">Tutup</button> + <button type="button" class="btn btn-primary">Print</button> + </div> + </div> </div> </div> </div> @@ -133,16 +141,24 @@ <script> export default { + props: ['idPaket'], data: function() { return { - dataSwakelola: null + item: null, + loading : false, + } }, + created() { + this.loading = true; + }, mounted: function() { + var url = "/api/modal/swakelola/" + this.idPaket; axios - .get(this.apiLink) + .get(url) .then(response => { - this.dataSwakelola = response.data.paket; + this.item = response.data.paket; + this.loading = false; }) } } diff --git a/resources/js/components/NavbarComponent.vue b/resources/js/components/NavbarComponent.vue index 98302cbf5a202d2abca4a4496b006dbe8f9e8ffd..ad4f3808b711d27c89a4fa63a87ecda7a5ff2354 100644 --- a/resources/js/components/NavbarComponent.vue +++ b/resources/js/components/NavbarComponent.vue @@ -1,6 +1,6 @@ <template> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> - <a class="navbar-brand" href="#">SIRUP Jawa Barat</a> + <a class="navbar-brand" href="/">SIRUP Jawa Barat</a> <button class="navbar-toggler" type="button" @@ -16,22 +16,37 @@ <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li v-bind:class="{ active: isRekap }" class="nav-item"> - <a class="nav-link" href="/rekap">Rekap + <a class="nav-link" href="/rekap"> + Rekap <span class="sr-only">(current)</span> </a> </li> <li v-bind:class="{ active: isCariPaket }" class="nav-item"> - <a class="nav-link" href="/paket">Cari Paket</a> + <a class="nav-link" href="/search">Cari Paket</a> </li> <li v-bind:class="{ active: isUnduh }" class="nav-item"> <b-nav-item-dropdown text="Unduh"> - <b-dropdown-item href="#">Materi</b-dropdown-item> - <b-dropdown-item href="/unduh/paketRUP">Paket RUP</b-dropdown-item> + <b-dropdown-item href="/unduh/materi">Materi</b-dropdown-item> + <b-dropdown-item v-if="userRole === 'pa' || userRole === 'ppk'" href="/unduh/paketRUP">Paket RUP</b-dropdown-item> </b-nav-item-dropdown> </li> - <li v-bind:class="{ active: isBerita }" class="nav-item"> - <a class="nav-link" href="#">Berita</a> + <li v-if="userRole === 'pa' || userRole === 'ppk'" class="nav-item"> + <b-nav-item-dropdown text="Kelola Data"> + <b-dropdown-item href="#">Kelola OPD</b-dropdown-item> + <b-dropdown-item href="#">Kelola Pengguna</b-dropdown-item> + <b-dropdown-item href="#">Kelola Anggaran</b-dropdown-item> + <b-dropdown-item href="/status">Status Paket</b-dropdown-item> + </b-nav-item-dropdown> + </li> + </ul> + <ul class="navbar-nav ml-auto" style="color:white;"> <li class="nav-item"> + <a v-if="!userName" href="/login" style="color:#ffffff;"> + <i class="fas fa-user-alt"></i> Masuk + </a> + <b-nav-item-dropdown v-else :text="userName"> + <b-dropdown-item href="/logout">Keluar</b-dropdown-item> + </b-nav-item-dropdown> </li> </ul> </div> @@ -39,9 +54,9 @@ </template> <script> -import BootstrapVue from 'bootstrap-vue'; +import BootstrapVue from "bootstrap-vue"; export default { - props: ['isRekap', 'isCariPaket', 'isUnduh', 'isBerita'], + props: ["isRekap", "isCariPaket", "isUnduh", "isBerita", "userName", "userRole"], mounted() { console.log("Navbar Component mounted."); } diff --git a/resources/js/components/PemdaPenyediaSwakelolaTableComponent.vue b/resources/js/components/PemdaPenyediaSwakelolaTableComponent.vue index 48caeabfae50e8b1e07f86c7ac1831ae86b31ab2..d2f80ca927817e1e2c23482bdbecbf1e515eee63 100644 --- a/resources/js/components/PemdaPenyediaSwakelolaTableComponent.vue +++ b/resources/js/components/PemdaPenyediaSwakelolaTableComponent.vue @@ -3,11 +3,14 @@ <div style="padding: 0px 30px 0px 30px"> <div style="margin-bottom: 30px"> + <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center;"> + {{title}} + </div> </div> <div class="paket"> <ul class="nav nav-tabs nav-fill list-paket"> <li class="nav-item" role="presentation"> - <a href="swakelola"> + <a v-on:click="goBack()"> <button class="btn button-paket" id="swakelola-btn" role="button">Swakelola</button> </a> </li> @@ -29,14 +32,17 @@ </tr> </thead> <tbody> - <tr v-for="item in items" :key="item.no"> + <tr v-for="item in rekapData" :key="item.no"> <td class="text-left">{{item.no}}</td> - <td class="text-left">{{item.namaSatker}}</td> - <td class="text-left">{{item.namaPaket}}</td> + <td class="text-left">{{item.satuanKerja}}</td> + <td class="text-left"> + <a data-toggle="modal" :href="'#penyediaSwakelolaModal' + item.idPaket"> {{item.namaPaket}} </a> + </td> <td class="text-right">{{item.pagu}}</td> <td class="text-left">{{item.waktuPemilihan}}</td> <td class="text-left">{{item.metodePemilihan}}</td> <td class="text-left">{{item.sumberDana}}</td> + <modal-penyedia-swakelola-component :id="'penyediaSwakelolaModal' + item.idPaket" :idPaket="item.idPaket"> </modal-penyedia-swakelola-component> </tr> <tr> <td class="text-left"> </td> @@ -66,6 +72,7 @@ <script> export default { + props: ['apiLink'], data: function(){ return { items: [{ @@ -85,16 +92,31 @@ export default { waktuPemilihan: 'Februari 2019', metodePemilihan: '314.296', sumberDana: '117.126.251' - }] + }], + rekapData :null, + rekapTotal : null, + title : null } }, mounted: function(){ + console.log(this.apiLink); axios .get(this.apiLink) .then(response => { - this.rekapData = response.data.rekap; + this.rekapData = response.data.paket; + this.title = response.data.title; this.rekapTotal = response.data.total; }); + }, + methods: { + goBack: function() { + var currentLocation = window.location["href"]; + console.log(currentLocation); + var targetLocation = currentLocation.split("/"); + targetLocation.pop(); + targetLocation = targetLocation.join().replace(/,/g, "/"); + window.location.href = targetLocation; + } } } diff --git a/resources/js/components/PemdaPenyediaTableComponent.vue b/resources/js/components/PemdaPenyediaTableComponent.vue index 9de755a29540bc1f2aa2204be754e11cbe7ec2b0..d99d312db53873cbc99635439d59346a4d842268 100644 --- a/resources/js/components/PemdaPenyediaTableComponent.vue +++ b/resources/js/components/PemdaPenyediaTableComponent.vue @@ -38,10 +38,13 @@ <tr v-for="item in penyediaData" :key="item.no"> <td class="text-left">{{item.no}}</td> <td class="text-left">{{item.satuanKerja}}</td> - <td class="text-left">{{item.namaPaket}}</td> + <td class="text-left"> + <a data-toggle="modal" :href="'#penyediaModal' + item.idPaket"> {{item.namaPaket}} </a> + </td> <td class="text-right">{{item.pagu}}</td> <td class="text-left">{{item.metodePemilihanPenyedia}}</td> <td class="text-left">{{item.sumberDana}}</td> + <modal-penyedia-component :id="'penyediaModal' + item.idPaket" :idPaket="item.idPaket"> </modal-penyedia-component> </tr> </tbody> <tfoot> diff --git a/resources/js/components/PemdaSwakelolaTableComponent.vue b/resources/js/components/PemdaSwakelolaTableComponent.vue index dd64345938e2b1117379cf3f445fe3489380932e..a02de188e812c1326293340f38a27c88e2c9e10c 100644 --- a/resources/js/components/PemdaSwakelolaTableComponent.vue +++ b/resources/js/components/PemdaSwakelolaTableComponent.vue @@ -2,7 +2,7 @@ <div> <div style="padding: 0px 30px 0px 30px"> <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center;"> - PEMERINTAH DAERAH {{title}} {{subTitle}} + {{title}} {{subTitle}} </div> <div class="paket"> <ul class="nav nav-tabs nav-fill list-paket"> @@ -20,7 +20,7 @@ </div> <div class="row mb-3"> - <a href="penyedia-swakelola" style="background : #115b75;color: white" class="btn" role="button"> + <a href="swakelola/penyedia-swakelola" style="background : #115b75;color: white" class="btn" role="button"> <span class ="fas fa-list"></span> Penyedia dalam Swakelola </a> @@ -43,9 +43,10 @@ <tr v-for="item in swakelolaData" :key="item.no"> <td class="text-left">{{item.no}}</td> <td class="text-left">{{item.satuanKerja}}</td> - <td class="text-left">{{item.kegiatan}}</td> - <td class="text-left">{{item.pagu}}</td> + <a data-toggle="modal" :href="'#modalSwakelola' + item.idPaket"> {{item.kegiatan}} </a> + <td class="text-right">{{item.pagu}}</td> <td class="text-left">{{item.sumberDana}}</td> + <modal-swakelola-component :id="'modalSwakelola' + item.idPaket" :idPaket="item.idPaket"> </modal-swakelola-component> </tr> </tbody> <tfoot> @@ -66,7 +67,7 @@ <script> export default { - props: ['title','apiLink'], + props: ['apiLink'], data: function(){ return { items: [ diff --git a/resources/js/components/PenyediaSwakelolaTableComponent.vue b/resources/js/components/PenyediaSwakelolaTableComponent.vue index 11043fdbc0c160d8b48d5576ed6e815cc1efd80a..67a7975689ed0afb1abc55e13bc5db00d9e7e7d0 100644 --- a/resources/js/components/PenyediaSwakelolaTableComponent.vue +++ b/resources/js/components/PenyediaSwakelolaTableComponent.vue @@ -2,12 +2,13 @@ <div> <div style="padding: 0px 30px 0px 30px"> - <div style="margin-bottom: 30px"> + <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center;"> + {{rekapSubtitle}} </div> <div class="paket"> <ul class="nav nav-tabs nav-fill list-paket"> <li class="nav-item" role="presentation"> - <a href="swakelola"> + <a v-on:click="goBack()"> <button class="btn button-paket" id="swakelola-btn" role="button">Swakelola</button> </a> </li> @@ -27,19 +28,15 @@ </tr> </thead> <tbody> - <tr v-for="item in items" :key="item.no"> + <tr v-for="item in rekapPaket" :key="item.no"> <td class="text-left">{{item.no}}</td> - <td class="text-left">{{item.namaPaket}}</td> + <td class="text-left"> + <a data-toggle="modal" :href="'#penyediaSwakelolaModal' + item.idPaket"> {{item.namaPaket}} </a> + </td> <td class="text-right">{{item.pagu}}</td> - <td class="text-left">{{item.metodePemilihanPenyedia}}</td> + <td class="text-right">{{item.metode}}</td> <td class="text-left">{{item.sumberDana}}</td> - </tr> - <tr> - <td class="text-left"> </td> - <td class="text-left">DUMMY</td> - <td class="text-right"> </td> - <td class="text-left" >DUMMY</td> - <td class="text-left">DUMMY</td> + <modal-penyedia-swakelola-component :id="'penyediaSwakelolaModal' + item.idPaket" :idPaket="item.idPaket"> </modal-penyedia-swakelola-component> </tr> </tbody> <tfoot> @@ -58,74 +55,55 @@ <script> export default { + props: ['apiLink'], data: function(){ return { - items: [{ - no: 1, - namaPaket: 'Provinsi', - pagu: '46.620.511', - metodePemilihanPenyedia: '314.296', - sumberDana: '117.126.251' - }, - { - no: 2, - namaPaket: 'Provinsi', - pagu: '46.620.511', - metodePemilihanPenyedia: '314.296', - sumberDana: '117.126.251' - }] + rekapPaket: null, + rekapSubtitle: null } - } -} + + }, + mounted: function() { + axios + .get(this.apiLink) + .then(response => { + this.rekapPaket = response.data.paket; + this.rekapSubtitle = response.data.subtitle; + }) + .then(()=>{ + // Setup - add a text input to each footer cell + $("#penyedia-swakelola tfoot th.search").each(function() { + var title = $(this).text(); + $(this).html('<input type="text" placeholder="Search ' + title + '" />'); + }); -$(document).ready(function() { - // Setup - add a text input to each footer cell - // Datatables ~ Search By Input - $('#penyedia-swakelola tfoot th.search').each( function () { - var title = $(this).text(); - $(this).html( '<input type="text" placeholder="Search '+title+'" />' ); - } ); - - // DataTable - var table = $('#penyedia-swakelola').DataTable({ - "pagingType": "full_numbers", - // Datatables ~ Search By Selection - "initComplete": function () { - this.api().columns([4]).every( function () { - var column = this; - var select = $('<select><option value=""></option></select>') - .appendTo( $(column.footer()).empty() ) - .on( 'change', function () { - var val = $.fn.dataTable.util.escapeRegex( - $(this).val() - ); - - column - .search( val ? '^'+val+'$' : '', true, false ) - .draw(); - } ); - - column.data().unique().sort().each( function ( d, j ) { - select.append( '<option value="'+d+'">'+d+'</option>' ) - } ); - } ); - } - }); - - // Apply the search by input - table.columns().every( function () { - var that = this; - - $( 'input', this.footer() ).on( 'keyup change', function () { - if ( that.search() !== this.value ) { - that - .search( this.value ) - .draw(); - } - } ); - } ); -} ); + // DataTable + var table = $("#penyedia-swakelola").DataTable({ + pagingType: "full_numbers" + }); + // Apply the search by input + table.columns().every(function() { + var that = this; + $("input", this.footer()).on("keyup change", function() { + if (that.search() !== this.value) { + that.search(this.value).draw(); + } + }); + }); + }) + }, + methods: { + goBack: function() { + var currentLocation = window.location["href"]; + console.log(currentLocation); + var targetLocation = currentLocation.split("/"); + targetLocation.pop(); + targetLocation = targetLocation.join().replace(/,/g, "/"); + window.location.href = targetLocation; + } + } +} </script> <!-- Add "scoped" attribute to limit CSS to this component only --> diff --git a/resources/js/components/PenyediaTableComponent.vue b/resources/js/components/PenyediaTableComponent.vue index bf01eedcb876ed3b51d5cd7a4abfd4e555b62d69..518a1b051baa67c4284a0a74e2aeb0347e897f1e 100644 --- a/resources/js/components/PenyediaTableComponent.vue +++ b/resources/js/components/PenyediaTableComponent.vue @@ -47,10 +47,13 @@ <tbody> <tr v-for="item in penyediaData" :key="item.no"> <td class="text-left">{{item.no}}</td> - <td class="text-left">{{item.namaPaket}}</td> + <td class="text-left"> + <a data-toggle="modal" :href="'#penyediaModal' + item.idPaket"> {{item.namaPaket}} </a> + </td> <td class="text-right">{{item.pagu}}</td> <td class="text-left">{{item.metodePemilihanPenyedia}}</td> <td class="text-left">{{item.sumberDana}}</td> + <modal-penyedia-component :id="'penyediaModal' + item.idPaket" :idPaket="item.idPaket"> </modal-penyedia-component> </tr> </tbody> <tfoot> diff --git a/resources/js/components/StatusPaketTableComponent.vue b/resources/js/components/StatusPaketTableComponent.vue new file mode 100644 index 0000000000000000000000000000000000000000..b82f3c82c793d68881b316e453164b6b20b95b6a --- /dev/null +++ b/resources/js/components/StatusPaketTableComponent.vue @@ -0,0 +1,209 @@ +<template> +<div> + + <div style="padding: 0px 30px 0px 30px"> + <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center; padding-top: 15px;"> + Status Paket + </div> + <div style="margin-bottom: 30px"> + </div> + </div> + + <div class="col-sm-12"> + <table class="table table-striped text-center" id="status-paket"> + <thead> + <tr style="background-color: #F05155;border-bottom: 4px solid #ddd"> + <th style="color: white" class="text-left">No</th> + <th style="color: white" class="text-left">Kegiatan</th> + <th style="color: white" class="text-left">Nama Paket</th> + <th class="text-left" style="color: white">Pagu (Rp.)</th> + <th class="text-left" style="color: white">Sumber Dana</th> + <th class="text-left" style="color: white">Mulai Pekerjaan</th> + <th class="text-left" style="color: white">D</th> + <th class="text-left" style="color: white">FD</th> + <th class="text-left" style="color: white">U</th> + </tr> + </thead> + <tbody> + <tr v-for="item in paket" :key="item.no"> + <td class="text-left">{{item.no}}</td> + <td class="text-left">{{item.kegiatan}}</td> + <td class="text-left">{{item.namaPaket}}</td> + <td class="text-right">{{item.pagu}}</td> + <td class="text-left">{{item.sumberDana}}</td> + <td class="text-left">{{item.mulaiPekerjaan}}</td> + <td> + <input v-if="item.status === '1'" :id="'klasifikasi' + item.idPaket" v-on:click="klasifikasi(item.idPaket, item.status, item.namaPaket)" type="checkbox" name="D" value="D"> + <input v-else type="checkbox" name="D" value="D" checked disabled> + </td> + <td> + <input v-if="item.status === '1'" type="checkbox" name="FD" value="FD" disabled> + <input v-else-if="item.status === '2'" :id="'finalisasi' + item.idPaket" v-on:click="finalisasi(item.idPaket, item.status, item.namaPaket, item.kodeRUP)" type="checkbox" name="FD" value="FD"> + <input v-else type="checkbox" name="FD" value="FD" checked disabled> + </td> + <td> + <input v-if="item.status === '3'" :id="'umumkan' + item.idPaket" v-on:click="pengumuman(item.idPaket, item.namaPaket, item.kegiatan)" type="checkbox" name="U" value="U"> + <input v-else-if="item.status === '4'" type="checkbox" name="U" value="U" checked disabled> + <input v-else type="checkbox" name="U" value="U" disabled> + </td> + </tr> + </tbody> + <modal-klasifikasi-component + :id="'klasifikasiModal'+idPaketModal" :idPaket="idPaketModal" + :namaPaket="namaPaketModal" :title="titleModal" + :status="statusPaket" ref="modalKlasifikasi"> + </modal-klasifikasi-component> + + <modal-pengumuman-component + :id="'pengumumanModal'+idPaketModal" :idPaket="idPaketModal" + :kegiatan="kegiatanModal" :namaPaket="namaPaketModal"> + </modal-pengumuman-component> + <tfoot> + <tr> + <th class="text-left"></th> + <th class="text-left search">Kegiatan</th> + <th class="text-left search">Nama Paket</th> + <th class="text-right"></th> + <th class="text-left search">Sumber Dana</th> + <th class="text-right"></th> + <th class="text-right"></th> + <th class="text-right"></th> + <th class="text-right"></th> + </tr> + </tfoot> + </table> + </div> +</div> +</template> + +<script> +export default { + props: ['apiLink'], + data: function(){ + return { + paket: null, + idModal: null, + idPaketModal: null, + namaPaketModal: null, + kegiatanModal: null, + titleModal: null, + statusPaket: null + } + }, + mounted: function(){ + axios + .get(this.apiLink) + .then(response => { + this.paket = response.data.paket; + }) + .then(()=>{ + // Setup - add a text input to each footer cell + $("#status-paket tfoot th.search").each(function() { + var title = $(this).text(); + $(this).html('<input type="text" placeholder="Search ' + title + '" />'); + }); + + // DataTable + var table = $("#status-paket").DataTable({ + pagingType: "full_numbers" + }); + + // Apply the search by input + table.columns().every(function() { + var that = this; + $("input", this.footer()).on("keyup change", function() { + if (that.search() !== this.value) { + that.search(this.value).draw(); + } + }); + }); + }) + }, + methods: { + pengumuman: function(id, nama, kegiatan) { + this.idModal = 'pengumumanModal' + id; + this.idPaketModal = id; + this.namaPaketModal = nama; + this.kegiatanModal = kegiatan; + $('#umumkan' + id).on('change', function(e){ + if(e.target.checked){ + $('#pengumumanModal' + id).modal('show'); + } + }); + + $('#batalUmumkan').on('click', function(e) { + $('#umumkan' + id).prop('checked', false); + }); + + $('#simpanUmumkan').on('click', function(e) { + $('#pengumumanModal' + id).modal('hide'); + window.location.reload(); + }); + }, + klasifikasi: function(id, status, nama) { + this.titleModal = 'Klasifikasi Paket'; + this.idModal = 'klasifikasiModal' + id; + this.idPaketModal = id; + this.namaPaketModal = nama; + this.statusPaket = status; + + var instance = this; + $('#klasifikasi' + id).on('change', function(e){ + if(e.target.checked){ + instance.$refs.modalKlasifikasi.setJenisPaket(0); + $('#klasifikasiModal' + id).modal('show'); + } + }); + + $('#batalKlasifikasi').on('click', function(e) { + $('#klasifikasi' + id).prop('checked', false); + }); + + $('#simpanKlasifikasi').on('click', function(e) { + $('#klasifikasiModal' + id).modal('hide'); + window.location.reload(); + }); + }, + finalisasi: function(id, status, nama, kodeRUP) { + this.titleModal = 'Finalisasi Klasifikasi Paket'; + this.idModal = 'finalisasiModal' + id; + this.idPaketModal = id; + this.namaPaketModal = nama; + this.statusPaket = status; + + var instance = this; + var url = "/api/status/jenispaket/" + kodeRUP; + axios + .get(url) + .then(function(instance) { + return function(response) { + var jenisPaket = response.data.jenis_paket; + if ($('#finalisasi' + id).is(':checked')) { + instance.$refs.modalKlasifikasi.setJenisPaket(jenisPaket); + $('#klasifikasiModal' + id).modal('show'); + } + } + }(this)) + + $('#batalKlasifikasi').on('click', function(e) { + $('#finalisasi' + id).prop('checked', false); + }); + + $('#simpanKlasifikasi').on('click', function(e) { + $('#klasifikasiModal' + id).modal('hide'); + window.location.reload(); + }); + } + } +} + +</script> + +<!-- Add "scoped" attribute to limit CSS to this component only --> +<style scoped> + tfoot input { + width: 100%; + padding: 3px; + box-sizing: border-box; + } +</style> \ No newline at end of file diff --git a/resources/js/components/SwakelolaTableComponent.vue b/resources/js/components/SwakelolaTableComponent.vue index c65d76b5653b4f90bc7d0b7e3259aa374dd5fb7a..c6bc615d20582f37a3fffe11e08c7ff336528550 100644 --- a/resources/js/components/SwakelolaTableComponent.vue +++ b/resources/js/components/SwakelolaTableComponent.vue @@ -1,13 +1,11 @@ - - <template> <div> <div style="padding: 0px 30px 0px 30px"> <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center;"> - {{title}} + RUP SWAKELOLA </div> - <div class="text-center" style="color: #2e3436; font-size: 17pt; text-align: center; padding-top: 5px;"> - {{subtitle}} + <div class="text-center" style="color: #2e3436; font-size: 21pt; text-align: center;"> + {{title}} {{subTitle}} </div> <div class="paket"> <ul class="nav nav-tabs nav-fill list-paket"> @@ -25,11 +23,11 @@ </div> <div class="row mb-3"> - <a style="background : #115b75;color: white" data-target="#swakelolaModal" class="btn" role="button" data-toggle="modal"> + <a href="swakelola/penyedia-swakelola" style="background : #115b75;color: white" class="btn" role="button"> <span class ="fas fa-list"></span> Penyedia dalam Swakelola </a> - <a style = "padding-left : 10px" tabindex="0" class="help" data-toggle="popover" title="Penyedia Dalam Swakelola" data-content="Penyedia Dalam Swakelola merupakan paket penyedia didalam kegiatan swakelola contoh : paket jamuan rapat"><span class="fa fa-question-circle"></span></a> + <a style = "padding-left : 10px" tabindex="0" class="help" data-toggle="popover" title="Penyedia Dalam Swakelola" data-content="Penyedia Dalam Swakelola merupakan paket penyedia didalam kegiatan swakelola contoh : paket jamuan rapat"><span class="fa fa-question-circle"></span></a> </div> </div> @@ -38,8 +36,8 @@ <thead> <tr style="background-color: #115b75;border-bottom: 4px solid #ddd"> <th style="color: white" class="text-left">No</th> - <th style="color: white" class="text-left">Kegiatan</th> - <th class="text-left" style="color: white">Paket</th> + <th class="text-left" style="color: white">Kegiatan</th> + <th style="color: white" class="text-left">Paket</th> <th class="text-left" style="color: white">Pagu (Rp.)</th> <th class="text-left" style="color: white">Sumber Dana</th> </tr> @@ -48,57 +46,59 @@ <tr v-for="item in swakelolaData" :key="item.no"> <td class="text-left">{{item.no}}</td> <td class="text-left">{{item.kegiatan}}</td> - <td class="text-left">{{item.paket}}</td> - <td class="text-left">{{item.pagu}}</td> + <td class="text-left"> <a data-toggle="modal" :href="'#modalSwakelola' + item.idPaket"> {{item.paket}} </a></td> + <td class="text-right">{{item.pagu}}</td> <td class="text-left">{{item.sumberDana}}</td> + <modal-swakelola-component :id="'modalSwakelola' + item.idPaket" :idPaket="item.idPaket"> </modal-swakelola-component> </tr> </tbody> <tfoot> <tr> <th class="text-left"></th> <th class="text-left search">Kegiatan</th> - <th class="text-left search">Paket</th> + <th class="text-left search">Paket</th> <th class="text-left"></th> <th class="text-left search">Sumber Dana</th> </tr> </tfoot> </table> </div> - <modal-swakelola-component id="swakelolaModal"> </modal-swakelola-component> + </div> </template> <script> export default { - props: ['title','apiLink'], + props: ['apiLink'], data: function(){ return { - items: [{ + items: [ + { no: 1, - kegiatan: 'Pengadaan Peralatan Kantor BKD Provinsi Jawa Barat', - paket: 'Honorarium Pengadaan Barang dan Jasa', - pagu: '4.100.000', + satuanKerja: 'BIRO HUKUM DAN HAM SETDA PROVINSI JAWA BARAT', + kegiatan: 'Pemberdayaan Jaringan Dokumentasi dan Informasi Hukum', + pagu: '356.500.000', sumberDana: 'APBD', }, { no: 2, - kegiatan: 'Penyusunan Dokumen Perencanaan BKD', - paket: 'Honorarium Pengadaan Barang Jasa', - pagu: '2.300.000', + satuanKerja: 'DINAS PERHUBUNGAN PROVINSI JAWA BARAT', + kegiatan: 'Kegiatan Pengelolaaan Website Dinas Perhubungan Provinsi Jawa Barat', + pagu: '161.200.000', sumberDana: 'APBD', }], swakelolaData : null, title : null, - subtitle : null - } + subTitle : null + }; }, - mounted: function(){ + mounted: function() { axios .get(this.apiLink) .then(response => { this.swakelolaData = response.data.paketSwakelola; - this.subtitle = response.data.subtitle; + this.subTitle = response.data.subtitle; }) .then(()=>{ // Setup - add a text input to each footer cell @@ -122,11 +122,11 @@ export default { }); }); }) - } + } } -</script> +</script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> @@ -159,7 +159,7 @@ export default { } #penyedia-btn:hover { background : #F05155; - color: white; - float:right; + color: white; + float:right; } </style> \ No newline at end of file diff --git a/resources/js/components/UnduhMateriTableComponent.vue b/resources/js/components/UnduhMateriTableComponent.vue index 31079b0be189639ec3b061d8ef5dfde473c74d45..1277529ff39a333d138550536a13a4050f03ec7f 100644 --- a/resources/js/components/UnduhMateriTableComponent.vue +++ b/resources/js/components/UnduhMateriTableComponent.vue @@ -23,13 +23,13 @@ </tr> </thead> <tbody> - <tr v-for="item in items" :key="item.no"> + <tr v-for="item in resultData" :key="item.no"> <td class="text-left">{{item.no}}</td> <td class="text-left">{{item.judul}}</td> <td class="text-left">{{item.subJudul}}</td> <td class="text-left">{{item.kategori}}</td> <td class="text-left">{{item.deskripsi}}</td> - <td class="text-left"><a href=""><span class="fa fa-download" style="font-size:small;"></span></a></td> + <td class="text-left"><a :href="item.filelink"><span class="fa fa-download" style="font-size:small;"></span></a></td> </tr> </tbody> <tfoot> @@ -51,6 +51,7 @@ <script> export default { + props: ['apiLink'], data: function(){ return { items: [ @@ -60,7 +61,7 @@ export default { subJudul: 'Diseminasi Aplikasi Monev', kategori: 'File Diseminasi', deskripsi: 'Surat Undangan Diseminasi', - file : '' + file : '' }, { no: 2, @@ -68,61 +69,41 @@ export default { subJudul: 'Manual User', kategori: 'Panduan', deskripsi: 'User Manual Untuk Pengguna Aplikasi SiRUP versi 2.3', - File : '' - }, - { - no: 3, - judul: 'Diseminasi Aplikasi Monev', - subJudul: 'Diseminasi Aplikasi Monev', - kategori: 'File Diseminasi', - deskripsi: 'Surat Undangan Diseminasi', - file : '' - }, - { - no: 4, - judul: 'Panduan Aplikasi SiRUP v 2.3', - subJudul: 'Manual User', - kategori: 'Panduan', - deskripsi: 'User Manual Untuk Pengguna Aplikasi SiRUP versi 2.3', file : '' - }] + }], + resultData : null } - } -} + }, + mounted: function(){ + axios + .get(this.apiLink) + .then(response => { + this.resultData = response.data.result; + }) + .then(()=>{ + // Setup - add a text input to each footer cell + $("#unduh-materi tfoot th.search").each(function() { + var title = $(this).text(); + $(this).html('<input type="text" placeholder="Search ' + title + '" />'); + }); -$(document).ready(function() { - // Setup - add a text input to each footer cell - $('#unduh-materi tfoot th.search').each( function () { - var title = $(this).text(); - $(this).html( '<input type="text" placeholder="Search '+title+'" />' ); - } ); - - $('[data-toggle="popover"]').popover(); + // DataTable + var table = $("#unduh-materi").DataTable({ + pagingType: "full_numbers" + }); - // DataTable - var table = $('#unduh-materi').DataTable({ - "pagingType": "full_numbers", - }); - - // Apply the search - table.columns().every( function () { - var that = this; - - $( 'input', this.footer() ).on( 'keyup change', function () { - if ( that.search() !== this.value ) { - that - .search( this.value ) - .draw(); + // Apply the search by input + table.columns().every(function() { + var that = this; + $("input", this.footer()).on("keyup change", function() { + if (that.search() !== this.value) { + that.search(this.value).draw(); } - } ); - } ); - - // styling pagination - $.fn.dataTable.ext.classes.sPageButton = 'btn btn_secondary'; - -} ); - -</script> + }); + }); + }) + } +} </script> @@ -148,17 +129,4 @@ $(document).ready(function() { color: white; margin: 3px; } - #swakelola-btn { - float: left; - } - #penyedia-btn { - background: #ef7c7f; - color: white; - float: right; - } - #penyedia-btn:hover { - background : #F05155; - color: white; - float:right; - } </style> \ No newline at end of file diff --git a/resources/js/components/UnduhPaketComponent.vue b/resources/js/components/UnduhPaketComponent.vue index 4e0b84886ae407fe138de9e1296faa0a70d13bae..506d96fbe53f923f79d1d6f6a98b7d41dcc1c377 100644 --- a/resources/js/components/UnduhPaketComponent.vue +++ b/resources/js/components/UnduhPaketComponent.vue @@ -18,21 +18,11 @@ <div class="row"> <div class="col-sm-3">SATUAN KERJA</div> <div class="col-sm-6"> - <select> - <option v-for="satker in resultData" :key="satker">{{satker}}</option> + <select id="satkerOption"> + <option v-for="satker in resultData" :key="satker.id" :value="satker.id">{{satker.nama}}</option> </select> </div> </div> - <div class="row"> - <div class="col-sm-3">Unduh Berkas PDF</div> - <div class="col-sm-6"> - : - <!-- TO DO: add function pdf generator when click this icon --> - <img src="assets('images/pdf-icon.png')"> - <br> - <b>Reload halaman ini</b> dan klik ikon pdf diatas ketika progress buat ulang berkas sudah mencapai 100%. - </div> - </div> <div class="row"> <div class="col-sm-3"> Keterangan @@ -48,7 +38,7 @@ <div class="col-sm-3"> </div> <div class="col-sm-6"> - <b-button variant="danger" href="/unduh/paketRUP">Buat Ulang Berkas 100%</b-button> + <b-button variant="danger" id="btnUnduh">Unduh</b-button> </div> </div> </div> @@ -58,6 +48,16 @@ <script> import BootstrapVue from 'bootstrap-vue'; + +window.onload = function(){ + let btnUnduh = window.document.getElementById('btnUnduh'); + btnUnduh.onclick = function(){ + let satkerOption = window.document.getElementById('satkerOption'); + let satkerId = satkerOption.options[satkerOption.selectedIndex].value + window.open('/unduh/paketRUP/'+satkerId+ '/download', '_blank'); + } +} + export default { props: ['apiLink'], data: function(){ diff --git a/resources/sass/app.scss b/resources/sass/app.scss index de5d9bd377d690c2764de491e9b501d2ac7a18bd..fad45200fe1297d267c95bcc126c8ee6d0c6f917 100644 --- a/resources/sass/app.scss +++ b/resources/sass/app.scss @@ -21,6 +21,10 @@ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04); } +.content { + min-height:700px; +} + .footer{ color: $white; } \ No newline at end of file diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..3b2f81775d4c4e8256a8bf3df5a7b403535e8ae5 --- /dev/null +++ b/resources/views/auth/login.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.app') + +@section('content') +<div class="container content"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card my-lg-5"> + <div class="card-header">{{ __('Login') }}</div> + + <div class="card-body"> + <form method="POST" action="{{ route('login') }}"> + @csrf + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <div class="col-md-6 offset-md-4"> + <div class="form-check"> + <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> + + <label class="form-check-label" for="remember"> + {{ __('Remember Me') }} + </label> + </div> + </div> + </div> + + <div class="form-group row mb-0"> + <div class="col-md-8 offset-md-4"> + <button type="submit" class="btn btn-primary"> + {{ __('Login') }} + </button> + + @if (Route::has('password.request')) + <a class="btn btn-link" href="{{ route('register') }}"> + {{ __('Belum punya akun?') }} + </a> + @endif + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..ccbee595c03a6d44cd8e56d8e7eda6478d05513e --- /dev/null +++ b/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,47 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">{{ __('Reset Password') }}</div> + + <div class="card-body"> + @if (session('status')) + <div class="alert alert-success" role="alert"> + {{ session('status') }} + </div> + @endif + + <form method="POST" action="{{ route('password.email') }}"> + @csrf + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row mb-0"> + <div class="col-md-6 offset-md-4"> + <button type="submit" class="btn btn-primary"> + {{ __('Send Password Reset Link') }} + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..bf27f4c85688339bd5ca270754f6a35b7c0f4524 --- /dev/null +++ b/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,65 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">{{ __('Reset Password') }}</div> + + <div class="card-body"> + <form method="POST" action="{{ route('password.update') }}"> + @csrf + + <input type="hidden" name="token" value="{{ $token }}"> + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ $email ?? old('email') }}" required autofocus> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> + </div> + </div> + + <div class="form-group row mb-0"> + <div class="col-md-6 offset-md-4"> + <button type="submit" class="btn btn-primary"> + {{ __('Reset Password') }} + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..6846c4803e0ec5cb2d8b79d99872c182c40ae9b5 --- /dev/null +++ b/resources/views/auth/register.blade.php @@ -0,0 +1,94 @@ +@extends('layouts.app') + +@section('content') +<div class="container content"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card my-lg-5"> + <div class="card-header">{{ __('Register') }}</div> + + <div class="card-body"> + <form method="POST" action="{{ route('register') }}"> + @csrf + + <div class="form-group row"> + <label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label> + + <div class="col-md-6"> + <input id="name" type="text" class="form-control{{ $errors->has('name') ? ' is-invalid' : '' }}" name="name" value="{{ old('name') }}" required autofocus> + + @if ($errors->has('name')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('name') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label> + + <div class="col-md-6"> + <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required> + + @if ($errors->has('email')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('email') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label> + + <div class="col-md-6"> + <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required> + + @if ($errors->has('password')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('password') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row"> + <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label> + + <div class="col-md-6"> + <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> + </div> + </div> + + <div class="form-group row"> + <label for="role" class="col-md-4 col-form-label text-md-right">{{ __('Role') }}</label> + + <div class="col-md-6"> + <select name="role"> + <option value="pa">PA</option> + <option value="ppk">PPK</option> + </select> + + @if ($errors->has('role')) + <span class="invalid-feedback" role="alert"> + <strong>{{ $errors->first('role') }}</strong> + </span> + @endif + </div> + </div> + + <div class="form-group row mb-0"> + <div class="col-md-6 offset-md-4"> + <button type="submit" class="btn btn-primary"> + {{ __('Register') }} + </button> + </div> + </div> + </form> + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/auth/verify.blade.php b/resources/views/auth/verify.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..c742cb4bdcd60fc413ee8c88a0b1461d9a6c6306 --- /dev/null +++ b/resources/views/auth/verify.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.app') + +@section('content') +<div class="container"> + <div class="row justify-content-center"> + <div class="col-md-8"> + <div class="card"> + <div class="card-header">{{ __('Verify Your Email Address') }}</div> + + <div class="card-body"> + @if (session('resent')) + <div class="alert alert-success" role="alert"> + {{ __('A fresh verification link has been sent to your email address.') }} + </div> + @endif + + {{ __('Before proceeding, please check your email for a verification link.') }} + {{ __('If you did not receive the email') }}, <a href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>. + </div> + </div> + </div> + </div> +</div> +@endsection diff --git a/resources/views/cariPaket/caripaket.blade.php b/resources/views/cariPaket/caripaket.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..fa8b8b394b0fe79ba786360da3ca69c21fb9c03a --- /dev/null +++ b/resources/views/cariPaket/caripaket.blade.php @@ -0,0 +1,13 @@ +@extends('layouts.app') + +@section('content') +<div class="row justify-content-center"> + <div class="col-md p-0 m-0"> + <div class="jumbotron jumbotron-fluid text-center m-0" style="padding: 1px;"> + <div class="content display-4" style="min-height:600px; font-size: 14px"> + <cari-paket-component api-link="{{$apiLink}}"></cari-paket-component> + </div> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 02812bd320cd5324b579cd47ffa2b8c4440a0fc9..41e5aa2364f30184f615d2a46d64bf6d4922bceb 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -4,7 +4,7 @@ <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <div class="content display-4" style="min-height:600px;"> + <div class="content display-4"> Home </div> </div> diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 2562d8eaa212ca5bd6064639054ede81f8026c74..f85a8c6f26425afecbd17501ef3473921f052e68 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -8,7 +8,9 @@ <body> <div id="app"> @section('navbar') - <navbar-component></navbar-component> + <navbar-component + user-name="{{ (Auth::check()) ? Auth::user()->name : ''}}" + user-role="{{ (Auth::check()) ? Auth::user()->role : ''}}"></navbar-component> @show <div class="container-fluid"> diff --git a/resources/views/pemdaPenyedia/pemdaKabupaten.blade.php b/resources/views/pemdaPenyedia/pemdaKabupaten.blade.php index 806989c01898bcecd1c9be7a81aa6d342bbbfde6..93c9179c83f3c62c978d5f36b627e3607fa8fbb1 100644 --- a/resources/views/pemdaPenyedia/pemdaKabupaten.blade.php +++ b/resources/views/pemdaPenyedia/pemdaKabupaten.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/pemdaPenyedia/pemdaKota.blade.php b/resources/views/pemdaPenyedia/pemdaKota.blade.php index 806989c01898bcecd1c9be7a81aa6d342bbbfde6..93c9179c83f3c62c978d5f36b627e3607fa8fbb1 100644 --- a/resources/views/pemdaPenyedia/pemdaKota.blade.php +++ b/resources/views/pemdaPenyedia/pemdaKota.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/pemdaPenyedia/pemdaProvinsi.blade.php b/resources/views/pemdaPenyedia/pemdaProvinsi.blade.php index 806989c01898bcecd1c9be7a81aa6d342bbbfde6..93c9179c83f3c62c978d5f36b627e3607fa8fbb1 100644 --- a/resources/views/pemdaPenyedia/pemdaProvinsi.blade.php +++ b/resources/views/pemdaPenyedia/pemdaProvinsi.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/pemdaPenyediaSwakelola/pemdaKabupaten.blade.php b/resources/views/pemdaPenyediaSwakelola/pemdaKabupaten.blade.php index eeef5f293f0bf506cb52c3352bffbc12bc204f34..6ba69bd5c97f93bde8b34771102d7bf85ee75cbf 100644 --- a/resources/views/pemdaPenyediaSwakelola/pemdaKabupaten.blade.php +++ b/resources/views/pemdaPenyediaSwakelola/pemdaKabupaten.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-penyedia-swakelola-table-component></pemda-penyedia-swakelola-table-component> + <pemda-penyedia-swakelola-table-component api-link={{$apiLink}}></pemda-penyedia-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/pemdaPenyediaSwakelola/pemdaKota.blade.php b/resources/views/pemdaPenyediaSwakelola/pemdaKota.blade.php index 44832bc8cba188edddd106d9594019186aea04c1..6ba69bd5c97f93bde8b34771102d7bf85ee75cbf 100644 --- a/resources/views/pemdaPenyediaSwakelola/pemdaKota.blade.php +++ b/resources/views/pemdaPenyediaSwakelola/pemdaKota.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-penyedia-swakelola-table-component ></pemda-penyedia-swakelola-table-component> + <pemda-penyedia-swakelola-table-component api-link={{$apiLink}}></pemda-penyedia-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/pemdaPenyediaSwakelola/pemdaProvinsi.blade.php b/resources/views/pemdaPenyediaSwakelola/pemdaProvinsi.blade.php index eeef5f293f0bf506cb52c3352bffbc12bc204f34..6ba69bd5c97f93bde8b34771102d7bf85ee75cbf 100644 --- a/resources/views/pemdaPenyediaSwakelola/pemdaProvinsi.blade.php +++ b/resources/views/pemdaPenyediaSwakelola/pemdaProvinsi.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-penyedia-swakelola-table-component></pemda-penyedia-swakelola-table-component> + <pemda-penyedia-swakelola-table-component api-link={{$apiLink}}></pemda-penyedia-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/pemdaSwakelola/pemdaKabupaten.blade.php b/resources/views/pemdaSwakelola/pemdaKabupaten.blade.php index 6b5eedff3a5c20d9079616ebb26f775f59df581d..10fd32ab780f24921bc42b53d639729e748143d7 100644 --- a/resources/views/pemdaSwakelola/pemdaKabupaten.blade.php +++ b/resources/views/pemdaSwakelola/pemdaKabupaten.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-swakelola-table-component title="KABUPATEN" api-link={{$apiLink}}></pemda-swakelola-table-component> + <pemda-swakelola-table-component api-link={{$apiLink}}></pemda-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/pemdaSwakelola/pemdaKota.blade.php b/resources/views/pemdaSwakelola/pemdaKota.blade.php index af6143084d2cefa2d9993eb182b5a3d5c3e6ccb0..10fd32ab780f24921bc42b53d639729e748143d7 100644 --- a/resources/views/pemdaSwakelola/pemdaKota.blade.php +++ b/resources/views/pemdaSwakelola/pemdaKota.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-swakelola-table-component title="KOTA" api-link={{$apiLink}}></pemda-swakelola-table-component> + <pemda-swakelola-table-component api-link={{$apiLink}}></pemda-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/pemdaSwakelola/pemdaProvinsi.blade.php b/resources/views/pemdaSwakelola/pemdaProvinsi.blade.php index 74f409b26b498359393f4a18be65d437989dbf88..10fd32ab780f24921bc42b53d639729e748143d7 100644 --- a/resources/views/pemdaSwakelola/pemdaProvinsi.blade.php +++ b/resources/views/pemdaSwakelola/pemdaProvinsi.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <pemda-swakelola-table-component title="PROVINSI" api-link={{$apiLink}}></pemda-swakelola-table-component> + <pemda-swakelola-table-component api-link={{$apiLink}}></pemda-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/penyedia/kabupaten.blade.php b/resources/views/penyedia/kabupaten.blade.php index 43374c04ae5036993eac726d71c6b2f4ab32924a..603dae5d67a3f48c0b523a117d57347825f597c4 100644 --- a/resources/views/penyedia/kabupaten.blade.php +++ b/resources/views/penyedia/kabupaten.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/penyedia/kota.blade.php b/resources/views/penyedia/kota.blade.php index 43374c04ae5036993eac726d71c6b2f4ab32924a..603dae5d67a3f48c0b523a117d57347825f597c4 100644 --- a/resources/views/penyedia/kota.blade.php +++ b/resources/views/penyedia/kota.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/penyedia/provinsi.blade.php b/resources/views/penyedia/provinsi.blade.php index 43374c04ae5036993eac726d71c6b2f4ab32924a..603dae5d67a3f48c0b523a117d57347825f597c4 100644 --- a/resources/views/penyedia/provinsi.blade.php +++ b/resources/views/penyedia/provinsi.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/penyediaSwakelola/kabupaten.blade.php b/resources/views/penyediaSwakelola/kabupaten.blade.php index cbf8bf04614de96fab9d8873ed22e074440a6257..ca4fcc7b87726cafd72fd61366d5b6ed0726115f 100644 --- a/resources/views/penyediaSwakelola/kabupaten.blade.php +++ b/resources/views/penyediaSwakelola/kabupaten.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <penyedia-swakelola-table-component ></penyedia-swakelola-table-component> + <penyedia-swakelola-table-component api-link={{$apiLink}}></penyedia-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/penyediaSwakelola/kota.blade.php b/resources/views/penyediaSwakelola/kota.blade.php index cbf8bf04614de96fab9d8873ed22e074440a6257..ca4fcc7b87726cafd72fd61366d5b6ed0726115f 100644 --- a/resources/views/penyediaSwakelola/kota.blade.php +++ b/resources/views/penyediaSwakelola/kota.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <penyedia-swakelola-table-component ></penyedia-swakelola-table-component> + <penyedia-swakelola-table-component api-link={{$apiLink}}></penyedia-swakelola-table-component> </div> </div> </div> diff --git a/resources/views/penyediaSwakelola/provinsi.blade.php b/resources/views/penyediaSwakelola/provinsi.blade.php index 62435e509a28f7f2406388ccb8fd4b099d291029..22c689d7a60cbe99c627f6c2b362ee6d82695c3f 100644 --- a/resources/views/penyediaSwakelola/provinsi.blade.php +++ b/resources/views/penyediaSwakelola/provinsi.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <penyedia--swakelolatable-component ></penyedia--swakelolatable-component> + <penyedia-swakelola-table-component api-link={{$apiLink}}></penyedia--swakelolatable-component> </div> </div> </div> diff --git a/resources/views/rekap/kabupaten.blade.php b/resources/views/rekap/kabupaten.blade.php index d72622c281236995f070fd8ddfaab6a8204f2e00..901597899d34ca6de9f6795d4c25ea8f083b2d3a 100644 --- a/resources/views/rekap/kabupaten.blade.php +++ b/resources/views/rekap/kabupaten.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/rekap/kota.blade.php b/resources/views/rekap/kota.blade.php index c0aec8895f22072a519fe8ca4e5bbfe757f0889a..1418e8cc6b1cde4573718b74f9d974602e34fef9 100644 --- a/resources/views/rekap/kota.blade.php +++ b/resources/views/rekap/kota.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/rekap/provinsi.blade.php b/resources/views/rekap/provinsi.blade.php index 8dfbd3d01a2db9072168410945d8022d797db718..562da229ae1967ea86d1b5de28e141badea424cd 100644 --- a/resources/views/rekap/provinsi.blade.php +++ b/resources/views/rekap/provinsi.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid m-0"> - <rekap-table-component rekap-title="REKAPITULASI RUP NASIONAL" swakelola-paket="Kegiatan" total-paket="Keg. + Pkt" + <rekap-table-component rekap-title="REKAPITULASI RUP JAWA BARAT" header-table="Satuan Kerja" swakelola-paket="Kegiatan" total-paket="Keg. + Pkt" api-link="{{$apiLink}}"></rekap-table-component> </div> </div> diff --git a/resources/views/statusPaket/status.blade.php b/resources/views/statusPaket/status.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..1171e8256a4734cfdf0e1a2ec821a426cbe85015 --- /dev/null +++ b/resources/views/statusPaket/status.blade.php @@ -0,0 +1,11 @@ +@extends('layouts.app') + +@section('content') +<div class="row justify-content-center"> + <div class="col-md p-0 m-0"> + <div class="jumbotron jumbotron-fluid text-center m-0"> + <status-paket-component api-link={{$apiLink}}></status-paket-component> + </div> + </div> +</div> +@endsection \ No newline at end of file diff --git a/resources/views/swakelola/kabupaten.blade.php b/resources/views/swakelola/kabupaten.blade.php index 1174688b1ecd616f2e8b94cd48fb77c5db0c1c2d..5c9d9c5e0dd2999c846e31d29ef841cb702dad1e 100644 --- a/resources/views/swakelola/kabupaten.blade.php +++ b/resources/views/swakelola/kabupaten.blade.php @@ -1,14 +1,10 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid text-center m-0"> - <swakelola-table-component title="RUP SWAKELOLA" api-link={{$apiLink}}></swakelola-table-component> + <swakelola-table-component api-link={{$apiLink}}></swakelola-table-component> </div> </div> </div> diff --git a/resources/views/swakelola/kota.blade.php b/resources/views/swakelola/kota.blade.php index 1174688b1ecd616f2e8b94cd48fb77c5db0c1c2d..134448a78f5359e0bca8013cad3f85dec6e3e2c1 100644 --- a/resources/views/swakelola/kota.blade.php +++ b/resources/views/swakelola/kota.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/swakelola/provinsi.blade.php b/resources/views/swakelola/provinsi.blade.php index 1174688b1ecd616f2e8b94cd48fb77c5db0c1c2d..134448a78f5359e0bca8013cad3f85dec6e3e2c1 100644 --- a/resources/views/swakelola/provinsi.blade.php +++ b/resources/views/swakelola/provinsi.blade.php @@ -1,9 +1,5 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - @section('content') <div class="row justify-content-center"> <div class="col-md p-0 m-0"> diff --git a/resources/views/unduh/materi.blade.php b/resources/views/unduh/materi.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..8e2cd60e95a00020aeed44c6a0d1e5fb584ccd4f --- /dev/null +++ b/resources/views/unduh/materi.blade.php @@ -0,0 +1,11 @@ +@extends('layouts.app') + +@section('content') +<div class="row justify-content-center content"> + <div class="col-md p-0 m-0"> + <div class="jumbotron jumbotron-fluid text-center m-0"> + <unduh-materi-table-component api-link="{{$apiLink}}"></unduh-materi-table-component> + </div> + </div> +</div> +@endsection diff --git a/resources/views/unduh/paketRUP.blade.php b/resources/views/unduh/paketRUP.blade.php index 1ab05b7789bcc5a8dd2df5d2cfe8862131874f72..e58f2e9ca979937a310f750eee0241ce6839aaad 100644 --- a/resources/views/unduh/paketRUP.blade.php +++ b/resources/views/unduh/paketRUP.blade.php @@ -1,11 +1,7 @@ @extends('layouts.app') -@section('navbar') -<navbar-component is-unduh=true></navbar-component> -@endsection - @section('content') -<div class="row justify-content-center"> +<div class="row justify-content-center content"> <div class="col-md p-0 m-0"> <div class="jumbotron jumbotron-fluid m-0"> <unduh-paket-component api-link="{{$apiLink}}"></unduh-paket-component> diff --git a/resources/views/unduhMateri.blade.php b/resources/views/unduhMateri.blade.php deleted file mode 100644 index 158cdf13f90df9d225093b8e737685402fad4e9e..0000000000000000000000000000000000000000 --- a/resources/views/unduhMateri.blade.php +++ /dev/null @@ -1,15 +0,0 @@ -@extends('layouts.app') - -@section('navbar') -<navbar-component is-rekap=true></navbar-component> -@endsection - -@section('content') -<div class="row justify-content-center"> - <div class="col-md p-0 m-0"> - <div class="jumbotron jumbotron-fluid text-center m-0"> - <unduh-materi-table-component></unduh-materi-table-component> - </div> - </div> -</div> -@endsection diff --git a/routes/api.php b/routes/api.php index b1f177fc797d0599f58c59d184c52a9b77f787fe..060b7978067ab7e0dbd6da25c7d3a7836b4db02f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -36,6 +36,11 @@ Route::get(Links::LINK_PEMDA_PROVINSI_PENYEDIA, 'PemdaPenyedia\PemdaPenyediaProv Route::get(Links::LINK_PEMDA_KOTA_PENYEDIA, 'PemdaPenyedia\PemdaPenyediaKotaController@showKota'); Route::get(Links::LINK_PEMDA_KABUPATEN_PENYEDIA, 'PemdaPenyedia\PemdaPenyediaKabupatenController@showKabupaten'); +Route::get(Links::LINK_PROVINSI_PENYEDIA_SWAKELOLA, 'PenyediaSwakelola\PenyediaSwakelolaProvinsiController@showProvinsi'); +Route::get(Links::LINK_KOTA_PENYEDIA_SWAKELOLA, 'PenyediaSwakelola\PenyediaSwakelolaKotaController@showKota'); +Route::get(Links::LINK_KABUPATEN_PENYEDIA_SWAKELOLA, 'PenyediaSwakelola\PenyediaSwakelolaKabupatenController@showKabupaten'); + + Route::get(Links::LINK_PROVINSI_PENYEDIA, 'Penyedia\PenyediaProvinsiController@showProvinsi'); Route::get(Links::LINK_KOTA_PENYEDIA, 'Penyedia\PenyediaKotaController@showKota'); Route::get(Links::LINK_KABUPATEN_PENYEDIA, 'Penyedia\PenyediaKabupatenController@showKabupaten'); @@ -44,3 +49,23 @@ Route::get(Links::LINK_DETAIL_KOTA, 'Rekap\DetailRekapController@showKotaSatker' Route::get(Links::LINK_DETAIL_KAB, 'Rekap\DetailRekapController@showKabupatenSatker'); Route::get(Links::LINK_UNDUH_PAKET_RUP, 'Unduh\PaketRUPController@showSatkerYear'); +Route::get(Links::LINK_UNDUH_MATERI, 'Unduh\MateriController@showMateri'); + +Route::get(Links::LINK_CARI_PAKET, 'CariPaket\CariPaketController@showAllPaket'); + +Route::get(Links::LINK_FIND_PAKET, 'CariPaket\FindPaketController@findPaket'); +Route::get(Links::LINK_MODAL_PENYEDIA, 'Penyedia\PenyediaModalController@showDetailPaket'); +Route::get(Links::LINK_MODAL_SWAKELOLA, 'Swakelola\SwakelolaModalController@showDetailPaket'); +Route::get(Links::LINK_MODAL_PENYEDIA_SWAKELOLA, 'PenyediaSwakelola\PenyediaSwakelolaModalController@showDetailPaket'); + +Route::get(Links::LINK_UNDUH_MATERI, 'Unduh\MateriController@showMateri'); + +Route::get(Links::LINK_STATUS_PAKET, 'Status\StatusController@showPaket'); +Route::get(Links::LINK_UMUMKAN_PAKET, 'Status\PengumumanController@classifyPaket'); +Route::get(Links::LINK_KLASIFIKASI_PAKET, 'Status\KlasifikasiController@changeStatus'); +Route::get(Links::LINK_JENIS_PAKET, 'Status\KlasifikasiController@getJenisPaket'); +Route::get(Links::LINK_MODAL_CARI_PAKET, 'CariPaket\ModalCariPaketController@showDetailPaket'); + +Route::get(Links::LINK_PEMDA_PROVINSI_PENYEDIA_SWAKELOLA, 'PemdaPenyediaSwakelola\PemdaPenyediaSwakelolaProvinsiController@showProvinsi'); +Route::get(Links::LINK_PEMDA_KOTA_PENYEDIA_SWAKELOLA, 'PemdaPenyediaSwakelola\PemdaPenyediaSwakelolaKotaController@showKota'); +Route::get(Links::LINK_PEMDA_KABUPATEN_PENYEDIA_SWAKELOLA, 'PemdaPenyediaSwakelola\PemdaPenyediaSwakelolaKabupatenController@showKabupaten'); \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 0430805570a04d0ca30e4253d6d0c3298d89df65..490a852d32e7543925c9540c07709592d668b5d0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -13,7 +13,7 @@ use App\Constants\Links; Route::get(Links::LINK_HOME, function () { - return view('home'); + return view('home', ['content'=>'Home']); }); Route::get(Links::LINK_REKAP, function(){ @@ -138,10 +138,39 @@ Route::get(Links::LINK_DETAIL_KAB, function($id_kabupaten){ Route::get(Links::LINK_UNDUH_PAKET_RUP, function(){ return view('unduh.paketRUP', ['apiLink'=>'/api'.Links::LINK_UNDUH_PAKET_RUP]); -}); +})->middleware('auth'); Route::get(Links::LINK_UNDUH_MATERI, function(){ - return view('unduhMateri', ['apiLink'=>'/api'.Links::LINK_UNDUH_MATERI]); + return view('unduh.materi', ['apiLink'=>'/api'.Links::LINK_UNDUH_MATERI]); +}); + +Route::get(Links::LINK_UNDUH_PAKET_RUP_PDF, 'Unduh\PaketRUPController@generatePDF')->middleware('auth'); + +Auth::routes(); + +Route::get(Links::LINK_BERITA, function(){ + return view('home', ['content'=>'Berita']); +}); + +Route::get(Links::LOGOUT, function(){ + if (Auth::check()) { + Auth::logout(); + } + return redirect('/'); +}); + +Route::get(Links::LINK_CARI_PAKET, function(){ + return view('cariPaket.caripaket', ['apiLink'=>'/api'.Links::LINK_CARI_PAKET]); +}); + +Route::get(Links::LINK_FIND_PAKET, function($tahunA, $keyword, $jenisP, $metode){ + $apiLink = str_replace('{tahun_anggaran}',$tahunA,'/api'.Links::LINK_FIND_PAKET); + $apiLink = str_replace('{keyword}',$keyword,$apiLink); + $apiLink = str_replace('{jenisPengadaan}',$jenisP,$apiLink); + $apiLink = str_replace('{metodePengadaan}', $metode, $apiLink); + return view('cariPaket.caripaket', ['apiLink'=>'/api'.Links::LINK_FIND_PAKET]); }); -Route::get(Links::LINK_UNDUH_PAKET_RUP_PDF, 'Unduh\PaketRUPController@generatePDF'); \ No newline at end of file +Route::get(Links::LINK_STATUS_PAKET, function(){ + return view('statusPaket.status', ['apiLink'=>'/api'.Links::LINK_STATUS_PAKET]); +})->middleware('auth'); \ No newline at end of file diff --git a/sirup-sql.sql b/sirup-sql.sql index 58054f66126192ec0541ced651d1abbdcdef6d2a..3532f0ca78d6c79aeac8102c7b4ddf28ce09a3f0 100644 --- a/sirup-sql.sql +++ b/sirup-sql.sql @@ -1,5 +1,5 @@ -insert into users (name, email, password) values ('test', 'test@gmail.com', 'test'); +#insert into users (name, email, password) values ('test', 'test@gmail.com', 'test'); insert into type (name) values ('Provinsi'); insert into type (name) values ('Kota'); diff --git a/tests/Feature/AuthenticationTest.php b/tests/Feature/AuthenticationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..da4a27565831dc0c4efc81fca7dab4412ccea4d6 --- /dev/null +++ b/tests/Feature/AuthenticationTest.php @@ -0,0 +1,48 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; + +class AuthenticationTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function testLoginPage() + { + $response = $this->get('/login'); + $response->assertSuccessful(); + $response->assertViewIs('auth.login'); + } + + public function testRegisterPage() + { + $response = $this->get('/register'); + $response->assertSuccessful(); + $response->assertViewIs('auth.register'); + } + + public function testRegisterUser() + { + $user = [ + 'name' => 'Joe', + 'email' => 'testemail@test.com', + 'role' => 'pa', + 'password' => 'passwordtest', + 'password_confirmation' => 'passwordtest', + ]; + + $response = $this->post('/register', $user); + array_splice($user, 3, 2); + $this->assertDatabaseHas('users', $user); + + $response->assertRedirect('/'); + } + + +} diff --git a/tests/Feature/CariPaketTest.php b/tests/Feature/CariPaketTest.php new file mode 100644 index 0000000000000000000000000000000000000000..583f87a6bcfaa02813eac90caef928402bc6cd8b --- /dev/null +++ b/tests/Feature/CariPaketTest.php @@ -0,0 +1,22 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; + +class CariPaketTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function testModalCari() + { + $response = $this->get('/'); + + $response->assertStatus(200); + } +} diff --git a/tests/Feature/PemdaPenyediaSwakelolaTest.php b/tests/Feature/PemdaPenyediaSwakelolaTest.php new file mode 100644 index 0000000000000000000000000000000000000000..dc305844ff3fecce069fd3de03c1dc4b4f284469 --- /dev/null +++ b/tests/Feature/PemdaPenyediaSwakelolaTest.php @@ -0,0 +1,34 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; + +class PemdaPenyediaSwakelolaTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function testPenyediaSwakelolaProvinsi() + { + $response = $this->get(Links::LINK_PEMDA_PROVINSI_PENYEDIA_SWAKELOLA); + $response->assertStatus(200); + } + + public function testPenyediaSwakelolaKabupaten() + { + $response = $this->get(str_replace('{id_kabupaten}',1, Links::LINK_PEMDA_KABUPATEN_PENYEDIA_SWAKELOLA)); + $response->assertStatus(200); + } + + public function testPenyediaSwakelolaKota() + { + $response = $this->get(str_replace('{id_kota}',1,Links::LINK_PEMDA_KOTA_PENYEDIA_SWAKELOLA)); + $response->assertStatus(200); + } +} diff --git a/tests/Feature/PemdaSwakelolaTest.php b/tests/Feature/PemdaSwakelolaTest.php new file mode 100644 index 0000000000000000000000000000000000000000..47f475037569feec911487ce6990588e73043398 --- /dev/null +++ b/tests/Feature/PemdaSwakelolaTest.php @@ -0,0 +1,53 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; + +class PemdaSwakelolaTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function setUp(): void{ + parent::setUp(); + + $this->pemdaSwakelolaJsonStructure = [ + 'paketSwakelola' => [ + '*' => [ + 'no', + 'satuanKerja', + 'pagu', + 'kegiatan', + 'sumberDana' + ] + ], + 'subtitle' + ]; + } + + public function testSwakelolaKabupaten() + { + $response = $this->get('/api'.str_replace('{id_kabupaten}',1,Links::LINK_PEMDA_KABUPATEN_SWAKELOLA)); + $response->assertStatus(200); + $response->assertJsonStructure($this->pemdaSwakelolaJsonStructure); + } + + public function testSwakelolaKota(){ + $response = $this->get('/api'.str_replace('{id_kota}',1,Links::LINK_PEMDA_KOTA_SWAKELOLA)); + $response->assertStatus(200); + $response->assertJsonStructure($this->pemdaSwakelolaJsonStructure); + } + + public function testSwakelolaProvinsi(){ + $response = $this->get('/api'.Links::LINK_PEMDA_PROVINSI_SWAKELOLA); + $response->assertStatus(200); + $response->assertJsonStructure($this->pemdaSwakelolaJsonStructure); + } + +} diff --git a/tests/Feature/PenyediaSwakelolaTest.php b/tests/Feature/PenyediaSwakelolaTest.php new file mode 100644 index 0000000000000000000000000000000000000000..11c194ad634af9a7690917c4b227c4208faba59c --- /dev/null +++ b/tests/Feature/PenyediaSwakelolaTest.php @@ -0,0 +1,22 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; + +class PenyediaSwakelolaTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function testPenyediaSwakelolaProvinsi() + { + $response = $this->get('/api'.Links::LINK_PEMDA_PROVINSI_PENYEDIA_SWAKELOLA); + $response->assertStatus(200); + } +} diff --git a/tests/Feature/PenyediaTest.php b/tests/Feature/PenyediaTest.php index d7fd0ed1be94b47a9cfc5a1f36aff55ecebea449..57a041e15286dc8ba0d0cd416d5d217a53897eb1 100644 --- a/tests/Feature/PenyediaTest.php +++ b/tests/Feature/PenyediaTest.php @@ -29,6 +29,10 @@ class PenyediaTest extends TestCase ], 'subtitle' ]; + + $this->penyediaModalJsonStructure = [ + 'paket' + ]; } public function testProvisiPenyedia() @@ -49,6 +53,13 @@ class PenyediaTest extends TestCase { $response = $this->get('/api'.str_replace('{id_satker}',1,Links::LINK_KOTA_PENYEDIA)); $response->assertStatus(200); - $response->assertJsonStructure($this->penyediaJsonStructure); + $response->assertJsonStructure($this->penyediaJsonStructure); + } + + public function testPenyediaModal() + { + $response = $this->get('/api'.str_replace('{id_paket}',1,Links::LINK_MODAL_PENYEDIA)); + $response->assertStatus(200); + $response->assertJsonStructure($this->penyediaModalJsonStructure); } } diff --git a/tests/Feature/StatusTest.php b/tests/Feature/StatusTest.php new file mode 100644 index 0000000000000000000000000000000000000000..0ebf21784b806efacb54198dfbe48be0c9601949 --- /dev/null +++ b/tests/Feature/StatusTest.php @@ -0,0 +1,39 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; + +class StatusTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + public function setUp(): void{ + parent::setUp(); + + $this->statusJsonStructure = [ + 'paket' + ]; + } + + public function testStatus() + { + $apiLink = '/api'.Links::LINK_STATUS_PAKET; + $response = $this->get($apiLink); + $response->assertStatus(200); + $response->assertJsonStructure($this->statusJsonStructure); + } + + public function testClassifyPaket() + { + $apiLink = '/api'.str_replace('{id_paket}', 1,Links::LINK_UMUMKAN_PAKET); + $response = $this->get($apiLink); + // $response->assertStatus(200); + } +} diff --git a/tests/Feature/SwakelolaTest.php b/tests/Feature/SwakelolaTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8fe64bf367639d02185259feb9dbb55a6d17dfcf --- /dev/null +++ b/tests/Feature/SwakelolaTest.php @@ -0,0 +1,69 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; + +class SwakelolaTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + + public function setUp(): void{ + parent::setUp(); + $this->pemdaSwakelolaJsonStructure = [ + 'paketSwakelola' => [ + '*' => [ + 'no', + 'satuanKerja', + 'pagu', + 'kegiatan', + 'sumberDana' + ] + ], + 'subtitle' + ]; + } + + public function testSwakelolaKabupaten() + { + $idSatker = 1; + $idKabupaten = 1; + $apiLink = str_replace('{id_satker}',$idSatker,'/api'.Links::LINK_KABUPATEN_SWAKELOLA); + $apiLink = str_replace('{id_kabupaten}',$idKabupaten,$apiLink); + + $response = $this->get($apiLink); + $response->assertStatus(200); + } + + public function testSwakelolaKota() + { + $idSatker = 1; + $idKota = 1; + $apiLink = str_replace('{id_satker}',$idSatker,'/api'.Links::LINK_KOTA_SWAKELOLA); + $apiLink = str_replace('{id_kota}',$idKota,$apiLink); + $response = $this->get($apiLink); + $response->assertStatus(200); + } + + public function testSwakelolaProvinsi() + { + $apiLink = '/api'.str_replace('{id_satker}',1, Links::LINK_PROVINSI_SWAKELOLA); + $response = $this->get($apiLink); + // $response->assertStatus(200); + } + + public function testSwakelolaModal() + { + $apiLink = '/api'.str_replace('{id_paket}',1, Links::LINK_MODAL_SWAKELOLA); + $response = $this->get($apiLink); + $response->assertStatus(200); + } + +} diff --git a/tests/Feature/UnduhTest.php b/tests/Feature/UnduhTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3af4ceadd7387fbb9b3327de70d570ae0e3853b8 --- /dev/null +++ b/tests/Feature/UnduhTest.php @@ -0,0 +1,76 @@ +<?php + +namespace Tests\Feature; + +use Tests\TestCase; +use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Constants\Links; +use App\Model\User; + +class UnduhTest extends TestCase +{ + /** + * A basic feature test example. + * + * @return void + */ + + public function setUp(): void{ + parent::setUp(); + + $this->unduhMateriJsonStructure = [ + 'result' => [ + '*' => [ + "no" , + "judul" , + "subJudul", + "kategori" , + "deskripsi", + "filename", + "filelink" + ] + ] + ]; + + $this->satkerListJsonStructure = [ + 'result', + 'tahun' + ]; + } + + public function testUnduhMateri() + { + $response = $this->get('/api'.Links::LINK_UNDUH_MATERI); + $response->assertStatus(200); + $response->assertJsonStructure($this->unduhMateriJsonStructure); + } + + public function testUnduhPaketPage() + { + $response = $this->get('/api'.Links::LINK_UNDUH_PAKET_RUP); + $response->assertStatus(200); + $response->assertJsonStructure($this->satkerListJsonStructure); + } + + public function testUnduhPaketPDFNotAuthenticated() + { + $apiLink = str_replace('{satker}', 1,Links::LINK_UNDUH_PAKET_RUP_PDF); + $response = $this->get($apiLink); + $response->assertRedirect('/login'); + } + + public function testUnduhPaketPDFAuthenticated() + { + $user = User::make([ + 'name' => 'adylan', + 'email' => 'adylan@test.com', + 'password' => 'foo_bar', + 'role' => 'pa' + ]); + + $apiLink = str_replace('{satker}', 1,Links::LINK_UNDUH_PAKET_RUP_PDF); + $response = $this->actingAs($user)->get($apiLink); + $response->assertStatus(500); + } +} diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php deleted file mode 100644 index e9fe19c664dd70ddededea359ecfdaf6c767d5d7..0000000000000000000000000000000000000000 --- a/tests/Unit/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -namespace Tests\Unit; - -use Tests\TestCase; -use Illuminate\Foundation\Testing\RefreshDatabase; - -class ExampleTest extends TestCase -{ - /** - * A basic test example. - * - * @return void - */ - public function testBasicTest() - { - $this->assertTrue(true); - } -} diff --git a/tests/Unit/UtilTest.php b/tests/Unit/UtilTest.php index b3ddd1bdd40b0111bb383d6b538d58d76bc17d6c..5798963dcff44dbd17d9bdce280e1cdeea6bd9b3 100644 --- a/tests/Unit/UtilTest.php +++ b/tests/Unit/UtilTest.php @@ -37,7 +37,7 @@ class UtilTest extends TestCase public function testPemdaSwakelolaDaerah() { - $pemdaSwakelolaDaerah = new PemdaSwakelolaDaerah("test", "test", "test", "test"); + $pemdaSwakelolaDaerah = new PemdaSwakelolaDaerah("test", "test", "test", "test", "test"); $this->assertEquals($pemdaSwakelolaDaerah->no, 1); $this->assertEquals($pemdaSwakelolaDaerah->satuanKerja, "test"); $this->assertEquals($pemdaSwakelolaDaerah->kegiatan, "test"); @@ -57,7 +57,7 @@ class UtilTest extends TestCase public function testSwakelolaDaerah() { - $swakelolaDaerah = new SwakelolaDaerah("test", "test", "test", "test"); + $swakelolaDaerah = new SwakelolaDaerah("test", "test", "test", "test", "test"); $this->assertEquals($swakelolaDaerah->no, 1); $this->assertEquals($swakelolaDaerah->kegiatan, "test"); $this->assertEquals($swakelolaDaerah->paket, "test"); @@ -67,13 +67,14 @@ class UtilTest extends TestCase public function testUnduhMateri() { - $unduhMateri = new UnduhMateri("test", "test", "test", "test", "test"); + $unduhMateri = new UnduhMateri("test", "test", "test", "test", "test", "test"); $this->assertEquals($unduhMateri->no, 1); $this->assertEquals($unduhMateri->judul, "test"); $this->assertEquals($unduhMateri->subjudul, "test"); $this->assertEquals($unduhMateri->kategori, "test"); $this->assertEquals($unduhMateri->deskripsi, "test"); - $this->assertEquals($unduhMateri->file, "test"); + $this->assertEquals($unduhMateri->filename, "test"); + $this->assertEquals($unduhMateri->filelink, "test"); } }