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