Przeglądaj źródła

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx 3 lat temu
rodzic
commit
7aa7c8aaab

+ 35 - 13
controllers/js/jsyb_controller.go Wyświetl plik

@@ -53,8 +53,9 @@ func (c *JSybController) Get5301() {
53 53
 	secret_key := c.GetString("secret_key")
54 54
 	url := c.GetString("url")
55 55
 	ak := c.GetString("ak")
56
+	cainfo := c.GetString("cainfo")
56 57
 
57
-	result, inputLog := service.Jsyb5301(psn_no, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak)
58
+	result, inputLog := service.Jsyb5301(psn_no, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak, cainfo)
58 59
 	//saveJsLog()
59 60
 	saveJsLog(result, inputLog, "5301", "查询备案", org_name)
60 61
 
@@ -91,8 +92,9 @@ func (c *JSybController) PostOne() {
91 92
 	certificates := c.GetString("certificates")
92 93
 	url := c.GetString("url")
93 94
 	ak := c.GetString("ak")
95
+	cainfo := c.GetString("cainfo")
94 96
 
95
-	result, inputLog := service.Jsyb1101(certNo, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type, card_sn, certificates, url, ak)
97
+	result, inputLog := service.Jsyb1101(certNo, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type, card_sn, certificates, url, ak, cainfo)
96 98
 	fmt.Println(result)
97 99
 	fmt.Println(inputLog)
98 100
 	saveJsLog(result, inputLog, "1101", "查询个人信息", org_name)
@@ -139,8 +141,9 @@ func (c *JSybController) PostTwo() {
139 141
 	url := c.GetString("url")
140 142
 	ak := c.GetString("ak")
141 143
 	doctor_name := c.GetString("doctor_name")
144
+	cainfo := c.GetString("cainfo")
142 145
 
143
-	result, request_log := service.Jsyb2201(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, doctor_name, url, ak, verify_number)
146
+	result, request_log := service.Jsyb2201(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, doctor_name, url, ak, verify_number, cainfo)
144 147
 	saveJsLog(result, request_log, "2201", "挂号", org_name)
145 148
 	var dat map[string]interface{}
146 149
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -173,7 +176,9 @@ func (c *JSybController) PostThree() {
173 176
 	fixmedins_code := c.GetString("fixmedins_code")
174 177
 	url := c.GetString("url")
175 178
 	ak := c.GetString("ak")
176
-	result, request_log := service.Jsyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, url, ak)
179
+	cainfo := c.GetString("cainfo")
180
+
181
+	result, request_log := service.Jsyb2202(psnNo, mdtrtId, iptOtpNo, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, url, ak, cainfo)
177 182
 	saveJsLog(result, request_log, "2202", "退号", org_name)
178 183
 	var dat map[string]interface{}
179 184
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -228,7 +233,11 @@ func (c *JSybController) PostFour() {
228 233
 	url := respJSON["url"].(string)
229 234
 	ak := respJSON["ak"].(string)
230 235
 	begin_time := respJSON["begin_time"].(string)
231
-	result, request_log, timeStamp := service.Jsyb2203(psnNo, mdtrtId, doctor, department, org_name, med_type, doctor_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_code, sick_name, dept, config, url, ak, begin_time)
236
+	cainfo := respJSON["cainfo"].(string)
237
+
238
+	//cainfo := c.GetString("cainfo")
239
+
240
+	result, request_log, timeStamp := service.Jsyb2203(psnNo, mdtrtId, doctor, department, org_name, med_type, doctor_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_code, sick_name, dept, config, url, ak, begin_time, cainfo)
232 241
 	saveJsLog(result, request_log, "2203", "上传就诊信息", org_name)
233 242
 	var dat2 map[string]interface{}
234 243
 	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
@@ -295,7 +304,7 @@ func (c *JSybController) PostFive() {
295 304
 	}
296 305
 	//fmt.Println("2203A的time_stamp=" + respJSON["time_stamp"].(string))
297 306
 	result, request_log := service.Jsyb2204(respJSON["psn_no"].(string), respJSON["mdtrt_id"].(string), hp, respJSON["chrg_bchno"].(string), respJSON["org_name"].(string),
298
-		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), respJSON["balance_accounts_type"].(string), respJSON["diag_code"].(string), respJSON["url"].(string), respJSON["ak"].(string), respJSON["new_doctor_name"].(string), "")
307
+		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), respJSON["balance_accounts_type"].(string), respJSON["diag_code"].(string), respJSON["url"].(string), respJSON["ak"].(string), respJSON["new_doctor_name"].(string), "", respJSON["cainfo"].(string))
299 308
 
300 309
 	saveJsLog(result, request_log, "2204", "上传明细", respJSON["org_name"].(string))
301 310
 	var dat map[string]interface{}
@@ -331,8 +340,9 @@ func (c *JSybController) PostSix() {
331 340
 	fixmedins_code := c.GetString("fixmedins_code")
332 341
 	url := c.GetString("url")
333 342
 	ak := c.GetString("ak")
343
+	cainfo := c.GetString("cainfo")
334 344
 
335
-	result, request_log := service.Jsyb2205(psnNo, mdtrtId, chrgBchno, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, url, ak)
345
+	result, request_log := service.Jsyb2205(psnNo, mdtrtId, chrgBchno, org_name, doctor, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, url, ak, cainfo)
336 346
 	fmt.Println(request_log)
337 347
 	saveJsLog(result, request_log, "2205", "撤销明细", org_name)
338 348
 	var dat map[string]interface{}
@@ -370,11 +380,12 @@ func (c *JSybController) PostSeven() {
370 380
 	id_card_type, _ := c.GetInt64("id_card_type")
371 381
 	certificates, _ := c.GetInt64("certificates")
372 382
 	verify_number := c.GetString("verify_number")
383
+	cainfo := c.GetString("cainfo")
373 384
 
374 385
 	url := c.GetString("url")
375 386
 	ak := c.GetString("ak")
376 387
 
377
-	result, request_log := service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number)
388
+	result, request_log := service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number, cainfo)
378 389
 	saveJsLog(result, request_log, "2206", "预结算", org_name)
379 390
 	var dat map[string]interface{}
380 391
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -421,8 +432,9 @@ func (c *JSybController) PostEight() {
421 432
 	url := c.GetString("url")
422 433
 	ak := c.GetString("ak")
423 434
 	verify_number := c.GetString("verify_number")
435
+	cainfo := c.GetString("cainfo")
424 436
 
425
-	result, request_log := service.Jsyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, certificates, acct_used_flag, url, ak, verify_number)
437
+	result, request_log := service.Jsyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, certificates, acct_used_flag, url, ak, verify_number, cainfo)
426 438
 	saveJsLog(result, request_log, "2207", "结算", org_name)
427 439
 	var dat map[string]interface{}
428 440
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -455,7 +467,9 @@ func (c *JSybController) PostNine() {
455 467
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
456 468
 	url := c.GetString("url")
457 469
 	ak := c.GetString("ak")
458
-	result, request_log := service.Jsyb2208(psnNo, mdtrtId, setlId, org_name, doctor, secret_key, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, ak)
470
+	cainfo := c.GetString("cainfo")
471
+
472
+	result, request_log := service.Jsyb2208(psnNo, mdtrtId, setlId, org_name, doctor, secret_key, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, ak, cainfo)
459 473
 	saveJsLog(result, request_log, "2208", "退费", org_name)
460 474
 	fmt.Println(request_log)
461 475
 	var dat map[string]interface{}
@@ -488,6 +502,7 @@ func (c *JSybController) PostTen() {
488 502
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
489 503
 	url := c.GetString("url")
490 504
 	ak := c.GetString("ak")
505
+	cainfo := c.GetString("cainfo")
491 506
 
492 507
 	baseParams := models.BaseParams{
493 508
 		SecretKey:      secret_key,
@@ -498,6 +513,7 @@ func (c *JSybController) PostTen() {
498 513
 		Doctor:         doctor,
499 514
 		RequestUrl:     url,
500 515
 		AccessKey:      ak,
516
+		Cainfo:         cainfo,
501 517
 	}
502 518
 
503 519
 	businessParams := models.BusinessParams{
@@ -543,7 +559,9 @@ func (c *JSybController) Get2503() {
543 559
 	start_time := c.GetString("start_time")
544 560
 	end_time := c.GetString("end_time")
545 561
 	url := c.GetString("url")
546
-	service.Jsyb2503(psnNo, insutype, org_name, doctor, fixmedins_code, doctor_id, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_name, sick_code, start_time, end_time, check_time, url, access_key)
562
+	cainfo := c.GetString("cainfo")
563
+
564
+	service.Jsyb2503(psnNo, insutype, org_name, doctor, fixmedins_code, doctor_id, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_name, sick_code, start_time, end_time, check_time, url, access_key, cainfo)
547 565
 
548 566
 }
549 567
 func (c *JSybController) Get3201() {
@@ -564,7 +582,9 @@ func (c *JSybController) Get3201() {
564 582
 	doctor := c.GetString("doctor")
565 583
 	url := c.GetString("url")
566 584
 	ak := c.GetString("ak")
567
-	result, request_log := service.Jsyb3201(fixmedinsSetlCnt, acctPay, fundPaySumamt, medfeeSumamt, stmtBegndate, stmtEnddate, setlOptins, clrType, insutype, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, ak, secret_key)
585
+	cainfo := c.GetString("cainfo")
586
+
587
+	result, request_log := service.Jsyb3201(fixmedinsSetlCnt, acctPay, fundPaySumamt, medfeeSumamt, stmtBegndate, stmtEnddate, setlOptins, clrType, insutype, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, ak, secret_key, cainfo)
568 588
 	saveJsLog(result, request_log, "3201", "对总账", org_name)
569 589
 	var dat map[string]interface{}
570 590
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -593,6 +613,8 @@ func (c *JSybController) ReadCard() {
593 613
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
594 614
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
595 615
 	url := c.GetString("url")
616
+	cainfo := c.GetString("cainfo")
617
+
596 618
 	c.TestGetBasBaseInit(fixmedins_code, secret_key, ak)
597 619
 	pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
598 620
 	pBusiCardInfo = Remove0000(pBusiCardInfo)
@@ -606,7 +628,7 @@ func (c *JSybController) ReadCard() {
606 628
 	id_card_no := bas[1]
607 629
 	card_sn := bas[3]
608 630
 	if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
609
-		result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, 1, card_sn, "1", url, ak, pBusiCardInfo, id_card_no)
631
+		result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, 1, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
610 632
 		var dat map[string]interface{}
611 633
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
612 634
 			fmt.Println(dat)

+ 121 - 56
controllers/sg/his_api_controller.go Wyświetl plik

@@ -71,7 +71,7 @@ func HisManagerApiRegistRouters() {
71 71
 	beego.Router("/api/psn/info", &HisApiController{}, "get:GetPsnNcdsInfo")
72 72
 
73 73
 	beego.Router("/api/allopatry/get", &HisApiController{}, "get:GetAllopatry")
74
-	//beego.Router("/api/comfirmallopatry/post", &HisApiController{}, "post:ComfirmAllopatry")
74
+	beego.Router("/api/comfirmallopatry/post", &HisApiController{}, "post:ComfirmAllopatry")
75 75
 	beego.Router("/api/allopatry/refund", &HisApiController{}, "post:RefundAllopatry")
76 76
 
77 77
 }
@@ -97,8 +97,8 @@ func (c *HisApiController) GetPsnNcdsInfo() {
97 97
 
98 98
 	if miConfig.MdtrtareaAdmvs == "320921" {
99 99
 		psn_info, _ := service.GetPsnByPatientId(patient_id)
100
-		api := "http://192.168.3.111:9532/" + "jsyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.ChannelNumber + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
101
-			"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo
100
+		api := "http://192.168.3.111:9532/" + "jsyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
101
+			"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo + "&cainfo=" + miConfig.Cainfo
102 102
 
103 103
 		resp, requestErr := http.Get(api)
104 104
 		if requestErr != nil {
@@ -391,8 +391,8 @@ func (c *HisApiController) ReadCard() {
391 391
 
392 392
 		} else if miConfig.MdtrtareaAdmvs == "320921" {
393 393
 
394
-			api := "http://192.168.3.111:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.ChannelNumber + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
395
-				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url
394
+			api := "http://192.168.3.111:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
395
+				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo
396 396
 
397 397
 			resp, requestErr := http.Get(api)
398 398
 			if requestErr != nil {
@@ -3308,7 +3308,7 @@ func (c *HisApiController) GetRegisterInfo() {
3308 3308
 
3309 3309
 				api := "http://192.168.3.111:9532/" + "jsyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + bas[2] + "&ipt_otp_no=" + ipt_otp_no +
3310 3310
 					"&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
3311
-					"&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_id + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber + "&verify_number=" + psn_info.VerifyNumber
3311
+					"&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_id + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
3312 3312
 				resp, requestErr := http.Get(api)
3313 3313
 				if requestErr != nil {
3314 3314
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -3635,8 +3635,9 @@ func (c *HisApiController) GetUploadInfo() {
3635 3635
 			data["sick_code"] = sickConfig.CountryCode
3636 3636
 			data["sick_name"] = sickConfig.ClassName
3637 3637
 			data["url"] = miConfig.Url
3638
-			data["ak"] = miConfig.ChannelNumber
3638
+			data["ak"] = miConfig.AccessKey
3639 3639
 			data["begin_time"] = begin_time
3640
+			data["cainfo"] = miConfig.Cainfo
3640 3641
 
3641 3642
 			data["dept"] = strconv.FormatInt(department.ID, 10)
3642 3643
 			data["config"] = config
@@ -3828,9 +3829,10 @@ func (c *HisApiController) GetUploadInfo() {
3828 3829
 			data["secret_key"] = miConfig.SecretKey
3829 3830
 			data["balance_accounts_type"] = strconv.FormatInt(his.BalanceAccountsType, 10)
3830 3831
 			data["url"] = miConfig.Url
3831
-			data["ak"] = miConfig.ChannelNumber
3832
+			data["ak"] = miConfig.AccessKey
3832 3833
 			data["new_doctor_name"] = patientPrescription.Doctor
3833 3834
 			data["diag_code"] = sickConfig.CountryCode
3835
+			data["cainfo"] = miConfig.Cainfo
3834 3836
 
3835 3837
 			var ids []int64
3836 3838
 
@@ -4257,7 +4259,7 @@ func (c *HisApiController) GetUploadInfo() {
4257 4259
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
4258 4260
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
4259 4261
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
4260
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber + "&verify_number=" + psn_info.VerifyNumber
4262
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
4261 4263
 
4262 4264
 							resp, requestErr := http.Get(api)
4263 4265
 							if requestErr != nil {
@@ -4638,7 +4640,7 @@ func (c *HisApiController) GetUploadInfo() {
4638 4640
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
4639 4641
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
4640 4642
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
4641
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber + "&verify_number=" + psn_info.VerifyNumber
4643
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
4642 4644
 
4643 4645
 				resp, requestErr := http.Get(api)
4644 4646
 				if requestErr != nil {
@@ -5506,9 +5508,8 @@ func (c *HisApiController) GetPreUploadInfo() {
5506 5508
 		data["dept"] = strconv.FormatInt(department.ID, 10)
5507 5509
 		data["config"] = config
5508 5510
 		data["url"] = miConfig.Url
5509
-		data["ak"] = miConfig.ChannelNumber
5510
-
5511
-		fmt.Println(data)
5511
+		data["ak"] = miConfig.AccessKey
5512
+		data["cainfo"] = miConfig.Cainfo
5512 5513
 
5513 5514
 		bytesData, _ := json.Marshal(data)
5514 5515
 		req, _ := http.NewRequest("POST", "http://192.168.3.111:9532/"+"jsyb/2203", bytes.NewReader(bytesData))
@@ -5687,10 +5688,11 @@ func (c *HisApiController) GetPreUploadInfo() {
5687 5688
 		data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
5688 5689
 		data["secret_key"] = miConfig.SecretKey
5689 5690
 		data["url"] = miConfig.Url
5690
-		data["ak"] = miConfig.ChannelNumber
5691
+		data["ak"] = miConfig.AccessKey
5691 5692
 		data["new_doctor_name"] = patientPrescription.Doctor
5692 5693
 		data["diag_code"] = sickConfig.CountryCode
5693 5694
 		data["time_stamp"] = time_stamp
5695
+		data["cainfo"] = miConfig.Cainfo
5694 5696
 
5695 5697
 		var ids []int64
5696 5698
 
@@ -6064,7 +6066,7 @@ func (c *HisApiController) GetPreUploadInfo() {
6064 6066
 							"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
6065 6067
 							"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
6066 6068
 							"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
6067
-							"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
6069
+							"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
6068 6070
 						resp, requestErr := http.Get(api)
6069 6071
 						if requestErr != nil {
6070 6072
 							c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -6559,7 +6561,7 @@ func (c *HisApiController) Refund() {
6559 6561
 		} else if miConfig.MdtrtareaAdmvs == "320921" {
6560 6562
 			api3 := "http://192.168.3.111:9532/" + "jsyb/2208?psn_no=" + order.PsnNo +
6561 6563
 				"&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
6562
-				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
6564
+				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
6563 6565
 			resp3, requestErr3 := http.Get(api3)
6564 6566
 			if requestErr3 != nil {
6565 6567
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -6682,7 +6684,7 @@ func (c *HisApiController) Refund() {
6682 6684
 
6683 6685
 				api3 := "http://192.168.3.111:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
6684 6686
 					"&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
6685
-					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
6687
+					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
6686 6688
 				resp3, requestErr3 := http.Get(api3)
6687 6689
 				if requestErr3 != nil {
6688 6690
 					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -6864,7 +6866,7 @@ func (c *HisApiController) RefundNumber() {
6864 6866
 
6865 6867
 			api3 := "http://192.168.3.111:9532/" + "jsyb/2202?psn_no=" + his.PsnNo +
6866 6868
 				"&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
6867
-				"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
6869
+				"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
6868 6870
 			resp3, requestErr3 := http.Get(api3)
6869 6871
 			if requestErr3 != nil {
6870 6872
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -7079,7 +7081,7 @@ func (c *HisApiController) RefundDetail() {
7079 7081
 
7080 7082
 			api3 := "http://192.168.3.111:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
7081 7083
 				"&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
7082
-				"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
7084
+				"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
7083 7085
 			resp3, requestErr3 := http.Get(api3)
7084 7086
 			if requestErr3 != nil {
7085 7087
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -7232,7 +7234,7 @@ func (c *HisApiController) GetCheckAccount() {
7232 7234
 				"&secret_key=" + miConfig.SecretKey +
7233 7235
 				"&org_name=" + miConfig.OrgName +
7234 7236
 				"&doctor=" + user_name +
7235
-				"&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
7237
+				"&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
7236 7238
 
7237 7239
 			fmt.Println(api)
7238 7240
 			resp, requestErr := http.Get(api)
@@ -7872,7 +7874,7 @@ func (c *HisApiController) GetSettleAccounts() {
7872 7874
 
7873 7875
 			api := "http://192.168.3.111:9532/" + "jsyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
7874 7876
 				"&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
7875
-				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber
7877
+				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
7876 7878
 			resp, requestErr := http.Get(api)
7877 7879
 			if requestErr != nil {
7878 7880
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -8924,7 +8926,7 @@ func (c *HisApiController) PsnPutNCDSOnRecord() {
8924 8926
 		psn_info, _ := service.GetPsnByPatientId(patient.ID)
8925 8927
 		api := "http://192.168.3.111:9532/" + "hbyb/1101?cert_no=" + "" +
8926 8928
 			"&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
8927
-			"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(3, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(1, 10) + "&url=" + miConfig.Url + "&ak=" + miConfig.ChannelNumber + "&verify_number=" + psn_info.VerifyNumber
8929
+			"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(3, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(1, 10) + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
8928 8930
 		resp, requestErr := http.Get(api)
8929 8931
 		if requestErr != nil {
8930 8932
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -9446,7 +9448,7 @@ func (c *HisApiController) GetAllopatry() {
9446 9448
 	}
9447 9449
 	if res2.Infcode == 0 {
9448 9450
 		c.ServeSuccessJSON(map[string]interface{}{
9449
-			"data": res2.Output.Data,
9451
+			"list": res2.Output.Data,
9450 9452
 		})
9451 9453
 		return
9452 9454
 	} else {
@@ -9456,42 +9458,105 @@ func (c *HisApiController) GetAllopatry() {
9456 9458
 
9457 9459
 }
9458 9460
 
9459
-//func (c *HisApiController) ComfirmAllopatry() {
9460
-//	year := c.GetString("year")
9461
-//	month := c.GetString("month")
9462
-//	admin_user_id, _ := c.GetInt64("admin_user_id")
9463
-//	adminUser := c.GetAdminUserInfo()
9464
-//	miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
9465
-//	roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
9466
-//
9467
-//	result, _ := service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month)
9468
-//	var dat map[string]interface{}
9469
-//	if err := json.Unmarshal([]byte(result), &dat); err == nil {
9470
-//		fmt.Println(dat)
9471
-//	} else {
9472
-//		fmt.Println(err)
9473
-//	}
9474
-//	userJSONBytes, _ := json.Marshal(dat)
9475
-//	var res2 models.Result3261
9476
-//	if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
9477
-//		utils.ErrorLog("解析失败:%v", err)
9478
-//		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
9479
-//		return
9480
-//	}
9481
-//	c.ServeSuccessJSON(map[string]interface{}{
9482
-//		"result": res2,
9483
-//	})
9484
-//
9485
-//}
9461
+func (c *HisApiController) ComfirmAllopatry() {
9462
+	year := c.GetString("year")
9463
+	month := c.GetString("month")
9464
+	admin_user_id, _ := c.GetInt64("admin_user_id")
9465
+	adminUser := c.GetAdminUserInfo()
9466
+	miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
9467
+	roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
9468
+	result, _ := service.Gdyb9001(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1669)
9469
+	var dat map[string]interface{}
9470
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
9471
+		fmt.Println(dat)
9472
+	} else {
9473
+		fmt.Println(err)
9474
+	}
9475
+	userJSONBytes, _ := json.Marshal(dat)
9476
+	var res models.Result9001
9477
+	if err := json.Unmarshal(userJSONBytes, &res); err != nil {
9478
+		utils.ErrorLog("解析失败:%v", err)
9479
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
9480
+		return
9481
+	}
9482
+
9483
+	result2, _ := service.Gdyb3260(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res.Output.Signinoutb.SignNo)
9484
+	var dat2 map[string]interface{}
9485
+	if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
9486
+		fmt.Println(dat)
9487
+	} else {
9488
+		fmt.Println(err)
9489
+	}
9490
+	userJSONBytes2, _ := json.Marshal(dat2)
9491
+	var res2 models.Result3260
9492
+	if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
9493
+		utils.ErrorLog("解析失败:%v", err)
9494
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
9495
+		return
9496
+	}
9497
+
9498
+	if res2.Infcode == 0 {
9499
+		result, _, msgId := service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res2)
9500
+		var dat map[string]interface{}
9501
+		if err := json.Unmarshal([]byte(result), &dat); err == nil {
9502
+			fmt.Println(dat)
9503
+		} else {
9504
+			fmt.Println(err)
9505
+		}
9506
+		userJSONBytes, _ := json.Marshal(dat)
9507
+		var res3 models.Result3261
9508
+		if err := json.Unmarshal(userJSONBytes, &res3); err != nil {
9509
+			utils.ErrorLog("解析失败:%v", err)
9510
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
9511
+			return
9512
+		}
9513
+
9514
+		if res3.Infcode == 0 {
9515
+			record := &models.HisYidiClearRecord{
9516
+				UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
9517
+				Ctime:     time.Now().Unix(),
9518
+				Mtime:     time.Now().Unix(),
9519
+				Status:    1,
9520
+				MsgId:     msgId,
9521
+			}
9522
+			service.SaveClearRecord(record)
9523
+			c.ServeSuccessJSON(map[string]interface{}{
9524
+				"msg": "提取成功",
9525
+			})
9526
+		}
9527
+	}
9528
+}
9486 9529
 
9487 9530
 func (c *HisApiController) RefundAllopatry() {
9488
-	//year := c.GetString("year")
9489
-	//month := c.GetString("month")
9490
-	//admin_user_id, _ := c.GetInt64("admin_user_id")
9491
-	//adminUser := c.GetAdminUserInfo()
9492
-	//miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
9493
-	//roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
9531
+	year := c.GetString("year")
9532
+	month := c.GetString("month")
9533
+	id, _ := c.GetInt64("id")
9534
+	admin_user_id, _ := c.GetInt64("admin_user_id")
9535
+	adminUser := c.GetAdminUserInfo()
9536
+	miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
9537
+	roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
9538
+	record, _ := service.GetClearRecordById(id)
9539
+	result, _ := service.Gdyb3262(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, record.MsgId)
9494 9540
 
9541
+	var dat map[string]interface{}
9542
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
9543
+		fmt.Println(dat)
9544
+	} else {
9545
+		fmt.Println(err)
9546
+	}
9547
+	userJSONBytes, _ := json.Marshal(dat)
9548
+	var empty ResultFourteen
9549
+	if err := json.Unmarshal(userJSONBytes, &empty); err != nil {
9550
+		utils.ErrorLog("解析失败:%v", err)
9551
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
9552
+		return
9553
+	}
9554
+	if empty.Infcode == 0 {
9555
+		c.ServeSuccessJSON(map[string]interface{}{
9556
+			"msg": "撤销成功",
9557
+		})
9558
+		return
9559
+	}
9495 9560
 }
9496 9561
 
9497 9562
 func (c *HisApiController) ReversalOtherData() {

+ 7 - 7
main.go Wyświetl plik

@@ -5,7 +5,7 @@ import (
5 5
 	"fmt"
6 6
 	"gdyb/models"
7 7
 	_ "gdyb/routers"
8
-	//"gdyb/service"
8
+	"gdyb/service"
9 9
 	"github.com/astaxie/beego"
10 10
 	"github.com/qiniu/api.v7/auth/qbox"
11 11
 	"github.com/qiniu/api.v7/storage"
@@ -15,12 +15,12 @@ import (
15 15
 )
16 16
 
17 17
 func init() {
18
-	//service.ConnectDB()
19
-	//org_id, _ := beego.AppConfig.Int64("org_id")
20
-	//
21
-	//miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
22
-	//CreateLog(miConfig)
23
-	//UploadLog(miConfig)
18
+	service.ConnectDB()
19
+	org_id, _ := beego.AppConfig.Int64("org_id")
20
+
21
+	miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
22
+	CreateLog(miConfig)
23
+	UploadLog(miConfig)
24 24
 
25 25
 	//UploadSettleList(org_id)
26 26
 }

+ 6 - 13
models/gdyb_models.go Wyświetl plik

@@ -43,19 +43,12 @@ func (GdybPsnNcdsRecord) TableName() string {
43 43
 }
44 44
 
45 45
 type HisYidiClearRecord struct {
46
-	ID              int64   `gorm:"column:id" json:"id" form:"id"`
47
-	UserOrgId       int64   `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
48
-	Ctime           int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
49
-	Mtime           int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
50
-	Status          int64   `gorm:"column:status" json:"status" form:"status"`
51
-	Certno          string  `gorm:"column:certno" json:"certno" form:"certno"`
52
-	MdtrtId         string  `gorm:"column:mdtrt_id" json:"mdtrt_id" form:"mdtrt_id"`
53
-	MdtrtSetlTime   string  `gorm:"column:mdtrt_setl_time" json:"mdtrt_setl_time" form:"mdtrt_setl_time"`
54
-	SetlSn          string  `gorm:"column:setl_sn" json:"setl_sn" form:"setl_sn"`
55
-	MedfeeSumant    float64 `gorm:"column:medfee_sumant" json:"medfee_sumant" form:"medfee_sumant"`
56
-	OptinsPaySumamt float64 `gorm:"column:optins_pay_sumamt" json:"optins_pay_sumamt" form:"optins_pay_sumamt"`
57
-	CnfmFlag        int64   `gorm:"column:cnfm_flag" json:"cnfm_flag" form:"cnfm_flag"`
58
-	MsgId           string  `gorm:"column:msg_id" json:"msg_id" form:"msg_id"`
46
+	ID        int64  `gorm:"column:id" json:"id" form:"id"`
47
+	UserOrgId int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
48
+	Ctime     int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
49
+	Mtime     int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
50
+	Status    int64  `gorm:"column:status" json:"status" form:"status"`
51
+	MsgId     string `gorm:"column:msg_id" json:"msg_id" form:"msg_id"`
59 52
 }
60 53
 
61 54
 func (HisYidiClearRecord) TableName() string {

+ 3 - 0
models/his_models.go Wyświetl plik

@@ -858,6 +858,8 @@ type MedicalInsuranceOrgConfig struct {
858 858
 	InsuplcAdmdvs  string `gorm:"column:insuplc_admdvs" json:"insuplc_admdvs" form:"insuplc_admdvs"`
859 859
 	SecretKey      string `gorm:"column:secret_key" json:"secret_key" form:"secret_key"`
860 860
 	Url            string `gorm:"column:url" json:"url" form:"url"`
861
+	AccessKey      string `gorm:"column:access_key" json:"access_key" form:"access_key"`
862
+	Cainfo         string `gorm:"column:cainfo" json:"cainfo" form:"cainfo"`
861 863
 }
862 864
 
863 865
 func (MedicalInsuranceOrgConfig) TableName() string {
@@ -1000,6 +1002,7 @@ type BaseParams struct {
1000 1002
 	Doctor         string
1001 1003
 	RequestUrl     string
1002 1004
 	AccessKey      string
1005
+	Cainfo         string
1003 1006
 }
1004 1007
 
1005 1008
 type BusinessParams struct {

+ 50 - 8
service/gdyb_service.go Wyświetl plik

@@ -3276,6 +3276,34 @@ func SetInputMessage(nonce string, timestamp int64, org_name string, doctor stri
3276 3276
 	return inputMessage
3277 3277
 }
3278 3278
 
3279
+func SetInputMessageThree(nonce string, timestamp int64, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, msg_id string) map[string]interface{} {
3280
+	// 生成签名
3281
+	tempTime := time.Unix(timestamp, 0)
3282
+	//timeFormat := tempTime.Format("20060102150405")
3283
+	timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
3284
+	//randNum := rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000)
3285
+
3286
+	// 生成输入报文
3287
+	inputMessage := make(map[string]interface{})
3288
+	inputMessage["msgid"] = msg_id                    // 发送方报文 ID
3289
+	inputMessage["mdtrtarea_admvs"] = mdtrtarea_admvs // 就医地医保区划
3290
+	inputMessage["insuplc_admdvs"] = insuplc_admdvs   // 参保地医保区划
3291
+	inputMessage["recer_sys_code"] = "1"              // 接收方系统代码
3292
+	inputMessage["dev_no"] = ""                       // 设备编号
3293
+	inputMessage["dev_safe_info"] = ""                // 设备安全信息
3294
+	inputMessage["cainfo"] = ""                       // 数字签名信息
3295
+	inputMessage["signtype"] = "SM3"                  // 签名类型
3296
+	inputMessage["infver"] = "V1.0"                   // 接收方系统代码
3297
+	inputMessage["opter_type"] = "1"                  // 经办人类别
3298
+	inputMessage["opter"] = doctor                    // 经办人
3299
+	inputMessage["opter_name"] = doctor               // 经办人姓名
3300
+	inputMessage["inf_time"] = timeFormatOne          // 交易时间
3301
+	inputMessage["fixmedins_code"] = fixmedins_code   // 定点医药机构编号
3302
+	inputMessage["fixmedins_name"] = org_name         //定点医药机构名称
3303
+	inputMessage["sign_no"] = ""                      //交易签到流水号
3304
+	return inputMessage
3305
+}
3306
+
3279 3307
 func SetInputMessageTwo(nonce string, timestamp int64, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, sign_no string) map[string]interface{} {
3280 3308
 	// 生成签名
3281 3309
 	tempTime := time.Unix(timestamp, 0)
@@ -3905,13 +3933,27 @@ func Gdyb3260(org_name string, doctor string, fixmedins_code string, insuplc_adm
3905 3933
 	}
3906 3934
 
3907 3935
 }
3908
-func Gdyb3261(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, year string, month string, result3260 models.Result3260) (string, string) {
3936
+func Gdyb3261(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, year string, month string, result3260 models.Result3260) (string, string, string) {
3909 3937
 	//生成签名
3910 3938
 	nonce := GetRandomString(32)
3911 3939
 	timestamp := time.Now().Unix()
3912 3940
 	signature := setSignature(timestamp, nonce, secret_key)
3941
+
3942
+	msg_month := time.Unix(1557042972, 0).Format("1")
3943
+	msg_year := time.Now().Format("2006")
3944
+	msg_month = time.Now().Format("01")
3945
+	day := time.Now().Format("02")
3946
+
3947
+	hour := time.Now().Format("15")
3948
+	min := time.Now().Format("04")
3949
+	sec := time.Now().Format("05")
3950
+
3951
+	msec := time.Now().Format("000")
3952
+
3953
+	msg_id := fixmedins_code + msg_year + msg_month + day + hour + min + sec + msec + "0"
3954
+
3913 3955
 	//生成输入报文
3914
-	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
3956
+	inputMessage := SetInputMessageThree(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, msg_id)
3915 3957
 	input := make(map[string]interface{})
3916 3958
 	inputData := make(map[string]interface{})
3917 3959
 	inputMessage["infno"] = "3261"                      // 交易编码
@@ -3941,7 +3983,7 @@ func Gdyb3261(org_name string, doctor string, fixmedins_code string, insuplc_adm
3941 3983
 	fmt.Println(string(bytesData))
3942 3984
 	if err != nil {
3943 3985
 		fmt.Println(err.Error())
3944
-		return err.Error(), ""
3986
+		return err.Error(), "", ""
3945 3987
 	}
3946 3988
 	reader := bytes.NewReader(bytesData)
3947 3989
 	gdyb_url := beego.AppConfig.String("gdyb_url")
@@ -3962,14 +4004,14 @@ func Gdyb3261(org_name string, doctor string, fixmedins_code string, insuplc_adm
3962 4004
 			fmt.Println("error:", err.Error())
3963 4005
 		}
3964 4006
 		fmt.Println(string(out))
3965
-		return hex.EncodeToString(out), inputLog
4007
+		return hex.EncodeToString(out), inputLog, ""
3966 4008
 	} else {
3967 4009
 
3968 4010
 		//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
3969 4011
 		request, err := http.NewRequest("POST", url, reader)
3970 4012
 		if err != nil {
3971 4013
 			fmt.Println(err.Error())
3972
-			return err.Error(), ""
4014
+			return err.Error(), "", ""
3973 4015
 		}
3974 4016
 
3975 4017
 		request.Header.Set("Content-Type", "application/json;charset=UTF-8")
@@ -3982,16 +4024,16 @@ func Gdyb3261(org_name string, doctor string, fixmedins_code string, insuplc_adm
3982 4024
 		resp, err := client.Do(request)
3983 4025
 		if err != nil {
3984 4026
 			fmt.Println(err.Error())
3985
-			return err.Error(), ""
4027
+			return err.Error(), "", ""
3986 4028
 		}
3987 4029
 		respBytes, err := ioutil.ReadAll(resp.Body)
3988 4030
 		if err != nil {
3989 4031
 			fmt.Println(err.Error())
3990
-			return err.Error(), ""
4032
+			return err.Error(), "", ""
3991 4033
 		}
3992 4034
 		fmt.Println(string(respBytes))
3993 4035
 		str := string(respBytes)
3994
-		return str, inputLog
4036
+		return str, inputLog, msg_id
3995 4037
 
3996 4038
 	}
3997 4039
 

+ 9 - 0
service/his_service.go Wyświetl plik

@@ -1404,3 +1404,12 @@ func GetHisFundSettleListResult(order_id int64) (result models.HisFundSettleList
1404 1404
 	err = db.Where("order_id = ? AND status = 1", order_id).First(&result).Error
1405 1405
 	return
1406 1406
 }
1407
+
1408
+func SaveClearRecord(record *models.HisYidiClearRecord) {
1409
+	writeDb.Save(&record)
1410
+}
1411
+
1412
+func GetClearRecordById(id int64) (record models.HisYidiClearRecord, err error) {
1413
+	err = readDb.Model(&models.HisYidiClearRecord{}).Where("id = ? AND status = 1").First(&record).Error
1414
+	return
1415
+}

+ 33 - 34
service/jsyb_service.go Wyświetl plik

@@ -10,10 +10,10 @@ import (
10 10
 )
11 11
 
12 12
 // 人员基本信息
13
-func Jsyb1101(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string) (string, string) {
13
+func Jsyb1101(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, cainfo string) (string, string) {
14 14
 	timestamp := time.Now().Unix()
15 15
 	//生成输入报文
16
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
16
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
17 17
 
18 18
 	input := make(map[string]interface{})
19 19
 	inputData := make(map[string]interface{})
@@ -58,10 +58,10 @@ func Jsyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
58 58
 }
59 59
 
60 60
 //人员基本信息版本2
61
-func Jsyb1101A(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, pBusiCardInfo string, id_card_no string) (string, string) {
61
+func Jsyb1101A(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, pBusiCardInfo string, id_card_no string, cainfo string) (string, string) {
62 62
 	timestamp := time.Now().Unix()
63 63
 	//生成输入报文
64
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
64
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
65 65
 
66 66
 	input := make(map[string]interface{})
67 67
 	inputData := make(map[string]interface{})
@@ -106,7 +106,7 @@ func Jsyb1101A(certNo string, org_name string, doctor string, fixmedins_code str
106 106
 }
107 107
 
108 108
 // 门诊挂号
109
-func Jsyb2201(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, request_url string, access_key string, verify_number string) (string, string) {
109
+func Jsyb2201(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, request_url string, access_key string, verify_number string, cainfo string) (string, string) {
110 110
 	fmt.Println(opera)
111 111
 
112 112
 	// 生成签名
@@ -115,7 +115,7 @@ func Jsyb2201(psnNo string, insutype string, certNo string, org_name string, ope
115 115
 	timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
116 116
 
117 117
 	// 生成输入报文
118
-	inputMessage := SetJSInputMessage(timestamp, org_name, opera, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
118
+	inputMessage := SetJSInputMessage(timestamp, org_name, opera, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
119 119
 	input := make(map[string]interface{})
120 120
 	inputData := make(map[string]interface{})
121 121
 	inputMessage["infno"] = "2201"        // 交易编码
@@ -156,11 +156,11 @@ func Jsyb2201(psnNo string, insutype string, certNo string, org_name string, ope
156 156
 }
157 157
 
158 158
 // 门诊挂号撤销
159
-func Jsyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string) (string, string) {
159
+func Jsyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string, cainfo string) (string, string) {
160 160
 	// 生成签名
161 161
 	timestamp := time.Now().Unix()
162 162
 	// 生成输入报文
163
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
163
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
164 164
 	input := make(map[string]interface{})
165 165
 	inputData := make(map[string]interface{})
166 166
 	inputMessage["infno"] = "2202"       // 交易编码
@@ -187,13 +187,13 @@ func Jsyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
187 187
 }
188 188
 
189 189
 // 门诊就诊信息上传
190
-func Jsyb2203(psnNo string, mdtrtId string, doctor string, department string, org_name string, med_type string, doctor_id string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_code string, sick_name string, dept string, config []*models.HisXtDiagnoseConfig, request_url string, access_key string, begin_time string) (string, string, int64) {
190
+func Jsyb2203(psnNo string, mdtrtId string, doctor string, department string, org_name string, med_type string, doctor_id string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_code string, sick_name string, dept string, config []*models.HisXtDiagnoseConfig, request_url string, access_key string, begin_time string, cainfo string) (string, string, int64) {
191 191
 	// 生成签名
192 192
 	timestamp := time.Now().Unix()
193 193
 	tempTime := time.Unix(timestamp, 0)
194 194
 	timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
195 195
 	// 生成输入报文
196
-	inputMessage := SetJSInputMessage(timestamp, org_name, dept, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
196
+	inputMessage := SetJSInputMessage(timestamp, org_name, dept, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
197 197
 	input := make(map[string]interface{})
198 198
 	inputData := make(map[string]interface{})
199 199
 	diseinfo := make([]map[string]interface{}, 0)
@@ -245,14 +245,14 @@ func Jsyb2203(psnNo string, mdtrtId string, doctor string, department string, or
245 245
 }
246 246
 
247 247
 // 门诊就诊信息上传
248
-func Jsyb2203A(psnNo string, mdtrtId string, doctor string, department string, org_name string, med_type string, doctor_id string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_code string, sick_name string, dept string, config []*models.HisXtDiagnoseConfig, request_url string, access_key string) (string, string) {
248
+func Jsyb2203A(psnNo string, mdtrtId string, doctor string, department string, org_name string, med_type string, doctor_id string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_code string, sick_name string, dept string, config []*models.HisXtDiagnoseConfig, request_url string, access_key string, cainfo string) (string, string) {
249 249
 	// 生成签名
250 250
 	timestamp := time.Now().Unix()
251 251
 	tempTime := time.Unix(timestamp, 0)
252 252
 	timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
253 253
 
254 254
 	// 生成输入报文
255
-	inputMessage := SetJSInputMessage(timestamp, org_name, dept, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
255
+	inputMessage := SetJSInputMessage(timestamp, org_name, dept, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
256 256
 	input := make(map[string]interface{})
257 257
 	inputData := make(map[string]interface{})
258 258
 	diseinfo := make([]map[string]interface{}, 0)
@@ -308,7 +308,7 @@ func Jsyb2203A(psnNo string, mdtrtId string, doctor string, department string, o
308 308
 }
309 309
 
310 310
 //  门诊费用明细信息上传
311
-func Jsyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescription, chrg_bchno string, org_name string, doctor string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, balance_accounts_type string, diag_code string, request_url string, access_key string, new_doctor_name string, time_stamp_2203 string) (string, string) {
311
+func Jsyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescription, chrg_bchno string, org_name string, doctor string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, balance_accounts_type string, diag_code string, request_url string, access_key string, new_doctor_name string, time_stamp_2203 string, cainfo string) (string, string) {
312 312
 	// 生成签名
313 313
 	//timestamp := time.Now().Unix()
314 314
 	timestamp := time.Now().Unix()
@@ -411,7 +411,7 @@ func Jsyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
411 411
 	}
412 412
 
413 413
 	// 生成输入报文
414
-	inputMessage := SetJSInputMessage(timestamp2, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
414
+	inputMessage := SetJSInputMessage(timestamp2, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
415 415
 	input := make(map[string]interface{})
416 416
 	feedetail := make([]map[string]interface{}, 0)
417 417
 	inputMessage["infno"] = "2204" // 交易编码
@@ -495,12 +495,12 @@ func Jsyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
495 495
 }
496 496
 
497 497
 //  门诊费用明细信息撤销
498
-func Jsyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string) (string, string) {
498
+func Jsyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string, cainfo string) (string, string) {
499 499
 
500 500
 	timestamp := time.Now().Unix()
501 501
 
502 502
 	// 生成输入报文
503
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
503
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
504 504
 	input := make(map[string]interface{})
505 505
 	inputData := make(map[string]interface{})
506 506
 	inputMessage["infno"] = "2205" // 交易编码
@@ -526,12 +526,12 @@ func Jsyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
526 526
 }
527 527
 
528 528
 //  门诊预结算
529
-func Jsyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string) (string, string) {
529
+func Jsyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string, cainfo string) (string, string) {
530 530
 
531 531
 	// 生成签名
532 532
 	timestamp := time.Now().Unix()
533 533
 	// 生成输入报文
534
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
534
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
535 535
 	input := make(map[string]interface{})
536 536
 	inputData := make(map[string]interface{})
537 537
 	inputMessage["infno"] = "2206" // 交易编码
@@ -587,12 +587,11 @@ func Jsyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
587 587
 }
588 588
 
589 589
 //  门诊结算
590
-func Jsyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string) (string, string) {
590
+func Jsyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string) (string, string) {
591 591
 	// 生成签名
592 592
 	timestamp := time.Now().Unix()
593
-
594 593
 	// 生成输入报文
595
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
594
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
596 595
 	input := make(map[string]interface{})
597 596
 	inputData := make(map[string]interface{})
598 597
 	inputMessage["infno"] = "2207" // 交易编码
@@ -648,12 +647,12 @@ func Jsyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
648 647
 
649 648
 }
650 649
 
651
-func Jsyb2207A(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string) (string, string) {
650
+func Jsyb2207A(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, cainfo string) (string, string) {
652 651
 	// 生成签名
653 652
 	timestamp := time.Now().Unix()
654 653
 
655 654
 	// 生成输入报文
656
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
655
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
657 656
 	input := make(map[string]interface{})
658 657
 	inputData := make(map[string]interface{})
659 658
 	inputMessage["infno"] = "2207A" // 交易编码
@@ -712,10 +711,10 @@ func Jsyb2207A(psnNo string, mdtrtId string, chrgBchno string, certNo string, in
712 711
 }
713 712
 
714 713
 //  门诊结算撤销
715
-func Jsyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string) (string, string) {
714
+func Jsyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, cainfo string) (string, string) {
716 715
 	timestamp := time.Now().Unix()
717 716
 	// 生成输入报文
718
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
717
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
719 718
 	input := make(map[string]interface{})
720 719
 	inputData := make(map[string]interface{})
721 720
 	inputMessage["infno"] = "2208" // 交易编码
@@ -741,7 +740,7 @@ func Jsyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doct
741 740
 func Jsyb5203(baseParams models.BaseParams, businessParams models.BusinessParams) (string, string) {
742 741
 	timestamp := time.Now().Unix()
743 742
 	// 生成输入报文
744
-	inputMessage := SetJSInputMessage(timestamp, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs)
743
+	inputMessage := SetJSInputMessage(timestamp, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.Cainfo)
745 744
 	input := make(map[string]interface{})
746 745
 	inputData := make(map[string]interface{})
747 746
 	inputMessage["infno"] = "5203" // 交易编码
@@ -805,7 +804,7 @@ func HttpRequest(url string, ak string, sk string, timestamp int64, json string)
805 804
 }
806 805
 
807 806
 // 生成基础报文
808
-func SetJSInputMessage(timestamp int64, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) map[string]interface{} {
807
+func SetJSInputMessage(timestamp int64, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, cainfo string) map[string]interface{} {
809 808
 	// 生成签名
810 809
 	tempTime := time.Unix(timestamp, 0)
811 810
 	//timeFormat := tempTime.Format("20060102150405")
@@ -831,7 +830,7 @@ func SetJSInputMessage(timestamp int64, org_name string, doctor string, fixmedin
831 830
 	inputMessage["recer_sys_code"] = "1"                                                        // 接收方系统代码
832 831
 	inputMessage["dev_no"] = "1"                                                                // 设备编号
833 832
 	inputMessage["dev_safe_info"] = "1"                                                         // 设备安全信息
834
-	inputMessage["cainfo"] = ""                                                                 // 数字签名信息
833
+	inputMessage["cainfo"] = cainfo                                                             // 数字签名信息
835 834
 	inputMessage["signtype"] = "SM3"                                                            // 签名类型
836 835
 	inputMessage["infver"] = "V1.0"                                                             // 接收方系统代码
837 836
 	inputMessage["opter_type"] = "1"                                                            // 经办人类别
@@ -846,7 +845,7 @@ func SetJSInputMessage(timestamp int64, org_name string, doctor string, fixmedin
846 845
 	return inputMessage
847 846
 }
848 847
 
849
-func Jsyb5301(psnNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, request_url string, access_key string) (string, string) {
848
+func Jsyb5301(psnNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, request_url string, access_key string, cainfo string) (string, string) {
850 849
 	// 生成签名
851 850
 	//nonce := GetRandomString(32)
852 851
 	timestamp := time.Now().Unix()
@@ -857,7 +856,7 @@ func Jsyb5301(psnNo string, org_name string, doctor string, fixmedins_code strin
857 856
 	//timeFormatTwo := tempTime.Format("2006-01-02")
858 857
 
859 858
 	// 生成输入报文
860
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
859
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
861 860
 	input := make(map[string]interface{})
862 861
 	inputData := make(map[string]interface{})
863 862
 	inputMessage["infno"] = "5301" // 交易编码
@@ -876,10 +875,10 @@ func Jsyb5301(psnNo string, org_name string, doctor string, fixmedins_code strin
876 875
 
877 876
 }
878 877
 
879
-func Jsyb2503(psnNo string, insutype string, org_name string, doctor string, fixmedins_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_name string, sick_code string, start_time string, end_time string, check_time string, request_url string, access_key string) (string, string) {
878
+func Jsyb2503(psnNo string, insutype string, org_name string, doctor string, fixmedins_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_name string, sick_code string, start_time string, end_time string, check_time string, request_url string, access_key string, cainfo string) (string, string) {
880 879
 	timestamp := time.Now().Unix()
881 880
 	// 生成输入报文
882
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
881
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
883 882
 	input := make(map[string]interface{})
884 883
 	inputData := make(map[string]interface{})
885 884
 	inputMessage["infno"] = "2503"                 // 交易编码
@@ -910,11 +909,11 @@ func Jsyb2503(psnNo string, insutype string, org_name string, doctor string, fix
910 909
 	return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), string(bytesData)
911 910
 }
912 911
 
913
-func Jsyb3201(fixmedins_setl_cnt int64, acct_pay float64, fund_pay_sumamt float64, medfee_sumamt float64, stmt_begndate string, stmt_enddate string, setl_optins string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string) (string, string) {
912
+func Jsyb3201(fixmedins_setl_cnt int64, acct_pay float64, fund_pay_sumamt float64, medfee_sumamt float64, stmt_begndate string, stmt_enddate string, setl_optins string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string, cainfo string) (string, string) {
914 913
 	// 生成签名
915 914
 	timestamp := time.Now().Unix()
916 915
 	// 生成输入报文
917
-	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
916
+	inputMessage := SetJSInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, cainfo)
918 917
 	input := make(map[string]interface{})
919 918
 	inputData := make(map[string]interface{})
920 919
 	inputMessage["infno"] = "3201"                       // 交易编码