Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @Route("/api/rtrw/approveSurat", name="approveSuratAPI")
- * @Method({"POST"})
- */
- public function approveSurat(Request $request, RtRwService $rtRwService){
- $idSurat = $request->get("idSurat");
- $idUser = $request->get('idUser');
- $ket = $request->get('keterangan');
- $kom = $request->get('komentar');
- $response['error'] = false;
- $dataSurat = $this->getDoctrine()->getRepository(NdSurat::class)->findOneBy(['id' => $idSurat]);
- $currStep = $dataSurat->getStep();
- $em = $this->getDoctrine()->getManager();
- $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
- if($getDataUser->getIdJobPosition()->getId() > 13){
- $suratRt = new SuratRT();
- $suratRt->setIdJobPosition($getDataUser->getIdJobPosition()->getId());
- $suratRt->setIdParent($getDataUser->getIdJobPosition()->getParent());
- $suratRt->setIdUser($idUser);
- $suratRt->setKeterangan($ket);
- $suratRt->setCreatedAt(new \DateTime());
- $suratRt->setRefid($dataSurat);
- $suratRt->setTahun(\date("Y"));
- $em->persist($suratRt);
- $data = $rtRwService->getTotalSuratRT($idUser, date('Y'));
- $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
- if($data != []){
- $noSuruatRwText = count($data)."/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
- }else{
- $noSuruatRwText = "1/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
- }
- $dataSurat->setStep($currStep + 1);
- $dataSurat->setNoSuratRt($noSuruatRwText);
- $em->persist($dataSurat);
- // Untuk notif orang selanjutnya
- $nextData = $this->getDoctrine()->getRepository(User::class)->findOneBy(['IdJobPosition' => $getDataUser->getIdJobPosition()->getParent()]);
- if($nextData->getToken() != null){
- $response['token'] = $nextData->getToken();
- }else{
- $response['token'] = null;
- $response['email'] = $nextData->getEmail();
- }
- }else{
- $suratRw = new SuratRW();
- $suratRw->setIdJobPosition($getDataUser->getIdJobPosition()->getId());
- $suratRw->setKeterangan($ket);
- $suratRw->setIdUser($idUser);
- $suratRw->setCreatedAt(new \DateTime());
- $suratRw->setRefid($dataSurat);
- $suratRw->setTahun(\date("Y"));
- $em->persist($suratRw);
- $data = $rtRwService->getTotalSuratRW($idUser, date('Y'));
- $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
- if($data != []){
- $noSuruatRwText = count($data)."/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
- }else{
- $noSuruatRwText = "1/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
- }
- $dataSurat->setStep($currStep + 1);
- $dataSurat->setNoSuratRw($noSuruatRwText);
- $em->persist($dataSurat);
- // Notif Email ke staff
- // Masih ke admin, harusnya ke staff
- $staff = $this->getDoctrine()->getRepository(User::class)->findOneBy(['IdJobPosition' => 5]);
- $response['token'] = null;
- $response['email'] = $staff->getEmail();
- }
- $ndHistory = new NdHistory();
- $ndHistory->setRefid($dataSurat);
- $ndHistory->setCreatedAt(new \DateTime());
- $ndHistory->setKomentar($kom);
- $ndHistory->setAksi('Setuju');
- $ndHistory->setUserNama($idUser);
- $em->persist($ndHistory);
- $em->flush();
- $response['message'] = 'Surat Telah Disetujui dan Proses Akan Dilanjutkan, Terimakasih';
- return $this->json($response);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement