|
@@ -664,7 +664,11 @@ func (c *JSybController) PostSeven() {
|
664
|
664
|
url := c.GetString("url")
|
665
|
665
|
ak := c.GetString("ak")
|
666
|
666
|
|
667
|
|
- result, request_log := service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number, cainfo)
|
|
667
|
+ var result string
|
|
668
|
+ var request_log string
|
|
669
|
+
|
|
670
|
+ result, request_log = service.Jsyb2206(psnNo, mdtrtId, chrgBchno, certNo, insutype, total, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, med_type, id_card_type, 0, 0, 0, 0, certificates, url, ak, verify_number, cainfo)
|
|
671
|
+
|
668
|
672
|
saveJsLog(result, request_log, "2206", "预结算", org_name)
|
669
|
673
|
var dat map[string]interface{}
|
670
|
674
|
if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
@@ -713,7 +717,25 @@ func (c *JSybController) PostEight() {
|
713
|
717
|
verify_number := c.GetString("verify_number")
|
714
|
718
|
cainfo := c.GetString("cainfo")
|
715
|
719
|
|
716
|
|
- 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)
|
|
720
|
+ var result string
|
|
721
|
+ var request_log string
|
|
722
|
+ if id_card_type == 4 {
|
|
723
|
+ _, pBusiCardInfo := GetELeCertInfoSettle(fixmedins_code, "", "")
|
|
724
|
+ pBusiCardInfo = Remove0000(pBusiCardInfo)
|
|
725
|
+ var ele ELeData
|
|
726
|
+ err := json.Unmarshal([]byte(pBusiCardInfo), &ele)
|
|
727
|
+ if err != nil {
|
|
728
|
+ utils.ErrorLog("解析失败:%v", err)
|
|
729
|
+ }
|
|
730
|
+ token := ele.Data.EcCardToken
|
|
731
|
+ if len(token) > 0 {
|
|
732
|
+ 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, token, cainfo)
|
|
733
|
+ }
|
|
734
|
+ } else {
|
|
735
|
+ 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)
|
|
736
|
+
|
|
737
|
+ }
|
|
738
|
+
|
717
|
739
|
saveJsLog(result, request_log, "2207", "结算", org_name)
|
718
|
740
|
var dat map[string]interface{}
|
719
|
741
|
if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
@@ -1024,12 +1046,14 @@ func (c *JSybController) ReadCard() {
|
1024
|
1046
|
token := ele.Data.EcToken
|
1025
|
1047
|
fmt.Println(token)
|
1026
|
1048
|
if len(token) > 0 {
|
1027
|
|
- userName := ConvertByte2String([]byte(ele.Data.UserName), GB18030)
|
|
1049
|
+ userName := ele.Data.UserName
|
|
1050
|
+ fmt.Println(userName)
|
1028
|
1051
|
userName = Remove0000(userName)
|
|
1052
|
+ userName = DeleteExtraSpace(userName)
|
1029
|
1053
|
fmt.Println(userName)
|
1030
|
1054
|
enc := mahonia.NewEncoder("gbk")
|
1031
|
1055
|
fmt.Println(enc.ConvertString(userName))
|
1032
|
|
- result, _ := service.Jsyb1101ForEleCert(org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak, token, cainfo, ele.Data.IDNo, enc.ConvertString(userName))
|
|
1056
|
+ result, _ := service.Jsyb1101ForEleCert(org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, url, ak, token, cainfo, ele.Data.IDNo, userName)
|
1033
|
1057
|
var dat map[string]interface{}
|
1034
|
1058
|
if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
1035
|
1059
|
fmt.Println(dat)
|
|
@@ -1183,6 +1207,38 @@ func (c *JSybController) GetELeCertInfo(code string, operator_id string, operato
|
1183
|
1207
|
return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
|
1184
|
1208
|
}
|
1185
|
1209
|
|
|
1210
|
+func GetELeCertInfoSettle(code string, operator_id string, operator_name string) (string, string) {
|
|
1211
|
+ DllDef := syscall.MustLoadDLL("HeaSecReadInfo.dll")
|
|
1212
|
+ readCard := DllDef.MustFindProc("GetPersonInfo")
|
|
1213
|
+
|
|
1214
|
+ pCardInfo := make([]byte, 8192)
|
|
1215
|
+ pBusiCardInfo := make([]byte, 8192)
|
|
1216
|
+ data := make(map[string]interface{})
|
|
1217
|
+
|
|
1218
|
+ inputData := make(map[string]interface{})
|
|
1219
|
+ inputData["orgId"] = code
|
|
1220
|
+ inputData["businessType"] = "01301"
|
|
1221
|
+ inputData["operatorId"] = "1"
|
|
1222
|
+ inputData["operatorName"] = "admin"
|
|
1223
|
+ inputData["officeId"] = "001"
|
|
1224
|
+ inputData["officeName"] = "admin"
|
|
1225
|
+ data["data"] = inputData
|
|
1226
|
+ data["transType"] = "ec.query"
|
|
1227
|
+ data["orgId"] = code
|
|
1228
|
+ bytesData, _ := json.Marshal(data)
|
|
1229
|
+ pCardInfo = bytesData
|
|
1230
|
+ pCardInfo = []byte(ConvertByte2String(pCardInfo, GB18030))
|
|
1231
|
+
|
|
1232
|
+ ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&pCardInfo[0])), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
|
|
1233
|
+ fmt.Println(ret2)
|
|
1234
|
+ fmt.Println(":", ConvertToString(DeleteExtraSpace(string(bytesData)), "gbk", "utf-8"))
|
|
1235
|
+ fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
|
|
1236
|
+ if ret2 != 0 {
|
|
1237
|
+ return "", ""
|
|
1238
|
+ }
|
|
1239
|
+ return ConvertByte2String([]byte(DeleteExtraSpace(string(bytesData))), GB18030), ConvertByte2String([]byte(DeleteExtraSpace(string(pBusiCardInfo))), GB18030)
|
|
1240
|
+}
|
|
1241
|
+
|
1186
|
1242
|
func IntPtr(n int) uintptr {
|
1187
|
1243
|
return uintptr(n)
|
1188
|
1244
|
}
|