|
@@ -87,7 +87,7 @@ func FJyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
|
87
|
87
|
return output, inputLog, err_msg
|
88
|
88
|
}
|
89
|
89
|
|
90
|
|
-func FJyb1101ForEleToken(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, id_card_type int64, card_sn string, certificates int64, url string, app_id string, app_secret string, sign_key string, enc_key string, token string) (string, string, string) {
|
|
90
|
+func FJyb1101ForEleToken(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, id_card_type int64, card_sn string, certificates int64, url string, app_id string, app_secret string, sign_key string, enc_key string, token string, name string) (string, string, string) {
|
91
|
91
|
//生成签名
|
92
|
92
|
nonce := GetRandomString(32)
|
93
|
93
|
timestamp := time.Now().Unix()
|
|
@@ -102,6 +102,7 @@ func FJyb1101ForEleToken(certNo string, org_name string, doctor string, fixmedin
|
102
|
102
|
inputData["mdtrt_cert_type"] = "99" // 就诊凭证类型
|
103
|
103
|
inputData["certno"] = certNo // 证件号码
|
104
|
104
|
inputData["psn_cert_type"] = "99" // 人员证件类型
|
|
105
|
+ inputData["psn_name"] = "" // 人员姓名
|
105
|
106
|
|
106
|
107
|
} else {
|
107
|
108
|
if id_card_type == 1 {
|
|
@@ -109,25 +110,27 @@ func FJyb1101ForEleToken(certNo string, org_name string, doctor string, fixmedin
|
109
|
110
|
inputData["card_sn"] = card_sn // 卡识别码
|
110
|
111
|
inputData["psn_cert_type"] = "" // 人员证件类型
|
111
|
112
|
inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
|
|
113
|
+ inputData["psn_name"] = "" // 人员姓名
|
112
|
114
|
|
113
|
115
|
} else if id_card_type == 4 {
|
114
|
116
|
inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
|
115
|
117
|
inputData["card_sn"] = "" // 卡识别码
|
116
|
118
|
inputData["mdtrt_cert_no"] = token // 就诊凭证编号
|
117
|
|
- inputData["psn_cert_type"] = "" // 人员证件类型
|
|
119
|
+ inputData["psn_cert_type"] = "01" // 人员证件类型
|
|
120
|
+ inputData["psn_name"] = name // 人员姓名
|
118
|
121
|
|
119
|
122
|
} else {
|
120
|
123
|
inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
|
121
|
124
|
inputData["card_sn"] = "" // 卡识别码
|
122
|
125
|
inputData["psn_cert_type"] = "01" // 人员证件类型
|
123
|
126
|
inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
|
|
127
|
+ inputData["psn_name"] = "" // 人员姓名
|
124
|
128
|
|
125
|
129
|
}
|
126
|
130
|
}
|
127
|
131
|
inputData["certno"] = certNo // 证件号码
|
128
|
132
|
|
129
|
133
|
inputData["begntime"] = "" // 开始时间
|
130
|
|
- inputData["psn_name"] = "" // 人员姓名
|
131
|
134
|
input["data"] = inputData
|
132
|
135
|
inputMessage["input"] = input //交易输入
|
133
|
136
|
|
|
@@ -2683,9 +2686,9 @@ func ReadEleCard(code string) (string, string, string) {
|
2683
|
2686
|
DllDef := syscall.MustLoadDLL("chs_fjs_standard.dll")
|
2684
|
2687
|
readCard := DllDef.MustFindProc("ec_decode")
|
2685
|
2688
|
|
2686
|
|
- pCardInfo := make([]byte, 8192)
|
2687
|
|
- pBusiCardInfo := make([]byte, 8192)
|
2688
|
|
- pErrMsg := make([]byte, 8192)
|
|
2689
|
+ //pCardInfo := make([]byte, 8192)
|
|
2690
|
+ pBusiCardInfo := make([]byte, 2048)
|
|
2691
|
+ pErrMsg := make([]byte, 2048)
|
2689
|
2692
|
|
2690
|
2693
|
data := make(map[string]interface{})
|
2691
|
2694
|
|
|
@@ -2694,22 +2697,23 @@ func ReadEleCard(code string) (string, string, string) {
|
2694
|
2697
|
inputData["businessType"] = "01101"
|
2695
|
2698
|
inputData["operatorId"] = "1"
|
2696
|
2699
|
inputData["operatorName"] = "admin"
|
2697
|
|
- inputData["officeId"] = "001"
|
2698
|
|
- inputData["officeName"] = "111"
|
|
2700
|
+ inputData["officeId"] = "101"
|
|
2701
|
+ inputData["officeName"] = "xt"
|
|
2702
|
+ inputData["deviceType"] = ""
|
|
2703
|
+
|
2699
|
2704
|
data["data"] = inputData
|
2700
|
2705
|
data["transType"] = "ec.query"
|
2701
|
2706
|
data["orgId"] = code
|
2702
|
|
- bytesData, _ := json.Marshal(data)
|
2703
|
|
- pCardInfo = bytesData
|
2704
|
|
- pCardInfo = []byte(ConvertByte2String(pCardInfo, GB18030))
|
2705
|
2707
|
|
2706
|
|
- ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&pCardInfo[0])), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])), (uintptr)(unsafe.Pointer(&pErrMsg[0])))
|
2707
|
|
- fmt.Println(ret2)
|
|
2708
|
+ bytesData, _ := json.Marshal(data)
|
|
2709
|
+ ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&bytesData[0])), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])), (uintptr)(unsafe.Pointer(&pErrMsg[0])))
|
|
2710
|
+ fmt.Println(ConvertToString(DeleteExtraSpace(string(pErrMsg)), "gbk", "utf-8"))
|
2708
|
2711
|
fmt.Println(":", ConvertToString(DeleteExtraSpace(string(bytesData)), "gbk", "utf-8"))
|
2709
|
2712
|
fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
|
2710
|
2713
|
if ret2 != 0 {
|
2711
|
2714
|
return "", "", ""
|
2712
|
2715
|
}
|
|
2716
|
+ //readCard.Dll.Release()
|
2713
|
2717
|
return ConvertToString(DeleteExtraSpace(string(bytesData)), "gbk", "utf-8"), ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"), ConvertToString(DeleteExtraSpace(string(pErrMsg)), "gbk", "utf-8")
|
2714
|
2718
|
|
2715
|
2719
|
}
|