---
# System prepended metadata

title: Status Kepengurusan
tags: [Tugas, Kuliah, Metode Penelitian]

---

---
title: 'Status Kepengurusan'
disqus: Metode Penelitian
---

Status Kepengurusan Dokumen - Technical Documentation
===

## Table of Contents

[TOC]

## Users of Application

User yang menggunakan aplikasi adalah:

1. Warga
1. Admin Kelurahan
    - Staff yang menerima/mengirim berkas
    - Operator yang mengecek berkas
1. Admin Catatan Sipil
    - Staff yang menerima/mengirim berkas
    - Operator yang mengecek berkas
    - Kepala Seksi

## Flow
---
### Warga Request No Resi
```sequence
title : Warga Request No Resi
Note left of Warga: Warga melengkapi dokumen 
Warga->Kelurahan: Warga menyerahkan dokumen 
Note left of Kelurahan: dokumen sesuai persyaratan
Kelurahan-->App: Input Data
App-->App: Generate No Resi
App-->DB : Menyimpan data
Note left of DB:STATUS_ID = 1
Note left of App : dokumen no Resi
App-->Kelurahan: Response Dokumen 
Kelurahan->Kelurahan : Print Dokumen
Kelurahan->>Warga: Dokumen diberikan ke Warga
```
### Dokumen dikirim oleh Kelurahan ke Catatan Sipil
```sequence
Kelurahan->Kelurahan: checking document
Note left of Kelurahan:Check by Operator 
Kelurahan-->App: Input No Resi
Note left of App: STATUS_ID = 2
App-->Kelurahan : Berkas berhasil telah diproses
Kelurahan-->Kelurahan : Mengirim Dokumen ke Catatan Sipil
```
### Dokumen dipending oleh Operator Kelurahan 
```sequence
Kelurahan->Kelurahan: check document
Note left of Kelurahan:Document tidak lengkap
Kelurahan-->App: Input No Resi
Note left of App: STATUS_ID = 9
App-->Kelurahan : Berkas berhasil di pending
Kelurahan-->Warga : Notifikasi ke Warga agar melengkapi dokumen
```
### Dokumen diterima Staff Capil
```sequence
Capil->Capil : Dokumen diterima
Capil-->App: Input No Resi
App->App : change status
Note left of App: STATUS_ID = 3
App->Capil: Berkas berhasil diterima
```
### Dokumen telah diproses Operator Capil
```sequence
Note left of OP Capil: Check dokumen
OP Capil-->App : Input No Resi
App->App: change status 
Note left of App : STATUS_ID = 4
App->OP Capil : Dokumen berhasil diproses
OP Capil->Kepala Seksi: Memberikan dokumen yang telah diproses untuk di approve
```
### Dokumen dipending oleh Operator Capil
```sequence
Note left of OP Capil: Check dokumen
OP Capil-->App : Input No Resi
App->App: change status
Note left of App : STATUS_ID = 10
App->OP Capil : Dokumen berhasil dipending
OP Capil->Kelurahan : Mengembalikan dokumen agar dilengkapi lagi

```
### Dokumen disetujui oleh Kepala Seksi
```sequence
Note left of Kepala Seksi: check dokumen
Kepala Seksi-->App : Input No Resi
App->App: change status 
Note left of App : STATUS_ID = 5
App->Kepala Seksi : Dokumen berhasil disetujui
Kepala Seksi->OP Capil: Memberikan dokumen yang siap dicetak
```
### Dokumen dipending oleh Kepala Seksi
```sequence
Note left of Kepala Seksi: Check dokumen
Kepala Seksi-->App : Input No Resi
App->App: change status
Note left of App: STATUS_ID = 11
App->Kepala Seksi : Dokumen berhasil dipending
Kepala Seksi->Kelurahan : Mengembalikan dokumen agar dilengkapi lagi
```

### Dokumen dicetak dan dikirim oleh Operator Capil
```sequence
OP Capil->App: Input No Resi
App->App : change status 
Note left of App : STATUS_ID = 6
App-->OP Capil : Dokumen berhasil dicetak
OP Capil-->Kelurahan : mengirim dokumen yang telah dicetak
```
### Dokumen yang telah di proses diterima oleh Operator Capil
```sequence
Kelurahan->App: Input nomer resi 
App->App: change status
Note left of App: STATUS_ID = 7
App->Kelurahan: Dokumen yg diproses telah diterima
Note left of App : Dokumen siap di ambil kembali oleh Warga
```

### Dokumen yang telah di proses diambil oleh Warga (Final)
```sequence
Warga-->Kelurahan: Datang mengambil dokumen
Kelurahan-->App: input no resi
App-->App: change status
Note left of App: STATUS_ID = 8
App-->Kelurahan: Dokumen berhasil di ambil oleh Warga
Kelurahan->Warga: Memberikan dokumen
Warga->Warga : Membawa pulang dokumen
```


## Table of `document`
| Field        | Type Data    | Description        		 | 
| ------------ | ------------ | ------------------------ |
| `id`         | `varchar`    | No Resi  (Unique)  		 |
| `full_name`  | `int`        | Nama Lengkap       		 |
| `phone`      | `varchar`    | No Handphone Warga 		 |
| `email`      | `varchar`    | Status document    		 |
| `address`    | `varchar`    | Alamat Warga       		 |
| `status_id`  | `tinyint`    | Status document    		 |
| `purpose`    | `varchar`    | Tujuan Warga               |
| `notes`      | `text`       | Notes jika dokumen pending |
| `created_at` | `timestamp`  | Kapan kepengurusan dokumen dibuat |
| `updated_at` | `timestamp`  | Kapan kepengurusan dokumen terakhir di update |


## Table of `document_status`
| Field        | Type Data    | Description  | 
| ------------ | ------------ | ------------ |
| `id`         | `tinyint`    | ID       	 |
| `name`       | `varchar`    | Nama status  |
| `updated_at` | `timestamp`  | Last Update  |

## List of document status
1. Berkas diterima oleh Staff Kelurahan
1. Berkas diproses oleh Operator Kelurahan
1. Berkas diterima oleh Staff Catatan Sipil
1. Berkas diproses oleh Operator Catatan Sipil
1. Berkas disetujui oleh Kepala Seksi
1. Berkas dicetak dan dikirim ke Kelurahan oleh Operator Catatan Sipil
1. Berkas yang udah diproses telah diterima oleh Staff Kelurahan
1. Berkas diterima Warga
1. Berkas dipending oleh Operator Kelurahan
1. Berkas dipending oleh Operator Catatan Sipil
1. Berkas dipending oleh Kepala Seksi

## const of DOCUMENT_STATUS
```php 
class DocumentStatus 
{
    const RECEIVED_BY_STAFF = 1;
    const PROCESSING_BY_OPERATOR = 2;
    const RECEIVED_BY_CIVIL_REGISTRY_STAFF = 3;
    const PROCESSING_BY_CIVIL_REGISTRY_OPERATOR = 4;
    const APPROVED = 5;
    const PRINTED_AND_DELIVERED = 6;
    const PROCESSED_AND_RECEIVED_BY_STAFF = 7;
    const RECEIVED_BY_CITIZEN = 8;
    const PENDING_BY_OPERATOR = 9;
    const PENDING_BY_CIVIL_REGISTRY_OPERATOR = 10;
    const PENDING_BY_SECTION_HEAD = 11;
}
```

###### tags: `Tugas` `Metode Penelitian` `Kuliah`
