| 
					
				 | 
			
			
				@@ -20,10 +20,14 @@ const { addManyDokumen } = require('../utils/dokumenFunction') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.keberatan = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const dataSanksi = await sanksiModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     .find({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'batas_waktu.keberatan': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'tanggal_akhir_keberatan': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $lt: new Date().toISOString(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'batas_waktu.jawaban_keberatan': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'is_pengajuan_keberatan': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $exists: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $eq: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'pengajuan.cabut_sanksi': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $exists: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $eq: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,24 +43,27 @@ exports.keberatan = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Promise.all( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dataSanksi.map( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      async (sanksi) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        await notifWA(TEMPLATE_KEBERATAN, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'nama_pt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.laporan.pt.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'pemberi_sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.user.lembaga.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'no_laporan', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.laporan.no_laporan, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      async (sanksi) => await sanksiModel.findByIdAndUpdate(sanksi._id, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        is_pengajuan_keberatan: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        last_step: "Dokumen Perbaikan" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //       await notifWA(TEMPLATE_KEBERATAN, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           key: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value: 'nama_pt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value_text: sanksi.laporan.pt.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           key: '2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value: 'pemberi_sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value_text: sanksi.user.lembaga.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           key: '3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value: 'no_laporan', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //           value_text: sanksi.laporan.no_laporan, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return response.success(res, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,10 +74,10 @@ exports.keberatan = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.banding = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const dataSanksi = await sanksiModel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     .find({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'batas_waktu.banding': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'tanggal_akhir_banding': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $lt: new Date().toISOString(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      'batas_waktu.jawaban_banding': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'is_pengajuan_banding': { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $exists: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $eq: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -78,6 +85,10 @@ exports.banding = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $exists: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $ne: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ['pengajuan.cabut_sanksi']: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $exists: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $eq: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     .populate('user') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     .populate('laporan') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,24 +101,29 @@ exports.banding = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Promise.all( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dataSanksi.map( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      async (sanksi) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        await notifWA(TEMPLATE_BANDING, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'nama_pt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.laporan.pt.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'pemberi_sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.user.lembaga.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key: '3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value: 'no_laporan', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            value_text: sanksi.laporan.no_laporan, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      async (sanksi) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // await notifWA(TEMPLATE_BANDING, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     key: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value: 'nama_pt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value_text: sanksi.laporan.pt.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     key: '2', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value: 'pemberi_sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value_text: sanksi.user.lembaga.nama, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     key: '3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value: 'no_laporan', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     value_text: sanksi.laporan.no_laporan, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await sanksiModel.findByIdAndUpdate(sanksi._id, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          is_pengajuan_banding: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          last_step: "Dokumen Perbaikan" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return response.success(res, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -301,6 +317,7 @@ exports.save = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataSuratBA: req.body?.PenetapanSanksi?.dataSuratBA || dataSave.laporan.PenetapanSanksi?.dataSuratBA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataUpload: req.body?.PenetapanSanksi?.dataUpload || dataSave.laporan.PenetapanSanksi?.dataUpload, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataPelanggaran: req.body?.PenetapanSanksi?.dataPelanggaran || dataSave.laporan.PenetapanSanksi?.dataPelanggaran, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            activeStep: req.body?.PenetapanSanksi?.activeStep || dataSave.laporan.PenetapanSanksi?.activeStep, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 |