瀏覽代碼

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

csx 1 年之前
父節點
當前提交
34383e0d9e
共有 3 個文件被更改,包括 85 次插入70 次删除
  1. 22 30
      controllers/hb/hbyb_controller.go
  2. 50 29
      controllers/sg/his_api_controller.go
  3. 13 11
      service/hbyb_service.go

+ 22 - 30
controllers/hb/hbyb_controller.go 查看文件

@@ -27,42 +27,34 @@ func HbybRegistRouters() {
27 27
 	beego.Router("/hbyb/2208", &HBybController{}, "get:PostNine")
28 28
 	beego.Router("/hbyb/5203", &HBybController{}, "get:PostTen")
29 29
 	beego.Router("/hbyb/2001", &HBybController{}, "get:Post2001")
30
-	beego.Router("/hbyb/3202", &HBybController{}, "get:Post3202a")
30
+	beego.Router("/hbyb/3202", &HBybController{}, "post:Post3202a")
31 31
 	beego.Router("/hbyb/4101", &HBybController{}, "post:Post4101")
32 32
 
33 33
 }
34 34
 func (c *HBybController) Post3202a() {
35
-	insutype := c.GetString("insutype")
36
-	clrType := c.GetString("clr_type")
37
-	setlOptins := c.GetString("setl_optins")
38
-	stmtBegndate := c.GetString("stmt_begndate")
39
-	stmtEnddate := c.GetString("stm_enddate")
40
-	fundPaySumamt, _ := c.GetFloat("fund_pay_sumamt", 0)
41
-	acctPay, _ := c.GetFloat("acct_pay", 0)
42
-	fixmedins_code := c.GetString("fixmedins_code")
43
-	insuplc_admdvs := c.GetString("insuplc_admdvs")
44
-	mdtrtarea_admvs := c.GetString("mdtrtarea_admvs")
45
-	secret_key := c.GetString("secret_key")
46
-	org_name := c.GetString("org_name")
47
-	doctor := c.GetString("doctor")
48 35
 
49
-	var baseParams models.BaseParams
50
-	baseParams.InsuplcAdmdvs = insuplc_admdvs
51
-	baseParams.MdtrtareaAdmvs = mdtrtarea_admvs
52
-	baseParams.SecretKey = secret_key
53
-	baseParams.OrgName = org_name
54
-	baseParams.Doctor = doctor
55
-	baseParams.FixmedinsCode = fixmedins_code
56
-	businessParams := models.BusinessParams{
57
-		Insutype:      insutype,
58
-		ClrType:       clrType,
59
-		SetlOptins:    setlOptins,
60
-		StmtBegndate:  stmtBegndate,
61
-		StmtEnddate:   stmtEnddate,
62
-		FundPaySumamt: fundPaySumamt,
63
-		AcctPay:       acctPay,
36
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
37
+	var respJSON map[string]interface{}
38
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
39
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
40
+		return
64 41
 	}
65
-	result := service.Hbyb3202a(baseParams, businessParams)
42
+	userJSONBytes, _ := json.Marshal(respJSON["bps"])
43
+	var bps []models.BusinessParams
44
+	if err := json.Unmarshal(userJSONBytes, &bps); err != nil {
45
+		utils.ErrorLog("解析失败:%v", err)
46
+		return
47
+	}
48
+
49
+	var baseParams models.BaseParams
50
+	baseParams.InsuplcAdmdvs = respJSON["insuplc_admdvs"].(string)
51
+	baseParams.MdtrtareaAdmvs = respJSON["mdtrtarea_admvs"].(string)
52
+	baseParams.SecretKey = respJSON["secret_key"].(string)
53
+	baseParams.OrgName = respJSON["org_name"].(string)
54
+	baseParams.Doctor = respJSON["doctor"].(string)
55
+	baseParams.FixmedinsCode = respJSON["fixmedins_code"].(string)
56
+
57
+	result := service.Hbyb3202a(baseParams, bps)
66 58
 	var dat map[string]interface{}
67 59
 	if err := json.Unmarshal([]byte(result), &dat); err == nil {
68 60
 		fmt.Println(dat)

+ 50 - 29
controllers/sg/his_api_controller.go 查看文件

@@ -13106,16 +13106,23 @@ func (c *HisApiController) Post3202() {
13106 13106
 	loc, _ := time.LoadLocation("Local")
13107 13107
 	startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
13108 13108
 	endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
13109
-	orders, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, "", clr_type)
13109
+	orders, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "390", "", clr_type)
13110
+	orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
13111
+
13110 13112
 	fixmedins_setl_cnt := int64(len(orders))
13111 13113
 	var medfee_sumamt float64
13112 13114
 	var acct_pay float64
13113 13115
 	var fund_pay_sumamt float64
13116
+
13117
+	var medfee_sumamt_two float64
13118
+	var acct_pay_two float64
13119
+	var fund_pay_sumamt_two float64
13114 13120
 	for _, item := range orders {
13115
-		medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
13116
-		acct_pay = acct_pay + item.AcctPay
13117
-		fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
13121
+		medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
13122
+		acct_pay_two = acct_pay_two + item.AcctPay
13123
+		fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
13118 13124
 	}
13125
+
13119 13126
 	var user_name string
13120 13127
 	role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
13121 13128
 	if role.ID == 0 {
@@ -13125,27 +13132,42 @@ func (c *HisApiController) Post3202() {
13125 13132
 	}
13126 13133
 	var res ResultSix
13127 13134
 	if config.IsOpen == 1 {
13135
+		var bps []models.BusinessParams
13136
+		var bp models.BusinessParams
13137
+		bp.MedfeeSumamt = medfee_sumamt
13138
+		bp.AcctPay = acct_pay
13139
+		bp.FundPaySumamt = fund_pay_sumamt
13140
+		bp.Insutype = "390"
13141
+		bp.StmtBegndate = start_time
13142
+		bp.ClrType = clr_type
13143
+		bp.SetlOptins = clr_org
13144
+		bp.StmtEnddate = end_time
13145
+		bps = append(bps, bp)
13146
+
13147
+		bp.MedfeeSumamt = medfee_sumamt_two
13148
+		bp.AcctPay = acct_pay_two
13149
+		bp.FundPaySumamt = fund_pay_sumamt_two
13150
+		bp.Insutype = "310"
13151
+		bp.StmtBegndate = start_time
13152
+		bp.StmtEnddate = end_time
13153
+		bp.ClrType = clr_type
13154
+		bp.SetlOptins = clr_org
13155
+		bps = append(bps, bp)
13156
+
13157
+		data := make(map[string]interface{})
13158
+		data["bps"] = bps
13159
+		data["org_name"] = miConfig.OrgName
13160
+		data["doctor"] = role.UserName
13161
+		data["fixmedins_code"] = miConfig.Code
13162
+		data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
13163
+		data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
13164
+
13128 13165
 		if miConfig.MdtrtareaAdmvs == "421300" {
13129
-			api := "http://192.168.124.4:9532/" + "hbyb/3202?" +
13130
-				"insutype=" + insutype +
13131
-				"&clr_type=" + clr_type +
13132
-				"&setl_optins=" + clr_org +
13133
-				"&stmt_begndate=" + start_time +
13134
-				"&stm_enddate=" + end_time +
13135
-				"&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
13136
-				"&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
13137
-				"&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt, 10) +
13138
-				"&fixmedins_code=" + miConfig.Code +
13139
-				"&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
13140
-				"&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
13141
-				"&secret_key=" + miConfig.SecretKey +
13142
-				"&org_name=" + miConfig.OrgName +
13143
-				"&doctor=" + user_name
13144
-			resp, requestErr := http.Get(api)
13145
-			if requestErr != nil {
13146
-				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
13147
-				return
13148
-			}
13166
+			client := &http.Client{}
13167
+			bytesData, _ := json.Marshal(data)
13168
+			req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/3202", bytes.NewReader(bytesData))
13169
+			resp, _ := client.Do(req)
13170
+			defer resp.Body.Close()
13149 13171
 			body, ioErr := ioutil.ReadAll(resp.Body)
13150 13172
 			if ioErr != nil {
13151 13173
 				utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
@@ -13153,22 +13175,21 @@ func (c *HisApiController) Post3202() {
13153 13175
 				return
13154 13176
 			}
13155 13177
 			var respJSON map[string]interface{}
13156
-			if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
13178
+			if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
13157 13179
 				utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
13158 13180
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
13159 13181
 				return
13160 13182
 			}
13161 13183
 
13162 13184
 			respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
13163
-			result, _ := json.Marshal(respJSON)
13185
+			userJSONBytes, _ := json.Marshal(respJSON)
13164 13186
 			fmt.Println("log")
13165
-			fmt.Println(string(result))
13166
-			if err := json.Unmarshal([]byte(result), &res); err != nil {
13187
+			fmt.Println(string(userJSONBytes))
13188
+			if err := json.Unmarshal(userJSONBytes, &res); err != nil {
13167 13189
 				utils.ErrorLog("解析失败:%v", err)
13168 13190
 				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
13169 13191
 				return
13170 13192
 			}
13171
-
13172 13193
 		}
13173 13194
 
13174 13195
 		if res.Infcode == 0 {

+ 13 - 11
service/hbyb_service.go 查看文件

@@ -875,8 +875,7 @@ func Hbyb3201(baseParams models.BaseParams, businessParams models.BusinessParams
875 875
 	return str
876 876
 }
877 877
 
878
-func Hbyb3202a(baseParams models.BaseParams, businessParams models.BusinessParams) string {
879
-	fmt.Println("11222333-----")
878
+func Hbyb3202a(baseParams models.BaseParams, businessParams []models.BusinessParams) string {
880 879
 
881 880
 	fmt.Println(baseParams)
882 881
 	fmt.Println(businessParams)
@@ -891,15 +890,18 @@ func Hbyb3202a(baseParams models.BaseParams, businessParams models.BusinessParam
891 890
 	//inputDatas := []make(map[string]interface{})
892 891
 	inputDatas := make([]map[string]interface{}, 0)
893 892
 
894
-	inputMessage["infno"] = "3202a"                             // 交易编码
895
-	inputData["insutype"] = businessParams.Insutype             // 险种
896
-	inputData["clr_type"] = businessParams.ClrType              // 就诊 ID(来自2201接口返回)
897
-	inputData["setl_optins"] = businessParams.SetlOptins        // 结算经办机构
898
-	inputData["stmt_begndate"] = businessParams.StmtBegndate    // 对帐开始时间
899
-	inputData["stmt_enddate"] = businessParams.StmtEnddate      //对帐结束时间
900
-	inputData["fund_pay_sumamt"] = businessParams.FundPaySumamt //基金支付总额
901
-	inputData["acct_pay"] = businessParams.AcctPay              //个人账户支付金额
902
-	inputDatas = append(inputDatas, inputData)
893
+	inputMessage["infno"] = "3202a" // 交易编码
894
+	for _, item := range businessParams {
895
+		inputData["insutype"] = item.Insutype             // 险种
896
+		inputData["clr_type"] = item.ClrType              // 就诊 ID(来自2201接口返回)
897
+		inputData["setl_optins"] = item.SetlOptins        // 结算经办机构
898
+		inputData["stmt_begndate"] = item.StmtBegndate    // 对帐开始时间
899
+		inputData["stmt_enddate"] = item.StmtEnddate      //对帐结束时间
900
+		inputData["fund_pay_sumamt"] = item.FundPaySumamt //基金支付总额
901
+		inputData["acct_pay"] = item.AcctPay              //个人账户支付金额
902
+		inputData["med_type"] = "14"                      //个人账户支付金额
903
+		inputDatas = append(inputDatas, inputData)
904
+	}
903 905
 	input["clrdata"] = inputDatas
904 906
 	inputMessage["input"] = input //交易输入
905 907