DataPageDockController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.diagbot.web;
  2. import com.diagbot.annotation.CdssLog;
  3. import com.diagbot.annotation.SysLogger;
  4. import com.diagbot.dto.RespDTO;
  5. import com.diagbot.facade.DataPageDockFacade;
  6. import com.diagbot.facade.UserDockFacade;
  7. import com.diagbot.vo.*;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.apache.poi.ss.formula.functions.T;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import javax.validation.Valid;
  14. /**
  15. * @Description: 页面推送模式-对接API 控制器
  16. * @Author:liuqq
  17. * @time:
  18. **/
  19. @RestController
  20. @RequestMapping("/dataPage/docking")
  21. @Api(value = "页面推送模式-对接API", tags = { "页面推送模式-对接API" })
  22. public class DataPageDockController {
  23. @Autowired
  24. private DataPageDockFacade dataPageDockFacade;
  25. @Autowired
  26. private UserDockFacade userDockFacade;
  27. @ApiOperation(value = "页面推送模式-推理API[QQ]",
  28. notes = "")
  29. @PostMapping("/getDataService")
  30. @SysLogger("getDataService")
  31. @CdssLog("页面推送")
  32. public RespDTO<String> getDataService(@Valid @RequestBody DataPageDockVO dataPageDockVO) {
  33. return dataPageDockFacade.getDataService(dataPageDockVO);
  34. }
  35. @ApiOperation(value = "页面推送模式-静态知识API[QQ]",
  36. notes = "")
  37. @PostMapping("/getStaticKnowledge")
  38. @SysLogger("getStaticKnowledge")
  39. @CdssLog("静态知识")
  40. public RespDTO<String> getStaticKnowledge(@Valid @RequestBody HisStaticKnowledgeVO hisStaticKnowledgeVO){
  41. return dataPageDockFacade.getStaticKnowledge(hisStaticKnowledgeVO);
  42. }
  43. @ApiOperation(value = "数据引擎模式-对接API[QQ]",
  44. notes = "")
  45. @PostMapping("/getDataEngine")
  46. @SysLogger("getDataEngine")
  47. public RespDTO<T> getDataEngine(@Valid @RequestBody DataEngineVO dataEngineVO) {
  48. //类型(多选必填),1:症状,4:查体结果,5:检验,6:检查,7:诊断,8:药品,9:手术,10:一般治疗
  49. if("medical_record".equals(dataEngineVO.getPlanCode())){
  50. //病历推送
  51. dataEngineVO.setFeatureType("1,4,5,6,7,8,9,10");
  52. return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
  53. }else if("medical_advice".equals(dataEngineVO.getPlanCode())){
  54. //医嘱推送
  55. dataEngineVO.setFeatureType("5,6,8,10");
  56. return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
  57. }else if("order_rational".equals(dataEngineVO.getPlanCode()) || "reference_pacs".equals(dataEngineVO.getPlanCode()) || "reference_lis".equals(dataEngineVO.getPlanCode())){
  58. //规则类型(1:危急值提醒,2:开单合理项,3:高危药品、手术,4:其他提醒)
  59. //开单合理性
  60. dataEngineVO.setRuleType("1,2,3,4");
  61. //dataEngineVO.setRuleType("2");
  62. return RespDTO.onSuc(dataPageDockFacade.getEngineIndicationPush(dataEngineVO));
  63. }else if("operation_plan".equals(dataEngineVO.getPlanCode())){
  64. //手术随访计划
  65. return RespDTO.onSuc(dataPageDockFacade.getOperationPlanPush(dataEngineVO));
  66. }
  67. return RespDTO.onSuc(dataPageDockFacade.getEnginePush(dataEngineVO));
  68. }
  69. @ApiOperation(value = "添加用户-用户维护API[QQ]",
  70. notes = "")
  71. @PostMapping("/addUserAndRole")
  72. @SysLogger("addUserAndRole")
  73. public RespDTO addUserAndRole(@Valid @RequestBody UserInfoVO userInfoVO){
  74. return RespDTO.onSuc(userDockFacade.addUser(userInfoVO));
  75. }
  76. }