|
|
@@ -2,23 +2,17 @@ const handleError = require('../../utils/handleError')
|
|
|
const sanksiModel = require('../../model/sanksi.model')
|
|
|
const { addManyDokumen } = require('../../utils/dokumenFunction')
|
|
|
const { validate } = require('../../utils/validation')
|
|
|
-const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../../utils/cekData')
|
|
|
+const { cekSatuDataSanksi } = require('../../utils/cekData')
|
|
|
const response = require('../../utils/responseHandler')
|
|
|
-const hariKerja = require('../../utils/hariKerja')
|
|
|
+const { hariKerja } = require('../../utils/hariKerja')
|
|
|
const pemantauanModel = require('../../model/pemantauan.model')
|
|
|
|
|
|
exports.create = handleError(async (req, res) => {
|
|
|
const user = req.user
|
|
|
- const { laporan_id, sanksi_id } = req.query
|
|
|
- if (!laporan_id || !sanksi_id) {
|
|
|
- return response.error(res, {
|
|
|
- message: 'query laporan_id atau sanksi_id harus ada',
|
|
|
- })
|
|
|
- }
|
|
|
+ const { sanksi_id } = req.params
|
|
|
|
|
|
- const laporan = await cekSatuDataLaporan(res, user, laporan_id)
|
|
|
const sanksi = await cekSatuDataSanksi(res, user, sanksi_id)
|
|
|
- if (!laporan || !sanksi) return
|
|
|
+ if (!sanksi) return
|
|
|
|
|
|
const files = req.files
|
|
|
if (!files?.length) {
|
|
|
@@ -31,7 +25,7 @@ exports.create = handleError(async (req, res) => {
|
|
|
|
|
|
const data = await sanksiModel.findOneAndUpdate(
|
|
|
{
|
|
|
- laporan: laporan._id,
|
|
|
+ laporan: sanksi.laporan._id,
|
|
|
_id: sanksi._id,
|
|
|
['pengajuan.banding']: { $exists: false, $eq: null },
|
|
|
['jawaban.keberatan']: { $exists: true, $ne: null },
|
|
|
@@ -49,9 +43,9 @@ exports.create = handleError(async (req, res) => {
|
|
|
})
|
|
|
}
|
|
|
await pemantauanModel.create({
|
|
|
- laporan: laporan._id,
|
|
|
+ laporan: sanksi.laporan._id,
|
|
|
sanksi: sanksi._id,
|
|
|
- pt_id: laporan.pt.id,
|
|
|
+ pt_id: sanksi.laporan.pt.id,
|
|
|
user: user._id,
|
|
|
keterangan: 'Mengajukan Banding',
|
|
|
dokumen: dokumen_id,
|
|
|
@@ -64,42 +58,35 @@ exports.create = handleError(async (req, res) => {
|
|
|
|
|
|
exports.createJawaban = handleError(async (req, res) => {
|
|
|
const user = req.user
|
|
|
- const { laporan_id, sanksi_id } = req.query
|
|
|
- if (!laporan_id || !sanksi_id) {
|
|
|
- return response.error(res, {
|
|
|
- message: 'query laporan_id atau sanksi_id harus ada',
|
|
|
- })
|
|
|
- }
|
|
|
+ const { sanksi_id } = req.params
|
|
|
|
|
|
- const laporan = await cekSatuDataLaporan(res, user, laporan_id)
|
|
|
- const sanksi = await cekSatuDataSanksi(res, user, sanksi_id)
|
|
|
- if (!laporan || !sanksi) return
|
|
|
+ const sanksi = await cekSatuDataSanksi(res, user, sanksi_id, {
|
|
|
+ banding: true,
|
|
|
+ })
|
|
|
+ if (!sanksi) return
|
|
|
|
|
|
const isValid = validate(res, req.body, {
|
|
|
status: 'string',
|
|
|
- keterangan: 'string',
|
|
|
})
|
|
|
if (!isValid) return
|
|
|
|
|
|
const files = req.files
|
|
|
- if (!files?.length) {
|
|
|
- return response.error(res, {
|
|
|
- message: 'dokumen harus ada',
|
|
|
- })
|
|
|
+ let dokumen_id = []
|
|
|
+ if (files?.length) {
|
|
|
+ const dokumen = await addManyDokumen(files)
|
|
|
+ dokumen_id = dokumen.map((e) => e._id)
|
|
|
}
|
|
|
- const dokumen = await addManyDokumen(files)
|
|
|
- const dokumen_id = dokumen.map((e) => e._id)
|
|
|
- const { status, keterangan } = req.body
|
|
|
+
|
|
|
+ const { status } = req.body
|
|
|
const data = await sanksiModel.findOneAndUpdate(
|
|
|
{
|
|
|
- laporan: laporan._id,
|
|
|
+ laporan: sanksi.laporan._id,
|
|
|
_id: sanksi._id,
|
|
|
['pengajuan.banding']: { $exists: true, $ne: null },
|
|
|
},
|
|
|
{
|
|
|
['jawaban.banding']: {
|
|
|
status,
|
|
|
- keterangan,
|
|
|
dokumen: dokumen_id,
|
|
|
},
|
|
|
}
|
|
|
@@ -110,9 +97,9 @@ exports.createJawaban = handleError(async (req, res) => {
|
|
|
})
|
|
|
}
|
|
|
await pemantauanModel.create({
|
|
|
- laporan: laporan._id,
|
|
|
+ laporan: sanksi.laporan._id,
|
|
|
sanksi: sanksi._id,
|
|
|
- pt_id: laporan.pt.id,
|
|
|
+ pt_id: sanksi.laporan.pt.id,
|
|
|
user: user._id,
|
|
|
keterangan: 'Menjawab Pengajuan Banding',
|
|
|
dokumen: dokumen_id,
|