|
|
@@ -1,4 +1,5 @@
|
|
|
const sanksiModel = require('../model/sanksi.model')
|
|
|
+const autoSaveModel = require('../model/autoSave.model')
|
|
|
const handleError = require('../utils/handleError')
|
|
|
const response = require('../utils/responseHandler')
|
|
|
const { addManyDokumen, addDokumen } = require('../utils/dokumenFunction')
|
|
|
@@ -7,6 +8,7 @@ const pemantauanModel = require('../model/pemantauan.model')
|
|
|
const pelanggaranModel = require('../model/pelanggaran.model')
|
|
|
const logModel = require('../model/log.model')
|
|
|
const { hariKerja } = require('../utils/hariKerja')
|
|
|
+const coba = require('../utils/coba')
|
|
|
const axios = require('../utils/axios')
|
|
|
const {
|
|
|
cekSatuDataSanksi,
|
|
|
@@ -75,6 +77,11 @@ exports.create = handleError(async (req, res) => {
|
|
|
|
|
|
const dokumen = await addManyDokumen(files)
|
|
|
const dokumen_id = dokumen.map((e) => e._id)
|
|
|
+ const autoSave = await autoSaveModel.findOne({ laporan_id: laporan._id})
|
|
|
+ if (autoSave?.laporan?.PenetapanSanksi)
|
|
|
+ await laporanModel.findByIdAndUpdate(laporan._id, {
|
|
|
+ berita_acara: autoSave.laporan.PenetapanSanksi,
|
|
|
+ })
|
|
|
const data = await sanksiModel.create({
|
|
|
no_sanksi,
|
|
|
laporan: laporan._id,
|
|
|
@@ -96,42 +103,42 @@ exports.create = handleError(async (req, res) => {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
- // if (data) {
|
|
|
- // await axios.post(
|
|
|
- // `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${laporan.pt.kode}/sanksi`,
|
|
|
- // JSON.stringify({
|
|
|
- // noSanksi: no_sanksi,
|
|
|
- // tmtBerlaku: from_date,
|
|
|
- // tstBerlaku: tanggal_terima_sanksi,
|
|
|
- // idJenisSanksi: Math.max(...pelanggaran.map(e => e.level_sanksi)),
|
|
|
- // alasan: 'Penetapan sanksi'
|
|
|
- // }), {
|
|
|
- // 'Content-Type': 'application/json'
|
|
|
- // }
|
|
|
- // ).then(async (data) => {
|
|
|
- // await logModel.create({
|
|
|
- // user: user._id,
|
|
|
- // aktivitas: `Server berhasil mengirimkan data Ke API PDDIKTI untuk update Status PT ${laporan.pt.nama}`
|
|
|
- // })
|
|
|
- // }).catch(async e => {
|
|
|
- // await Promise.all([
|
|
|
- // laporanModel.updateOne({
|
|
|
- // _id: laporan._id
|
|
|
- // }, {
|
|
|
- // sanksi: null
|
|
|
- // }), sanksiModel.deleteOne({
|
|
|
- // _id: data._id
|
|
|
- // }), logModel.create({
|
|
|
- // user: user._id,
|
|
|
- // aktivitas: `Server gagal mengirimkan data Ke API PDDIKTI untuk update Status PT ${laporan.pt.nama}`
|
|
|
- // })
|
|
|
- // ])
|
|
|
- // return response.error(res, {
|
|
|
- // message: 'Gagal Membuat Sanksi',
|
|
|
- // error: e.message
|
|
|
- // })
|
|
|
- // })
|
|
|
- // }
|
|
|
+ if (coba.decrypt(process.env.CXQSB) === 'production' && data) {
|
|
|
+ try {
|
|
|
+ await axios.post(
|
|
|
+ `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${laporan.pt.kode}/sanksi`,
|
|
|
+ {
|
|
|
+ noSanksi: no_sanksi,
|
|
|
+ tmtBerlaku: from_date,
|
|
|
+ tstBerlaku: tanggal_terima_sanksi,
|
|
|
+ idJenisSanksi: Math.max(...pelanggaran.map(e => e.level_sanksi)),
|
|
|
+ alasan: 'Penetapan sanksi'
|
|
|
+ }, {
|
|
|
+ 'Content-Type': 'application/json',
|
|
|
+ })
|
|
|
+ await logModel.create({
|
|
|
+ user: user._id,
|
|
|
+ aktivitas: `Server berhasil mengirimkan data Ke API PDDIKTI untuk update Status PT ${laporan.pt.nama}`
|
|
|
+ })
|
|
|
+ } catch (e) {
|
|
|
+ await Promise.all([
|
|
|
+ laporanModel.updateOne({
|
|
|
+ _id: laporan._id
|
|
|
+ }, {
|
|
|
+ sanksi: null
|
|
|
+ }), sanksiModel.deleteOne({
|
|
|
+ _id: data._id
|
|
|
+ }), logModel.create({
|
|
|
+ user: user._id,
|
|
|
+ aktivitas: `Server gagal mengirimkan data Ke API PDDIKTI untuk update Status PT ${laporan.pt.nama}`
|
|
|
+ })
|
|
|
+ ])
|
|
|
+ return response.error(res, {
|
|
|
+ message: 'Gagal Membuat Sanksi',
|
|
|
+ error: e.message
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
await laporanModel.findByIdAndUpdate(laporan._id, {
|
|
|
sanksi: data._id
|