|  | @@ -131,16 +131,11 @@ exports.reminderKeberatan = handleError(async (req, res) => {
 | 
	
		
			
				|  |  |      .populate('laporan')
 | 
	
		
			
				|  |  |    const notif = await Promise.all(
 | 
	
		
			
				|  |  |      dataSanksi.map(async (e) => {
 | 
	
		
			
				|  |  | -      if (
 | 
	
		
			
				|  |  | -        e.batas_waktu.jawaban_keberatan &&
 | 
	
		
			
				|  |  | -        new Date() >
 | 
	
		
			
				|  |  | -        moment(e.batas_waktu.jawaban_keberatan).add(-7, 'days').toDate() &&
 | 
	
		
			
				|  |  | -        new Date() < e.batas_waktu.jawaban_keberatan
 | 
	
		
			
				|  |  | -      ) {
 | 
	
		
			
				|  |  | -        const dayLeft = moment(e.batas_waktu.jawaban_keberatan).diff(
 | 
	
		
			
				|  |  | -          new Date(),
 | 
	
		
			
				|  |  | -          'days'
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +      const dayLeft = moment(e.batas_waktu.jawaban_keberatan).diff(
 | 
	
		
			
				|  |  | +        new Date(),
 | 
	
		
			
				|  |  | +        'days'
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  | +      if (dayLeft > 0 && dayLeft < 7) {
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  |            await notifWA(TEMPLATE_REMINDER, [
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -198,16 +193,11 @@ exports.reminderBanding = handleError(async (req, res) => {
 | 
	
		
			
				|  |  |      .populate('laporan')
 | 
	
		
			
				|  |  |    const notif = await Promise.all(
 | 
	
		
			
				|  |  |      dataSanksi.map(async (e) => {
 | 
	
		
			
				|  |  | -      if (
 | 
	
		
			
				|  |  | -        e.batas_waktu.jawaban_banding &&
 | 
	
		
			
				|  |  | -        new Date() >
 | 
	
		
			
				|  |  | -        moment(e.batas_waktu.jawaban_banding).add(-7, 'days').toDate() &&
 | 
	
		
			
				|  |  | -        new Date() < e.batas_waktu.jawaban_banding
 | 
	
		
			
				|  |  | -      ) {
 | 
	
		
			
				|  |  | -        const dayLeft = moment(e.batas_waktu.jawaban_banding).diff(
 | 
	
		
			
				|  |  | -          new Date(),
 | 
	
		
			
				|  |  | -          'days'
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +      const dayLeft = moment(e.batas_waktu.jawaban_banding).diff(
 | 
	
		
			
				|  |  | +        new Date(),
 | 
	
		
			
				|  |  | +        'days'
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  | +      if (dayLeft > 0 && dayLeft < 7) {
 | 
	
		
			
				|  |  |          try {
 | 
	
		
			
				|  |  |            await notifWA(TEMPLATE_REMINDER, [
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -410,37 +400,48 @@ exports.getBackup = handleError(async (req, res) => {
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  exports.berakhirSanksi = handleError(async (req, res) => {
 | 
	
		
			
				|  |  | -  const sanksi = await sanksiModel.find().populate('laporan')
 | 
	
		
			
				|  |  | +  const sanksi = await sanksiModel.find({'masa_berlaku.to_date': {
 | 
	
		
			
				|  |  | +      $ne: null,
 | 
	
		
			
				|  |  | +      $exists: true
 | 
	
		
			
				|  |  | +    }}).populate('laporan')
 | 
	
		
			
				|  |  | +  let count = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    await Promise.all(sanksi.map(async e => {
 | 
	
		
			
				|  |  | -    const dayLeft = e.masa_berlaku.to_date && moment(e.masa_berlaku.from_date).add(6, 'month').diff(
 | 
	
		
			
				|  |  | +    const dayLeft = moment(e.masa_berlaku.to_date).diff(
 | 
	
		
			
				|  |  |        new Date(),
 | 
	
		
			
				|  |  | -      'days')
 | 
	
		
			
				|  |  | -    if (dayLeft < 7 &&
 | 
	
		
			
				|  |  | -      dayLeft > 0 &&
 | 
	
		
			
				|  |  | -      e.masa_berlaku &&
 | 
	
		
			
				|  |  | -      moment(e.masa_berlaku).add(-7, 'day') < moment()
 | 
	
		
			
				|  |  | +      'days'
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  | -      await notifWA(TEMPLATE_REMINDER2, [
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          key: '1',
 | 
	
		
			
				|  |  | -          value: 'no_sanksi',
 | 
	
		
			
				|  |  | -          value_text: `nomor sanksi ${e.no_sanksi}`,
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          key: '2',
 | 
	
		
			
				|  |  | -          value: 'nama_pt',
 | 
	
		
			
				|  |  | -          value_text: `${e.laporan.pt.nama}`,
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -          key: '3',
 | 
	
		
			
				|  |  | -          value: 'keterangan',
 | 
	
		
			
				|  |  | -          value_text: `habis masa berlaku sanksi tersisa ${dayLeft} hari lagi.`,
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -      ])
 | 
	
		
			
				|  |  | +    if (dayLeft > 0 && dayLeft < 7) {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        await notifWA(TEMPLATE_REMINDER2, [
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            key: '1',
 | 
	
		
			
				|  |  | +            value: 'no_sanksi',
 | 
	
		
			
				|  |  | +            value_text: `nomor sanksi ${e.no_sanksi}`
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            key: '2',
 | 
	
		
			
				|  |  | +            value: 'nama_pt',
 | 
	
		
			
				|  |  | +            value_text: `${e.laporan.pt.nama}`
 | 
	
		
			
				|  |  | +          },
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +            key: '3',
 | 
	
		
			
				|  |  | +            value: 'keterangan',
 | 
	
		
			
				|  |  | +            value_text: `habis masa berlaku sanksi tersisa ${dayLeft} hari lagi.`
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        ])
 | 
	
		
			
				|  |  | +        count++;
 | 
	
		
			
				|  |  | +      } catch (error) {
 | 
	
		
			
				|  |  | +        return response.error(res, {
 | 
	
		
			
				|  |  | +          message: 'Notifikasi gagal terkirim',
 | 
	
		
			
				|  |  | +          error: error.message,
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }))
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +  let message = 'Notifikasi berhasil terkirim'
 | 
	
		
			
				|  |  | +  if (count === 0) message = 'tidak ada notifikasi yg dikirim'
 | 
	
		
			
				|  |  |    return response.success(res, {
 | 
	
		
			
				|  |  | -    message: 'Notifikasi berhasil terkirim',
 | 
	
		
			
				|  |  | +    message,
 | 
	
		
			
				|  |  |    })
 | 
	
		
			
				|  |  |  })
 |