| 
					
				 | 
			
			
				@@ -29,8 +29,6 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     no_sanksi: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pelanggaran_id: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    from_date: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    to_date: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tanggal_terima_sanksi: 'string', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tanggal_akhir_keberatan: 'string' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,11 +75,14 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const dokumen = await addManyDokumen(files) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const dokumen_id = dokumen.map((e) => e._id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const autoSave = await autoSaveModel.findOne({ laporan_id: laporan._id}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const autoSave = await autoSaveModel.findOne({ laporan_id: laporan._id }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (autoSave?.laporan?.PenetapanSanksi) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     await laporanModel.findByIdAndUpdate(laporan._id, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      berita_acara: autoSave.laporan.PenetapanSanksi, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      berita_acara: autoSave.laporan.PenetapanSanksi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const batas_waktu = from_date ? { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    keberatan: hariKerja(10, from_date) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } : null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const data = await sanksiModel.create({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     no_sanksi, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     laporan: laporan._id, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,9 +99,7 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       from_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       to_date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    batas_waktu: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      keberatan: hariKerja(10) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    batas_waktu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   await laporanModel.findByIdAndUpdate(laporan._id, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sanksi: data._id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,7 +113,7 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     user: user._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan: 'Melakukan penetapan Sanksi', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dokumen: dokumen_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    berita_acara: dokumenBeritaAcara_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    berita_acara: dokumenBeritaAcara_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return response.success(res, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -124,9 +123,9 @@ exports.create = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 exports.updatePDDIKTI = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const {sanksi_id} = req.params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { sanksi_id } = req.params 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const user = req.user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const sanksi = await sanksiModel.findOne({_id: sanksi_id}).populate('pelanggaran').populate('laporan') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const sanksi = await sanksiModel.findOne({ _id: sanksi_id }).populate('pelanggaran').populate('laporan') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     await axios.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       `https://api.kemdikbud.go.id:8243/pddikti/1.2/pt/${sanksi.laporan.pt.kode}/sanksi`, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -137,14 +136,14 @@ exports.updatePDDIKTI = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         idJenisSanksi: Math.max(...sanksi.pelanggaran.map(e => e.level_sanksi)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         alasan: 'Penetapan sanksi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        'Content-Type': 'application/json', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'Content-Type': 'application/json' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     await logModel.create({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       user: user._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       aktivitas: `Server berhasil mengirimkan data Ke API PDDIKTI untuk update Status PT ${sanksi.laporan.pt.nama}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return response.success(res, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      message: 'Berhasil mengirim data ke PDDIKTI', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message: 'Berhasil mengirim data ke PDDIKTI' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     await Promise.all([ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,7 +159,7 @@ exports.updatePDDIKTI = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }), pemantauanModel.deleteOne({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         laporan: sanksi.laporan._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sanksi: sanksi._id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        action: 'CREATE SANKSI', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action: 'CREATE SANKSI' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return response.error(res, { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -262,9 +261,9 @@ exports.updatePt = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const user = req.user 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const isValid = validate(res, req.body, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    is_pengajuan_keberatan: { type: 'boolean', optional: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    is_pengajuan_banding: { type: 'boolean', optional: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    is_dokumen_perbaikan: { type: 'boolean', optional: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    is_pengajuan_keberatan: { type: 'string', optional: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    is_pengajuan_banding: { type: 'string', optional: true }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    is_dokumen_perbaikan: { type: 'string', optional: true } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!isValid) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -273,18 +272,18 @@ exports.updatePt = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let keterangan = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let last_step = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (is_pengajuan_keberatan == true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (is_pengajuan_keberatan == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     last_step = 'Permohonan Keberatan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan = 'Menerima Pengajuan Keberatan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } else if (is_pengajuan_keberatan == false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else if (is_pengajuan_keberatan == 'false') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan = 'Membatalkan Pengajuan Keberatan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     last_step = 'Dokumen Perbaikan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (is_pengajuan_banding == true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (is_pengajuan_banding == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     last_step = 'Permohonan Banding' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan = 'Menerima Pengajuan Banding' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } else if (is_pengajuan_banding == false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else if (is_pengajuan_banding == 'false') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan = 'Membatalkan Pengajuan Banding' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     last_step = 'Dokumen Perbaikan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -298,13 +297,13 @@ exports.updatePt = handleError(async (req, res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keterangan 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (is_dokumen_perbaikan == true) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (is_dokumen_perbaikan == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     last_step = 'Dokumen Perbaikan' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   await sanksiModel.updateOne( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { _id: sanksi._id }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    { is_pengajuan_keberatan, is_pengajuan_banding, last_step } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { is_pengajuan_keberatan: is_pengajuan_keberatan == 'true' , is_pengajuan_banding: is_pengajuan_banding == 'true', last_step } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return response.success(res, { 
			 |