|
@@ -729,6 +729,63 @@ func Gdyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doct
|
729
|
729
|
return str
|
730
|
730
|
}
|
731
|
731
|
|
|
732
|
+// 门诊结算撤销
|
|
733
|
+func Gdyb3201(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
|
|
734
|
+ // 生成签名
|
|
735
|
+ nonce := GetRandomString(32)
|
|
736
|
+ timestamp := time.Now().Unix()
|
|
737
|
+ signature := setSignature(timestamp, nonce, secret_key)
|
|
738
|
+
|
|
739
|
+ // 生成输入报文
|
|
740
|
+ inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
|
|
741
|
+ input := make(map[string]interface{})
|
|
742
|
+ inputData := make(map[string]interface{})
|
|
743
|
+ inputMessage["infno"] = "2208" // 交易编码
|
|
744
|
+
|
|
745
|
+ inputData["psn_no"] = psnNo // 人员编号 (来自1101接口返回)
|
|
746
|
+ inputData["mdtrt_id"] = mdtrtId // 就诊 ID(来自2201接口返回)
|
|
747
|
+ inputData["setl_id"] = setlId // 结算 ID
|
|
748
|
+
|
|
749
|
+ input["data"] = inputData
|
|
750
|
+ inputMessage["input"] = input //交易输入
|
|
751
|
+
|
|
752
|
+ bytesData, err := json.Marshal(inputMessage)
|
|
753
|
+ fmt.Println(string(bytesData))
|
|
754
|
+ if err != nil {
|
|
755
|
+ fmt.Println(err.Error())
|
|
756
|
+ return err.Error()
|
|
757
|
+ }
|
|
758
|
+ reader := bytes.NewReader(bytesData)
|
|
759
|
+
|
|
760
|
+ url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/2208"
|
|
761
|
+ request, err := http.NewRequest("POST", url, reader)
|
|
762
|
+ if err != nil {
|
|
763
|
+ fmt.Println(err.Error())
|
|
764
|
+ return err.Error()
|
|
765
|
+ }
|
|
766
|
+
|
|
767
|
+ request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
|
768
|
+ request.Header.Set("x-tif-paasid", "test_hosp")
|
|
769
|
+ request.Header.Set("x-tif-signature", signature)
|
|
770
|
+ request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
|
|
771
|
+ request.Header.Set("x-tif-nonce", nonce)
|
|
772
|
+
|
|
773
|
+ client := http.Client{}
|
|
774
|
+ resp, err := client.Do(request)
|
|
775
|
+ if err != nil {
|
|
776
|
+ fmt.Println(err.Error())
|
|
777
|
+ return err.Error()
|
|
778
|
+ }
|
|
779
|
+ respBytes, err := ioutil.ReadAll(resp.Body)
|
|
780
|
+ if err != nil {
|
|
781
|
+ fmt.Println(err.Error())
|
|
782
|
+ return err.Error()
|
|
783
|
+ }
|
|
784
|
+ str := string(respBytes)
|
|
785
|
+ fmt.Println(str)
|
|
786
|
+ return str
|
|
787
|
+}
|
|
788
|
+
|
732
|
789
|
// 门诊结算撤销
|
733
|
790
|
//func Gdyb4101(psnNo string, mdtrtId string, setlId string) string {
|
734
|
791
|
// // 生成签名
|