소스 검색

add jumlah laporan riwayat

yazid138 3 년 전
부모
커밋
73d57dbcde
2개의 변경된 파일32개의 추가작업 그리고 0개의 파일을 삭제
  1. 31 0
      controller/laporan.controller.js
  2. 1 0
      routes/v1/laporan/index.js

+ 31 - 0
controller/laporan.controller.js

@@ -367,3 +367,34 @@ exports.update = handleError(async (req, res) => {
     data: update,
   })
 })
+
+exports.jumlahLaporan = handleError(async (req, res) => {
+  const laporan = await laporanModel.aggregate([
+    {
+      $match: {
+        aktif: true,
+      },
+    },
+    {
+      $group: {
+        _id: '$pt.pembina.nama',
+        jumlah_laporan: {
+          $sum: 1,
+        },
+        propinsi: {
+          $addToSet: '$pt.propinsi.nama',
+        },
+      },
+    },
+    {
+      $sort: {
+        _id: 1,
+      },
+    },
+  ])
+
+  return response.success(res, {
+    message: 'Jumlah Laporan',
+    data: laporan,
+  })
+})

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

@@ -3,6 +3,7 @@ const laporan = require('../../../controller/laporan.controller')
 const handleDokumen = require('../../../utils/handleDokumen')
 
 router.get('/', laporan.getAll)
+router.get('/jumlah', laporan.jumlahLaporan)
 router.get('/:id', laporan.getOne)
 router.post('/create', handleDokumen.array('dokumen'), laporan.create)
 router.put('/update/:id', laporan.update)