ClinicalPathwayPatientController.java 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package thyyxxk.webserver.controller.zhuyuanyizheng;
  2. import lombok.RequiredArgsConstructor;
  3. import org.springframework.validation.annotation.Validated;
  4. import org.springframework.web.bind.annotation.*;
  5. import thyyxxk.webserver.entity.ResultVo;
  6. import thyyxxk.webserver.entity.dictionary.pathwayTemplates.dto.ClinicalPathwayTemplates;
  7. import thyyxxk.webserver.entity.dictionary.pathwayTemplates.vo.PathwayTemplatesVo;
  8. import thyyxxk.webserver.entity.dictionary.pathwayTemplates.vo.TemplateDayVo;
  9. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.dto.ClinicalPathwayPatientDayLog;
  10. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.req.ExitClinicalPathwayReq;
  11. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.req.PatientEnrollmentReq;
  12. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.req.UpdatePatientDayReq;
  13. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.vo.PatientDayWorkVo;
  14. import thyyxxk.webserver.entity.zhuyuanyisheng.patientClinicalPathway.vo.PatientOrderDayVo;
  15. import thyyxxk.webserver.service.dictionary.clinicalPathway.ClinicalPathwayService;
  16. import thyyxxk.webserver.service.zhuyuanyiji.ClinicalPathwayPatientService;
  17. import thyyxxk.webserver.utils.ResultVoUtil;
  18. import java.util.List;
  19. import java.util.Map;
  20. @RequestMapping("/clinicalPathwayPatient")
  21. @RestController
  22. @RequiredArgsConstructor
  23. public class ClinicalPathwayPatientController {
  24. private final ClinicalPathwayPatientService service;
  25. private final ClinicalPathwayService clinicalPathwayService;
  26. @GetMapping("/recommendedClinicalPathway")
  27. public ResultVo<List<ClinicalPathwayTemplates>> recommendedClinicalPathway(@RequestParam("patNo") String patNo,
  28. @RequestParam("times") Integer times) {
  29. return service.recommendedClinicalPathway(patNo, times);
  30. }
  31. @GetMapping("/obtainExecutableClinicalPathways")
  32. public ResultVo<List<PathwayTemplatesVo>> obtainExecutableClinicalPathways() {
  33. return ResultVoUtil.success(clinicalPathwayService.getTemplatesToTree(" (publish = 1 or is_dir = 1) "));
  34. }
  35. @GetMapping("/getClinicalPathwayDayLog")
  36. public ResultVo<List<PatientDayWorkVo>> getClinicalPathwayDayLog(@RequestParam("patNo") String patNo,
  37. @RequestParam("times") Integer times) {
  38. return ResultVoUtil.success(service.getClinicalPathwayDayLog(patNo, times));
  39. }
  40. @PostMapping("/patientEnrollment")
  41. public ResultVo<String> patientEnrollment(@RequestBody PatientEnrollmentReq req) {
  42. return service.patientEnrollment(req);
  43. }
  44. @GetMapping("/getClinicalPathway")
  45. public ResultVo<List<TemplateDayVo>> getClinicalPathway(@RequestParam("patNo") String patNo,
  46. @RequestParam("times") Integer times) {
  47. return service.getClinicalPathway(patNo, times);
  48. }
  49. @PostMapping("/updatePatientDay")
  50. public ResultVo<String> updatePatientDay(@RequestBody UpdatePatientDayReq params) {
  51. return service.updatePatientDay(params);
  52. }
  53. @GetMapping("/getPatientOrderByDay")
  54. public ResultVo<Map<String, List<PatientOrderDayVo>>> getPatientOrderByDay(@RequestParam("patNo") String patNo,
  55. @RequestParam("times") Integer times,
  56. @RequestParam("dayId") String dayId) {
  57. return ResultVoUtil.success(service.getPatientOrderByDay(patNo, times, dayId));
  58. }
  59. @PostMapping("/exitClinicalPathway")
  60. public ResultVo<String> exitClinicalPathway(@RequestBody @Validated ExitClinicalPathwayReq req) {
  61. return service.exitClinicalPathway(req);
  62. }
  63. @GetMapping("/continueExecution")
  64. public ResultVo<String> continueExecution(@RequestParam("patNo") String patNo,
  65. @RequestParam("times") Integer times) {
  66. return service.continueExecution(patNo, times, false);
  67. }
  68. @GetMapping("/nextPhase")
  69. public ResultVo<String> nextPhase(@RequestParam("patNo") String patNo,
  70. @RequestParam("times") Integer times) {
  71. return service.continueExecution(patNo, times, true);
  72. }
  73. }