Jelajahi Sumber

tambahin data laporan dan sanksi di jumlah status laporan

yazid138 3 tahun lalu
induk
melakukan
0d395c6034
3 mengubah file dengan 27 tambahan dan 19 penghapusan
  1. 12 0
      controller/graph.controller.js
  2. 14 18
      controller/laporan.controller.js
  3. 1 1
      routes/v1/graph.routes.js

+ 12 - 0
controller/graph.controller.js

@@ -396,6 +396,7 @@ exports.laporanSelesai = handleError(async (req, res) => {
 
 exports.jumlahStatusLaporan = handleError(async (req, res) => {
   let dataPembina = await laporanModel.find()
+  const user = req.user
 
   dataPembina = [
     ...new Set(
@@ -411,6 +412,17 @@ exports.jumlahStatusLaporan = handleError(async (req, res) => {
     dataPembina.map(async (e) => {
       return {
         pembina: e,
+        laporan: await cekBanyakDataLaporan(user, {
+          all: true,
+          ['pt.pembina.id']: e.id,
+        }),
+        sanksi: (
+          await cekBanyakDataSanksi(
+            user,
+            { all: true },
+            { ['pt.pembina.id']: e.id }
+          )
+        ).filter((e) => e.laporan != null),
         jumlah_jadwal_evaluasi: await laporanModel
           .find({
             jadwal: {

+ 14 - 18
controller/laporan.controller.js

@@ -442,29 +442,25 @@ exports.laporanByPembina = handleError(async (req, res) => {
   const user = req.user
 
   const [laporan, sanksi] = await Promise.all([
-    (async () => {
-      const laporan = await cekBanyakDataLaporan(user, {
+    (async () =>
+      await cekBanyakDataLaporan(user, {
         'pt.pembina.id': idPembina,
         all: true,
-      })
-      if (!laporan) return
-      return laporan
-    })(),
-    (async () => {
-      const sanksi = await cekBanyakDataSanksi(
-        user,
-        { all: true },
-        {
-          ['pt.pembina.id']: idPembina,
-        }
-      )
-      if (!sanksi) return
-      return sanksi
-    })(),
+      }))(),
+    (async () =>
+      (
+        await cekBanyakDataSanksi(
+          user,
+          { all: true },
+          {
+            ['pt.pembina.id']: idPembina,
+          }
+        )
+      ).filter((e) => e.laporan != null))(),
   ])
 
   return response.success(res, {
     message: 'berhasil get laporan by pembina',
-    data: [...laporan, ...sanksi],
+    data: { laporan, sanksi },
   })
 })

+ 1 - 1
routes/v1/graph.routes.js

@@ -10,7 +10,7 @@ router.get(
   roleId([2020, 2021, 2023]),
   graph.laporanSelesai
 )
-router.get('/jumlahStatusLaporan', graph.jumlahStatusLaporan)
+router.get('/jumlahStatusLaporan', auth, graph.jumlahStatusLaporan)
 router.get('/:token/:nama_file', auth, roleId([2020, 2021, 2023]), graph.excel)
 
 module.exports = router