gdyb_controller.go 17KB

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