|
@@ -125,15 +125,16 @@ exports.cekSatuDataSanksi = async (
|
|
|
} else if (!where.banding) w.role_data = 'dikti'
|
|
} else if (!where.banding) w.role_data = 'dikti'
|
|
|
break
|
|
break
|
|
|
case 2021:
|
|
case 2021:
|
|
|
- w.role_data = 'lldikti'
|
|
|
|
|
w['pt.pembina.id'] = user.lembaga.id
|
|
w['pt.pembina.id'] = user.lembaga.id
|
|
|
|
|
+ // w.role_data = 'lldikti'
|
|
|
|
|
+ if (!where.banding) w.role_data = 'lldikti'
|
|
|
break
|
|
break
|
|
|
case 2022:
|
|
case 2022:
|
|
|
w['pt.id'] = user.lembaga.id
|
|
w['pt.id'] = user.lembaga.id
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
let sanksi = await sanksiModel
|
|
let sanksi = await sanksiModel
|
|
|
- .findOne({ _id: sanksi_id, aktif: true, ...where })
|
|
|
|
|
|
|
+ .findOne({ _id: sanksi_id, ...where })
|
|
|
.populate({
|
|
.populate({
|
|
|
path: 'laporan',
|
|
path: 'laporan',
|
|
|
select: w.select,
|
|
select: w.select,
|
|
@@ -143,11 +144,14 @@ exports.cekSatuDataSanksi = async (
|
|
|
.populate('berita_acara')
|
|
.populate('berita_acara')
|
|
|
.populate('pelanggaran')
|
|
.populate('pelanggaran')
|
|
|
.populate('user')
|
|
.populate('user')
|
|
|
|
|
+ .populate('dokumen_terima_sanksi')
|
|
|
.populate('pengajuan.keberatan.dokumen')
|
|
.populate('pengajuan.keberatan.dokumen')
|
|
|
.populate('jawaban.keberatan.dokumen')
|
|
.populate('jawaban.keberatan.dokumen')
|
|
|
|
|
+ .populate('jawaban.keberatan.dokumen_terima_keberatan')
|
|
|
.populate('pengajuan.banding.dokumen')
|
|
.populate('pengajuan.banding.dokumen')
|
|
|
.populate('pengajuan.update_tmt.dokumen')
|
|
.populate('pengajuan.update_tmt.dokumen')
|
|
|
.populate('jawaban.banding.dokumen')
|
|
.populate('jawaban.banding.dokumen')
|
|
|
|
|
+ .populate('jawaban.banding.dokumen_terima_banding')
|
|
|
.populate('pengajuan.cabut_sanksi.dokumen')
|
|
.populate('pengajuan.cabut_sanksi.dokumen')
|
|
|
.populate('jawaban.cabut_sanksi.dokumen')
|
|
.populate('jawaban.cabut_sanksi.dokumen')
|
|
|
.populate('rekomendasi.dokumen')
|
|
.populate('rekomendasi.dokumen')
|
|
@@ -181,16 +185,16 @@ exports.cekBanyakDataSanksi = async (user, where = {}, q = {}) => {
|
|
|
// else if (!where.banding) w.role_data = 'dikti'
|
|
// else if (!where.banding) w.role_data = 'dikti'
|
|
|
break
|
|
break
|
|
|
case 2021:
|
|
case 2021:
|
|
|
- w['role_data'] = 'lldikti'
|
|
|
|
|
w['pt.pembina.id'] = user.lembaga.id
|
|
w['pt.pembina.id'] = user.lembaga.id
|
|
|
if (where.banding) w.level_sanksi = 1
|
|
if (where.banding) w.level_sanksi = 1
|
|
|
|
|
+ else w['role_data'] = 'lldikti'
|
|
|
break
|
|
break
|
|
|
case 2022:
|
|
case 2022:
|
|
|
w['pt.id'] = user.lembaga.id
|
|
w['pt.id'] = user.lembaga.id
|
|
|
break
|
|
break
|
|
|
}
|
|
}
|
|
|
let data = await sanksiModel
|
|
let data = await sanksiModel
|
|
|
- .find({ aktif: where.aktif || true, ...where })
|
|
|
|
|
|
|
+ .find({ ...where })
|
|
|
.populate({
|
|
.populate({
|
|
|
path: 'laporan',
|
|
path: 'laporan',
|
|
|
select: w.select || '-sanksi',
|
|
select: w.select || '-sanksi',
|
|
@@ -198,13 +202,23 @@ exports.cekBanyakDataSanksi = async (user, where = {}, q = {}) => {
|
|
|
populate: ['pelanggaran'],
|
|
populate: ['pelanggaran'],
|
|
|
})
|
|
})
|
|
|
.populate('user')
|
|
.populate('user')
|
|
|
- .populate({ path: 'pelanggaran', match: w })
|
|
|
|
|
|
|
+ .populate('pelanggaran')
|
|
|
.populate('riwayat_sanksi.dokumen')
|
|
.populate('riwayat_sanksi.dokumen')
|
|
|
.select('-dokumen')
|
|
.select('-dokumen')
|
|
|
.sort({
|
|
.sort({
|
|
|
createdAt: -1,
|
|
createdAt: -1,
|
|
|
})
|
|
})
|
|
|
- data = data.filter((e) => e.laporan !== null && e.pelanggaran.length)
|
|
|
|
|
|
|
+ data = data.filter((e) => {
|
|
|
|
|
+ if (where.banding) {
|
|
|
|
|
+ switch (user.role.id) {
|
|
|
|
|
+ case 2020:
|
|
|
|
|
+ return e.pelanggaran.some(e2 => e2.level_sanksi !== 1) && e.laporan !== null
|
|
|
|
|
+ case 2021:
|
|
|
|
|
+ return e.pelanggaran.filter(e2 => e2.level_sanksi === 1).length === e.pelanggaran.length && e.laporan !== null
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return e.laporan !== null
|
|
|
|
|
+ })
|
|
|
return data
|
|
return data
|
|
|
}
|
|
}
|
|
|
|
|
|