yazid138 2 gadi atpakaļ
vecāks
revīzija
d85e3bb97b
1 mainītis faili ar 20 papildinājumiem un 6 dzēšanām
  1. 20 6
      utils/cekData.js

+ 20 - 6
utils/cekData.js

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