# BLUEPRINT CETAK BIRU MODUL: ASET MANAGEMENT (FIXED ASSETS & DEPRECIATION)
**Modul:** `asetmanagement`  
**Workspace:** `new_san_variant`  
**Standard:** Single Variant Standard & Dual-Write Rollout  
**Tanggal Analisis:** 2026-07-29  

---

## 1. IDENTITAS MODUL

- **Nama Modul:** `asetmanagement`
- **Pola Kompleksitas:** **Transaksi Kompleks** (Perolehan Aset Tetap via `_processSelectAsset.php`, Kalkulasi Otomatis Depresiasi Bulanan via `AutoDepresiasi.php`, Pelepasan/Penjualan Aset / Asset Disposal, Nilai Residu, & Journal Akumulasi Penyusutan).
- **Jenis Transaksi (`jenisTr` Utama):**
  - `421` : Perolehan / Acquisition Aset Tetap
  - `422` : Depresiasi / Penyusutan Rutin Bulanan Aset
  - `424` : Pelepasan / Disposal / Penjualan Aset Tetap

---

## 2. DAFTAR FUNGSI & LOGIKA BISNIS (REVERSE ENGINEERING)

### 2.1 Base Controller & Configuration

#### [Modul_Controller.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/Modul_Controller.php)
- **Fungsi `__construct()`**: Load config `coTransaksiUi`, `coTransaksiCore`, `coTransaksiLayout`, `coTransaksiValues`.

---

### 2.2 Entry Aset & Auto-Depreciation Engine

#### [AutoDepresiasi.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/AutoDepresiasi.php) & [AutoDepresiasiChecker.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/AutoDepresiasiChecker.php)
- **Fungsi Automatic Depreciation Engine**:
  - *Input*: Masa Manfaat (Tahun), Metode Depresiasi (Garis Lurus / Saldo Menurun), Nilai Perolehan, Nilai Residu.
  - *Logic*: Cron / Scheduler bulanan yang menghitung beban penyusutan aktiva tetap dan menghasilkan entri jurnal bulanan secara otomatis.

#### [_processSelectAsset.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/_processSelectAsset.php)
- **Fungsi Fixed Asset Acquisition Selector**:
  - *Input*: Kategori Aset, Kode Inventaris, Lokasi/Penanggung Jawab, Harga Perolehan.
  - *Logic*: Mengonversi pembelian aktiva menjadi kartu aset tetap ber-ID unik.

#### [Create.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/Create.php)
- **Fungsi `index()`, `preview()`, `save()`**: Entry registrasi aset tetap baru.

---

### 2.3 Executing & FollowUp Approval

#### [FollowUp.php](file:///c:/xampp/htdocs/new_san_variant/application/modules/asetmanagement/controllers/FollowUp.php)
- **Fungsi `doFollowup()`** *(Execution Asset Transaction)*:
  - *Query & Models*:
    1. **Asset Register Linkage**: Mencatat entri baru di tabel inventaris aset tetap.
    2. **Jurnal Aset & Depresiasi**: Memanggil `ComJurnal` mencatat Aktiva Tetap (D) vs Kas/Hutang (K) untuk perolehan, atau Beban Depresiasi (D) vs Akumulasi Penyusutan (K) untuk depresiasi.
    3. **Registry Update**: Log step registrasi di `transaksi_registry`.

---

## 3. IDENTIFIKASI PERBEDAAN DENGAN MOCKUP GLOBAL

| No | Komponen / Fitur Unik | Deskripsi & Perbedaannya dengan Mockup Standar |
|:--:|:----------------------|:------------------------------------------------|
| 1 | **Auto-Depreciation Schedule Cron (`AutoDepresiasi.php`)** | Controller khusus scheduler untuk eksekusi otomatis jurnal depresiasi bulanan. |
| 2 | **Asset Disposal & Capital Gain/Loss Calculator (`424`)** | Kalkulasi Laba/Rugi pelepasan aset (Harga Jual vs Nilai Buku Aset). |

---

## 4. ARSITEKTUR KODE BARU (THE BLUEPRINT)

### 4.1 Struktur Controller Baru

```
application/modules/asetmanagement/
├── config/
│   ├── coTransaksiCore.php
│   ├── coTransaksiUi.php
│   ├── coTransaksiLayout.php
│   └── coTransaksiValues.php
├── controllers/
│   ├── Modul_Controller.php       # Base controller
│   ├── Create.php                 # Form Asset Acquisition Entry
│   ├── FollowUp.php               # Approval & Execution
│   ├── AutoDepresiasi.php         # Depreciation Scheduler Engine
│   ├── SetupDepresiasi.php        # Depreciation Method Setup
│   ├── Transaksi.php              # Fixed Asset List
│   ├── ActivityReport.php         # Laporan Aset & Depresiasi
│   ├── History.php                # Riwayat Penyusutan Aset
│   ├── Printing.php               # Cetak Kartu Aset Tetap
│   ├── ViewDetails.php            # Modal Detail View
│   ├── _processSelectAsset.php    # Fixed Asset Selector
│   └── _shoppingCart.php          # Cart Manager
└── views/
    ├── transaksi_modul.php
    ├── shoppingCart.php
    └── printing.php
```

---

### 4.2 Panduan Langkah-demi-Langkah Developer

1. **Langkah 1: Gunakan Fixed Asset Selector pada `_processSelectAsset.php`**
   - Mengelola nomor registrasi dan kartu aset tetap.

2. **Langkah 2: Integrasikan `ComJurnal` pada `AutoDepresiasi.php`**
   - Menghasilkan jurnal penyusutan bulanan secara otomatis.

3. **Langkah 3: Verifikasi PHP 5.6 & Update UAT Checklist**
   - Lakukan linting `C:\xampp\php\php.exe -l` dan update `docs/uat-checklist.md`.

---

### 5. KESIMPULAN & STATUS EKSEKUSI

- 🟢 **Pekerjaan Selesai (Completed & Verified)**:
  1. Blueprint modul `asetmanagement` diselesaikan.
  2. File [blueprint_asetmanagement.md](file:///c:/xampp/htdocs/new_san_variant/blueprint_asetmanagement.md) dan `dev-jurnal.md` diterbitkan.
