✨ feat(statement): perbaikan fitur statement dan penambahan akses sentra operasi
- Memberikan akses penuh fitur multi-branch untuk role `administrator` dan `sentra_operasi`.
- Menambahkan akun untuk client **SILOT** dalam daftar monitoring.
- Menonaktifkan validasi duplikasi statement di `PrintStatementRequest`.
- Memindahkan struktur penyimpanan file dari `statements/{client}` menjadi `partners/{client}`.
- Menambahkan pengurutan hasil berdasarkan `branch_code` dan `account_number` untuk laporan.
- Memperbaiki tampilan dropdown branch dan menyembunyikan field `end_date` yang tidak relevan.
- Menghapus opsi `NO.PRINT` dari dropdown `stmt_sent_type` untuk penyederhanaan UI.
- Peningkatan UI dan struktur direktori untuk mempermudah pembacaan dan pengelolaan statement.
This commit is contained in:
@@ -31,7 +31,11 @@ ini_set('max_execution_time', 300000);
|
||||
->get();
|
||||
|
||||
$branch = Branch::find(Auth::user()->branch_id);
|
||||
|
||||
$multiBranch = false;
|
||||
if(Auth::user()->hasRole(['administrator','sentra_operasi'])){
|
||||
$multiBranch = session('MULTI_BRANCH') ?? false;
|
||||
}
|
||||
|
||||
return view('webstatement::statements.index', compact('branches', 'branch', 'multiBranch'));
|
||||
}
|
||||
@@ -512,7 +516,7 @@ ini_set('max_execution_time', 300000);
|
||||
$query = PrintStatementLog::query();
|
||||
$query->whereNotNull('user_id');
|
||||
|
||||
if (!Auth::user()->role === 'administrator') {
|
||||
if (!Auth::user()->hasRole(['administrator','sentra_operasi'])) {
|
||||
$query->where(function($q) {
|
||||
$q->where('user_id', Auth::id())
|
||||
->orWhere('branch_code', Auth::user()->branch->code);
|
||||
|
||||
@@ -140,6 +140,9 @@ class WebstatementController extends Controller
|
||||
],
|
||||
"MONETA"=> [
|
||||
"1085667890"
|
||||
],
|
||||
"SILOT" => [
|
||||
"1083972676"
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class PrintStatementRequest extends FormRequest
|
||||
// Hanya cek duplikasi jika account_number ada
|
||||
if (!empty($this->input('account_number'))) {
|
||||
$query = Statement::where('account_number', $this->input('account_number'))
|
||||
->where('authorization_status', '!=', 'rejected')
|
||||
//->where('authorization_status', '!=', 'rejected')
|
||||
->where(function($query) {
|
||||
$query->where('is_available', true)
|
||||
->orWhere('is_generated', true);
|
||||
@@ -84,7 +84,7 @@ class PrintStatementRequest extends FormRequest
|
||||
}
|
||||
|
||||
if ($query->exists()) {
|
||||
$fail('A statement request with this account number and period already exists.');
|
||||
//$fail('A statement request with this account number and period already exists.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -361,8 +361,8 @@
|
||||
{
|
||||
// Determine the base path based on client
|
||||
$basePath = !empty($this->client)
|
||||
? "statements/{$this->client}"
|
||||
: "statements";
|
||||
? "partners/{$this->client}"
|
||||
: "partners";
|
||||
|
||||
$accountPath = "{$basePath}/{$this->account_number}";
|
||||
|
||||
|
||||
@@ -231,6 +231,7 @@
|
||||
break;
|
||||
|
||||
case 'all_branches':
|
||||
$query->orderBy('branch_code', 'asc');
|
||||
// Tidak ada filter tambahan, ambil semua
|
||||
break;
|
||||
|
||||
@@ -238,6 +239,7 @@
|
||||
throw new InvalidArgumentException("Invalid request type: {$this->requestType}");
|
||||
}
|
||||
|
||||
$query->orderBy('account_number');
|
||||
$accounts = $query->get();
|
||||
|
||||
// Filter accounts yang memiliki email
|
||||
|
||||
Reference in New Issue
Block a user