spotlibs-components 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-J3F77MZN.mjs → chunk-F6KSEYVB.mjs} +4 -35
- package/dist/chunk-F6KSEYVB.mjs.map +1 -0
- package/dist/chunk-UFE7HFT2.mjs +60 -0
- package/dist/chunk-UFE7HFT2.mjs.map +1 -0
- package/dist/chunk-YOSPWY5K.mjs +36 -0
- package/dist/chunk-YOSPWY5K.mjs.map +1 -0
- package/dist/{atoms → components/atoms}/icons/index.mjs +2 -1
- package/dist/components/index.d.mts +449 -0
- package/dist/components/index.mjs +7241 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/mui/index.d.mts +23 -0
- package/dist/components/mui/index.mjs +27 -0
- package/dist/components/mui/index.mjs.map +1 -0
- package/dist/components/types.d.mts +4 -0
- package/dist/{types-qsnVqq6_.d.mts → types-BkrxwBFm.d.mts} +443 -292
- package/dist/utils/index.d.mts +186 -0
- package/dist/utils/index.mjs +477 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +17 -2
- package/src/utils/admin-kuota-nasional/constant.js +95 -0
- package/src/utils/asset.js +10 -0
- package/src/utils/booleanUtils.js +19 -0
- package/src/utils/briguna-digital/constant.js +12 -0
- package/src/utils/compress.js +24 -0
- package/src/utils/compressImage.js +20 -0
- package/src/utils/constants.js +20 -0
- package/src/utils/cookies.js +102 -0
- package/src/utils/crypto.js +104 -0
- package/src/utils/decodeString.js +17 -0
- package/src/utils/disableFormElements.js +19 -0
- package/src/utils/excelUtils.js +60 -0
- package/src/utils/exception.js +86 -0
- package/src/utils/formatString.js +151 -0
- package/src/utils/formatters/account.js +98 -0
- package/src/utils/formatters/currency.js +125 -0
- package/src/utils/formatters/date.js +219 -0
- package/src/utils/formatters/index.js +47 -0
- package/src/utils/formatters/string.js +114 -0
- package/src/utils/generateImportExcel.js +546 -0
- package/src/utils/generateTimestamp.js +4 -0
- package/src/utils/handleApiError.js +17 -0
- package/src/utils/index.js +92 -0
- package/src/utils/json.js +55 -0
- package/src/utils/localStorage.js +8 -0
- package/src/utils/logger.js +46 -0
- package/src/utils/schema/globalSchema.js +10 -0
- package/src/utils/signature.js +75 -0
- package/src/utils/specifics/korporasi/prakarsaKorporasiUtils.js +87 -0
- package/src/utils/specifics/mikro/validationMaintenanceAgunanUtils.js +214 -0
- package/src/utils/static-data/korporasi/prakarsa/analisa-risiko-kredit-nasabah/analisa-kinerja-keuangan/listStaticData.js +290 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-arus-kas/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/proyeksi-laporan-keuangan/listStaticData.js +75 -0
- package/src/utils/static-data/korporasi/prakarsa/appendix/total-exposure-group/listStaticData.js +7 -0
- package/src/utils/static-data/korporasi/prakarsa/create/listStaticData.js +21 -0
- package/src/utils/static-data/korporasi/prakarsa/generals/listExcelConfigData.js +11 -0
- package/src/utils/static-data/korporasi/prakarsa/pengajuan-fasilitas-kredit/fasilitas-kredit/listStaticData.js +69 -0
- package/src/utils/static-data/korporasi-internasional/eksternal/listStaticData.js +193 -0
- package/src/utils/static-data/korporasi-internasional/master/listStaticData.js +24 -0
- package/src/utils/static-data/korporasi-internasional/uji-kepatuhan/listStaticData.js +250 -0
- package/src/utils/status.js +160 -0
- package/src/utils/store/adminKuotaNasional.js +7 -0
- package/src/utils/store/authStore.js +13 -0
- package/src/utils/store/bankGaransiStore.js +10 -0
- package/src/utils/store/korporasi/approval/interface/interfaceStore.js +10 -0
- package/src/utils/store/korporasi/general/generalKorporasiStore.js +13 -0
- package/src/utils/store/korporasi/loan-disbursement/loanDisbursementStore.js +77 -0
- package/src/utils/store/korporasi/prakarsa/fasilitas-kredit/fasilitasKreditStore.js +141 -0
- package/src/utils/store/migrasi-mandiri/migrasiMandiriStore.js +53 -0
- package/src/utils/store/monitoring-konsumer/monitoring-leads-KPP/monitoring-leads-kpp-internal.js +34 -0
- package/src/utils/store/prakarsaBankGaransiStore.js +21 -0
- package/src/utils/store/prognosa-crr/settingPrognosaROStore.js +9 -0
- package/src/utils/store/prognosaRMStore.js +30 -0
- package/src/utils/store/restrukStore.js +26 -0
- package/src/utils/store/verificationAccessLink.js +11 -0
- package/src/utils/store/warkat-bg-wholesale/warkatBgWholesaleStore.js +22 -0
- package/src/utils/stringUtils.js +226 -0
- package/src/utils/tipeBank.js +14 -0
- package/dist/chunk-J3F77MZN.mjs.map +0 -1
- package/dist/index.css +0 -32
- package/dist/index.css.map +0 -1
- package/dist/index.d.mts +0 -1726
- package/dist/index.mjs +0 -18584
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.mts +0 -4
- /package/dist/{atoms → components/atoms}/icons/index.d.mts +0 -0
- /package/dist/{atoms → components/atoms}/icons/index.mjs.map +0 -0
- /package/dist/{types.mjs → components/types.mjs} +0 -0
- /package/dist/{types.mjs.map → components/types.mjs.map} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const listRoleData = [
|
|
2
|
+
{ "label": "RM Korporasi", "value": "rm_korporasi", "type": "Bisnis" },
|
|
3
|
+
{ "label": "CA Korporasi", "value": "ca_korporasi", "type": "Bisnis" },
|
|
4
|
+
{ "label": "RM Internasional", "value": "rm_internasional", "type": "Bisnis" },
|
|
5
|
+
{ "label": "CA Internasional", "value": "ca_internasional", "type": "Bisnis" },
|
|
6
|
+
{ "label": "Dept Head Bisnis Korporasi", "value": "dept_head_bisnis_korporasi", "type": "Bisnis" },
|
|
7
|
+
{ "label": "Div Head Bisnis Korporasi", "value": "div_head_bisnis_korporasi", "type": "Bisnis" },
|
|
8
|
+
{ "label": "Team Lead Bisnis Korporasi", "value": "team_lead_bisnis_korporasi", "type": "Bisnis" },
|
|
9
|
+
{ "label": "Dept Head Risk Korporasi", "value": "dept_head_risk_korporasi", "type": "Risk" },
|
|
10
|
+
{ "label": "Div Head Risk Korporasi", "value": "div_head_risk_korporasi", "type": "Risk" },
|
|
11
|
+
{ "label": "WCRA", "value": "wcra", "type": "Risk" },
|
|
12
|
+
{ "label": "Div Head CRO", "value": "div_head_cro", "type": "CRO" },
|
|
13
|
+
{ "label": "Dept Head CRO", "value": "dept_head_cro", "type": "CRO" },
|
|
14
|
+
{ "label": "Group Head CRO", "value": "group_head_cro", "type": "CRO" },
|
|
15
|
+
{ "label": "Admin CRO", "value": "adm_cro", "type": "CRO" },
|
|
16
|
+
{ "label": "Div Head Compliance", "value": "div_head_compliance", "type": "Compliance" },
|
|
17
|
+
{ "label": "Dept Head Compliance", "value": "dept_head_compliance", "type": "Compliance" },
|
|
18
|
+
{ "label": "Team Lead Compliance", "value": "team_lead_compliance", "type": "Compliance" },
|
|
19
|
+
{ "label": "Compliance Korporasi", "value": "compliance_korporasi", "type": "Compliance" },
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
listRoleData
|
|
24
|
+
}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
const pertanyaanUjiKepatuhan = [
|
|
2
|
+
{
|
|
3
|
+
"id": 85,
|
|
4
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
5
|
+
"attribute": "performing_loan",
|
|
6
|
+
"content": "Ketentuan Batas Maksimum Pemberian Kredit (BMPK)"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"id": 86,
|
|
10
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
11
|
+
"attribute": "performing_loan",
|
|
12
|
+
"content": "Ketentuan Mengenai Jenis Usaha Yang Perlu Dihindari Untuk Dibiayai"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 87,
|
|
16
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
17
|
+
"attribute": "performing_loan",
|
|
18
|
+
"content": "Ketentuan Larangan Pembelian dan / atau Pemberian Jaminan Surat Berharga Komersial"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": 88,
|
|
22
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
23
|
+
"attribute": "performing_loan",
|
|
24
|
+
"content": "Ketentuan Pemberian Kredit Yang Sehat Berdasarkan PPKPB/KPB dan PPK"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": 89,
|
|
28
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
29
|
+
"attribute": "performing_loan",
|
|
30
|
+
"content": "Kesimpulan Pengujian"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": 90,
|
|
34
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
35
|
+
"attribute": "pembiayaan",
|
|
36
|
+
"content": "Ketentuan Batas Maksimum Pemberian Kredit (BMPK)"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": 91,
|
|
40
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
41
|
+
"attribute": "pembiayaan",
|
|
42
|
+
"content": "Ketentuan Mengenai Jenis Usaha Yang Perlu Dihindari Untuk Dibiayai"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": 92,
|
|
46
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
47
|
+
"attribute": "pembiayaan",
|
|
48
|
+
"content": "Ketentuan Larangan Pembelian dan / atau Pemberian Jaminan Surat Berharga Komersial"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": 93,
|
|
52
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
53
|
+
"attribute": "pembiayaan",
|
|
54
|
+
"content": "Ketentuan Pemberian Kredit Yang Sehat Berdasarkan PPKPB/KPB dan PPK"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": 94,
|
|
58
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
59
|
+
"attribute": "pembiayaan",
|
|
60
|
+
"content": "Kesimpulan Pengujian"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": 95,
|
|
64
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
65
|
+
"attribute": "perubahan_syarat_kredit",
|
|
66
|
+
"content": "Ketentuan Batas Maksimum Pemberian Kredit (BMPK)"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": 96,
|
|
70
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
71
|
+
"attribute": "perubahan_syarat_kredit",
|
|
72
|
+
"content": "Kesimpulan Pengujian"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": 97,
|
|
76
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
77
|
+
"attribute": "bank_line",
|
|
78
|
+
"content": "Ketentuan Batas Maksimum Pemberian Kredit (BMPK)"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": 98,
|
|
82
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
83
|
+
"attribute": "bank_line",
|
|
84
|
+
"content": "Prosedur Pemberian Limit Bank Line"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": 99,
|
|
88
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
89
|
+
"attribute": "bank_line",
|
|
90
|
+
"content": "Ketentuan Kehati-hatian Dalam Transaksi Valuta Asing"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": 100,
|
|
94
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
95
|
+
"attribute": "bank_line",
|
|
96
|
+
"content": "Ketentuan Pemberian Kredit Yang Sehat Berdasarkan PPKPB/KPB dan PPK"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": 101,
|
|
100
|
+
"kriteria": "pertanyaan_uji_kepatuhan",
|
|
101
|
+
"attribute": "bank_line",
|
|
102
|
+
"content": "Kesimpulan Pengujian"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
const counterparty =
|
|
107
|
+
[
|
|
108
|
+
{
|
|
109
|
+
"refno": "PI2412NA58",
|
|
110
|
+
"nama_debitur": "Krakatau Perbengkelan dan Perawatan",
|
|
111
|
+
"fasilitas": [
|
|
112
|
+
{
|
|
113
|
+
"id_fasilitas": "1",
|
|
114
|
+
"jenis_fasilitas": "Money Market Line",
|
|
115
|
+
"currency": "IDR",
|
|
116
|
+
"plafond": 800000,
|
|
117
|
+
"exposure": 900000,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id_fasilitas": "1",
|
|
121
|
+
"jenis_fasilitas": "Forex Line",
|
|
122
|
+
"currency": "EUR",
|
|
123
|
+
"plafond": 10000,
|
|
124
|
+
"exposure": 10000,
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id_fasilitas": "2",
|
|
128
|
+
"jenis_fasilitas": "Repo Line",
|
|
129
|
+
"currency": "USD",
|
|
130
|
+
"plafond": 100000,
|
|
131
|
+
"exposure": 100000,
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"refno": "PN2412QB2T",
|
|
137
|
+
"nama_debitur": "Krakatau Bandar Samudera",
|
|
138
|
+
"is_draft": false,
|
|
139
|
+
"currency": [
|
|
140
|
+
{
|
|
141
|
+
"currency": "IDR",
|
|
142
|
+
"kurs": 1,
|
|
143
|
+
"posisi_tanggal": "13-12-2024"
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"fasilitas": [
|
|
147
|
+
{
|
|
148
|
+
"id_fasilitas": "1",
|
|
149
|
+
"jenis_fasilitas": "Forex Line",
|
|
150
|
+
"currency": "IDR",
|
|
151
|
+
"plafond": 350000,
|
|
152
|
+
"exposure": 350000,
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id_fasilitas": "1",
|
|
156
|
+
"jenis_fasilitas": "Forex Line",
|
|
157
|
+
"currency": "EUR",
|
|
158
|
+
"plafond": 10000,
|
|
159
|
+
"exposure": 10000,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id_fasilitas": "2",
|
|
163
|
+
"jenis_fasilitas": "Repo Line",
|
|
164
|
+
"currency": "USD",
|
|
165
|
+
"plafond": 100000,
|
|
166
|
+
"exposure": 100000,
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
|
|
172
|
+
const dataInformasiPerusahaanDummy = {
|
|
173
|
+
"responseCode": "00",
|
|
174
|
+
"responseDesc": "Success",
|
|
175
|
+
"responseData": {
|
|
176
|
+
"uji_kepatuhan": true,
|
|
177
|
+
"nama_debitur": "PT. Pertamini",
|
|
178
|
+
"maker": [
|
|
179
|
+
{
|
|
180
|
+
"pn": "90173358",
|
|
181
|
+
"nama": "Asnawi Raja Tarkam"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"pn": "00711223",
|
|
185
|
+
"nama": "Ferrari Grsk Grsuk"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"pihak": "Terkait",
|
|
189
|
+
"bidang_usaha": "Oil & Gas",
|
|
190
|
+
"group_usaha": "Pertamina Group",
|
|
191
|
+
"putusan_kredit": "summary.....",
|
|
192
|
+
"unit_pemrakarsa": "International Business Division BRI",
|
|
193
|
+
"tanggal_pengujian": "12-12-2012",
|
|
194
|
+
"template_pengujian": "Bank Line",
|
|
195
|
+
"hasil_pengujian": [
|
|
196
|
+
{
|
|
197
|
+
"deskripsi": "Ketentuan Batas Maksimum Pemberian Kredit (BMPK)",
|
|
198
|
+
"hasil": "Comply"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"deskripsi": "Ketentuan Mengenai Jenis Usaha Yang Perlu Dihindari Untuk Dibiayai",
|
|
202
|
+
"hasil": "N.A"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"deskripsi": "Ketentuan Larangan Pembelian dan / atau Pemberian Jaminan Surat Berharga Komersial",
|
|
206
|
+
"hasil": "N.A"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"deskripsi": "Ketentuan Pemberian Kredit Yang Sehat Berdasarkan PPKPB/KPB dan PPK",
|
|
210
|
+
"hasil": "N.A"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"deskripsi": "Kesimpulan Pengujian",
|
|
214
|
+
"hasil": "N.A"
|
|
215
|
+
}
|
|
216
|
+
],
|
|
217
|
+
"perhitungan_bmpk_pdn": {
|
|
218
|
+
"bmpk": {},
|
|
219
|
+
"bmpk_individu": {},
|
|
220
|
+
"bmpk_konsolidasi": {},
|
|
221
|
+
"pdn": {},
|
|
222
|
+
},
|
|
223
|
+
"eksposure_group": {
|
|
224
|
+
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
const fasilitas_appendix = [
|
|
230
|
+
{
|
|
231
|
+
"nama_debitur": "PT. Jasa Marga",
|
|
232
|
+
"fasilitas_pinjaman": [
|
|
233
|
+
{
|
|
234
|
+
"currency": "USD",
|
|
235
|
+
"plafond_bmpk": 450000,
|
|
236
|
+
"jenis_fasilitas": "Trade Finance Line",
|
|
237
|
+
"plafond_efektif": 300000,
|
|
238
|
+
"eksposur_diputus": 450000,
|
|
239
|
+
"status_fasilitas": "Existing"
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
|
|
245
|
+
export {
|
|
246
|
+
pertanyaanUjiKepatuhan,
|
|
247
|
+
dataInformasiPerusahaanDummy,
|
|
248
|
+
counterparty,
|
|
249
|
+
fasilitas_appendix
|
|
250
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { listRoleData } from '@/utils/static-data/korporasi-internasional/master/listStaticData'
|
|
2
|
+
|
|
3
|
+
// Definisikan mapping peran ke status di dalam fungsi
|
|
4
|
+
const rolesMapping = {
|
|
5
|
+
"dept_head_bisnis_korporasi": 41,
|
|
6
|
+
"team_lead_bisnis_korporasi": 41,
|
|
7
|
+
"div_head_bisnis_korporasi": 42,
|
|
8
|
+
"div_head_risk_korporasi": 43,
|
|
9
|
+
"dept_head_risk_korporasi": 44,
|
|
10
|
+
"wcra": 45,
|
|
11
|
+
"rm_internasional": 1,
|
|
12
|
+
"ca_internasional": 1,
|
|
13
|
+
"rm_korporasi": 1,
|
|
14
|
+
"ca_korporasi": 1,
|
|
15
|
+
"div_head_cro": 48,
|
|
16
|
+
"dept_head_cro": 4801,
|
|
17
|
+
"group_head_cro": 4801,
|
|
18
|
+
"adm_cro": 4802,
|
|
19
|
+
"div_head_compliance": 5001,
|
|
20
|
+
"dept_head_compliance": 5002,
|
|
21
|
+
"team_lead_compliance": 5003,
|
|
22
|
+
"team_member_compliance": 100,
|
|
23
|
+
"komite_kredit": 4902
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const listRolesMapping = {
|
|
27
|
+
"rm_internasional": [1],
|
|
28
|
+
"ca_internasional": [1],
|
|
29
|
+
"rm_korporasi": [1],
|
|
30
|
+
"ca_korporasi": [1],
|
|
31
|
+
"dept_head_bisnis_korporasi": [41],
|
|
32
|
+
"team_lead_bisnis_korporasi": [41],
|
|
33
|
+
"div_head_bisnis_korporasi": [42],
|
|
34
|
+
"div_head_risk_korporasi": [43, 49, 100, 5001, 5002, 5003, 5100],
|
|
35
|
+
"dept_head_risk_korporasi": [44, 49, 100, 5001, 5002, 5003, 5100],
|
|
36
|
+
"wcra": [45, 49, 100, 5001, 5002, 5003, 5100],
|
|
37
|
+
"div_head_cro": [48],
|
|
38
|
+
"dept_head_cro": [4801],
|
|
39
|
+
"group_head_cro": [4801],
|
|
40
|
+
"adm_cro": [4802, 100],
|
|
41
|
+
"div_head_compliance": [5001],
|
|
42
|
+
"dept_head_compliance": [5002],
|
|
43
|
+
"team_lead_compliance": [5003],
|
|
44
|
+
"team_member_compliance": [100],
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export const getStatusKorporasi = (data) => {
|
|
48
|
+
|
|
49
|
+
// Iterasi melalui rolesMapping untuk menentukan status berdasarkan peran
|
|
50
|
+
for (const [roleKey, statusCode] of Object.entries(rolesMapping)) {
|
|
51
|
+
const hasRole = data?.responseData?.role?.some((role) => [roleKey].includes(role));
|
|
52
|
+
if (hasRole) {
|
|
53
|
+
return statusCode;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return null; // Default jika tidak ada peran yang sesuai
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export const getStatusKorporasi2 = (data) => {
|
|
60
|
+
// Iterasi melalui rolesMapping untuk menentukan status berdasarkan peran
|
|
61
|
+
for (const [roleKey, statusCode] of Object.entries(rolesMapping)) {
|
|
62
|
+
const hasRole = data?.role?.some((role) => [roleKey].includes(role));
|
|
63
|
+
if (hasRole) {
|
|
64
|
+
return statusCode;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return null; // Default jika tidak ada peran yang sesuai
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export const getStatusByRole = (data) => {
|
|
71
|
+
for (const [roleKey, statusCode] of Object.entries(listRolesMapping)){
|
|
72
|
+
const hasRole = checkHasRole(roleKey, data?.role)
|
|
73
|
+
if (hasRole) {
|
|
74
|
+
return statusCode
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return null
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export const checkHasRole = (roleKey, data) => {
|
|
81
|
+
return data?.some((role) => [roleKey].includes(role))
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export const getIsReviewerRMCA = (statusMAB, statusCheckAccess) => {
|
|
85
|
+
if (statusCheckAccess === 1 && (statusMAB === 41 || statusMAB === 42 || statusMAB === 4201 || statusMAB === 43 || statusMAB === 44 || statusMAB === 45 || statusMAB === 46 || statusMAB === 47 || statusMAB === 48 || statusMAB === 4801 || statusMAB === 4802 || statusMAB === 4803 || statusMAB === 4804 || statusMAB === 49 || statusMAB === 5)) {
|
|
86
|
+
return true
|
|
87
|
+
}
|
|
88
|
+
if (statusCheckAccess === 41 && (statusMAB === 41 || statusMAB === 42 || statusMAB === 4201 || statusMAB === 43 || statusMAB === 44 || statusMAB === 45 || statusMAB === 46 || statusMAB === 47 || statusMAB === 48 || statusMAB === 4801 || statusMAB === 4802 || statusMAB === 4803 || statusMAB === 4804 || statusMAB === 49 || statusMAB === 5)) {
|
|
89
|
+
return true
|
|
90
|
+
}
|
|
91
|
+
if (statusCheckAccess === 42 || statusCheckAccess === 43 || statusCheckAccess === 44 || statusCheckAccess === 45 || statusCheckAccess === 46 || statusCheckAccess === 47 || statusCheckAccess === 48) {
|
|
92
|
+
return true
|
|
93
|
+
}
|
|
94
|
+
return false
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export const getIsReviewerWCRA = (statusMAB, statusCheckAccess) => {
|
|
98
|
+
if (statusCheckAccess === 1 || statusCheckAccess === 41 || statusCheckAccess === 42 || statusCheckAccess === 43 || statusCheckAccess === 48 || statusCheckAccess === 4801 || statusCheckAccess === 4802 || statusCheckAccess === 4803 || statusCheckAccess === 4804 || statusCheckAccess === 49) {
|
|
99
|
+
return true
|
|
100
|
+
}
|
|
101
|
+
if (statusCheckAccess === 44 && (statusMAB === 1 || statusMAB === 41 || statusMAB === 42 || statusMAB === 4201 || statusMAB === 43 || statusMAB === 44 || statusMAB === 45)) {
|
|
102
|
+
return false
|
|
103
|
+
}
|
|
104
|
+
if (statusCheckAccess === 45 && (statusMAB === 1 || statusMAB === 41 || statusMAB === 42 || statusMAB === 4201 || statusMAB === 43 || statusMAB === 44 || statusMAB === 45)) {
|
|
105
|
+
return false
|
|
106
|
+
}
|
|
107
|
+
return true
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export const getIsReviewerCRO = (statusMAB, statusCheckAccess, menu) => {
|
|
111
|
+
if (menu === "paket_kredit" && statusCheckAccess === 48 && (statusMAB === 48 || statusMAB === 4801 || statusMAB === 4802 || statusMAB === 4803 || statusMAB === 4804 || statusMAB === 49)) {
|
|
112
|
+
return true
|
|
113
|
+
}
|
|
114
|
+
if (menu === "paket_kredit" && statusCheckAccess === 4801 && (statusMAB === 48 || statusMAB === 4801 || statusMAB === 4802 || statusMAB === 4803 || statusMAB === 4804 || statusMAB === 49)) {
|
|
115
|
+
return true
|
|
116
|
+
}
|
|
117
|
+
if (menu === "paket_kredit" && statusCheckAccess === 4802 && statusMAB === 4802) {
|
|
118
|
+
return false
|
|
119
|
+
}
|
|
120
|
+
if (menu === 'monitoring' && (statusCheckAccess === 4802 || statusCheckAccess === 4801 || statusCheckAccess === 48 || statusMAB === 48 || statusMAB === 4801 || statusMAB === 4802 || statusMAB === 4803 || statusMAB === 4804 || statusMAB === 49)) {
|
|
121
|
+
return true
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export const getSchema = (statusCheckAccess, statusMAB, menu) => {
|
|
126
|
+
if (menu === 'prakarsa') {
|
|
127
|
+
if (statusCheckAccess === 1 && statusMAB === 1) {
|
|
128
|
+
return 1;
|
|
129
|
+
}
|
|
130
|
+
if (statusCheckAccess === 45) {
|
|
131
|
+
return 2;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (menu === 'monitoring') {
|
|
135
|
+
if (statusCheckAccess === 41 && statusMAB === 1) {
|
|
136
|
+
return 1
|
|
137
|
+
}
|
|
138
|
+
if (statusCheckAccess === 1 || statusCheckAccess === 41 && statusMAB !== 1) {
|
|
139
|
+
return 3
|
|
140
|
+
}
|
|
141
|
+
if (statusCheckAccess === 42) {
|
|
142
|
+
return 3
|
|
143
|
+
}
|
|
144
|
+
if (statusCheckAccess === 44 && [1, 41, 42, 43, 44, 45].includes(statusMAB)) {
|
|
145
|
+
return 2
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
if (menu === 'approval') {
|
|
149
|
+
return 3;
|
|
150
|
+
}
|
|
151
|
+
if (menu === 'disposisi') {
|
|
152
|
+
return 3;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export const getTypeRole = (listRoles) => {
|
|
157
|
+
return (
|
|
158
|
+
listRoleData?.find(role => listRoles?.includes(role.value))?.type || ""
|
|
159
|
+
);
|
|
160
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
|
|
3
|
+
export const useAdminKuotaNasionalStore = create((set) => ({
|
|
4
|
+
detailKuotaNasional: null,
|
|
5
|
+
setDetailKuotaNasional: (data) => set({ detailKuotaNasional: data }),
|
|
6
|
+
clearDetailKuotaNasional: () => set({ detailKuotaNasional: null })
|
|
7
|
+
}));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
|
|
3
|
+
const useAuthStore = create((set) => ({
|
|
4
|
+
_sessionData: null,
|
|
5
|
+
|
|
6
|
+
// Actions
|
|
7
|
+
setSessionData: (_sessionData) => set({ _sessionData }),
|
|
8
|
+
|
|
9
|
+
// Logout action
|
|
10
|
+
logout: () => set({ _sessionData: null }),
|
|
11
|
+
}));
|
|
12
|
+
|
|
13
|
+
export default useAuthStore;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { create } from "zustand"
|
|
2
|
+
|
|
3
|
+
const useApprovalInterfaceKorporasiStore = create((set) => ({
|
|
4
|
+
refno: '',
|
|
5
|
+
noReffSubFasilitas: '',
|
|
6
|
+
setDataRefno: (data) => set({ refno: data }),
|
|
7
|
+
setDataNoReffSubFasilitas: (data) => set({ noReffSubFasilitas: data })
|
|
8
|
+
}))
|
|
9
|
+
|
|
10
|
+
export default useApprovalInterfaceKorporasiStore
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { create } from "zustand"
|
|
3
|
+
|
|
4
|
+
const useGeneralKorporasiStore = create((set) => ({
|
|
5
|
+
dataSession: null,
|
|
6
|
+
dataDetailMABKorporasi: null,
|
|
7
|
+
dataGroupUsahaKorporasi: null,
|
|
8
|
+
setDataSession: (data) => set({ dataSession: data }),
|
|
9
|
+
setDataDetailMABKorporasi: (data) => set({ dataDetailMABKorporasi: data }),
|
|
10
|
+
setDataGroupUsahaKorporasi: (data) => set({ dataGroupUsahaKorporasi: data }),
|
|
11
|
+
}))
|
|
12
|
+
|
|
13
|
+
export default useGeneralKorporasiStore
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
import { create } from "zustand"
|
|
3
|
+
|
|
4
|
+
export const tujuanRekeningDefaultValue = {
|
|
5
|
+
bank: null,
|
|
6
|
+
noRekeningTujuan: '',
|
|
7
|
+
cif: '',
|
|
8
|
+
namaPemilikRekening: '',
|
|
9
|
+
currency: null,
|
|
10
|
+
nominalPencairan: '',
|
|
11
|
+
remark: '',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const dataDebiturDefaultValue = {
|
|
15
|
+
noPerjanjianKredit: '',
|
|
16
|
+
noSuratPermohonanPencairan: '',
|
|
17
|
+
statusRekeningPinjamanBaru: 'Tidak',
|
|
18
|
+
jenisRate: 'Fixed',
|
|
19
|
+
skemaPinjaman: 'Revolving',
|
|
20
|
+
sukuBunga: '',
|
|
21
|
+
sandiSTP: null,
|
|
22
|
+
loanType: null,
|
|
23
|
+
totalNominalPencairan: '',
|
|
24
|
+
jatuhTempoAvailabilityPeriod: '',
|
|
25
|
+
// tenorPenarikan: '',
|
|
26
|
+
// jatuhTempoPencairan: '',
|
|
27
|
+
tanggalMulaiRekening: '',
|
|
28
|
+
tanggalJatuhTempoRekening: '',
|
|
29
|
+
rekeningTujuanPencairan: 'Rekening Operasional Debitur',
|
|
30
|
+
bank: null,
|
|
31
|
+
noRekeningOperasionalDebitur: '',
|
|
32
|
+
atasNamaRekening: '',
|
|
33
|
+
cif: '',
|
|
34
|
+
remark: '',
|
|
35
|
+
rekeningEscrow: [tujuanRekeningDefaultValue],
|
|
36
|
+
rekeningVendor: [tujuanRekeningDefaultValue],
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const floatingRateDefaultValue = {
|
|
40
|
+
siklus_bunga: '',
|
|
41
|
+
accrual_basis: '',
|
|
42
|
+
jenis_bunga_fl: '',
|
|
43
|
+
negative_rate_handling: '',
|
|
44
|
+
lookBack: '',
|
|
45
|
+
jenis_risk_free_rate: null,
|
|
46
|
+
rate: '',
|
|
47
|
+
margin: '',
|
|
48
|
+
credit_adjustment_spread: '',
|
|
49
|
+
floor_rate_indicator: false,
|
|
50
|
+
floor_rate: '',
|
|
51
|
+
ceiling_rate_indicator: false,
|
|
52
|
+
ceiling_rate: '',
|
|
53
|
+
siklus_bunga_pertama: false,
|
|
54
|
+
tanggal_siklus_bunga_pertama: null,
|
|
55
|
+
total_bunga_siklus_pertama: '',
|
|
56
|
+
jumlah_hari_siklus_pertama: '',
|
|
57
|
+
tanggal_akhir: null,
|
|
58
|
+
total_suku_bunga: null
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export const listDataDropdown = {
|
|
62
|
+
dropdownListCurrency: [],
|
|
63
|
+
dropdownListBank: [],
|
|
64
|
+
dropdownLoanType: [],
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const useLoanDisbursementKorporasiStore = create((set) => ({
|
|
68
|
+
dataDebiturDefaultValue: dataDebiturDefaultValue,
|
|
69
|
+
tujuanRekeningDefaultValue: tujuanRekeningDefaultValue,
|
|
70
|
+
floatingRateDefaultValue: floatingRateDefaultValue,
|
|
71
|
+
fasilitasChoosen: null,
|
|
72
|
+
listDataDropdown: listDataDropdown,
|
|
73
|
+
setListDataDropdown: (data) => set({ listDataDropdown: data }),
|
|
74
|
+
setFasilitasChoosen: (data) => set({ fasilitasChoosen: data })
|
|
75
|
+
}))
|
|
76
|
+
|
|
77
|
+
export default useLoanDisbursementKorporasiStore
|