|
|
@@ -5,11 +5,11 @@ const sanksiModel = require('../model/sanksi.model')
|
|
|
const laporanModel = require('../model/laporan.model')
|
|
|
const backupModel = require('../model/backup.model')
|
|
|
const fs = require('fs')
|
|
|
-const mime = require('mime')
|
|
|
const {
|
|
|
TEMPLATE_KEBERATAN,
|
|
|
TEMPLATE_BANDING,
|
|
|
TEMPLATE_REMINDER,
|
|
|
+ TEMPLATE_REMINDER2,
|
|
|
} = require('../utils/constanta')
|
|
|
const moment = require('moment')
|
|
|
const autoSaveModel = require('../model/autoSave.model')
|
|
|
@@ -21,7 +21,7 @@ exports.keberatan = handleError(async (req, res) => {
|
|
|
const dataSanksi = await sanksiModel
|
|
|
.find({
|
|
|
'tanggal_akhir_keberatan': {
|
|
|
- $lt: new Date().toISOString(),
|
|
|
+ $lt: moment().add(-1, 'day').toISOString(),
|
|
|
},
|
|
|
'is_pengajuan_keberatan': {
|
|
|
$exists: false,
|
|
|
@@ -43,27 +43,11 @@ exports.keberatan = handleError(async (req, res) => {
|
|
|
|
|
|
Promise.all(
|
|
|
dataSanksi.map(
|
|
|
- async (sanksi) => await sanksiModel.findByIdAndUpdate(sanksi._id, {
|
|
|
- is_pengajuan_keberatan: false,
|
|
|
- last_step: "Dokumen Perbaikan"
|
|
|
- })
|
|
|
- // await notifWA(TEMPLATE_KEBERATAN, [
|
|
|
- // {
|
|
|
- // key: '1',
|
|
|
- // value: 'nama_pt',
|
|
|
- // value_text: sanksi.laporan.pt.nama,
|
|
|
- // },
|
|
|
- // {
|
|
|
- // key: '2',
|
|
|
- // value: 'pemberi_sanksi',
|
|
|
- // value_text: sanksi.user.lembaga.nama,
|
|
|
- // },
|
|
|
- // {
|
|
|
- // key: '3',
|
|
|
- // value: 'no_laporan',
|
|
|
- // value_text: sanksi.laporan.no_laporan,
|
|
|
- // },
|
|
|
- // ])
|
|
|
+ async (sanksi) =>
|
|
|
+ await sanksiModel.findByIdAndUpdate(sanksi._id, {
|
|
|
+ is_pengajuan_keberatan: false,
|
|
|
+ last_step: "Dokumen Perbaikan"
|
|
|
+ })
|
|
|
)
|
|
|
)
|
|
|
return response.success(res, {
|
|
|
@@ -75,7 +59,7 @@ exports.banding = handleError(async (req, res) => {
|
|
|
const dataSanksi = await sanksiModel
|
|
|
.find({
|
|
|
'tanggal_akhir_banding': {
|
|
|
- $lt: new Date().toISOString(),
|
|
|
+ $lt: moment().add(-1, 'day').toISOString(),
|
|
|
},
|
|
|
'is_pengajuan_banding': {
|
|
|
$exists: false,
|
|
|
@@ -423,4 +407,40 @@ exports.getBackup = handleError(async (req, res) => {
|
|
|
message: 'berhasil mengambil data backup',
|
|
|
data: data.dokumen
|
|
|
})
|
|
|
+})
|
|
|
+
|
|
|
+exports.berakhirSanksi = handleError(async (req, res) => {
|
|
|
+ const sanksi = await sanksiModel.find().populate('laporan')
|
|
|
+
|
|
|
+ await Promise.all(sanksi.map(async e => {
|
|
|
+ const dayLeft = e.masa_berlaku.to_date && moment(e.masa_berlaku.from_date).add(6, 'month').diff(
|
|
|
+ new Date(),
|
|
|
+ 'days')
|
|
|
+ if (dayLeft < 7 &&
|
|
|
+ dayLeft > 0 &&
|
|
|
+ e.masa_berlaku &&
|
|
|
+ moment(e.masa_berlaku).add(-7, 'day') < moment()
|
|
|
+ )
|
|
|
+ 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.`,
|
|
|
+ }
|
|
|
+ ])
|
|
|
+ }))
|
|
|
+
|
|
|
+ return response.success(res, {
|
|
|
+ message: 'Notifikasi berhasil terkirim',
|
|
|
+ })
|
|
|
})
|