|  | @@ -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
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |