|
|
@@ -87,6 +87,78 @@ exports.create = handleError(async (req, res) => {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+exports.update = handleError(async (req, res) => {
|
|
|
+ const { no_surat, keterangan, from_date, to_date } = req.body
|
|
|
+ let { pelanggaran_id } = req.body
|
|
|
+ const { sanksi_id } = req.params
|
|
|
+ const files = req.files
|
|
|
+ const user = req.user
|
|
|
+
|
|
|
+ const isValid = validate(res, req.body, {
|
|
|
+ no_surat: 'string',
|
|
|
+ keterangan: 'string',
|
|
|
+ pelanggaran_id: 'string',
|
|
|
+ from_date: 'string',
|
|
|
+ to_date: 'string',
|
|
|
+ })
|
|
|
+ if (!isValid) return
|
|
|
+
|
|
|
+ const sanksi = await cekSatuDataSanksi(res, user, sanksi_id, { all: true })
|
|
|
+ if (!sanksi) return
|
|
|
+
|
|
|
+ pelanggaran_id = await cekBanyakDataPelanggaran(res, pelanggaran_id)
|
|
|
+ if (!pelanggaran_id) return
|
|
|
+
|
|
|
+ // const sanksi = await sanksiModel.findOne({ laporan: laporan_id })
|
|
|
+ // if (sanksi) {
|
|
|
+ // return response.error(res, {
|
|
|
+ // message: 'Sanksi sudah ada',
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+
|
|
|
+ if (!files.length) {
|
|
|
+ return response.error(res, {
|
|
|
+ message: 'dokumen harus ada',
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ const dokumen = await addManyDokumen(files)
|
|
|
+ const dokumen_id = dokumen.map((e) => e._id)
|
|
|
+ const data = await sanksiModel.updateOne(
|
|
|
+ { _id: sanksi._id },
|
|
|
+ {
|
|
|
+ perubahan_sanksi: {
|
|
|
+ no_surat,
|
|
|
+ pelanggaran: pelanggaran_id,
|
|
|
+ keterangan,
|
|
|
+ dokumen: dokumen_id,
|
|
|
+ masa_berlaku: {
|
|
|
+ from_date,
|
|
|
+ to_date,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+ )
|
|
|
+ // await laporanModel.findByIdAndUpdate(laporan._id, {
|
|
|
+ // sanksi: data._id,
|
|
|
+ // // aktif: false,
|
|
|
+ // })
|
|
|
+ await pemantauanModel.create({
|
|
|
+ laporan: sanksi.laporan._id,
|
|
|
+ sanksi: sanksi._id,
|
|
|
+ action: 'UPDATE SANKSI',
|
|
|
+ pt_id: sanksi.laporan.pt.id,
|
|
|
+ user: user._id,
|
|
|
+ keterangan: 'Melakukan Perubahan Sanksi',
|
|
|
+ dokumen: dokumen_id,
|
|
|
+ })
|
|
|
+
|
|
|
+ return response.success(res, {
|
|
|
+ message: 'Berhasil merubah Sanksi',
|
|
|
+ data,
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
exports.getAll = handleError(async (req, res) => {
|
|
|
const user = req.user
|
|
|
const {
|