test_user 3 周前
父节点
当前提交
b4d590b21c

+ 12 - 23
controllers/ah/ahyb_controller.go 查看文件

@@ -44,16 +44,15 @@ type Response struct {
44 44
 	State     struct{} `json:"state"`
45 45
 }
46 46
 
47
-
48 47
 type Body3513 struct {
49
-	ErrMsg      string                 `json:"err_msg"`
50
-	InfRefMsgID string                 `json:"inf_refmsgid"`
51
-	InfCode     int                    `json:"infcode"`
48
+	ErrMsg      string                   `json:"err_msg"`
49
+	InfRefMsgID string                   `json:"inf_refmsgid"`
50
+	InfCode     int                      `json:"infcode"`
52 51
 	Output      []map[string]interface{} `json:"output"`
53 52
 }
54 53
 
55 54
 type Response1513 struct {
56
-	Body3513      Body3513     `json:"body"`
55
+	Body3513  Body3513 `json:"body"`
57 56
 	Code      int      `json:"code"`
58 57
 	CSBCode   int      `json:"csbCode"`
59 58
 	Message   string   `json:"message"`
@@ -98,20 +97,13 @@ func AHybRegistRouters() {
98 97
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
99 98
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
100 99
 
101
-
102
-
103 100
 	beego.Router("/ahyb/5101", &AHybController{}, "get:Get5101")
104 101
 	beego.Router("/ahyb/5102", &AHybController{}, "get:Get5102")
105 102
 
106
-
107
-
108
-
109 103
 	beego.Router("/ahyb/02", &AHybController{}, "post:Get02")
110 104
 
111 105
 	beego.Router("/ahyb/03", &AHybController{}, "post:Get03")
112 106
 
113
-
114
-
115 107
 }
116 108
 func (c *AHybController) Get02() {
117 109
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
@@ -120,8 +112,8 @@ func (c *AHybController) Get02() {
120 112
 		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
121 113
 		return
122 114
 	}
123
-	result, request := service.GetAHCFYLJG012(respJSON["code"].(string), respJSON["url"].(string),respJSON["encoded"].(string),respJSON["rx_encoded"].(string),"")
124
-	saveJsLog(result, request, "GetCFYLJG002", "GetCFYLJG002","1111")
115
+	result, request := service.GetAHCFYLJG012(respJSON["code"].(string), respJSON["url"].(string), respJSON["encoded"].(string), respJSON["rx_encoded"].(string), "")
116
+	saveJsLog(result, request, "GetCFYLJG002", "GetCFYLJG002", "1111")
125 117
 
126 118
 }
127 119
 
@@ -138,12 +130,11 @@ func (c *AHybController) Get03() {
138 130
 		utils.ErrorLog("解析失败:%v", err)
139 131
 		return
140 132
 	}
141
-	result, request := service.GetAHCFYLJG013(respJSON["url"].(string),struct3501)
142
-	saveJsLog(result, request, "GetCFYLJG013", "GetCFYLJG013","1111")
133
+	result, request := service.GetAHCFYLJG013(respJSON["url"].(string), struct3501)
134
+	saveJsLog(result, request, "GetCFYLJG013", "GetCFYLJG013", "1111")
143 135
 
144 136
 }
145 137
 
146
-
147 138
 func (c *AHybController) Get3501() {
148 139
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
149 140
 	var respJSON map[string]interface{}
@@ -614,7 +605,6 @@ func (c *AHybController) Get3513() {
614 605
 
615 606
 	}
616 607
 
617
-
618 608
 }
619 609
 func (c *AHybController) Readcardcharge() {
620 610
 	fixmedins_code := c.GetString("fixmedins_code")
@@ -718,7 +708,6 @@ func (c *AHybController) Get9001() {
718 708
 
719 709
 }
720 710
 
721
-
722 711
 func (c *AHybController) Get5101() {
723 712
 	url := c.GetString("url")
724 713
 	org_name := c.GetString("org_name")
@@ -731,7 +720,6 @@ func (c *AHybController) Get5101() {
731 720
 	fmt.Println("Error decoding JSON:", org_name)
732 721
 	fmt.Println("Error decoding JSON:", opera_name)
733 722
 
734
-
735 723
 	result, inputLog := service.AHyb5101(org_name, opera_name, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, cainfo)
736 724
 	saveJsLog(result, inputLog, "5101", "科室", org_name)
737 725
 
@@ -798,8 +786,6 @@ func (c *AHybController) Get5102() {
798 786
 
799 787
 }
800 788
 
801
-
802
-
803 789
 func (c *AHybController) Get5301() {
804 790
 	psn_no := c.GetString("psn_no")
805 791
 	org_name := c.GetString("org_name")
@@ -1327,10 +1313,13 @@ func (c *AHybController) PostEight() {
1327 1313
 	cainfo := c.GetString("cainfo")
1328 1314
 	mdtrt_grp_type := c.GetString("mdtrt_grp_type")
1329 1315
 
1316
+	pack_num := c.GetString("pack_num")
1317
+	good_pack_num := c.GetString("good_pack_num")
1318
+
1330 1319
 	var result string
1331 1320
 	var inputLog string
1332 1321
 
1333
-	result, inputLog = service.AHyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, acct_used_flag, url, ak, verify_number, cainfo, mdtrt_grp_type)
1322
+	result, inputLog = service.AHyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, acct_used_flag, url, ak, verify_number, cainfo, mdtrt_grp_type, pack_num, good_pack_num)
1334 1323
 
1335 1324
 	saveJsLog(result, inputLog, "2207", "结算", org_name)
1336 1325
 	var response Response

+ 16 - 18
controllers/gz/new_his_api_controller.go 查看文件

@@ -5043,7 +5043,7 @@ type Result5301For10265 struct {
5043 5043
 	WarnInfo    interface{} `json:"warn_info"`
5044 5044
 }
5045 5045
 
5046
-//获取个人信息----挂号-----上传就诊信息
5046
+// 获取个人信息----挂号-----上传就诊信息
5047 5047
 func (c *HisApiController) GetRegisterInfo() {
5048 5048
 	id, _ := c.GetInt64("id")
5049 5049
 	record_time := c.GetString("record_time")
@@ -5524,7 +5524,7 @@ func (c *HisApiController) GetRegisterInfo() {
5524 5524
 	}
5525 5525
 }
5526 5526
 
5527
-//上传明细----预结算----确认订单
5527
+// 上传明细----预结算----确认订单
5528 5528
 func (c *HisApiController) GetUploadInfo() {
5529 5529
 	id, _ := c.GetInt64("id")
5530 5530
 	record_time := c.GetString("record_time")
@@ -5548,7 +5548,8 @@ func (c *HisApiController) GetUploadInfo() {
5548 5548
 
5549 5549
 	fapiao_code := c.GetString("fapiao_code")
5550 5550
 	fapiao_number := c.GetString("fapiao_number")
5551
-
5551
+	pack_num, _ := c.GetInt64("pack_num")
5552
+	good_pack_num, _ := c.GetInt64("good_pack_num")
5552 5553
 	diagnosis_id := c.GetString("diagnosis")
5553 5554
 	sick_type, _ := c.GetInt64("sick_type")
5554 5555
 	reg_type, _ := c.GetInt64("p_type")
@@ -6444,7 +6445,7 @@ func (c *HisApiController) GetUploadInfo() {
6444 6445
 										med_type = "11"
6445 6446
 									}
6446 6447
 								}
6447
-								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
6448
+								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, pack_num, good_pack_num)
6448 6449
 							} else {
6449 6450
 								var med_type string
6450 6451
 								if reg_type == 14 {
@@ -6452,7 +6453,7 @@ func (c *HisApiController) GetUploadInfo() {
6452 6453
 								} else if reg_type == 11 {
6453 6454
 									med_type = "11"
6454 6455
 								}
6455
-								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag)
6456
+								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, pack_num, good_pack_num)
6456 6457
 							}
6457 6458
 
6458 6459
 							//result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, acct_used_flag)
@@ -7539,7 +7540,7 @@ func (c *HisApiController) GetUploadInfo() {
7539 7540
 //	}
7540 7541
 //}
7541 7542
 
7542
-//上传明细-预结算-
7543
+// 上传明细-预结算-
7543 7544
 func (c *HisApiController) GetPreUploadInfo() {
7544 7545
 	id, _ := c.GetInt64("id")
7545 7546
 	record_time := c.GetString("record_time")
@@ -8745,7 +8746,7 @@ func (c *HisApiController) GetPreUploadInfo() {
8745 8746
 //	}
8746 8747
 //}
8747 8748
 
8748
-//退款
8749
+// 退款
8749 8750
 func (c *HisApiController) Refund() {
8750 8751
 	order_id, _ := c.GetInt64("order_id")
8751 8752
 	admin_user_id, _ := c.GetInt64("admin_user_id")
@@ -9450,7 +9451,7 @@ func (c *HisApiController) RefundDetail() {
9450 9451
 	}
9451 9452
 }
9452 9453
 
9453
-//对账
9454
+// 对账
9454 9455
 func (c *HisApiController) GetCheckAccount() {
9455 9456
 	start_time := c.GetString("start_time")
9456 9457
 	end_time := c.GetString("end_time")
@@ -9798,7 +9799,7 @@ func (c *HisApiController) Check390() {
9798 9799
 
9799 9800
 }
9800 9801
 
9801
-//对账明细
9802
+// 对账明细
9802 9803
 func (c *HisApiController) GetCheckDetailAccount() {
9803 9804
 	start_time := c.GetString("start_time")
9804 9805
 	end_time := c.GetString("end_time")
@@ -10126,25 +10127,22 @@ func (c *HisApiController) GetSettleAccounts() {
10126 10127
 
10127 10128
 		}
10128 10129
 
10129
-		if item.MedChrgitmType == "06" && adminUser.CurrentOrgId == 9504  { //手术费
10130
-				fmt.Println("------------")
10130
+		if item.MedChrgitmType == "06" && adminUser.CurrentOrgId == 9504 { //手术费
10131
+			fmt.Println("------------")
10131 10132
 
10132 10133
 			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10133 10134
 			treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10134 10135
 			treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
10135 10136
 
10136
-
10137 10137
 		}
10138
-		if item.MedChrgitmType == "06" && adminUser.CurrentOrgId != 9504  { //手术费
10138
+		if item.MedChrgitmType == "06" && adminUser.CurrentOrgId != 9504 { //手术费
10139 10139
 			operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10140 10140
 			operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10141 10141
 			operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
10142 10142
 
10143 10143
 		}
10144 10144
 
10145
-
10146
-
10147
-		if item.MedChrgitmType == "08"  || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403"{ //材料费
10145
+		if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //材料费
10148 10146
 			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10149 10147
 			materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10150 10148
 			materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -12135,7 +12133,7 @@ func PathExists(path string) (bool, error) {
12135 12133
 	return false, err
12136 12134
 }
12137 12135
 
12138
-//创建文件夹
12136
+// 创建文件夹
12139 12137
 func Mkdir(dir string) {
12140 12138
 	// 创建文件夹
12141 12139
 	exist, err := PathExists(dir)
@@ -12156,7 +12154,7 @@ func Mkdir(dir string) {
12156 12154
 	}
12157 12155
 }
12158 12156
 
12159
-//压缩文件
12157
+// 压缩文件
12160 12158
 func Zip(srcFile string, destZip string) error {
12161 12159
 	zipfile, err := os.Create(destZip)
12162 12160
 	if err != nil {

+ 16 - 41
controllers/hb/hbyb_controller.go 查看文件

@@ -3,9 +3,8 @@ package hb
3 3
 import (
4 4
 	"encoding/json"
5 5
 	"fmt"
6
-	"time"
7 6
 	"os"
8
-
7
+	"time"
9 8
 
10 9
 	"gdyb/controllers"
11 10
 	"gdyb/models"
@@ -13,7 +12,6 @@ import (
13 12
 	"gdyb/utils"
14 13
 	"github.com/astaxie/beego"
15 14
 	"io/ioutil"
16
-
17 15
 )
18 16
 
19 17
 type HBybController struct {
@@ -38,14 +36,12 @@ func HbybRegistRouters() {
38 36
 	beego.Router("/hbyb/3202b", &HBybController{}, "post:Post3202b")
39 37
 	//beego.Router("/hbyb/3202c", &HBybController{}, "post:Post3202")
40 38
 
41
-
42 39
 	beego.Router("/hbyb/4101", &HBybController{}, "post:Post4101")
43 40
 
44 41
 	beego.Router("/hbyb/5262", &HBybController{}, "post:Post5262")
45 42
 	beego.Router("/hbyb/5267", &HBybController{}, "post:Post5267")
46 43
 	beego.Router("/hbyb/5301", &HBybController{}, "get:Post5301")
47 44
 
48
-
49 45
 	beego.Router("/hbyb/2401", &HBybController{}, "post:Post2401")
50 46
 	beego.Router("/hbyb/2402", &HBybController{}, "post:Post2402")
51 47
 	beego.Router("/hbyb/2404", &HBybController{}, "get:Post2404")
@@ -56,18 +52,12 @@ func HbybRegistRouters() {
56 52
 	beego.Router("/hbyb/2304", &HBybController{}, "get:Post2304")
57 53
 	beego.Router("/hbyb/2305", &HBybController{}, "get:Post2305")
58 54
 
59
-
60 55
 	beego.Router("/hbyb/3204", &HBybController{}, "post:Post3204")
61 56
 	beego.Router("/hbyb/8404", &HBybController{}, "post:Post8404")
62 57
 	beego.Router("/hbyb/3204a", &HBybController{}, "post:Post3204a")
63 58
 
64
-
65
-
66
-
67 59
 }
68 60
 
69
-
70
-
71 61
 func (c *HBybController) Post2401() {
72 62
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
73 63
 	var respJSON map[string]interface{}
@@ -364,7 +354,7 @@ func (c *HBybController) Post2305() {
364 354
 	})
365 355
 }
366 356
 
367
-func (c *HBybController)Post5301(){
357
+func (c *HBybController) Post5301() {
368 358
 	org_name := c.GetString("org_name")
369 359
 	doctor := c.GetString("doctor")
370 360
 	fixmedins_code := c.GetString("fixmedins_code")
@@ -372,7 +362,7 @@ func (c *HBybController)Post5301(){
372 362
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
373 363
 	secret_key := c.GetString("secret_key")
374 364
 	psn_no := c.GetString("psn_no")
375
-	result := service.Hbyb5301(psn_no,"",org_name, doctor,fixmedins_code,"",insuplc_admdvs,mdtrtarea_admvs,secret_key,"","")
365
+	result := service.Hbyb5301(psn_no, "", org_name, doctor, fixmedins_code, "", insuplc_admdvs, mdtrtarea_admvs, secret_key, "", "")
376 366
 	var dat map[string]interface{}
377 367
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
378 368
 		fmt.Println(dat)
@@ -384,7 +374,7 @@ func (c *HBybController)Post5301(){
384 374
 	})
385 375
 
386 376
 }
387
-func (c *HBybController)Post5262(){
377
+func (c *HBybController) Post5262() {
388 378
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
389 379
 	var respJSON map[string]interface{}
390 380
 	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
@@ -407,8 +397,7 @@ func (c *HBybController)Post5262(){
407 397
 	page := respJSON["page"].(string)
408 398
 	limit := respJSON["limit"].(string)
409 399
 
410
-
411
-	result := service.Hbyb5262(baseParams, bps,page,limit)
400
+	result := service.Hbyb5262(baseParams, bps, page, limit)
412 401
 	var dat map[string]interface{}
413 402
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
414 403
 		fmt.Println(dat)
@@ -419,9 +408,8 @@ func (c *HBybController)Post5262(){
419 408
 		"pre": dat,
420 409
 	})
421 410
 
422
-
423 411
 }
424
-func (c *HBybController)Post5267(){
412
+func (c *HBybController) Post5267() {
425 413
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
426 414
 	var respJSON map[string]interface{}
427 415
 	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
@@ -444,7 +432,7 @@ func (c *HBybController)Post5267(){
444 432
 	page := respJSON["page"].(string)
445 433
 	limit := respJSON["limit"].(string)
446 434
 
447
-	result := service.Hbyb5267(baseParams, bps,page,limit)
435
+	result := service.Hbyb5267(baseParams, bps, page, limit)
448 436
 	var dat map[string]interface{}
449 437
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
450 438
 		fmt.Println(dat)
@@ -457,7 +445,6 @@ func (c *HBybController)Post5267(){
457 445
 
458 446
 }
459 447
 
460
-
461 448
 func (c *HBybController) Post3202a() {
462 449
 
463 450
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
@@ -492,7 +479,6 @@ func (c *HBybController) Post3202a() {
492 479
 	})
493 480
 }
494 481
 
495
-
496 482
 func (c *HBybController) Post3204a() {
497 483
 
498 484
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
@@ -527,7 +513,6 @@ func (c *HBybController) Post3204a() {
527 513
 	})
528 514
 }
529 515
 
530
-
531 516
 func (c *HBybController) Post3204() {
532 517
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
533 518
 	var respJSON map[string]interface{}
@@ -553,7 +538,6 @@ func (c *HBybController) Post3204() {
553 538
 	})
554 539
 }
555 540
 
556
-
557 541
 func (c *HBybController) Post8404() {
558 542
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
559 543
 	var respJSON map[string]interface{}
@@ -567,7 +551,7 @@ func (c *HBybController) Post8404() {
567 551
 	baseParams.OrgName = respJSON["org_name"].(string)
568 552
 	baseParams.Doctor = respJSON["doctor"].(string)
569 553
 	baseParams.FixmedinsCode = respJSON["fixmedins_code"].(string)
570
-	result := service.Hbyb8404(baseParams,respJSON["month"].(string))
554
+	result := service.Hbyb8404(baseParams, respJSON["month"].(string))
571 555
 	var dat map[string]interface{}
572 556
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
573 557
 		fmt.Println(dat)
@@ -579,8 +563,6 @@ func (c *HBybController) Post8404() {
579 563
 	})
580 564
 }
581 565
 
582
-
583
-
584 566
 func (c *HBybController) Post1608() {
585 567
 
586 568
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
@@ -590,14 +572,12 @@ func (c *HBybController) Post1608() {
590 572
 		return
591 573
 	}
592 574
 
593
-
594 575
 	var baseParams models.BaseParams
595 576
 	baseParams.InsuplcAdmdvs = respJSON["insuplc_admdvs"].(string)
596 577
 	baseParams.MdtrtareaAdmvs = respJSON["mdtrtarea_admvs"].(string)
597 578
 	baseParams.OrgName = respJSON["org_name"].(string)
598 579
 	baseParams.Doctor = respJSON["doctor"].(string)
599 580
 
600
-
601 581
 	baseParams.FixmedinsCode = respJSON["fixmedins_code"].(string)
602 582
 	cnt := respJSON["cnt"].(string)
603 583
 	medfee_sumamt := respJSON["medfee_sumamt"].(string)
@@ -606,7 +586,7 @@ func (c *HBybController) Post1608() {
606 586
 	start_time := respJSON["start_time"].(string)
607 587
 	end_time := respJSON["end_time"].(string)
608 588
 
609
-	result := service.Hbyb1608(baseParams,cnt,medfee_sumamt,start_time,end_time,func_smamt)
589
+	result := service.Hbyb1608(baseParams, cnt, medfee_sumamt, start_time, end_time, func_smamt)
610 590
 	var dat map[string]interface{}
611 591
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
612 592
 		fmt.Println(dat)
@@ -618,9 +598,6 @@ func (c *HBybController) Post1608() {
618 598
 	})
619 599
 }
620 600
 
621
-
622
-
623
-
624 601
 func (c *HBybController) Post3202b() {
625 602
 
626 603
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
@@ -655,7 +632,6 @@ func (c *HBybController) Post3202b() {
655 632
 	})
656 633
 }
657 634
 
658
-
659 635
 func (c *HBybController) Post4101() {
660 636
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
661 637
 	var respJSON map[string]interface{}
@@ -1019,7 +995,10 @@ func (c *HBybController) PostEight() {
1019 995
 
1020 996
 	acct_used_flag, _ := c.GetInt64("acct_used_flag")
1021 997
 
1022
-	result, srcRequest := service.Hbyb2207(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)
998
+	pack_num := c.GetString("pack_num")
999
+	good_pack_num := c.GetString("good_pack_num")
1000
+
1001
+	result, srcRequest := service.Hbyb2207(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, pack_num, good_pack_num)
1023 1002
 	var dat map[string]interface{}
1024 1003
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
1025 1004
 		fmt.Println(dat)
@@ -1089,11 +1068,11 @@ func (c *HBybController) PostTen() {
1089 1068
 		SetlId:  setlId,
1090 1069
 	}
1091 1070
 	var result string
1092
-	if mdtrtarea_admvs == "421182" || mdtrtarea_admvs == "420902"{
1071
+	if mdtrtarea_admvs == "421182" || mdtrtarea_admvs == "420902" {
1093 1072
 
1094
-		result = service.Hbyb5203(baseParams, businessParams,med_type)
1073
+		result = service.Hbyb5203(baseParams, businessParams, med_type)
1095 1074
 
1096
-	}else{
1075
+	} else {
1097 1076
 
1098 1077
 		result = service.Hbyb5203aa(baseParams, businessParams)
1099 1078
 
@@ -1110,7 +1089,6 @@ func (c *HBybController) PostTen() {
1110 1089
 	})
1111 1090
 }
1112 1091
 
1113
-
1114 1092
 func saveJsLog(result string, request string, infno string, desc string, org_name string) {
1115 1093
 
1116 1094
 	//org_id, _ := beego.AppConfig.Int64("org_id")
@@ -1152,6 +1130,3 @@ func saveJsLog(result string, request string, infno string, desc string, org_nam
1152 1130
 	}
1153 1131
 
1154 1132
 }
1155
-
1156
-
1157
-

+ 15 - 21
controllers/js/jsyb_controller.go 查看文件

@@ -1506,7 +1506,7 @@ func (c *JSybController) PostFour() {
1506 1506
 
1507 1507
 	//cainfo := c.GetString("cainfo")
1508 1508
 
1509
-	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,new_doctor_name)
1509
+	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, new_doctor_name)
1510 1510
 	saveJsLog(result, request_log, "2203", "上传就诊信息", org_name)
1511 1511
 	var dat2 map[string]interface{}
1512 1512
 	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
@@ -1709,7 +1709,8 @@ func (c *JSybController) PostEight() {
1709 1709
 	verify_number := c.GetString("verify_number")
1710 1710
 	cainfo := c.GetString("cainfo")
1711 1711
 	mdtrt_grp_type := c.GetString("mdtrt_grp_type")
1712
-
1712
+	pack_num := c.GetString("pack_num")
1713
+	good_pack_num := c.GetString("good_pack_num")
1713 1714
 	var result string
1714 1715
 	var request_log string
1715 1716
 	if id_card_type == 4 {
@@ -1722,10 +1723,10 @@ func (c *JSybController) PostEight() {
1722 1723
 		//}
1723 1724
 		//token := ele.Data.EcCardToken
1724 1725
 		//if len(token) > 0 {
1725
-		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, mdtrt_grp_type)
1726
+		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, mdtrt_grp_type, pack_num, good_pack_num)
1726 1727
 		//}
1727 1728
 	} else {
1728
-		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, mdtrt_grp_type)
1729
+		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, mdtrt_grp_type, pack_num, good_pack_num)
1729 1730
 
1730 1731
 	}
1731 1732
 
@@ -2179,7 +2180,7 @@ func (c *JSybController) Readcardchargeother() {
2179 2180
 	c.TestGetBasBaseInit(fixmedins_code, secret_key, ak)
2180 2181
 	switch id_card_type {
2181 2182
 	case "1":
2182
-		if mdtrtarea_admvs == "320830"{
2183
+		if mdtrtarea_admvs == "320830" {
2183 2184
 			pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
2184 2185
 			pBusiCardInfo = Remove0000(pBusiCardInfo)
2185 2186
 
@@ -2216,7 +2217,7 @@ func (c *JSybController) Readcardchargeother() {
2216 2217
 
2217 2218
 			}
2218 2219
 
2219
-		}else{
2220
+		} else {
2220 2221
 			pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
2221 2222
 			pBusiCardInfo = Remove0000(pBusiCardInfo)
2222 2223
 			pCardInfo = Remove0000(pCardInfo)
@@ -2253,7 +2254,6 @@ func (c *JSybController) Readcardchargeother() {
2253 2254
 
2254 2255
 			}
2255 2256
 
2256
-
2257 2257
 		}
2258 2258
 
2259 2259
 		break
@@ -2359,7 +2359,7 @@ func (c *JSybController) ReadCard() {
2359 2359
 	c.TestGetBasBaseInit(fixmedins_code, secret_key, ak)
2360 2360
 	switch id_card_type {
2361 2361
 	case "1":
2362
-		if mdtrtarea_admvs == "320830"{
2362
+		if mdtrtarea_admvs == "320830" {
2363 2363
 			pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
2364 2364
 			pBusiCardInfo = Remove0000(pBusiCardInfo)
2365 2365
 
@@ -2396,8 +2396,7 @@ func (c *JSybController) ReadCard() {
2396 2396
 
2397 2397
 			}
2398 2398
 
2399
-
2400
-		}else{
2399
+		} else {
2401 2400
 			pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
2402 2401
 			pBusiCardInfo = Remove0000(pBusiCardInfo)
2403 2402
 			pCardInfo = Remove0000(pCardInfo)
@@ -2434,7 +2433,6 @@ func (c *JSybController) ReadCard() {
2434 2433
 
2435 2434
 			}
2436 2435
 
2437
-
2438 2436
 		}
2439 2437
 
2440 2438
 		break
@@ -2476,7 +2474,7 @@ func (c *JSybController) ReadCard() {
2476 2474
 	case "4": //电子凭证
2477 2475
 		fmt.Println(operator_id)
2478 2476
 		fmt.Println(operator)
2479
-		_, pBusiCardInfo :=GetELeCertInfoSettle(fixmedins_code, operator_id, operator)
2477
+		_, pBusiCardInfo := GetELeCertInfoSettle(fixmedins_code, operator_id, operator)
2480 2478
 		fmt.Println(pBusiCardInfo)
2481 2479
 		pBusiCardInfo = Remove0000(pBusiCardInfo)
2482 2480
 		var ele ELeCertData
@@ -2518,8 +2516,7 @@ func (c *JSybController) ReadCard() {
2518 2516
 	case "5": //电子凭证
2519 2517
 		fmt.Println(operator_id)
2520 2518
 		fmt.Println(operator)
2521
-		_, pBusiCardInfo := c.GetELeCertInfoByFaceTwoOne(fixmedins_code, operator_id, operator,"01101")
2522
-
2519
+		_, pBusiCardInfo := c.GetELeCertInfoByFaceTwoOne(fixmedins_code, operator_id, operator, "01101")
2523 2520
 
2524 2521
 		//_, pBusiCardInfo := c.GetELeCertInfoByFace(fixmedins_code, operator_id, operator, "01101")
2525 2522
 		fmt.Println(pBusiCardInfo)
@@ -2579,11 +2576,11 @@ func (c *JSybController) TestGetBasBaseInit(code string, secret_key string, ak s
2579 2576
 	str := make([]byte, 2048)
2580 2577
 	inputData := make(map[string]interface{})
2581 2578
 
2582
-	if code == "H32083002114"{
2579
+	if code == "H32083002114" {
2583 2580
 		inputData["IP"] = "10.58.73.212"
2584 2581
 		inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
2585 2582
 
2586
-	}else{
2583
+	} else {
2587 2584
 		inputData["IP"] = "10.58.65.240"
2588 2585
 		inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
2589 2586
 	}
@@ -2836,8 +2833,7 @@ func (c *JSybController) GetELeCertInfoFour2223(code string, operator_id string,
2836 2833
 	return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
2837 2834
 }
2838 2835
 
2839
-
2840
-func (c *JSybController) GetELeCertInfoByFaceTwoOne(code string, operator_id string, operator_name string,businessType string) (string, string) {
2836
+func (c *JSybController) GetELeCertInfoByFaceTwoOne(code string, operator_id string, operator_name string, businessType string) (string, string) {
2841 2837
 	DllDef := syscall.MustLoadDLL("NationEcCode.dll")
2842 2838
 	readCard := DllDef.MustFindProc("NationEcTrans")
2843 2839
 
@@ -2918,7 +2914,7 @@ func (c *JSybController) GetELeCertInfoByFace(code string, operator_id string, o
2918 2914
 
2919 2915
 	return "", string(receivedMessage)
2920 2916
 }
2921
-func (c *JSybController) GetELeCertInfoByFaceTwoTwo(code string, operator_id string, operator_name string, authNo string, outBizNo string, businessType string)(string, string) {
2917
+func (c *JSybController) GetELeCertInfoByFaceTwoTwo(code string, operator_id string, operator_name string, authNo string, outBizNo string, businessType string) (string, string) {
2922 2918
 	DllDef := syscall.MustLoadDLL("NationEcCode.dll")
2923 2919
 	readCard := DllDef.MustFindProc("NationEcTrans")
2924 2920
 
@@ -2950,8 +2946,6 @@ func (c *JSybController) GetELeCertInfoByFaceTwoTwo(code string, operator_id str
2950 2946
 	return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
2951 2947
 }
2952 2948
 
2953
-
2954
-
2955 2949
 func GetELeCertInfoByFacetwo(code string, operator_id string, operator_name string, authNo string, outBizNo string, businessType string) (string, string) {
2956 2950
 	//	// WebSocket服务器地址
2957 2951
 	serverURL := "ws://127.0.0.1:8899"

+ 5 - 1
controllers/nm/nm_controller.go 查看文件

@@ -88,6 +88,7 @@ func NmybRegistRouters() {
88 88
 	//beego.Router("/nmyb/008", &NmController{}, "get:Post008")
89 89
 
90 90
 }
91
+
91 92
 //func (c *NmController) Post001() {
92 93
 //	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
93 94
 //	var respJSON map[string]interface{}
@@ -1108,10 +1109,13 @@ func (c *NmController) Post2207() {
1108 1109
 	cainfo := c.GetString("cainfo")
1109 1110
 	mdtrt_grp_type := c.GetString("mdtrt_grp_type")
1110 1111
 
1112
+	pack_num := c.GetString("pack_num")
1113
+	good_pack_num := c.GetString("good_pack_num")
1114
+
1111 1115
 	var result string
1112 1116
 	var request_log string
1113 1117
 
1114
-	result, request_log = service.Nmyb2207(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, mdtrt_grp_type)
1118
+	result, request_log = service.Nmyb2207(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, mdtrt_grp_type, pack_num, good_pack_num)
1115 1119
 
1116 1120
 	saveJsLog(result, request_log, "2207", "结算", org_name)
1117 1121
 	var dat map[string]interface{}

+ 19 - 29
controllers/sg/gdyb_controller.go 查看文件

@@ -32,8 +32,6 @@ func GdybRegistRouters() {
32 32
 	beego.Router("/gdyb/4101", &GdybController{}, "post:Post4101")
33 33
 	beego.Router("/gdyb/5301", &GdybController{}, "get:Post5301")
34 34
 
35
-
36
-
37 35
 }
38 36
 func (c *GdybController) Post5301() {
39 37
 	psnNo := c.GetString("psn_no")
@@ -44,7 +42,7 @@ func (c *GdybController) Post5301() {
44 42
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
45 43
 	secret_key := c.GetString("secret_key")
46 44
 
47
-	result := service.Gdyb5301(psnNo,org_name,doctor,fixmedins_code,insuplc_admdvs,mdtrtarea_admvs,secret_key,0)
45
+	result := service.Gdyb5301(psnNo, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, 0)
48 46
 	var dat map[string]interface{}
49 47
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
50 48
 		fmt.Println(dat)
@@ -78,7 +76,7 @@ func (c *GdybController) Post4101() {
78 76
 		utils.ErrorLog("解析失败:%v", err)
79 77
 		return
80 78
 	}
81
-	result, _ := service.Gdyb4101(struct4101, pp.SecretKey, pp.FixmedinsName, pp.OpterName, pp.FixmedinsCode, pp.InsuplcAdmdvs, pp.MdtrtareaAdmvs, 0,0)
79
+	result, _ := service.Gdyb4101(struct4101, pp.SecretKey, pp.FixmedinsName, pp.OpterName, pp.FixmedinsCode, pp.InsuplcAdmdvs, pp.MdtrtareaAdmvs, 0, 0)
82 80
 	var dat map[string]interface{}
83 81
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
84 82
 		fmt.Println(dat)
@@ -93,7 +91,6 @@ func (c *GdybController) Post4101() {
93 91
 	})
94 92
 }
95 93
 
96
-
97 94
 type Result struct {
98 95
 	ErrMsg      interface{} `json:"err_msg"`
99 96
 	InfRefmsgid string      `json:"inf_refmsgid"`
@@ -178,9 +175,9 @@ func (c *GdybController) PostTwo() {
178 175
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
179 176
 	secret_key := c.GetString("secret_key")
180 177
 	id_card_type, _ := c.GetInt64("id_card_type")
181
-	record_time  := c.GetString("record_time")
178
+	record_time := c.GetString("record_time")
182 179
 
183
-	result, inputLog := service.Gdyb2201A(psnNo, insutype, certNo, org_name, operator, ipt_otp_no, dept, fixmedins_code, dept_code, doctor_id, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type, doctor_name, record_time, verify_number,0)
180
+	result, inputLog := service.Gdyb2201A(psnNo, insutype, certNo, org_name, operator, ipt_otp_no, dept, fixmedins_code, dept_code, doctor_id, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type, doctor_name, record_time, verify_number, 0)
184 181
 	saveLogq(result, inputLog, "2201", "退号")
185 182
 
186 183
 	var dat map[string]interface{}
@@ -190,7 +187,6 @@ func (c *GdybController) PostTwo() {
190 187
 
191 188
 	}
192 189
 
193
-
194 190
 	c.ServeSuccessJSON(map[string]interface{}{
195 191
 		"pre": dat,
196 192
 	})
@@ -206,9 +202,9 @@ func (c *GdybController) PostThree() {
206 202
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
207 203
 	secret_key := c.GetString("secret_key")
208 204
 	fixmedins_code := c.GetString("fixmedins_code")
209
-	admin_user_id,_ := c.GetInt64("admin_user_id")
205
+	admin_user_id, _ := c.GetInt64("admin_user_id")
210 206
 
211
-	result, requestLog := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, operator, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code,admin_user_id)
207
+	result, requestLog := service.Gdyb2202(psnNo, mdtrtId, iptOtpNo, org_name, operator, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, admin_user_id)
212 208
 	saveLogq(result, requestLog, "2202", "退号")
213 209
 	var dat map[string]interface{}
214 210
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -255,11 +251,7 @@ func (c *GdybController) PostFour() {
255 251
 
256 252
 	new_doctor_name := respJSON["new_doctor_name"].(string)
257 253
 
258
-
259
-
260
-
261
-
262
-	result, request_log := service.Gdyb2203c(psnNo, mdtrtId, doctor, department, org_name, med_type, doctor_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_code, sick_name, dept, config, begin_time,new_doctor_name)
254
+	result, request_log := service.Gdyb2203c(psnNo, mdtrtId, doctor, department, org_name, med_type, doctor_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, sick_code, sick_name, dept, config, begin_time, new_doctor_name)
263 255
 	saveLogq(result, request_log, "2203", "上传就诊信息")
264 256
 
265 257
 	var dat map[string]interface{}
@@ -269,8 +261,7 @@ func (c *GdybController) PostFour() {
269 261
 
270 262
 	}
271 263
 	c.ServeSuccessJSON(map[string]interface{}{
272
-		"pre":         dat,
273
-
264
+		"pre": dat,
274 265
 	})
275 266
 }
276 267
 
@@ -339,8 +330,7 @@ func (c *GdybController) PostFive() {
339 330
 	}
340 331
 
341 332
 	c.ServeSuccessJSON(map[string]interface{}{
342
-		"pre":         dat,
343
-
333
+		"pre": dat,
344 334
 	})
345 335
 }
346 336
 
@@ -359,8 +349,7 @@ func (c *GdybController) PostSix() {
359 349
 	//fixmedins_code := c.Get("fixmedins_code")
360 350
 	admin_user_id, _ := c.GetInt64("admin_user_id")
361 351
 
362
-
363
-	result, requestlog := service.Gdyb2205(psnNo, mdtrtId, chrgBchno, org_name, operator, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code,admin_user_id)
352
+	result, requestlog := service.Gdyb2205(psnNo, mdtrtId, chrgBchno, org_name, operator, insuplc_admdvs, mdtrtarea_admvs, secret_key, fixmedins_code, admin_user_id)
364 353
 	saveLogq(result, requestlog, "2205", "上传就诊信息")
365 354
 
366 355
 	var dat map[string]interface{}
@@ -391,7 +380,7 @@ func (c *GdybController) PostSeven() {
391 380
 	id_card_type, _ := c.GetInt64("id_card_type")
392 381
 
393 382
 	certificates, _ := c.GetInt64("certificates")
394
-	result, log := service.Gdyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, operator, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates,0,"0")
383
+	result, log := service.Gdyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, operator, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, 0, "0")
395 384
 	saveLogq(result, log, "2206", "预结算")
396 385
 
397 386
 	var dat map[string]interface{}
@@ -428,7 +417,10 @@ func (c *GdybController) PostEight() {
428 417
 	preselfpay_amt, _ := c.GetFloat("preselfpay_amt")
429 418
 	inscp_scp_amt, _ := c.GetFloat("inscp_scp_amt")
430 419
 
431
-	result, srcRequest := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, operator, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, 1, acct_used_flag, verify_number,0)
420
+	pack_num, _ := c.GetInt64("pack_num")
421
+	good_pack_num, _ := c.GetInt64("good_pack_num")
422
+
423
+	result, srcRequest := service.Gdyb2207(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, operator, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, fulamt_ownpay_amt, overlmt_selfpay, preselfpay_amt, inscp_scp_amt, 1, acct_used_flag, verify_number, 0, pack_num, good_pack_num)
432 424
 	saveLogq(result, srcRequest, "2207", "结算")
433 425
 	var dat map[string]interface{}
434 426
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -438,7 +430,7 @@ func (c *GdybController) PostEight() {
438 430
 	}
439 431
 
440 432
 	c.ServeSuccessJSON(map[string]interface{}{
441
-		"pre":  dat,
433
+		"pre": dat,
442 434
 	})
443 435
 }
444 436
 
@@ -452,7 +444,7 @@ func (c *GdybController) PostNine() {
452 444
 	fixmedins_code := c.GetString("fixmedins_code")
453 445
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
454 446
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
455
-	result, srcRequest := service.Gdyb2208(psnNo, mdtrtId, setlId, org_name, operator, secret_key, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,0)
447
+	result, srcRequest := service.Gdyb2208(psnNo, mdtrtId, setlId, org_name, operator, secret_key, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, 0)
456 448
 	saveLogq(result, srcRequest, "2208", "退费")
457 449
 
458 450
 	var dat map[string]interface{}
@@ -463,7 +455,7 @@ func (c *GdybController) PostNine() {
463 455
 	}
464 456
 
465 457
 	c.ServeSuccessJSON(map[string]interface{}{
466
-		"pre":  dat,
458
+		"pre": dat,
467 459
 	})
468 460
 }
469 461
 
@@ -486,8 +478,6 @@ func (c *GdybController) PostTen() {
486 478
 	//doctor := c.Get("doctor")
487 479
 	admin_user_id, _ := c.GetInt64("admin_user_id")
488 480
 
489
-
490
-
491 481
 	fmt.Println(insutype)
492 482
 	fmt.Println(clrType)
493 483
 	fmt.Println(setlOptins)
@@ -517,7 +507,7 @@ func (c *GdybController) PostTen() {
517 507
 	fmt.Println(baseParams)
518 508
 	fmt.Println(businessParams)
519 509
 
520
-	result := service.Gdyb3201(baseParams, businessParams,admin_user_id)
510
+	result := service.Gdyb3201(baseParams, businessParams, admin_user_id)
521 511
 	var dat map[string]interface{}
522 512
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
523 513
 		fmt.Println(dat)

+ 67 - 41
controllers/sg/his_api_controller.go 查看文件

@@ -34,7 +34,6 @@ import (
34 34
 	"syscall"
35 35
 	"time"
36 36
 	"unsafe"
37
-	"github.com/go-ole/go-ole"
38 37
 )
39 38
 
40 39
 type HisApiController struct {
@@ -28918,11 +28917,9 @@ func (c *HisApiController) GetUploadInfo() {
28918 28917
 	pay_ways := c.GetString("pay_ways")
28919 28918
 	oth_desc := c.GetString("oth_desc")
28920 28919
 
28921
-
28922 28920
 	pack_num, _ := c.GetInt64("pack_num")
28923 28921
 	good_pack_num, _ := c.GetInt64("good_pack_num")
28924 28922
 
28925
-
28926 28923
 	pay_price, _ := c.GetFloat("pay_price")
28927 28924
 	pay_card_no := c.GetString("pay_card_no")
28928 28925
 
@@ -30271,7 +30268,7 @@ func (c *HisApiController) GetUploadInfo() {
30271 30268
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30272 30269
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30273 30270
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30274
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30271
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30275 30272
 
30276 30273
 							resp, requestErr := http.Get(api)
30277 30274
 							if requestErr != nil {
@@ -30331,7 +30328,7 @@ func (c *HisApiController) GetUploadInfo() {
30331 30328
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30332 30329
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30333 30330
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30334
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30331
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30335 30332
 
30336 30333
 							resp, requestErr := http.Get(api)
30337 30334
 							if requestErr != nil {
@@ -30391,7 +30388,7 @@ func (c *HisApiController) GetUploadInfo() {
30391 30388
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30392 30389
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30393 30390
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30394
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30391
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30395 30392
 
30396 30393
 							resp, requestErr := http.Get(api)
30397 30394
 							if requestErr != nil {
@@ -30451,7 +30448,7 @@ func (c *HisApiController) GetUploadInfo() {
30451 30448
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30452 30449
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30453 30450
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30454
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30451
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30455 30452
 
30456 30453
 							resp, requestErr := http.Get(api)
30457 30454
 							if requestErr != nil {
@@ -30538,7 +30535,7 @@ func (c *HisApiController) GetUploadInfo() {
30538 30535
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30539 30536
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30540 30537
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30541
-											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30538
+											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30542 30539
 									} else if miConfig.MdtrtareaAdmvs == "320921" {
30543 30540
 										api = "http://192.168.2.3:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30544 30541
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
@@ -30546,7 +30543,7 @@ func (c *HisApiController) GetUploadInfo() {
30546 30543
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30547 30544
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30548 30545
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30549
-											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30546
+											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30550 30547
 									} else {
30551 30548
 										api = "http://192.168.5.251:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30552 30549
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
@@ -30554,7 +30551,7 @@ func (c *HisApiController) GetUploadInfo() {
30554 30551
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30555 30552
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30556 30553
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30557
-											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType+ "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30554
+											"&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 + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30558 30555
 
30559 30556
 									}
30560 30557
 
@@ -30617,7 +30614,7 @@ func (c *HisApiController) GetUploadInfo() {
30617 30614
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30618 30615
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30619 30616
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
30620
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number + "&pack_num=" + strconv.FormatInt(pack_num, 10)+ "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30617
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
30621 30618
 
30622 30619
 							resp, requestErr := http.Get(api)
30623 30620
 							if requestErr != nil {
@@ -30659,12 +30656,12 @@ func (c *HisApiController) GetUploadInfo() {
30659 30656
 							if his.IdCardType == 4 {
30660 30657
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30661 30658
 								cert_no = psn_info.VerifyNumber
30662
-								result2, src_resquest, _ = service.FJyb2207ForToken(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey,tempOrder.PackNum,tempOrder.GoodPackNum)
30659
+								result2, src_resquest, _ = service.FJyb2207ForToken(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, tempOrder.PackNum, tempOrder.GoodPackNum)
30663 30660
 
30664 30661
 							} else if his.IdCardType == 1 {
30665 30662
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30666 30663
 								cert_no = strings.Split(psn_info.CardInfo, "|")[0]
30667
-								result2, src_resquest, _ = service.FJyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey,tempOrder.PackNum,tempOrder.GoodPackNum)
30664
+								result2, src_resquest, _ = service.FJyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, tempOrder.PackNum, tempOrder.GoodPackNum)
30668 30665
 							}
30669 30666
 
30670 30667
 							//result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, acct_used_flag)
@@ -30801,13 +30798,13 @@ func (c *HisApiController) GetUploadInfo() {
30801 30798
 								if res2.Output.MdtrtCertType == "01" {
30802 30799
 									//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30803 30800
 									token := res2.Output.EcToken
30804
-									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id)
30801
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30805 30802
 
30806 30803
 								} else if res2.Output.MdtrtCertType == "02" {
30807
-									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id)
30804
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30808 30805
 
30809 30806
 								} else {
30810
-									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, "", admin_user_id)
30807
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30811 30808
 								}
30812 30809
 
30813 30810
 								var dat2 map[string]interface{}
@@ -30852,13 +30849,13 @@ func (c *HisApiController) GetUploadInfo() {
30852 30849
 										med_type = "11"
30853 30850
 									}
30854 30851
 								}
30855
-								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
30852
+								result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30856 30853
 							} else {
30857 30854
 								if his.IdCardType == 4 {
30858 30855
 									psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30859 30856
 									var token string
30860 30857
 									token = psn_info.VerifyNumber
30861
-									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id)
30858
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30862 30859
 
30863 30860
 								} else {
30864 30861
 									if his.IdCardType == 1 {
@@ -30868,7 +30865,7 @@ func (c *HisApiController) GetUploadInfo() {
30868 30865
 										cert_no = basNumber
30869 30866
 
30870 30867
 									}
30871
-									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
30868
+									result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
30872 30869
 
30873 30870
 								}
30874 30871
 
@@ -31325,12 +31322,12 @@ func (c *HisApiController) GetUploadInfo() {
31325 31322
 					if res2.Output.MdtrtCertType == "01" {
31326 31323
 						//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
31327 31324
 						token := res2.Output.EcToken
31328
-						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 4, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id)
31325
+						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 4, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
31329 31326
 					} else if res2.Output.MdtrtCertType == "02" {
31330
-						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 2, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id)
31327
+						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 2, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
31331 31328
 
31332 31329
 					} else {
31333
-						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 1, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, res2.Output.CardNo, admin_user_id)
31330
+						result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 1, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, res2.Output.CardNo, admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
31334 31331
 					}
31335 31332
 
31336 31333
 					var dat2 map[string]interface{}
@@ -31363,7 +31360,7 @@ func (c *HisApiController) GetUploadInfo() {
31363 31360
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31364 31361
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31365 31362
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31366
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
31363
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31367 31364
 
31368 31365
 				resp, requestErr := http.Get(api)
31369 31366
 				if requestErr != nil {
@@ -31405,7 +31402,7 @@ func (c *HisApiController) GetUploadInfo() {
31405 31402
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31406 31403
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31407 31404
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31408
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
31405
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31409 31406
 
31410 31407
 				resp, requestErr := http.Get(api)
31411 31408
 				if requestErr != nil {
@@ -31447,7 +31444,7 @@ func (c *HisApiController) GetUploadInfo() {
31447 31444
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31448 31445
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31449 31446
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31450
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
31447
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31451 31448
 
31452 31449
 				resp, requestErr := http.Get(api)
31453 31450
 				if requestErr != nil {
@@ -31489,7 +31486,7 @@ func (c *HisApiController) GetUploadInfo() {
31489 31486
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31490 31487
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31491 31488
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31492
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
31489
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31493 31490
 
31494 31491
 				resp, requestErr := http.Get(api)
31495 31492
 				if requestErr != nil {
@@ -31578,7 +31575,7 @@ func (c *HisApiController) GetUploadInfo() {
31578 31575
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31579 31576
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31580 31577
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31581
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
31578
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31582 31579
 
31583 31580
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31584 31581
 
@@ -31589,7 +31586,7 @@ func (c *HisApiController) GetUploadInfo() {
31589 31586
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31590 31587
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31591 31588
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31592
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
31589
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31593 31590
 
31594 31591
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31595 31592
 
@@ -31601,7 +31598,7 @@ func (c *HisApiController) GetUploadInfo() {
31601 31598
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31602 31599
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31603 31600
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31604
-								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
31601
+								"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31605 31602
 
31606 31603
 						}
31607 31604
 
@@ -31673,7 +31670,7 @@ func (c *HisApiController) GetUploadInfo() {
31673 31670
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31674 31671
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
31675 31672
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31676
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number
31673
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31677 31674
 
31678 31675
 				resp, requestErr := http.Get(api)
31679 31676
 				if requestErr != nil {
@@ -31762,7 +31759,7 @@ func (c *HisApiController) GetUploadInfo() {
31762 31759
 					}
31763 31760
 				}
31764 31761
 
31765
-				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
31762
+				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName, tempOrder.PackNum, tempOrder.GoodPackNum)
31766 31763
 				var dat map[string]interface{}
31767 31764
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31768 31765
 					fmt.Println(dat)
@@ -31802,7 +31799,7 @@ func (c *HisApiController) GetUploadInfo() {
31802 31799
 					}
31803 31800
 				}
31804 31801
 
31805
-				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
31802
+				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName, tempOrder.PackNum, tempOrder.GoodPackNum)
31806 31803
 				var dat map[string]interface{}
31807 31804
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31808 31805
 					fmt.Println(dat)
@@ -31842,7 +31839,7 @@ func (c *HisApiController) GetUploadInfo() {
31842 31839
 					}
31843 31840
 				}
31844 31841
 
31845
-				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
31842
+				result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName, tempOrder.PackNum, tempOrder.GoodPackNum)
31846 31843
 				var dat map[string]interface{}
31847 31844
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31848 31845
 					fmt.Println(dat)
@@ -31925,7 +31922,7 @@ func (c *HisApiController) GetUploadInfo() {
31925 31922
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31926 31923
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31927 31924
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
31928
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
31925
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
31929 31926
 
31930 31927
 				resp, requestErr := http.Get(api)
31931 31928
 				if requestErr != nil {
@@ -32103,7 +32100,7 @@ func (c *HisApiController) GetUploadInfo() {
32103 32100
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32104 32101
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
32105 32102
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
32106
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
32103
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
32107 32104
 
32108 32105
 				resp, requestErr := http.Get(api)
32109 32106
 				if requestErr != nil {
@@ -32226,7 +32223,7 @@ func (c *HisApiController) GetUploadInfo() {
32226 32223
 					cert_no = psn_info.VerifyNumber
32227 32224
 
32228 32225
 				}
32229
-				result2, src_resquest := service.Hnyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "")
32226
+				result2, src_resquest := service.Hnyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", tempOrder.PackNum, tempOrder.GoodPackNum)
32230 32227
 				var dat map[string]interface{}
32231 32228
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
32232 32229
 					fmt.Println(dat)
@@ -32262,7 +32259,7 @@ func (c *HisApiController) GetUploadInfo() {
32262 32259
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32263 32260
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
32264 32261
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
32265
-					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&verify_number=" + verify_number
32262
+					"&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&verify_number=" + verify_number + "&pack_num=" + strconv.FormatInt(pack_num, 10) + "&good_pack_num=" + strconv.FormatInt(good_pack_num, 10)
32266 32263
 
32267 32264
 				resp, requestErr := http.Get(api)
32268 32265
 				if requestErr != nil {
@@ -32313,7 +32310,7 @@ func (c *HisApiController) GetUploadInfo() {
32313 32310
 							med_type = "11"
32314 32311
 						}
32315 32312
 					}
32316
-					result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
32313
+					result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
32317 32314
 				} else {
32318 32315
 					if miConfig.Code == "H44030501364" || miConfig.Code == "H44030903432" || miConfig.Code == "H44030500255" || miConfig.Code == "H44082500483" || miConfig.Code == "H44030702287" || miConfig.Code == "H44030304882" || miConfig.Code == "H44090200998" {
32319 32316
 						result3101 := Checkgd3102(c, id, his_patient_id, admin_user_id, "7", tempOrder.ID)
@@ -32339,9 +32336,9 @@ func (c *HisApiController) GetUploadInfo() {
32339 32336
 					if his.IdCardType == 4 {
32340 32337
 						psn_info, _ := service.GetPsnByPatientId(his.PatientId)
32341 32338
 						token := psn_info.VerifyNumber
32342
-						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id)
32339
+						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
32343 32340
 					} else {
32344
-						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
32341
+						result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, his.Insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id, tempOrder.PackNum, tempOrder.GoodPackNum)
32345 32342
 					}
32346 32343
 				}
32347 32344
 
@@ -34420,8 +34417,34 @@ func (c *HisApiController) GetPreUploadInfo() {
34420 34417
 				})
34421 34418
 				return
34422 34419
 			}
34423
-
34420
+			var pack_sum int64
34421
+			var good_pack_sum int64
34424 34422
 			if res.Infcode == 0 {
34423
+				for _, item := range prescriptions {
34424
+					if item.Type == 1 { //药品
34425
+						for _, subitem := range item.HisDoctorAdviceInfo {
34426
+							if subitem.PrescribingNumberUnit != subitem.BaseDrugLib.MinUnit { //非拆零
34427
+								pack_sum = pack_sum + int64(subitem.PrescribingNumber)
34428
+							} else { //拆零
34429
+								quotient := int64(subitem.PrescribingNumber) / subitem.BaseDrugLib.MinNumber
34430
+								if quotient >= 1 {
34431
+									integerValue := int64(quotient)
34432
+									pack_sum = pack_sum + integerValue
34433
+								}
34434
+							}
34435
+						}
34436
+					}
34437
+					if item.Type == 2 {
34438
+						for _, subitem := range item.HisPrescriptionProject {
34439
+							if subitem.Type == 3 { //耗材
34440
+								num, _ := strconv.Atoi(subitem.Count)
34441
+								good_pack_sum = good_pack_sum + int64(num)
34442
+							}
34443
+						}
34444
+					}
34445
+
34446
+				}
34447
+
34425 34448
 				order := &models.HisOrder{
34426 34449
 					UserOrgId:           adminUser.CurrentOrgId,
34427 34450
 					HisPatientId:        his.ID,
@@ -34449,6 +34472,8 @@ func (c *HisApiController) GetPreUploadInfo() {
34449 34472
 					Modify:              roles.AdminUserId,
34450 34473
 					PType:               2,
34451 34474
 					Diagnosis:           diagnosis_id,
34475
+					PackNum:             pack_sum,
34476
+					GoodPackNum:         good_pack_sum,
34452 34477
 				}
34453 34478
 
34454 34479
 				err = service.CreateOrder(order)
@@ -36512,6 +36537,7 @@ func (c *HisApiController) GetPreUploadInfo() {
36512 36537
 				}
36513 36538
 			} else {
36514 36539
 				if miConfig.MdtrtareaAdmvs == "150404" {
36540
+
36515 36541
 					order := &models.HisOrder{
36516 36542
 						UserOrgId:           adminUser.CurrentOrgId,
36517 36543
 						HisPatientId:        his.ID,

+ 5 - 1
service/ahyb_service.go 查看文件

@@ -1221,7 +1221,7 @@ func AHyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string,
1221 1221
 }
1222 1222
 
1223 1223
 // 门诊结算
1224
-func AHyb2207(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, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string, mdtrt_grp_type string) (string, string) {
1224
+func AHyb2207(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, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string, mdtrt_grp_type string, pack_num string, good_pack_num string) (string, string) {
1225 1225
 	// 生成签名
1226 1226
 	timestamp := time.Now().Unix()
1227 1227
 	// 生成输入报文
@@ -1265,6 +1265,9 @@ func AHyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1265 1265
 	inputData["insutype"] = insutype             // 险种类型
1266 1266
 	inputData["invono"] = ""                     // 发票号
1267 1267
 
1268
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
1269
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
1270
+
1268 1271
 	inputData["fulamt_ownpay_amt"] = 0 //
1269 1272
 	inputData["overlmt_selfpay"] = 0   //
1270 1273
 	inputData["preselfpay_amt"] = 0    //
@@ -1276,6 +1279,7 @@ func AHyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1276 1279
 	inputData2["otp_er_refl_flag"] = ""
1277 1280
 	inputData2["mdtrt_grp_type"] = ""
1278 1281
 	inputData2["need_ipt_flag"] = ""
1282
+
1279 1283
 	inputData["exp_content"] = inputData2
1280 1284
 
1281 1285
 	input["data"] = inputData

+ 26 - 24
service/fj_service.go 查看文件

@@ -701,7 +701,7 @@ func FJyb2206ForToken(psnNo string, mdtrtId string, chrgBchno string, certNo str
701 701
 }
702 702
 
703 703
 // 门诊结算
704
-func FJyb2207(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, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
704
+func FJyb2207(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, url string, app_id string, app_secret string, sign_key string, enc_key string, pack_num int64, good_pack_num int64) (string, string, string) {
705 705
 	// 生成签名
706 706
 	nonce := GetRandomString(32)
707 707
 	timestamp := time.Now().Unix()
@@ -741,13 +741,15 @@ func FJyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
741 741
 	} else {
742 742
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
743 743
 	}
744
-	inputData["medfee_sumamt"] = total           // 医疗费总额
745
-	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
746
-	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
747
-	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
748
-	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
749
-	inputData["insutype"] = insutype             // 险种类型
750
-	inputData["invono"] = ""                     // 发票号
744
+	inputData["medfee_sumamt"] = total             // 医疗费总额
745
+	inputData["psn_setlway"] = "01"                // 个人结算方式 01 按项目结 02 按定额结算
746
+	inputData["mdtrt_id"] = mdtrtId                // 就诊 ID(来自2201接口返回)
747
+	inputData["chrg_bchno"] = chrgBchno            // 收费批次号(来自2204生成的)
748
+	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
749
+	inputData["insutype"] = insutype               // 险种类型
750
+	inputData["invono"] = ""                       // 发票号
751
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
752
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
751 753
 
752 754
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
753 755
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
@@ -3025,7 +3027,7 @@ func FJyb3501(struct3501 models.Struct3501) (string, string, string) {
3025 3027
 	//druginputData := make(map[string]interface{})
3026 3028
 	//druginputData2 := make(map[string]interface{})
3027 3029
 
3028
-	inputMessage["infno"] = "3501"                                  // 交易编码
3030
+	inputMessage["infno"] = "3501"                                      // 交易编码
3029 3031
 	inputData["med_list_codg"] = struct3501.MedListCodg                 // 定点医药机构目录编号
3030 3032
 	inputData["fixmedins_hilist_id"] = struct3501.FixmedinsHilistId     // 定点医药机构目录编号
3031 3033
 	inputData["fixmedins_hilist_name"] = struct3501.FixmedinsHilistName // 定点医药机构目录名称
@@ -3036,7 +3038,7 @@ func FJyb3501(struct3501 models.Struct3501) (string, string, string) {
3036 3038
 	inputData["fixmedins_bchno"] = struct3501.FixmedinsBchno            // 人员编号 (来自1101接口返回)
3037 3039
 	inputData["manu_date"] = struct3501.ManuDate                        // 人员编号 (来自1101接口返回)
3038 3040
 	inputData["expy_end"] = struct3501.ExpyEnd                          // 人员编号 (来自1101接口返回)
3039
-	inputData["memo"] = ""                              // 人员编号 (来自1101接口返回)
3041
+	inputData["memo"] = ""                                              // 人员编号 (来自1101接口返回)
3040 3042
 
3041 3043
 	feedetail := make([]map[string]interface{}, 0)
3042 3044
 
@@ -3045,7 +3047,7 @@ func FJyb3501(struct3501 models.Struct3501) (string, string, string) {
3045 3047
 		if len(item) > 0 {
3046 3048
 
3047 3049
 			druginputData := make(map[string]interface{})
3048
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3050
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3049 3051
 			feedetail = append(feedetail, druginputData)
3050 3052
 		}
3051 3053
 	}
@@ -3124,11 +3126,11 @@ func FJyb3505(struct3505 models.Struct3505) (string, string, string) {
3124 3126
 	inputData := make(map[string]interface{})
3125 3127
 	//druginputData2 := make(map[string]interface{})
3126 3128
 
3127
-	inputMessage["infno"] = "3505"                                  // 交易编码
3128
-	inputData["med_list_codg"] = struct3505.MedListCodg             // 定点医药机构目录编号
3129
-	inputData["fixmedins_hilist_id"] = struct3505.FixmedinsHilistId // 定点医药机构目录编号
3130
-	inputData["fixmedins_hilist_name"] = struct3505.FixmedinsHilistName         // 定点医药机构目录名称
3131
-	inputData["fixmedins_bchno"] = struct3505.FixmedinsBchno        // 人员编号 (来自1101接口返回)
3129
+	inputMessage["infno"] = "3505"                                      // 交易编码
3130
+	inputData["med_list_codg"] = struct3505.MedListCodg                 // 定点医药机构目录编号
3131
+	inputData["fixmedins_hilist_id"] = struct3505.FixmedinsHilistId     // 定点医药机构目录编号
3132
+	inputData["fixmedins_hilist_name"] = struct3505.FixmedinsHilistName // 定点医药机构目录名称
3133
+	inputData["fixmedins_bchno"] = struct3505.FixmedinsBchno            // 人员编号 (来自1101接口返回)
3132 3134
 
3133 3135
 	inputData["prsc_dr_cert_type"] = struct3505.PrscDrCertType // 人员编号 (来自1101接口返回)
3134 3136
 	inputData["prsc_dr_certno"] = struct3505.PrscDrCertno      // 人员编号 (来自1101接口返回)
@@ -3167,13 +3169,13 @@ func FJyb3505(struct3505 models.Struct3505) (string, string, string) {
3167 3169
 	inputData["sel_retn_time"] = struct3505.SelRetnTime            // 人员编号 (来自1101接口返回)
3168 3170
 	inputData["sel_retn_opter_name"] = struct3505.SelRetnOpterName // 人员编号 (来自1101接口返回)
3169 3171
 	inputData["memo"] = struct3505.Memo
3170
-	inputData["mdtrt_setl_type"] = struct3505.MdtrtSetlType                            // 人员编号 (来自1101接口返回)
3172
+	inputData["mdtrt_setl_type"] = struct3505.MdtrtSetlType // 人员编号 (来自1101接口返回)
3171 3173
 	feedetail := make([]map[string]interface{}, 0)
3172 3174
 	codes := strings.Split(struct3505.DrugTracCodg, ",")
3173 3175
 	for _, item := range codes {
3174 3176
 		if len(item) > 0 {
3175 3177
 			druginputData := make(map[string]interface{})
3176
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3178
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3177 3179
 			feedetail = append(feedetail, druginputData)
3178 3180
 		}
3179 3181
 	}
@@ -3208,11 +3210,11 @@ func FJyb3506(struct3506 models.Struct3506) (string, string, string) {
3208 3210
 	inputData := make(map[string]interface{})
3209 3211
 	//druginputData2 := make(map[string]interface{})
3210 3212
 
3211
-	inputMessage["infno"] = "3506"                                  // 交易编码
3212
-	inputData["med_list_codg"] = struct3506.MedListCodg             // 定点医药机构目录编号
3213
-	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId // 定点医药机构目录编号
3214
-	inputData["fixmedins_hilist_name"] = struct3506.FixmedinsHilistName         // 定点医药机构目录名称
3215
-	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno        // 人员编号 (来自1101接口返回)
3213
+	inputMessage["infno"] = "3506"                                      // 交易编码
3214
+	inputData["med_list_codg"] = struct3506.MedListCodg                 // 定点医药机构目录编号
3215
+	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId     // 定点医药机构目录编号
3216
+	inputData["fixmedins_hilist_name"] = struct3506.FixmedinsHilistName // 定点医药机构目录名称
3217
+	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno            // 人员编号 (来自1101接口返回)
3216 3218
 
3217 3219
 	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3218 3220
 	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
@@ -3237,7 +3239,7 @@ func FJyb3506(struct3506 models.Struct3506) (string, string, string) {
3237 3239
 	for _, item := range codes {
3238 3240
 		if len(item) > 0 {
3239 3241
 			druginputData := make(map[string]interface{})
3240
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3242
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3241 3243
 			feedetail = append(feedetail, druginputData)
3242 3244
 		}
3243 3245
 	}

+ 4 - 1
service/gdyb_service.go 查看文件

@@ -1705,7 +1705,7 @@ func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1705 1705
 }
1706 1706
 
1707 1707
 // 门诊结算
1708
-func Gdyb2207(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, token string, admin_user_id int64) (string, string) {
1708
+func Gdyb2207(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, token string, admin_user_id int64, pack_num int64, good_pack_num int64) (string, string) {
1709 1709
 	// 生成签名
1710 1710
 	nonce := GetRandomString(32)
1711 1711
 	timestamp := time.Now().Unix()
@@ -1755,6 +1755,9 @@ func Gdyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1755 1755
 	inputData["insutype"] = insutype             // 险种类型
1756 1756
 	inputData["invono"] = ""                     // 发票号
1757 1757
 
1758
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
1759
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
1760
+
1758 1761
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1759 1762
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
1760 1763
 	inputData["preselfpay_amt"] = preselfpay_amt       //

+ 65 - 69
service/gxyb_service.go 查看文件

@@ -7,21 +7,19 @@ import (
7 7
 	//"strings"
8 8
 	//"gdyb/utils"
9 9
 
10
-
11
-	"time"
12
-	"fmt"
13 10
 	"encoding/json"
11
+	"fmt"
14 12
 	"github.com/astaxie/beego"
13
+	"io/ioutil"
15 14
 	"net/http"
16 15
 	"strconv"
17
-	"io/ioutil"
16
+	"time"
18 17
 
19 18
 	"bytes"
20
-	"github.com/go-ole/go-ole"
21 19
 	"github.com/go-ole/go-ole/oleutil"
22 20
 )
23 21
 
24
-func Gxyb9001(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, admin_user_id int64,setlId string,mdtrtId string,psn_no string,medinsSetlId string){
22
+func Gxyb9001(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, admin_user_id int64, setlId string, mdtrtId string, psn_no string, medinsSetlId string) {
25 23
 
26 24
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
27 25
 	defer ole.CoUninitialize()
@@ -46,7 +44,7 @@ func Gxyb9001(org_name string, doctor string, fixmedins_code string, insuplc_adm
46 44
 	nonce := GetRandomString(32)
47 45
 	timestamp := time.Now().Unix()
48 46
 	inputMessage := make(map[string]interface{})
49
-	inputMessage = SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,doctor)
47
+	inputMessage = SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, doctor)
50 48
 	input := make(map[string]interface{})
51 49
 	inputData := make(map[string]interface{})
52 50
 	inputMessage["infno"] = "P0001" // 交易编码
@@ -65,14 +63,12 @@ func Gxyb9001(org_name string, doctor string, fixmedins_code string, insuplc_adm
65 63
 	//data := fmt.Sprintf(`{"transNo":"%s","transType":"%s","timestamp":"%s","data":{"fixmedinsCode":"%s","psnNo":"%s"}}`, transNo, transType, timestamp, fixmedinsCode, psnNo)
66 64
 	result2 := ""
67 65
 	// Call COM object's method using the IDispatch interface
68
-	resulr, err := oleutil.CallMethod(dispatch, "gxyb_call", "P0001", string(jsonData),&result2)
66
+	resulr, err := oleutil.CallMethod(dispatch, "gxyb_call", "P0001", string(jsonData), &result2)
69 67
 	fmt.Println(resulr)
70 68
 
71
-
72 69
 }
73 70
 
74
-
75
-func Gxyb5302(psnNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string,admin_user_id int64) string {
71
+func Gxyb5302(psnNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, admin_user_id int64) string {
76 72
 	// 生成签名
77 73
 	nonce := GetRandomString(32)
78 74
 	//timestamp := time.Now().Unix()
@@ -80,7 +76,7 @@ func Gxyb5302(psnNo string, org_name string, doctor string, fixmedins_code strin
80 76
 
81 77
 	signature := setSignature(timestamp, nonce, secret_key)
82 78
 
83
-	inputMessage := SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,doctor)
79
+	inputMessage := SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, doctor)
84 80
 
85 81
 	// 生成输入报文
86 82
 	//inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
@@ -132,8 +128,7 @@ func Gxyb5302(psnNo string, org_name string, doctor string, fixmedins_code strin
132 128
 	return str
133 129
 }
134 130
 
135
-
136
-func Gxyb2207(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, token string,admin_user_id int64) (string, string) {
131
+func Gxyb2207(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, token string, admin_user_id int64, pack_num int64, good_pack_num int64) (string, string) {
137 132
 	// 生成签名
138 133
 	nonce := GetRandomString(32)
139 134
 	timestamp := time.Now().Unix()
@@ -142,9 +137,9 @@ func Gxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
142 137
 	// 生成输入报文
143 138
 	inputMessage := make(map[string]interface{})
144 139
 
145
-	if  mdtrtarea_admvs == "450721"  ||  mdtrtarea_admvs == "450127"{
140
+	if mdtrtarea_admvs == "450721" || mdtrtarea_admvs == "450127" {
146 141
 
147
-		inputMessage = SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,doctor)
142
+		inputMessage = SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, doctor)
148 143
 	} else {
149 144
 		inputMessage = SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
150 145
 	}
@@ -159,7 +154,7 @@ func Gxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
159 154
 	} else {
160 155
 		if id_card_type == 1 {
161 156
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
162
-			inputData["mdtrt_cert_no"] = token // 就诊凭证编号
157
+			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
163 158
 		} else if id_card_type == 4 {
164 159
 			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
165 160
 			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
@@ -181,13 +176,15 @@ func Gxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
181 176
 	} else {
182 177
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
183 178
 	}
184
-	inputData["medfee_sumamt"] = total           // 医疗费总额
185
-	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
186
-	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
187
-	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
188
-	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
189
-	inputData["insutype"] = insutype             // 险种类型
190
-	inputData["invono"] = ""                     // 发票号
179
+	inputData["medfee_sumamt"] = total             // 医疗费总额
180
+	inputData["psn_setlway"] = "01"                // 个人结算方式 01 按项目结 02 按定额结算
181
+	inputData["mdtrt_id"] = mdtrtId                // 就诊 ID(来自2201接口返回)
182
+	inputData["chrg_bchno"] = chrgBchno            // 收费批次号(来自2204生成的)
183
+	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
184
+	inputData["insutype"] = insutype               // 险种类型
185
+	inputData["invono"] = ""                       // 发票号
186
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
187
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
191 188
 
192 189
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
193 190
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
@@ -211,7 +208,7 @@ func Gxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
211 208
 	//url := gdyb_url + "2207"
212 209
 
213 210
 	var url string
214
-	if fixmedins_code == "H15049901371" || mdtrtarea_admvs == "450127" ||  mdtrtarea_admvs == "450721" {
211
+	if fixmedins_code == "H15049901371" || mdtrtarea_admvs == "450127" || mdtrtarea_admvs == "450721" {
215 212
 		url = gdyb_url
216 213
 	} else {
217 214
 		url = gdyb_url + "2207"
@@ -222,65 +219,64 @@ func Gxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
222 219
 
223 220
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2207"
224 221
 
222
+	request, err := http.NewRequest("POST", url, reader)
223
+	if err != nil {
224
+		fmt.Println(err.Error())
225
+		return err.Error(), ""
226
+	}
225 227
 
226
-		request, err := http.NewRequest("POST", url, reader)
227
-		if err != nil {
228
-			fmt.Println(err.Error())
229
-			return err.Error(), ""
230
-		}
228
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
229
+	request.Header.Set("x-tif-paasid", gdyb_paasid)
230
+	request.Header.Set("x-tif-signature", signature)
231
+	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
232
+	request.Header.Set("x-tif-nonce", nonce)
231 233
 
232
-		request.Header.Set("Content-Type", "application/json;charset=UTF-8")
233
-		request.Header.Set("x-tif-paasid", gdyb_paasid)
234
-		request.Header.Set("x-tif-signature", signature)
235
-		request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
236
-		request.Header.Set("x-tif-nonce", nonce)
237
-
238
-		client := http.Client{}
239
-		resp, err := client.Do(request)
240
-		if err != nil {
241
-			fmt.Println(err.Error())
242
-			return err.Error(), ""
243
-		}
244
-		respBytes, err := ioutil.ReadAll(resp.Body)
245
-		if err != nil {
246
-			fmt.Println(err.Error())
247
-			return err.Error(), ""
248
-		}
249
-		str := string(respBytes)
250
-		fmt.Println(str)
251
-		mjson, _ := json.Marshal(inputMessage)
252
-		str2 := string(mjson)
234
+	client := http.Client{}
235
+	resp, err := client.Do(request)
236
+	if err != nil {
237
+		fmt.Println(err.Error())
238
+		return err.Error(), ""
239
+	}
240
+	respBytes, err := ioutil.ReadAll(resp.Body)
241
+	if err != nil {
242
+		fmt.Println(err.Error())
243
+		return err.Error(), ""
244
+	}
245
+	str := string(respBytes)
246
+	fmt.Println(str)
247
+	mjson, _ := json.Marshal(inputMessage)
248
+	str2 := string(mjson)
253 249
 
254
-		return str, str2
250
+	return str, str2
255 251
 
256 252
 }
257 253
 
258
-func Gxyb2503( org_name string, doctor string, fixmedins_code string,insuplc_admdvs string, mdtrtarea_admvs string, secret_key string,admin_user_id int64) string {
254
+func Gxyb2503(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, admin_user_id int64) string {
259 255
 	// 生成签名
260 256
 	nonce := GetRandomString(32)
261 257
 	timestamp := time.Now().Unix()
262 258
 	signature := setSignature(timestamp, nonce, secret_key)
263 259
 
264 260
 	// 生成输入报文
265
-	inputMessage := SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,doctor)
261
+	inputMessage := SetInputMessage1111(nonce, timestamp, org_name, admin_user_id, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, doctor)
266 262
 
267 263
 	input := make(map[string]interface{})
268 264
 	inputData := make(map[string]interface{})
269
-	inputMessage["infno"] = "2503"                  // 交易编码
270
-	inputData["psn_no"] = "45000000000008100150404986"                     // 人员编号 (来自1101接口返回)
271
-	inputData["insutype"] = "390"                // 险种类型(来自1101接口返回)
272
-	inputData["opsp_dise_code"] = "M03900"         // 险种类型(来自1101接口返回)
273
-	inputData["opsp_dise_name"] = "高血压(高危组)"         // 险种类型(来自1101接口返回)
274
-	inputData["insu_optins"] = "450721"       // 险种类型(来自1101接口返回)
275
-	inputData["ide_fixmedins_no"] = "H45072101171"   // 险种类型(来自1101接口返回)
276
-	inputData["ide_fixmedins_name"] = "灵山盛康血液透析中心" // 险种类型(来自1101接口返回)
277
-	inputData["hosp_ide_date"] = "2024-02-01"         // 险种类型(来自1101接口返回)
278
-	inputData["diag_dr_codg"] = "D450721000406"           // 开始时间
279
-	inputData["diag_dr_name"] = "韦秋萍"              // 开始时间
280
-	inputData["begndate"] = "2024-02-01"              // 医师编码
281
-	inputData["tel"] = ""                           // 医师编码
282
-	inputData["addr"] = ""                          // 医师编码
283
-	inputData["enddate"] = "2026-01-30"                 // 医师编码
265
+	inputMessage["infno"] = "2503"                     // 交易编码
266
+	inputData["psn_no"] = "45000000000008100150404986" // 人员编号 (来自1101接口返回)
267
+	inputData["insutype"] = "390"                      // 险种类型(来自1101接口返回)
268
+	inputData["opsp_dise_code"] = "M03900"             // 险种类型(来自1101接口返回)
269
+	inputData["opsp_dise_name"] = "高血压(高危组)"           // 险种类型(来自1101接口返回)
270
+	inputData["insu_optins"] = "450721"                // 险种类型(来自1101接口返回)
271
+	inputData["ide_fixmedins_no"] = "H45072101171"     // 险种类型(来自1101接口返回)
272
+	inputData["ide_fixmedins_name"] = "灵山盛康血液透析中心"     // 险种类型(来自1101接口返回)
273
+	inputData["hosp_ide_date"] = "2024-02-01"          // 险种类型(来自1101接口返回)
274
+	inputData["diag_dr_codg"] = "D450721000406"        // 开始时间
275
+	inputData["diag_dr_name"] = "韦秋萍"                  // 开始时间
276
+	inputData["begndate"] = "2024-02-01"               // 医师编码
277
+	inputData["tel"] = ""                              // 医师编码
278
+	inputData["addr"] = ""                             // 医师编码
279
+	inputData["enddate"] = "2026-01-30"                // 医师编码
284 280
 
285 281
 	input["data"] = inputData
286 282
 	inputMessage["input"] = input //交易输入

+ 111 - 109
service/hb_service.go 查看文件

@@ -16,7 +16,7 @@ import (
16 16
 	"time"
17 17
 )
18 18
 
19
-//机构信息
19
+// 机构信息
20 20
 func HeBeiyb1201(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) string {
21 21
 	// 生成签名
22 22
 	nonce := GetRandomString(32)
@@ -773,7 +773,7 @@ func HeBeiyb2203A(psnNo string, mdtrtId string, doctor string, department string
773 773
 
774 774
 }
775 775
 
776
-//  门诊费用明细信息上传
776
+// 门诊费用明细信息上传
777 777
 func HeBeiyb2204(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, new_doctor_id int64, diag_code string) (string, string) {
778 778
 	// 生成签名
779 779
 	nonce := GetRandomString(32)
@@ -1008,7 +1008,7 @@ func HeBeiyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPres
1008 1008
 	//return &result
1009 1009
 }
1010 1010
 
1011
-//  门诊费用明细信息撤销
1011
+// 门诊费用明细信息撤销
1012 1012
 func HeBeiyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string) (string, string) {
1013 1013
 	// 生成签名
1014 1014
 	nonce := GetRandomString(32)
@@ -1099,8 +1099,9 @@ func HeBeiyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string
1099 1099
 
1100 1100
 }
1101 1101
 
1102
-//  门诊预结算
1103
-//func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
1102
+//	门诊预结算
1103
+//
1104
+// func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
1104 1105
 func HeBeiyb2206(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) (string, string) {
1105 1106
 
1106 1107
 	// 生成签名
@@ -1222,8 +1223,8 @@ func HeBeiyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string,
1222 1223
 
1223 1224
 }
1224 1225
 
1225
-//  门诊结算
1226
-func HeBeiyb2207(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, token string) (string, string) {
1226
+// 门诊结算
1227
+func HeBeiyb2207(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, token string, pack_num string, good_pack_num string) (string, string) {
1227 1228
 	// 生成签名
1228 1229
 	nonce := GetRandomString(32)
1229 1230
 	timestamp := time.Now().Unix()
@@ -1263,13 +1264,15 @@ func HeBeiyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string,
1263 1264
 	} else {
1264 1265
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
1265 1266
 	}
1266
-	inputData["medfee_sumamt"] = total           // 医疗费总额
1267
-	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
1268
-	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
1269
-	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
1270
-	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1271
-	inputData["insutype"] = insutype             // 险种类型
1272
-	inputData["invono"] = ""                     // 发票号
1267
+	inputData["medfee_sumamt"] = total             // 医疗费总额
1268
+	inputData["psn_setlway"] = "01"                // 个人结算方式 01 按项目结 02 按定额结算
1269
+	inputData["mdtrt_id"] = mdtrtId                // 就诊 ID(来自2201接口返回)
1270
+	inputData["chrg_bchno"] = chrgBchno            // 收费批次号(来自2204生成的)
1271
+	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
1272
+	inputData["insutype"] = insutype               // 险种类型
1273
+	inputData["invono"] = ""                       // 发票号
1274
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
1275
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
1273 1276
 
1274 1277
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1275 1278
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
@@ -1477,7 +1480,7 @@ func HeBeiyb2207A(psnNo string, mdtrtId string, chrgBchno string, certNo string,
1477 1480
 
1478 1481
 }
1479 1482
 
1480
-//  门诊结算撤销
1483
+// 门诊结算撤销
1481 1484
 func HeBeiyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
1482 1485
 	// 生成签名
1483 1486
 	nonce := GetRandomString(32)
@@ -1568,7 +1571,7 @@ func HeBeiyb2208(psnNo string, mdtrtId string, setlId string, org_name string, d
1568 1571
 
1569 1572
 }
1570 1573
 
1571
-//确认订单
1574
+// 确认订单
1572 1575
 func HeBeiyb6201(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, order models.HisOrder) string {
1573 1576
 	// 生成签名
1574 1577
 	nonce := GetRandomString(32)
@@ -1657,7 +1660,7 @@ func HeBeiyb6201(org_name string, doctor string, fixmedins_code string, insuplc_
1657 1660
 	return str
1658 1661
 }
1659 1662
 
1660
-//  医药机构费用结算对总账 func Gdyb3201( org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
1663
+// 医药机构费用结算对总账 func Gdyb3201( org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
1661 1664
 func HeBeiyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
1662 1665
 	fmt.Println("11222333-----")
1663 1666
 
@@ -1735,7 +1738,7 @@ func HeBeiyb3201(baseParams models.BaseParams, businessParams models.BusinessPar
1735 1738
 	return str
1736 1739
 }
1737 1740
 
1738
-//文件上传
1741
+// 文件上传
1739 1742
 func HeBeiyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1740 1743
 
1741 1744
 	// 生成签名
@@ -2720,7 +2723,6 @@ func HeBeiyb5301Two(psnNo string, org_name string, doctor string, fixmedins_code
2720 2723
 	return str
2721 2724
 }
2722 2725
 
2723
-//
2724 2726
 func HeBeiyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, org_id int64) string {
2725 2727
 	// 生成签名
2726 2728
 	nonce := GetRandomString(32)
@@ -3008,7 +3010,7 @@ func HeBeiyb2601(psnNo string, omsgid string, oinfno string, org_name string, do
3008 3010
 	return str
3009 3011
 }
3010 3012
 
3011
-//人员信息版本3
3013
+// 人员信息版本3
3012 3014
 func HeBeiyb1101B(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 int64) string {
3013 3015
 	//生成签名
3014 3016
 	nonce := GetRandomString(32)
@@ -3331,7 +3333,7 @@ func HeBeiyb6101(org_name string, doctor string, fixmedins_code string, insuplc_
3331 3333
 
3332 3334
 }
3333 3335
 
3334
-//人员信息版本4
3336
+// 人员信息版本4
3335 3337
 func HeBeiyb1101C(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 int64) (string, string) {
3336 3338
 	//生成签名
3337 3339
 	nonce := GetRandomString(32)
@@ -3573,111 +3575,111 @@ func HeBeiyb3260(org_name string, doctor string, fixmedins_code string, insuplc_
3573 3575
 
3574 3576
 }
3575 3577
 
3576
-//func HeBeiyb3261(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) {
3577
-//	//生成签名
3578
-//	nonce := GetRandomString(32)
3579
-//	timestamp := time.Now().Unix()
3580
-//	signature := setSignature(timestamp, nonce, secret_key)
3581
-//
3582
-//	msg_month := time.Unix(1557042972, 0).Format("1")
3583
-//	msg_year := time.Now().Format("2006")
3584
-//	msg_month = time.Now().Format("01")
3585
-//	day := time.Now().Format("02")
3578
+//	func HeBeiyb3261(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) {
3579
+//		//生成签名
3580
+//		nonce := GetRandomString(32)
3581
+//		timestamp := time.Now().Unix()
3582
+//		signature := setSignature(timestamp, nonce, secret_key)
3586 3583
 //
3587
-//	hour := time.Now().Format("15")
3588
-//	min := time.Now().Format("04")
3589
-//	sec := time.Now().Format("05")
3584
+//		msg_month := time.Unix(1557042972, 0).Format("1")
3585
+//		msg_year := time.Now().Format("2006")
3586
+//		msg_month = time.Now().Format("01")
3587
+//		day := time.Now().Format("02")
3590 3588
 //
3591
-//	msec := time.Now().Format("000")
3589
+//		hour := time.Now().Format("15")
3590
+//		min := time.Now().Format("04")
3591
+//		sec := time.Now().Format("05")
3592 3592
 //
3593
-//	msg_id := fixmedins_code + msg_year + msg_month + day + hour + min + sec + msec + "0"
3593
+//		msec := time.Now().Format("000")
3594 3594
 //
3595
-//	//生成输入报文
3596
-//	inputMessage := SetInputMessageThree(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, msg_id)
3597
-//	input := make(map[string]interface{})
3598
-//	inputData := make(map[string]interface{})
3599
-//	inputMessage["infno"] = "3261"                      // 交易编码
3600
-//	inputData["trt_year"] = year                        // 就诊凭证编号
3601
-//	inputData["trt_month"] = month                      // 开始时间
3602
-//	inputData["startrow"] = len(result3260.Output.Data) // 人员姓名
3595
+//		msg_id := fixmedins_code + msg_year + msg_month + day + hour + min + sec + msec + "0"
3603 3596
 //
3604
-//	feedetail := make([]map[string]interface{}, 0)
3597
+//		//生成输入报文
3598
+//		inputMessage := SetInputMessageThree(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, msg_id)
3599
+//		input := make(map[string]interface{})
3600
+//		inputData := make(map[string]interface{})
3601
+//		inputMessage["infno"] = "3261"                      // 交易编码
3602
+//		inputData["trt_year"] = year                        // 就诊凭证编号
3603
+//		inputData["trt_month"] = month                      // 开始时间
3604
+//		inputData["startrow"] = len(result3260.Output.Data) // 人员姓名
3605 3605
 //
3606
-//	for _, item := range result3260.Output.Data {
3607
-//		feedetailInfo := make(map[string]interface{})
3608
-//		feedetailInfo["certno"] = item.Certno
3609
-//		feedetailInfo["mdtrt_id"] = item.MdtrtId                  // 就诊 ID(来自2201接口返回)
3610
-//		feedetailInfo["mdtrt_setl_time"] = item.MdtrtSetlTime     // 人员编号 (来自1101接口返回)
3611
-//		feedetailInfo["setl_no"] = item.SetlNo                    // 收费批次号
3612
-//		feedetailInfo["medfee_sumamt"] = item.MedfeeSumamt        // 病种编码
3613
-//		feedetailInfo["optins_pay_sumamt"] = item.OptinsPaySumamt // 处方号
3614
-//		feedetail = append(feedetail, feedetailInfo)
3615
-//	}
3616
-//	inputData["detail"] = feedetail // 人员姓名
3606
+//		feedetail := make([]map[string]interface{}, 0)
3617 3607
 //
3618
-//	input["data"] = inputData
3619
-//	inputMessage["input"] = input //交易输入
3620
-//	var inputLog string
3621
-//	bytesData, err := json.Marshal(inputMessage)
3622
-//	inputLog = string(bytesData)
3623
-//	fmt.Println(string(bytesData))
3624
-//	if err != nil {
3625
-//		fmt.Println(err.Error())
3626
-//		return err.Error(), "", ""
3627
-//	}
3628
-//	reader := bytes.NewReader(bytesData)
3629
-//	gdyb_url := beego.AppConfig.String("gdyb_url")
3630
-//	gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
3631
-//
3632
-//	var url string
3633
-//	if fixmedins_code == "H15049901371" {
3634
-//		url = gdyb_url
3635
-//	} else {
3636
-//		url = gdyb_url + "3261"
3637
-//	}
3638
-//
3639
-//	if insuplc_admdvs == "421300" {
3640
-//		var json2 string
3641
-//		cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "1101", string(bytesData), json2)
3642
-//		out, err := cmd.Output()
3643
-//		if err != nil {
3644
-//			fmt.Println("error:", err.Error())
3608
+//		for _, item := range result3260.Output.Data {
3609
+//			feedetailInfo := make(map[string]interface{})
3610
+//			feedetailInfo["certno"] = item.Certno
3611
+//			feedetailInfo["mdtrt_id"] = item.MdtrtId                  // 就诊 ID(来自2201接口返回)
3612
+//			feedetailInfo["mdtrt_setl_time"] = item.MdtrtSetlTime     // 人员编号 (来自1101接口返回)
3613
+//			feedetailInfo["setl_no"] = item.SetlNo                    // 收费批次号
3614
+//			feedetailInfo["medfee_sumamt"] = item.MedfeeSumamt        // 病种编码
3615
+//			feedetailInfo["optins_pay_sumamt"] = item.OptinsPaySumamt // 处方号
3616
+//			feedetail = append(feedetail, feedetailInfo)
3645 3617
 //		}
3646
-//		fmt.Println(string(out))
3647
-//		return hex.EncodeToString(out), inputLog, ""
3648
-//	} else {
3618
+//		inputData["detail"] = feedetail // 人员姓名
3649 3619
 //
3650
-//		//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
3651
-//		request, err := http.NewRequest("POST", url, reader)
3620
+//		input["data"] = inputData
3621
+//		inputMessage["input"] = input //交易输入
3622
+//		var inputLog string
3623
+//		bytesData, err := json.Marshal(inputMessage)
3624
+//		inputLog = string(bytesData)
3625
+//		fmt.Println(string(bytesData))
3652 3626
 //		if err != nil {
3653 3627
 //			fmt.Println(err.Error())
3654 3628
 //			return err.Error(), "", ""
3655 3629
 //		}
3630
+//		reader := bytes.NewReader(bytesData)
3631
+//		gdyb_url := beego.AppConfig.String("gdyb_url")
3632
+//		gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
3656 3633
 //
3657
-//		request.Header.Set("Content-Type", "application/json;charset=UTF-8")
3658
-//		request.Header.Set("x-tif-paasid", gdyb_paasid)
3659
-//		request.Header.Set("x-tif-signature", signature)
3660
-//		request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
3661
-//		request.Header.Set("x-tif-nonce", nonce)
3662
-//
3663
-//		client := http.Client{}
3664
-//		resp, err := client.Do(request)
3665
-//		if err != nil {
3666
-//			fmt.Println(err.Error())
3667
-//			return err.Error(), "", ""
3634
+//		var url string
3635
+//		if fixmedins_code == "H15049901371" {
3636
+//			url = gdyb_url
3637
+//		} else {
3638
+//			url = gdyb_url + "3261"
3668 3639
 //		}
3669
-//		respBytes, err := ioutil.ReadAll(resp.Body)
3670
-//		if err != nil {
3671
-//			fmt.Println(err.Error())
3672
-//			return err.Error(), "", ""
3673
-//		}
3674
-//		fmt.Println(string(respBytes))
3675
-//		str := string(respBytes)
3676
-//		return str, inputLog, msg_id
3677 3640
 //
3678
-//	}
3641
+//		if insuplc_admdvs == "421300" {
3642
+//			var json2 string
3643
+//			cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "1101", string(bytesData), json2)
3644
+//			out, err := cmd.Output()
3645
+//			if err != nil {
3646
+//				fmt.Println("error:", err.Error())
3647
+//			}
3648
+//			fmt.Println(string(out))
3649
+//			return hex.EncodeToString(out), inputLog, ""
3650
+//		} else {
3679 3651
 //
3680
-//}
3652
+//			//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
3653
+//			request, err := http.NewRequest("POST", url, reader)
3654
+//			if err != nil {
3655
+//				fmt.Println(err.Error())
3656
+//				return err.Error(), "", ""
3657
+//			}
3658
+//
3659
+//			request.Header.Set("Content-Type", "application/json;charset=UTF-8")
3660
+//			request.Header.Set("x-tif-paasid", gdyb_paasid)
3661
+//			request.Header.Set("x-tif-signature", signature)
3662
+//			request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
3663
+//			request.Header.Set("x-tif-nonce", nonce)
3664
+//
3665
+//			client := http.Client{}
3666
+//			resp, err := client.Do(request)
3667
+//			if err != nil {
3668
+//				fmt.Println(err.Error())
3669
+//				return err.Error(), "", ""
3670
+//			}
3671
+//			respBytes, err := ioutil.ReadAll(resp.Body)
3672
+//			if err != nil {
3673
+//				fmt.Println(err.Error())
3674
+//				return err.Error(), "", ""
3675
+//			}
3676
+//			fmt.Println(string(respBytes))
3677
+//			str := string(respBytes)
3678
+//			return str, inputLog, msg_id
3679
+//
3680
+//		}
3681
+//
3682
+// }
3681 3683
 func HeBeiyb3262(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, year string, month string, otransid string) (string, string) {
3682 3684
 	//生成签名
3683 3685
 	nonce := GetRandomString(32)

+ 112 - 130
service/hbyb_service.go 查看文件

@@ -3,21 +3,19 @@ package service
3 3
 import (
4 4
 	"bytes"
5 5
 	"encoding/json"
6
+	"encoding/xml"
6 7
 	"fmt"
7 8
 	"gdyb/models"
8 9
 	"github.com/astaxie/beego"
9 10
 	"github.com/axgle/mahonia"
11
+	"github.com/go-ole/go-ole/oleutil"
10 12
 	"io/ioutil"
11 13
 	"net/http"
12 14
 	"os/exec"
15
+	"regexp"
13 16
 	"strconv"
14 17
 	"strings"
15 18
 	"time"
16
-	"encoding/xml"
17
-	"github.com/go-ole/go-ole/oleutil"
18
-	"github.com/go-ole/go-ole"
19
-	"regexp"
20
-
21 19
 )
22 20
 
23 21
 type Charset string
@@ -88,8 +86,7 @@ func Hbyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
88 86
 		return err.Error(), ""
89 87
 	}
90 88
 
91
-
92
-	out := GetoleInfo("1101",string(bytesData))
89
+	out := GetoleInfo("1101", string(bytesData))
93 90
 	aa := ""
94 91
 	// Regular expression to find JSON part
95 92
 	re := regexp.MustCompile(`\{.*\}`)
@@ -170,7 +167,7 @@ func Hbyb2201(psnNo string, insutype string, certNo string, org_name string, doc
170 167
 		fmt.Println(err.Error())
171 168
 		return err.Error(), ""
172 169
 	}
173
-	out := GetoleInfo("2201",string(bytesData))
170
+	out := GetoleInfo("2201", string(bytesData))
174 171
 
175 172
 	//var json2 string
176 173
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2201", string(bytesData), json2)
@@ -180,7 +177,6 @@ func Hbyb2201(psnNo string, insutype string, certNo string, org_name string, doc
180 177
 	//}
181 178
 	fmt.Println(string(out))
182 179
 
183
-
184 180
 	return string(out), requestLog
185 181
 
186 182
 }
@@ -212,7 +208,7 @@ func Hbyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
212 208
 		fmt.Println(err.Error())
213 209
 		return err.Error(), ""
214 210
 	}
215
-	out := GetoleInfo("2202",string(bytesData))
211
+	out := GetoleInfo("2202", string(bytesData))
216 212
 
217 213
 	//var json2 string
218 214
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2202", string(bytesData), json2)
@@ -295,13 +291,13 @@ func Hbyb2203(psnNo string, mdtrtId string, doctor string, department string, or
295 291
 	//	fmt.Println("error:", err.Error())
296 292
 	//}
297 293
 	//fmt.Println(string(out))
298
-	out := GetoleInfo("2203",string(bytesData))
294
+	out := GetoleInfo("2203", string(bytesData))
299 295
 
300 296
 	return out, requestLog
301 297
 
302 298
 }
303 299
 
304
-//  门诊费用明细信息上传
300
+// 门诊费用明细信息上传
305 301
 func Hbyb2204(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, opter string) (string, string) {
306 302
 	// 生成签名
307 303
 	nonce := GetRandomString(32)
@@ -474,14 +470,13 @@ func Hbyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
474 470
 	//	fmt.Println("error:", err.Error())
475 471
 	//}
476 472
 	//fmt.Println(string(out))
477
-	out := GetoleInfo("2204",string(bytesData))
473
+	out := GetoleInfo("2204", string(bytesData))
478 474
 
479 475
 	return out, requestLog
480 476
 
481
-
482 477
 }
483 478
 
484
-//  门诊费用明细信息撤销
479
+// 门诊费用明细信息撤销
485 480
 func Hbyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string) (string, string) {
486 481
 	// 生成签名
487 482
 	nonce := GetRandomString(32)
@@ -517,14 +512,15 @@ func Hbyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
517 512
 	//}
518 513
 	//fmt.Println(string(out))
519 514
 
520
-	out := GetoleInfo("2205",string(bytesData))
515
+	out := GetoleInfo("2205", string(bytesData))
521 516
 
522 517
 	return out, requestLog
523 518
 
524 519
 }
525 520
 
526
-//  门诊预结算
527
-//func Hbyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
521
+//	门诊预结算
522
+//
523
+// func Hbyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
528 524
 func Hbyb2206(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) (string, string) {
529 525
 
530 526
 	// 生成签名
@@ -593,14 +589,14 @@ func Hbyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
593 589
 	//	fmt.Println("error:", err.Error())
594 590
 	//}
595 591
 	//fmt.Println(string(out))
596
-	out := GetoleInfo("2206",string(bytesData))
592
+	out := GetoleInfo("2206", string(bytesData))
597 593
 
598 594
 	return out, requestLog
599 595
 
600 596
 }
601 597
 
602
-//  门诊结算
603
-func Hbyb2207(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 int64) (string, string) {
598
+// 门诊结算
599
+func Hbyb2207(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 int64, pack_num string, good_pack_num string) (string, string) {
604 600
 	// 生成签名
605 601
 	nonce := GetRandomString(32)
606 602
 	timestamp := time.Now().Unix()
@@ -635,19 +631,24 @@ func Hbyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
635 631
 	} else {
636 632
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
637 633
 	}
638
-	inputData["medfee_sumamt"] = total           // 医疗费总额
639
-	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
640
-	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
641
-	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
642
-	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
643
-	inputData["insutype"] = insutype             // 险种类型
644
-	inputData["invono"] = ""                     // 发票号
634
+	inputData["medfee_sumamt"] = total             // 医疗费总额
635
+	inputData["psn_setlway"] = "01"                // 个人结算方式 01 按项目结 02 按定额结算
636
+	inputData["mdtrt_id"] = mdtrtId                // 就诊 ID(来自2201接口返回)
637
+	inputData["chrg_bchno"] = chrgBchno            // 收费批次号(来自2204生成的)
638
+	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
639
+	inputData["insutype"] = insutype               // 险种类型
640
+	inputData["invono"] = ""                       // 发票号
641
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
642
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
645 643
 
646 644
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
647 645
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
648 646
 	inputData["preselfpay_amt"] = preselfpay_amt       //
649 647
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
650 648
 
649
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
650
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
651
+
651 652
 	input["data"] = inputData
652 653
 	inputMessage["input"] = input //交易输入
653 654
 
@@ -667,14 +668,13 @@ func Hbyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
667 668
 	mjson, _ := json.Marshal(inputMessage)
668 669
 	str2 := string(mjson)
669 670
 
670
-	out := GetoleInfo("2207",string(bytesData))
671
-
671
+	out := GetoleInfo("2207", string(bytesData))
672 672
 
673 673
 	return out, str2
674 674
 
675 675
 }
676 676
 
677
-//  门诊结算撤销
677
+// 门诊结算撤销
678 678
 func Hbyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
679 679
 	// 生成签名
680 680
 	nonce := GetRandomString(32)
@@ -709,7 +709,7 @@ func Hbyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doct
709 709
 	mjson, _ := json.Marshal(inputMessage)
710 710
 	str2 := string(mjson)
711 711
 	//fmt.Println(string(out))
712
-	out := GetoleInfo("2208",string(bytesData))
712
+	out := GetoleInfo("2208", string(bytesData))
713 713
 	return out, str2
714 714
 
715 715
 }
@@ -744,7 +744,7 @@ func Hbyb5203(baseParams models.BaseParams, businessParams models.BusinessParams
744 744
 	//if err != nil {
745 745
 	//	fmt.Println("error:", err.Error())
746 746
 	//}
747
-	out := GetoleInfo("YH03",string(bytesData))
747
+	out := GetoleInfo("YH03", string(bytesData))
748 748
 
749 749
 	//mjson, _ := json.Marshal(inputMessage)
750 750
 	//str2 := string(mjson)
@@ -787,7 +787,7 @@ func Hbyb5203aa(baseParams models.BaseParams, businessParams models.BusinessPara
787 787
 	return ConvertToString(string(out), "gbk", "utf-8")
788 788
 }
789 789
 
790
-//确认订单
790
+// 确认订单
791 791
 func Hbyb6201(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, order models.HisOrder) string {
792 792
 	// 生成签名
793 793
 	nonce := GetRandomString(32)
@@ -876,7 +876,7 @@ func Hbyb6201(org_name string, doctor string, fixmedins_code string, insuplc_adm
876 876
 	return str
877 877
 }
878 878
 
879
-//  医药机构费用结算对总账 func Gdyb3201( org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
879
+// 医药机构费用结算对总账 func Gdyb3201( org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
880 880
 func Hbyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
881 881
 	fmt.Println("11222333-----")
882 882
 
@@ -953,9 +953,9 @@ func Hbyb3201(baseParams models.BaseParams, businessParams models.BusinessParams
953 953
 type Input struct {
954 954
 	MonSetlAppyID   string `xml:"MON_SETL_APPY_ID"`
955 955
 	FixmedinsNo     string `xml:"FIXMEDINS_NO"`
956
-	ClrCnt          string    `xml:"CLR_CNT"`
957
-	MedfeeSumAmt    string    `xml:"MEDFEE_SUMAMT"`
958
-	OptinsPaySumAmt string    `xml:"OPTINS_PAY_SUMAMT"`
956
+	ClrCnt          string `xml:"CLR_CNT"`
957
+	MedfeeSumAmt    string `xml:"MEDFEE_SUMAMT"`
958
+	OptinsPaySumAmt string `xml:"OPTINS_PAY_SUMAMT"`
959 959
 	Begndate        string `xml:"BEGNDATE"`
960 960
 	Enddate         string `xml:"ENDDATE"`
961 961
 	OpterName       string `xml:"OPTER_NAME"`
@@ -971,8 +971,7 @@ type Data struct {
971 971
 	Inputs  Inputs   `xml:"INPUTS"`
972 972
 }
973 973
 
974
-
975
-func Hbyb1608(baseParams models.BaseParams,cnt string,medfee_sumamt string,start_time string,end_time string,func_t string) string {
974
+func Hbyb1608(baseParams models.BaseParams, cnt string, medfee_sumamt string, start_time string, end_time string, func_t string) string {
976 975
 
977 976
 	// 生成签名
978 977
 	nonce := GetRandomString(32)
@@ -986,7 +985,7 @@ func Hbyb1608(baseParams models.BaseParams,cnt string,medfee_sumamt string,start
986 985
 	data := Data{
987 986
 		Inputs: Inputs{
988 987
 			Input: Input{
989
-				MonSetlAppyID:  strconv.FormatInt(timestamp, 10)  ,
988
+				MonSetlAppyID:   strconv.FormatInt(timestamp, 10),
990 989
 				FixmedinsNo:     baseParams.FixmedinsCode,
991 990
 				ClrCnt:          cnt,
992 991
 				MedfeeSumAmt:    medfee_sumamt,
@@ -1003,7 +1002,7 @@ func Hbyb1608(baseParams models.BaseParams,cnt string,medfee_sumamt string,start
1003 1002
 		fmt.Println("转换为XML失败:", err)
1004 1003
 	}
1005 1004
 
1006
-	inputMessage["infno"] = "1608" // 交易编码
1005
+	inputMessage["infno"] = "1608"          // 交易编码
1007 1006
 	inputMessage["input"] = string(xmlData) //交易输入
1008 1007
 	bytesData, err := json.Marshal(inputMessage)
1009 1008
 	fmt.Println(string(bytesData))
@@ -1021,7 +1020,6 @@ func Hbyb1608(baseParams models.BaseParams,cnt string,medfee_sumamt string,start
1021 1020
 	return ConvertToString(string(out), "gbk", "utf-8")
1022 1021
 }
1023 1022
 
1024
-
1025 1023
 func Hbyb3204(baseParams models.BaseParams, id string) string {
1026 1024
 	// 生成签名
1027 1025
 	nonce := GetRandomString(32)
@@ -1032,18 +1030,17 @@ func Hbyb3204(baseParams models.BaseParams, id string) string {
1032 1030
 	input := make(map[string]interface{})
1033 1031
 	inputData := make(map[string]interface{})
1034 1032
 
1035
-	inputMessage["infno"] = "3204" // 交易编码
1036
-	inputData["clr_appy_evt_id"] = id                       // 险种
1033
+	inputMessage["infno"] = "3204"    // 交易编码
1034
+	inputData["clr_appy_evt_id"] = id // 险种
1037 1035
 	input["data"] = inputData
1038 1036
 	inputMessage["input"] = input //交易输入
1039 1037
 	bytesData, _ := json.Marshal(inputMessage)
1040 1038
 	fmt.Println(string(bytesData))
1041
-	out := GetoleInfo("3204",string(bytesData))
1039
+	out := GetoleInfo("3204", string(bytesData))
1042 1040
 	fmt.Println(string(out))
1043
-	return  out
1041
+	return out
1044 1042
 }
1045 1043
 
1046
-
1047 1044
 func Hbyb8404(baseParams models.BaseParams, month string) string {
1048 1045
 	// 生成签名
1049 1046
 	nonce := GetRandomString(32)
@@ -1064,16 +1061,11 @@ func Hbyb8404(baseParams models.BaseParams, month string) string {
1064 1061
 	inputMessage["input"] = input //交易输入
1065 1062
 	bytesData, _ := json.Marshal(inputMessage)
1066 1063
 	fmt.Println(string(bytesData))
1067
-	out := GetoleInfo("8404",string(bytesData))
1064
+	out := GetoleInfo("8404", string(bytesData))
1068 1065
 	fmt.Println(string(out))
1069
-	return  out
1066
+	return out
1070 1067
 }
1071 1068
 
1072
-
1073
-
1074
-
1075
-
1076
-
1077 1069
 func Hbyb3202a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1078 1070
 
1079 1071
 	fmt.Println(baseParams)
@@ -1107,11 +1099,10 @@ func Hbyb3202a(baseParams models.BaseParams, businessParams []*models.BusinessPa
1107 1099
 	//bytesData, err := json.Marshal(inputMessage)
1108 1100
 	bytesData, _ := json.Marshal(inputMessage)
1109 1101
 	fmt.Println(string(bytesData))
1110
-	out := GetoleInfo("3202a",string(bytesData))
1111
-	return  out
1102
+	out := GetoleInfo("3202a", string(bytesData))
1103
+	return out
1112 1104
 }
1113 1105
 
1114
-
1115 1106
 func Hbyb3204a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1116 1107
 
1117 1108
 	fmt.Println(baseParams)
@@ -1136,7 +1127,7 @@ func Hbyb3204a(baseParams models.BaseParams, businessParams []*models.BusinessPa
1136 1127
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1137 1128
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1138 1129
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1139
-		inputData["med_type"] = "14"                        //个人账户支付金额
1130
+		inputData["med_type"] = "14"                      //个人账户支付金额
1140 1131
 		inputDatas = append(inputDatas, inputData)
1141 1132
 	}
1142 1133
 	input["clrdata"] = inputDatas
@@ -1144,13 +1135,11 @@ func Hbyb3204a(baseParams models.BaseParams, businessParams []*models.BusinessPa
1144 1135
 
1145 1136
 	//bytesData, err := json.Marshal(inputMessage)
1146 1137
 	bytesData, _ := json.Marshal(inputMessage)
1147
-	out := GetoleInfo("3204a",string(bytesData))
1138
+	out := GetoleInfo("3204a", string(bytesData))
1148 1139
 	fmt.Println(out)
1149
-	return  out
1140
+	return out
1150 1141
 }
1151 1142
 
1152
-
1153
-
1154 1143
 func Hbyb3202b(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1155 1144
 
1156 1145
 	fmt.Println(baseParams)
@@ -1175,19 +1164,18 @@ func Hbyb3202b(baseParams models.BaseParams, businessParams []*models.BusinessPa
1175 1164
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1176 1165
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1177 1166
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1178
-		inputData["med_type"] = "110104"                        //个人账户支付金额
1167
+		inputData["med_type"] = "110104"                  //个人账户支付金额
1179 1168
 		inputDatas = append(inputDatas, inputData)
1180 1169
 	}
1181 1170
 	input["clrdata"] = inputDatas
1182 1171
 	inputMessage["input"] = input //交易输入
1183 1172
 
1184 1173
 	bytesData, _ := json.Marshal(inputMessage)
1185
-	out := GetoleInfo("3202a",string(bytesData))
1186
-	return  out
1174
+	out := GetoleInfo("3202a", string(bytesData))
1175
+	return out
1187 1176
 }
1188 1177
 
1189
-
1190
-func Hbyb5262(baseParams models.BaseParams, businessParams models.BusinessParams5262, page string , limit string) string {
1178
+func Hbyb5262(baseParams models.BaseParams, businessParams models.BusinessParams5262, page string, limit string) string {
1191 1179
 
1192 1180
 	fmt.Println(baseParams)
1193 1181
 	fmt.Println(businessParams)
@@ -1205,7 +1193,7 @@ func Hbyb5262(baseParams models.BaseParams, businessParams models.BusinessParams
1205 1193
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1206 1194
 	inputData["q_begntime"] = businessParams.QBegntime
1207 1195
 	inputData["q_endtime"] = businessParams.QEndtime
1208
-	inputData["med_type"] =   businessParams.MedType
1196
+	inputData["med_type"] = businessParams.MedType
1209 1197
 	inputData["page_num"] = page
1210 1198
 	inputData["page_size"] = limit
1211 1199
 	inputData["certno"] = businessParams.Certno
@@ -1215,11 +1203,11 @@ func Hbyb5262(baseParams models.BaseParams, businessParams models.BusinessParams
1215 1203
 
1216 1204
 	//bytesData, err := json.Marshal(inputMessage)
1217 1205
 	bytesData, _ := json.Marshal(inputMessage)
1218
-	out := GetoleInfo("5262",string(bytesData))
1219
-	return  out
1206
+	out := GetoleInfo("5262", string(bytesData))
1207
+	return out
1220 1208
 }
1221 1209
 
1222
-func Hbyb5267(baseParams models.BaseParams, businessParams models.BusinessParams5262, page string , limit string) string {
1210
+func Hbyb5267(baseParams models.BaseParams, businessParams models.BusinessParams5262, page string, limit string) string {
1223 1211
 
1224 1212
 	fmt.Println(baseParams)
1225 1213
 	fmt.Println(businessParams)
@@ -1237,7 +1225,7 @@ func Hbyb5267(baseParams models.BaseParams, businessParams models.BusinessParams
1237 1225
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1238 1226
 	inputData["q_begntime"] = businessParams.QBegntime
1239 1227
 	inputData["q_endtime"] = businessParams.QEndtime
1240
-	inputData["med_type"] =   businessParams.MedType
1228
+	inputData["med_type"] = businessParams.MedType
1241 1229
 	inputData["page_num"] = page
1242 1230
 	inputData["page_size"] = limit
1243 1231
 	input["data"] = inputData
@@ -1247,13 +1235,13 @@ func Hbyb5267(baseParams models.BaseParams, businessParams models.BusinessParams
1247 1235
 
1248 1236
 	//bytesData, err := json.Marshal(inputMessage)
1249 1237
 	bytesData, _ := json.Marshal(inputMessage)
1250
-	out := GetoleInfo("5267",string(bytesData))
1251
-	return  out
1238
+	out := GetoleInfo("5267", string(bytesData))
1239
+	return out
1252 1240
 }
1253 1241
 
1254 1242
 //文件上传
1255 1243
 
1256
-//文件上传
1244
+// 文件上传
1257 1245
 func Hbyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1258 1246
 
1259 1247
 	// 生成签名
@@ -1394,7 +1382,7 @@ func Hbyb3202(baseParams models.BaseParams, businessParams models.BusinessParams
1394 1382
 	inputData := make(map[string]interface{})
1395 1383
 	inputMessage["infno"] = "3202"                                    // 交易编码
1396 1384
 	inputData["file_qury_no"] = businessParams.FileQuryNo             // 险种
1397
-	inputData["setl_optins"] = ""              // 结算经办机构
1385
+	inputData["setl_optins"] = ""                                     // 结算经办机构
1398 1386
 	inputData["stmt_begndate"] = businessParams.StmtBegndate          // 对帐开始时间
1399 1387
 	inputData["stmt_enddate"] = businessParams.StmtEnddate            //对帐结束时间
1400 1388
 	inputData["medfee_sumamt"] = businessParams.MedfeeSumamt          //医疗费总额
@@ -1410,7 +1398,7 @@ func Hbyb3202(baseParams models.BaseParams, businessParams models.BusinessParams
1410 1398
 	//str2 := string(mjson)
1411 1399
 	bytesData, _ := json.Marshal(inputMessage)
1412 1400
 	fmt.Println(string(bytesData))
1413
-	out := GetoleInfo("3202",string(bytesData))
1401
+	out := GetoleInfo("3202", string(bytesData))
1414 1402
 	return out
1415 1403
 }
1416 1404
 
@@ -1958,7 +1946,6 @@ func Hbyb5301(psnNo string, insutype string, org_name string, doctor string, fix
1958 1946
 	input["data"] = inputData
1959 1947
 	inputMessage["input"] = input //交易输入
1960 1948
 
1961
-
1962 1949
 	bytesData, err := json.Marshal(inputMessage)
1963 1950
 	//inputLog = string(bytesData)
1964 1951
 	fmt.Println(string(bytesData))
@@ -1967,13 +1954,12 @@ func Hbyb5301(psnNo string, insutype string, org_name string, doctor string, fix
1967 1954
 		return err.Error()
1968 1955
 	}
1969 1956
 
1970
-	out := GetoleInfo("5301",string(bytesData))
1957
+	out := GetoleInfo("5301", string(bytesData))
1971 1958
 	return out
1972 1959
 	//return ConvertToString(string(out), "gbk", "utf-8")
1973 1960
 
1974 1961
 }
1975 1962
 
1976
-//
1977 1963
 func Hbyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
1978 1964
 	// 生成签名
1979 1965
 	nonce := GetRandomString(32)
@@ -2322,7 +2308,7 @@ func Hbyb2601(psnNo string, omsgid string, oinfno string, org_name string, docto
2322 2308
 	return str
2323 2309
 }
2324 2310
 
2325
-//人员信息版本3
2311
+// 人员信息版本3
2326 2312
 func Hbyb1101B(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 int64) string {
2327 2313
 	//生成签名
2328 2314
 	nonce := GetRandomString(32)
@@ -2404,7 +2390,7 @@ func Hbyb1101B(certNo string, org_name string, doctor string, fixmedins_code str
2404 2390
 	return str
2405 2391
 }
2406 2392
 
2407
-//人员信息版本4
2393
+// 人员信息版本4
2408 2394
 func Hbyb1101C(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 int64) (string, string) {
2409 2395
 	//生成签名
2410 2396
 	nonce := GetRandomString(32)
@@ -2609,7 +2595,6 @@ func Hbyb2001(secret_key string, org_name string, doctor_name string, code strin
2609 2595
 	return string(out), string(bytesData)
2610 2596
 }
2611 2597
 
2612
-
2613 2598
 // 住院登记
2614 2599
 func Hbyb2401(struct2401 Struct2401, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
2615 2600
 	// 生成签名
@@ -2685,7 +2670,7 @@ func Hbyb2401(struct2401 Struct2401, secret_key string, org_name string, fixmedi
2685 2670
 		return err.Error(), ""
2686 2671
 	}
2687 2672
 	var json2 string
2688
-	cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2401",  string(bytesData), json2)
2673
+	cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2401", string(bytesData), json2)
2689 2674
 	out, err := cmd.Output()
2690 2675
 
2691 2676
 	//decoder := simplifiedchinese.GBK.NewDecoder()
@@ -2696,11 +2681,10 @@ func Hbyb2401(struct2401 Struct2401, secret_key string, org_name string, fixmedi
2696 2681
 		fmt.Println("error:", err.Error())
2697 2682
 	}
2698 2683
 
2699
-	return   ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2684
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2700 2685
 }
2701 2686
 
2702
-
2703
-//住院撤销
2687
+// 住院撤销
2704 2688
 func Hbyb2404(mdtrt_id string, psn_no string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
2705 2689
 	// 生成签名
2706 2690
 	nonce := GetRandomString(32)
@@ -2727,18 +2711,17 @@ func Hbyb2404(mdtrt_id string, psn_no string, secret_key string, org_name string
2727 2711
 	if err != nil {
2728 2712
 		fmt.Println("error:", err.Error())
2729 2713
 	}
2730
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2714
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2731 2715
 
2732 2716
 	//return string(out), string(bytesData)
2733 2717
 }
2734 2718
 
2735
-//出院撤销
2719
+// 出院撤销
2736 2720
 func Hb2405(mdtrt_id string, psn_no string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
2737 2721
 	// 生成签名
2738 2722
 	nonce := GetRandomString(32)
2739 2723
 	timestamp := time.Now().Unix()
2740 2724
 
2741
-
2742 2725
 	// 生成输入报文
2743 2726
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
2744 2727
 	input := make(map[string]interface{})
@@ -2760,7 +2743,7 @@ func Hb2405(mdtrt_id string, psn_no string, secret_key string, org_name string,
2760 2743
 	if err != nil {
2761 2744
 		fmt.Println("error:", err.Error())
2762 2745
 	}
2763
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2746
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2764 2747
 
2765 2748
 	//return string(out), string(bytesData)
2766 2749
 }
@@ -2840,13 +2823,12 @@ func Hb2402(struct2402 Struct2402, org_name string, doctor string, insuplc_admdv
2840 2823
 	if err != nil {
2841 2824
 		fmt.Println("error:", err.Error())
2842 2825
 	}
2843
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2826
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2844 2827
 
2845 2828
 	//return string(out), string(bytesData)
2846 2829
 }
2847 2830
 
2848
-
2849
-//  住院费用明细信息上传
2831
+// 住院费用明细信息上传
2850 2832
 func Hb2301(psnNo string, mdtrtId string, hisPrescription []*models.NewCustom, 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, med_type string, doctor_name string, doctor_number string) (string, string) {
2851 2833
 	// 生成签名
2852 2834
 	nonce := GetRandomString(32)
@@ -2965,7 +2947,7 @@ func Hb2301(psnNo string, mdtrtId string, hisPrescription []*models.NewCustom, c
2965 2947
 		fmt.Println(err.Error())
2966 2948
 		return "", ""
2967 2949
 	}
2968
-	return   ConvertToString(string(respBytes), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2950
+	return ConvertToString(string(respBytes), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
2969 2951
 
2970 2952
 }
2971 2953
 func Hb2301A(psnNo string, mdtrtId string, hisPrescription []*models.NewCustom, 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, med_type string, opertor string) (string, string) {
@@ -3056,18 +3038,18 @@ func Hb2301A(psnNo string, mdtrtId string, hisPrescription []*models.NewCustom,
3056 3038
 		fmt.Println("error:", err.Error())
3057 3039
 	}
3058 3040
 	fmt.Println(string(out))
3059
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3041
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3060 3042
 
3061 3043
 	//return string(out), string(bytesData)
3062 3044
 
3063 3045
 }
3064
-//  住院费用明细信息撤销
3046
+
3047
+// 住院费用明细信息撤销
3065 3048
 func Hb2302(psnNo string, mdtrtId string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, number string, refund_type int64) (string, string) {
3066 3049
 	// 生成签名
3067 3050
 	nonce := GetRandomString(32)
3068 3051
 	timestamp := time.Now().Unix()
3069 3052
 
3070
-
3071 3053
 	// 生成输入报文
3072 3054
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
3073 3055
 	input := make(map[string]interface{})
@@ -3086,7 +3068,7 @@ func Hb2302(psnNo string, mdtrtId string, org_name string, doctor string, insupl
3086 3068
 
3087 3069
 	inputData["mdtrt_id"] = mdtrtId // 就诊 ID
3088 3070
 	inputData["psn_no"] = psnNo     // 人员编号
3089
-	feedetail = append(feedetail,inputData)
3071
+	feedetail = append(feedetail, inputData)
3090 3072
 	input["data"] = feedetail
3091 3073
 	inputMessage["input"] = input //交易输入
3092 3074
 
@@ -3102,7 +3084,7 @@ func Hb2302(psnNo string, mdtrtId string, org_name string, doctor string, insupl
3102 3084
 	if err != nil {
3103 3085
 		fmt.Println("error:", err.Error())
3104 3086
 	}
3105
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3087
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3106 3088
 
3107 3089
 	//return string(out), string(bytesData)
3108 3090
 }
@@ -3157,7 +3139,8 @@ func Hb2303(psnNo string, mdtrtId string, chrgBchno string, certNo string, insut
3157 3139
 
3158 3140
 	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3159 3141
 }
3160
-//  住院结算
3142
+
3143
+// 住院结算
3161 3144
 func Hb2304(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, mid_setl_flag string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, fapiao_number string, acct_used_flag string) (string, string) {
3162 3145
 	// 生成签名
3163 3146
 	nonce := GetRandomString(32)
@@ -3211,44 +3194,44 @@ func Hb2304(psnNo string, mdtrtId string, chrgBchno string, certNo string, insut
3211 3194
 		fmt.Println("error:", err.Error())
3212 3195
 	}
3213 3196
 	//if id_card_type == 4 {
3214
-			aa := ""
3215
-		// Regular expression to find JSON part
3216
-		re := regexp.MustCompile(`\{.*\}`)
3197
+	aa := ""
3198
+	// Regular expression to find JSON part
3199
+	re := regexp.MustCompile(`\{.*\}`)
3217 3200
 
3218
-		// Find the first match
3219
-		match := re.Find([]byte(ConvertToString(string(out), "gbk", "utf-8")))
3201
+	// Find the first match
3202
+	match := re.Find([]byte(ConvertToString(string(out), "gbk", "utf-8")))
3220 3203
 
3221
-		if match != nil {
3222
-			// Convert bytes to string
3223
-			jsonStr := string(match)
3204
+	if match != nil {
3205
+		// Convert bytes to string
3206
+		jsonStr := string(match)
3224 3207
 
3225
-			// Parse JSON
3226
-			var jsonData interface{}
3227
-			err := json.Unmarshal([]byte(jsonStr), &jsonData)
3208
+		// Parse JSON
3209
+		var jsonData interface{}
3210
+		err := json.Unmarshal([]byte(jsonStr), &jsonData)
3211
+		if err != nil {
3212
+			fmt.Println("Error parsing JSON:", err)
3213
+		} else {
3214
+			// Print formatted JSON
3215
+			jsonBytes, err := json.MarshalIndent(jsonData, "", "    ")
3228 3216
 			if err != nil {
3229
-				fmt.Println("Error parsing JSON:", err)
3217
+				fmt.Println("Error formatting JSON:", err)
3230 3218
 			} else {
3231
-				// Print formatted JSON
3232
-				jsonBytes, err := json.MarshalIndent(jsonData, "", "    ")
3233
-				if err != nil {
3234
-					fmt.Println("Error formatting JSON:", err)
3235
-				} else {
3236
-					aa = string(jsonBytes)
3237
-					//fmt.Println(string(jsonBytes))
3238
-				}
3219
+				aa = string(jsonBytes)
3220
+				//fmt.Println(string(jsonBytes))
3239 3221
 			}
3240
-		} else {
3241
-			fmt.Println("No valid JSON found in the input string.")
3242 3222
 		}
3243
-		return aa, ConvertToString(string(bytesData), "gbk", "utf-8")
3223
+	} else {
3224
+		fmt.Println("No valid JSON found in the input string.")
3225
+	}
3226
+	return aa, ConvertToString(string(bytesData), "gbk", "utf-8")
3244 3227
 	//}else{
3245 3228
 
3246
-		//return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3229
+	//return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3247 3230
 	//}
3248 3231
 	//return string(out), string(bytesData)
3249 3232
 }
3250 3233
 
3251
-//  住院结算撤销
3234
+// 住院结算撤销
3252 3235
 func Hb2305(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
3253 3236
 	// 生成签名
3254 3237
 	nonce := GetRandomString(32)
@@ -3280,13 +3263,12 @@ func Hb2305(psnNo string, mdtrtId string, setlId string, org_name string, doctor
3280 3263
 	if err != nil {
3281 3264
 		fmt.Println("error:", err.Error())
3282 3265
 	}
3283
-	return  ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3266
+	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3284 3267
 
3285 3268
 	//return string(out), string(bytesData)
3286 3269
 }
3287 3270
 
3288
-
3289
-func  GetoleInfo(code string,data string) string {
3271
+func GetoleInfo(code string, data string) string {
3290 3272
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
3291 3273
 	defer ole.CoUninitialize()
3292 3274
 

+ 10 - 8
service/hn_service.go 查看文件

@@ -779,7 +779,7 @@ func Hnyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string,
779 779
 }
780 780
 
781 781
 // 门诊结算
782
-func Hnyb2207(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) {
782
+func Hnyb2207(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, pack_num int64, good_pack_num int64) (string, string) {
783 783
 	// 生成签名
784 784
 	timestamp := time.Now().Unix()
785 785
 	// 生成输入报文
@@ -815,13 +815,15 @@ func Hnyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
815 815
 	} else {
816 816
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
817 817
 	}
818
-	inputData["medfee_sumamt"] = total           // 医疗费总额
819
-	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
820
-	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
821
-	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
822
-	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
823
-	inputData["insutype"] = insutype             // 险种类型
824
-	inputData["invono"] = ""                     // 发票号
818
+	inputData["medfee_sumamt"] = total             // 医疗费总额
819
+	inputData["psn_setlway"] = "01"                // 个人结算方式 01 按项目结 02 按定额结算
820
+	inputData["mdtrt_id"] = mdtrtId                // 就诊 ID(来自2201接口返回)
821
+	inputData["chrg_bchno"] = chrgBchno            // 收费批次号(来自2204生成的)
822
+	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
823
+	inputData["insutype"] = insutype               // 险种类型
824
+	inputData["invono"] = ""                       // 发票号
825
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
826
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
825 827
 
826 828
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
827 829
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //

+ 28 - 32
service/jsyb_service.go 查看文件

@@ -13,10 +13,10 @@ import (
13 13
 	"gdyb/utils/csbhttp"
14 14
 	"io/ioutil"
15 15
 	"net"
16
-	"strings"
17
-	"regexp"
18 16
 	"net/http"
17
+	"regexp"
19 18
 	"strconv"
19
+	"strings"
20 20
 	"time"
21 21
 )
22 22
 
@@ -250,9 +250,9 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
250 250
 		}
251 251
 	}
252 252
 
253
-	inputData["mdtrt_cert_no"] = certNo  // 就诊凭证编号
254
-	inputData["begntime"] = ""                                // 开始时间
255
-	inputData["psn_name"] = ""                                // 人员姓名
253
+	inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
254
+	inputData["begntime"] = ""          // 开始时间
255
+	inputData["psn_name"] = ""          // 人员姓名
256 256
 	input["data"] = inputData
257 257
 	inputMessage["input"] = input //交易输入
258 258
 
@@ -274,7 +274,7 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
274 274
 	// 参数
275 275
 	_api_access_key := access_key
276 276
 	_api_name := "hssServives"
277
-	timestampInMilliseconds  := time.Now().Unix()
277
+	timestampInMilliseconds := time.Now().Unix()
278 278
 
279 279
 	timestamp = timestampInMilliseconds
280 280
 	_api_timestamp := timestamp
@@ -290,7 +290,7 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
290 290
 		"&_api_version=" + url.QueryEscape(_api_version)
291 291
 	secret_key = strings.Replace(secret_key, "+", "%2B", -1)
292 292
 	fmt.Println("h8Z+d10iYI4B+kry0wgYSt5bFBs=")
293
-	secret_key  = "h8Z+d10iYI4B+kry0wgYSt5bFBs="
293
+	secret_key = "h8Z+d10iYI4B+kry0wgYSt5bFBs="
294 294
 	// 生成签名
295 295
 	signature, _ := generateSignature(param, secretKey)
296 296
 
@@ -302,7 +302,7 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
302 302
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
303 303
 	request.Header.Set("_api_timestamp", str)
304 304
 	request.Header.Set("_api_name", _api_name)
305
-	request.Header.Set("_api_version",_api_version)
305
+	request.Header.Set("_api_version", _api_version)
306 306
 	request.Header.Set("_api_access_key", _api_access_key)
307 307
 	request.Header.Set("_api_signature", signature)
308 308
 
@@ -314,7 +314,6 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
314 314
 		return err.Error(), ""
315 315
 	}
316 316
 
317
-
318 317
 	client := http.Client{}
319 318
 	resp, err := client.Do(request)
320 319
 	if err != nil {
@@ -330,11 +329,6 @@ func Jsyb1101ooo(certNo string, org_name string, doctor string, fixmedins_code s
330 329
 	fmt.Println(str2)
331 330
 	return str2, string(bytesData)
332 331
 
333
-
334
-
335
-
336
-
337
-
338 332
 	//return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), inputLog
339 333
 }
340 334
 
@@ -421,10 +415,10 @@ func Jsyb2201(psnNo string, insutype string, certNo string, org_name string, ope
421 415
 	inputData["begntime"] = timeFormatOne // 开始时间
422 416
 
423 417
 	if id_card_type == 1 {
424
-		if mdtrtarea_admvs == "320830"{
418
+		if mdtrtarea_admvs == "320830" {
425 419
 			inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
426
-			inputData["mdtrt_cert_no"] = certNo + "|" + verify_number  // 就诊凭证编号
427
-		}else{
420
+			inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
421
+		} else {
428 422
 			inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
429 423
 			inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
430 424
 
@@ -500,9 +494,8 @@ func Jsyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
500 494
 	return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), requestLog
501 495
 }
502 496
 
503
-
504 497
 // 门诊就诊信息上传
505
-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,doc_name string) (string, string, int64) {
498
+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, doc_name string) (string, string, int64) {
506 499
 	// 生成签名
507 500
 	timestamp := time.Now().Unix()
508 501
 	tempTime := time.Unix(timestamp, 0)
@@ -536,7 +529,7 @@ func Jsyb2203(psnNo string, mdtrtId string, doctor string, department string, or
536 529
 		diseinfo_sun["diag_name"] = item.ClassName   // 诊断名称
537 530
 		diseinfo_sun["diag_dept"] = department       // 诊断科室
538 531
 		diseinfo_sun["dise_dor_no"] = doctor_id      // 诊断医生编码
539
-		diseinfo_sun["dise_dor_name"] = doc_name       // 诊断医生姓名
532
+		diseinfo_sun["dise_dor_name"] = doc_name     // 诊断医生姓名
540 533
 		diseinfo_sun["diag_time"] = timeFormatOne    // 诊断时间
541 534
 		diseinfo_sun["vali_flag"] = "1"              // 有效标志
542 535
 		diseinfo = append(diseinfo, diseinfo_sun)
@@ -827,7 +820,7 @@ func Jsyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
827 820
 	inputData := make(map[string]interface{})
828 821
 	inputMessage["infno"] = "2205" // 交易编码
829 822
 
830
-	inputData["mdtrt_id"] = mdtrtId  // 就诊 ID(来自2201接口返回)
823
+	inputData["mdtrt_id"] = mdtrtId     // 就诊 ID(来自2201接口返回)
831 824
 	inputData["chrg_bchno"] = chrgBchno // 收费批次号(来自2204生成的)
832 825
 
833 826
 	inputData["psn_no"] = psnNo   // 人员编号 (来自1101接口返回)
@@ -923,7 +916,7 @@ func Jsyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
923 916
 }
924 917
 
925 918
 // 门诊结算
926
-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, mdtrt_grp_type string) (string, string) {
919
+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, mdtrt_grp_type string, pack_num string, good_pack_num string) (string, string) {
927 920
 	// 生成签名
928 921
 	timestamp := time.Now().Unix()
929 922
 	// 生成输入报文
@@ -938,12 +931,12 @@ func Jsyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
938 931
 		inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
939 932
 	} else {
940 933
 		if id_card_type == 1 {
941
-			if mdtrtarea_admvs == "320830"{
934
+			if mdtrtarea_admvs == "320830" {
942 935
 
943 936
 				inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
944
-				inputData["mdtrt_cert_no"] =  certNo + "|" + verify_number  // 就诊凭证编号
937
+				inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
945 938
 
946
-			}else{
939
+			} else {
947 940
 				inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
948 941
 				inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
949 942
 
@@ -979,6 +972,9 @@ func Jsyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
979 972
 	inputData["insutype"] = insutype             // 险种类型
980 973
 	inputData["invono"] = ""                     // 发票号
981 974
 
975
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
976
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
977
+
982 978
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
983 979
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
984 980
 	inputData["preselfpay_amt"] = preselfpay_amt       //
@@ -1197,11 +1193,11 @@ func SetJSInputMessage(timestamp int64, org_name string, doctor string, fixmedin
1197 1193
 	if fixmedins_code == "H32090403023" {
1198 1194
 		inputMessage["opter"] = "葛美琴"      // 经办人
1199 1195
 		inputMessage["opter_name"] = "葛美琴" // 经办人姓名
1200
-	} else if  fixmedins_code == "H32092103007"{
1196
+	} else if fixmedins_code == "H32092103007" {
1201 1197
 		inputMessage["opter"] = "孙欣欣"      // 经办人
1202 1198
 		inputMessage["opter_name"] = "孙欣欣" // 经办人姓名
1203 1199
 	} else {
1204
-		inputMessage["opter"] =   doctor    // 经办人
1200
+		inputMessage["opter"] = doctor      // 经办人
1205 1201
 		inputMessage["opter_name"] = doctor // 经办人姓名
1206 1202
 	}
1207 1203
 	inputMessage["inf_time"] = timeFormatOne        // 交易时间
@@ -2075,12 +2071,12 @@ func Jsyb3505(struct3505 models.Struct3505) (string, string) {
2075 2071
 	inputData["rxno"] = struct3505.Rxno                   // 人员编号 (来自1101接口返回)
2076 2072
 	inputData["rx_circ_flag"] = struct3505.RxCircFlag     // 人员编号 (来自1101接口返回)
2077 2073
 
2078
-	inputData["rtal_docno"] = struct3505.RtalDocno // 人员编号 (来自1101接口返回)
2079
-	inputData["stoout_no"] = struct3505.StooutNo   // 人员编号 (来自1101接口返回)
2080
-	inputData["stoout_no"] = struct3505.StooutNo   // 人员编号 (来自1101接口返回)
2081
-	inputData["MDTRT_SETL_TYPE"] = struct3505.MdtrtSetlType // 人员编号 (来自1101接口返回)
2074
+	inputData["rtal_docno"] = struct3505.RtalDocno                 // 人员编号 (来自1101接口返回)
2075
+	inputData["stoout_no"] = struct3505.StooutNo                   // 人员编号 (来自1101接口返回)
2076
+	inputData["stoout_no"] = struct3505.StooutNo                   // 人员编号 (来自1101接口返回)
2077
+	inputData["MDTRT_SETL_TYPE"] = struct3505.MdtrtSetlType        // 人员编号 (来自1101接口返回)
2082 2078
 	inputData["bchno"] = struct3505.Bchno                          // 人员编号 (来自1101接口返回)
2083
-	inputData["drug_trac_codg"] = "---"          // 人员编号 (来自1101接口返回)
2079
+	inputData["drug_trac_codg"] = "---"                            // 人员编号 (来自1101接口返回)
2084 2080
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
2085 2081
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
2086 2082
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)

+ 8 - 6
service/jx_service.go 查看文件

@@ -886,7 +886,7 @@ func Jxyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string,
886 886
 }
887 887
 
888 888
 // 门诊结算
889
-func Jxyb2207(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, card_sn string, psn_cert_type string, certno string, psn_type string, psn_name string) (string, string) {
889
+func Jxyb2207(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, card_sn string, psn_cert_type string, certno string, psn_type string, psn_name string, pack_num int64, good_pack_num int64) (string, string) {
890 890
 	// 生成签名
891 891
 	timestamp := time.Now().Unix()
892 892
 	// 生成输入报文
@@ -935,11 +935,13 @@ func Jxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
935 935
 	inputData["preselfpay_amt"] = preselfpay_amt       //
936 936
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
937 937
 
938
-	inputData["card_sn"] = card_sn             // 发票号
939
-	inputData["psn_cert_type"] = psn_cert_type // 发票号
940
-	inputData["certno"] = certno               // 发票号
941
-	inputData["psn_type"] = psn_type           // 发票号
942
-	inputData["psn_name"] = psn_name           // 发票号
938
+	inputData["card_sn"] = card_sn                 // 发票号
939
+	inputData["psn_cert_type"] = psn_cert_type     // 发票号
940
+	inputData["certno"] = certno                   // 发票号
941
+	inputData["psn_type"] = psn_type               // 发票号
942
+	inputData["psn_name"] = psn_name               // 发票号
943
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
944
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
943 945
 
944 946
 	inputData2 := make(map[string]interface{})
945 947
 	inputData2["trum_flag"] = ""

+ 4 - 1
service/nm_service.go 查看文件

@@ -742,7 +742,7 @@ func Nmyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
742 742
 }
743 743
 
744 744
 // 门诊结算
745
-func Nmyb2207(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, mdtrt_grp_type string) (string, string) {
745
+func Nmyb2207(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, mdtrt_grp_type string, pack_num string, good_pack_num string) (string, string) {
746 746
 	if !strings.Contains(insuplc_admdvs, "150") {
747 747
 
748 748
 		chrgBchno = "0000"
@@ -795,6 +795,9 @@ func Nmyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
795 795
 	inputData["insutype"] = insutype             // 险种类型
796 796
 	inputData["invono"] = "12345"                // 发票号
797 797
 
798
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
799
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
800
+
798 801
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
799 802
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
800 803
 	inputData["preselfpay_amt"] = preselfpay_amt       //