yazid138 3 éve
szülő
commit
31cc4a6da6

+ 9 - 0
controller/laporan.controller.js

@@ -3,6 +3,7 @@ const handleError = require('../utils/handleError')
 const response = require('../utils/responseHandler')
 const laporanModel = require('../model/laporan.model')
 const pelanggaranModel = require('../model/pelanggaran.model')
+const pemantauanModel = require('../model/pemantauan.model')
 const { validate } = require('../utils/validation')
 const { addManyDokumen } = require('../utils/dokumenFunction')
 const { cekSatuDataLaporan, cekBanyakDataLaporan } = require('../utils/cekData')
@@ -54,6 +55,14 @@ exports.create = handleError(async (req, res) => {
   }
 
   data = await laporanModel.create(data)
+  const pemantauan = await pemantauanModel.create({
+    laporan: data._id,
+    riwayat: {
+      user: user._id,
+      keterangan: 'Membuat Laporan',
+      dokumen: dokumen_id,
+    },
+  })
 
   return response.success(res, {
     message: 'Berhasil menambah laporan',

+ 15 - 0
controller/laporan/evaluasi.controller.js

@@ -4,6 +4,7 @@ const response = require('../../utils/responseHandler')
 const { validate } = require('../../utils/validation')
 const { addManyDokumen } = require('../../utils/dokumenFunction')
 const { cekSatuDataLaporan } = require('../../utils/cekData')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.add = handleError(async (req, res) => {
   const user = req.user
@@ -48,6 +49,20 @@ exports.add = handleError(async (req, res) => {
       new: true,
     }
   )
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Melakukan evaluasi',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
 
   return response.success(res, {
     message: 'Berhasil tambah evaluasi',

+ 19 - 0
controller/laporan/jadwal.controller.js

@@ -3,6 +3,7 @@ const { cekSatuDataLaporan } = require('../../utils/cekData')
 const handleError = require('../../utils/handleError')
 const response = require('../../utils/responseHandler')
 const { validate } = require('../../utils/validation')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.update = handleError(async (req, res) => {
   const user = req.user
@@ -35,6 +36,24 @@ exports.update = handleError(async (req, res) => {
     }
   )
 
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Mengatur Jadwal',
+          jadwal: {
+            dari_tanggal,
+            sampai_tanggal,
+          },
+        },
+      },
+    }
+  )
+
   return response.success(res, {
     message: 'Berhasil ubah jadwal',
     data,

+ 16 - 0
controller/sanksi.controller.js

@@ -3,6 +3,7 @@ const handleError = require('../utils/handleError')
 const response = require('../utils/responseHandler')
 const { addManyDokumen } = require('../utils/dokumenFunction')
 const { validate } = require('../utils/validation')
+const pemantauanModel = require('../model/pemantauan.model')
 const { hariKerja } = require('../utils/hariKerja')
 const {
   cekSatuDataSanksi,
@@ -58,6 +59,21 @@ exports.create = handleError(async (req, res) => {
       keberatan: hariKerja(10),
     },
   })
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: data._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Penetapan Sanksi',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     message: 'Berhasil membuat Sanksi',
     data,

+ 31 - 0
controller/sanksi/banding.controller.js

@@ -5,6 +5,7 @@ const { validate } = require('../../utils/validation')
 const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../../utils/cekData')
 const response = require('../../utils/responseHandler')
 const hariKerja = require('../../utils/hariKerja')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.create = handleError(async (req, res) => {
   const user = req.user
@@ -47,6 +48,21 @@ exports.create = handleError(async (req, res) => {
       message: 'pengajuan banding sudah ada atau jawaban keberatan belum ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Mengajukan Banding',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
     message: 'Berhasil menambah pengajuan banding',
@@ -100,6 +116,21 @@ exports.createJawaban = handleError(async (req, res) => {
       message: 'banding tidak ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Menjawab Pengajuan Banding',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
   })

+ 31 - 0
controller/sanksi/cabutSanksi.controller.js

@@ -4,6 +4,7 @@ const { addManyDokumen } = require('../../utils/dokumenFunction')
 const { validate } = require('../../utils/validation')
 const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../../utils/cekData')
 const response = require('../../utils/responseHandler')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.create = handleError(async (req, res) => {
   const user = req.user
@@ -44,6 +45,21 @@ exports.create = handleError(async (req, res) => {
       message: 'cabut_sanksi sudah ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Mengajukan Pencabutan Sanksi',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
     message: 'Berhasil menambah cabut_sanksi',
@@ -97,6 +113,21 @@ exports.createJawaban = handleError(async (req, res) => {
       message: 'cabut_sanksi tidak ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Menjawab Pengajuan Pencabutan Sanksi',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
   })

+ 31 - 0
controller/sanksi/keberatan.controller.js

@@ -5,6 +5,7 @@ const { validate } = require('../../utils/validation')
 const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../../utils/cekData')
 const response = require('../../utils/responseHandler')
 const { hariKerja } = require('../../utils/hariKerja')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.create = handleError(async (req, res) => {
   const user = req.user
@@ -46,6 +47,21 @@ exports.create = handleError(async (req, res) => {
       message: 'Pengajuan Keberatan sudah ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Mengajukan Keberatan',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
     message: 'Berhasil menambah keberatan',
@@ -100,6 +116,21 @@ exports.createJawaban = handleError(async (req, res) => {
       message: 'keberatan tidak ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Menjawab Pengajuan Keberatan',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
   })

+ 16 - 0
controller/sanksi/perbaikan.controller.js

@@ -4,6 +4,7 @@ const { addManyDokumen } = require('../../utils/dokumenFunction')
 const { validate } = require('../../utils/validation')
 const { cekSatuDataSanksi, cekSatuDataLaporan } = require('../../utils/cekData')
 const response = require('../../utils/responseHandler')
+const pemantauanModel = require('../../model/pemantauan.model')
 
 exports.add = handleError(async (req, res) => {
   const user = req.user
@@ -56,6 +57,21 @@ exports.add = handleError(async (req, res) => {
       message: 'Pengajuan banding atau cabut sanksi tidak ada',
     })
   }
+  await pemantauanModel.findOneAndUpdate(
+    {
+      laporan: laporan._id,
+      sanksi: sanksi._id,
+    },
+    {
+      $push: {
+        riwayat: {
+          user: user._id,
+          keterangan: 'Melakukan Perbaikan Dokumen',
+          dokumen: dokumen_id,
+        },
+      },
+    }
+  )
   return response.success(res, {
     data,
     message: 'Berhasil menambah Perbaikan',

+ 0 - 23
model/log.model.js

@@ -1,23 +0,0 @@
-const mongoose = require('mongoose')
-const { Schema, Types } = mongoose
-const dokumen = require('./dokumen.model')
-const laporan = require('./laporan.model')
-const sanksi = require('./sanksi.model')
-const user = require('./user.model')
-
-module.exports = mongoose.model(
-  'Sanksi',
-  new Schema(
-    {
-      laporan: { type: Types.ObjectId, ref: laporan },
-      sanksi: { type: Types.ObjectId, ref: sanksi },
-      user: { type: Types.ObjectId, ref: user },
-      role: String,
-      keterangan: String,
-      data: Object,
-      dokumen: { type: Types.ObjectId, ref: dokumen },
-    },
-    { timestamps }
-  ),
-  'sanksi'
-)

+ 28 - 0
model/pemantauan.model.js

@@ -0,0 +1,28 @@
+const mongoose = require('mongoose')
+const { Schema, Types } = mongoose
+const dokumen = require('./dokumen.model')
+const laporan = require('./laporan.model')
+const sanksi = require('./sanksi.model')
+const user = require('./user.model')
+const riwayatSchema = (module.exports = mongoose.model(
+  'Pemantauan',
+  new Schema({
+    laporan: { type: Types.ObjectId, ref: laporan },
+    sanksi: { type: Types.ObjectId, ref: sanksi },
+    riwayat: [
+      new Schema(
+        {
+          user: { type: Types.ObjectId, ref: user },
+          keterangan: String,
+          dokumen: [{ type: Types.ObjectId, ref: dokumen }],
+          jadwal: {
+            dari_tanggal: Date,
+            sampai_tanggal: Date,
+          },
+        },
+        { timestamps: true }
+      ),
+    ],
+  }),
+  'pemantauan'
+))