张保健 3 years ago
parent
commit
32f406b33f
2 changed files with 30 additions and 25 deletions
  1. 14 11
      controllers/sg/his_api_controller.go
  2. 16 14
      service/gdyb_service.go

+ 14 - 11
controllers/sg/his_api_controller.go View File

@@ -198,7 +198,7 @@ func (c *HisApiController) ReadCard() {
198 198
 		}
199 199
 		fmt.Println(basStr)
200 200
 		bas := strings.Split(basStr, "|")
201
-		basNumber := bas[2]
201
+		basNumber := bas[1]
202 202
 		fmt.Println(basNumber)
203 203
 		card_sn := bas[3]
204 204
 		fmt.Println(card_sn)
@@ -462,7 +462,7 @@ func (c *HisApiController) GetSettleList() {
462 462
 	}
463 463
 
464 464
 	sickConfigTwo, _ := service.FindSickById(his.SickType)
465
-	tempOpspdiseinfo2.DiagCode = sickConfigTwo.CountryCode
465
+	tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
466 466
 	tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
467 467
 	tempOpspdiseinfo2.MaindiagFlag = "2"
468 468
 	tempOpspdiseinfo2.OprnOprtCode = ""
@@ -1699,7 +1699,7 @@ func (c *HisApiController) GetRegisterInfo() {
1699 1699
 	if config.IsOpen == 1 {
1700 1700
 		//service.Gdyb1201("", miConfig.OrgName, "1122", miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, "")
1701 1701
 
1702
-		api := "http://127.0.0.1:9532/" + "gdyb/one?cert_no=" + patient.IdCardNo + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&certificates=" + strconv.FormatInt(certificates, 10)
1702
+		api := "http://127.0.0.1:9532/" + "gdyb/one?cert_no=" + patient.IdCardNo + "&org_name=" + miConfig.OrgName +  "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&certificates=" + strconv.FormatInt(certificates, 10)
1703 1703
 		resp, requestErr := http.Get(api)
1704 1704
 		if requestErr != nil {
1705 1705
 			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -1781,7 +1781,8 @@ func (c *HisApiController) GetRegisterInfo() {
1781 1781
 
1782 1782
 			IdCardNo := ""
1783 1783
 			if id_card_type == 1 {
1784
-				IdCardNo = medical_insurance_card
1784
+				// IdCardNo = medical_insurance_card
1785
+				IdCardNo = patient.IdCardNo
1785 1786
 			} else {
1786 1787
 				IdCardNo = patient.IdCardNo
1787 1788
 			}
@@ -2042,9 +2043,9 @@ func (c *HisApiController) GetUploadInfo() {
2042 2043
 	if tempOrder.ID == 0 {
2043 2044
 		var result string
2044 2045
 		if miConfig.InsuplcAdmdvs == "440781" { //
2045
-			result = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.CountryCode, sickConfig.ClassName, roles.UserName, config)
2046
+			result = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config)
2046 2047
 		} else {
2047
-			result = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.CountryCode, sickConfig.ClassName, roles.UserName, config)
2048
+			result = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config)
2048 2049
 
2049 2050
 		}
2050 2051
 
@@ -2351,7 +2352,8 @@ func (c *HisApiController) GetUploadInfo() {
2351 2352
 
2352 2353
 						//insutype = "390"
2353 2354
 						if his.IdCardType == 1 {
2354
-							cert_no = his.MedicalInsuranceNumber
2355
+							// cert_no = his.MedicalInsuranceNumber
2356
+							cert_no = his.Certno
2355 2357
 
2356 2358
 						} else {
2357 2359
 
@@ -2544,7 +2546,8 @@ func (c *HisApiController) GetUploadInfo() {
2544 2546
 
2545 2547
 			//insutype = "390"
2546 2548
 			if his.IdCardType == 1 {
2547
-				cert_no = his.MedicalInsuranceNumber
2549
+				// cert_no = his.MedicalInsuranceNumber
2550
+				cert_no = his.Certno
2548 2551
 
2549 2552
 			} else {
2550 2553
 
@@ -3244,7 +3247,7 @@ func (c *HisApiController) GetPreUploadInfo() {
3244 3247
 
3245 3248
 	var result string
3246 3249
 	if miConfig.InsuplcAdmdvs == "440781" { //
3247
-		result = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.CountryCode, sickConfig.ClassName, roles.UserName, config)
3250
+		result = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config)
3248 3251
 	} else {
3249 3252
 		result = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.AdminUserId, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.CountryCode, sickConfig.ClassName, roles.UserName, config)
3250 3253
 
@@ -5048,7 +5051,7 @@ func (c *HisApiController) GetUploadDiag() {
5048 5051
 	api2 := "http://127.0.0.1:9532/" + "gdyb/four?psn_no=" + his.PsnNo +
5049 5052
 		"&mdtrt_id=" + his.Number + "&doctor=" + patientPrescription.Doctor + "&department=" + department.Name +
5050 5053
 		"&diag=" + diagnosisConfig.ClassName + "&org_name=" + miConfig.OrgName + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&doctor_id=" + strconv.FormatInt(patientPrescription.DoctorId, 10) + "&fixmedins_code=" + miConfig.Code + "&diag_code=" + diagnosisConfig.CountryCode +
5051
-		"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&sick_code=" + sickConfig.CountryCode + "&sick_name=" + sickConfig.ClassName
5054
+		"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&sick_code=" + sickConfig.ContentCode + "&sick_name=" + sickConfig.ClassName
5052 5055
 	resp2, requestErr2 := http.Get(api2)
5053 5056
 	if requestErr2 != nil {
5054 5057
 		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
@@ -5553,7 +5556,7 @@ func (c *HisApiController) PsnPutNCDSOnRecord() {
5553 5556
 	sick, _ := service.FindSickById(sick_id)
5554 5557
 	doctor, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, doctor_id)
5555 5558
 	if config.IsOpen == 1 {
5556
-		result := service.Gdyb2503(psn_no, insutype, miConfig.OrgName, doctor.UserName, miConfig.Code, strconv.FormatInt(doctor.ID, 10), miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sick.ClassName, sick.CountryCode)
5559
+		result := service.Gdyb2503(psn_no, insutype, miConfig.OrgName, doctor.UserName, miConfig.Code, strconv.FormatInt(doctor.ID, 10), miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sick.ClassName, sick.ContentCode)
5557 5560
 		var dat map[string]interface{}
5558 5561
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
5559 5562
 			fmt.Println(dat)

+ 16 - 14
service/gdyb_service.go View File

@@ -162,13 +162,13 @@ func Gdyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
162 162
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
163 163
 			inputData["card_sn"] = card_sn      // 卡识别码
164 164
 			inputData["certno"] = certNo        // 证件号码
165
-			inputData["psn_cert_type"] = "1"    // 人员证件类型
165
+			inputData["psn_cert_type"] = "01"    // 人员证件类型
166 166
 
167 167
 		} else {
168 168
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
169 169
 			inputData["card_sn"] = ""           // 卡识别码
170 170
 			inputData["certno"] = certNo        // 证件号码
171
-			inputData["psn_cert_type"] = "1"    // 人员证件类型
171
+			inputData["psn_cert_type"] = "01"    // 人员证件类型
172 172
 		}
173 173
 	}
174 174
 
@@ -307,13 +307,13 @@ func Gdyb2201(psnNo string, insutype string, certNo string, org_name string, doc
307 307
 	inputData["insutype"] = insutype      // 险种类型(来自1101接口返回)
308 308
 	inputData["begntime"] = timeFormatOne // 开始时间
309 309
 
310
-	//if id_card_type == 1 {
311
-	//	inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
312
-	//	inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
313
-	//} else {
314
-	inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
315
-	inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
316
-	//}
310
+	if id_card_type == 1 {
311
+		inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
312
+		inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
313
+	} else {
314
+		inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
315
+		inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
316
+	}
317 317
 
318 318
 	inputData["ipt_otp_no"] = ipt_otp_no // 住院/门诊号
319 319
 	inputData["atddr_no"] = doctor_id    // 医师编码
@@ -2504,9 +2504,9 @@ func SetInputMessage(nonce string, timestamp int64, org_name string, doctor stri
2504 2504
 	inputMessage["dev_safe_info"] = ""                                                          // 设备安全信息
2505 2505
 	inputMessage["cainfo"] = ""                                                                 // 数字签名信息
2506 2506
 	inputMessage["signtype"] = ""                                                               // 签名类型
2507
-	inputMessage["infver"] = "V2.0"                                                             // 接收方系统代码
2507
+	inputMessage["infver"] = "V1.0"                                                             // 接收方系统代码
2508 2508
 	inputMessage["opter_type"] = "1"                                                            // 经办人类别
2509
-	inputMessage["opter"] = doctor                                                              // 经办人
2509
+	inputMessage["opter"] = doctor                                                             // 经办人
2510 2510
 	inputMessage["opter_name"] = doctor                                                         // 经办人姓名
2511 2511
 	inputMessage["inf_time"] = timeFormatOne                                                    // 交易时间
2512 2512
 	inputMessage["fixmedins_code"] = fixmedins_code                                             // 定点医药机构编号
@@ -2800,9 +2800,9 @@ func Gdyb1101B(certNo string, org_name string, doctor string, fixmedins_code str
2800 2800
 	} else {
2801 2801
 		if id_card_type == 1 {
2802 2802
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
2803
-			inputData["card_sn"] = card_sn      // 卡识别码
2803
+			inputData["card_sn"] = ""      // 卡识别码
2804 2804
 			inputData["certno"] = certNo        // 证件号码
2805
-			inputData["psn_cert_type"] = "90"   // 人员证件类型
2805
+			inputData["psn_cert_type"] = "01"   // 人员证件类型
2806 2806
 
2807 2807
 		} else {
2808 2808
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
@@ -2830,7 +2830,9 @@ func Gdyb1101B(certNo string, org_name string, doctor string, fixmedins_code str
2830 2830
 
2831 2831
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
2832 2832
 	url := gdyb_url + "1101"
2833
-
2833
+	fmt.Println(url)
2834
+	fmt.Println(gdyb_paasid)
2835
+	fmt.Println(secret_key)
2834 2836
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/1101"
2835 2837
 	request, err := http.NewRequest("POST", url, reader)
2836 2838
 	if err != nil {