MqSdkController.java 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. package com.yihu.wlyy.controller;
  2. import com.yihu.wlyy.service.EntranceService;
  3. import io.swagger.annotations.Api;
  4. import io.swagger.annotations.ApiOperation;
  5. import io.swagger.annotations.ApiParam;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.bind.annotation.RestController;
  11. /**
  12. * Created by zdm on 2019/5/16.
  13. */
  14. @RestController
  15. @RequestMapping(value ="/mqsdk")
  16. @Api(value = "his信息获取解析", description = "his信息获取解析", tags = {"hospital-entrance基础服务"})
  17. public class MqSdkController /*extends EnvelopRestEndpoint */{
  18. private boolean testProfiles=false;
  19. @Autowired
  20. private EntranceService entranceService;
  21. @GetMapping(value = "/BS15017")
  22. @ApiOperation(value = "固定入参:门诊余额查询")
  23. public String BS15017(
  24. @ApiParam(name = "CARD_NO", value = "卡号", required = true)
  25. @RequestParam(value = "CARD_NO") String CARD_NO) {
  26. try {
  27. String obj = "";
  28. if (!testProfiles) {
  29. obj = entranceService.qutpatientBalance(CARD_NO);
  30. } else {
  31. obj = "{\"Msg\":{\"CARD_NO\":\"D26818411\",\"ZHYE\":\"0.00\",\"YEXZ_FLAG\":\"1\"},\"MsgCount\":\"1\",\"CurrentNum\":\"1\"}";
  32. //卡号不存在返回的结果为 {"code":"1","MsgInfo":{"Msg":null,"MsgCount":"1","CurrentNum":"1"}}
  33. }
  34. System.out.println("obj==" + obj);
  35. } catch (Exception e) {
  36. e.printStackTrace();
  37. return "";
  38. }
  39. return "";
  40. }
  41. @GetMapping(value = "/BS15018")
  42. @ApiOperation(value = "固定入参:门诊就诊卡列表")
  43. public String BS15018(
  44. @ApiParam(name = "SOCIAL_NO", value = "身份证号", required = false)
  45. @RequestParam(value = "SOCIAL_NO",required = false) String SOCIAL_NO,
  46. @ApiParam(name = "CARD_NO", value = "就诊卡号", required = false)
  47. @RequestParam(value = "CARD_NO",required = false) String CARD_NO) {
  48. try {
  49. String obj="";
  50. if(!testProfiles){
  51. obj= entranceService.BS15018(SOCIAL_NO,CARD_NO);
  52. }else {
  53. obj="[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  54. }
  55. System.out.println("obj=="+obj);
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. return "";
  59. }
  60. return "";
  61. }
  62. @GetMapping(value = "/BS16017")
  63. @ApiOperation(value = "根据流水号或者居民id查找门诊处方信息(所有处方)")
  64. public String BS16017(
  65. @ApiParam(name = "REGISTER_SN", value = "流水号", required = false)
  66. @RequestParam(value = "REGISTER_SN",required = false) String REGISTER_SN,
  67. @ApiParam(name = "PAT_NO", value = "病人id", required = false)
  68. @RequestParam(value = "PAT_NO",required = false) String PAT_NO,
  69. @ApiParam(name = "ADM_NO", value = "住院唯一号", required = false)
  70. @RequestParam(value = "ADM_NO",required = false) String ADM_NO) {
  71. try {
  72. String obj="";
  73. if(!testProfiles){
  74. obj= entranceService.BS16017(REGISTER_SN,PAT_NO,ADM_NO);
  75. }else {
  76. obj="[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  77. }
  78. System.out.println("obj=="+obj);
  79. } catch (Exception e) {
  80. e.printStackTrace();
  81. return "";
  82. }
  83. return "";
  84. }
  85. @GetMapping(value = "/BS30025")
  86. @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录 V1.00")
  87. public String BS30025(@ApiParam(name = "PAT_NO", value = "居民id")
  88. @RequestParam(value = "PAT_NO",required = false) String PAT_NO,
  89. @ApiParam(name = "ADM_NO", value = "就诊唯一号")
  90. @RequestParam(value = "ADM_NO",required = false) String ADM_NO,
  91. @ApiParam(name = "REGISTER_SN", value = "流水号(处方号)")
  92. @RequestParam(value = "REGISTER_SN",required = false) String REGISTER_SN,
  93. @ApiParam(name = "PAT_CARDNO", value = "卡号")
  94. @RequestParam(value = "PAT_CARDNO",required = false) String PAT_CARDNO,
  95. @ApiParam(name = "social_no", value = "身份证号")
  96. @RequestParam(value = "social_no",required = false) String social_no) {
  97. try {
  98. String obj = "";
  99. if (!testProfiles) {
  100. obj = entranceService.BS30025(PAT_NO,ADM_NO,REGISTER_SN,PAT_CARDNO, social_no);
  101. } else {
  102. obj = "[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  103. }
  104. System.out.println("obj==" + obj);
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. return "";
  108. }
  109. return "";
  110. }
  111. @GetMapping(value = "/MS30001")
  112. @ApiOperation(value = "医院药品字典 V1.00")
  113. public String MS30001(@ApiParam(name = "DRUG_CODE", value = "字典编码")
  114. @RequestParam(value = "DRUG_CODE", required = false) String DRUG_CODE,
  115. @ApiParam(name = "startTime", value = "就诊开始时间")
  116. @RequestParam(value = "startTime", required = false) String startTime) {
  117. try {
  118. String obj="";
  119. if(!testProfiles){
  120. obj= entranceService.MS30001();
  121. }else {
  122. obj="[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  123. }
  124. System.out.println("obj=="+obj);
  125. } catch (Exception e) {
  126. e.printStackTrace();
  127. return "";
  128. }
  129. return "";
  130. }
  131. @GetMapping(value = "/MS53001")
  132. @ApiOperation(value = " 医院药品字典")
  133. public String MS53001(@ApiParam(name = "charge_code", value = "收费码")
  134. @RequestParam(value = "charge_code", required = false) String charge_code,
  135. @ApiParam(name = "py_code", value = "拼音码")
  136. @RequestParam(value = "py_code", required = false) String py_code,
  137. @ApiParam(name = "stock_amount", value = "库存")
  138. @RequestParam(value = "stock_amount", required = false) String stock_amount,
  139. @ApiParam(name = "visible_flag", value = "可用标志(0可用1不可用)")
  140. @RequestParam(value = "visible_flag", required = false) String visible_flag) {
  141. try {
  142. String obj="";
  143. if(!testProfiles){
  144. obj= entranceService.MS53001(charge_code,py_code,stock_amount,visible_flag);
  145. }else {
  146. obj="[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  147. }
  148. System.out.println("obj=="+obj);
  149. } catch (Exception e) {
  150. e.printStackTrace();
  151. return "";
  152. }
  153. return "";
  154. }
  155. @GetMapping(value = "/BS10110")
  156. @ApiOperation(value = "门诊给药方式")
  157. public String BS10110(
  158. @ApiParam(name = "supply_code", value = "编码")
  159. @RequestParam(value = "supply_code", required = false) String supply_code) {
  160. try {
  161. String obj="";
  162. if(!testProfiles){
  163. obj= entranceService.BS10110(supply_code);
  164. }else {
  165. obj="[{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"D40136791\",\"CARD_STAT\":\"旧卡停用\",\"OP_DATE\":\"2011-09-27 15:35:57\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"},{\"PAT_NO\":\"P5616242-0 \",\"CARD_NO\":\"DA1872143\",\"CARD_STAT\":\"激活\",\"OP_DATE\":\"2014-07-25 08:46:40\",\"CARD_TYPE\":\"2\",\"CARD_TYPE_NAME\":\"社保卡\",\"social_no\":\"350211198411053024\"}]";
  166. }
  167. System.out.println("obj=="+obj);
  168. } catch (Exception e) {
  169. e.printStackTrace();
  170. return "";
  171. }
  172. return "";
  173. }
  174. @GetMapping(value = "/BS10111")
  175. @ApiOperation(value = " 线上挂号接口")
  176. public String BS10111(
  177. @ApiParam(name = "card_no", value = "卡号")
  178. @RequestParam(value = "card_no", required = false) String card_no,
  179. @ApiParam(name = "doctor", value = "医生工号")
  180. @RequestParam(value = "doctor", required = false) String doctor,
  181. @ApiParam(name = "dept", value = "科室编码")
  182. @RequestParam(value = "dept", required = false) String dept,
  183. @ApiParam(name = "charge_type", value = "号别")
  184. @RequestParam(value = "charge_type", required = false) String charge_type,
  185. @ApiParam(name = "win_no", value = "分部号")
  186. @RequestParam(value = "win_no", required = false) String win_no) {
  187. try {
  188. String obj="";
  189. if(!testProfiles){
  190. obj= entranceService.BS10111(card_no,doctor,dept,charge_type,win_no);
  191. }else {
  192. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  193. }
  194. System.out.println("obj=="+obj);
  195. } catch (Exception e) {
  196. e.printStackTrace();
  197. return "";
  198. }
  199. return "";
  200. }
  201. //多个前端使用json传参
  202. @GetMapping(value = "/BS10112")
  203. @ApiOperation(value = "线上处方接口")
  204. public String BS10112(
  205. @ApiParam(name = "card_no", value = "卡号")
  206. @RequestParam(value = "card_no", required = true) String card_no,
  207. @ApiParam(name = "doctor", value = "医生工号")
  208. @RequestParam(value = "doctor", required = true) String doctor,
  209. @ApiParam(name = "dept", value = "科室编码")
  210. @RequestParam(value = "dept", required = true) String dept,
  211. @ApiParam(name = "charge_code", value = "收费码")
  212. @RequestParam(value = "charge_code", required = true) String charge_code,
  213. @ApiParam(name = "win_no", value = "分部号")
  214. @RequestParam(value = "win_no", required = true) String win_no,
  215. @ApiParam(name = "charge_flag", value = "项目类别")
  216. @RequestParam(value = "charge_flag", required = true) String charge_flag,
  217. @ApiParam(name = "quantity", value = "数量")
  218. @RequestParam(value = "quantity", required = true) String quantity,
  219. @ApiParam(name = "serial_no", value = "挂号流水号")
  220. @RequestParam(value = "serial_no", required = true) String serial_no,
  221. @ApiParam(name = "group_no", value = "库房号")
  222. @RequestParam(value = "group_no", required = true) String group_no,
  223. @ApiParam(name = "serial", value = "药品序列号")
  224. @RequestParam(value = "serial", required = true) String serial,
  225. @ApiParam(name = "icd_code", value = "主诊断编码")
  226. @RequestParam(value = "icd_code", required = true) String icd_code,
  227. @ApiParam(name = "diag_two", value = "第二诊断")
  228. @RequestParam(value = "diag_two", required = false) String diag_two,
  229. @ApiParam(name = "diag_three", value = "第三诊断")
  230. @RequestParam(value = "diag_three", required = false) String diag_three,
  231. @ApiParam(name = "diag_four", value = "第四诊断")
  232. @RequestParam(value = "diag_four", required = false) String diag_four,
  233. @ApiParam(name = "diag_five", value = "第五诊断")
  234. @RequestParam(value = "diag_five", required = false) String diag_five,
  235. @ApiParam(name = "dosage", value = "用量")
  236. @RequestParam(value = "dosage", required = false) String dosage,
  237. @ApiParam(name = "unit", value = "用量单位")
  238. @RequestParam(value = "unit", required = false) String unit,
  239. @ApiParam(name = "usage", value = "频率")
  240. @RequestParam(value = "usage", required = false) String usage,
  241. @ApiParam(name = "supply_code", value = "用法")
  242. @RequestParam(value = "supply_code", required = false) String supply_code,
  243. @ApiParam(name = "days", value = "天数")
  244. @RequestParam(value = "days", required = false) String days,
  245. @ApiParam(name = "frequency", value = "组号")
  246. @RequestParam(value = "frequency", required = false) String frequency) {
  247. try {
  248. String obj="";
  249. if(!testProfiles){
  250. obj= entranceService.BS10112(card_no,doctor,dept,charge_code,win_no,charge_flag,quantity, serial_no,group_no,
  251. serial,icd_code,diag_two,diag_three,diag_four,diag_five,dosage,unit,usage,supply_code, days,frequency);
  252. }else {
  253. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  254. }
  255. System.out.println("obj=="+obj);
  256. } catch (Exception e) {
  257. e.printStackTrace();
  258. return "";
  259. }
  260. return "";
  261. }
  262. @GetMapping(value = "/BS10114")
  263. @ApiOperation(value = "医生挂号权限查询接口 ")
  264. public String BS10114(
  265. @ApiParam(name = "doctor_code", value = "医生工号")
  266. @RequestParam(value = "doctor_code", required = false) String doctor_code,
  267. @ApiParam(name = "dept", value = "科室编码")
  268. @RequestParam(value = "dept", required = false) String dept,
  269. @ApiParam(name = "charge_type", value = "号别编码")
  270. @RequestParam(value = "charge_type", required = false) String charge_type,
  271. @ApiParam(name = "win_no", value = "分部号")
  272. @RequestParam(value = "win_no", required = false) String win_no) {
  273. try {
  274. String obj="";
  275. if(!testProfiles){
  276. obj= entranceService.BS10114(doctor_code,dept,charge_type,win_no);
  277. }else {
  278. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  279. }
  280. System.out.println("obj=="+obj);
  281. } catch (Exception e) {
  282. e.printStackTrace();
  283. return "";
  284. }
  285. return "";
  286. }
  287. @GetMapping(value = "/MS02001")
  288. @ApiOperation(value = "科室字典 ")
  289. public String MS02001() {
  290. try {
  291. String obj="";
  292. if(!testProfiles){
  293. obj= entranceService.MS02001();
  294. }else {
  295. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  296. }
  297. //TODO 待解析 存储入库
  298. System.out.println("obj=="+obj);
  299. } catch (Exception e) {
  300. e.printStackTrace();
  301. return "";
  302. }
  303. return "";
  304. }
  305. @GetMapping(value = "/MS02013")
  306. @ApiOperation(value = "号别字典接口 ")
  307. public String MS02013() {
  308. try {
  309. String obj="";
  310. if(!testProfiles){
  311. obj= entranceService.MS02013();
  312. }else {
  313. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  314. }
  315. System.out.println("obj=="+obj);
  316. } catch (Exception e) {
  317. e.printStackTrace();
  318. return "";
  319. }
  320. return "";
  321. }
  322. @GetMapping(value = "/MS30012")
  323. @ApiOperation(value = "医院频次/医嘱字典表")
  324. public String MS30012() {
  325. try {
  326. String obj="";
  327. if(!testProfiles){
  328. obj= entranceService.MS30012();
  329. }else {
  330. obj="{\"code\":\"1\",\"MsgInfo\":[{\"resquest\":{\"@RESULT\":\"-1\",\"@MSG\":\"该医生无权挂号该科室!\"}}]}";
  331. }
  332. System.out.println("obj=="+obj);
  333. } catch (Exception e) {
  334. e.printStackTrace();
  335. return "";
  336. }
  337. return "";
  338. }
  339. }