Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. /**
  2. * @Route("/api/rtrw/approveSurat", name="approveSuratAPI")
  3. * @Method({"POST"})
  4. */
  5. public function approveSurat(Request $request, RtRwService $rtRwService){
  6. $idSurat = $request->get("idSurat");
  7. $idUser = $request->get('idUser');
  8. $ket = $request->get('keterangan');
  9. $kom = $request->get('komentar');
  10.  
  11. $response['error'] = false;
  12.  
  13. $dataSurat = $this->getDoctrine()->getRepository(NdSurat::class)->findOneBy(['id' => $idSurat]);
  14. $currStep = $dataSurat->getStep();
  15. $em = $this->getDoctrine()->getManager();
  16.  
  17. $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
  18. if($getDataUser->getIdJobPosition()->getId() > 13){
  19. $suratRt = new SuratRT();
  20. $suratRt->setIdJobPosition($getDataUser->getIdJobPosition()->getId());
  21. $suratRt->setIdParent($getDataUser->getIdJobPosition()->getParent());
  22. $suratRt->setIdUser($idUser);
  23. $suratRt->setKeterangan($ket);
  24. $suratRt->setCreatedAt(new \DateTime());
  25. $suratRt->setRefid($dataSurat);
  26. $suratRt->setTahun(\date("Y"));
  27. $em->persist($suratRt);
  28.  
  29. $data = $rtRwService->getTotalSuratRT($idUser, date('Y'));
  30. $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
  31.  
  32. if($data != []){
  33. $noSuruatRwText = count($data)."/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
  34. }else{
  35. $noSuruatRwText = "1/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
  36. }
  37.  
  38. $dataSurat->setStep($currStep + 1);
  39. $dataSurat->setNoSuratRt($noSuruatRwText);
  40. $em->persist($dataSurat);
  41.  
  42.  
  43. // Untuk notif orang selanjutnya
  44. $nextData = $this->getDoctrine()->getRepository(User::class)->findOneBy(['IdJobPosition' => $getDataUser->getIdJobPosition()->getParent()]);
  45. if($nextData->getToken() != null){
  46. $response['token'] = $nextData->getToken();
  47. }else{
  48. $response['token'] = null;
  49. $response['email'] = $nextData->getEmail();
  50. }
  51. }else{
  52. $suratRw = new SuratRW();
  53. $suratRw->setIdJobPosition($getDataUser->getIdJobPosition()->getId());
  54. $suratRw->setKeterangan($ket);
  55. $suratRw->setIdUser($idUser);
  56. $suratRw->setCreatedAt(new \DateTime());
  57. $suratRw->setRefid($dataSurat);
  58. $suratRw->setTahun(\date("Y"));
  59. $em->persist($suratRw);
  60.  
  61. $data = $rtRwService->getTotalSuratRW($idUser, date('Y'));
  62. $getDataUser = $this->getDoctrine()->getRepository(User::class)->findOneBy(['id' => $idUser]);
  63.  
  64. if($data != []){
  65. $noSuruatRwText = count($data)."/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
  66. }else{
  67. $noSuruatRwText = "1/SP/".$getDataUser->getIdJobPosition()->getJabatan()."/CC/".$rtRwService->convertMonthToRomawi(\date('m'))."/".\date('Y');
  68. }
  69.  
  70. $dataSurat->setStep($currStep + 1);
  71. $dataSurat->setNoSuratRw($noSuruatRwText);
  72. $em->persist($dataSurat);
  73.  
  74. // Notif Email ke staff
  75. // Masih ke admin, harusnya ke staff
  76. $staff = $this->getDoctrine()->getRepository(User::class)->findOneBy(['IdJobPosition' => 5]);
  77. $response['token'] = null;
  78. $response['email'] = $staff->getEmail();
  79. }
  80.  
  81. $ndHistory = new NdHistory();
  82. $ndHistory->setRefid($dataSurat);
  83. $ndHistory->setCreatedAt(new \DateTime());
  84. $ndHistory->setKomentar($kom);
  85. $ndHistory->setAksi('Setuju');
  86. $ndHistory->setUserNama($idUser);
  87. $em->persist($ndHistory);
  88.  
  89. $em->flush();
  90.  
  91. $response['message'] = 'Surat Telah Disetujui dan Proses Akan Dilanjutkan, Terimakasih';
  92. return $this->json($response);
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement