csx 4 years ago
parent
commit
65ff6a1312
2 changed files with 62 additions and 0 deletions
  1. 8 0
      controllers/his_api_controller.go
  2. 54 0
      service/gdyb_service.go

+ 8 - 0
controllers/his_api_controller.go View File

@@ -2134,6 +2134,7 @@ func (c *HisApiController) PutRecord() {
2134 2134
 
2135 2135
 			doctor_id := strconv.FormatInt(patientPrescription.DoctorId, 10)
2136 2136
 			result := service.Gdyb2503(his.PsnNo, res.Output.Iinfo[0].Insutype, miConfig.OrgName, patientPrescription.Doctor, miConfig.Code, doctor_id, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "重症尿毒症透析(血透)", "M07801")
2137
+			result2 := service.Gdyb5301(his.PsnNo, res.Output.Iinfo[0].Insutype, miConfig.OrgName, patientPrescription.Doctor, miConfig.Code, doctor_id, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "重症尿毒症透析(血透)", "M07801")
2137 2138
 
2138 2139
 			var dat map[string]interface{}
2139 2140
 			if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -2142,6 +2143,13 @@ func (c *HisApiController) PutRecord() {
2142 2143
 				fmt.Println(err)
2143 2144
 			}
2144 2145
 
2146
+			var dat2 map[string]interface{}
2147
+			if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
2148
+				fmt.Println(dat2)
2149
+			} else {
2150
+				fmt.Println(err)
2151
+			}
2152
+
2145 2153
 		} else {
2146 2154
 			adminUser := c.GetAdminUserInfo()
2147 2155
 			errlog := &models.HisOrderError{

+ 54 - 0
service/gdyb_service.go View File

@@ -1302,6 +1302,60 @@ func Gdyb2503(psnNo string, insutype string, org_name string, doctor string, fix
1302 1302
 	return str
1303 1303
 }
1304 1304
 
1305
+func Gdyb5301(psnNo string, insutype string, org_name string, doctor string, fixmedins_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, sick_name string, sick_code string) string {
1306
+	// 生成签名
1307
+	nonce := GetRandomString(32)
1308
+	timestamp := time.Now().Unix()
1309
+	signature := setSignature(timestamp, nonce, secret_key)
1310
+	//tempTime := time.Unix(timestamp, 0)
1311
+	//timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
1312
+
1313
+	//timeFormatTwo := tempTime.Format("2006-01-02")
1314
+
1315
+	// 生成输入报文
1316
+	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
1317
+	input := make(map[string]interface{})
1318
+	inputData := make(map[string]interface{})
1319
+	inputMessage["infno"] = "5301" // 交易编码
1320
+	inputData["psn_no"] = psnNo    // 人员编号 (来自1101接口返回)
1321
+	input["data"] = inputData
1322
+	inputMessage["input"] = input //交易输入
1323
+	bytesData, err := json.Marshal(inputMessage)
1324
+	fmt.Println(string(bytesData))
1325
+	if err != nil {
1326
+		fmt.Println(err.Error())
1327
+		return err.Error()
1328
+	}
1329
+	reader := bytes.NewReader(bytesData)
1330
+	url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1331
+	request, err := http.NewRequest("POST", url, reader)
1332
+	if err != nil {
1333
+		fmt.Println(err.Error())
1334
+		return err.Error()
1335
+	}
1336
+
1337
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1338
+	request.Header.Set("x-tif-paasid", "sg03_prd")
1339
+	request.Header.Set("x-tif-signature", signature)
1340
+	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
1341
+	request.Header.Set("x-tif-nonce", nonce)
1342
+
1343
+	client := http.Client{}
1344
+	resp, err := client.Do(request)
1345
+	if err != nil {
1346
+		fmt.Println(err.Error())
1347
+		return err.Error()
1348
+	}
1349
+	respBytes, err := ioutil.ReadAll(resp.Body)
1350
+	if err != nil {
1351
+		fmt.Println(err.Error())
1352
+		return err.Error()
1353
+	}
1354
+	str := string(respBytes)
1355
+	fmt.Println(str)
1356
+	return str
1357
+}
1358
+
1305 1359
 //  门诊结算撤销
1306 1360
 //func Gdyb4101(psnNo string, mdtrtId string, setlId string) string {
1307 1361
 //	// 生成签名