gdyb_controller.go 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  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. "unsafe"
  11. )
  12. type GdybController struct {
  13. BaseAuthAPIController
  14. }
  15. func GdybRegistRouters() {
  16. beego.Router("/gdyb/one", &GdybController{}, "get:PostOne")
  17. beego.Router("/gdyb/two", &GdybController{}, "get:PostTwo")
  18. beego.Router("/gdyb/three", &GdybController{}, "get:PostThree")
  19. beego.Router("/gdyb/four", &GdybController{}, "get:PostFour")
  20. beego.Router("/gdyb/five", &GdybController{}, "post:PostFive")
  21. beego.Router("/gdyb/six", &GdybController{}, "get:PostSix")
  22. beego.Router("/gdyb/seven", &GdybController{}, "get:PostSeven")
  23. beego.Router("/gdyb/eight", &GdybController{}, "get:PostEight")
  24. beego.Router("/gdyb/nine", &GdybController{}, "get:PostNine")
  25. beego.Router("/gdyb/ten", &GdybController{}, "get:PostTen")
  26. beego.Router("/gdyb/eleven", &GdybController{}, "get:PostEleven")
  27. beego.Router("/gdyb/twelve", &GdybController{}, "get:PostTwelve")
  28. }
  29. type Result struct {
  30. ErrMsg interface{} `json:"err_msg"`
  31. InfRefmsgid string `json:"inf_refmsgid"`
  32. Infcode int64 `json:"infcode"`
  33. Output struct {
  34. Baseinfo struct {
  35. Age float64 `json:"age"`
  36. Brdy string `json:"brdy"`
  37. Certno string `json:"certno"`
  38. Gend string `json:"gend"`
  39. Naty string `json:"naty"`
  40. PsnCertType string `json:"psn_cert_type"`
  41. PsnName string `json:"psn_name"`
  42. PsnNo string `json:"psn_no"`
  43. } `json:"baseinfo"`
  44. Idetinfo []interface{} `json:"idetinfo"`
  45. Iinfo []struct {
  46. Balc int64 `json:"balc"`
  47. CvlservFlag string `json:"cvlserv_flag"`
  48. EmpName string `json:"emp_name"`
  49. InsuplcAdmdvs string `json:"insuplc_admdvs"`
  50. Insutype string `json:"insutype"`
  51. PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
  52. PausInsuDate interface{} `json:"paus_insu_date"`
  53. PsnInsuDate string `json:"psn_insu_date"`
  54. PsnInsuStas string `json:"psn_insu_stas"`
  55. PsnType string `json:"psn_type"`
  56. } `json:"iinfo"`
  57. } `json:"output"`
  58. RefmsgTime string `json:"refmsg_time"`
  59. RespondTime string `json:"respond_time"`
  60. Signtype interface{} `json:"signtype"`
  61. WarnInfo interface{} `json:"warn_info"`
  62. }
  63. func (c *GdybController) PostOne() {
  64. certNo := c.GetString("cert_no")
  65. org_name := c.GetString("org_name")
  66. doctor := c.GetString("doctor")
  67. fixmedins_code := c.GetString("fixmedins_code")
  68. insuplc_admdvs := c.GetString("insuplc_admdvs")
  69. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  70. secret_key := c.GetString("secret_key")
  71. result := service.Gdyb1101(certNo, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  72. var dat map[string]interface{}
  73. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  74. } else {
  75. }
  76. c.ServeSuccessJSON(map[string]interface{}{
  77. "pre": dat,
  78. })
  79. }
  80. func (c *GdybController) PostTwo() {
  81. psnNo := c.GetString("psn_no")
  82. insutype := c.GetString("insutype")
  83. certNo := c.GetString("cert_no")
  84. org_name := c.GetString("org_name")
  85. doctor := c.GetString("doctor")
  86. ipt_otp_no := c.GetString("ipt_otp_no")
  87. dept := c.GetString("dept")
  88. fixmedins_code := c.GetString("fixmedins_code")
  89. dept_code := c.GetString("dept_code")
  90. doctor_id := c.GetString("doctor_id")
  91. insuplc_admdvs := c.GetString("insuplc_admdvs")
  92. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  93. secret_key := c.GetString("secret_key")
  94. 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)
  95. var dat map[string]interface{}
  96. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  97. //fmt.Println(dat["status"])
  98. } else {
  99. }
  100. c.ServeSuccessJSON(map[string]interface{}{
  101. "pre": dat,
  102. })
  103. }
  104. func (c *GdybController) PostThree() {
  105. psnNo := c.GetString("psn_no")
  106. mdtrtId := c.GetString("mdtrt_id")
  107. iptOtpNo := c.GetString("ipt_otp_no")
  108. org_name := c.GetString("org_name")
  109. doctor := c.GetString("doctor")
  110. insuplc_admdvs := c.GetString("insuplc_admdvs")
  111. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  112. secret_key := c.GetString("secret_key")
  113. result := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  114. c.ServeSuccessJSON(map[string]interface{}{
  115. "pre": result,
  116. })
  117. }
  118. func (c *GdybController) PostFour() {
  119. psnNo := c.GetString("psn_no")
  120. mdtrtId := c.GetString("mdtrt_id")
  121. doctor := c.GetString("doctor")
  122. department := c.GetString("department")
  123. diag := c.GetString("diag")
  124. org_name := c.GetString("org_name")
  125. med_type := c.GetString("med_type")
  126. doctor_id, _ := c.GetInt64("doctor_id", 0)
  127. fixmedins_code := c.GetString("fixmedins_code")
  128. diag_code := c.GetString("diag_code")
  129. insuplc_admdvs := c.GetString("insuplc_admdvs")
  130. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  131. secret_key := c.GetString("secret_key")
  132. result := service.Gdyb2203(psnNo, mdtrtId, doctor, department, diag, org_name, med_type, doctor_id, fixmedins_code, diag_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  133. var dat map[string]interface{}
  134. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  135. } else {
  136. }
  137. c.ServeSuccessJSON(map[string]interface{}{
  138. "pre": dat,
  139. })
  140. }
  141. type All struct {
  142. HisPrescription HisPrescription
  143. mdtrt_id string
  144. psn_no string
  145. }
  146. type HisPrescription struct {
  147. ID int64 `gorm:"column:id" json:"id" form:"id"`
  148. UserOrgId int64 `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
  149. RecordDate int64 `gorm:"column:record_date" json:"record_date" form:"record_date"`
  150. PatientId int64 `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
  151. HisPatientId int64 `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"`
  152. Status int64 `gorm:"column:status" json:"status" form:"status"`
  153. Ctime int64 `gorm:"column:ctime" json:"ctime" form:"ctime"`
  154. Mtime int64 `gorm:"column:mtime" json:"mtime" form:"mtime"`
  155. Number string `gorm:"column:number" json:"number" form:"number"`
  156. Type int64 `gorm:"column:type" json:"type" form:"type"`
  157. Doctor int64 `gorm:"column:doctor" json:"doctor" form:"doctor"`
  158. Creator int64 `gorm:"column:creator" json:"creator" form:"creator"`
  159. Modifier int64 `gorm:"column:modifier" json:"modifier" form:"modifier"`
  160. HisDoctorAdviceInfo []*models.HisDoctorAdviceInfo `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"advices"`
  161. HisPrescriptionProject []*models.HisPrescriptionProject `gorm:"ForeignKey:PatientId,RecordDate,PrescriptionId;AssociationForeignKey:PatientId,RecordDate,ID" json:"project"`
  162. }
  163. func (c *GdybController) PostFive() {
  164. body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
  165. var respJSON map[string]interface{}
  166. if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
  167. utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  168. return
  169. }
  170. userJSONBytes, _ := json.Marshal(respJSON["pre"])
  171. var hp []*models.HisPrescription
  172. if err := json.Unmarshal(userJSONBytes, &hp); err != nil {
  173. utils.ErrorLog("解析失败:%v", err)
  174. return
  175. }
  176. result := service.Gdyb2204(respJSON["psn_no"].(string), respJSON["mdtrt_id"].(string), hp, respJSON["chrg_bchno"].(string), respJSON["org_name"].(string),
  177. 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))
  178. var dat map[string]interface{}
  179. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  180. fmt.Println(dat)
  181. } else {
  182. fmt.Println(err)
  183. }
  184. c.ServeSuccessJSON(map[string]interface{}{
  185. "pre": dat,
  186. })
  187. }
  188. func (c *GdybController) PostSix() {
  189. psnNo := c.GetString("psn_no")
  190. mdtrtId := c.GetString("mdtrt_id")
  191. chrgBchno := c.GetString("chrg_bchno")
  192. org_name := c.GetString("org_name")
  193. doctor := c.GetString("doctor")
  194. insuplc_admdvs := c.GetString("insuplc_admdvs")
  195. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  196. secret_key := c.GetString("secret_key")
  197. fixmedins_code := c.GetString("fixmedins_code")
  198. result := service.Gdyb2205(psnNo, mdtrtId, chrgBchno, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code)
  199. var dat map[string]interface{}
  200. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  201. fmt.Println(dat)
  202. } else {
  203. fmt.Println(err)
  204. }
  205. c.ServeSuccessJSON(map[string]interface{}{
  206. "pre": result,
  207. })
  208. }
  209. func (c *GdybController) PostSeven() {
  210. psnNo := c.GetString("psn_no")
  211. mdtrtId := c.GetString("mdtrt_id")
  212. chrgBchno := c.GetString("chrg_bchno")
  213. certNo := c.GetString("cert_no")
  214. insutype := c.GetString("insutype")
  215. total := c.GetString("total")
  216. org_name := c.GetString("org_name")
  217. doctor := c.GetString("doctor")
  218. secret_key := c.GetString("secret_key")
  219. result := service.Gdyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, secret_key)
  220. var dat map[string]interface{}
  221. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  222. fmt.Println(dat)
  223. } else {
  224. fmt.Println(err)
  225. }
  226. c.ServeSuccessJSON(map[string]interface{}{
  227. "pre": dat,
  228. })
  229. }
  230. func (c *GdybController) PostEight() {
  231. psnNo := c.GetString("psn_no")
  232. mdtrtId := c.GetString("mdtrt_id")
  233. chrgBchno := c.GetString("chrg_bchno")
  234. certNo := c.GetString("cert_no")
  235. insutype := c.GetString("insutype")
  236. total := c.GetString("total")
  237. org_name := c.GetString("org_name")
  238. doctor := c.GetString("doctor")
  239. fixmedins_code := c.GetString("fixmedins_code")
  240. insuplc_admdvs := c.GetString("insuplc_admdvs")
  241. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  242. secret_key := c.GetString("secret_key")
  243. result := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key)
  244. var dat map[string]interface{}
  245. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  246. fmt.Println(dat)
  247. } else {
  248. fmt.Println(err)
  249. }
  250. c.ServeSuccessJSON(map[string]interface{}{
  251. "pre": dat,
  252. })
  253. }
  254. func (c *GdybController) PostNine() {
  255. psnNo := c.GetString("psn_no")
  256. mdtrtId := c.GetString("mdtrt_id")
  257. setlId := c.GetString("setl_id")
  258. org_name := c.GetString("org_name")
  259. doctor := c.GetString("doctor")
  260. secret_key := c.GetString("secret_key")
  261. fixmedins_code := c.GetString("fixmedins_code")
  262. insuplc_admdvs := c.GetString("insuplc_admdvs")
  263. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  264. result := service.Gdyb2208(psnNo, mdtrtId, setlId, org_name, doctor, secret_key, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
  265. var dat map[string]interface{}
  266. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  267. fmt.Println(dat)
  268. } else {
  269. fmt.Println(err)
  270. }
  271. c.ServeSuccessJSON(map[string]interface{}{
  272. "pre": result,
  273. })
  274. }
  275. func (c *GdybController) PostTen() {
  276. insutype := c.GetString("insutype")
  277. clrType := c.GetString("clr_type")
  278. setlOptins := c.GetString("setl_optins")
  279. stmtBegndate := c.GetString("stmt_begndate")
  280. stmtEnddate := c.GetString("stm_enddate")
  281. medfeeSumamt, _ := c.GetFloat("medfee_sumamt", 0)
  282. fundPaySumamt, _ := c.GetFloat("fund_pay_sumamt", 0)
  283. acctPay, _ := c.GetFloat("acct_pay", 0)
  284. fixmedinsSetlCnt, _ := c.GetInt64("fixmedins_setl_cnt", 0)
  285. fixmedins_code := c.GetString("fixmedins_code")
  286. insuplc_admdvs := c.GetString("insuplc_admdvs")
  287. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  288. secret_key := c.GetString("secret_key")
  289. org_name := c.GetString("org_name")
  290. doctor := c.GetString("doctor")
  291. baseParams := models.BaseParams{
  292. SecretKey: secret_key,
  293. FixmedinsCode: fixmedins_code,
  294. InsuplcAdmdvs: insuplc_admdvs,
  295. MdtrtareaAdmvs: mdtrtarea_admvs,
  296. OrgName: org_name,
  297. Doctor: doctor,
  298. }
  299. businessParams := models.BusinessParams{
  300. Insutype: insutype,
  301. ClrType: clrType,
  302. SetlOptins: setlOptins,
  303. StmtBegndate: stmtBegndate,
  304. StmtEnddate: stmtEnddate,
  305. MedfeeSumamt: medfeeSumamt,
  306. FundPaySumamt: fundPaySumamt,
  307. AcctPay: acctPay,
  308. FixmedinsSetlCnt: fixmedinsSetlCnt,
  309. }
  310. result := service.Gdyb3201(baseParams, businessParams)
  311. var dat map[string]interface{}
  312. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  313. fmt.Println(dat)
  314. } else {
  315. fmt.Println(err)
  316. }
  317. c.ServeSuccessJSON(map[string]interface{}{
  318. "pre": result,
  319. })
  320. }
  321. func (c *GdybController) PostEleven() {
  322. file_byte := c.GetString("file_byte")
  323. file_name := c.GetString("file_name")
  324. fixmedins_code := c.GetString("fixmedins_code")
  325. insuplc_admdvs := c.GetString("insuplc_admdvs")
  326. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  327. secret_key := c.GetString("secret_key")
  328. org_name := c.GetString("org_name")
  329. doctor := c.GetString("doctor")
  330. baseParams := models.BaseParams{
  331. SecretKey: secret_key,
  332. FixmedinsCode: fixmedins_code,
  333. InsuplcAdmdvs: insuplc_admdvs,
  334. MdtrtareaAdmvs: mdtrtarea_admvs,
  335. OrgName: org_name,
  336. Doctor: doctor,
  337. }
  338. x := (*[2]uintptr)(unsafe.Pointer(&file_byte))
  339. h := [3]uintptr{x[0], x[1], x[1]}
  340. bytes := *(*[]byte)(unsafe.Pointer(&h))
  341. result := service.Gdyb9101(baseParams, file_name, bytes)
  342. var dat map[string]interface{}
  343. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  344. fmt.Println(dat)
  345. } else {
  346. fmt.Println(err)
  347. }
  348. c.ServeSuccessJSON(map[string]interface{}{
  349. "pre": result,
  350. })
  351. }
  352. func (c *GdybController) PostTwelve() {
  353. fileQuryNo := c.GetString("file_qury_no")
  354. setlOptins := c.GetString("setl_optins")
  355. stmtBegndate := c.GetString("stmt_begndate")
  356. stmtEnddate := c.GetString("stm_enddate")
  357. medfeeSumamt, _ := c.GetFloat("medfee_sumamt", 0)
  358. fundPaySumamt, _ := c.GetFloat("fund_pay_sumamt", 0)
  359. fixmedinsSetlCnt, _ := c.GetInt64("fixmedins_setl_cnt", 0)
  360. fixmedins_code := c.GetString("fixmedins_code")
  361. insuplc_admdvs := c.GetString("insuplc_admdvs")
  362. mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
  363. secret_key := c.GetString("secret_key")
  364. org_name := c.GetString("org_name")
  365. doctor := c.GetString("doctor")
  366. cashPayamt, _ := c.GetFloat("cash_payamt", 0)
  367. baseParams := models.BaseParams{
  368. SecretKey: secret_key,
  369. FixmedinsCode: fixmedins_code,
  370. InsuplcAdmdvs: insuplc_admdvs,
  371. MdtrtareaAdmvs: mdtrtarea_admvs,
  372. OrgName: org_name,
  373. Doctor: doctor,
  374. }
  375. businessParams := models.BusinessParams{
  376. FileQuryNo: fileQuryNo,
  377. SetlOptins: setlOptins,
  378. StmtBegndate: stmtBegndate,
  379. StmtEnddate: stmtEnddate,
  380. MedfeeSumamt: medfeeSumamt,
  381. FundPaySumamt: fundPaySumamt,
  382. FixmedinsSetlCnt: fixmedinsSetlCnt,
  383. CashPayamt: cashPayamt,
  384. }
  385. result := service.Gdyb3202(baseParams, businessParams)
  386. var dat map[string]interface{}
  387. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  388. fmt.Println(dat)
  389. } else {
  390. fmt.Println(err)
  391. }
  392. c.ServeSuccessJSON(map[string]interface{}{
  393. "pre": result,
  394. })
  395. }