Esempio n. 1
0
 /**
  * Updates an existing DataManagement model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param string $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModelUpdatable($id);
     $domisili = new TabelDomisili();
     $currentDomisili = TabelDomisili::find()->where('current = 1 and nik = ' . $id)->one();
     $lokasi = new \yii\base\DynamicModel(['alamat', 'kelurahan', 'kecamatan', 'kabupaten', 'provinsi']);
     $lokasi->addRule(['kelurahan', 'kecamatan', 'kabupaten', 'provinsi'], 'string', ['max' => 20])->addRule(['alamat'], 'string', ['max' => 255]);
     $lokasi->alamat = $currentDomisili['alamat'];
     $lokasi->kelurahan = $currentDomisili['kelurahan'];
     $lokasi->kecamatan = substr($lokasi->kelurahan, 0, strlen($lokasi->kelurahan) - 3);
     $lokasi->kabupaten = substr($lokasi->kecamatan, 0, strlen($lokasi->kecamatan) - 3);
     $lokasi->provinsi = substr($lokasi->kabupaten, 0, strlen($lokasi->kabupaten) - 2);
     if ($model->load(Yii::$app->request->post()) && $domisili->load(Yii::$app->request->post()) && $lokasi->load(Yii::$app->request->post()) && $model->save()) {
         // VarDumper::dump($_POST["DynamicModel"]["kelurahan"], 6666, true);
         echo Yii::$app->request->post("DynamicModel['kelurahan']");
         if ($_POST["DynamicModel"]["kelurahan"] != $currentDomisili['kelurahan'] || $_POST["TabelDomisili"]["alamat"] != $currentDomisili['alamat']) {
             $domisili->current = 1;
             $domisili->nik = $id;
             $domisili->nik_pencatat = Yii::$app->user->id;
             $domisili->kelurahan = $lokasi->kelurahan;
             $domisili->save(false);
             $currentDomisili['current'] = 0;
             $currentDomisili->update();
         }
         //VarDumper::dump($domisili->getErrors(),5678,true);
         //VarDumper::dump($model->getErrors(),5678,true);
         //echo var_dump($domisili);
         $this->writeLog('Memperbarui Data dengan NIK ' . $model->nik);
         return $this->redirect(['view', 'id' => $model->nik]);
     } else {
         return $this->render('update', ['model' => $model, 'updatable' => $model, 'domisili' => $currentDomisili, 'lokasi' => $lokasi]);
     }
 }
Esempio n. 2
0
				<div class="col-md-3">
					<label class="control-label pull-right">Instansi</label>
				</div>
				<div class="col-md-9">
					<?php 
echo $user->instansi;
?>
				</div>
			  </div>
			  <div class="row">
				<div class="col-md-3">
					<label class="control-label pull-right">Alamat</label>
				</div>
				<div class="col-md-9">
					<?php 
echo TabelDomisili::find()->select('alamat')->where(['nik' => $user->id])->one()->alamat;
?>
				</div>
			  </div>
			</div><!-- /.box-body -->
			<div class="box-footer text-right">
				<p>
					<?php 
echo Html::a('Ubah Nama Instansi', ['ubah'], ['class' => 'btn btn-success', 'data-toggle' => 'modal', 'data-target' => '#edit', 'data-title' => 'Ubah Nama Instansi']);
?>
				</p>
			</div>
		  </div><!-- /.box -->
		</div><!-- /.Left col -->
		<div class="col-lg-6">
		  <!-- Custom tabs (Charts with tabs)-->
    private function exportKeluarga()
    {
        $isi = Keluarga::find()->asArray()->all();
        $filename = 'Data_Keluarga-' . date('YmdGis') . '.xls';
        header("Content-type: application/vnd.ms-excel");
        header("Content-Disposition: attachment; filename=\"{$filename}\"");
        header("Pragma: no-cache");
        header("Expires: 0");
        echo "<style> .str{ mso-number-format:\\@; } </style>";
        echo '<table border="1" width="100%">
			<thead>
				<tr>
					<th>Nomor KK</th>
					<th>Nama Kepala Keluarga</th>
					<th>Alamat</th>
					<th>RT</th>
					<th>RW</th>
					<th>Desa/Kelurahan</th>
					<th>Kecamatan</th>
					<th>Kabupaten/Kota</th>
					<th>Provinsi</th>
					<th>Dikeluarkan Tanggal</th>
					<th>Nama Lengkap</th>
					<th>NIK</th>
					<th>Jenis Kelamin</th>
					<th>Tempat Lahir</th>
					<th>Tanggal Lahir</th>
					<th>Agama</th>
					<th>Pendidikan Terakhir</th>
					<th>Pekerjaan</th>
					<th>Status Perkawinan</th>
					<th>Status Hubungan Dalam Keluarga</th>
					<th>Kewarganegaraan</th>
					<th>Nama Ayah</th>
					<th>Nama Ibu</th>
				</tr>
			</thead>
			<tbody>';
        $i = 0;
        foreach ($isi as $data) {
            $subData = BaseUpdatable::find()->where('status_keluarga = "1" and no_kk = "' . $data['id'] . '"')->one();
            $base = DataManagement::findOne($subData['nik']);
            $domisili = TabelDomisili::find()->where('nik = ' . $subData['nik'])->one();
            //echo var_dump($subData->nik);
            //echo var_dump($subData);
            $rawNikKeluarga = BaseUpdatable::find()->where('no_kk = ' . $data['id'])->asArray()->all();
            $nikKeluarga = "";
            foreach ($rawNikKeluarga as $val) {
                if ($nikKeluarga != null) {
                    $nikKeluarga .= ",";
                }
                $nikKeluarga .= $val['nik'];
            }
            $dataKeluarga = DataManagement::find()->joinWith('baseUpdatable')->where('base.nik in (' . $nikKeluarga . ')')->asArray()->all();
            $count = count($dataKeluarga);
            echo '
					<tr>
						<td class="str" rowspan="' . $count . '">' . $data['id'] . '</td>
						<td rowspan="' . $count . '">' . $base['nama'] . '</td>
						<td rowspan="' . $count . '">' . $domisili['alamat'] . '</td>
						<td rowspan="' . $count . '">' . $domisili['rt'] . '</td>
						<td rowspan="' . $count . '">' . $domisili['rw'] . '</td>
						<td rowspan="' . $count . '">' . Villages::findOne($domisili['kelurahan'])->name . '</td>
						<td rowspan="' . $count . '">' . Districts::findOne(substr($domisili['kelurahan'], 0, strlen($domisili['kelurahan']) - 3))->name . '</td>
						<td rowspan="' . $count . '">' . Regencies::findOne(substr($domisili['kelurahan'], 0, strlen($domisili['kelurahan']) - 6))->name . '</td>
						<td rowspan="' . $count . '">' . Provinces::findOne(substr($domisili['kelurahan'], 0, strlen($domisili['kelurahan']) - 8))->name . '</td>
						<td rowspan="' . $count . '">' . Keluarga::findOne($data['id'])->tanggal_terbit . '</td>';
            foreach ($dataKeluarga as $value) {
                $jk = $value['jenis_kelamin'] == 1 ? 'Laki-laki' : 'Perempuan';
                //echo var_dump($value['baseUpdatable']['agama']);
                switch ($value['baseUpdatable']['agama']) {
                    case '1':
                        $agama = 'Islam';
                        break;
                    case '2':
                        $agama = 'Kristen';
                        break;
                    case '3':
                        $agama = 'Katholik';
                        break;
                    case '4':
                        $agama = 'Hindu';
                        break;
                    case '5':
                        $agama = 'Budha';
                        break;
                    case '6':
                        $agama = 'Konghucu';
                        break;
                    case '7':
                        $agama = 'Lainnya';
                        break;
                }
                switch ($value['baseUpdatable']['pendidikan_terakhir']) {
                    case '1':
                        $pend = 'SD';
                        break;
                    case '2':
                        $pend = 'SMP';
                        break;
                    case '3':
                        $pend = 'SMA';
                        break;
                    case '4':
                        $pend = 'D 1';
                        break;
                    case '5':
                        $pend = 'D 2';
                        break;
                    case '6':
                        $pend = 'D 3';
                        break;
                    case '7':
                        $pend = 'Sarjana S 1/D 4';
                        break;
                    case '8':
                        $pend = 'Pasca Sarjana S 2';
                        break;
                    case '9':
                        $pend = 'Pasca Sarjana S 3';
                        break;
                }
                if ($value['baseUpdatable']['status_perkawinan'] == 0) {
                    $status_perkawinan = 'Belum Menikah';
                } elseif ($value['baseUpdatable']['status_perkawinan'] == 1) {
                    $status_perkawinan = 'Menikah';
                } elseif ($value['baseUpdatable']['status_perkawinan'] == 2) {
                    $status_perkawinan = 'Cerai';
                } elseif ($value['baseUpdatable']['status_perkawinan'] == 3) {
                    $status_perkawinan = 'Cerai Ditinggal Mati';
                }
                $status_keluarga = $value['baseUpdatable']['status_keluarga'];
                //echo var_dump($status_keluarga);
                if ($status_keluarga == 1) {
                    $statusKeluarga = 'Kepala Keluarga';
                } elseif ($status_keluarga == 2) {
                    $statusKeluarga = 'Istri';
                } elseif ($status_keluarga == 3) {
                    $statusKeluarga = 'Anak';
                }
                if (TabelKewarganegaraan::findOne($value['nik']) !== null) {
                    $kewarganegaraan = 'WNA';
                } else {
                    $kewarganegaraan = 'WNI';
                }
                echo '
								<td>' . $value['nama'] . '</td>
								<td>' . $value['nik'] . '</td>
								<td>' . $jk . '</td>
								<td>' . $value['tempat_lahir'] . '</td>
								<td>' . $value['tanggal_lahir'] . '</td>
								<td>' . $agama . '</td>
								<td>' . $pend . '</td>
								<td>' . $value['baseUpdatable']['pekerjaan'] . '</td>
								<td>' . $status_perkawinan . '</td>
								<td>' . $statusKeluarga . '</td>
								<td>' . $kewarganegaraan . '</td>
								<td>' . DataManagement::findOne(BaseUpdatable::findOne($value['nik'])->ayah)['nama'] . '</td>
								<td>' . DataManagement::findOne(BaseUpdatable::findOne($value['nik'])->ibu)['nama'] . '</td>
							';
                if ($i < $count - 1) {
                    echo '</tr><tr>';
                } else {
                    echo '</tr>';
                }
                $i++;
            }
            echo '</tbody>';
        }
        echo '</table>';
        return true;
    }