yazid138 2 سال پیش
والد
کامیت
b7cacda5e3
2فایلهای تغییر یافته به همراه59 افزوده شده و 1 حذف شده
  1. 58 1
      controller/laporan/evaluasi.controller.js
  2. 1 0
      routes/v1/laporan/evaluasi.routes.js

+ 58 - 1
controller/laporan/evaluasi.controller.js

@@ -6,7 +6,6 @@ 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
   const { id } = req.params
@@ -73,3 +72,61 @@ exports.add = handleError(async (req, res) => {
     data,
   })
 })
+
+exports.edit = handleError(async (req, res) => {
+  const user = req.user
+  const { id } = req.params
+  const { judul, tanggal, evaluasi_id } = req.body
+  const isValid = validate(res, req.body, {
+    evaluasi_id: 'string',
+    judul: 'string|optional',
+    tanggal: { type: 'date', convert: true, optional: true },
+  })
+  if (!isValid) return
+
+  const laporan = await cekSatuDataLaporan(res, user, id, {
+    'evaluasi._id': evaluasi_id,
+  })
+  if (!laporan) return
+
+  const files = req.files
+  let dokumen_id
+  if (files.length) {
+    const dokumen = await addManyDokumen(files)
+    dokumen_id = dokumen.map((e) => e._id)
+  }
+
+  const data = await laporanModel.findOneAndUpdate(
+    {
+      _id: laporan._id,
+      jadwal: {
+        $exists: true,
+        $ne: null,
+      },
+      'evaluasi._id': evaluasi_id,
+    },
+    {
+      $set: {
+        'evaluasi.$.judul': judul,
+        'evaluasi.$.tanggal': tanggal,
+        'evaluasi.$.dokumen': dokumen_id,
+      },
+    }
+  )
+
+  await pemantauanModel.create({
+    laporan: laporan._id,
+    user: user._id,
+    action: 'EDIT EVALUASI',
+    pt_id: laporan.pt.id,
+    keterangan: 'Melakukan edit evaluasi',
+    dokumen: dokumen_id,
+    for_pt: false,
+    for_public: true,
+  })
+
+  return response.success(res, {
+    message: 'Berhasil edit evaluasi',
+    data,
+  })
+})

+ 1 - 0
routes/v1/laporan/evaluasi.routes.js

@@ -3,5 +3,6 @@ const evaluasi = require('../../../controller/laporan/evaluasi.controller')
 const handleDokumen = require('../../../utils/handleDokumen')
 
 router.post('/add/:id', handleDokumen.array('dokumen'), evaluasi.add)
+router.put('/edit/:id', handleDokumen.array('dokumen'), evaluasi.edit)
 
 module.exports = router