DataController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. package com.diagbot.web;
  2. import com.diagbot.annotation.SysLogger;
  3. import com.diagbot.dto.RespDTO;
  4. import com.diagbot.dto.data.*;
  5. import com.diagbot.facade.ViewFacade;
  6. import com.diagbot.facade.data.*;
  7. import com.diagbot.vo.OldInfoVo;
  8. import com.diagbot.vo.data.*;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.scheduling.annotation.Scheduled;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestBody;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import javax.validation.Valid;
  18. import java.util.List;
  19. import java.util.Map;
  20. @RestController
  21. @RequestMapping("/qc/data")
  22. @Api(value = "对接接口API", tags = { "对接接口API" })
  23. public class DataController {
  24. @Autowired
  25. private ABasDoctorInfoFacade aBasDoctorInfoFacade;
  26. @Autowired
  27. private ABasDeptInfoFacade aBasDeptInfoFacade;
  28. @Autowired
  29. private AMedRecordTypeFacade aMedRecordTypeFacade;
  30. @Autowired
  31. private ABehospitalInfoFacade aBehospitalInfoFacade;
  32. @Autowired
  33. private ADoctorAdviceFacade aDoctorAdviceFacade;
  34. @Autowired
  35. private AHomePageFacade aHomePageFacade;
  36. @Autowired
  37. private AHomeDiagnoseInfoFacade aHomeDiagnoseInfoFacade;
  38. @Autowired
  39. private AHomeOperationInfoFacade aHomeOperationInfoFacade;
  40. @Autowired
  41. private AMedCrisisFacade aMedCrisisFacade;
  42. @Autowired
  43. private AMedicalRecordFacade aMedicalRecordFacade;
  44. @Autowired
  45. private AMedicalRecordContentFacade aMedicalRecordContentFacade;
  46. @Autowired
  47. private AMedLisResultFacade aMedLisResultFacade;
  48. @Autowired
  49. private AMedPacsResultFacade aMedPacsResultFacade;
  50. @Autowired
  51. private AMedPacsInfoFacade aMedPacsInfoFacade;
  52. @Autowired
  53. private AMedLisInfoFacade aMedLisInfoFacade;
  54. @Autowired
  55. private ViewFacade viewFacade;
  56. @ApiOperation(value = "数据引擎-获取医院所有在职医生的基本信息")
  57. @PostMapping("/sendDoctorInfos")
  58. @SysLogger("sendDoctorInfos")
  59. public RespDTO sendDoctorInfos(@RequestBody List<ABasDoctorInfoVO> list){
  60. return aBasDoctorInfoFacade.executeDoctor(list);
  61. }
  62. @ApiOperation(value = "数据引擎-获取医院所有有效科室的基本信息")
  63. @PostMapping("/sendDeptInfos")
  64. @SysLogger("sendDeptInfos")
  65. public RespDTO<List<ABasDeptInfoDTO>> sendDeptInfos(@RequestBody List<ABasDeptInfoVO> list){
  66. return aBasDeptInfoFacade.executeDept(list);
  67. }
  68. @ApiOperation(value = "数据引擎-获取医院所有文书模板基本信息")
  69. @PostMapping("/sendRecordTypes")
  70. @SysLogger("sendRecordTypes")
  71. public RespDTO<List<AMedicalRecordTypeDTO>> sendRecordTypes(@RequestBody List<AMedicalRecordTypeVO> list){
  72. return aMedRecordTypeFacade.executeMRType(list);
  73. }
  74. @ApiOperation(value = "运行质控-评分-文书信息")
  75. @PostMapping("/sendMrRecordIng")
  76. @SysLogger("sendMrRecordIng")
  77. public Map<String, String> sendMrRecordIng(@Valid @RequestBody AMrContentVO aMrContentVO){
  78. return aMedicalRecordFacade.executeMrRecordIng(aMrContentVO);
  79. }
  80. @ApiOperation(value = "终末质控-文书信息")
  81. @PostMapping("/sendMrRecord")
  82. @SysLogger("sendMrRecord")
  83. public RespDTO<List<AMedicalRecordDTO>> sendMrRecord(@RequestBody List<AMedicalRecordVO> list){
  84. return aMedicalRecordFacade.executeMrRecord(list);
  85. }
  86. @ApiOperation(value = "终末质控-文书详情")
  87. @PostMapping("/sendMrContent")
  88. @SysLogger("sendMrContent")
  89. public RespDTO<List<AMedicalRecordContentDTO>> sendMrContent(@RequestBody List<AMedicalRecordContentVO> list){
  90. return aMedicalRecordContentFacade.executeMrRecordContent(list);
  91. }
  92. @ApiOperation(value = "数据引擎-获取医院病人住院记录信息")
  93. @PostMapping("/sendPatientInfo")
  94. @SysLogger("sendPatientInfo")
  95. public RespDTO<List<ABehospitalInfoDTO>> sendPatientInfo(@RequestBody List<ABehospitalInfoVO> list){
  96. return aBehospitalInfoFacade.executeBehospital(list);
  97. }
  98. @ApiOperation(value = "数据引擎-获取医院医生医嘱信息")
  99. @PostMapping(value = "/sendDoctorAdvice")
  100. @SysLogger("sendDoctorAdvice")
  101. public RespDTO<List<ADoctorAdviceDTO>> sendDoctorAdvice(@RequestBody List<ADoctorAdviceVO> list){
  102. return aDoctorAdviceFacade.executeDoctorAdvice(list);
  103. }
  104. // @ApiOperation(value = "运行质控-获取病案首页")
  105. // @PostMapping("/sendHomePageIng")
  106. // @SysLogger("sendHomePageIng")
  107. // public RespDTO<Map<String, Object>> sendHomePageIng(@Valid @RequestBody AHomePageIngVO aHomePageIngVO){
  108. // return aHomePageFacade.executeHomePageIng(aHomePageIngVO);
  109. // }
  110. @ApiOperation(value = "运行质控-获取病案首页")
  111. @PostMapping("/sendHomePageIng")
  112. @SysLogger("sendHomePageIng")
  113. public RespDTO<Map<String, Object>> sendHomePageIng(@Valid @RequestBody XyHomePageVo xyHomePageVo) {
  114. return viewFacade.getHomePageByView(xyHomePageVo);
  115. }
  116. @ApiOperation(value = "终末质控-获取病案首页")
  117. @PostMapping("/sendHomePage")
  118. @SysLogger("sendHomePage")
  119. public RespDTO<List<AHomePageDTO>> sendHomePage(@RequestBody List<AHomePageVO> list){
  120. return aHomePageFacade.executeHomePage(list);
  121. }
  122. @ApiOperation(value = "终末质控-获取病案首页诊断")
  123. @PostMapping("/sendHomeDiagnose")
  124. @SysLogger("sendHomeDiagnose")
  125. public RespDTO<List<AHomeDiagnoseDTO>> sendHomeDiagnose(@RequestBody List<AHomeDiagnoseVO> list){
  126. return aHomeDiagnoseInfoFacade.executeHomeDiagnose(list);
  127. }
  128. @ApiOperation(value = "终末质控-获取病案首页手术")
  129. @PostMapping("/sendHomeOperation")
  130. @SysLogger("sendHomeOperation")
  131. public RespDTO<List<AHomeOperationDTO>> sendHomeOperation(@RequestBody List<AHomeOperationVO> list){
  132. return RespDTO.onSuc(aHomeOperationInfoFacade.executeHomeOperation(list));
  133. }
  134. @ApiOperation(value = "数据引擎-获取危急值")
  135. @PostMapping("/sendCrisis")
  136. @SysLogger("sendCrisis")
  137. public RespDTO<List<AMedCrisisDTO>> sendCrisis(@RequestBody List<AMedCrisisVO> list){
  138. return aMedCrisisFacade.executeMedCrisis(list);
  139. }
  140. @ApiOperation(value = "数据引擎-删除标识")
  141. @PostMapping("/deleteFlag")
  142. @SysLogger("deleteFlag")
  143. public RespDTO deleteFlag(@RequestBody ADeleteFlagVO aDeleteFlagVO){
  144. if("brzyxx".equals(aDeleteFlagVO.getModeType())){
  145. return aBehospitalInfoFacade.deleteFlag(aDeleteFlagVO);
  146. }else if("bryz".equals(aDeleteFlagVO.getModeType())){
  147. return aDoctorAdviceFacade.deleteFlag(aDeleteFlagVO);
  148. }else if("basyxx".equals(aDeleteFlagVO.getModeType())){
  149. return aHomePageFacade.deleteFlag(aDeleteFlagVO);
  150. }else if("basyzd".equals(aDeleteFlagVO.getModeType())){
  151. return aHomeDiagnoseInfoFacade.deleteFlag(aDeleteFlagVO);
  152. }else if("basyss".equals(aDeleteFlagVO.getModeType())){
  153. return aHomeOperationInfoFacade.deleteFlag(aDeleteFlagVO);
  154. }else if("wsxx".equals(aDeleteFlagVO.getModeType())){
  155. return aMedicalRecordFacade.deleteFlag(aDeleteFlagVO);
  156. }else if("wsnr".equals(aDeleteFlagVO.getModeType())){
  157. return aMedicalRecordContentFacade.deleteFlag(aDeleteFlagVO);
  158. }else if("hyjg".equals(aDeleteFlagVO.getModeType())){
  159. return aMedLisResultFacade.deleteFlag(aDeleteFlagVO);
  160. }else if("jcjg".equals(aDeleteFlagVO.getModeType())){
  161. return aMedPacsResultFacade.deleteFlag(aDeleteFlagVO);
  162. }
  163. return RespDTO.onSuc(true);
  164. }
  165. @ApiOperation(value = "数据引擎-归档标识")
  166. @PostMapping("/placeFile")
  167. @SysLogger("placeFile")
  168. public RespDTO placeFileFlag(@RequestBody APlaceFileVO aPlaceFileVO){
  169. return aBehospitalInfoFacade.placeFileFlag(aPlaceFileVO);
  170. }
  171. @ApiOperation(value = "检查结果")
  172. @PostMapping("/sendPacsResults")
  173. @SysLogger("sendPacsResults")
  174. public RespDTO<List<AMedPacsResultVO>> sendPacsResults(@RequestBody List<AMedPacsResultVO> list){
  175. return aMedPacsResultFacade.executeMedPacsResult(list);
  176. }
  177. @ApiOperation(value = "化验结果")
  178. @PostMapping("/sendLisResults")
  179. @SysLogger("sendLisResults")
  180. public RespDTO<List<AMedLisResultVO>> sendLisResults(@RequestBody List<AMedLisResultVO> list){
  181. return aMedLisResultFacade.executeMedLisResult(list);
  182. }
  183. @ApiOperation(value = "检查信息")
  184. @PostMapping("/sendPacsInfos")
  185. @SysLogger("sendPacsInfos")
  186. public RespDTO sendPacsInfos(@RequestBody List<AMedPacsInfoVO> list){
  187. return aMedPacsInfoFacade.dealData(list);
  188. }
  189. @ApiOperation(value = "化验信息")
  190. @PostMapping("/sendLisInfos")
  191. @SysLogger("sendLisInfos")
  192. public RespDTO sendLisInfos(@RequestBody List<AMedLisInfoVO> list){
  193. return aMedLisInfoFacade.dealData(list);
  194. }
  195. @ApiOperation(value = "数据引擎-历史数据结构化处理")
  196. @PostMapping("/hisDataDeal")
  197. @SysLogger("hisDataDeal")
  198. public RespDTO<List<AMedCrisisDTO>> hisDataDeal(@RequestBody HisDataDealVO hisDataDealVO){
  199. boolean b = true;
  200. try {
  201. b = aMedicalRecordFacade.hisDataDeal(hisDataDealVO);
  202. } catch (Exception e) {
  203. e.printStackTrace();
  204. }
  205. return RespDTO.onSuc(b);
  206. }
  207. @ApiOperation(value = "数据引擎-历史数据拉取(入院时间)")
  208. @PostMapping("/sendDataOld")
  209. @SysLogger("sendDataOld")
  210. public void sendDataOld(String startDate,String stopDate){
  211. viewFacade.executeOldData(startDate,stopDate);
  212. }
  213. @ApiOperation(value = "数据引擎-历史数据拉取(住院号)")
  214. @PostMapping("/sendDataOldOne")
  215. @SysLogger("sendDataOldOne")
  216. public RespDTO<String> sendDataOldOne(@RequestBody OldInfoVo oldInfoVo){
  217. return RespDTO.onSuc(viewFacade.executeOldDataOne(oldInfoVo));
  218. }
  219. @ApiOperation(value = "数据引擎-历史数据拉取(出院时间)")
  220. @PostMapping("/sendDateOld")
  221. @SysLogger("sendDateOld")
  222. public void sendDateOld(String startDate,String stopDate){
  223. viewFacade.executeData(startDate,stopDate);
  224. }
  225. @ApiOperation(value = "单独获取病案首页")
  226. @PostMapping("/sendOldData")
  227. @SysLogger("sendOldData")
  228. public void sendOldData(){
  229. viewFacade.executeHome();
  230. }
  231. /*
  232. @ApiOperation(value = "数据引擎-列字段名和注释")
  233. @PostMapping("/getColumnZhAndCh")
  234. @SysLogger("getColumnZhAndCh")
  235. public RespDTO getColumnZhAndCh(){
  236. aStrConsultationNoteFacade.getColumnZhAndCh();
  237. return RespDTO.onSuc(true);
  238. }
  239. @Autowired
  240. private ColumnFacade columnFacade;
  241. @ApiOperation(value = "病历解析")
  242. @PostMapping("/analyseRec")
  243. @SysLogger("analyseRec")
  244. public RespDTO analyseRec(@RequestBody AColumnVO aColumnVO){
  245. columnFacade.analyseRec(aColumnVO.getHospitalId(),aColumnVO.getModeId(),aColumnVO.getContent());
  246. return RespDTO.onSuc(true);
  247. }*/
  248. }