Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.07 KB | None | 0 0
  1. require_dependency 'markazuna/di_container'
  2.  
  3. class DoctorReservationsController < ApplicationController
  4. include Markazuna::INJECT['doctor_reservation_service']
  5. include Markazuna::INJECT['doctor_service']
  6. include Markazuna::INJECT['schedule_service']
  7. include Markazuna::INJECT['rs_api_resources']
  8.  
  9. skip_before_action :verify_authenticity_token
  10. # before_action :authenticate_core_user!
  11. # before_action :authenticate
  12. # skip_before_action :verify_authenticity_token
  13. # before_action :set_reservation, only: [:show, :edit, :update, :destroy]
  14. wrap_parameters :reservation, include: [:user_id,
  15. :key,
  16. :doctor_name,
  17. :doctor_id,
  18. :hospital_name,
  19. :hospital_id,
  20. :reservation_date,
  21. :reservation_time,
  22. :user_name,
  23. :user_phone,
  24. :user_email,
  25. :user_birthday,
  26. :schedule_id,
  27. :source,
  28. :price,
  29. :funnel_name,
  30. :gender,
  31. :is_new_patient,
  32. :id_number,
  33. :address,
  34. :payment_method,
  35. :occupation,
  36. :religion,
  37. :fit_to_fly_letter,
  38. :blood_type,
  39. :legal_guardian_name,
  40. :info_schedule,
  41. :booking_id,
  42. :birthday,
  43. :bitrix_id,
  44. :bitrix_schedule_date,
  45. :bitrix_status,
  46. :booking_status,
  47. :booking_recommendation,
  48. :booking_version,
  49. :confirmation_date,
  50. :confirmation_pdf_url,
  51. :confirmation_status,
  52. :confirmation_url,
  53. :email,
  54. :feedback_status,
  55. :rejection_reason,
  56. :rejection_reason_detail,
  57. :feedback_url,
  58. :follow_up_by,
  59. :hospital,
  60. :last_bitrix_update,
  61. :note,
  62. :patient_name,
  63. :phone,
  64. :queue_number,
  65. :schedule_date,
  66. :schedule_time,
  67. :update_by,
  68. :is_dashboard,
  69. :user]
  70.  
  71. def doctor_form1
  72.  
  73. Rails.logger.info "================Start form 1 and before fetch flag========================"
  74. reservation_updated_params = add_dashboard_flag_and_status(reservation_form_params)
  75.  
  76. Rails.logger.info "================after flag and before rs-api form 1 reservation========================"
  77. response = rs_api_resources.post_data_to_json("form_1_doctor_reservation",reservation_updated_params)
  78. # rs_api_message = get_response_message(response)
  79.  
  80. if response.try(:code)!=200
  81. data = response
  82. render json: data, status: response.code
  83. return
  84. end
  85.  
  86. if reservation_updated_params["is_dashboard"]== false
  87. reservation_updated_params["booking_id"]=get_booking_id(response)
  88. reservation_form_log = my_reservation_form_log_params(reservation_updated_params)
  89. if doctor_reservation_service.create_reservation_log(reservation_form_log)
  90. Rails.logger.info "================after create reservation log========================"
  91. end
  92. data = response
  93. render json: data, status: response.code
  94. return
  95. end
  96.  
  97. Rails.logger.info "================after form 1 & before get profile doctor========================"
  98. response_speciality = rs_api_resources.get_data("get_profile_doctor",speciality_params)
  99.  
  100. Rails.logger.info "================after doctor profile & before get profile doctor========================"
  101.  
  102. reservation_updated_params["booking_id"]=get_booking_id(response)
  103. reservation_updated_params["doctor_speciality"]=get_doctor_speciality(response_speciality)
  104. reservation_form = my_reservation_form_params(reservation_updated_params)
  105.  
  106. doctor_form = doctor_form_params
  107. Rails.logger.info "================before create doctor========================"
  108. if doctor_service.create_doctor(doctor_form)
  109. Rails.logger.info "================after create doctor and before schedule========================"
  110. # puts"----------------------doctor succeeded---------------------------"
  111. end
  112.  
  113. schedule_form = schedule_form_params
  114. if schedule_service.create_schedule(schedule_form)
  115. Rails.logger.info "================after create schedule and before reservation========================"
  116. # puts"----------------------schedule succeeded--------------------------"
  117. end
  118.  
  119. # Rails.logger.info "reservation_form.inspect"
  120. # Rails.logger.info reservation_form.inspect
  121. # Rails.logger.info "end reservation_form.inspect"
  122.  
  123. if doctor_reservation_service.create_reservation(reservation_form)
  124. Rails.logger.info "================after create reservation========================"
  125. prefilled_fields = doctor_reservation_service.prefilled_fields
  126. data = {
  127. booking_id: reservation_form.booking_id,
  128. message: "Success",
  129. results: prefilled_fields
  130. }
  131. render json: data, status: 200
  132. else
  133. if reservation_form.errors.full_messages.length > 1
  134. # Rails.logger.info reservation_form.errors.full_messages
  135. reservation_form.errors.clear
  136. reservation_form.errors.add(:base, 'Mohon Lengkapi Data Pasien')
  137. end
  138. error_messages = reservation_form.errors.full_messages
  139. data = {message: error_messages.join(', ')}
  140. render json: data, status: 422
  141. end
  142. end
  143.  
  144. def doctor_form2
  145. Rails.logger.info "================Start form 2 and before fetch param========================"
  146. my_form = reservation_form_params
  147. rs_api_param= rs_api_form_2
  148. Rails.logger.info "================after fetch and before rs-api form 2 reservation========================"
  149. response = rs_api_resources.post_data_to_json("form_2_doctor_reservation",rs_api_param)
  150.  
  151. if response.try(:code)!=200
  152. data = response
  153. render json: data, status: response.code
  154. return
  155. end
  156.  
  157. Rails.logger.info my_form["hospital_id"]
  158.  
  159. is_dashboard_result = check_is_dashboard(my_form["hospital_id"])
  160.  
  161. if is_dashboard_result == false
  162. Rails.logger.info "================before update reservation log========================"
  163. my_form["form_2_rs_api_status"] = response
  164. reservation_form_log = my_reservation_form_log_params(my_form)
  165. if doctor_reservation_service.update_reservation_additional_log(reservation_form_log)
  166. Rails.logger.info "================after update reservation log========================"
  167. end
  168. data = response
  169. render json: data, status: response.code
  170. return
  171. end
  172.  
  173. Rails.logger.info "================after rs-api form 2 reservation and before update========================"
  174. my_form["form_2_rs_api_status"] = response
  175. reservation_form = my_reservation_form_params(my_form)
  176.  
  177. result = doctor_reservation_service.update_reservation_additional(reservation_form)
  178. Rails.logger.info "================after update========================"
  179. if result
  180. render :json => { meta: {status: '200'}, payload: true}
  181. else
  182. error_messages = reservation_form.errors.full_messages
  183. render :json => { meta: {status: '422'}, payload: 'failed', message: error_messages.join(', ')}, status: 422
  184. end
  185. end
  186.  
  187. def doctor_form1_v_200
  188.  
  189. reservation_updated_params = add_dashboard_flag_and_status(reservation_form_params)
  190. # Rails.logger.info "================inilah parameter yg dikirim ke rs-api========================"
  191. # Rails.logger.info JSON.pretty_generate(reservation_updated_params)
  192.  
  193. response = rs_api_resources.post_data_to_json("form_1_doctor_reservation_v_200",reservation_updated_params)
  194. # rs_api_message = get_response_message(response)
  195.  
  196. if response.try(:code)!=200
  197. data = response
  198. render json: data, status: response.code
  199. return
  200. end
  201.  
  202. if reservation_updated_params["is_dashboard"]== false
  203. reservation_updated_params["booking_id"]=get_booking_id(response)
  204. reservation_form_log = my_reservation_form_log_params_v200(reservation_updated_params)
  205. if doctor_reservation_service.create_reservation_log_v200(reservation_form_log)
  206. Rails.logger.info "================after create reservation v200 log========================"
  207. end
  208. data = response
  209. render json: data, status: response.code
  210. return
  211. end
  212.  
  213. response_speciality = rs_api_resources.get_data("get_profile_doctor",speciality_params)
  214.  
  215. reservation_updated_params["booking_id"]=get_booking_id(response)
  216. reservation_updated_params["doctor_speciality"]=get_doctor_speciality(response_speciality)
  217. reservation_form = my_reservation_form_params_v200(reservation_updated_params)
  218.  
  219. doctor_form = doctor_form_params
  220. if doctor_service.create_doctor(doctor_form)
  221. # puts"----------------------doctor succeeded---------------------------"
  222. end
  223.  
  224. schedule_form = schedule_form_params
  225. if schedule_service.create_schedule(schedule_form)
  226. # puts"----------------------schedule succeeded--------------------------"
  227. end
  228.  
  229. # Rails.logger.info "reservation_form.inspect"
  230. # Rails.logger.info reservation_form.inspect
  231. # Rails.logger.info "end reservation_form.inspect"
  232.  
  233. if doctor_reservation_service.create_reservation_v200(reservation_form)
  234. prefilled_fields = doctor_reservation_service.prefilled_fields
  235. data = {
  236. booking_id: reservation_form.booking_id,
  237. message: "Success",
  238. results: prefilled_fields
  239. }
  240. render json: data, status: 200
  241. else
  242. if reservation_form.errors.full_messages.length > 1
  243. # Rails.logger.info JSON.pretty_generate(reservation_form.errors)
  244. reservation_form.errors.clear
  245. reservation_form.errors.add(:base, 'Mohon Lengkapi Data Pasien')
  246. end
  247. error_messages = reservation_form.errors.full_messages
  248. data = {message: error_messages.join(', ')}
  249. render json: data, status: 422
  250. end
  251. end
  252.  
  253. def doctor_form2_v_200
  254. my_form = reservation_form_params
  255. rs_api_param= rs_api_form_2
  256. response = rs_api_resources.post_data_to_json("form_2_doctor_reservation_v_200",rs_api_param)
  257.  
  258. if response.try(:code)!=200
  259. data = response
  260. render json: data, status: response.code
  261. return
  262. end
  263.  
  264. is_dashboard_result = check_is_dashboard(my_form["hospital_id"])
  265. if is_dashboard_result == false
  266. Rails.logger.info "================before update reservation log========================"
  267. my_form["form_2_rs_api_status"] = response
  268. reservation_form_log = my_reservation_form_log_params_v200(my_form)
  269. if doctor_reservation_service.update_reservation_additional_log(reservation_form_log)
  270. Rails.logger.info "================after update reservation v200 log========================"
  271. end
  272. data = response
  273. render json: data, status: response.code
  274. return
  275. end
  276.  
  277. Rails.logger.info "================before update reservation is dashboard========================"
  278.  
  279. my_form["form_2_rs_api_status"] = response
  280. reservation_form = my_reservation_form_params_v200(my_form)
  281.  
  282. result = doctor_reservation_service.update_reservation_additional(reservation_form)
  283. if result
  284. render :json => { meta: {status: '200'}, payload: true}
  285. else
  286. error_messages = reservation_form.errors.full_messages
  287. render :json => { meta: {status: '422'}, payload: 'failed', message: error_messages.join(', ')}, status: 422
  288. end
  289. end
  290.  
  291. def doctor_form1_v_210
  292. rs_api_param= rs_api_form_1_v210
  293. response = rs_api_resources.post_data_to_json("form_1_doctor_reservation_v_210",rs_api_param)
  294.  
  295. render json: response, status: response.code
  296. return
  297.  
  298. end
  299.  
  300. def doctor_form2_v_210
  301.  
  302. reservation_updated_params = add_dashboard_flag_and_status(reservation_form_params)
  303. # Rails.logger.info "================inilah parameter yg dikirim ke rs-api========================"
  304. # Rails.logger.info JSON.pretty_generate(reservation_updated_params)
  305.  
  306. response = rs_api_resources.post_data_to_json("form_2_doctor_reservation_v_210",reservation_updated_params)
  307. # rs_api_message = get_response_message(response)
  308.  
  309. if response.try(:code)!=200
  310. render json: response, status: response.code
  311. return
  312. end
  313.  
  314. if reservation_updated_params["is_dashboard"]== false
  315. reservation_updated_params["booking_id"]=get_booking_id(response)
  316. reservation_form_log = my_reservation_form_log_params_v210(reservation_updated_params)
  317. if doctor_reservation_service.create_reservation_log(reservation_form_log)
  318. Rails.logger.info "================after create reservation v210 log========================"
  319. end
  320. data = response
  321. render json: data, status: response.code
  322. return
  323. end
  324.  
  325. response_speciality = rs_api_resources.get_data("get_profile_doctor",speciality_params)
  326.  
  327. reservation_updated_params["booking_id"]=get_booking_id(response)
  328. reservation_updated_params["doctor_speciality"]=get_doctor_speciality(response_speciality)
  329. reservation_form = my_reservation_form_params_v210(reservation_updated_params)
  330.  
  331. doctor_form = doctor_form_params
  332. if doctor_service.create_doctor(doctor_form)
  333. # puts"----------------------doctor succeeded---------------------------"
  334. end
  335.  
  336. schedule_form = schedule_form_params
  337. if schedule_service.create_schedule(schedule_form)
  338. # puts"----------------------schedule succeeded--------------------------"
  339. end
  340.  
  341. # Rails.logger.info "reservation_form.inspect"
  342. # Rails.logger.info reservation_form.inspect
  343. # Rails.logger.info "end reservation_form.inspect"
  344.  
  345. if doctor_reservation_service.create_reservation(reservation_form)
  346. # prefilled_fields = doctor_reservation_service.prefilled_fields
  347. data = {
  348. booking_id: reservation_form.booking_id,
  349. meta: {status: '200'},
  350. payload: true
  351. }
  352. render json: data, status: 200
  353. else
  354. if reservation_form.errors.full_messages.length > 1
  355. # Rails.logger.info JSON.pretty_generate(reservation_form.errors)
  356. reservation_form.errors.clear
  357. reservation_form.errors.add(:base, 'Mohon Lengkapi Data Pasien')
  358. end
  359. error_messages = reservation_form.errors.full_messages
  360. data = {message: error_messages.join(', ')}
  361. render json: data, status: 422
  362. end
  363. end
  364.  
  365. def doctor_form1_web
  366. rs_api_param= rs_api_form_1_v210
  367. response = rs_api_resources.post_data_to_json("form_1_doctor_reservation_web",rs_api_param)
  368.  
  369. render json: response, status: response.code
  370. return
  371.  
  372. end
  373.  
  374. def doctor_form2_web
  375.  
  376. reservation_updated_params = add_dashboard_flag_and_status(reservation_form_params)
  377. reservation_updated_params_rs_api={}
  378. reservation_updated_params_rs_api['reservation']=reservation_updated_params
  379. Rails.logger.debug "================inilah parameter yg dikirim ke rs-api========================"
  380. Rails.logger.debug reservation_updated_params.inspect
  381.  
  382. response = rs_api_resources.post_data_to_json("form_2_doctor_reservation_web",reservation_updated_params_rs_api)
  383. # rs_api_message = get_response_message(response)
  384.  
  385. Rails.logger.debug "==============hasil dari response form 2 web=================="
  386. Rails.logger.debug response.inspect
  387.  
  388. if response.try(:code)!=200
  389. render json: response, status: response.code
  390. return
  391. end
  392.  
  393.  
  394.  
  395. if reservation_updated_params["is_dashboard"]== false
  396. reservation_updated_params["booking_id"]=get_booking_id(response)
  397. reservation_form_log = my_reservation_form_log_params_v210(reservation_updated_params)
  398. if doctor_reservation_service.create_reservation_log(reservation_form_log)
  399. Rails.logger.info "================after create reservation v200 log========================"
  400. end
  401. data = response
  402. render json: data, status: response.code
  403. return
  404. end
  405.  
  406. response_speciality = rs_api_resources.get_data("get_profile_doctor",speciality_params)
  407.  
  408. reservation_updated_params["booking_id"]=get_booking_id(response)
  409. reservation_updated_params["doctor_speciality"]=get_doctor_speciality(response_speciality)
  410. reservation_form = my_reservation_form_params_v210(reservation_updated_params)
  411.  
  412. doctor_form = doctor_form_params
  413. if doctor_service.create_doctor(doctor_form)
  414. # puts"----------------------doctor succeeded---------------------------"
  415. end
  416.  
  417. schedule_form = schedule_form_params
  418. if schedule_service.create_schedule(schedule_form)
  419. # puts"----------------------schedule succeeded--------------------------"
  420. end
  421.  
  422. # Rails.logger.info "reservation_form.inspect"
  423. # Rails.logger.info reservation_form.inspect
  424. # Rails.logger.info "end reservation_form.inspect"
  425.  
  426. if doctor_reservation_service.create_reservation(reservation_form)
  427. # prefilled_fields = doctor_reservation_service.prefilled_fields
  428. data = {
  429. booking_id: reservation_form.booking_id,
  430. meta: {status: '200'},
  431. payload: true
  432. }
  433. render json: data, status: 200
  434. else
  435. if reservation_form.errors.full_messages.length > 1
  436. # Rails.logger.info JSON.pretty_generate(reservation_form.errors)
  437. reservation_form.errors.clear
  438. reservation_form.errors.add(:base, 'Mohon Lengkapi Data Pasien')
  439. end
  440. error_messages = reservation_form.errors.full_messages
  441. data = {message: error_messages.join(', ')}
  442. render json: data, status: 422
  443. end
  444. end
  445.  
  446. def update_lead_internal
  447. my_lead_form = lead_form_params
  448. rs_api_update_status_param = rs_api_update_status
  449. response = rs_api_resources.post_data_to_json("update_status_doctor_reservation",rs_api_update_status_param)
  450. rs_api_message = get_response_message(response)
  451.  
  452. if response.try(:code)!=200
  453. render :json => { meta: {status: response.code}, payload: 'failed', message: rs_api_message}, status: response.code
  454. return
  455. end
  456.  
  457. my_lead_form["update_booking_rs_api_status"] = response
  458. my_lead_form["approval_status_user"] = current_core_user.fullname
  459. my_lead_form = doctor_reservation_service.lead_parameter_update(my_lead_form)
  460.  
  461. doctor_reservation_lead_form = my_update_lead_form_params(my_lead_form)
  462.  
  463. result = doctor_reservation_service.update_lead(doctor_reservation_lead_form)
  464. if result
  465. render :json => { meta: {status: '200'}, payload: true}
  466. else
  467. error_messages = doctor_reservation_lead_form.errors.full_messages
  468. render :json => { meta: {status: '422'}, payload: 'failed', message: error_messages.join(', ')}, status: 422
  469. end
  470. end
  471.  
  472. def update_lead
  473. doctor_reservation_lead_form = lead_reservation_form_params
  474. result = doctor_reservation_service.update_lead(doctor_reservation_lead_form)
  475. if result
  476. render :json => { meta: {status: '200'}, payload: true}
  477. else
  478. error_messages = doctor_reservation_lead_form.errors.full_messages
  479. render :json => { meta: {status: '422'}, payload: 'failed', message: error_messages.join(', ')}, status: 422
  480. end
  481. end
  482.  
  483. def cancel_acknowledgement
  484. my_form = status_form_params
  485. my_form["is_cancel_acknowledged"] = true
  486. doctor_reservation_update_status = status_update_form_params(my_form)
  487. result = doctor_reservation_service.update_lead(doctor_reservation_update_status)
  488. if result
  489. render :json => { meta: {status: '200'}, payload: true}
  490. else
  491. error_messages = doctor_reservation_lead_form.errors.full_messages
  492. render :json => { meta: {status: '422'}, payload: 'failed', message: error_messages.join(', ')}, status: 422
  493. end
  494.  
  495. end
  496.  
  497. private
  498. def data_not_processed
  499. "Data not processed"
  500. end
  501.  
  502. def new_status
  503. "new"
  504. end
  505.  
  506. def cancelled
  507. "cancelled"
  508. end
  509.  
  510. def confirmed
  511. "confirmed"
  512. end
  513.  
  514. def set_reservation
  515. @reservation = Reservation::DoctorReservation.find(reservation_form_params[:id])
  516. end
  517.  
  518. def status_form_params
  519. params.require(:reservation).permit(
  520. :booking_id)
  521. end
  522.  
  523. def lead_form_params
  524. params.require(:reservation).permit(
  525. :user_id,
  526. :key,
  527. :user,
  528. :doctor_name,
  529. :doctor_speciality,
  530. :hospital,
  531. :patient_name,
  532. :schedule_date,
  533. :schedule_time,
  534. :phone,
  535. :email,
  536. :birthday,
  537. :follow_up_by,
  538. :follow,
  539. :note,
  540. :source,
  541. :funnel_name,
  542. :booking_version,
  543. :bitrix_id,
  544. :bitrix_status,
  545. :last_bitrix_update,
  546. :gender,
  547. :queue_number,
  548. :booking_id,
  549. :confirmation_status,
  550. :confirmation_date,
  551. :confirmation_url,
  552. :bitrix_schedule_date,
  553. :feedback_status,
  554. :rejection_reason,
  555. :rejection_reason_detail,
  556. :feedback_url,
  557. :is_new_patient,
  558. :id_number,
  559. :address,
  560. :payment_method,
  561. :occupation,
  562. :religion,
  563. :fit_to_fly_letter,
  564. :blood_type,
  565. :legal_guardian_name,
  566. :price,
  567. :confirmation_pdf_url,
  568. :update_by,
  569. :doctor_id,
  570. :hospital_id,
  571. :schedule_id,
  572. :form_2_rs_api_status,
  573. :is_dashboard,
  574. :update_booking_rs_api_status,
  575. booking_status: [:name, :timestamp, :duration],
  576. booking_recommendation: [:doctor_id,:doctor_name,:schedule_date,:schedule_time])
  577. end
  578.  
  579. def reservation_form_params
  580. params.require(:reservation).permit(:user_id,
  581. :key,
  582. :doctor_id,
  583. :hospital_id,
  584. :procedure_id,
  585. :funnel_name,
  586. :doctor_name,
  587. :hospital_name,
  588. :reservation_date,
  589. :reservation_time,
  590. :price,
  591. :follow,
  592. :user_name,
  593. :user_phone,
  594. :user_email,
  595. :user_birthday,
  596. :source,
  597. :schedule_id,
  598. :gender,
  599. :is_new_patient,
  600. :id_number,
  601. :address,
  602. :payment_method,
  603. :occupation,
  604. :religion,
  605. :fit_to_fly_letter,
  606. :blood_type,
  607. :legal_guardian_name,
  608. :is_dashboard,
  609. :booking_id,
  610. :patient_name,
  611. :insurance_id,
  612. :insurance_name,
  613. :form_2_rs_api_status,
  614. :update_booking_rs_api_status)
  615. end
  616.  
  617. def doctor_form_params
  618. doctor_params = {}
  619. doctor_params["id"]=reservation_form_params["doctor_id"]
  620. doctor_params["code"]= reservation_form_params["doctor_id"]
  621. doctor_params["name"]= reservation_form_params["doctor_name"]
  622.  
  623. Reservation::DoctorForm.new(doctor_params)
  624. end
  625.  
  626. def doctor_reservation_update_status
  627. update_status_params = {}
  628. update_status_params["booking_id"]=reservation_form_params["booking_id"]
  629. update_status_params["bitrix_status"]= reservation_form_params["bitrix_status"]
  630.  
  631. Reservation::DoctorForm.new(update_status_params)
  632. end
  633.  
  634. def schedule_form_params
  635. day_name = Date.parse(reservation_form_params["reservation_date"]).strftime("%A") rescue ""
  636. start= reservation_form_params["reservation_time"].split('-')[0] rescue ""
  637. finish= reservation_form_params["reservation_time"].split('-')[1] rescue ""
  638. schedule_params = {}
  639. schedule_params["id"]=reservation_form_params["schedule_id"]
  640. schedule_params["schedule_day"]=day_name
  641. schedule_params["time_from"]=start
  642. schedule_params["time_to"]=finish
  643. schedule_params["code"]=reservation_form_params["schedule_id"]
  644. schedule_params["doctor_id"]=reservation_form_params["doctor_id"]
  645. Reservation::ScheduleForm.new(schedule_params)
  646. end
  647.  
  648. def my_reservation_form_params(reservation_params)
  649. Reservation::DoctorReservationForm.new(reservation_params)
  650. end
  651.  
  652. def my_reservation_form_log_params(reservation_params)
  653. Reservation::DoctorReservationFormLog.new(reservation_params)
  654. end
  655.  
  656. def my_reservation_form_params_v200(reservation_params)
  657. Reservation::DoctorReservationFormV200.new(reservation_params)
  658. end
  659.  
  660. def my_reservation_form_params_v210(reservation_params)
  661. Reservation::DoctorReservationFormV210.new(reservation_params)
  662. end
  663.  
  664. def my_reservation_form_log_params_v200(reservation_params)
  665. Reservation::DoctorReservationFormLogV200.new(reservation_params)
  666. end
  667.  
  668. def my_reservation_form_log_params_v210(reservation_params)
  669. Reservation::DoctorReservationFormLogV210.new(reservation_params)
  670. end
  671.  
  672. def my_update_lead_form_params(my_lead_params)
  673. Reservation::DoctorReservationLeadForm.new(my_lead_params)
  674. end
  675.  
  676.  
  677. def lead_reservation_form_params
  678. my_lead_form = lead_form_params
  679. my_lead_form = doctor_reservation_service.lead_parameter_update(my_lead_form)
  680. Reservation::DoctorReservationLeadForm.new(my_lead_form)
  681. end
  682.  
  683. def status_update_form_params(lead_params)
  684. Reservation::DoctorReservationLeadForm.new(lead_params)
  685. end
  686.  
  687. def check_is_dashboard(hospital_id)
  688. hospital = Hospital.find_by(code: hospital_id, data_status: Enum::DataStatus.statuses["active_data_status"])
  689. Rails.logger.info hospital_id
  690. Rails.logger.info hospital
  691. if hospital.present?
  692. Rails.logger.info "hospital available and active"
  693. return true
  694. end
  695. Rails.logger.info "hospital not available or not active"
  696. return false
  697. end
  698.  
  699. def add_dashboard_flag_and_status(reservation_params)
  700. # Rails.logger.info "===============parameter di dashboard flag============"
  701. # Rails.logger.info JSON.pretty_generate(reservation_params)
  702. rs_api_params = reservation_params
  703. begin
  704. rs_api_params["is_dashboard"]=false;
  705. rs_api_params["bitrix_status"]= new_status
  706. hospital_id = reservation_params["hospital_id"]
  707. hospital = Hospital.find_by(code: hospital_id)
  708. if hospital.try(:data_status)==Enum::DataStatus.statuses["active_data_status"]
  709. rs_api_params["is_dashboard"]=true;
  710. end
  711. rescue => e
  712. Rails.logger.info e.inspect
  713. Rails.logger.info e.backtrace
  714. end
  715. return rs_api_params
  716. end
  717.  
  718. def speciality_params
  719. speciality_params={}
  720. speciality_params["doctor_id"] = reservation_form_params["doctor_id"]
  721. # Rails.logger.info "===============parameter di speciality doctor============"
  722. # Rails.logger.info JSON.pretty_generate(speciality_params)
  723.  
  724. return speciality_params
  725. end
  726.  
  727. def get_booking_id(response)
  728. # Rails.logger.info "=============================inilah response dari rs api (form 1):"
  729. # Rails.logger.info response.inspect
  730. if response.code==200
  731. body = JSON.parse(response.body)
  732. return body["booking_id"]
  733. else
  734. return "";
  735. end
  736. end
  737.  
  738. def get_response_message(response)
  739. puts "=============================inilah response dari rs api:"
  740. puts response.inspect
  741. if response.try(:body)
  742. body = JSON.parse(response.body)
  743. puts "=============inilah bodynya:============"
  744. puts JSON.pretty_generate(body)
  745. puts JSON.pretty_generate(body["message"])
  746. return body["message"] rescue ""
  747. else
  748. return data_not_processed
  749. end
  750.  
  751. end
  752.  
  753. def get_approval_status_user
  754. end
  755.  
  756. def get_cancelled_user
  757. end
  758.  
  759. def get_approval_status_date
  760. end
  761.  
  762. def get_cancelled_date
  763. end
  764.  
  765. def get_doctor_speciality(response)
  766. # Rails.logger.info "=============================inilah response dari rs api (doctor speciality):"
  767. # Rails.logger.info response.inspect
  768. if response.code==200
  769. begin
  770. body = JSON.parse(response.body)
  771. return body["data"]["doctor"]["doctor_speciality"]
  772. rescue
  773. return ""
  774. end
  775. else
  776. return ""
  777. end
  778. end
  779.  
  780. def rs_api_form_2
  781. rs_api_param={}
  782. rs_api_param["reservation"] = reservation_form_params
  783. return rs_api_param
  784. end
  785.  
  786. def rs_api_form_1_v210
  787. rs_api_param={}
  788. rs_api_param["reservation"] = reservation_form_params
  789. return rs_api_param
  790. end
  791.  
  792. def rs_api_update_status
  793. rs_api_param={}
  794. rs_api_param["booking_id"]= lead_form_params["booking_id"]
  795. rs_api_param["reservation"] = lead_form_params
  796. return rs_api_param
  797. end
  798. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement