gdyb_controller.go 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. package controllers
  2. import (
  3. "XT_New/models"
  4. "XT_New/service"
  5. "XT_New/utils"
  6. "encoding/json"
  7. "fmt"
  8. "github.com/astaxie/beego"
  9. "io/ioutil"
  10. )
  11. type GdybController struct {
  12. BaseAuthAPIController
  13. }
  14. func GdybRegistRouters() {
  15. beego.Router("/gdyb/one", &GdybController{}, "get:PostOne")
  16. beego.Router("/gdyb/two", &GdybController{}, "get:PostTwo")
  17. beego.Router("/gdyb/three", &GdybController{}, "get:PostThree")
  18. beego.Router("/gdyb/four", &GdybController{}, "get:PostFour")
  19. beego.Router("/gdyb/five", &GdybController{}, "post:PostFive")
  20. beego.Router("/gdyb/six", &GdybController{}, "get:PostSix")
  21. beego.Router("/gdyb/seven", &GdybController{}, "get:PostSeven")
  22. beego.Router("/gdyb/eight", &GdybController{}, "get:PostEight")
  23. beego.Router("/gdyb/nine", &GdybController{}, "get:PostNine")
  24. //beego.Router("/gdyb/tem", &GdybController{}, "get:PostTen")
  25. }
  26. //provinces, _ := service.GetDistrictsByUpid(0)21
  27. type Result struct {
  28. ErrMsg interface{} `json:"err_msg"`
  29. InfRefmsgid string `json:"inf_refmsgid"`
  30. Infcode int64 `json:"infcode"`
  31. Output struct {
  32. Baseinfo struct {
  33. Age float64 `json:"age"`
  34. Brdy string `json:"brdy"`
  35. Certno string `json:"certno"`
  36. Gend string `json:"gend"`
  37. Naty string `json:"naty"`
  38. PsnCertType string `json:"psn_cert_type"`
  39. PsnName string `json:"psn_name"`
  40. PsnNo string `json:"psn_no"`
  41. } `json:"baseinfo"`
  42. Idetinfo []interface{} `json:"idetinfo"`
  43. Iinfo []struct {
  44. Balc int64 `json:"balc"`
  45. CvlservFlag string `json:"cvlserv_flag"`
  46. EmpName string `json:"emp_name"`
  47. InsuplcAdmdvs string `json:"insuplc_admdvs"`
  48. Insutype string `json:"insutype"`
  49. PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
  50. PausInsuDate interface{} `json:"paus_insu_date"`
  51. PsnInsuDate string `json:"psn_insu_date"`
  52. PsnInsuStas string `json:"psn_insu_stas"`
  53. PsnType string `json:"psn_type"`
  54. } `json:"iinfo"`
  55. } `json:"output"`
  56. RefmsgTime string `json:"refmsg_time"`
  57. RespondTime string `json:"respond_time"`
  58. Signtype interface{} `json:"signtype"`
  59. WarnInfo interface{} `json:"warn_info"`
  60. }
  61. func (c *GdybController) PostOne() {
  62. certNo := c.GetString("cert_no")
  63. org_name := c.GetString("org_name")
  64. doctor := c.GetString("doctor")
  65. fixmedins_code := c.GetString("fixmedins_code")
  66. insuplc_admdvs := c.GetString("insuplc_admdvs")
  67. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  68. secret_key := c.GetString("secret_key")
  69. result := service.Gdyb1101(certNo, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  70. var dat map[string]interface{}
  71. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  72. } else {
  73. }
  74. c.ServeSuccessJSON(map[string]interface{}{
  75. "pre": dat,
  76. })
  77. }
  78. func (c *GdybController) PostTwo() {
  79. psnNo := c.GetString("psn_no")
  80. insutype := c.GetString("insutype")
  81. certNo := c.GetString("cert_no")
  82. org_name := c.GetString("org_name")
  83. doctor := c.GetString("doctor")
  84. ipt_otp_no := c.GetString("ipt_otp_no")
  85. dept := c.GetString("dept")
  86. fixmedins_code := c.GetString("fixmedins_code")
  87. dept_code := c.GetString("dept_code")
  88. doctor_id := c.GetString("doctor_id")
  89. insuplc_admdvs := c.GetString("insuplc_admdvs")
  90. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  91. secret_key := c.GetString("secret_key")
  92. result := service.Gdyb2201(psnNo, insutype, certNo, org_name, doctor, ipt_otp_no, dept, fixmedins_code, dept_code, doctor_id, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  93. var dat map[string]interface{}
  94. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  95. //fmt.Println(dat["status"])
  96. } else {
  97. }
  98. c.ServeSuccessJSON(map[string]interface{}{
  99. "pre": dat,
  100. })
  101. }
  102. func (c *GdybController) PostThree() {
  103. psnNo := c.GetString("psn_no")
  104. mdtrtId := c.GetString("mdtrt_id")
  105. iptOtpNo := c.GetString("ipt_otp_no")
  106. org_name := c.GetString("org_name")
  107. doctor := c.GetString("doctor")
  108. insuplc_admdvs := c.GetString("insuplc_admdvs")
  109. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  110. secret_key := c.GetString("secret_key")
  111. result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  112. c.ServeSuccessJSON(map[string]interface{}{
  113. "pre": result,
  114. })
  115. }
  116. func (c *GdybController) PostFour() {
  117. psnNo := c.GetString("psn_no")
  118. mdtrtId := c.GetString("mdtrt_id")
  119. doctor := c.GetString("doctor")
  120. department := c.GetString("department")
  121. diag := c.GetString("diag")
  122. org_name := c.GetString("org_name")
  123. med_type := c.GetString("med_type")
  124. doctor_id, _ := c.GetInt64("doctor_id", 0)
  125. fixmedins_code := c.GetString("fixmedins_code")
  126. diag_code := c.GetString("diag_code")
  127. insuplc_admdvs := c.GetString("insuplc_admdvs")
  128. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  129. secret_key := c.GetString("secret_key")
  130. result := service.Gdyb2203(psnNo, mdtrtId, doctor, department, diag, org_name, med_type, doctor_id, fixmedins_code, diag_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  131. var dat map[string]interface{}
  132. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  133. } else {
  134. }
  135. c.ServeSuccessJSON(map[string]interface{}{
  136. "pre": dat,
  137. })
  138. }
  139. type All struct {
  140. HisPrescription HisPrescription
  141. mdtrt_id string
  142. psn_no string
  143. }
  144. type HisPrescription struct {
  145. ID int64 `gorm:"column:id" json:"id" form:"id"`
  146. UserOrgId int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
  147. RecordDate int64 `gorm:"column:record_date" json:"record_date" form:"record_date"`
  148. PatientId int64 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
  149. HisPatientId int64 `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"`
  150. Status int64 `gorm:"column:status" json:"status" form:"status"`
  151. Ctime int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
  152. Mtime int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
  153. Number string `gorm:"column:number" json:"number" form:"number"`
  154. Type int64 `gorm:"column:type" json:"type" form:"type"`
  155. Doctor int64 `gorm:"column:doctor" json:"doctor" form:"doctor"`
  156. Creator int64 `gorm:"column:creator" json:"creator" form:"creator"`
  157. Modifier int64 `gorm:"column:modifier" json:"modifier" form:"modifier"`
  158. HisDoctorAdviceInfo []*models.HisDoctorAdviceInfo `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"advices"`
  159. HisPrescriptionProject []*models.HisPrescriptionProject `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"project"`
  160. }
  161. func (c *GdybController) PostFive() {
  162. body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
  163. var respJSON map[string]interface{}
  164. if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
  165. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  166. return
  167. }
  168. userJSONBytes, _ := json.Marshal(respJSON["pre"])
  169. var hp []*models.HisPrescription
  170. if err := json.Unmarshal(userJSONBytes, &hp); err != nil {
  171. utils.ErrorLog("解析失败:%v", err)
  172. return
  173. }
  174. result := service.Gdyb2204(respJSON["psn_no"].(string), respJSON["mdtrt_id"].(string), hp, respJSON["chrg_bchno"].(string), respJSON["org_name"].(string),
  175. respJSON["doctor"].(string), respJSON["dept"].(string), respJSON["fixmedins_code"].(string), respJSON["dept_code"].(string), respJSON["doctor_id"].(string), respJSON["insuplc_admdvs"].(string), respJSON["mdtrtarea_admvs"].(string), respJSON["secret_key"].(string))
  176. var dat map[string]interface{}
  177. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  178. fmt.Println(dat)
  179. } else {
  180. fmt.Println(err)
  181. }
  182. c.ServeSuccessJSON(map[string]interface{}{
  183. "pre": dat,
  184. })
  185. }
  186. func (c *GdybController) PostSix() {
  187. psnNo := c.GetString("psn_no")
  188. mdtrtId := c.GetString("mdtrt_id")
  189. chrgBchno := c.GetString("chrg_bchno")
  190. org_name := c.GetString("org_name")
  191. doctor := c.GetString("doctor")
  192. insuplc_admdvs := c.GetString("insuplc_admdvs")
  193. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  194. secret_key := c.GetString("secret_key")
  195. result := service.Gdyb2205(psnNo, mdtrtId, chrgBchno, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  196. c.ServeSuccessJSON(map[string]interface{}{
  197. "pre": result,
  198. })
  199. }
  200. func (c *GdybController) PostSeven() {
  201. psnNo := c.GetString("psn_no")
  202. mdtrtId := c.GetString("mdtrt_id")
  203. chrgBchno := c.GetString("chrg_bchno")
  204. certNo := c.GetString("cert_no")
  205. insutype := c.GetString("insutype")
  206. total := c.GetString("total")
  207. org_name := c.GetString("org_name")
  208. doctor := c.GetString("doctor")
  209. secret_key := c.GetString("secret_key")
  210. result := service.Gdyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, secret_key)
  211. var dat map[string]interface{}
  212. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  213. fmt.Println(dat)
  214. } else {
  215. fmt.Println(err)
  216. }
  217. c.ServeSuccessJSON(map[string]interface{}{
  218. "pre": dat,
  219. })
  220. }
  221. func (c *GdybController) PostEight() {
  222. psnNo := c.GetString("psn_no")
  223. mdtrtId := c.GetString("mdtrt_id")
  224. chrgBchno := c.GetString("chrg_bchno")
  225. certNo := c.GetString("cert_no")
  226. insutype := c.GetString("insutype")
  227. total := c.GetString("total")
  228. org_name := c.GetString("org_name")
  229. doctor := c.GetString("doctor")
  230. fixmedins_code := c.GetString("fixmedins_code")
  231. insuplc_admdvs := c.GetString("insuplc_admdvs")
  232. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  233. secret_key := c.GetString("secret_key")
  234. result := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  235. var dat map[string]interface{}
  236. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  237. fmt.Println(dat)
  238. } else {
  239. fmt.Println(err)
  240. }
  241. c.ServeSuccessJSON(map[string]interface{}{
  242. "pre": dat,
  243. })
  244. }
  245. func (c *GdybController) PostNine() {
  246. psnNo := c.GetString("psn_no")
  247. mdtrtId := c.GetString("mdtrt_id")
  248. setlId := c.GetString("setl_id")
  249. org_name := c.GetString("org_name")
  250. doctor := c.GetString("doctor")
  251. secret_key := c.GetString("secret_key")
  252. result := service.Gdyb2208(psnNo, mdtrtId, setlId, org_name, doctor, secret_key)
  253. c.ServeSuccessJSON(map[string]interface{}{
  254. "pre": result,
  255. })
  256. }
  257. //func (c *GdybController) PostTen() {
  258. // fixmedins_type := c.GetString("fixmedins_type")
  259. // //fixmedins_type := c.GetString("org_name")
  260. //
  261. // result := service.Gdyb1201(fixmedins_type)
  262. // c.ServeSuccessJSON(map[string]interface{}{
  263. // "pre": result,
  264. // })
  265. //}