Przeglądaj źródła

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

csx 1 rok temu
rodzic
commit
1970884adf
2 zmienionych plików z 80 dodań i 108 usunięć
  1. 18 18
      controllers/sg/his_api_controller.go
  2. 62 90
      service/fj_service.go

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

@@ -1404,9 +1404,9 @@ func (c *HisApiController) ReadCard() {
1404 1404
 			errmsg = Remove0000(errmsg)
1405 1405
 
1406 1406
 			basStr := cardnum + "|" + cardCode + "|" + id_card_no + "|" + name
1407
-			result, _ := service.FJyb1101(cardnum, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, id_card_type, cardCode, certificates, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
1408
-			fmt.Println("result:")
1409
-			fmt.Println(result)
1407
+			result, requestLog, errMsgLog := service.FJyb1101(cardnum, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, id_card_type, cardCode, certificates, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
1408
+			saveLog(result, requestLog, "1101", "获取人员信息")
1409
+			fmt.Println(errMsgLog)
1410 1410
 
1411 1411
 			var dat map[string]interface{}
1412 1412
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -1422,7 +1422,7 @@ func (c *HisApiController) ReadCard() {
1422 1422
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
1423 1423
 				return
1424 1424
 			}
1425
-
1425
+			res.ErrMsg = errMsgLog
1426 1426
 			if res.Infcode == 0 {
1427 1427
 				patient, err := service.GetPatientByNumber(id_card_no, c.GetAdminUserInfo().CurrentOrgId)
1428 1428
 				if err == gorm.ErrRecordNotFound {
@@ -5380,7 +5380,7 @@ func (c *HisApiController) GetRegisterInfo() {
5380 5380
 					cert_no = strings.Split(psn_info.CardInfo, "|")[0]
5381 5381
 				}
5382 5382
 				fmt.Println(cert_no)
5383
-				result, requestLog := service.FJyb2201(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, doctor_info.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_id, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, roles.UserName, doctor_info.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, cert_no)
5383
+				result, requestLog, _ := service.FJyb2201(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, doctor_info.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_id, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, roles.UserName, doctor_info.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, cert_no)
5384 5384
 				saveLog(result, requestLog, "2201", "挂号")
5385 5385
 				if miConfig.Code == "H15049901371" {
5386 5386
 
@@ -5767,7 +5767,7 @@ func (c *HisApiController) GetUploadInfo() {
5767 5767
 			res2.Infcode = infocode
5768 5768
 
5769 5769
 		} else if miConfig.MdtrtareaAdmvs == "350500" {
5770
-			result, requestLog = service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
5770
+			result, requestLog, _ = service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
5771 5771
 			saveLog(result, requestLog, "2203", "上传就诊信息")
5772 5772
 			var respJSON2 map[string]interface{}
5773 5773
 			if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
@@ -6019,7 +6019,7 @@ func (c *HisApiController) GetUploadInfo() {
6019 6019
 
6020 6020
 				} else if miConfig.MdtrtareaAdmvs == "350500" {
6021 6021
 
6022
-					result, request_log := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
6022
+					result, request_log, _ := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
6023 6023
 					var dat map[string]interface{}
6024 6024
 					if err := json.Unmarshal([]byte(result), &dat); err == nil {
6025 6025
 						fmt.Println(dat)
@@ -6430,7 +6430,7 @@ func (c *HisApiController) GetUploadInfo() {
6430 6430
 								cert_no = strings.Split(psn_info.CardInfo, "|")[0]
6431 6431
 							}
6432 6432
 							fmt.Println(cert_no)
6433
-							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)
6433
+							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)
6434 6434
 
6435 6435
 							//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)
6436 6436
 							var dat map[string]interface{}
@@ -6875,7 +6875,7 @@ func (c *HisApiController) GetUploadInfo() {
6875 6875
 				}
6876 6876
 				fmt.Println(cert_no)
6877 6877
 
6878
-				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)
6878
+				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)
6879 6879
 				var dat map[string]interface{}
6880 6880
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
6881 6881
 					fmt.Println(dat)
@@ -7771,7 +7771,7 @@ func (c *HisApiController) GetPreUploadInfo() {
7771 7771
 		res2.Infcode = infocode
7772 7772
 
7773 7773
 	} else if miConfig.MdtrtareaAdmvs == "350500" {
7774
-		result, requestLog := service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
7774
+		result, requestLog, _ := service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
7775 7775
 		saveLog(result, requestLog, "2203", "上传就诊信息")
7776 7776
 		var respJSON2 map[string]interface{}
7777 7777
 		if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
@@ -8013,7 +8013,7 @@ func (c *HisApiController) GetPreUploadInfo() {
8013 8013
 
8014 8014
 			} else if miConfig.MdtrtareaAdmvs == "350500" {
8015 8015
 
8016
-				result, request_log := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8016
+				result, request_log, _ := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8017 8017
 				var dat map[string]interface{}
8018 8018
 				if err := json.Unmarshal([]byte(result), &dat); err == nil {
8019 8019
 					fmt.Println(dat)
@@ -8384,7 +8384,7 @@ func (c *HisApiController) GetPreUploadInfo() {
8384 8384
 
8385 8385
 					} else if miConfig.MdtrtareaAdmvs == "350500" {
8386 8386
 
8387
-						result, request_log := service.FJyb2206(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, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8387
+						result, request_log, _ := service.FJyb2206(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, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8388 8388
 						var dat map[string]interface{}
8389 8389
 						if err := json.Unmarshal([]byte(result), &dat); err == nil {
8390 8390
 							fmt.Println(dat)
@@ -8699,7 +8699,7 @@ func (c *HisApiController) Refund() {
8699 8699
 			res.Infcode = infocode
8700 8700
 
8701 8701
 		} else if miConfig.MdtrtareaAdmvs == "350500" {
8702
-			result, src_resquest = service.FJyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8702
+			result, src_resquest, _ = service.FJyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8703 8703
 			var dat map[string]interface{}
8704 8704
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
8705 8705
 				fmt.Println(dat)
@@ -8854,7 +8854,7 @@ func (c *HisApiController) Refund() {
8854 8854
 				res2.Infcode = infocode
8855 8855
 
8856 8856
 			} else if miConfig.MdtrtareaAdmvs == "350500" {
8857
-				result2, src_request := service.FJyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8857
+				result2, src_request, _ := service.FJyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
8858 8858
 				var dat map[string]interface{}
8859 8859
 				if err := json.Unmarshal([]byte(result2), &dat); err == nil {
8860 8860
 					fmt.Println(dat)
@@ -9072,7 +9072,7 @@ func (c *HisApiController) RefundNumber() {
9072 9072
 
9073 9073
 		} else if miConfig.MdtrtareaAdmvs == "350500" {
9074 9074
 
9075
-			result, request := service.FJyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
9075
+			result, request, _ := service.FJyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
9076 9076
 			var dat map[string]interface{}
9077 9077
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
9078 9078
 				fmt.Println(dat)
@@ -9322,7 +9322,7 @@ func (c *HisApiController) RefundDetail() {
9322 9322
 				return
9323 9323
 			}
9324 9324
 		} else if miConfig.MdtrtareaAdmvs == "350500" {
9325
-			result2, src_request := service.FJyb2205(his.PsnNo, his.Number, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
9325
+			result2, src_request, _ := service.FJyb2205(his.PsnNo, his.Number, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
9326 9326
 			var dat map[string]interface{}
9327 9327
 			if err := json.Unmarshal([]byte(result2), &dat); err == nil {
9328 9328
 				fmt.Println(dat)
@@ -10230,7 +10230,8 @@ func (c *HisApiController) GetSettleAccounts() {
10230 10230
 			res.Infcode = infocode
10231 10231
 
10232 10232
 		} else if miConfig.MdtrtareaAdmvs == "350500" {
10233
-			result := service.FJyb5203(baseParams, businessParams, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
10233
+			result, requestLog, _ := service.FJyb5203(baseParams, businessParams, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
10234
+			saveLog(result, requestLog, "5203", "结算单")
10234 10235
 			var dat map[string]interface{}
10235 10236
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
10236 10237
 				fmt.Println(dat)
@@ -10244,7 +10245,6 @@ func (c *HisApiController) GetSettleAccounts() {
10244 10245
 				return
10245 10246
 			}
10246 10247
 		} else if miConfig.MdtrtareaAdmvs == "150499" {
10247
-			fmt.Println("~~~~~~~")
10248 10248
 
10249 10249
 			api := "http://172.16.13.254:9532/" + "nmyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
10250 10250
 				"&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +

+ 62 - 90
service/fj_service.go Wyświetl plik

@@ -8,6 +8,7 @@ import (
8 8
 	"golang.org/x/text/encoding/simplifiedchinese"
9 9
 	"io/ioutil"
10 10
 	"net/http"
11
+	"regexp"
11 12
 	"strconv"
12 13
 	"strings"
13 14
 	"syscall"
@@ -28,8 +29,8 @@ import (
28 29
 )
29 30
 
30 31
 //
31
-//// 人员基本信息
32
-func FJyb1101(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) (string, string) {
32
+// 人员基本信息
33
+func FJyb1101(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) (string, string, string) {
33 34
 	//生成签名
34 35
 	nonce := GetRandomString(32)
35 36
 	timestamp := time.Now().Unix()
@@ -79,21 +80,15 @@ func FJyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
79 80
 	fmt.Println(string(bytesData))
80 81
 	if err != nil {
81 82
 		fmt.Println(err.Error())
82
-		return err.Error(), ""
83
+		return err.Error(), "", ""
83 84
 	}
84
-	//fmt.Println("开始jdk")
85
-
86 85
 	enc := mahonia.NewEncoder("gbk")
87 86
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
88
-	fmt.Println("输出信息:")
89
-	fmt.Println(output)
90
-	fmt.Println("错误信息:")
91
-	fmt.Println(err_msg)
92
-	return output, inputLog
87
+	return output, inputLog, err_msg
93 88
 }
94 89
 
95 90
 // 门诊挂号
96
-func FJyb2201(psnNo string, insutype string, certNo string, org_name string, doctor string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, opter string, doctor_name string, url string, app_id string, app_secret string, sign_key string, enc_key string, card_number string) (string, string) {
91
+func FJyb2201(psnNo string, insutype string, certNo string, org_name string, doctor string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, opter string, doctor_name string, url string, app_id string, app_secret string, sign_key string, enc_key string, card_number string) (string, string, string) {
97 92
 	// 生成签名
98 93
 	nonce := GetRandomString(32)
99 94
 	timestamp := time.Now().Unix()
@@ -137,20 +132,17 @@ func FJyb2201(psnNo string, insutype string, certNo string, org_name string, doc
137 132
 	fmt.Println(string(bytesData))
138 133
 	if err != nil {
139 134
 		fmt.Println(err.Error())
140
-		return err.Error(), ""
135
+		return err.Error(), "", ""
141 136
 	}
142 137
 
143 138
 	enc := mahonia.NewEncoder("gbk")
144 139
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
145
-	fmt.Println("输出信息:")
146
-	fmt.Println(output)
147
-	fmt.Println("错误信息:")
148
-	fmt.Println(err_msg)
149
-	return ConvertToString(output, "gbk", "utf-8"), requestLog
140
+
141
+	return output, requestLog, err_msg
150 142
 }
151 143
 
152
-// 门诊挂号撤销
153
-func FJyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
144
+//门诊挂号撤销
145
+func FJyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
154 146
 	// 生成签名
155 147
 	nonce := GetRandomString(32)
156 148
 	timestamp := time.Now().Unix()
@@ -176,20 +168,17 @@ func FJyb2202(psnNo string, mdtrtId string, ipt_otp_no string, org_name string,
176 168
 	requestLog = string(bytesData)
177 169
 	if err != nil {
178 170
 		fmt.Println(err.Error())
179
-		return err.Error(), ""
171
+		return err.Error(), "", ""
180 172
 	}
181 173
 
182 174
 	enc := mahonia.NewEncoder("gbk")
183 175
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
184
-	fmt.Println("输出信息:")
185
-	fmt.Println(output)
186
-	fmt.Println("错误信息:")
187
-	fmt.Println(err_msg)
188
-	return ConvertToString(output, "gbk", "utf-8"), requestLog
176
+
177
+	return output, requestLog, err_msg
189 178
 }
190 179
 
191 180
 // 门诊就诊信息上传
192
-func FJyb2203(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, begin_time string, doctor_name string, opter string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
181
+func FJyb2203(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, begin_time string, doctor_name string, opter string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
193 182
 	// 生成签名
194 183
 	nonce := GetRandomString(32)
195 184
 	timestamp := time.Now().Unix()
@@ -204,7 +193,7 @@ func FJyb2203(psnNo string, mdtrtId string, doctor string, department string, or
204 193
 	inputData := make(map[string]interface{})
205 194
 	diseinfo := make([]map[string]interface{}, 0)
206 195
 
207
-	inputMessage["infno"] = "2203"  // 交易编码
196
+	inputMessage["infno"] = "2203A" // 交易编码
208 197
 	inputData["mdtrt_id"] = mdtrtId // 就诊 ID(来自2201接口返回)
209 198
 	inputData["psn_no"] = psnNo     // 人员编号 (来自1101接口返回)
210 199
 	//inputData["med_type"] = med_type      // 医疗类别 16门诊特殊病
@@ -249,27 +238,20 @@ func FJyb2203(psnNo string, mdtrtId string, doctor string, department string, or
249 238
 	requestLog = string(bytesData)
250 239
 	if err != nil {
251 240
 		fmt.Println(err.Error())
252
-		return err.Error(), ""
241
+		return err.Error(), "", ""
253 242
 	}
254 243
 
255 244
 	enc := mahonia.NewEncoder("gbk")
256 245
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
257
-	fmt.Println("输出信息:")
258
-	fmt.Println(output)
259
-	fmt.Println("错误信息:")
260
-	fmt.Println(err_msg)
261
-	return output, requestLog
246
+
247
+	return output, requestLog, err_msg
262 248
 }
263 249
 
264 250
 //  门诊费用明细信息上传
265
-func FJyb2204(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, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
251
+func FJyb2204(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, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
266 252
 	// 生成签名
267 253
 	nonce := GetRandomString(32)
268 254
 	timestamp := time.Now().Unix()
269
-	//tempTime := time.Unix(timestamp, 0)
270
-	//timeFormat := tempTime.Format("20060102150405")
271
-	//timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
272
-	//chrgBchno := rand.Intn(100000) + 10000
273 255
 
274 256
 	var customs []*Custom
275 257
 
@@ -427,27 +409,21 @@ func FJyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
427 409
 	inputMessage["input"] = input //交易输入
428 410
 	var requestLog string
429 411
 	bytesData, err := json.Marshal(inputMessage)
430
-	fmt.Println("----------")
431
-	fmt.Println(string(bytesData))
432
-	fmt.Println("----------")
433 412
 	requestLog = string(bytesData)
434 413
 	if err != nil {
435 414
 		fmt.Println(err.Error())
436
-		return "", ""
415
+		return "", "", ""
437 416
 	}
438 417
 
439 418
 	enc := mahonia.NewEncoder("gbk")
440 419
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
441
-	fmt.Println("输出信息:")
442
-	fmt.Println(output)
443
-	fmt.Println("错误信息:")
444
-	fmt.Println(err_msg)
445
-	return output, requestLog
420
+
421
+	return output, requestLog, err_msg
446 422
 
447 423
 }
448 424
 
449 425
 //  门诊费用明细信息撤销
450
-func FJyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
426
+func FJyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
451 427
 	// 生成签名
452 428
 	nonce := GetRandomString(32)
453 429
 	timestamp := time.Now().Unix()
@@ -472,21 +448,17 @@ func FJyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
472 448
 	requestLog = string(bytesData)
473 449
 	if err != nil {
474 450
 		fmt.Println(err.Error())
475
-		return err.Error(), ""
451
+		return err.Error(), "", ""
476 452
 	}
477 453
 
478 454
 	enc := mahonia.NewEncoder("gbk")
479 455
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
480
-	fmt.Println("输出信息:")
481
-	fmt.Println(output)
482
-	fmt.Println("错误信息:")
483
-	fmt.Println(err_msg)
484
-	return output, requestLog
456
+
457
+	return output, requestLog, err_msg
485 458
 }
486 459
 
487 460
 //  门诊预结算
488
-//func Hbyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
489
-func FJyb2206(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, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
461
+func FJyb2206(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, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
490 462
 
491 463
 	// 生成签名
492 464
 	nonce := GetRandomString(32)
@@ -546,20 +518,17 @@ func FJyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
546 518
 	fmt.Println(string(bytesData))
547 519
 	if err != nil {
548 520
 		fmt.Println(err.Error())
549
-		return err.Error(), ""
521
+		return err.Error(), "", ""
550 522
 	}
551 523
 
552 524
 	enc := mahonia.NewEncoder("gbk")
553 525
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
554
-	fmt.Println("输出信息:")
555
-	fmt.Println(output)
556
-	fmt.Println("错误信息:")
557
-	fmt.Println(err_msg)
558
-	return output, requestLog
526
+
527
+	return output, requestLog, err_msg
559 528
 }
560 529
 
561 530
 //  门诊结算
562
-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) {
531
+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) {
563 532
 	// 生成签名
564 533
 	nonce := GetRandomString(32)
565 534
 	timestamp := time.Now().Unix()
@@ -616,7 +585,7 @@ func FJyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
616 585
 	fmt.Println(string(bytesData))
617 586
 	if err != nil {
618 587
 		fmt.Println(err.Error())
619
-		return err.Error(), ""
588
+		return err.Error(), "", ""
620 589
 	}
621 590
 
622 591
 	var requestLog string
@@ -624,15 +593,11 @@ func FJyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
624 593
 
625 594
 	enc := mahonia.NewEncoder("gbk")
626 595
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
627
-	fmt.Println("输出信息:")
628
-	fmt.Println(output)
629
-	fmt.Println("错误信息:")
630
-	fmt.Println(err_msg)
631
-	return output, requestLog
596
+	return output, requestLog, err_msg
632 597
 }
633 598
 
634 599
 //  门诊结算撤销
635
-func FJyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string) {
600
+func FJyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
636 601
 	// 生成签名
637 602
 	nonce := GetRandomString(32)
638 603
 	timestamp := time.Now().Unix()
@@ -656,28 +621,21 @@ func FJyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doct
656 621
 	fmt.Println(string(bytesData))
657 622
 	if err != nil {
658 623
 		fmt.Println(err.Error())
659
-		return err.Error(), ""
624
+		return err.Error(), "", ""
660 625
 	}
661
-
662 626
 	var requestLog string
663 627
 	requestLog = string(bytesData)
664
-
665 628
 	enc := mahonia.NewEncoder("gbk")
666 629
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
667
-	fmt.Println("输出信息:")
668
-	fmt.Println(output)
669
-	fmt.Println("错误信息:")
670
-	fmt.Println(err_msg)
671
-	return output, requestLog
630
+	return output, requestLog, err_msg
672 631
 }
673 632
 
674
-func FJyb5203(baseParams models.BaseParams, businessParams models.BusinessParams, url string, app_id string, app_secret string, sign_key string, enc_key string) string {
633
+func FJyb5203(baseParams models.BaseParams, businessParams models.BusinessParams, url string, app_id string, app_secret string, sign_key string, enc_key string) (string, string, string) {
675 634
 	// 生成签名
676 635
 	nonce := GetRandomString(32)
677 636
 	timestamp := time.Now().Unix()
678 637
 
679 638
 	// 生成输入报文
680
-	//inputMessage := SetFjInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs,url,app_id,app_secret,sign_key,enc_key)
681 639
 
682 640
 	inputMessage := SetFjInputMessage(nonce, timestamp, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, url, app_id, app_secret, sign_key, enc_key)
683 641
 	input := make(map[string]interface{})
@@ -690,19 +648,18 @@ func FJyb5203(baseParams models.BaseParams, businessParams models.BusinessParams
690 648
 	input["data"] = inputData
691 649
 	inputMessage["input"] = input //交易输入
692 650
 	bytesData, err := json.Marshal(inputMessage)
693
-	fmt.Println(string(bytesData))
651
+
694 652
 	if err != nil {
695 653
 		fmt.Println(err.Error())
696
-		return err.Error()
654
+		return err.Error(), "", ""
697 655
 	}
698 656
 
657
+	var requestLog string
658
+	requestLog = string(bytesData)
659
+
699 660
 	enc := mahonia.NewEncoder("gbk")
700 661
 	output, err_msg := GetFjBusinessHandleInfo([]byte(enc.ConvertString(string(bytesData))))
701
-	fmt.Println("输出信息:")
702
-	fmt.Println(output)
703
-	fmt.Println("错误信息:")
704
-	fmt.Println(err_msg)
705
-	return output
662
+	return output, requestLog, err_msg
706 663
 }
707 664
 
708 665
 //确认订单
@@ -2470,13 +2427,13 @@ func GetFjBusinessHandleInfo(inputStr []byte) (string, string) {
2470 2427
 	errMessageStr := make([]byte, 2048)
2471 2428
 	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&inputStr[0])), uintptr(20000), (uintptr)(unsafe.Pointer(&outputStr[0])), (uintptr)(unsafe.Pointer(&errMessageStr[0])))
2472 2429
 
2473
-	fmt.Println("错误信息1:", ConvertByte2String(errMessageStr, GB18030))
2474
-	fmt.Println("输出信息1:", ConvertByte2String(outputStr, GB18030))
2430
+	output_info := ConvertByte2String(outputStr, GB18030)
2431
+	error_info := ConvertByte2String(errMessageStr, GB18030)
2475 2432
 
2476 2433
 	if ret2 != 0 {
2477 2434
 		return "", ""
2478 2435
 	}
2479
-	return ConvertByte2String([]byte(Remove0000(string(outputStr))), GB18030), ConvertByte2String([]byte(Remove0000(string(errMessageStr))), GB18030)
2436
+	return DeleteExtraSpace(output_info), DeleteExtraSpace(error_info)
2480 2437
 }
2481 2438
 
2482 2439
 func GetFjAuthorizationInfo(org_id string) {
@@ -2521,3 +2478,18 @@ func ConvertByte2String(byte []byte, charset Charset) string {
2521 2478
 
2522 2479
 	return str
2523 2480
 }
2481
+
2482
+func DeleteExtraSpace(s string) string {
2483
+	//删除字符串中的多余空格,有多个空格时,仅保留一个空格
2484
+	s1 := strings.Replace(s, "  ", " ", -1)      //替换tab为空格
2485
+	regstr := "\\s{2,}"                          //两个及两个以上空格的正则表达式
2486
+	reg, _ := regexp.Compile(regstr)             //编译正则表达式
2487
+	s2 := make([]byte, len(s1))                  //定义字符数组切片
2488
+	copy(s2, s1)                                 //将字符串复制到切片
2489
+	spc_index := reg.FindStringIndex(string(s2)) //在字符串中搜索
2490
+	for len(spc_index) > 0 {                     //找到适配项
2491
+		s2 = append(s2[:spc_index[0]+1], s2[spc_index[1]:]...) //删除多余空格
2492
+		spc_index = reg.FindStringIndex(string(s2))            //继续在字符串中搜索
2493
+	}
2494
+	return string(s2)
2495
+}