test_user 4 settimane fa
parent
commit
b4d590b21c

+ 12 - 23
controllers/ah/ahyb_controller.go Vedi File

44
 	State     struct{} `json:"state"`
44
 	State     struct{} `json:"state"`
45
 }
45
 }
46
 
46
 
47
-
48
 type Body3513 struct {
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
 	Output      []map[string]interface{} `json:"output"`
51
 	Output      []map[string]interface{} `json:"output"`
53
 }
52
 }
54
 
53
 
55
 type Response1513 struct {
54
 type Response1513 struct {
56
-	Body3513      Body3513     `json:"body"`
55
+	Body3513  Body3513 `json:"body"`
57
 	Code      int      `json:"code"`
56
 	Code      int      `json:"code"`
58
 	CSBCode   int      `json:"csbCode"`
57
 	CSBCode   int      `json:"csbCode"`
59
 	Message   string   `json:"message"`
58
 	Message   string   `json:"message"`
98
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
97
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
99
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
98
 	beego.Router("/ahyb/2406", &AHybController{}, "post:Get2406")
100
 
99
 
101
-
102
-
103
 	beego.Router("/ahyb/5101", &AHybController{}, "get:Get5101")
100
 	beego.Router("/ahyb/5101", &AHybController{}, "get:Get5101")
104
 	beego.Router("/ahyb/5102", &AHybController{}, "get:Get5102")
101
 	beego.Router("/ahyb/5102", &AHybController{}, "get:Get5102")
105
 
102
 
106
-
107
-
108
-
109
 	beego.Router("/ahyb/02", &AHybController{}, "post:Get02")
103
 	beego.Router("/ahyb/02", &AHybController{}, "post:Get02")
110
 
104
 
111
 	beego.Router("/ahyb/03", &AHybController{}, "post:Get03")
105
 	beego.Router("/ahyb/03", &AHybController{}, "post:Get03")
112
 
106
 
113
-
114
-
115
 }
107
 }
116
 func (c *AHybController) Get02() {
108
 func (c *AHybController) Get02() {
117
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
109
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
120
 		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
112
 		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
121
 		return
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
 		utils.ErrorLog("解析失败:%v", err)
130
 		utils.ErrorLog("解析失败:%v", err)
139
 		return
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
 func (c *AHybController) Get3501() {
138
 func (c *AHybController) Get3501() {
148
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
139
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
149
 	var respJSON map[string]interface{}
140
 	var respJSON map[string]interface{}
614
 
605
 
615
 	}
606
 	}
616
 
607
 
617
-
618
 }
608
 }
619
 func (c *AHybController) Readcardcharge() {
609
 func (c *AHybController) Readcardcharge() {
620
 	fixmedins_code := c.GetString("fixmedins_code")
610
 	fixmedins_code := c.GetString("fixmedins_code")
718
 
708
 
719
 }
709
 }
720
 
710
 
721
-
722
 func (c *AHybController) Get5101() {
711
 func (c *AHybController) Get5101() {
723
 	url := c.GetString("url")
712
 	url := c.GetString("url")
724
 	org_name := c.GetString("org_name")
713
 	org_name := c.GetString("org_name")
731
 	fmt.Println("Error decoding JSON:", org_name)
720
 	fmt.Println("Error decoding JSON:", org_name)
732
 	fmt.Println("Error decoding JSON:", opera_name)
721
 	fmt.Println("Error decoding JSON:", opera_name)
733
 
722
 
734
-
735
 	result, inputLog := service.AHyb5101(org_name, opera_name, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, cainfo)
723
 	result, inputLog := service.AHyb5101(org_name, opera_name, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, url, cainfo)
736
 	saveJsLog(result, inputLog, "5101", "科室", org_name)
724
 	saveJsLog(result, inputLog, "5101", "科室", org_name)
737
 
725
 
798
 
786
 
799
 }
787
 }
800
 
788
 
801
-
802
-
803
 func (c *AHybController) Get5301() {
789
 func (c *AHybController) Get5301() {
804
 	psn_no := c.GetString("psn_no")
790
 	psn_no := c.GetString("psn_no")
805
 	org_name := c.GetString("org_name")
791
 	org_name := c.GetString("org_name")
1327
 	cainfo := c.GetString("cainfo")
1313
 	cainfo := c.GetString("cainfo")
1328
 	mdtrt_grp_type := c.GetString("mdtrt_grp_type")
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
 	var result string
1319
 	var result string
1331
 	var inputLog string
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
 	saveJsLog(result, inputLog, "2207", "结算", org_name)
1324
 	saveJsLog(result, inputLog, "2207", "结算", org_name)
1336
 	var response Response
1325
 	var response Response

+ 16 - 18
controllers/gz/new_his_api_controller.go Vedi File

5043
 	WarnInfo    interface{} `json:"warn_info"`
5043
 	WarnInfo    interface{} `json:"warn_info"`
5044
 }
5044
 }
5045
 
5045
 
5046
-//获取个人信息----挂号-----上传就诊信息
5046
+// 获取个人信息----挂号-----上传就诊信息
5047
 func (c *HisApiController) GetRegisterInfo() {
5047
 func (c *HisApiController) GetRegisterInfo() {
5048
 	id, _ := c.GetInt64("id")
5048
 	id, _ := c.GetInt64("id")
5049
 	record_time := c.GetString("record_time")
5049
 	record_time := c.GetString("record_time")
5524
 	}
5524
 	}
5525
 }
5525
 }
5526
 
5526
 
5527
-//上传明细----预结算----确认订单
5527
+// 上传明细----预结算----确认订单
5528
 func (c *HisApiController) GetUploadInfo() {
5528
 func (c *HisApiController) GetUploadInfo() {
5529
 	id, _ := c.GetInt64("id")
5529
 	id, _ := c.GetInt64("id")
5530
 	record_time := c.GetString("record_time")
5530
 	record_time := c.GetString("record_time")
5548
 
5548
 
5549
 	fapiao_code := c.GetString("fapiao_code")
5549
 	fapiao_code := c.GetString("fapiao_code")
5550
 	fapiao_number := c.GetString("fapiao_number")
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
 	diagnosis_id := c.GetString("diagnosis")
5553
 	diagnosis_id := c.GetString("diagnosis")
5553
 	sick_type, _ := c.GetInt64("sick_type")
5554
 	sick_type, _ := c.GetInt64("sick_type")
5554
 	reg_type, _ := c.GetInt64("p_type")
5555
 	reg_type, _ := c.GetInt64("p_type")
6444
 										med_type = "11"
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
 							} else {
6449
 							} else {
6449
 								var med_type string
6450
 								var med_type string
6450
 								if reg_type == 14 {
6451
 								if reg_type == 14 {
6452
 								} else if reg_type == 11 {
6453
 								} else if reg_type == 11 {
6453
 									med_type = "11"
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
 							//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)
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
 //	}
7540
 //	}
7540
 //}
7541
 //}
7541
 
7542
 
7542
-//上传明细-预结算-
7543
+// 上传明细-预结算-
7543
 func (c *HisApiController) GetPreUploadInfo() {
7544
 func (c *HisApiController) GetPreUploadInfo() {
7544
 	id, _ := c.GetInt64("id")
7545
 	id, _ := c.GetInt64("id")
7545
 	record_time := c.GetString("record_time")
7546
 	record_time := c.GetString("record_time")
8745
 //	}
8746
 //	}
8746
 //}
8747
 //}
8747
 
8748
 
8748
-//退款
8749
+// 退款
8749
 func (c *HisApiController) Refund() {
8750
 func (c *HisApiController) Refund() {
8750
 	order_id, _ := c.GetInt64("order_id")
8751
 	order_id, _ := c.GetInt64("order_id")
8751
 	admin_user_id, _ := c.GetInt64("admin_user_id")
8752
 	admin_user_id, _ := c.GetInt64("admin_user_id")
9450
 	}
9451
 	}
9451
 }
9452
 }
9452
 
9453
 
9453
-//对账
9454
+// 对账
9454
 func (c *HisApiController) GetCheckAccount() {
9455
 func (c *HisApiController) GetCheckAccount() {
9455
 	start_time := c.GetString("start_time")
9456
 	start_time := c.GetString("start_time")
9456
 	end_time := c.GetString("end_time")
9457
 	end_time := c.GetString("end_time")
9798
 
9799
 
9799
 }
9800
 }
9800
 
9801
 
9801
-//对账明细
9802
+// 对账明细
9802
 func (c *HisApiController) GetCheckDetailAccount() {
9803
 func (c *HisApiController) GetCheckDetailAccount() {
9803
 	start_time := c.GetString("start_time")
9804
 	start_time := c.GetString("start_time")
9804
 	end_time := c.GetString("end_time")
9805
 	end_time := c.GetString("end_time")
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
 			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10133
 			treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10133
 			treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10134
 			treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10134
 			treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
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
 			operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10139
 			operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10140
 			operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10140
 			operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10141
 			operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
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
 			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10146
 			materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
10149
 			materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10147
 			materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
10150
 			materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
10148
 			materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
12135
 	return false, err
12133
 	return false, err
12136
 }
12134
 }
12137
 
12135
 
12138
-//创建文件夹
12136
+// 创建文件夹
12139
 func Mkdir(dir string) {
12137
 func Mkdir(dir string) {
12140
 	// 创建文件夹
12138
 	// 创建文件夹
12141
 	exist, err := PathExists(dir)
12139
 	exist, err := PathExists(dir)
12156
 	}
12154
 	}
12157
 }
12155
 }
12158
 
12156
 
12159
-//压缩文件
12157
+// 压缩文件
12160
 func Zip(srcFile string, destZip string) error {
12158
 func Zip(srcFile string, destZip string) error {
12161
 	zipfile, err := os.Create(destZip)
12159
 	zipfile, err := os.Create(destZip)
12162
 	if err != nil {
12160
 	if err != nil {

+ 16 - 41
controllers/hb/hbyb_controller.go Vedi File

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

+ 15 - 21
controllers/js/jsyb_controller.go Vedi File

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

+ 5 - 1
controllers/nm/nm_controller.go Vedi File

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

+ 19 - 29
controllers/sg/gdyb_controller.go Vedi File

32
 	beego.Router("/gdyb/4101", &GdybController{}, "post:Post4101")
32
 	beego.Router("/gdyb/4101", &GdybController{}, "post:Post4101")
33
 	beego.Router("/gdyb/5301", &GdybController{}, "get:Post5301")
33
 	beego.Router("/gdyb/5301", &GdybController{}, "get:Post5301")
34
 
34
 
35
-
36
-
37
 }
35
 }
38
 func (c *GdybController) Post5301() {
36
 func (c *GdybController) Post5301() {
39
 	psnNo := c.GetString("psn_no")
37
 	psnNo := c.GetString("psn_no")
44
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
42
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
45
 	secret_key := c.GetString("secret_key")
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
 	var dat map[string]interface{}
46
 	var dat map[string]interface{}
49
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
47
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
50
 		fmt.Println(dat)
48
 		fmt.Println(dat)
78
 		utils.ErrorLog("解析失败:%v", err)
76
 		utils.ErrorLog("解析失败:%v", err)
79
 		return
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
 	var dat map[string]interface{}
80
 	var dat map[string]interface{}
83
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
81
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
84
 		fmt.Println(dat)
82
 		fmt.Println(dat)
93
 	})
91
 	})
94
 }
92
 }
95
 
93
 
96
-
97
 type Result struct {
94
 type Result struct {
98
 	ErrMsg      interface{} `json:"err_msg"`
95
 	ErrMsg      interface{} `json:"err_msg"`
99
 	InfRefmsgid string      `json:"inf_refmsgid"`
96
 	InfRefmsgid string      `json:"inf_refmsgid"`
178
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
175
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
179
 	secret_key := c.GetString("secret_key")
176
 	secret_key := c.GetString("secret_key")
180
 	id_card_type, _ := c.GetInt64("id_card_type")
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
 	saveLogq(result, inputLog, "2201", "退号")
181
 	saveLogq(result, inputLog, "2201", "退号")
185
 
182
 
186
 	var dat map[string]interface{}
183
 	var dat map[string]interface{}
190
 
187
 
191
 	}
188
 	}
192
 
189
 
193
-
194
 	c.ServeSuccessJSON(map[string]interface{}{
190
 	c.ServeSuccessJSON(map[string]interface{}{
195
 		"pre": dat,
191
 		"pre": dat,
196
 	})
192
 	})
206
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
202
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
207
 	secret_key := c.GetString("secret_key")
203
 	secret_key := c.GetString("secret_key")
208
 	fixmedins_code := c.GetString("fixmedins_code")
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
 	saveLogq(result, requestLog, "2202", "退号")
208
 	saveLogq(result, requestLog, "2202", "退号")
213
 	var dat map[string]interface{}
209
 	var dat map[string]interface{}
214
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
210
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
255
 
251
 
256
 	new_doctor_name := respJSON["new_doctor_name"].(string)
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
 	saveLogq(result, request_log, "2203", "上传就诊信息")
255
 	saveLogq(result, request_log, "2203", "上传就诊信息")
264
 
256
 
265
 	var dat map[string]interface{}
257
 	var dat map[string]interface{}
269
 
261
 
270
 	}
262
 	}
271
 	c.ServeSuccessJSON(map[string]interface{}{
263
 	c.ServeSuccessJSON(map[string]interface{}{
272
-		"pre":         dat,
273
-
264
+		"pre": dat,
274
 	})
265
 	})
275
 }
266
 }
276
 
267
 
339
 	}
330
 	}
340
 
331
 
341
 	c.ServeSuccessJSON(map[string]interface{}{
332
 	c.ServeSuccessJSON(map[string]interface{}{
342
-		"pre":         dat,
343
-
333
+		"pre": dat,
344
 	})
334
 	})
345
 }
335
 }
346
 
336
 
359
 	//fixmedins_code := c.Get("fixmedins_code")
349
 	//fixmedins_code := c.Get("fixmedins_code")
360
 	admin_user_id, _ := c.GetInt64("admin_user_id")
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
 	saveLogq(result, requestlog, "2205", "上传就诊信息")
353
 	saveLogq(result, requestlog, "2205", "上传就诊信息")
365
 
354
 
366
 	var dat map[string]interface{}
355
 	var dat map[string]interface{}
391
 	id_card_type, _ := c.GetInt64("id_card_type")
380
 	id_card_type, _ := c.GetInt64("id_card_type")
392
 
381
 
393
 	certificates, _ := c.GetInt64("certificates")
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
 	saveLogq(result, log, "2206", "预结算")
384
 	saveLogq(result, log, "2206", "预结算")
396
 
385
 
397
 	var dat map[string]interface{}
386
 	var dat map[string]interface{}
428
 	preselfpay_amt, _ := c.GetFloat("preselfpay_amt")
417
 	preselfpay_amt, _ := c.GetFloat("preselfpay_amt")
429
 	inscp_scp_amt, _ := c.GetFloat("inscp_scp_amt")
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
 	saveLogq(result, srcRequest, "2207", "结算")
424
 	saveLogq(result, srcRequest, "2207", "结算")
433
 	var dat map[string]interface{}
425
 	var dat map[string]interface{}
434
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
426
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
438
 	}
430
 	}
439
 
431
 
440
 	c.ServeSuccessJSON(map[string]interface{}{
432
 	c.ServeSuccessJSON(map[string]interface{}{
441
-		"pre":  dat,
433
+		"pre": dat,
442
 	})
434
 	})
443
 }
435
 }
444
 
436
 
452
 	fixmedins_code := c.GetString("fixmedins_code")
444
 	fixmedins_code := c.GetString("fixmedins_code")
453
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
445
 	insuplc_admdvs := c.GetString("insuplc_admdvs")
454
 	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
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
 	saveLogq(result, srcRequest, "2208", "退费")
448
 	saveLogq(result, srcRequest, "2208", "退费")
457
 
449
 
458
 	var dat map[string]interface{}
450
 	var dat map[string]interface{}
463
 	}
455
 	}
464
 
456
 
465
 	c.ServeSuccessJSON(map[string]interface{}{
457
 	c.ServeSuccessJSON(map[string]interface{}{
466
-		"pre":  dat,
458
+		"pre": dat,
467
 	})
459
 	})
468
 }
460
 }
469
 
461
 
486
 	//doctor := c.Get("doctor")
478
 	//doctor := c.Get("doctor")
487
 	admin_user_id, _ := c.GetInt64("admin_user_id")
479
 	admin_user_id, _ := c.GetInt64("admin_user_id")
488
 
480
 
489
-
490
-
491
 	fmt.Println(insutype)
481
 	fmt.Println(insutype)
492
 	fmt.Println(clrType)
482
 	fmt.Println(clrType)
493
 	fmt.Println(setlOptins)
483
 	fmt.Println(setlOptins)
517
 	fmt.Println(baseParams)
507
 	fmt.Println(baseParams)
518
 	fmt.Println(businessParams)
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
 	var dat map[string]interface{}
511
 	var dat map[string]interface{}
522
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
512
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
523
 		fmt.Println(dat)
513
 		fmt.Println(dat)

+ 67 - 41
controllers/sg/his_api_controller.go Vedi File

34
 	"syscall"
34
 	"syscall"
35
 	"time"
35
 	"time"
36
 	"unsafe"
36
 	"unsafe"
37
-	"github.com/go-ole/go-ole"
38
 )
37
 )
39
 
38
 
40
 type HisApiController struct {
39
 type HisApiController struct {
28918
 	pay_ways := c.GetString("pay_ways")
28917
 	pay_ways := c.GetString("pay_ways")
28919
 	oth_desc := c.GetString("oth_desc")
28918
 	oth_desc := c.GetString("oth_desc")
28920
 
28919
 
28921
-
28922
 	pack_num, _ := c.GetInt64("pack_num")
28920
 	pack_num, _ := c.GetInt64("pack_num")
28923
 	good_pack_num, _ := c.GetInt64("good_pack_num")
28921
 	good_pack_num, _ := c.GetInt64("good_pack_num")
28924
 
28922
 
28925
-
28926
 	pay_price, _ := c.GetFloat("pay_price")
28923
 	pay_price, _ := c.GetFloat("pay_price")
28927
 	pay_card_no := c.GetString("pay_card_no")
28924
 	pay_card_no := c.GetString("pay_card_no")
28928
 
28925
 
30271
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30268
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30272
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30269
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30273
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							resp, requestErr := http.Get(api)
30273
 							resp, requestErr := http.Get(api)
30277
 							if requestErr != nil {
30274
 							if requestErr != nil {
30331
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30328
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30332
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30329
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30333
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							resp, requestErr := http.Get(api)
30333
 							resp, requestErr := http.Get(api)
30337
 							if requestErr != nil {
30334
 							if requestErr != nil {
30391
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30388
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30392
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30389
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30393
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							resp, requestErr := http.Get(api)
30393
 							resp, requestErr := http.Get(api)
30397
 							if requestErr != nil {
30394
 							if requestErr != nil {
30451
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30448
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30452
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30449
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30453
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							resp, requestErr := http.Get(api)
30453
 							resp, requestErr := http.Get(api)
30457
 							if requestErr != nil {
30454
 							if requestErr != nil {
30538
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30535
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30539
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30536
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30540
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 									} else if miConfig.MdtrtareaAdmvs == "320921" {
30539
 									} else if miConfig.MdtrtareaAdmvs == "320921" {
30543
 										api = "http://192.168.2.3:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30540
 										api = "http://192.168.2.3:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30544
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
30541
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
30546
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30543
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30547
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30544
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30548
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 									} else {
30547
 									} else {
30551
 										api = "http://192.168.5.251:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30548
 										api = "http://192.168.5.251:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
30552
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
30549
 											his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
30554
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30551
 											"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30555
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30552
 											"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30556
 											"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30614
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
30618
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30615
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
30619
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							resp, requestErr := http.Get(api)
30619
 							resp, requestErr := http.Get(api)
30623
 							if requestErr != nil {
30620
 							if requestErr != nil {
30659
 							if his.IdCardType == 4 {
30656
 							if his.IdCardType == 4 {
30660
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30657
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30661
 								cert_no = psn_info.VerifyNumber
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
 							} else if his.IdCardType == 1 {
30661
 							} else if his.IdCardType == 1 {
30665
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30662
 								psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30666
 								cert_no = strings.Split(psn_info.CardInfo, "|")[0]
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
 							//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)
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
 								if res2.Output.MdtrtCertType == "01" {
30798
 								if res2.Output.MdtrtCertType == "01" {
30802
 									//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30799
 									//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30803
 									token := res2.Output.EcToken
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
 								} else if res2.Output.MdtrtCertType == "02" {
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
 								} else {
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
 								var dat2 map[string]interface{}
30810
 								var dat2 map[string]interface{}
30852
 										med_type = "11"
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
 							} else {
30853
 							} else {
30857
 								if his.IdCardType == 4 {
30854
 								if his.IdCardType == 4 {
30858
 									psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30855
 									psn_info, _ := service.GetPsnByPatientId(his.PatientId)
30859
 									var token string
30856
 									var token string
30860
 									token = psn_info.VerifyNumber
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
 								} else {
30860
 								} else {
30864
 									if his.IdCardType == 1 {
30861
 									if his.IdCardType == 1 {
30868
 										cert_no = basNumber
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
 					if res2.Output.MdtrtCertType == "01" {
31322
 					if res2.Output.MdtrtCertType == "01" {
31326
 						//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
31323
 						//psn_info, _ := service.GetPsnByPatientId(his.PatientId)
31327
 						token := res2.Output.EcToken
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
 					} else if res2.Output.MdtrtCertType == "02" {
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
 					} else {
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
 					var dat2 map[string]interface{}
31333
 					var dat2 map[string]interface{}
31363
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31360
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31364
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31361
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31365
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31365
 				resp, requestErr := http.Get(api)
31369
 				if requestErr != nil {
31366
 				if requestErr != nil {
31405
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31402
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31406
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31403
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31407
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31407
 				resp, requestErr := http.Get(api)
31411
 				if requestErr != nil {
31408
 				if requestErr != nil {
31447
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31444
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31448
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31445
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31449
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31449
 				resp, requestErr := http.Get(api)
31453
 				if requestErr != nil {
31450
 				if requestErr != nil {
31489
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31486
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31490
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31487
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31491
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31491
 				resp, requestErr := http.Get(api)
31495
 				if requestErr != nil {
31492
 				if requestErr != nil {
31578
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31575
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31579
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31576
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31580
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31580
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31584
 
31581
 
31589
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31586
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31590
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31587
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31591
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31591
 							//req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
31595
 
31592
 
31601
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31598
 								"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31602
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31599
 								"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31603
 								"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31670
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31674
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
31671
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
31675
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31675
 				resp, requestErr := http.Get(api)
31679
 				if requestErr != nil {
31676
 				if requestErr != nil {
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
 				var dat map[string]interface{}
31763
 				var dat map[string]interface{}
31767
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31764
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31768
 					fmt.Println(dat)
31765
 					fmt.Println(dat)
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
 				var dat map[string]interface{}
31803
 				var dat map[string]interface{}
31807
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31804
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31808
 					fmt.Println(dat)
31805
 					fmt.Println(dat)
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
 				var dat map[string]interface{}
31843
 				var dat map[string]interface{}
31847
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31844
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
31848
 					fmt.Println(dat)
31845
 					fmt.Println(dat)
31925
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31922
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
31926
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31923
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
31927
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
31927
 				resp, requestErr := http.Get(api)
31931
 				if requestErr != nil {
31928
 				if requestErr != nil {
32103
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32100
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32104
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
32101
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
32105
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
32105
 				resp, requestErr := http.Get(api)
32109
 				if requestErr != nil {
32106
 				if requestErr != nil {
32226
 					cert_no = psn_info.VerifyNumber
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
 				var dat map[string]interface{}
32227
 				var dat map[string]interface{}
32231
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
32228
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
32232
 					fmt.Println(dat)
32229
 					fmt.Println(dat)
32262
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32259
 					"&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
32263
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
32260
 					"&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
32264
 					"&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
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
 				resp, requestErr := http.Get(api)
32264
 				resp, requestErr := http.Get(api)
32268
 				if requestErr != nil {
32265
 				if requestErr != nil {
32313
 							med_type = "11"
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
 				} else {
32314
 				} else {
32318
 					if miConfig.Code == "H44030501364" || miConfig.Code == "H44030903432" || miConfig.Code == "H44030500255" || miConfig.Code == "H44082500483" || miConfig.Code == "H44030702287" || miConfig.Code == "H44030304882" || miConfig.Code == "H44090200998" {
32315
 					if miConfig.Code == "H44030501364" || miConfig.Code == "H44030903432" || miConfig.Code == "H44030500255" || miConfig.Code == "H44082500483" || miConfig.Code == "H44030702287" || miConfig.Code == "H44030304882" || miConfig.Code == "H44090200998" {
32319
 						result3101 := Checkgd3102(c, id, his_patient_id, admin_user_id, "7", tempOrder.ID)
32316
 						result3101 := Checkgd3102(c, id, his_patient_id, admin_user_id, "7", tempOrder.ID)
32339
 					if his.IdCardType == 4 {
32336
 					if his.IdCardType == 4 {
32340
 						psn_info, _ := service.GetPsnByPatientId(his.PatientId)
32337
 						psn_info, _ := service.GetPsnByPatientId(his.PatientId)
32341
 						token := psn_info.VerifyNumber
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
 					} else {
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
 				})
34417
 				})
34421
 				return
34418
 				return
34422
 			}
34419
 			}
34423
-
34420
+			var pack_sum int64
34421
+			var good_pack_sum int64
34424
 			if res.Infcode == 0 {
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
 				order := &models.HisOrder{
34448
 				order := &models.HisOrder{
34426
 					UserOrgId:           adminUser.CurrentOrgId,
34449
 					UserOrgId:           adminUser.CurrentOrgId,
34427
 					HisPatientId:        his.ID,
34450
 					HisPatientId:        his.ID,
34449
 					Modify:              roles.AdminUserId,
34472
 					Modify:              roles.AdminUserId,
34450
 					PType:               2,
34473
 					PType:               2,
34451
 					Diagnosis:           diagnosis_id,
34474
 					Diagnosis:           diagnosis_id,
34475
+					PackNum:             pack_sum,
34476
+					GoodPackNum:         good_pack_sum,
34452
 				}
34477
 				}
34453
 
34478
 
34454
 				err = service.CreateOrder(order)
34479
 				err = service.CreateOrder(order)
36512
 				}
36537
 				}
36513
 			} else {
36538
 			} else {
36514
 				if miConfig.MdtrtareaAdmvs == "150404" {
36539
 				if miConfig.MdtrtareaAdmvs == "150404" {
36540
+
36515
 					order := &models.HisOrder{
36541
 					order := &models.HisOrder{
36516
 						UserOrgId:           adminUser.CurrentOrgId,
36542
 						UserOrgId:           adminUser.CurrentOrgId,
36517
 						HisPatientId:        his.ID,
36543
 						HisPatientId:        his.ID,

+ 5 - 1
service/ahyb_service.go Vedi File

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
 	timestamp := time.Now().Unix()
1226
 	timestamp := time.Now().Unix()
1227
 	// 生成输入报文
1227
 	// 生成输入报文
1265
 	inputData["insutype"] = insutype             // 险种类型
1265
 	inputData["insutype"] = insutype             // 险种类型
1266
 	inputData["invono"] = ""                     // 发票号
1266
 	inputData["invono"] = ""                     // 发票号
1267
 
1267
 
1268
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
1269
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
1270
+
1268
 	inputData["fulamt_ownpay_amt"] = 0 //
1271
 	inputData["fulamt_ownpay_amt"] = 0 //
1269
 	inputData["overlmt_selfpay"] = 0   //
1272
 	inputData["overlmt_selfpay"] = 0   //
1270
 	inputData["preselfpay_amt"] = 0    //
1273
 	inputData["preselfpay_amt"] = 0    //
1276
 	inputData2["otp_er_refl_flag"] = ""
1279
 	inputData2["otp_er_refl_flag"] = ""
1277
 	inputData2["mdtrt_grp_type"] = ""
1280
 	inputData2["mdtrt_grp_type"] = ""
1278
 	inputData2["need_ipt_flag"] = ""
1281
 	inputData2["need_ipt_flag"] = ""
1282
+
1279
 	inputData["exp_content"] = inputData2
1283
 	inputData["exp_content"] = inputData2
1280
 
1284
 
1281
 	input["data"] = inputData
1285
 	input["data"] = inputData

+ 26 - 24
service/fj_service.go Vedi File

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
 	nonce := GetRandomString(32)
706
 	nonce := GetRandomString(32)
707
 	timestamp := time.Now().Unix()
707
 	timestamp := time.Now().Unix()
741
 	} else {
741
 	} else {
742
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
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
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
754
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
753
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
755
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
3025
 	//druginputData := make(map[string]interface{})
3027
 	//druginputData := make(map[string]interface{})
3026
 	//druginputData2 := make(map[string]interface{})
3028
 	//druginputData2 := make(map[string]interface{})
3027
 
3029
 
3028
-	inputMessage["infno"] = "3501"                                  // 交易编码
3030
+	inputMessage["infno"] = "3501"                                      // 交易编码
3029
 	inputData["med_list_codg"] = struct3501.MedListCodg                 // 定点医药机构目录编号
3031
 	inputData["med_list_codg"] = struct3501.MedListCodg                 // 定点医药机构目录编号
3030
 	inputData["fixmedins_hilist_id"] = struct3501.FixmedinsHilistId     // 定点医药机构目录编号
3032
 	inputData["fixmedins_hilist_id"] = struct3501.FixmedinsHilistId     // 定点医药机构目录编号
3031
 	inputData["fixmedins_hilist_name"] = struct3501.FixmedinsHilistName // 定点医药机构目录名称
3033
 	inputData["fixmedins_hilist_name"] = struct3501.FixmedinsHilistName // 定点医药机构目录名称
3036
 	inputData["fixmedins_bchno"] = struct3501.FixmedinsBchno            // 人员编号 (来自1101接口返回)
3038
 	inputData["fixmedins_bchno"] = struct3501.FixmedinsBchno            // 人员编号 (来自1101接口返回)
3037
 	inputData["manu_date"] = struct3501.ManuDate                        // 人员编号 (来自1101接口返回)
3039
 	inputData["manu_date"] = struct3501.ManuDate                        // 人员编号 (来自1101接口返回)
3038
 	inputData["expy_end"] = struct3501.ExpyEnd                          // 人员编号 (来自1101接口返回)
3040
 	inputData["expy_end"] = struct3501.ExpyEnd                          // 人员编号 (来自1101接口返回)
3039
-	inputData["memo"] = ""                              // 人员编号 (来自1101接口返回)
3041
+	inputData["memo"] = ""                                              // 人员编号 (来自1101接口返回)
3040
 
3042
 
3041
 	feedetail := make([]map[string]interface{}, 0)
3043
 	feedetail := make([]map[string]interface{}, 0)
3042
 
3044
 
3045
 		if len(item) > 0 {
3047
 		if len(item) > 0 {
3046
 
3048
 
3047
 			druginputData := make(map[string]interface{})
3049
 			druginputData := make(map[string]interface{})
3048
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3050
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3049
 			feedetail = append(feedetail, druginputData)
3051
 			feedetail = append(feedetail, druginputData)
3050
 		}
3052
 		}
3051
 	}
3053
 	}
3124
 	inputData := make(map[string]interface{})
3126
 	inputData := make(map[string]interface{})
3125
 	//druginputData2 := make(map[string]interface{})
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
 	inputData["prsc_dr_cert_type"] = struct3505.PrscDrCertType // 人员编号 (来自1101接口返回)
3135
 	inputData["prsc_dr_cert_type"] = struct3505.PrscDrCertType // 人员编号 (来自1101接口返回)
3134
 	inputData["prsc_dr_certno"] = struct3505.PrscDrCertno      // 人员编号 (来自1101接口返回)
3136
 	inputData["prsc_dr_certno"] = struct3505.PrscDrCertno      // 人员编号 (来自1101接口返回)
3167
 	inputData["sel_retn_time"] = struct3505.SelRetnTime            // 人员编号 (来自1101接口返回)
3169
 	inputData["sel_retn_time"] = struct3505.SelRetnTime            // 人员编号 (来自1101接口返回)
3168
 	inputData["sel_retn_opter_name"] = struct3505.SelRetnOpterName // 人员编号 (来自1101接口返回)
3170
 	inputData["sel_retn_opter_name"] = struct3505.SelRetnOpterName // 人员编号 (来自1101接口返回)
3169
 	inputData["memo"] = struct3505.Memo
3171
 	inputData["memo"] = struct3505.Memo
3170
-	inputData["mdtrt_setl_type"] = struct3505.MdtrtSetlType                            // 人员编号 (来自1101接口返回)
3172
+	inputData["mdtrt_setl_type"] = struct3505.MdtrtSetlType // 人员编号 (来自1101接口返回)
3171
 	feedetail := make([]map[string]interface{}, 0)
3173
 	feedetail := make([]map[string]interface{}, 0)
3172
 	codes := strings.Split(struct3505.DrugTracCodg, ",")
3174
 	codes := strings.Split(struct3505.DrugTracCodg, ",")
3173
 	for _, item := range codes {
3175
 	for _, item := range codes {
3174
 		if len(item) > 0 {
3176
 		if len(item) > 0 {
3175
 			druginputData := make(map[string]interface{})
3177
 			druginputData := make(map[string]interface{})
3176
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3178
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3177
 			feedetail = append(feedetail, druginputData)
3179
 			feedetail = append(feedetail, druginputData)
3178
 		}
3180
 		}
3179
 	}
3181
 	}
3208
 	inputData := make(map[string]interface{})
3210
 	inputData := make(map[string]interface{})
3209
 	//druginputData2 := make(map[string]interface{})
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
 	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3219
 	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3218
 	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
3220
 	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
3237
 	for _, item := range codes {
3239
 	for _, item := range codes {
3238
 		if len(item) > 0 {
3240
 		if len(item) > 0 {
3239
 			druginputData := make(map[string]interface{})
3241
 			druginputData := make(map[string]interface{})
3240
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
3242
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
3241
 			feedetail = append(feedetail, druginputData)
3243
 			feedetail = append(feedetail, druginputData)
3242
 		}
3244
 		}
3243
 	}
3245
 	}

+ 4 - 1
service/gdyb_service.go Vedi File

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
 	nonce := GetRandomString(32)
1710
 	nonce := GetRandomString(32)
1711
 	timestamp := time.Now().Unix()
1711
 	timestamp := time.Now().Unix()
1755
 	inputData["insutype"] = insutype             // 险种类型
1755
 	inputData["insutype"] = insutype             // 险种类型
1756
 	inputData["invono"] = ""                     // 发票号
1756
 	inputData["invono"] = ""                     // 发票号
1757
 
1757
 
1758
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
1759
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
1760
+
1758
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1761
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1759
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
1762
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
1760
 	inputData["preselfpay_amt"] = preselfpay_amt       //
1763
 	inputData["preselfpay_amt"] = preselfpay_amt       //

+ 65 - 69
service/gxyb_service.go Vedi File

7
 	//"strings"
7
 	//"strings"
8
 	//"gdyb/utils"
8
 	//"gdyb/utils"
9
 
9
 
10
-
11
-	"time"
12
-	"fmt"
13
 	"encoding/json"
10
 	"encoding/json"
11
+	"fmt"
14
 	"github.com/astaxie/beego"
12
 	"github.com/astaxie/beego"
13
+	"io/ioutil"
15
 	"net/http"
14
 	"net/http"
16
 	"strconv"
15
 	"strconv"
17
-	"io/ioutil"
16
+	"time"
18
 
17
 
19
 	"bytes"
18
 	"bytes"
20
-	"github.com/go-ole/go-ole"
21
 	"github.com/go-ole/go-ole/oleutil"
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
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
24
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
27
 	defer ole.CoUninitialize()
25
 	defer ole.CoUninitialize()
46
 	nonce := GetRandomString(32)
44
 	nonce := GetRandomString(32)
47
 	timestamp := time.Now().Unix()
45
 	timestamp := time.Now().Unix()
48
 	inputMessage := make(map[string]interface{})
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
 	input := make(map[string]interface{})
48
 	input := make(map[string]interface{})
51
 	inputData := make(map[string]interface{})
49
 	inputData := make(map[string]interface{})
52
 	inputMessage["infno"] = "P0001" // 交易编码
50
 	inputMessage["infno"] = "P0001" // 交易编码
65
 	//data := fmt.Sprintf(`{"transNo":"%s","transType":"%s","timestamp":"%s","data":{"fixmedinsCode":"%s","psnNo":"%s"}}`, transNo, transType, timestamp, fixmedinsCode, psnNo)
63
 	//data := fmt.Sprintf(`{"transNo":"%s","transType":"%s","timestamp":"%s","data":{"fixmedinsCode":"%s","psnNo":"%s"}}`, transNo, transType, timestamp, fixmedinsCode, psnNo)
66
 	result2 := ""
64
 	result2 := ""
67
 	// Call COM object's method using the IDispatch interface
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
 	fmt.Println(resulr)
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
 	nonce := GetRandomString(32)
73
 	nonce := GetRandomString(32)
78
 	//timestamp := time.Now().Unix()
74
 	//timestamp := time.Now().Unix()
80
 
76
 
81
 	signature := setSignature(timestamp, nonce, secret_key)
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
 	//inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
82
 	//inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
132
 	return str
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
 	nonce := GetRandomString(32)
133
 	nonce := GetRandomString(32)
139
 	timestamp := time.Now().Unix()
134
 	timestamp := time.Now().Unix()
142
 	// 生成输入报文
137
 	// 生成输入报文
143
 	inputMessage := make(map[string]interface{})
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
 	} else {
143
 	} else {
149
 		inputMessage = SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
144
 		inputMessage = SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
150
 	}
145
 	}
159
 	} else {
154
 	} else {
160
 		if id_card_type == 1 {
155
 		if id_card_type == 1 {
161
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
156
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
162
-			inputData["mdtrt_cert_no"] = token // 就诊凭证编号
157
+			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
163
 		} else if id_card_type == 4 {
158
 		} else if id_card_type == 4 {
164
 			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
159
 			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
165
 			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
160
 			inputData["mdtrt_cert_no"] = token  // 就诊凭证编号
181
 	} else {
176
 	} else {
182
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
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
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
189
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
193
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
190
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
211
 	//url := gdyb_url + "2207"
208
 	//url := gdyb_url + "2207"
212
 
209
 
213
 	var url string
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
 		url = gdyb_url
212
 		url = gdyb_url
216
 	} else {
213
 	} else {
217
 		url = gdyb_url + "2207"
214
 		url = gdyb_url + "2207"
222
 
219
 
223
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2207"
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
 	nonce := GetRandomString(32)
256
 	nonce := GetRandomString(32)
261
 	timestamp := time.Now().Unix()
257
 	timestamp := time.Now().Unix()
262
 	signature := setSignature(timestamp, nonce, secret_key)
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
 	input := make(map[string]interface{})
263
 	input := make(map[string]interface{})
268
 	inputData := make(map[string]interface{})
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
 	input["data"] = inputData
281
 	input["data"] = inputData
286
 	inputMessage["input"] = input //交易输入
282
 	inputMessage["input"] = input //交易输入

+ 111 - 109
service/hb_service.go Vedi File

16
 	"time"
16
 	"time"
17
 )
17
 )
18
 
18
 
19
-//机构信息
19
+// 机构信息
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 {
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
 	nonce := GetRandomString(32)
22
 	nonce := GetRandomString(32)
773
 
773
 
774
 }
774
 }
775
 
775
 
776
-//  门诊费用明细信息上传
776
+// 门诊费用明细信息上传
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) {
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
 	nonce := GetRandomString(32)
779
 	nonce := GetRandomString(32)
1008
 	//return &result
1008
 	//return &result
1009
 }
1009
 }
1010
 
1010
 
1011
-//  门诊费用明细信息撤销
1011
+// 门诊费用明细信息撤销
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) {
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
 	nonce := GetRandomString(32)
1014
 	nonce := GetRandomString(32)
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
 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
 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
 
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
 	nonce := GetRandomString(32)
1229
 	nonce := GetRandomString(32)
1229
 	timestamp := time.Now().Unix()
1230
 	timestamp := time.Now().Unix()
1263
 	} else {
1264
 	} else {
1264
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
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
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1277
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
1275
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
1278
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
1477
 
1480
 
1478
 }
1481
 }
1479
 
1482
 
1480
-//  门诊结算撤销
1483
+// 门诊结算撤销
1481
 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) {
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
 	nonce := GetRandomString(32)
1486
 	nonce := GetRandomString(32)
1568
 
1571
 
1569
 }
1572
 }
1570
 
1573
 
1571
-//确认订单
1574
+// 确认订单
1572
 func HeBeiyb6201(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, order models.HisOrder) string {
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
 	nonce := GetRandomString(32)
1577
 	nonce := GetRandomString(32)
1657
 	return str
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
 func HeBeiyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
1664
 func HeBeiyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
1662
 	fmt.Println("11222333-----")
1665
 	fmt.Println("11222333-----")
1663
 
1666
 
1735
 	return str
1738
 	return str
1736
 }
1739
 }
1737
 
1740
 
1738
-//文件上传
1741
+// 文件上传
1739
 func HeBeiyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1742
 func HeBeiyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1740
 
1743
 
1741
 	// 生成签名
1744
 	// 生成签名
2720
 	return str
2723
 	return str
2721
 }
2724
 }
2722
 
2725
 
2723
-//
2724
 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 {
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
 	nonce := GetRandomString(32)
2728
 	nonce := GetRandomString(32)
3008
 	return str
3010
 	return str
3009
 }
3011
 }
3010
 
3012
 
3011
-//人员信息版本3
3013
+// 人员信息版本3
3012
 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 {
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
 	nonce := GetRandomString(32)
3016
 	nonce := GetRandomString(32)
3331
 
3333
 
3332
 }
3334
 }
3333
 
3335
 
3334
-//人员信息版本4
3336
+// 人员信息版本4
3335
 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) {
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
 	nonce := GetRandomString(32)
3339
 	nonce := GetRandomString(32)
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
 //		if err != nil {
3626
 //		if err != nil {
3653
 //			fmt.Println(err.Error())
3627
 //			fmt.Println(err.Error())
3654
 //			return err.Error(), "", ""
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
 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) {
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
 	nonce := GetRandomString(32)
3685
 	nonce := GetRandomString(32)

+ 112 - 130
service/hbyb_service.go Vedi File

3
 import (
3
 import (
4
 	"bytes"
4
 	"bytes"
5
 	"encoding/json"
5
 	"encoding/json"
6
+	"encoding/xml"
6
 	"fmt"
7
 	"fmt"
7
 	"gdyb/models"
8
 	"gdyb/models"
8
 	"github.com/astaxie/beego"
9
 	"github.com/astaxie/beego"
9
 	"github.com/axgle/mahonia"
10
 	"github.com/axgle/mahonia"
11
+	"github.com/go-ole/go-ole/oleutil"
10
 	"io/ioutil"
12
 	"io/ioutil"
11
 	"net/http"
13
 	"net/http"
12
 	"os/exec"
14
 	"os/exec"
15
+	"regexp"
13
 	"strconv"
16
 	"strconv"
14
 	"strings"
17
 	"strings"
15
 	"time"
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
 type Charset string
21
 type Charset string
88
 		return err.Error(), ""
86
 		return err.Error(), ""
89
 	}
87
 	}
90
 
88
 
91
-
92
-	out := GetoleInfo("1101",string(bytesData))
89
+	out := GetoleInfo("1101", string(bytesData))
93
 	aa := ""
90
 	aa := ""
94
 	// Regular expression to find JSON part
91
 	// Regular expression to find JSON part
95
 	re := regexp.MustCompile(`\{.*\}`)
92
 	re := regexp.MustCompile(`\{.*\}`)
170
 		fmt.Println(err.Error())
167
 		fmt.Println(err.Error())
171
 		return err.Error(), ""
168
 		return err.Error(), ""
172
 	}
169
 	}
173
-	out := GetoleInfo("2201",string(bytesData))
170
+	out := GetoleInfo("2201", string(bytesData))
174
 
171
 
175
 	//var json2 string
172
 	//var json2 string
176
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2201", string(bytesData), json2)
173
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2201", string(bytesData), json2)
180
 	//}
177
 	//}
181
 	fmt.Println(string(out))
178
 	fmt.Println(string(out))
182
 
179
 
183
-
184
 	return string(out), requestLog
180
 	return string(out), requestLog
185
 
181
 
186
 }
182
 }
212
 		fmt.Println(err.Error())
208
 		fmt.Println(err.Error())
213
 		return err.Error(), ""
209
 		return err.Error(), ""
214
 	}
210
 	}
215
-	out := GetoleInfo("2202",string(bytesData))
211
+	out := GetoleInfo("2202", string(bytesData))
216
 
212
 
217
 	//var json2 string
213
 	//var json2 string
218
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2202", string(bytesData), json2)
214
 	//cmd := exec.Command("java", "-jar", "yh_hb_fat.jar", "2202", string(bytesData), json2)
295
 	//	fmt.Println("error:", err.Error())
291
 	//	fmt.Println("error:", err.Error())
296
 	//}
292
 	//}
297
 	//fmt.Println(string(out))
293
 	//fmt.Println(string(out))
298
-	out := GetoleInfo("2203",string(bytesData))
294
+	out := GetoleInfo("2203", string(bytesData))
299
 
295
 
300
 	return out, requestLog
296
 	return out, requestLog
301
 
297
 
302
 }
298
 }
303
 
299
 
304
-//  门诊费用明细信息上传
300
+// 门诊费用明细信息上传
305
 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) {
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
 	nonce := GetRandomString(32)
303
 	nonce := GetRandomString(32)
474
 	//	fmt.Println("error:", err.Error())
470
 	//	fmt.Println("error:", err.Error())
475
 	//}
471
 	//}
476
 	//fmt.Println(string(out))
472
 	//fmt.Println(string(out))
477
-	out := GetoleInfo("2204",string(bytesData))
473
+	out := GetoleInfo("2204", string(bytesData))
478
 
474
 
479
 	return out, requestLog
475
 	return out, requestLog
480
 
476
 
481
-
482
 }
477
 }
483
 
478
 
484
-//  门诊费用明细信息撤销
479
+// 门诊费用明细信息撤销
485
 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) {
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
 	nonce := GetRandomString(32)
482
 	nonce := GetRandomString(32)
517
 	//}
512
 	//}
518
 	//fmt.Println(string(out))
513
 	//fmt.Println(string(out))
519
 
514
 
520
-	out := GetoleInfo("2205",string(bytesData))
515
+	out := GetoleInfo("2205", string(bytesData))
521
 
516
 
522
 	return out, requestLog
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
 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) {
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
 	//	fmt.Println("error:", err.Error())
589
 	//	fmt.Println("error:", err.Error())
594
 	//}
590
 	//}
595
 	//fmt.Println(string(out))
591
 	//fmt.Println(string(out))
596
-	out := GetoleInfo("2206",string(bytesData))
592
+	out := GetoleInfo("2206", string(bytesData))
597
 
593
 
598
 	return out, requestLog
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
 	nonce := GetRandomString(32)
601
 	nonce := GetRandomString(32)
606
 	timestamp := time.Now().Unix()
602
 	timestamp := time.Now().Unix()
635
 	} else {
631
 	} else {
636
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
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
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
644
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
647
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
645
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
648
 	inputData["preselfpay_amt"] = preselfpay_amt       //
646
 	inputData["preselfpay_amt"] = preselfpay_amt       //
649
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
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
 	input["data"] = inputData
652
 	input["data"] = inputData
652
 	inputMessage["input"] = input //交易输入
653
 	inputMessage["input"] = input //交易输入
653
 
654
 
667
 	mjson, _ := json.Marshal(inputMessage)
668
 	mjson, _ := json.Marshal(inputMessage)
668
 	str2 := string(mjson)
669
 	str2 := string(mjson)
669
 
670
 
670
-	out := GetoleInfo("2207",string(bytesData))
671
-
671
+	out := GetoleInfo("2207", string(bytesData))
672
 
672
 
673
 	return out, str2
673
 	return out, str2
674
 
674
 
675
 }
675
 }
676
 
676
 
677
-//  门诊结算撤销
677
+// 门诊结算撤销
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) {
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
 	nonce := GetRandomString(32)
680
 	nonce := GetRandomString(32)
709
 	mjson, _ := json.Marshal(inputMessage)
709
 	mjson, _ := json.Marshal(inputMessage)
710
 	str2 := string(mjson)
710
 	str2 := string(mjson)
711
 	//fmt.Println(string(out))
711
 	//fmt.Println(string(out))
712
-	out := GetoleInfo("2208",string(bytesData))
712
+	out := GetoleInfo("2208", string(bytesData))
713
 	return out, str2
713
 	return out, str2
714
 
714
 
715
 }
715
 }
744
 	//if err != nil {
744
 	//if err != nil {
745
 	//	fmt.Println("error:", err.Error())
745
 	//	fmt.Println("error:", err.Error())
746
 	//}
746
 	//}
747
-	out := GetoleInfo("YH03",string(bytesData))
747
+	out := GetoleInfo("YH03", string(bytesData))
748
 
748
 
749
 	//mjson, _ := json.Marshal(inputMessage)
749
 	//mjson, _ := json.Marshal(inputMessage)
750
 	//str2 := string(mjson)
750
 	//str2 := string(mjson)
787
 	return ConvertToString(string(out), "gbk", "utf-8")
787
 	return ConvertToString(string(out), "gbk", "utf-8")
788
 }
788
 }
789
 
789
 
790
-//确认订单
790
+// 确认订单
791
 func Hbyb6201(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, order models.HisOrder) string {
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
 	nonce := GetRandomString(32)
793
 	nonce := GetRandomString(32)
876
 	return str
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
 func Hbyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
880
 func Hbyb3201(baseParams models.BaseParams, businessParams models.BusinessParams) string {
881
 	fmt.Println("11222333-----")
881
 	fmt.Println("11222333-----")
882
 
882
 
953
 type Input struct {
953
 type Input struct {
954
 	MonSetlAppyID   string `xml:"MON_SETL_APPY_ID"`
954
 	MonSetlAppyID   string `xml:"MON_SETL_APPY_ID"`
955
 	FixmedinsNo     string `xml:"FIXMEDINS_NO"`
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
 	Begndate        string `xml:"BEGNDATE"`
959
 	Begndate        string `xml:"BEGNDATE"`
960
 	Enddate         string `xml:"ENDDATE"`
960
 	Enddate         string `xml:"ENDDATE"`
961
 	OpterName       string `xml:"OPTER_NAME"`
961
 	OpterName       string `xml:"OPTER_NAME"`
971
 	Inputs  Inputs   `xml:"INPUTS"`
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
 	nonce := GetRandomString(32)
977
 	nonce := GetRandomString(32)
986
 	data := Data{
985
 	data := Data{
987
 		Inputs: Inputs{
986
 		Inputs: Inputs{
988
 			Input: Input{
987
 			Input: Input{
989
-				MonSetlAppyID:  strconv.FormatInt(timestamp, 10)  ,
988
+				MonSetlAppyID:   strconv.FormatInt(timestamp, 10),
990
 				FixmedinsNo:     baseParams.FixmedinsCode,
989
 				FixmedinsNo:     baseParams.FixmedinsCode,
991
 				ClrCnt:          cnt,
990
 				ClrCnt:          cnt,
992
 				MedfeeSumAmt:    medfee_sumamt,
991
 				MedfeeSumAmt:    medfee_sumamt,
1003
 		fmt.Println("转换为XML失败:", err)
1002
 		fmt.Println("转换为XML失败:", err)
1004
 	}
1003
 	}
1005
 
1004
 
1006
-	inputMessage["infno"] = "1608" // 交易编码
1005
+	inputMessage["infno"] = "1608"          // 交易编码
1007
 	inputMessage["input"] = string(xmlData) //交易输入
1006
 	inputMessage["input"] = string(xmlData) //交易输入
1008
 	bytesData, err := json.Marshal(inputMessage)
1007
 	bytesData, err := json.Marshal(inputMessage)
1009
 	fmt.Println(string(bytesData))
1008
 	fmt.Println(string(bytesData))
1021
 	return ConvertToString(string(out), "gbk", "utf-8")
1020
 	return ConvertToString(string(out), "gbk", "utf-8")
1022
 }
1021
 }
1023
 
1022
 
1024
-
1025
 func Hbyb3204(baseParams models.BaseParams, id string) string {
1023
 func Hbyb3204(baseParams models.BaseParams, id string) string {
1026
 	// 生成签名
1024
 	// 生成签名
1027
 	nonce := GetRandomString(32)
1025
 	nonce := GetRandomString(32)
1032
 	input := make(map[string]interface{})
1030
 	input := make(map[string]interface{})
1033
 	inputData := make(map[string]interface{})
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
 	input["data"] = inputData
1035
 	input["data"] = inputData
1038
 	inputMessage["input"] = input //交易输入
1036
 	inputMessage["input"] = input //交易输入
1039
 	bytesData, _ := json.Marshal(inputMessage)
1037
 	bytesData, _ := json.Marshal(inputMessage)
1040
 	fmt.Println(string(bytesData))
1038
 	fmt.Println(string(bytesData))
1041
-	out := GetoleInfo("3204",string(bytesData))
1039
+	out := GetoleInfo("3204", string(bytesData))
1042
 	fmt.Println(string(out))
1040
 	fmt.Println(string(out))
1043
-	return  out
1041
+	return out
1044
 }
1042
 }
1045
 
1043
 
1046
-
1047
 func Hbyb8404(baseParams models.BaseParams, month string) string {
1044
 func Hbyb8404(baseParams models.BaseParams, month string) string {
1048
 	// 生成签名
1045
 	// 生成签名
1049
 	nonce := GetRandomString(32)
1046
 	nonce := GetRandomString(32)
1064
 	inputMessage["input"] = input //交易输入
1061
 	inputMessage["input"] = input //交易输入
1065
 	bytesData, _ := json.Marshal(inputMessage)
1062
 	bytesData, _ := json.Marshal(inputMessage)
1066
 	fmt.Println(string(bytesData))
1063
 	fmt.Println(string(bytesData))
1067
-	out := GetoleInfo("8404",string(bytesData))
1064
+	out := GetoleInfo("8404", string(bytesData))
1068
 	fmt.Println(string(out))
1065
 	fmt.Println(string(out))
1069
-	return  out
1066
+	return out
1070
 }
1067
 }
1071
 
1068
 
1072
-
1073
-
1074
-
1075
-
1076
-
1077
 func Hbyb3202a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1069
 func Hbyb3202a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1078
 
1070
 
1079
 	fmt.Println(baseParams)
1071
 	fmt.Println(baseParams)
1107
 	//bytesData, err := json.Marshal(inputMessage)
1099
 	//bytesData, err := json.Marshal(inputMessage)
1108
 	bytesData, _ := json.Marshal(inputMessage)
1100
 	bytesData, _ := json.Marshal(inputMessage)
1109
 	fmt.Println(string(bytesData))
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
 func Hbyb3204a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1106
 func Hbyb3204a(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1116
 
1107
 
1117
 	fmt.Println(baseParams)
1108
 	fmt.Println(baseParams)
1136
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1127
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1137
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1128
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1138
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1129
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1139
-		inputData["med_type"] = "14"                        //个人账户支付金额
1130
+		inputData["med_type"] = "14"                      //个人账户支付金额
1140
 		inputDatas = append(inputDatas, inputData)
1131
 		inputDatas = append(inputDatas, inputData)
1141
 	}
1132
 	}
1142
 	input["clrdata"] = inputDatas
1133
 	input["clrdata"] = inputDatas
1144
 
1135
 
1145
 	//bytesData, err := json.Marshal(inputMessage)
1136
 	//bytesData, err := json.Marshal(inputMessage)
1146
 	bytesData, _ := json.Marshal(inputMessage)
1137
 	bytesData, _ := json.Marshal(inputMessage)
1147
-	out := GetoleInfo("3204a",string(bytesData))
1138
+	out := GetoleInfo("3204a", string(bytesData))
1148
 	fmt.Println(out)
1139
 	fmt.Println(out)
1149
-	return  out
1140
+	return out
1150
 }
1141
 }
1151
 
1142
 
1152
-
1153
-
1154
 func Hbyb3202b(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1143
 func Hbyb3202b(baseParams models.BaseParams, businessParams []*models.BusinessParamsTwo) string {
1155
 
1144
 
1156
 	fmt.Println(baseParams)
1145
 	fmt.Println(baseParams)
1175
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1164
 		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
1176
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1165
 		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
1177
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1166
 		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
1178
-		inputData["med_type"] = "110104"                        //个人账户支付金额
1167
+		inputData["med_type"] = "110104"                  //个人账户支付金额
1179
 		inputDatas = append(inputDatas, inputData)
1168
 		inputDatas = append(inputDatas, inputData)
1180
 	}
1169
 	}
1181
 	input["clrdata"] = inputDatas
1170
 	input["clrdata"] = inputDatas
1182
 	inputMessage["input"] = input //交易输入
1171
 	inputMessage["input"] = input //交易输入
1183
 
1172
 
1184
 	bytesData, _ := json.Marshal(inputMessage)
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
 	fmt.Println(baseParams)
1180
 	fmt.Println(baseParams)
1193
 	fmt.Println(businessParams)
1181
 	fmt.Println(businessParams)
1205
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1193
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1206
 	inputData["q_begntime"] = businessParams.QBegntime
1194
 	inputData["q_begntime"] = businessParams.QBegntime
1207
 	inputData["q_endtime"] = businessParams.QEndtime
1195
 	inputData["q_endtime"] = businessParams.QEndtime
1208
-	inputData["med_type"] =   businessParams.MedType
1196
+	inputData["med_type"] = businessParams.MedType
1209
 	inputData["page_num"] = page
1197
 	inputData["page_num"] = page
1210
 	inputData["page_size"] = limit
1198
 	inputData["page_size"] = limit
1211
 	inputData["certno"] = businessParams.Certno
1199
 	inputData["certno"] = businessParams.Certno
1215
 
1203
 
1216
 	//bytesData, err := json.Marshal(inputMessage)
1204
 	//bytesData, err := json.Marshal(inputMessage)
1217
 	bytesData, _ := json.Marshal(inputMessage)
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
 	fmt.Println(baseParams)
1212
 	fmt.Println(baseParams)
1225
 	fmt.Println(businessParams)
1213
 	fmt.Println(businessParams)
1237
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1225
 	inputData["refd_setl_flag"] = businessParams.RefdSetlFlag
1238
 	inputData["q_begntime"] = businessParams.QBegntime
1226
 	inputData["q_begntime"] = businessParams.QBegntime
1239
 	inputData["q_endtime"] = businessParams.QEndtime
1227
 	inputData["q_endtime"] = businessParams.QEndtime
1240
-	inputData["med_type"] =   businessParams.MedType
1228
+	inputData["med_type"] = businessParams.MedType
1241
 	inputData["page_num"] = page
1229
 	inputData["page_num"] = page
1242
 	inputData["page_size"] = limit
1230
 	inputData["page_size"] = limit
1243
 	input["data"] = inputData
1231
 	input["data"] = inputData
1247
 
1235
 
1248
 	//bytesData, err := json.Marshal(inputMessage)
1236
 	//bytesData, err := json.Marshal(inputMessage)
1249
 	bytesData, _ := json.Marshal(inputMessage)
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
 func Hbyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1245
 func Hbyb9101(baseParams models.BaseParams, file_name string, file_byte []byte) string {
1258
 
1246
 
1259
 	// 生成签名
1247
 	// 生成签名
1394
 	inputData := make(map[string]interface{})
1382
 	inputData := make(map[string]interface{})
1395
 	inputMessage["infno"] = "3202"                                    // 交易编码
1383
 	inputMessage["infno"] = "3202"                                    // 交易编码
1396
 	inputData["file_qury_no"] = businessParams.FileQuryNo             // 险种
1384
 	inputData["file_qury_no"] = businessParams.FileQuryNo             // 险种
1397
-	inputData["setl_optins"] = ""              // 结算经办机构
1385
+	inputData["setl_optins"] = ""                                     // 结算经办机构
1398
 	inputData["stmt_begndate"] = businessParams.StmtBegndate          // 对帐开始时间
1386
 	inputData["stmt_begndate"] = businessParams.StmtBegndate          // 对帐开始时间
1399
 	inputData["stmt_enddate"] = businessParams.StmtEnddate            //对帐结束时间
1387
 	inputData["stmt_enddate"] = businessParams.StmtEnddate            //对帐结束时间
1400
 	inputData["medfee_sumamt"] = businessParams.MedfeeSumamt          //医疗费总额
1388
 	inputData["medfee_sumamt"] = businessParams.MedfeeSumamt          //医疗费总额
1410
 	//str2 := string(mjson)
1398
 	//str2 := string(mjson)
1411
 	bytesData, _ := json.Marshal(inputMessage)
1399
 	bytesData, _ := json.Marshal(inputMessage)
1412
 	fmt.Println(string(bytesData))
1400
 	fmt.Println(string(bytesData))
1413
-	out := GetoleInfo("3202",string(bytesData))
1401
+	out := GetoleInfo("3202", string(bytesData))
1414
 	return out
1402
 	return out
1415
 }
1403
 }
1416
 
1404
 
1958
 	input["data"] = inputData
1946
 	input["data"] = inputData
1959
 	inputMessage["input"] = input //交易输入
1947
 	inputMessage["input"] = input //交易输入
1960
 
1948
 
1961
-
1962
 	bytesData, err := json.Marshal(inputMessage)
1949
 	bytesData, err := json.Marshal(inputMessage)
1963
 	//inputLog = string(bytesData)
1950
 	//inputLog = string(bytesData)
1964
 	fmt.Println(string(bytesData))
1951
 	fmt.Println(string(bytesData))
1967
 		return err.Error()
1954
 		return err.Error()
1968
 	}
1955
 	}
1969
 
1956
 
1970
-	out := GetoleInfo("5301",string(bytesData))
1957
+	out := GetoleInfo("5301", string(bytesData))
1971
 	return out
1958
 	return out
1972
 	//return ConvertToString(string(out), "gbk", "utf-8")
1959
 	//return ConvertToString(string(out), "gbk", "utf-8")
1973
 
1960
 
1974
 }
1961
 }
1975
 
1962
 
1976
-//
1977
 func Hbyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
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
 	nonce := GetRandomString(32)
1965
 	nonce := GetRandomString(32)
2322
 	return str
2308
 	return str
2323
 }
2309
 }
2324
 
2310
 
2325
-//人员信息版本3
2311
+// 人员信息版本3
2326
 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 {
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
 	nonce := GetRandomString(32)
2314
 	nonce := GetRandomString(32)
2404
 	return str
2390
 	return str
2405
 }
2391
 }
2406
 
2392
 
2407
-//人员信息版本4
2393
+// 人员信息版本4
2408
 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) {
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
 	nonce := GetRandomString(32)
2396
 	nonce := GetRandomString(32)
2609
 	return string(out), string(bytesData)
2595
 	return string(out), string(bytesData)
2610
 }
2596
 }
2611
 
2597
 
2612
-
2613
 // 住院登记
2598
 // 住院登记
2614
 func Hbyb2401(struct2401 Struct2401, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string) (string, string) {
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
 		return err.Error(), ""
2670
 		return err.Error(), ""
2686
 	}
2671
 	}
2687
 	var json2 string
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
 	out, err := cmd.Output()
2674
 	out, err := cmd.Output()
2690
 
2675
 
2691
 	//decoder := simplifiedchinese.GBK.NewDecoder()
2676
 	//decoder := simplifiedchinese.GBK.NewDecoder()
2696
 		fmt.Println("error:", err.Error())
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
 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) {
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
 	nonce := GetRandomString(32)
2690
 	nonce := GetRandomString(32)
2727
 	if err != nil {
2711
 	if err != nil {
2728
 		fmt.Println("error:", err.Error())
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
 	//return string(out), string(bytesData)
2716
 	//return string(out), string(bytesData)
2733
 }
2717
 }
2734
 
2718
 
2735
-//出院撤销
2719
+// 出院撤销
2736
 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) {
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
 	nonce := GetRandomString(32)
2722
 	nonce := GetRandomString(32)
2739
 	timestamp := time.Now().Unix()
2723
 	timestamp := time.Now().Unix()
2740
 
2724
 
2741
-
2742
 	// 生成输入报文
2725
 	// 生成输入报文
2743
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
2726
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
2744
 	input := make(map[string]interface{})
2727
 	input := make(map[string]interface{})
2760
 	if err != nil {
2743
 	if err != nil {
2761
 		fmt.Println("error:", err.Error())
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
 	//return string(out), string(bytesData)
2748
 	//return string(out), string(bytesData)
2766
 }
2749
 }
2840
 	if err != nil {
2823
 	if err != nil {
2841
 		fmt.Println("error:", err.Error())
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
 	//return string(out), string(bytesData)
2828
 	//return string(out), string(bytesData)
2846
 }
2829
 }
2847
 
2830
 
2848
-
2849
-//  住院费用明细信息上传
2831
+// 住院费用明细信息上传
2850
 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) {
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
 	nonce := GetRandomString(32)
2834
 	nonce := GetRandomString(32)
2965
 		fmt.Println(err.Error())
2947
 		fmt.Println(err.Error())
2966
 		return "", ""
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
 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) {
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
 		fmt.Println("error:", err.Error())
3038
 		fmt.Println("error:", err.Error())
3057
 	}
3039
 	}
3058
 	fmt.Println(string(out))
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
 	//return string(out), string(bytesData)
3043
 	//return string(out), string(bytesData)
3062
 
3044
 
3063
 }
3045
 }
3064
-//  住院费用明细信息撤销
3046
+
3047
+// 住院费用明细信息撤销
3065
 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) {
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
 	nonce := GetRandomString(32)
3050
 	nonce := GetRandomString(32)
3068
 	timestamp := time.Now().Unix()
3051
 	timestamp := time.Now().Unix()
3069
 
3052
 
3070
-
3071
 	// 生成输入报文
3053
 	// 生成输入报文
3072
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
3054
 	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
3073
 	input := make(map[string]interface{})
3055
 	input := make(map[string]interface{})
3086
 
3068
 
3087
 	inputData["mdtrt_id"] = mdtrtId // 就诊 ID
3069
 	inputData["mdtrt_id"] = mdtrtId // 就诊 ID
3088
 	inputData["psn_no"] = psnNo     // 人员编号
3070
 	inputData["psn_no"] = psnNo     // 人员编号
3089
-	feedetail = append(feedetail,inputData)
3071
+	feedetail = append(feedetail, inputData)
3090
 	input["data"] = feedetail
3072
 	input["data"] = feedetail
3091
 	inputMessage["input"] = input //交易输入
3073
 	inputMessage["input"] = input //交易输入
3092
 
3074
 
3102
 	if err != nil {
3084
 	if err != nil {
3103
 		fmt.Println("error:", err.Error())
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
 	//return string(out), string(bytesData)
3089
 	//return string(out), string(bytesData)
3108
 }
3090
 }
3157
 
3139
 
3158
 	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3140
 	return ConvertToString(string(out), "gbk", "utf-8"), ConvertToString(string(bytesData), "gbk", "utf-8")
3159
 }
3141
 }
3160
-//  住院结算
3142
+
3143
+// 住院结算
3161
 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) {
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
 	nonce := GetRandomString(32)
3146
 	nonce := GetRandomString(32)
3211
 		fmt.Println("error:", err.Error())
3194
 		fmt.Println("error:", err.Error())
3212
 	}
3195
 	}
3213
 	//if id_card_type == 4 {
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
 			if err != nil {
3216
 			if err != nil {
3229
-				fmt.Println("Error parsing JSON:", err)
3217
+				fmt.Println("Error formatting JSON:", err)
3230
 			} else {
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
 	//}else{
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
 	//return string(out), string(bytesData)
3231
 	//return string(out), string(bytesData)
3249
 }
3232
 }
3250
 
3233
 
3251
-//  住院结算撤销
3234
+// 住院结算撤销
3252
 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) {
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
 	nonce := GetRandomString(32)
3237
 	nonce := GetRandomString(32)
3280
 	if err != nil {
3263
 	if err != nil {
3281
 		fmt.Println("error:", err.Error())
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
 	//return string(out), string(bytesData)
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
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
3272
 	ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
3291
 	defer ole.CoUninitialize()
3273
 	defer ole.CoUninitialize()
3292
 
3274
 

+ 10 - 8
service/hn_service.go Vedi File

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
 	timestamp := time.Now().Unix()
784
 	timestamp := time.Now().Unix()
785
 	// 生成输入报文
785
 	// 生成输入报文
815
 	} else {
815
 	} else {
816
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
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
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
828
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
827
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
829
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //

+ 28 - 32
service/jsyb_service.go Vedi File

13
 	"gdyb/utils/csbhttp"
13
 	"gdyb/utils/csbhttp"
14
 	"io/ioutil"
14
 	"io/ioutil"
15
 	"net"
15
 	"net"
16
-	"strings"
17
-	"regexp"
18
 	"net/http"
16
 	"net/http"
17
+	"regexp"
19
 	"strconv"
18
 	"strconv"
19
+	"strings"
20
 	"time"
20
 	"time"
21
 )
21
 )
22
 
22
 
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
 	input["data"] = inputData
256
 	input["data"] = inputData
257
 	inputMessage["input"] = input //交易输入
257
 	inputMessage["input"] = input //交易输入
258
 
258
 
274
 	// 参数
274
 	// 参数
275
 	_api_access_key := access_key
275
 	_api_access_key := access_key
276
 	_api_name := "hssServives"
276
 	_api_name := "hssServives"
277
-	timestampInMilliseconds  := time.Now().Unix()
277
+	timestampInMilliseconds := time.Now().Unix()
278
 
278
 
279
 	timestamp = timestampInMilliseconds
279
 	timestamp = timestampInMilliseconds
280
 	_api_timestamp := timestamp
280
 	_api_timestamp := timestamp
290
 		"&_api_version=" + url.QueryEscape(_api_version)
290
 		"&_api_version=" + url.QueryEscape(_api_version)
291
 	secret_key = strings.Replace(secret_key, "+", "%2B", -1)
291
 	secret_key = strings.Replace(secret_key, "+", "%2B", -1)
292
 	fmt.Println("h8Z+d10iYI4B+kry0wgYSt5bFBs=")
292
 	fmt.Println("h8Z+d10iYI4B+kry0wgYSt5bFBs=")
293
-	secret_key  = "h8Z+d10iYI4B+kry0wgYSt5bFBs="
293
+	secret_key = "h8Z+d10iYI4B+kry0wgYSt5bFBs="
294
 	// 生成签名
294
 	// 生成签名
295
 	signature, _ := generateSignature(param, secretKey)
295
 	signature, _ := generateSignature(param, secretKey)
296
 
296
 
302
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
302
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
303
 	request.Header.Set("_api_timestamp", str)
303
 	request.Header.Set("_api_timestamp", str)
304
 	request.Header.Set("_api_name", _api_name)
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
 	request.Header.Set("_api_access_key", _api_access_key)
306
 	request.Header.Set("_api_access_key", _api_access_key)
307
 	request.Header.Set("_api_signature", signature)
307
 	request.Header.Set("_api_signature", signature)
308
 
308
 
314
 		return err.Error(), ""
314
 		return err.Error(), ""
315
 	}
315
 	}
316
 
316
 
317
-
318
 	client := http.Client{}
317
 	client := http.Client{}
319
 	resp, err := client.Do(request)
318
 	resp, err := client.Do(request)
320
 	if err != nil {
319
 	if err != nil {
330
 	fmt.Println(str2)
329
 	fmt.Println(str2)
331
 	return str2, string(bytesData)
330
 	return str2, string(bytesData)
332
 
331
 
333
-
334
-
335
-
336
-
337
-
338
 	//return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), inputLog
332
 	//return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), inputLog
339
 }
333
 }
340
 
334
 
421
 	inputData["begntime"] = timeFormatOne // 开始时间
415
 	inputData["begntime"] = timeFormatOne // 开始时间
422
 
416
 
423
 	if id_card_type == 1 {
417
 	if id_card_type == 1 {
424
-		if mdtrtarea_admvs == "320830"{
418
+		if mdtrtarea_admvs == "320830" {
425
 			inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
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
 			inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
422
 			inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
429
 			inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
423
 			inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
430
 
424
 
500
 	return HttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData)), requestLog
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
 	timestamp := time.Now().Unix()
500
 	timestamp := time.Now().Unix()
508
 	tempTime := time.Unix(timestamp, 0)
501
 	tempTime := time.Unix(timestamp, 0)
536
 		diseinfo_sun["diag_name"] = item.ClassName   // 诊断名称
529
 		diseinfo_sun["diag_name"] = item.ClassName   // 诊断名称
537
 		diseinfo_sun["diag_dept"] = department       // 诊断科室
530
 		diseinfo_sun["diag_dept"] = department       // 诊断科室
538
 		diseinfo_sun["dise_dor_no"] = doctor_id      // 诊断医生编码
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
 		diseinfo_sun["diag_time"] = timeFormatOne    // 诊断时间
533
 		diseinfo_sun["diag_time"] = timeFormatOne    // 诊断时间
541
 		diseinfo_sun["vali_flag"] = "1"              // 有效标志
534
 		diseinfo_sun["vali_flag"] = "1"              // 有效标志
542
 		diseinfo = append(diseinfo, diseinfo_sun)
535
 		diseinfo = append(diseinfo, diseinfo_sun)
827
 	inputData := make(map[string]interface{})
820
 	inputData := make(map[string]interface{})
828
 	inputMessage["infno"] = "2205" // 交易编码
821
 	inputMessage["infno"] = "2205" // 交易编码
829
 
822
 
830
-	inputData["mdtrt_id"] = mdtrtId  // 就诊 ID(来自2201接口返回)
823
+	inputData["mdtrt_id"] = mdtrtId     // 就诊 ID(来自2201接口返回)
831
 	inputData["chrg_bchno"] = chrgBchno // 收费批次号(来自2204生成的)
824
 	inputData["chrg_bchno"] = chrgBchno // 收费批次号(来自2204生成的)
832
 
825
 
833
 	inputData["psn_no"] = psnNo   // 人员编号 (来自1101接口返回)
826
 	inputData["psn_no"] = psnNo   // 人员编号 (来自1101接口返回)
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
 	timestamp := time.Now().Unix()
921
 	timestamp := time.Now().Unix()
929
 	// 生成输入报文
922
 	// 生成输入报文
938
 		inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
931
 		inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
939
 	} else {
932
 	} else {
940
 		if id_card_type == 1 {
933
 		if id_card_type == 1 {
941
-			if mdtrtarea_admvs == "320830"{
934
+			if mdtrtarea_admvs == "320830" {
942
 
935
 
943
 				inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
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
 				inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
940
 				inputData["mdtrt_cert_type"] = "03"                       // 就诊凭证类型
948
 				inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
941
 				inputData["mdtrt_cert_no"] = certNo + "|" + verify_number // 就诊凭证编号
949
 
942
 
979
 	inputData["insutype"] = insutype             // 险种类型
972
 	inputData["insutype"] = insutype             // 险种类型
980
 	inputData["invono"] = ""                     // 发票号
973
 	inputData["invono"] = ""                     // 发票号
981
 
974
 
975
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
976
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
977
+
982
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
978
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
983
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
979
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
984
 	inputData["preselfpay_amt"] = preselfpay_amt       //
980
 	inputData["preselfpay_amt"] = preselfpay_amt       //
1197
 	if fixmedins_code == "H32090403023" {
1193
 	if fixmedins_code == "H32090403023" {
1198
 		inputMessage["opter"] = "葛美琴"      // 经办人
1194
 		inputMessage["opter"] = "葛美琴"      // 经办人
1199
 		inputMessage["opter_name"] = "葛美琴" // 经办人姓名
1195
 		inputMessage["opter_name"] = "葛美琴" // 经办人姓名
1200
-	} else if  fixmedins_code == "H32092103007"{
1196
+	} else if fixmedins_code == "H32092103007" {
1201
 		inputMessage["opter"] = "孙欣欣"      // 经办人
1197
 		inputMessage["opter"] = "孙欣欣"      // 经办人
1202
 		inputMessage["opter_name"] = "孙欣欣" // 经办人姓名
1198
 		inputMessage["opter_name"] = "孙欣欣" // 经办人姓名
1203
 	} else {
1199
 	} else {
1204
-		inputMessage["opter"] =   doctor    // 经办人
1200
+		inputMessage["opter"] = doctor      // 经办人
1205
 		inputMessage["opter_name"] = doctor // 经办人姓名
1201
 		inputMessage["opter_name"] = doctor // 经办人姓名
1206
 	}
1202
 	}
1207
 	inputMessage["inf_time"] = timeFormatOne        // 交易时间
1203
 	inputMessage["inf_time"] = timeFormatOne        // 交易时间
2075
 	inputData["rxno"] = struct3505.Rxno                   // 人员编号 (来自1101接口返回)
2071
 	inputData["rxno"] = struct3505.Rxno                   // 人员编号 (来自1101接口返回)
2076
 	inputData["rx_circ_flag"] = struct3505.RxCircFlag     // 人员编号 (来自1101接口返回)
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
 	inputData["bchno"] = struct3505.Bchno                          // 人员编号 (来自1101接口返回)
2078
 	inputData["bchno"] = struct3505.Bchno                          // 人员编号 (来自1101接口返回)
2083
-	inputData["drug_trac_codg"] = "---"          // 人员编号 (来自1101接口返回)
2079
+	inputData["drug_trac_codg"] = "---"                            // 人员编号 (来自1101接口返回)
2084
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
2080
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
2085
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
2081
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
2086
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
2082
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)

+ 8 - 6
service/jx_service.go Vedi File

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
 	timestamp := time.Now().Unix()
891
 	timestamp := time.Now().Unix()
892
 	// 生成输入报文
892
 	// 生成输入报文
935
 	inputData["preselfpay_amt"] = preselfpay_amt       //
935
 	inputData["preselfpay_amt"] = preselfpay_amt       //
936
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
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
 	inputData2 := make(map[string]interface{})
946
 	inputData2 := make(map[string]interface{})
945
 	inputData2["trum_flag"] = ""
947
 	inputData2["trum_flag"] = ""

+ 4 - 1
service/nm_service.go Vedi File

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
 	if !strings.Contains(insuplc_admdvs, "150") {
746
 	if !strings.Contains(insuplc_admdvs, "150") {
747
 
747
 
748
 		chrgBchno = "0000"
748
 		chrgBchno = "0000"
795
 	inputData["insutype"] = insutype             // 险种类型
795
 	inputData["insutype"] = insutype             // 险种类型
796
 	inputData["invono"] = "12345"                // 发票号
796
 	inputData["invono"] = "12345"                // 发票号
797
 
797
 
798
+	inputData["minpacunt_drug_trac_cn"] = pack_num // 发票号
799
+	inputData["mcs_trac_cnt"] = good_pack_num      // 发票号
800
+
798
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
801
 	inputData["fulamt_ownpay_amt"] = fulamt_ownpay_amt //
799
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
802
 	inputData["overlmt_selfpay"] = overlmt_selfpay     //
800
 	inputData["preselfpay_amt"] = preselfpay_amt       //
803
 	inputData["preselfpay_amt"] = preselfpay_amt       //