✨ 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();
|
->get();
|
||||||
|
|
||||||
$branch = Branch::find(Auth::user()->branch_id);
|
$branch = Branch::find(Auth::user()->branch_id);
|
||||||
$multiBranch = session('MULTI_BRANCH') ?? false;
|
|
||||||
|
$multiBranch = false;
|
||||||
|
if(Auth::user()->hasRole(['administrator','sentra_operasi'])){
|
||||||
|
$multiBranch = session('MULTI_BRANCH') ?? false;
|
||||||
|
}
|
||||||
|
|
||||||
return view('webstatement::statements.index', compact('branches', 'branch', 'multiBranch'));
|
return view('webstatement::statements.index', compact('branches', 'branch', 'multiBranch'));
|
||||||
}
|
}
|
||||||
@@ -512,7 +516,7 @@ ini_set('max_execution_time', 300000);
|
|||||||
$query = PrintStatementLog::query();
|
$query = PrintStatementLog::query();
|
||||||
$query->whereNotNull('user_id');
|
$query->whereNotNull('user_id');
|
||||||
|
|
||||||
if (!Auth::user()->role === 'administrator') {
|
if (!Auth::user()->hasRole(['administrator','sentra_operasi'])) {
|
||||||
$query->where(function($q) {
|
$query->where(function($q) {
|
||||||
$q->where('user_id', Auth::id())
|
$q->where('user_id', Auth::id())
|
||||||
->orWhere('branch_code', Auth::user()->branch->code);
|
->orWhere('branch_code', Auth::user()->branch->code);
|
||||||
|
|||||||
@@ -140,7 +140,10 @@ class WebstatementController extends Controller
|
|||||||
],
|
],
|
||||||
"MONETA"=> [
|
"MONETA"=> [
|
||||||
"1085667890"
|
"1085667890"
|
||||||
]
|
],
|
||||||
|
"SILOT" => [
|
||||||
|
"1083972676"
|
||||||
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ class PrintStatementRequest extends FormRequest
|
|||||||
// Hanya cek duplikasi jika account_number ada
|
// Hanya cek duplikasi jika account_number ada
|
||||||
if (!empty($this->input('account_number'))) {
|
if (!empty($this->input('account_number'))) {
|
||||||
$query = Statement::where('account_number', $this->input('account_number'))
|
$query = Statement::where('account_number', $this->input('account_number'))
|
||||||
->where('authorization_status', '!=', 'rejected')
|
//->where('authorization_status', '!=', 'rejected')
|
||||||
->where(function($query) {
|
->where(function($query) {
|
||||||
$query->where('is_available', true)
|
$query->where('is_available', true)
|
||||||
->orWhere('is_generated', true);
|
->orWhere('is_generated', true);
|
||||||
@@ -84,7 +84,7 @@ class PrintStatementRequest extends FormRequest
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($query->exists()) {
|
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
|
// Determine the base path based on client
|
||||||
$basePath = !empty($this->client)
|
$basePath = !empty($this->client)
|
||||||
? "statements/{$this->client}"
|
? "partners/{$this->client}"
|
||||||
: "statements";
|
: "partners";
|
||||||
|
|
||||||
$accountPath = "{$basePath}/{$this->account_number}";
|
$accountPath = "{$basePath}/{$this->account_number}";
|
||||||
|
|
||||||
|
|||||||
@@ -231,6 +231,7 @@
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'all_branches':
|
case 'all_branches':
|
||||||
|
$query->orderBy('branch_code', 'asc');
|
||||||
// Tidak ada filter tambahan, ambil semua
|
// Tidak ada filter tambahan, ambil semua
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -238,6 +239,7 @@
|
|||||||
throw new InvalidArgumentException("Invalid request type: {$this->requestType}");
|
throw new InvalidArgumentException("Invalid request type: {$this->requestType}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$query->orderBy('account_number');
|
||||||
$accounts = $query->get();
|
$accounts = $query->get();
|
||||||
|
|
||||||
// Filter accounts yang memiliki email
|
// Filter accounts yang memiliki email
|
||||||
|
|||||||
Reference in New Issue
Block a user