Browse Source

Merge branch '20201014_xt_api_new_branch' of http://git.shengws.com/csx/XT_New into 20201014_xt_api_new_branch

csx 4 years ago
parent
commit
8b1cbd6e60
2 changed files with 58 additions and 1 deletions
  1. 1 1
      controllers/his_api_controller.go
  2. 57 0
      service/gdyb_service.go

+ 1 - 1
controllers/his_api_controller.go View File

@@ -354,7 +354,7 @@ func (c *HisApiController) CreateHisPrescription() {
354 354
 							s.Status = 1
355 355
 							s.UserOrgId = adminInfo.CurrentOrgId
356 356
 							s.RecordDate = recordDateTime
357
-							s.StartTime = recordDateTime
357
+							s.StartTime = time.Now().Unix()
358 358
 							s.Groupno = groupNo
359 359
 							s.CreatedTime = ctime
360 360
 							s.UpdatedTime = mtime

+ 57 - 0
service/gdyb_service.go View File

@@ -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
 //	// 生成签名