浏览代码

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

test_user 4 周前
父节点
当前提交
e4ac399611
共有 7 个文件被更改,包括 1064 次插入591 次删除
  1. 275 0
      controllers/nm/nm_controller.go
  2. 299 251
      controllers/sg/his_api_controller.go
  3. 134 50
      service/ahyb_service.go
  4. 91 80
      service/gdyb_service.go
  5. 16 2
      service/hn_service.go
  6. 154 123
      service/jx_service.go
  7. 95 85
      service/nm_service.go

+ 275 - 0
controllers/nm/nm_controller.go 查看文件

78
 	beego.Router("/nmyb/3512", &NmController{}, "get:Post3512")
78
 	beego.Router("/nmyb/3512", &NmController{}, "get:Post3512")
79
 	beego.Router("/nmyb/3513", &NmController{}, "get:Post3513")
79
 	beego.Router("/nmyb/3513", &NmController{}, "get:Post3513")
80
 
80
 
81
+	beego.Router("/nmyb/001", &NmController{}, "get:Post001")
82
+	beego.Router("/nmyb/002", &NmController{}, "get:Post002")
83
+	beego.Router("/nmyb/003", &NmController{}, "get:Post003")
84
+	beego.Router("/nmyb/004", &NmController{}, "get:Post004")
85
+	beego.Router("/nmyb/005", &NmController{}, "get:Post005")
86
+	beego.Router("/nmyb/006", &NmController{}, "get:Post006")
87
+	beego.Router("/nmyb/007", &NmController{}, "get:Post007")
88
+	beego.Router("/nmyb/008", &NmController{}, "get:Post008")
89
+
90
+}
91
+func (c *NmController) Post001() {
92
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
93
+	var respJSON map[string]interface{}
94
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
95
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
96
+		return
97
+	}
98
+
99
+	userJSONBytes, _ := json.Marshal(respJSON["struct_001"])
100
+	var struct3501 models.CFYLJG001
101
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
102
+		utils.ErrorLog("解析失败:%v", err)
103
+		return
104
+	}
105
+
106
+	result, request_log := service.GetAHCFYLJG001("")
107
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
108
+	var dat2 map[string]interface{}
109
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
110
+	} else {
111
+	}
112
+	var dat map[string]interface{}
113
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
114
+	} else {
115
+
116
+	}
117
+	c.ServeSuccessJSON(map[string]interface{}{
118
+		"pre":         dat,
119
+		"request_log": dat2,
120
+	})
121
+
122
+}
123
+func (c *NmController) Post002() {
124
+
125
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
126
+	var respJSON map[string]interface{}
127
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
128
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
129
+		return
130
+	}
131
+
132
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
133
+	var struct3501 models.Struct3501
134
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
135
+		utils.ErrorLog("解析失败:%v", err)
136
+		return
137
+	}
138
+
139
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
140
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
141
+	var dat2 map[string]interface{}
142
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
143
+	} else {
144
+	}
145
+	var dat map[string]interface{}
146
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
147
+	} else {
148
+
149
+	}
150
+	c.ServeSuccessJSON(map[string]interface{}{
151
+		"pre":         dat,
152
+		"request_log": dat2,
153
+	})
154
+
155
+}
156
+
157
+func (c *NmController) Post003() {
158
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
159
+	var respJSON map[string]interface{}
160
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
161
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
162
+		return
163
+	}
164
+
165
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
166
+	var struct3501 models.Struct3501
167
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
168
+		utils.ErrorLog("解析失败:%v", err)
169
+		return
170
+	}
171
+
172
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
173
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
174
+	var dat2 map[string]interface{}
175
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
176
+	} else {
177
+	}
178
+	var dat map[string]interface{}
179
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
180
+	} else {
181
+
182
+	}
183
+	c.ServeSuccessJSON(map[string]interface{}{
184
+		"pre":         dat,
185
+		"request_log": dat2,
186
+	})
187
+
188
+}
189
+
190
+func (c *NmController) Post004() {
191
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
192
+	var respJSON map[string]interface{}
193
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
194
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
195
+		return
196
+	}
197
+
198
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
199
+	var struct3501 models.Struct3501
200
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
201
+		utils.ErrorLog("解析失败:%v", err)
202
+		return
203
+	}
204
+
205
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
206
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
207
+	var dat2 map[string]interface{}
208
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
209
+	} else {
210
+	}
211
+	var dat map[string]interface{}
212
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
213
+	} else {
214
+
215
+	}
216
+	c.ServeSuccessJSON(map[string]interface{}{
217
+		"pre":         dat,
218
+		"request_log": dat2,
219
+	})
220
+
221
+}
222
+
223
+func (c *NmController) Post005() {
224
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
225
+	var respJSON map[string]interface{}
226
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
227
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
228
+		return
229
+	}
230
+
231
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
232
+	var struct3501 models.Struct3501
233
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
234
+		utils.ErrorLog("解析失败:%v", err)
235
+		return
236
+	}
237
+
238
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
239
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
240
+	var dat2 map[string]interface{}
241
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
242
+	} else {
243
+	}
244
+	var dat map[string]interface{}
245
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
246
+	} else {
247
+
248
+	}
249
+	c.ServeSuccessJSON(map[string]interface{}{
250
+		"pre":         dat,
251
+		"request_log": dat2,
252
+	})
253
+
254
+}
255
+
256
+func (c *NmController) Post006() {
257
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
258
+	var respJSON map[string]interface{}
259
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
260
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
261
+		return
262
+	}
263
+
264
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
265
+	var struct3501 models.Struct3501
266
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
267
+		utils.ErrorLog("解析失败:%v", err)
268
+		return
269
+	}
270
+
271
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
272
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
273
+	var dat2 map[string]interface{}
274
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
275
+	} else {
276
+	}
277
+	var dat map[string]interface{}
278
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
279
+	} else {
280
+
281
+	}
282
+	c.ServeSuccessJSON(map[string]interface{}{
283
+		"pre":         dat,
284
+		"request_log": dat2,
285
+	})
286
+
287
+}
288
+
289
+func (c *NmController) Post007() {
290
+
291
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
292
+	var respJSON map[string]interface{}
293
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
294
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
295
+		return
296
+	}
297
+
298
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
299
+	var struct3501 models.Struct3501
300
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
301
+		utils.ErrorLog("解析失败:%v", err)
302
+		return
303
+	}
304
+
305
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
306
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
307
+	var dat2 map[string]interface{}
308
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
309
+	} else {
310
+	}
311
+	var dat map[string]interface{}
312
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
313
+	} else {
314
+
315
+	}
316
+	c.ServeSuccessJSON(map[string]interface{}{
317
+		"pre":         dat,
318
+		"request_log": dat2,
319
+	})
320
+
321
+}
322
+
323
+func (c *NmController) Post008() {
324
+
325
+	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
326
+	var respJSON map[string]interface{}
327
+	if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
328
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
329
+		return
330
+	}
331
+
332
+	userJSONBytes, _ := json.Marshal(respJSON["struct_3501s"])
333
+	var struct3501 models.Struct3501
334
+	if err := json.Unmarshal(userJSONBytes, &struct3501); err != nil {
335
+		utils.ErrorLog("解析失败:%v", err)
336
+		return
337
+	}
338
+
339
+	result, request_log := service.NMyb3501(struct3501, struct3501.SecretKey)
340
+	saveJsLog(result, request_log, "3501", "库存盘点", struct3501.OrgName)
341
+	var dat2 map[string]interface{}
342
+	if err := json.Unmarshal([]byte(request_log), &dat2); err == nil {
343
+	} else {
344
+	}
345
+	var dat map[string]interface{}
346
+	if err := json.Unmarshal([]byte(result), &dat); err == nil {
347
+	} else {
348
+
349
+	}
350
+	c.ServeSuccessJSON(map[string]interface{}{
351
+		"pre":         dat,
352
+		"request_log": dat2,
353
+	})
354
+
81
 }
355
 }
356
+
82
 func (c *NmController) Post3501() {
357
 func (c *NmController) Post3501() {
83
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
358
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
84
 	var respJSON map[string]interface{}
359
 	var respJSON map[string]interface{}

文件差异内容过多而无法显示
+ 299 - 251
controllers/sg/his_api_controller.go


+ 134 - 50
service/ahyb_service.go 查看文件

3326
 //		return AHHttpRequest(struct3505.RequestUrl, struct3505.AccessKey, struct3505.SecretKey, timestamp, string(bytesData), "3505"), string(bytesData)
3326
 //		return AHHttpRequest(struct3505.RequestUrl, struct3505.AccessKey, struct3505.SecretKey, timestamp, string(bytesData), "3505"), string(bytesData)
3327
 //
3327
 //
3328
 // }
3328
 // }
3329
-func AHyb3506(struct3506 models.Struct3506) (string, string) {
3330
-	timestamp := time.Now().Unix()
3331
-	// 生成输入报文
3332
-	inputMessage := SetAHInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.FixmedinsCode, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, struct3506.Cainfo)
3333
-	input := make(map[string]interface{})
3334
-	inputData := make(map[string]interface{})
3335
-	inputMessage["infno"] = "3506"                                  // 交易编码
3336
-	inputData["med_list_codg"] = struct3506.MedListCodg             // 定点医药机构目录编号
3337
-	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId // 定点医药机构目录编号
3338
-	inputData["fixmedins_hilist_name"] = struct3506.OrgName         // 定点医药机构目录名称
3339
-	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno        // 人员编号 (来自1101接口返回)
3340
-
3341
-	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3342
-	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
3343
-	inputData["psn_cert_type"] = struct3506.PsnCertType            // 人员编号 (来自1101接口返回)
3344
-	inputData["certno"] = struct3506.Certno                        // 人员编号 (来自1101接口返回)
3345
-	inputData["psn_name"] = struct3506.PsnName                     // 人员编号 (来自1101接口返回)
3346
-	inputData["manu_lotnum"] = struct3506.ManuLotnum               // 人员编号 (来自1101接口返回)
3347
-	inputData["manu_date"] = struct3506.ManuDate                   // 人员编号 (来自1101接口返回)
3348
-	inputData["expy_end"] = struct3506.ExpyEnd                     // 人员编号 (来自1101接口返回)
3349
-	inputData["rx_flag"] = struct3506.RxFlag                       // 人员编号 (来自1101接口返回)
3350
-	inputData["trdn_flag"] = struct3506.TrdnFlag                   // 人员编号 (来自1101接口返回)
3351
-	inputData["finl_trns_pric"] = struct3506.FinlTrnsPric          // 人员编号 (来自1101接口返回)
3352
-	inputData["sel_retn_cnt"] = struct3506.SelRetnCnt              // 人员编号 (来自1101接口返回)
3353
-	inputData["sel_retn_time"] = struct3506.SelRetnTime            // 人员编号 (来自1101接口返回)
3354
-	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
3355
-	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
3356
-	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
3357
-
3358
-	input["selinfo"] = inputData
3359
-	inputMessage["input"] = input //交易输入
3360
-	argInputMessage := make(map[string]interface{})
3361
-	argInputMessage["arg0"] = inputMessage
3362
-	bytesData, err := json.Marshal(argInputMessage)
3363
-	fmt.Println(string(bytesData))
3364
-	if err != nil {
3365
-		fmt.Println(err.Error())
3366
-		return err.Error(), ""
3367
-	}
3368
-	struct3506.RequestUrl = struct3506.RequestUrl + "3506"
3369
-	return AHHttpRequest(struct3506.RequestUrl, struct3506.AccessKey, struct3506.SecretKey, timestamp, string(bytesData), "3506"), string(bytesData)
3370
-
3371
-}
3329
+//func AHyb3506(struct3506 models.Struct3506) (string, string) {
3330
+//	timestamp := time.Now().Unix()
3331
+//	// 生成输入报文
3332
+//	inputMessage := SetAHInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.FixmedinsCode, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, struct3506.Cainfo)
3333
+//	input := make(map[string]interface{})
3334
+//	inputData := make(map[string]interface{})
3335
+//	inputMessage["infno"] = "3506"                                  // 交易编码
3336
+//	inputData["med_list_codg"] = struct3506.MedListCodg             // 定点医药机构目录编号
3337
+//	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId // 定点医药机构目录编号
3338
+//	inputData["fixmedins_hilist_name"] = struct3506.OrgName         // 定点医药机构目录名称
3339
+//	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno        // 人员编号 (来自1101接口返回)
3340
+//
3341
+//	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3342
+//	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
3343
+//	inputData["psn_cert_type"] = struct3506.PsnCertType            // 人员编号 (来自1101接口返回)
3344
+//	inputData["certno"] = struct3506.Certno                        // 人员编号 (来自1101接口返回)
3345
+//	inputData["psn_name"] = struct3506.PsnName                     // 人员编号 (来自1101接口返回)
3346
+//	inputData["manu_lotnum"] = struct3506.ManuLotnum               // 人员编号 (来自1101接口返回)
3347
+//	inputData["manu_date"] = struct3506.ManuDate                   // 人员编号 (来自1101接口返回)
3348
+//	inputData["expy_end"] = struct3506.ExpyEnd                     // 人员编号 (来自1101接口返回)
3349
+//	inputData["rx_flag"] = struct3506.RxFlag                       // 人员编号 (来自1101接口返回)
3350
+//	inputData["trdn_flag"] = struct3506.TrdnFlag                   // 人员编号 (来自1101接口返回)
3351
+//	inputData["finl_trns_pric"] = struct3506.FinlTrnsPric          // 人员编号 (来自1101接口返回)
3352
+//	inputData["sel_retn_cnt"] = struct3506.SelRetnCnt              // 人员编号 (来自1101接口返回)
3353
+//	inputData["sel_retn_time"] = struct3506.SelRetnTime            // 人员编号 (来自1101接口返回)
3354
+//	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
3355
+//	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
3356
+//	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
3357
+//
3358
+//	input["selinfo"] = inputData
3359
+//	inputMessage["input"] = input //交易输入
3360
+//	argInputMessage := make(map[string]interface{})
3361
+//	argInputMessage["arg0"] = inputMessage
3362
+//	bytesData, err := json.Marshal(argInputMessage)
3363
+//	fmt.Println(string(bytesData))
3364
+//	if err != nil {
3365
+//		fmt.Println(err.Error())
3366
+//		return err.Error(), ""
3367
+//	}
3368
+//	struct3506.RequestUrl = struct3506.RequestUrl + "3506"
3369
+//	return AHHttpRequest(struct3506.RequestUrl, struct3506.AccessKey, struct3506.SecretKey, timestamp, string(bytesData), "3506"), string(bytesData)
3370
+//
3371
+//}
3372
 
3372
 
3373
 func AHyb3507(struct3507 models.Struct3507) (string, string) {
3373
 func AHyb3507(struct3507 models.Struct3507) (string, string) {
3374
 	timestamp := time.Now().Unix()
3374
 	timestamp := time.Now().Unix()
3376
 	inputMessage := SetAHInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3376
 	inputMessage := SetAHInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3377
 	input := make(map[string]interface{})
3377
 	input := make(map[string]interface{})
3378
 	inputData := make(map[string]interface{})
3378
 	inputData := make(map[string]interface{})
3379
-	inputMessage["infno"] = "3507"                          // 交易编码
3379
+	inputMessage["infno"] = "3507"                           // 交易编码
3380
 	inputData["fixmedins_bchno"] = struct3507.FixmedinsBchno // 人员编号 (来自1101接口返回)
3380
 	inputData["fixmedins_bchno"] = struct3507.FixmedinsBchno // 人员编号 (来自1101接口返回)
3381
-	inputData["inv_data_type"] = struct3507.InvDataType     // 人员编号 (来自1101接口返回)
3381
+	inputData["inv_data_type"] = struct3507.InvDataType      // 人员编号 (来自1101接口返回)
3382
 
3382
 
3383
 	input["data"] = inputData
3383
 	input["data"] = inputData
3384
 	inputMessage["input"] = input //交易输入
3384
 	inputMessage["input"] = input //交易输入
3535
 	return str, string(bytesData)
3535
 	return str, string(bytesData)
3536
 }
3536
 }
3537
 
3537
 
3538
+func AHyb3506(struct3506 models.Struct3506, secret_key string, request_url string) (string, string) {
3539
+	// 生成签名
3540
+	//nonce := GetRandomString(32)
3541
+	timestamp := time.Now().Unix()
3542
+	//signature := setSignature(timestamp, nonce, secret_key)
3543
+
3544
+	// 生成输入报文
3545
+	inputMessage := SetAHInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.Code, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, struct3506.Cainfo)
3546
+	input := make(map[string]interface{})
3547
+	inputData := make(map[string]interface{})
3548
+	inputMessage["infno"] = "3506"                                  // 交易编码
3549
+	inputData["med_list_codg"] = struct3506.MedListCodg             // 定点医药机构目录编号
3550
+	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId // 定点医药机构目录编号
3551
+	inputData["fixmedins_hilist_name"] = struct3506.OrgName         // 定点医药机构目录名称
3552
+	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno        // 人员编号 (来自1101接口返回)
3553
+
3554
+	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
3555
+	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
3556
+	inputData["psn_cert_type"] = struct3506.PsnCertType            // 人员编号 (来自1101接口返回)
3557
+	inputData["certno"] = struct3506.Certno                        // 人员编号 (来自1101接口返回)
3558
+	inputData["psn_name"] = struct3506.PsnName                     // 人员编号 (来自1101接口返回)
3559
+	inputData["manu_lotnum"] = struct3506.ManuLotnum               // 人员编号 (来自1101接口返回)
3560
+	inputData["manu_date"] = struct3506.ManuDate                   // 人员编号 (来自1101接口返回)
3561
+	inputData["expy_end"] = struct3506.ExpyEnd                     // 人员编号 (来自1101接口返回)
3562
+	inputData["rx_flag"] = struct3506.RxFlag                       // 人员编号 (来自1101接口返回)
3563
+	inputData["trdn_flag"] = struct3506.TrdnFlag                   // 人员编号 (来自1101接口返回)
3564
+	inputData["finl_trns_pric"] = struct3506.FinlTrnsPric          // 人员编号 (来自1101接口返回)
3565
+	inputData["sel_retn_cnt"] = struct3506.SelRetnCnt              // 人员编号 (来自1101接口返回)
3566
+	inputData["sel_retn_time"] = struct3506.SelRetnTime            // 人员编号 (来自1101接口返回)
3567
+	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
3568
+	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
3569
+	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
3570
+
3571
+	feedetail := make([]map[string]interface{}, 0)
3572
+
3573
+	codes := strings.Split(struct3506.DrugTracCodg, ",")
3574
+	for _, item := range codes {
3575
+		if len(item) > 0 {
3576
+			druginputData := make(map[string]interface{})
3577
+			druginputData["drug_trac_codg"] = item
3578
+			feedetail = append(feedetail, druginputData)
3579
+		}
3580
+	}
3581
+	inputData["drugtracinfo"] = feedetail
3582
+	input["selinfo"] = inputData
3583
+	inputMessage["input"] = input //交易输入
3584
+	argInputMessage := make(map[string]interface{})
3585
+	argInputMessage["arg0"] = inputMessage
3586
+
3587
+	bytesData, err := json.Marshal(argInputMessage)
3588
+	fmt.Println(string(bytesData))
3589
+	if err != nil {
3590
+		fmt.Println(err.Error())
3591
+		return err.Error(), ""
3592
+	}
3593
+	reader := bytes.NewReader(bytesData)
3594
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
3595
+	//gdyb_url := beego.AppConfig.String("gdyb_url")
3596
+	//gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
3597
+	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/1101"
3598
+	//url := gdyb_url + "3505"
3599
+	request_url = request_url + "3506"
3600
+
3601
+	request, err := http.NewRequest("POST", request_url, reader)
3602
+	if err != nil {
3603
+		fmt.Println(err.Error())
3604
+		return err.Error(), ""
3605
+	}
3606
+
3607
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
3608
+
3609
+	client := http.Client{}
3610
+	resp, err := client.Do(request)
3611
+	if err != nil {
3612
+		fmt.Println(err.Error())
3613
+		return err.Error(), ""
3614
+	}
3615
+	respBytes, err := ioutil.ReadAll(resp.Body)
3616
+	if err != nil {
3617
+		fmt.Println(err.Error())
3618
+		return err.Error(), ""
3619
+	}
3620
+	str := string(respBytes)
3621
+	fmt.Println(str)
3622
+	return str, string(bytesData)
3623
+}
3538
 
3624
 
3539
 func AHyb3511(struct3511 models.Struct3511, request_url string) (string, string) {
3625
 func AHyb3511(struct3511 models.Struct3511, request_url string) (string, string) {
3540
 	// 生成签名
3626
 	// 生成签名
3781
 	return str, string(bytesData)
3867
 	return str, string(bytesData)
3782
 }
3868
 }
3783
 
3869
 
3784
-
3785
-func AHyb5101(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string,  request_url string, cainfo string) (string, string) {
3870
+func AHyb5101(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string) (string, string) {
3786
 	fmt.Println(request_url)
3871
 	fmt.Println(request_url)
3787
 
3872
 
3788
 	// 生成签名
3873
 	// 生成签名
3792
 	input := make(map[string]interface{})
3877
 	input := make(map[string]interface{})
3793
 
3878
 
3794
 	inputMessage["infno"] = "5101" // 交易编码
3879
 	inputMessage["infno"] = "5101" // 交易编码
3795
-	inputMessage["input"] = input //交易输入
3880
+	inputMessage["input"] = input  //交易输入
3796
 	argInputMessage := make(map[string]interface{})
3881
 	argInputMessage := make(map[string]interface{})
3797
 	argInputMessage["arg0"] = inputMessage
3882
 	argInputMessage["arg0"] = inputMessage
3798
 	bytesData, err := json.Marshal(argInputMessage)
3883
 	bytesData, err := json.Marshal(argInputMessage)
3835
 	return str, string(bytesData)
3920
 	return str, string(bytesData)
3836
 
3921
 
3837
 }
3922
 }
3838
-func AHyb5102(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string,  request_url string, cainfo string) (string, string) {
3923
+func AHyb5102(org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string) (string, string) {
3839
 	fmt.Println(request_url)
3924
 	fmt.Println(request_url)
3840
 
3925
 
3841
 	// 生成签名
3926
 	// 生成签名
3857
 	argInputMessage := make(map[string]interface{})
3942
 	argInputMessage := make(map[string]interface{})
3858
 	argInputMessage["arg0"] = inputMessage
3943
 	argInputMessage["arg0"] = inputMessage
3859
 
3944
 
3860
-
3861
 	bytesData, err := json.Marshal(argInputMessage)
3945
 	bytesData, err := json.Marshal(argInputMessage)
3862
 	fmt.Println(string(bytesData))
3946
 	fmt.Println(string(bytesData))
3863
 	if err != nil {
3947
 	if err != nil {

+ 91 - 80
service/gdyb_service.go 查看文件

1590
 //	门诊预结算
1590
 //	门诊预结算
1591
 //
1591
 //
1592
 // func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
1592
 // func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, secret_key string) string {
1593
-func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, admin_user_id int64,acct_used_flag string) (string, string) {
1593
+func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, admin_user_id int64, acct_used_flag string) (string, string) {
1594
 
1594
 
1595
 	// 生成签名
1595
 	// 生成签名
1596
 	nonce := GetRandomString(32)
1596
 	nonce := GetRandomString(32)
1631
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
1631
 		inputData["med_type"] = med_type // 医疗类别 11 普通门诊  12 门诊挂号
1632
 	}
1632
 	}
1633
 
1633
 
1634
-	inputData["medfee_sumamt"] = total  // 医疗费总额
1635
-	inputData["psn_setlway"] = "01"     // 个人结算方式 01 按项目结 02 按定额结算
1636
-	inputData["mdtrt_id"] = mdtrtId     // 就诊 ID(来自2201接口返回)
1637
-	inputData["chrg_bchno"] = chrgBchno // 收费批次号(来自2204生成的)
1638
-	inputData["acct_used_flag"] = acct_used_flag   // 个人账户使用标志 0否 1是
1639
-	inputData["insutype"] = insutype    // 险种类型
1640
-	inputData["invono"] = ""            // 发票号
1634
+	inputData["medfee_sumamt"] = total           // 医疗费总额
1635
+	inputData["psn_setlway"] = "01"              // 个人结算方式 01 按项目结 02 按定额结算
1636
+	inputData["mdtrt_id"] = mdtrtId              // 就诊 ID(来自2201接口返回)
1637
+	inputData["chrg_bchno"] = chrgBchno          // 收费批次号(来自2204生成的)
1638
+	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1639
+	inputData["insutype"] = insutype             // 险种类型
1640
+	inputData["invono"] = ""                     // 发票号
1641
 
1641
 
1642
 	input["data"] = inputData
1642
 	input["data"] = inputData
1643
 	inputMessage["input"] = input //交易输入
1643
 	inputMessage["input"] = input //交易输入
3387
 
3387
 
3388
 	//inputData["resp_nurs_code"] = "N441623001432" // 民族  必填
3388
 	//inputData["resp_nurs_code"] = "N441623001432" // 民族  必填
3389
 
3389
 
3390
-	inputData["patn_cert_type"] = struct4101.PatnCertType     // 患者证件类别  必填
3391
-	inputData["certno"] = struct4101.Certno                   // 证件号码  必填
3392
-	inputData["prfs"] = struct4101.Prfs                       // 职业  必填
3393
-	inputData["curr_addr"] = ""                               // 现住址  必填
3394
-	inputData["emp_name"] = ""                                // 单位名称  必填
3395
-	inputData["emp_addr"] = ""                                // 单位地址  必填
3396
-	inputData["emp_tel"] = ""                                 // 单位电话  必填
3397
-	inputData["poscode"] = ""                                 // 邮编  必填
3398
-	inputData["coner_name"] = struct4101.ConerName            // 联系人姓名  必填
3399
-	inputData["patn_rlts"] = struct4101.PatnRlts              // 与患者关系  必填
3400
-	inputData["coner_addr"] = struct4101.ConerAddr            // 联系人地址  必填
3401
-	inputData["coner_tel"] = struct4101.ConerTel              // 联系人电话  必填
3402
-	inputData["hi_type"] = struct4101.HiType                  // 医保类型  必填
3403
-	inputData["insuplc"] = struct4101.Insuplc                 // 参保地  必填
3404
-	inputData["sp_psn_type"] = ""                             // 特殊人员类型  必填
3405
-	inputData["nwb_adm_type"] = ""                            // 新生儿入院类型  必填
3406
-	inputData["nwb_bir_wt"] = ""                              // 新生儿出生体重  必填
3407
-	inputData["nwb_adm_wt"] = ""                              // 新生儿入院体重  必填
3408
-	inputData["opsp_diag_caty"] = ""                          // 门诊慢特病诊断  必填
3409
-	inputData["opsp_mdtrt_date"] = ""                         // 门诊慢特病就诊日期  必填
3410
-	inputData["ipt_med_type"] = ""                            // 住院医疗类型  必填
3411
-	inputData["adm_way"] = "2"                                // 入院途径  必填
3412
-	inputData["trt_type"] = "1"                               // 治疗类别  必填
3413
-	inputData["adm_time"] = struct4101.SetlEndDate            // 入院时间  必填
3414
-	inputData["adm_caty"] = "A03.06"                          // 入院科别  必填
3415
-	inputData["refldept_dept"] = ""                           // 转科科别  必填
3416
-	inputData["dscg_time"] = struct4101.SetlBegnDate          // 出院时间  必填
3417
-	inputData["dscg_caty"] = "A03.06"                         // 出院科别  必填
3418
-	inputData["caty"] = "A03.06"                              // 出院科别  必填
3419
-	inputData["act_ipt_days"] = ""                            // 实际住院天数  必填
3420
-	inputData["otp_wm_dise"] = ""                             // 门(急) 诊西医诊断  必填
3421
-	inputData["wm_dise_code"] = ""                            // 门(急) 诊中医诊断  必填
3422
-	inputData["otp_tcm_dise"] = ""                            // 西医诊断疾病代码  必填
3423
-	inputData["tcm_dise_code"] = ""                           // 中医诊断代码  必填
3424
-	inputData["oprn_oprt_code_cnt"] = ""                      // 手术操作代码计数  必填
3425
-	inputData["vent_used_dura"] = ""                          // 呼吸机使用时长  必填
3426
-	inputData["pwcry_bfadm_coma_dura"] = ""                   // 颅脑损伤患者入院前昏迷时长  必填
3427
-	inputData["pwcry_afadm_coma_dura"] = ""                   // 颅脑损伤患者入院后昏迷时长  必填
3428
-	inputData["bld_cat"] = ""                                 // 输血品种  必填
3429
-	inputData["bld_amt"] = ""                                 // 输血量  必填
3430
-	inputData["bld_unt"] = ""                                 // 输血计量单位  必填
3431
-	inputData["spga_nurscare_days"] = ""                      // 特级护理天数  必填
3432
-	inputData["lv1_nurscare_days"] = ""                       // 一级护理天数  必填
3433
-	inputData["scd_nurscare_days"] = ""                       // 二级护理天数  必填
3434
-	inputData["lv3_nurscare_days"] = ""                       // 三级护理天数  必填
3435
-	inputData["acp_medins_name"] = ""                         // 拟接收机构名称  必填
3436
-	inputData["acp_optins_code"] = ""                         // 拟接收机构代码  必填
3437
-	inputData["bill_code"] = struct4101.BillCode              // 票据代码  必填
3438
-	inputData["bill_no"] = struct4101.BillNo                  // 票据号码  必填
3439
-	inputData["biz_sn"] = struct4101.BizSn                    // 业务流水号  必填
3440
-	inputData["days_rinp_flag_31"] = "1"                      // 出院 31 天内再住院计划标志  必填
3441
-	inputData["days_rinp_pup_31"] = "1"                       // 出院 31 天内再住院目的  必填
3442
-	inputData["chfpdr_name"] = struct4101.DoctorName          // 主诊医师姓名  必填
3443
-	inputData["chfpdr_code"] = struct4101.DoctorCode          // 主诊医师代码  必填
3444
-	inputData["setl_begn_date"] = struct4101.SetlBegnDate     // 结算开始日期  必填
3445
-	inputData["setl_end_date"] = struct4101.SetlEndDate       // 结算结束日期  必填
3446
-	inputData["psn_selfpay"] = struct4101.PsnSelfPay          // 个人自付  必填
3447
-	inputData["psn_ownpay"] = struct4101.PsnOwnPay            // 个人自费  必填
3448
-	inputData["acct_pay"] = struct4101.AcctPay                // 个人账户支出  必填
3449
-	inputData["hi_paymtd"] = struct4101.HiPaymtd              // 医保支付方式  必填
3450
-	inputData["hsorg"] = struct4101.Hsorg                     // 医保机构  必填
3451
-	inputData["hsorg_opter"] = struct4101.HsorgOpter          // 医保机构经办人  必填
3390
+	inputData["patn_cert_type"] = struct4101.PatnCertType // 患者证件类别  必填
3391
+	inputData["certno"] = struct4101.Certno               // 证件号码  必填
3392
+	inputData["prfs"] = struct4101.Prfs                   // 职业  必填
3393
+	inputData["curr_addr"] = ""                           // 现住址  必填
3394
+	inputData["emp_name"] = ""                            // 单位名称  必填
3395
+	inputData["emp_addr"] = ""                            // 单位地址  必填
3396
+	inputData["emp_tel"] = ""                             // 单位电话  必填
3397
+	inputData["poscode"] = ""                             // 邮编  必填
3398
+	inputData["coner_name"] = struct4101.ConerName        // 联系人姓名  必填
3399
+	inputData["patn_rlts"] = struct4101.PatnRlts          // 与患者关系  必填
3400
+	inputData["coner_addr"] = struct4101.ConerAddr        // 联系人地址  必填
3401
+	inputData["coner_tel"] = struct4101.ConerTel          // 联系人电话  必填
3402
+	inputData["hi_type"] = struct4101.HiType              // 医保类型  必填
3403
+	inputData["insuplc"] = struct4101.Insuplc             // 参保地  必填
3404
+	inputData["sp_psn_type"] = ""                         // 特殊人员类型  必填
3405
+	inputData["nwb_adm_type"] = ""                        // 新生儿入院类型  必填
3406
+	inputData["nwb_bir_wt"] = ""                          // 新生儿出生体重  必填
3407
+	inputData["nwb_adm_wt"] = ""                          // 新生儿入院体重  必填
3408
+	inputData["opsp_diag_caty"] = ""                      // 门诊慢特病诊断  必填
3409
+	inputData["opsp_mdtrt_date"] = ""                     // 门诊慢特病就诊日期  必填
3410
+	inputData["ipt_med_type"] = ""                        // 住院医疗类型  必填
3411
+	inputData["adm_way"] = "2"                            // 入院途径  必填
3412
+	inputData["trt_type"] = "1"                           // 治疗类别  必填
3413
+	inputData["adm_time"] = struct4101.SetlEndDate        // 入院时间  必填
3414
+	inputData["adm_caty"] = "A03.06"                      // 入院科别  必填
3415
+	inputData["refldept_dept"] = ""                       // 转科科别  必填
3416
+	inputData["dscg_time"] = struct4101.SetlBegnDate      // 出院时间  必填
3417
+	inputData["dscg_caty"] = "A03.06"                     // 出院科别  必填
3418
+	inputData["caty"] = "A03.06"                          // 出院科别  必填
3419
+	inputData["act_ipt_days"] = ""                        // 实际住院天数  必填
3420
+	inputData["otp_wm_dise"] = ""                         // 门(急) 诊西医诊断  必填
3421
+	inputData["wm_dise_code"] = ""                        // 门(急) 诊中医诊断  必填
3422
+	inputData["otp_tcm_dise"] = ""                        // 西医诊断疾病代码  必填
3423
+	inputData["tcm_dise_code"] = ""                       // 中医诊断代码  必填
3424
+	inputData["oprn_oprt_code_cnt"] = ""                  // 手术操作代码计数  必填
3425
+	inputData["vent_used_dura"] = ""                      // 呼吸机使用时长  必填
3426
+	inputData["pwcry_bfadm_coma_dura"] = ""               // 颅脑损伤患者入院前昏迷时长  必填
3427
+	inputData["pwcry_afadm_coma_dura"] = ""               // 颅脑损伤患者入院后昏迷时长  必填
3428
+	inputData["bld_cat"] = ""                             // 输血品种  必填
3429
+	inputData["bld_amt"] = ""                             // 输血量  必填
3430
+	inputData["bld_unt"] = ""                             // 输血计量单位  必填
3431
+	inputData["spga_nurscare_days"] = ""                  // 特级护理天数  必填
3432
+	inputData["lv1_nurscare_days"] = ""                   // 一级护理天数  必填
3433
+	inputData["scd_nurscare_days"] = ""                   // 二级护理天数  必填
3434
+	inputData["lv3_nurscare_days"] = ""                   // 三级护理天数  必填
3435
+	inputData["acp_medins_name"] = ""                     // 拟接收机构名称  必填
3436
+	inputData["acp_optins_code"] = ""                     // 拟接收机构代码  必填
3437
+	inputData["bill_code"] = struct4101.BillCode          // 票据代码  必填
3438
+	inputData["bill_no"] = struct4101.BillNo              // 票据号码  必填
3439
+	inputData["biz_sn"] = struct4101.BizSn                // 业务流水号  必填
3440
+	inputData["days_rinp_flag_31"] = "1"                  // 出院 31 天内再住院计划标志  必填
3441
+	inputData["days_rinp_pup_31"] = "1"                   // 出院 31 天内再住院目的  必填
3442
+	inputData["chfpdr_name"] = struct4101.DoctorName      // 主诊医师姓名  必填
3443
+	inputData["chfpdr_code"] = struct4101.DoctorCode      // 主诊医师代码  必填
3444
+	inputData["setl_begn_date"] = struct4101.SetlBegnDate // 结算开始日期  必填
3445
+	inputData["setl_end_date"] = struct4101.SetlEndDate   // 结算结束日期  必填
3446
+	inputData["psn_selfpay"] = struct4101.PsnSelfPay      // 个人自付  必填
3447
+	inputData["psn_ownpay"] = struct4101.PsnOwnPay        // 个人自费  必填
3448
+	inputData["acct_pay"] = struct4101.AcctPay            // 个人账户支出  必填
3449
+	inputData["hi_paymtd"] = struct4101.HiPaymtd          // 医保支付方式  必填
3450
+	inputData["hsorg"] = struct4101.Hsorg                 // 医保机构  必填
3451
+	inputData["hsorg_opter"] = struct4101.HsorgOpter      // 医保机构经办人  必填
3452
 
3452
 
3453
 	inputData["medins_fill_dept"] = struct4101.MedinsFillDept // 医疗机构填报部门  必填
3453
 	inputData["medins_fill_dept"] = struct4101.MedinsFillDept // 医疗机构填报部门  必填
3454
 	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
3454
 	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
4067
 	inputData["pwcry_bfadm_coma_dura"] = "" // 颅脑损伤患者入院前昏迷时长  必填
4067
 	inputData["pwcry_bfadm_coma_dura"] = "" // 颅脑损伤患者入院前昏迷时长  必填
4068
 	inputData["pwcry_afadm_coma_dura"] = "" // 颅脑损伤患者入院后昏迷时长  必填
4068
 	inputData["pwcry_afadm_coma_dura"] = "" // 颅脑损伤患者入院后昏迷时长  必填
4069
 
4069
 
4070
-	inputData["spga_nurscare_days"] = "" // 特级护理天数  必填
4071
-	inputData["hsorg"] = struct4101.Hsorg                     // 医保机构  必填
4072
-	inputData["hsorg_opter"] = struct4101.HsorgOpter          // 医保机构经办人  必填
4070
+	inputData["spga_nurscare_days"] = ""             // 特级护理天数  必填
4071
+	inputData["hsorg"] = struct4101.Hsorg            // 医保机构  必填
4072
+	inputData["hsorg_opter"] = struct4101.HsorgOpter // 医保机构经办人  必填
4073
 
4073
 
4074
 	inputData["lv1_nurscare_days"] = ""          // 一级护理天数  必填
4074
 	inputData["lv1_nurscare_days"] = ""          // 一级护理天数  必填
4075
 	inputData["scd_nurscare_days"] = ""          // 二级护理天数  必填
4075
 	inputData["scd_nurscare_days"] = ""          // 二级护理天数  必填
4085
 	inputData["days_rinp_pup_31"] = ""  // 出院 31 天内再住院目的  必填
4085
 	inputData["days_rinp_pup_31"] = ""  // 出院 31 天内再住院目的  必填
4086
 	//inputData["chfpdr_name"] = struct4101.DoctorName          // 主诊医师姓名  必填
4086
 	//inputData["chfpdr_name"] = struct4101.DoctorName          // 主诊医师姓名  必填
4087
 	//inputData["chfpdr_code"] = struct4101.DoctorCode          // 主诊医师代码  必填
4087
 	//inputData["chfpdr_code"] = struct4101.DoctorCode          // 主诊医师代码  必填
4088
-	inputData["setl_begn_date"] = struct4101.SetlBegnDate     // 结算开始日期  必填
4089
-	inputData["setl_end_date"] = struct4101.SetlEndDate       // 结算结束日期  必填
4090
-	inputData["medins_fill_dept"] = org_name // 医疗机构填报部门  必填
4091
-	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
4088
+	inputData["setl_begn_date"] = struct4101.SetlBegnDate   // 结算开始日期  必填
4089
+	inputData["setl_end_date"] = struct4101.SetlEndDate     // 结算结束日期  必填
4090
+	inputData["medins_fill_dept"] = org_name                // 医疗机构填报部门  必填
4091
+	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn // 医疗机构填报人  必填
4092
 
4092
 
4093
 	//payinfo := make([]map[string]interface{}, 0) // 基金支付信息
4093
 	//payinfo := make([]map[string]interface{}, 0) // 基金支付信息
4094
 	//for _, item := range struct4101.CustomStruct {
4094
 	//for _, item := range struct4101.CustomStruct {
6744
 		if len(item) > 0 {
6744
 		if len(item) > 0 {
6745
 
6745
 
6746
 			druginputData := make(map[string]interface{})
6746
 			druginputData := make(map[string]interface{})
6747
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
6747
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
6748
 			feedetail = append(feedetail, druginputData)
6748
 			feedetail = append(feedetail, druginputData)
6749
 		}
6749
 		}
6750
 	}
6750
 	}
6831
 			//druginputData["drug_trac_codg"] = item
6831
 			//druginputData["drug_trac_codg"] = item
6832
 			//feedetail = append(feedetail, druginputData)
6832
 			//feedetail = append(feedetail, druginputData)
6833
 
6833
 
6834
-
6835
 			druginputData := make(map[string]interface{})
6834
 			druginputData := make(map[string]interface{})
6836
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
6835
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
6837
 			feedetail = append(feedetail, druginputData)
6836
 			feedetail = append(feedetail, druginputData)
6838
 		}
6837
 		}
6839
 	}
6838
 	}
8661
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
8660
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
8662
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
8661
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
8663
 
8662
 
8663
+	feedetail := make([]map[string]interface{}, 0)
8664
+
8665
+	//codes = strings.Split(struct3505.DrugTracCodg, ",")
8666
+	codes := strings.Split(struct3506.DrugTracCodg, ",")
8667
+	for _, item := range codes {
8668
+		if len(item) > 0 {
8669
+			druginputData := make(map[string]interface{})
8670
+			druginputData["drug_trac_codg"] = item
8671
+			feedetail = append(feedetail, druginputData)
8672
+		}
8673
+	}
8674
+	inputData["drugtracinfo"] = feedetail
8664
 	input["selinfo"] = inputData
8675
 	input["selinfo"] = inputData
8665
 	inputMessage["input"] = input //交易输入
8676
 	inputMessage["input"] = input //交易输入
8666
 
8677
 

+ 16 - 2
service/hn_service.go 查看文件

1994
 func Hnyb3506(struct3506 models.Struct3506) (string, string) {
1994
 func Hnyb3506(struct3506 models.Struct3506) (string, string) {
1995
 	timestamp := time.Now().Unix()
1995
 	timestamp := time.Now().Unix()
1996
 	// 生成输入报文
1996
 	// 生成输入报文
1997
-	inputMessage := SetHnInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.FixmedinsCode, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, struct3506.Cainfo)
1997
+	inputMessage := SetHnInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.Code, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, struct3506.Cainfo)
1998
 	input := make(map[string]interface{})
1998
 	input := make(map[string]interface{})
1999
 	inputData := make(map[string]interface{})
1999
 	inputData := make(map[string]interface{})
2000
 	inputMessage["infno"] = "3506"                                  // 交易编码
2000
 	inputMessage["infno"] = "3506"                                  // 交易编码
2019
 	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
2019
 	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
2020
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
2020
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
2021
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
2021
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
2022
+	// 人员编号 (来自1101接口返回)
2023
+	feedetail := make([]map[string]interface{}, 0)
2024
+
2025
+	codes := strings.Split(struct3506.DrugTracCodg, ",")
2026
+	for _, item := range codes {
2027
+		if len(item) > 0 {
2022
 
2028
 
2029
+			druginputData := make(map[string]interface{})
2030
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
2031
+			feedetail = append(feedetail, druginputData)
2032
+		}
2033
+	}
2034
+	inputData["drugtracinfo"] = feedetail
2023
 	input["selinfo"] = inputData
2035
 	input["selinfo"] = inputData
2024
 	inputMessage["input"] = input //交易输入
2036
 	inputMessage["input"] = input //交易输入
2025
 
2037
 
2029
 		fmt.Println(err.Error())
2041
 		fmt.Println(err.Error())
2030
 		return err.Error(), ""
2042
 		return err.Error(), ""
2031
 	}
2043
 	}
2044
+	timestamp2 := time.Now().UnixNano() / int64(time.Millisecond)
2045
+
2032
 	struct3506.RequestUrl = struct3506.RequestUrl + "3506"
2046
 	struct3506.RequestUrl = struct3506.RequestUrl + "3506"
2033
-	return HNHttpRequest(struct3506.RequestUrl, struct3506.AccessKey, struct3506.SecretKey, timestamp, string(bytesData), "3506"), string(bytesData)
2047
+	return HNHttpRequest(struct3506.RequestUrl, struct3506.AccessKey, struct3506.SecretKey, timestamp2, string(bytesData), "3506"), string(bytesData)
2034
 
2048
 
2035
 }
2049
 }
2036
 
2050
 

+ 154 - 123
service/jx_service.go 查看文件

36
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
36
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
37
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
37
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
38
 
38
 
39
-
40
 		} else if id_card_type == 4 {
39
 		} else if id_card_type == 4 {
41
-			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
42
-			inputData["card_sn"] = ""      // 卡识别码
43
-			inputData["certno"] = certNo        // 证件号码
44
-			inputData["psn_cert_type"] = "01"   // 人员证件类型
40
+			inputData["mdtrt_cert_type"] = "01"  // 就诊凭证类型
41
+			inputData["card_sn"] = ""            // 卡识别码
42
+			inputData["certno"] = certNo         // 证件号码
43
+			inputData["psn_cert_type"] = "01"    // 人员证件类型
45
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
44
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
46
 
45
 
47
-		}else {
46
+		} else {
48
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
47
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
49
 			inputData["card_sn"] = ""           // 卡识别码
48
 			inputData["card_sn"] = ""           // 卡识别码
50
 			inputData["certno"] = certNo        // 证件号码
49
 			inputData["certno"] = certNo        // 证件号码
52
 		}
51
 		}
53
 	}
52
 	}
54
 
53
 
55
-	inputData["begntime"] = ""          // 开始时间
56
-	inputData["psn_name"] = name          // 人员姓名
54
+	inputData["begntime"] = ""   // 开始时间
55
+	inputData["psn_name"] = name // 人员姓名
57
 	input["data"] = inputData
56
 	input["data"] = inputData
58
 	inputMessage["input"] = input //交易输入
57
 	inputMessage["input"] = input //交易输入
59
 
58
 
69
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
68
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
70
 }
69
 }
71
 
70
 
72
-
73
-func Jxyb11012(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, name string,id_card_no string) (string, string) {
71
+func Jxyb11012(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, name string, id_card_no string) (string, string) {
74
 	timestamp := time.Now().Unix()
72
 	timestamp := time.Now().Unix()
75
 	//生成输入报文
73
 	//生成输入报文
76
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
74
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
86
 
84
 
87
 	} else {
85
 	} else {
88
 		if id_card_type == 1 {
86
 		if id_card_type == 1 {
89
-			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
90
-			inputData["card_sn"] = card_sn      // 卡识别码
91
-			inputData["certno"] = certNo        // 证件号码
92
-			inputData["psn_cert_type"] = "01"   // 人员证件类型
87
+			inputData["mdtrt_cert_type"] = "03"     // 就诊凭证类型
88
+			inputData["card_sn"] = card_sn          // 卡识别码
89
+			inputData["certno"] = certNo            // 证件号码
90
+			inputData["psn_cert_type"] = "01"       // 人员证件类型
93
 			inputData["mdtrt_cert_no"] = id_card_no // 就诊凭证编号
91
 			inputData["mdtrt_cert_no"] = id_card_no // 就诊凭证编号
94
 
92
 
95
-
96
 		} else if id_card_type == 4 {
93
 		} else if id_card_type == 4 {
97
-			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
98
-			inputData["card_sn"] = ""      // 卡识别码
99
-			inputData["certno"] = certNo        // 证件号码
100
-			inputData["psn_cert_type"] = "01"   // 人员证件类型
94
+			inputData["mdtrt_cert_type"] = "01"  // 就诊凭证类型
95
+			inputData["card_sn"] = ""            // 卡识别码
96
+			inputData["certno"] = certNo         // 证件号码
97
+			inputData["psn_cert_type"] = "01"    // 人员证件类型
101
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
98
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
102
 
99
 
103
-		}else {
100
+		} else {
104
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
101
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
105
 			inputData["card_sn"] = ""           // 卡识别码
102
 			inputData["card_sn"] = ""           // 卡识别码
106
 			inputData["certno"] = certNo        // 证件号码
103
 			inputData["certno"] = certNo        // 证件号码
108
 		}
105
 		}
109
 	}
106
 	}
110
 
107
 
111
-	inputData["begntime"] = ""          // 开始时间
112
-	inputData["psn_name"] = name          // 人员姓名
108
+	inputData["begntime"] = ""   // 开始时间
109
+	inputData["psn_name"] = name // 人员姓名
113
 	input["data"] = inputData
110
 	input["data"] = inputData
114
 	inputMessage["input"] = input //交易输入
111
 	inputMessage["input"] = input //交易输入
115
 
112
 
125
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
122
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
126
 }
123
 }
127
 
124
 
128
-
129
-func Jxyb1101bycard(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, name string,id_card_no string) (string, string) {
125
+func Jxyb1101bycard(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, name string, id_card_no string) (string, string) {
130
 	timestamp := time.Now().Unix()
126
 	timestamp := time.Now().Unix()
131
 	//生成输入报文
127
 	//生成输入报文
132
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
128
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
144
 		if id_card_type == 1 {
140
 		if id_card_type == 1 {
145
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
141
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
146
 			inputData["card_sn"] = card_sn      // 卡识别码
142
 			inputData["card_sn"] = card_sn      // 卡识别码
147
-			inputData["certno"] = id_card_no        // 证件号码
143
+			inputData["certno"] = id_card_no    // 证件号码
148
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
144
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
149
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
145
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
150
 
146
 
151
-
152
 		} else if id_card_type == 4 {
147
 		} else if id_card_type == 4 {
153
-			inputData["mdtrt_cert_type"] = "01" // 就诊凭证类型
154
-			inputData["card_sn"] = ""      // 卡识别码
155
-			inputData["certno"] = certNo        // 证件号码
156
-			inputData["psn_cert_type"] = "01"   // 人员证件类型
148
+			inputData["mdtrt_cert_type"] = "01"  // 就诊凭证类型
149
+			inputData["card_sn"] = ""            // 卡识别码
150
+			inputData["certno"] = certNo         // 证件号码
151
+			inputData["psn_cert_type"] = "01"    // 人员证件类型
157
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
152
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
158
 
153
 
159
-		}else {
154
+		} else {
160
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
155
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
161
 			inputData["card_sn"] = ""           // 卡识别码
156
 			inputData["card_sn"] = ""           // 卡识别码
162
 			inputData["certno"] = certNo        // 证件号码
157
 			inputData["certno"] = certNo        // 证件号码
164
 		}
159
 		}
165
 	}
160
 	}
166
 
161
 
167
-	inputData["begntime"] = ""          // 开始时间
168
-	inputData["psn_name"] = name          // 人员姓名
162
+	inputData["begntime"] = ""   // 开始时间
163
+	inputData["psn_name"] = name // 人员姓名
169
 	input["data"] = inputData
164
 	input["data"] = inputData
170
 	inputMessage["input"] = input //交易输入
165
 	inputMessage["input"] = input //交易输入
171
 
166
 
181
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
176
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
182
 }
177
 }
183
 
178
 
184
-//人员基本信息版本2
179
+// 人员基本信息版本2
185
 func Jxyb1101A(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, pBusiCardInfo string, id_card_no string, cainfo string) (string, string) {
180
 func Jxyb1101A(certNo string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, card_sn string, certificates string, request_url string, access_key string, pBusiCardInfo string, id_card_no string, cainfo string) (string, string) {
186
 	timestamp := time.Now().Unix()
181
 	timestamp := time.Now().Unix()
187
 	//生成输入报文
182
 	//生成输入报文
293
 }
288
 }
294
 
289
 
295
 // 门诊挂号
290
 // 门诊挂号
296
-func Jxyb2201(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, request_url string, access_key string, verify_number string, cainfo string, card_sn string,psn_cert_type string,certno string,psn_type string,psn_name string) (string, string) {
291
+func Jxyb2201(psnNo string, insutype string, certNo string, org_name string, opera string, ipt_otp_no string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, id_card_type int64, doctor_name string, request_url string, access_key string, verify_number string, cainfo string, card_sn string, psn_cert_type string, certno string, psn_type string, psn_name string) (string, string) {
297
 	fmt.Println(opera)
292
 	fmt.Println(opera)
298
 
293
 
299
 	// 生成签名
294
 	// 生成签名
328
 
323
 
329
 	}
324
 	}
330
 
325
 
331
-
332
-
333
-	inputData["card_sn"] = card_sn          // 发票号
334
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
335
-	inputData["certno"] = certno          // 发票号
336
-	inputData["psn_type"] = psn_type          // 发票号
337
-	inputData["psn_name"] = psn_name          // 发票号
338
-
326
+	inputData["card_sn"] = card_sn             // 发票号
327
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
328
+	inputData["certno"] = certno               // 发票号
329
+	inputData["psn_type"] = psn_type           // 发票号
330
+	inputData["psn_name"] = psn_name           // 发票号
339
 
331
 
340
 	inputData["ipt_otp_no"] = ipt_otp_no // 住院/门诊号
332
 	inputData["ipt_otp_no"] = ipt_otp_no // 住院/门诊号
341
 	inputData["atddr_no"] = doctor_id    // 医师编码
333
 	inputData["atddr_no"] = doctor_id    // 医师编码
518
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2203"), requestLog
510
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2203"), requestLog
519
 }
511
 }
520
 
512
 
521
-//  门诊费用明细信息上传
513
+// 门诊费用明细信息上传
522
 func Jxyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescription, chrg_bchno string, org_name string, doctor string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, balance_accounts_type string, diag_code string, request_url string, access_key string, new_doctor_name string, time_stamp_2203 string, cainfo string) (string, string) {
514
 func Jxyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescription, chrg_bchno string, org_name string, doctor string, dept string, fixmedins_code string, dept_code string, doctor_id string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, balance_accounts_type string, diag_code string, request_url string, access_key string, new_doctor_name string, time_stamp_2203 string, cainfo string) (string, string) {
523
 	// 生成签名
515
 	// 生成签名
524
 	//timestamp := time.Now().Unix()
516
 	//timestamp := time.Now().Unix()
658
 		feedetailInfo["bilg_dr_name"] = item.DoctorName              // 开单医师姓名
650
 		feedetailInfo["bilg_dr_name"] = item.DoctorName              // 开单医师姓名
659
 		feedetailInfo["acord_dept_codg"] = ""                        // 受单科室编码
651
 		feedetailInfo["acord_dept_codg"] = ""                        // 受单科室编码
660
 		feedetailInfo["acord_dept_name"] = ""                        // 受单科室名称
652
 		feedetailInfo["acord_dept_name"] = ""                        // 受单科室名称
661
-		feedetailInfo["orders_dr_code"] = item.DoctorNumber                         // 受单医生编码
662
-		feedetailInfo["orders_dr_name"] = item.DoctorName                         // 受单医生姓名
653
+		feedetailInfo["orders_dr_code"] = item.DoctorNumber          // 受单医生编码
654
+		feedetailInfo["orders_dr_name"] = item.DoctorName            // 受单医生姓名
663
 		if balance_accounts_type == "8" {
655
 		if balance_accounts_type == "8" {
664
 			feedetailInfo["hosp_appr_flag"] = "2" // 医院审批标志
656
 			feedetailInfo["hosp_appr_flag"] = "2" // 医院审批标志
665
 		} else {
657
 		} else {
708
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2204"), requestLog
700
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2204"), requestLog
709
 }
701
 }
710
 
702
 
711
-//  门诊费用明细信息撤销
703
+// 门诊费用明细信息撤销
712
 func Jxyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string, cainfo string) (string, string) {
704
 func Jxyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, fixmedins_code string, request_url string, access_key string, cainfo string) (string, string) {
713
 
705
 
714
 	timestamp := time.Now().Unix()
706
 	timestamp := time.Now().Unix()
741
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2205"), requestLog
733
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2205"), requestLog
742
 }
734
 }
743
 
735
 
744
-//  门诊预结算
736
+// 门诊预结算
745
 func Jxyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string, cainfo string) (string, string) {
737
 func Jxyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string, cainfo string) (string, string) {
746
 
738
 
747
 	// 生成签名
739
 	// 生成签名
817
 
809
 
818
 }
810
 }
819
 
811
 
820
-//  门诊预结算
821
-func Jxyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string, cainfo string, card_sn string,psn_cert_type string,certno string,psn_type string,psn_name string) (string, string) {
812
+// 门诊预结算
813
+func Jxyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, request_url string, access_key string, verify_number string, cainfo string, card_sn string, psn_cert_type string, certno string, psn_type string, psn_name string) (string, string) {
822
 
814
 
823
 	// 生成签名
815
 	// 生成签名
824
 	timestamp := time.Now().Unix() //		inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
816
 	timestamp := time.Now().Unix() //		inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
867
 	inputData["invono"] = ""            // 发票号
859
 	inputData["invono"] = ""            // 发票号
868
 	inputData["exp_content"] = ""       // 人员编号 (来自1101接口返回)
860
 	inputData["exp_content"] = ""       // 人员编号 (来自1101接口返回)
869
 
861
 
870
-
871
-	inputData["card_sn"] = card_sn          // 发票号
872
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
873
-	inputData["certno"] = certno          // 发票号
874
-	inputData["psn_type"] = psn_type          // 发票号
875
-	inputData["psn_name"] = psn_name          // 发票号
876
-
862
+	inputData["card_sn"] = card_sn             // 发票号
863
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
864
+	inputData["certno"] = certno               // 发票号
865
+	inputData["psn_type"] = psn_type           // 发票号
866
+	inputData["psn_name"] = psn_name           // 发票号
877
 
867
 
878
 	input["data"] = inputData
868
 	input["data"] = inputData
879
 	inputMessage["input"] = input //交易输入
869
 	inputMessage["input"] = input //交易输入
895
 
885
 
896
 }
886
 }
897
 
887
 
898
-//  门诊结算
899
-func Jxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string,card_sn string,psn_cert_type string,certno string,psn_type string,psn_name string) (string, string) {
888
+// 门诊结算
889
+func Jxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string, card_sn string, psn_cert_type string, certno string, psn_type string, psn_name string) (string, string) {
900
 	// 生成签名
890
 	// 生成签名
901
 	timestamp := time.Now().Unix()
891
 	timestamp := time.Now().Unix()
902
 	// 生成输入报文
892
 	// 生成输入报文
945
 	inputData["preselfpay_amt"] = preselfpay_amt       //
935
 	inputData["preselfpay_amt"] = preselfpay_amt       //
946
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
936
 	inputData["inscp_scp_amt"] = inscp_scp_amt         //
947
 
937
 
948
-
949
-
950
-	inputData["card_sn"] = card_sn          // 发票号
951
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
952
-	inputData["certno"] = certno          // 发票号
953
-	inputData["psn_type"] = psn_type          // 发票号
954
-	inputData["psn_name"] = psn_name          // 发票号
955
-
956
-
957
-
938
+	inputData["card_sn"] = card_sn             // 发票号
939
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
940
+	inputData["certno"] = certno               // 发票号
941
+	inputData["psn_type"] = psn_type           // 发票号
942
+	inputData["psn_name"] = psn_name           // 发票号
958
 
943
 
959
 	inputData2 := make(map[string]interface{})
944
 	inputData2 := make(map[string]interface{})
960
 	inputData2["trum_flag"] = ""
945
 	inputData2["trum_flag"] = ""
978
 
963
 
979
 }
964
 }
980
 
965
 
981
-//  门诊结算
966
+// 门诊结算
982
 func Jxyb2207Two(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string, card_sn string) (string, string) {
967
 func Jxyb2207Two(psnNo string, mdtrtId string, chrgBchno string, certNo string, insutype string, total string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, secret_key string, med_type string, id_card_type int64, fulamt_ownpay_amt float64, overlmt_selfpay float64, preselfpay_amt float64, inscp_scp_amt float64, certificates int64, acct_used_flag string, request_url string, access_key string, verify_number string, cainfo string, card_sn string) (string, string) {
983
 	// 生成签名
968
 	// 生成签名
984
 	timestamp := time.Now().Unix()
969
 	timestamp := time.Now().Unix()
1108
 
1093
 
1109
 }
1094
 }
1110
 
1095
 
1111
-//  门诊结算撤销
1096
+// 门诊结算撤销
1112
 func Jxyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, cainfo string) (string, string) {
1097
 func Jxyb2208(psnNo string, mdtrtId string, setlId string, org_name string, doctor string, secret_key string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, cainfo string) (string, string) {
1113
 	timestamp := time.Now().Unix()
1098
 	timestamp := time.Now().Unix()
1114
 	// 生成输入报文
1099
 	// 生成输入报文
1238
 		}
1223
 		}
1239
 	}
1224
 	}
1240
 
1225
 
1241
-	inputData["begntime"] = "" // 开始时间
1226
+	inputData["begntime"] = ""     // 开始时间
1242
 	inputData["psn_name"] = cainfo // 人员姓名
1227
 	inputData["psn_name"] = cainfo // 人员姓名
1243
 	input["data"] = inputData
1228
 	input["data"] = inputData
1244
 	inputMessage["input"] = input //交易输入
1229
 	inputMessage["input"] = input //交易输入
1311
 	inputData["psn_type"] = struct2401.PsnType
1296
 	inputData["psn_type"] = struct2401.PsnType
1312
 	inputData["psn_name"] = struct2401.PsnName
1297
 	inputData["psn_name"] = struct2401.PsnName
1313
 
1298
 
1314
-
1315
-
1316
 	inputDataArr := make([]map[string]interface{}, 0)
1299
 	inputDataArr := make([]map[string]interface{}, 0)
1317
 	for _, item := range struct2401.Diseinfo {
1300
 	for _, item := range struct2401.Diseinfo {
1318
 		inputDataTwo := make(map[string]interface{})
1301
 		inputDataTwo := make(map[string]interface{})
1663
 
1646
 
1664
 }
1647
 }
1665
 
1648
 
1666
-func Jxyb2303(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string,card_sn string,psn_type int64,psn_cert_type string,certno string,psn_name string) (string, string) {
1649
+func Jxyb2303(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string, card_sn string, psn_type int64, psn_cert_type string, certno string, psn_name string) (string, string) {
1667
 	// 生成签名
1650
 	// 生成签名
1668
 	nonce := GetRandomString(32)
1651
 	nonce := GetRandomString(32)
1669
 	timestamp := time.Now().Unix()
1652
 	timestamp := time.Now().Unix()
1696
 	inputData["invono"] = ""                   // 发票号
1679
 	inputData["invono"] = ""                   // 发票号
1697
 	inputData["dise_codg"] = "M07803"          // 发票号
1680
 	inputData["dise_codg"] = "M07803"          // 发票号
1698
 
1681
 
1699
-	inputData["card_sn"] = card_sn          // 发票号
1700
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
1701
-	inputData["certno"] = certno          // 发票号
1702
-	inputData["psn_type"] = psn_type          // 发票号
1703
-	inputData["psn_name"] = psn_name          // 发票号
1704
-
1705
-
1706
-
1707
-
1682
+	inputData["card_sn"] = card_sn             // 发票号
1683
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
1684
+	inputData["certno"] = certno               // 发票号
1685
+	inputData["psn_type"] = psn_type           // 发票号
1686
+	inputData["psn_name"] = psn_name           // 发票号
1708
 
1687
 
1709
 	inputData["insuplc_admdvs"] = insuplc_admdvs   // 发票号
1688
 	inputData["insuplc_admdvs"] = insuplc_admdvs   // 发票号
1710
 	inputData["mdtrtarea_admvs"] = mdtrtarea_admvs // 发票号
1689
 	inputData["mdtrtarea_admvs"] = mdtrtarea_admvs // 发票号
1724
 
1703
 
1725
 }
1704
 }
1726
 
1705
 
1727
-func Jxyb2304(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string, fapiao_number string, acct_used_flag string,card_sn string,psn_type string,psn_cert_type string,certno string,psn_name string) (string, string) {
1706
+func Jxyb2304(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string, fapiao_number string, acct_used_flag string, card_sn string, psn_type string, psn_cert_type string, certno string, psn_name string) (string, string) {
1728
 	// 生成签名
1707
 	// 生成签名
1729
 	nonce := GetRandomString(32)
1708
 	nonce := GetRandomString(32)
1730
 	timestamp := time.Now().Unix()
1709
 	timestamp := time.Now().Unix()
1763
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1742
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1764
 	inputData["insutype"] = insutype             // 险种类型
1743
 	inputData["insutype"] = insutype             // 险种类型
1765
 
1744
 
1766
-	inputData["card_sn"] = card_sn          // 发票号
1767
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
1768
-	inputData["certno"] = certno          // 发票号
1769
-	inputData["psn_type"] = psn_type          // 发票号
1770
-	inputData["psn_name"] = psn_name          // 发票号
1771
-
1745
+	inputData["card_sn"] = card_sn             // 发票号
1746
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
1747
+	inputData["certno"] = certno               // 发票号
1748
+	inputData["psn_type"] = psn_type           // 发票号
1749
+	inputData["psn_name"] = psn_name           // 发票号
1772
 
1750
 
1773
 	input["data"] = inputData
1751
 	input["data"] = inputData
1774
 	inputMessage["input"] = input //交易输入
1752
 	inputMessage["input"] = input //交易输入
1785
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2304"), requestLog
1763
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2304"), requestLog
1786
 
1764
 
1787
 }
1765
 }
1788
-func Jxyb2304a(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string, fapiao_number string, acct_used_flag string,card_sn string,psn_type int64,psn_cert_type string,certno string,psn_name string) (string, string) {
1766
+func Jxyb2304a(psnNo string, mdtrtId string, certNo string, insutype string, total string, certificates int64, id_card_type int64, mid_setl_flag string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string, fapiao_number string, acct_used_flag string, card_sn string, psn_type int64, psn_cert_type string, certno string, psn_name string) (string, string) {
1789
 	// 生成签名
1767
 	// 生成签名
1790
 	nonce := GetRandomString(32)
1768
 	nonce := GetRandomString(32)
1791
 	timestamp := time.Now().Unix()
1769
 	timestamp := time.Now().Unix()
1824
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1802
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1825
 	inputData["insutype"] = insutype             // 险种类型
1803
 	inputData["insutype"] = insutype             // 险种类型
1826
 
1804
 
1827
-	inputData["card_sn"] = card_sn          // 发票号
1828
-	inputData["psn_cert_type"] = psn_cert_type          // 发票号
1829
-	inputData["certno"] = certno          // 发票号
1830
-	inputData["psn_type"] = psn_type          // 发票号
1831
-	inputData["psn_name"] = psn_name          // 发票号
1832
-
1805
+	inputData["card_sn"] = card_sn             // 发票号
1806
+	inputData["psn_cert_type"] = psn_cert_type // 发票号
1807
+	inputData["certno"] = certno               // 发票号
1808
+	inputData["psn_type"] = psn_type           // 发票号
1809
+	inputData["psn_name"] = psn_name           // 发票号
1833
 
1810
 
1834
 	input["data"] = inputData
1811
 	input["data"] = inputData
1835
 	inputMessage["input"] = input //交易输入
1812
 	inputMessage["input"] = input //交易输入
1847
 
1824
 
1848
 }
1825
 }
1849
 
1826
 
1850
-
1851
 func Jxyb2305(psnNo string, mdtrtId string, setlId string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string) (string, string) {
1827
 func Jxyb2305(psnNo string, mdtrtId string, setlId string, secret_key string, org_name string, fixmedins_code string, doctor string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, cainfo string, access_key string) (string, string) {
1852
 	// 生成签名
1828
 	// 生成签名
1853
 	timestamp := time.Now().Unix()
1829
 	timestamp := time.Now().Unix()
1875
 
1851
 
1876
 }
1852
 }
1877
 
1853
 
1878
-
1879
-func JXyb3505(struct3505 models.Struct3505, secret_key string, ak string,request_url string) (string, string) {
1854
+func JXyb3505(struct3505 models.Struct3505, secret_key string, ak string, request_url string) (string, string) {
1880
 	// 生成签名
1855
 	// 生成签名
1881
 	// 生成签名
1856
 	// 生成签名
1882
 	timestamp := time.Now().Unix()
1857
 	timestamp := time.Now().Unix()
1883
-	inputMessage := SetJXInputMessage(timestamp, struct3505.OrgName, struct3505.Opter,  struct3505.Code, struct3505.InsuplcAdmdvs,  struct3505.MdtrtareaAdmvs, "")
1858
+	inputMessage := SetJXInputMessage(timestamp, struct3505.OrgName, struct3505.Opter, struct3505.Code, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, "")
1884
 	//inputMessage := SetGZInputMessage(nonce, timestamp, struct3505.OrgName, struct3505.Opter, struct3505.FixmedinsCode, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, sign)
1859
 	//inputMessage := SetGZInputMessage(nonce, timestamp, struct3505.OrgName, struct3505.Opter, struct3505.FixmedinsCode, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, sign)
1885
 
1860
 
1886
 	input := make(map[string]interface{})
1861
 	input := make(map[string]interface{})
1924
 	inputData["bchno"] = struct3505.Bchno // 人员编号 (来自1101接口返回)
1899
 	inputData["bchno"] = struct3505.Bchno // 人员编号 (来自1101接口返回)
1925
 	codes := strings.Split(struct3505.DrugTracCodg, ",")
1900
 	codes := strings.Split(struct3505.DrugTracCodg, ",")
1926
 
1901
 
1927
-	inputData["drug_trac_codg"] = codes[0]          // 人员编号 (来自1101接口返回)
1902
+	inputData["drug_trac_codg"] = codes[0]                         // 人员编号 (来自1101接口返回)
1928
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
1903
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
1929
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
1904
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
1930
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
1905
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
1936
 
1911
 
1937
 	//codes = strings.Split(struct3505.DrugTracCodg, ",")
1912
 	//codes = strings.Split(struct3505.DrugTracCodg, ",")
1938
 	for _, item := range codes {
1913
 	for _, item := range codes {
1939
-		if len(item) > 0{
1914
+		if len(item) > 0 {
1940
 			druginputData := make(map[string]interface{})
1915
 			druginputData := make(map[string]interface{})
1941
 			druginputData["drug_trac_codg"] = item
1916
 			druginputData["drug_trac_codg"] = item
1942
 			feedetail = append(feedetail, druginputData)
1917
 			feedetail = append(feedetail, druginputData)
1961
 
1936
 
1962
 }
1937
 }
1963
 
1938
 
1939
+func JXyb3506(struct3506 models.Struct3506, secret_key string, ak string, request_url string) (string, string) {
1940
+	// 生成签名
1941
+	// 生成签名
1942
+	timestamp := time.Now().Unix()
1943
+	inputMessage := SetJXInputMessage(timestamp, struct3506.OrgName, struct3506.Opter, struct3506.Code, struct3506.InsuplcAdmdvs, struct3506.MdtrtareaAdmvs, "")
1964
 
1944
 
1965
-func JXyb3513(struct3513 models.Struct3513, secret_key string, ak string,request_url string) (string, string) {
1945
+	input := make(map[string]interface{})
1946
+	inputData := make(map[string]interface{})
1947
+	inputMessage["infno"] = "3506"                                  // 交易编码
1948
+	inputData["med_list_codg"] = struct3506.MedListCodg             // 定点医药机构目录编号
1949
+	inputData["fixmedins_hilist_id"] = struct3506.FixmedinsHilistId // 定点医药机构目录编号
1950
+	inputData["fixmedins_hilist_name"] = struct3506.OrgName         // 定点医药机构目录名称
1951
+	inputData["fixmedins_bchno"] = struct3506.FixmedinsBchno        // 人员编号 (来自1101接口返回)
1952
+
1953
+	inputData["setl_id"] = struct3506.SetlId                       // 人员编号 (来自1101接口返回)
1954
+	inputData["psn_no"] = struct3506.PsnNo                         // 人员编号 (来自1101接口返回)
1955
+	inputData["psn_cert_type"] = struct3506.PsnCertType            // 人员编号 (来自1101接口返回)
1956
+	inputData["certno"] = struct3506.Certno                        // 人员编号 (来自1101接口返回)
1957
+	inputData["psn_name"] = struct3506.PsnName                     // 人员编号 (来自1101接口返回)
1958
+	inputData["manu_lotnum"] = struct3506.ManuLotnum               // 人员编号 (来自1101接口返回)
1959
+	inputData["manu_date"] = struct3506.ManuDate                   // 人员编号 (来自1101接口返回)
1960
+	inputData["expy_end"] = struct3506.ExpyEnd                     // 人员编号 (来自1101接口返回)
1961
+	inputData["rx_flag"] = struct3506.RxFlag                       // 人员编号 (来自1101接口返回)
1962
+	inputData["trdn_flag"] = struct3506.TrdnFlag                   // 人员编号 (来自1101接口返回)
1963
+	inputData["finl_trns_pric"] = struct3506.FinlTrnsPric          // 人员编号 (来自1101接口返回)
1964
+	inputData["sel_retn_cnt"] = struct3506.SelRetnCnt              // 人员编号 (来自1101接口返回)
1965
+	inputData["sel_retn_time"] = struct3506.SelRetnTime            // 人员编号 (来自1101接口返回)
1966
+	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
1967
+	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
1968
+	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
1969
+	//drug_trac_cod .g
1970
+	feedetail := make([]map[string]interface{}, 0)
1971
+
1972
+	codes := strings.Split(struct3506.DrugTracCodg, ",")
1973
+	for _, item := range codes {
1974
+		if len(item) > 0 {
1975
+			druginputData := make(map[string]interface{})
1976
+			druginputData["drug_trac_codg"] = item
1977
+			feedetail = append(feedetail, druginputData)
1978
+		}
1979
+	}
1980
+	inputData["drugtracinfo"] = feedetail
1981
+	input["selinfo"] = inputData
1982
+	inputMessage["input"] = input //交易输入
1983
+
1984
+	input["selinfo"] = inputData
1985
+	inputMessage["input"] = input //交易输入
1986
+
1987
+	bytesData, err := json.Marshal(inputMessage)
1988
+	requestLog := string(bytesData)
1989
+	if err != nil {
1990
+		fmt.Println(err.Error())
1991
+		return err.Error(), ""
1992
+	}
1993
+
1994
+	request_url = request_url + "3506"
1995
+	return JXHttpRequest(request_url, ak, secret_key, timestamp, string(bytesData), "3506"), requestLog
1996
+
1997
+}
1998
+
1999
+func JXyb3513(struct3513 models.Struct3513, secret_key string, ak string, request_url string) (string, string) {
1966
 	// 生成签名
2000
 	// 生成签名
1967
 	timestamp := time.Now().Unix()
2001
 	timestamp := time.Now().Unix()
1968
 
2002
 
2017
 
2051
 
2018
 }
2052
 }
2019
 
2053
 
2020
-
2021
-//CBS总线
2054
+// CBS总线
2022
 func JXHttpRequest(url string, ak string, sk string, timestamp int64, json string, infno string) string {
2055
 func JXHttpRequest(url string, ak string, sk string, timestamp int64, json string, infno string) string {
2023
 	fmt.Println(url)
2056
 	fmt.Println(url)
2024
 	//step 1. 设置请求参数
2057
 	//step 1. 设置请求参数
2170
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2503"), string(bytesData)
2203
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2503"), string(bytesData)
2171
 }
2204
 }
2172
 
2205
 
2173
-func Jxyb3201(fixmedins_setl_cnt int64,  stmt_begndate string, stmt_enddate string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string,medfee_sumamt string,fund_pay_sumamt string,acct_pay string) (string, string) {
2206
+func Jxyb3201(fixmedins_setl_cnt int64, stmt_begndate string, stmt_enddate string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string, medfee_sumamt string, fund_pay_sumamt string, acct_pay string) (string, string) {
2174
 	// 生成签名
2207
 	// 生成签名
2175
 	timestamp := time.Now().Unix()
2208
 	timestamp := time.Now().Unix()
2176
 	// 生成输入报文
2209
 	// 生成输入报文
2180
 	inputMessage["infno"] = "3201"                       // 交易编码
2213
 	inputMessage["infno"] = "3201"                       // 交易编码
2181
 	inputData["insutype"] = insutype                     // 险种
2214
 	inputData["insutype"] = insutype                     // 险种
2182
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2215
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2183
-	inputData["setl_optins"] = "360102"               // 结算经办机构
2216
+	inputData["setl_optins"] = "360102"                  // 结算经办机构
2184
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2217
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2185
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2218
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2186
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2219
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2187
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2220
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2188
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2221
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2189
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2222
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2190
-	inputData["refd_setl_flag"] = 0                  //
2223
+	inputData["refd_setl_flag"] = 0                      //
2191
 
2224
 
2192
 	input["data"] = inputData
2225
 	input["data"] = inputData
2193
 	inputMessage["input"] = input //交易输入
2226
 	inputMessage["input"] = input //交易输入
2201
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "3201"), string(bytesData)
2234
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "3201"), string(bytesData)
2202
 }
2235
 }
2203
 
2236
 
2204
-func Jxyb32012(fixmedins_setl_cnt int64,  stmt_begndate string, stmt_enddate string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string,medfee_sumamt string,fund_pay_sumamt string,acct_pay string) (string, string) {
2237
+func Jxyb32012(fixmedins_setl_cnt int64, stmt_begndate string, stmt_enddate string, clr_type string, insutype string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string, request_url string, access_key string, secret_key string, medfee_sumamt string, fund_pay_sumamt string, acct_pay string) (string, string) {
2205
 	// 生成签名
2238
 	// 生成签名
2206
 	timestamp := time.Now().Unix()
2239
 	timestamp := time.Now().Unix()
2207
 	// 生成输入报文
2240
 	// 生成输入报文
2211
 	inputMessage["infno"] = "3201"                       // 交易编码
2244
 	inputMessage["infno"] = "3201"                       // 交易编码
2212
 	inputData["insutype"] = insutype                     // 险种
2245
 	inputData["insutype"] = insutype                     // 险种
2213
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2246
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2214
-	inputData["setl_optins"] = "361025"               // 结算经办机构
2247
+	inputData["setl_optins"] = "361025"                  // 结算经办机构
2215
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2248
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2216
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2249
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2217
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2250
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2218
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2251
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2219
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2252
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2220
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2253
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2221
-	inputData["refd_setl_flag"] = 0                  //
2254
+	inputData["refd_setl_flag"] = 0                      //
2222
 
2255
 
2223
 	input["data"] = inputData
2256
 	input["data"] = inputData
2224
 	inputMessage["input"] = input //交易输入
2257
 	inputMessage["input"] = input //交易输入
2777
 	inputData["setl_id"] = setl_id     // 结算 ID  必填
2810
 	inputData["setl_id"] = setl_id     // 结算 ID  必填
2778
 	inputData["psn_no"] = psn_no       // 结算 ID  必填
2811
 	inputData["psn_no"] = psn_no       // 结算 ID  必填
2779
 	inputData["stas_type"] = stas_type // 结算 ID  必填
2812
 	inputData["stas_type"] = stas_type // 结算 ID  必填
2780
-	inputData2["stastinfo"]  = inputData
2813
+	inputData2["stastinfo"] = inputData
2781
 	input["data"] = inputData2
2814
 	input["data"] = inputData2
2782
 	inputMessage["input"] = input //交易输入
2815
 	inputMessage["input"] = input //交易输入
2783
 	bytesData, _ := json.Marshal(inputMessage)
2816
 	bytesData, _ := json.Marshal(inputMessage)
2809
 
2842
 
2810
 }
2843
 }
2811
 
2844
 
2812
-
2813
-func Jxyb4105( params models.PublicParams) (string, string) {
2845
+func Jxyb4105(params models.PublicParams) (string, string) {
2814
 	var meds []string
2846
 	var meds []string
2815
-	meds = append(meds,"21")
2847
+	meds = append(meds, "21")
2816
 
2848
 
2817
 	timestamp := time.Now().Unix()
2849
 	timestamp := time.Now().Unix()
2818
 	inputMessage := SetJXInputMessage(timestamp, params.FixmedinsName, params.OpterName, params.FixmedinsCode, params.InsuplcAdmdvs, params.MdtrtareaAdmvs, params.Cainfo)
2850
 	inputMessage := SetJXInputMessage(timestamp, params.FixmedinsName, params.OpterName, params.FixmedinsCode, params.InsuplcAdmdvs, params.MdtrtareaAdmvs, params.Cainfo)
2822
 	inputMessage["infno"] = "4105" // 交易编码
2854
 	inputMessage["infno"] = "4105" // 交易编码
2823
 
2855
 
2824
 	inputData["fixmedins_code"] = params.FixmedinsCode // 结算 ID  必填
2856
 	inputData["fixmedins_code"] = params.FixmedinsCode // 结算 ID  必填
2825
-	inputData["medtype_list"] = meds // 结算 ID  必填
2826
-	inputData["stt_begntime"] = "2023-11-01"// 结算 ID  必填
2827
-	inputData["stt_endtime"] = "2023-11-31"// 结算 ID  必填
2857
+	inputData["medtype_list"] = meds                   // 结算 ID  必填
2858
+	inputData["stt_begntime"] = "2023-11-01"           // 结算 ID  必填
2859
+	inputData["stt_endtime"] = "2023-11-31"            // 结算 ID  必填
2828
 
2860
 
2829
 	input["data"] = inputData
2861
 	input["data"] = inputData
2830
 	inputMessage["input"] = input //交易输入
2862
 	inputMessage["input"] = input //交易输入
2988
 
3020
 
2989
 }
3021
 }
2990
 
3022
 
2991
-
2992
 func Jxyb3506(struct3506 models.Struct3506) (string, string) {
3023
 func Jxyb3506(struct3506 models.Struct3506) (string, string) {
2993
 	timestamp := time.Now().Unix()
3024
 	timestamp := time.Now().Unix()
2994
 	// 生成输入报文
3025
 	// 生成输入报文
3038
 	inputMessage := SetJXInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3069
 	inputMessage := SetJXInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3039
 	input := make(map[string]interface{})
3070
 	input := make(map[string]interface{})
3040
 	inputData := make(map[string]interface{})
3071
 	inputData := make(map[string]interface{})
3041
-	inputMessage["infno"] = "3507"                          // 交易编码
3072
+	inputMessage["infno"] = "3507"                           // 交易编码
3042
 	inputData["fixmedins_bchno"] = struct3507.FixmedinsBchno // 人员编号 (来自1101接口返回)
3073
 	inputData["fixmedins_bchno"] = struct3507.FixmedinsBchno // 人员编号 (来自1101接口返回)
3043
-	inputData["inv_data_type"] = struct3507.InvDataType     // 人员编号 (来自1101接口返回)
3074
+	inputData["inv_data_type"] = struct3507.InvDataType      // 人员编号 (来自1101接口返回)
3044
 
3075
 
3045
 	input["data"] = inputData
3076
 	input["data"] = inputData
3046
 	inputMessage["input"] = input //交易输入
3077
 	inputMessage["input"] = input //交易输入

+ 95 - 85
service/nm_service.go 查看文件

1025
 	fmt.Println(string(bytesData))
1025
 	fmt.Println(string(bytesData))
1026
 	if err != nil {
1026
 	if err != nil {
1027
 		fmt.Println(err.Error())
1027
 		fmt.Println(err.Error())
1028
-		return err.Error(),""
1028
+		return err.Error(), ""
1029
 	}
1029
 	}
1030
 	reader := bytes.NewReader(bytesData)
1030
 	reader := bytes.NewReader(bytesData)
1031
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1031
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1077
 	inputData["med_list_codg"] = struct3502.MedListCodg // 定点医药机构目录编号
1077
 	inputData["med_list_codg"] = struct3502.MedListCodg // 定点医药机构目录编号
1078
 	inputData["inv_chg_type"] = struct3502.InvChgType   // 定点医药机构目录编号
1078
 	inputData["inv_chg_type"] = struct3502.InvChgType   // 定点医药机构目录编号
1079
 
1079
 
1080
-	inputData["fixmedins_hilist_id"] = struct3502.FixmedinsCode // 定点医药机构目录编号
1081
-	inputData["fixmedins_hilist_name"] = struct3502.FixmedinsHilistName     // 定点医药机构目录名称
1082
-	inputData["fixmedins_bchno"] = struct3502.FixmedinsBchno    // 人员编号 (来自1101接口返回)
1083
-	inputData["pric"] = struct3502.Pric                         // 人员编号 (来自1101接口返回)
1084
-	inputData["cnt"] = struct3502.Cnt                           // 人员编号 (来自1101接口返回)
1085
-	inputData["rx_flag"] = struct3502.RxFlag                    //
1080
+	inputData["fixmedins_hilist_id"] = struct3502.FixmedinsCode         // 定点医药机构目录编号
1081
+	inputData["fixmedins_hilist_name"] = struct3502.FixmedinsHilistName // 定点医药机构目录名称
1082
+	inputData["fixmedins_bchno"] = struct3502.FixmedinsBchno            // 人员编号 (来自1101接口返回)
1083
+	inputData["pric"] = struct3502.Pric                                 // 人员编号 (来自1101接口返回)
1084
+	inputData["cnt"] = struct3502.Cnt                                   // 人员编号 (来自1101接口返回)
1085
+	inputData["rx_flag"] = struct3502.RxFlag                            //
1086
 
1086
 
1087
 	inputData["inv_chg_time"] = struct3502.InvChgTime // 人员编号 (来自1101接口返回)
1087
 	inputData["inv_chg_time"] = struct3502.InvChgTime // 人员编号 (来自1101接口返回)
1088
 	inputData["inv_chg_opter_name"] = ""              // 人员编号 (来自1101接口返回)
1088
 	inputData["inv_chg_opter_name"] = ""              // 人员编号 (来自1101接口返回)
1096
 	fmt.Println(string(bytesData))
1096
 	fmt.Println(string(bytesData))
1097
 	if err != nil {
1097
 	if err != nil {
1098
 		fmt.Println(err.Error())
1098
 		fmt.Println(err.Error())
1099
-		return err.Error(),""
1099
+		return err.Error(), ""
1100
 	}
1100
 	}
1101
 	reader := bytes.NewReader(bytesData)
1101
 	reader := bytes.NewReader(bytesData)
1102
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1102
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1108
 	request, err := http.NewRequest("POST", url, reader)
1108
 	request, err := http.NewRequest("POST", url, reader)
1109
 	if err != nil {
1109
 	if err != nil {
1110
 		fmt.Println(err.Error())
1110
 		fmt.Println(err.Error())
1111
-		return err.Error(),""
1111
+		return err.Error(), ""
1112
 	}
1112
 	}
1113
 
1113
 
1114
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1114
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1121
 	resp, err := client.Do(request)
1121
 	resp, err := client.Do(request)
1122
 	if err != nil {
1122
 	if err != nil {
1123
 		fmt.Println(err.Error())
1123
 		fmt.Println(err.Error())
1124
-		return err.Error(),""
1124
+		return err.Error(), ""
1125
 	}
1125
 	}
1126
 	respBytes, err := ioutil.ReadAll(resp.Body)
1126
 	respBytes, err := ioutil.ReadAll(resp.Body)
1127
 	if err != nil {
1127
 	if err != nil {
1128
 		fmt.Println(err.Error())
1128
 		fmt.Println(err.Error())
1129
-		return err.Error(),""
1129
+		return err.Error(), ""
1130
 	}
1130
 	}
1131
 	str := string(respBytes)
1131
 	str := string(respBytes)
1132
 	fmt.Println(str)
1132
 	fmt.Println(str)
1133
-	return str,string(bytesData)
1133
+	return str, string(bytesData)
1134
 }
1134
 }
1135
-func NMyb3503(struct3503 models.Struct3503, secret_key string) (string,string) {
1135
+func NMyb3503(struct3503 models.Struct3503, secret_key string) (string, string) {
1136
 	// 生成签名
1136
 	// 生成签名
1137
 	nonce := GetRandomString(32)
1137
 	nonce := GetRandomString(32)
1138
 	timestamp := time.Now().Unix()
1138
 	timestamp := time.Now().Unix()
1175
 	fmt.Println(string(bytesData))
1175
 	fmt.Println(string(bytesData))
1176
 	if err != nil {
1176
 	if err != nil {
1177
 		fmt.Println(err.Error())
1177
 		fmt.Println(err.Error())
1178
-		return err.Error(),""
1178
+		return err.Error(), ""
1179
 	}
1179
 	}
1180
 	reader := bytes.NewReader(bytesData)
1180
 	reader := bytes.NewReader(bytesData)
1181
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1181
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1186
 	request, err := http.NewRequest("POST", url, reader)
1186
 	request, err := http.NewRequest("POST", url, reader)
1187
 	if err != nil {
1187
 	if err != nil {
1188
 		fmt.Println(err.Error())
1188
 		fmt.Println(err.Error())
1189
-		return err.Error(),""
1189
+		return err.Error(), ""
1190
 	}
1190
 	}
1191
 
1191
 
1192
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1192
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1199
 	resp, err := client.Do(request)
1199
 	resp, err := client.Do(request)
1200
 	if err != nil {
1200
 	if err != nil {
1201
 		fmt.Println(err.Error())
1201
 		fmt.Println(err.Error())
1202
-		return err.Error(),""
1202
+		return err.Error(), ""
1203
 	}
1203
 	}
1204
 	respBytes, err := ioutil.ReadAll(resp.Body)
1204
 	respBytes, err := ioutil.ReadAll(resp.Body)
1205
 	if err != nil {
1205
 	if err != nil {
1206
 		fmt.Println(err.Error())
1206
 		fmt.Println(err.Error())
1207
-		return err.Error(),""
1207
+		return err.Error(), ""
1208
 	}
1208
 	}
1209
 	str := string(respBytes)
1209
 	str := string(respBytes)
1210
 	fmt.Println(str)
1210
 	fmt.Println(str)
1211
-	return str,string(bytesData)
1211
+	return str, string(bytesData)
1212
 }
1212
 }
1213
-func NMyb3504(struct3504 models.Struct3504, secret_key string) (string,string) {
1213
+func NMyb3504(struct3504 models.Struct3504, secret_key string) (string, string) {
1214
 	// 生成签名
1214
 	// 生成签名
1215
 	nonce := GetRandomString(32)
1215
 	nonce := GetRandomString(32)
1216
 	timestamp := time.Now().Unix()
1216
 	timestamp := time.Now().Unix()
1246
 	fmt.Println(string(bytesData))
1246
 	fmt.Println(string(bytesData))
1247
 	if err != nil {
1247
 	if err != nil {
1248
 		fmt.Println(err.Error())
1248
 		fmt.Println(err.Error())
1249
-		return err.Error(),""
1249
+		return err.Error(), ""
1250
 	}
1250
 	}
1251
 	reader := bytes.NewReader(bytesData)
1251
 	reader := bytes.NewReader(bytesData)
1252
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1252
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1257
 	request, err := http.NewRequest("POST", url, reader)
1257
 	request, err := http.NewRequest("POST", url, reader)
1258
 	if err != nil {
1258
 	if err != nil {
1259
 		fmt.Println(err.Error())
1259
 		fmt.Println(err.Error())
1260
-		return err.Error(),""
1260
+		return err.Error(), ""
1261
 	}
1261
 	}
1262
 
1262
 
1263
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1263
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1270
 	resp, err := client.Do(request)
1270
 	resp, err := client.Do(request)
1271
 	if err != nil {
1271
 	if err != nil {
1272
 		fmt.Println(err.Error())
1272
 		fmt.Println(err.Error())
1273
-		return err.Error(),""
1273
+		return err.Error(), ""
1274
 	}
1274
 	}
1275
 	respBytes, err := ioutil.ReadAll(resp.Body)
1275
 	respBytes, err := ioutil.ReadAll(resp.Body)
1276
 	if err != nil {
1276
 	if err != nil {
1277
 		fmt.Println(err.Error())
1277
 		fmt.Println(err.Error())
1278
-		return err.Error(),""
1278
+		return err.Error(), ""
1279
 	}
1279
 	}
1280
 	str := string(respBytes)
1280
 	str := string(respBytes)
1281
 	fmt.Println(str)
1281
 	fmt.Println(str)
1282
-	return str,string(bytesData)
1282
+	return str, string(bytesData)
1283
 }
1283
 }
1284
-func NMyb3505(struct3505 models.Struct3505, secret_key string) (string,string) {
1284
+func NMyb3505(struct3505 models.Struct3505, secret_key string) (string, string) {
1285
 	// 生成签名
1285
 	// 生成签名
1286
 	nonce := GetRandomString(32)
1286
 	nonce := GetRandomString(32)
1287
 	timestamp := time.Now().Unix()
1287
 	timestamp := time.Now().Unix()
1291
 	inputMessage := SetGdInputMessage(timestamp, struct3505.OrgName, struct3505.Opter, struct3505.Code, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, struct3505.Cainfo)
1291
 	inputMessage := SetGdInputMessage(timestamp, struct3505.OrgName, struct3505.Opter, struct3505.Code, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, struct3505.Cainfo)
1292
 	input := make(map[string]interface{})
1292
 	input := make(map[string]interface{})
1293
 	inputData := make(map[string]interface{})
1293
 	inputData := make(map[string]interface{})
1294
-	inputMessage["infno"] = "3505"                                  // 交易编码
1295
-	inputData["med_list_codg"] = struct3505.MedListCodg             // 定点医药机构目录编号
1296
-	inputData["fixmedins_hilist_id"] = struct3505.FixmedinsHilistId // 定点医药机构目录编号
1297
-	inputData["fixmedins_hilist_name"] = struct3505.FixmedinsHilistName         // 定点医药机构目录名称
1298
-	inputData["fixmedins_bchno"] = struct3505.FixmedinsBchno        // 人员编号 (来自1101接口返回)
1294
+	inputMessage["infno"] = "3505"                                      // 交易编码
1295
+	inputData["med_list_codg"] = struct3505.MedListCodg                 // 定点医药机构目录编号
1296
+	inputData["fixmedins_hilist_id"] = struct3505.FixmedinsHilistId     // 定点医药机构目录编号
1297
+	inputData["fixmedins_hilist_name"] = struct3505.FixmedinsHilistName // 定点医药机构目录名称
1298
+	inputData["fixmedins_bchno"] = struct3505.FixmedinsBchno            // 人员编号 (来自1101接口返回)
1299
 
1299
 
1300
 	inputData["prsc_dr_cert_type"] = struct3505.PrscDrCertType // 人员编号 (来自1101接口返回)
1300
 	inputData["prsc_dr_cert_type"] = struct3505.PrscDrCertType // 人员编号 (来自1101接口返回)
1301
 	inputData["prsc_dr_certno"] = struct3505.PrscDrCertno      // 人员编号 (来自1101接口返回)
1301
 	inputData["prsc_dr_certno"] = struct3505.PrscDrCertno      // 人员编号 (来自1101接口返回)
1327
 	inputData["stoout_no"] = struct3505.StooutNo   // 人员编号 (来自1101接口返回)
1327
 	inputData["stoout_no"] = struct3505.StooutNo   // 人员编号 (来自1101接口返回)
1328
 
1328
 
1329
 	inputData["bchno"] = struct3505.Bchno                          // 人员编号 (来自1101接口返回)
1329
 	inputData["bchno"] = struct3505.Bchno                          // 人员编号 (来自1101接口返回)
1330
-	inputData["drug_trac_codg"] = "---"         // 人员编号 (来自1101接口返回)
1330
+	inputData["drug_trac_codg"] = "---"                            // 人员编号 (来自1101接口返回)
1331
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
1331
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
1332
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
1332
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
1333
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
1333
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
1352
 	fmt.Println(string(bytesData))
1352
 	fmt.Println(string(bytesData))
1353
 	if err != nil {
1353
 	if err != nil {
1354
 		fmt.Println(err.Error())
1354
 		fmt.Println(err.Error())
1355
-		return err.Error(),""
1355
+		return err.Error(), ""
1356
 	}
1356
 	}
1357
 	reader := bytes.NewReader(bytesData)
1357
 	reader := bytes.NewReader(bytesData)
1358
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1358
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1363
 	request, err := http.NewRequest("POST", url, reader)
1363
 	request, err := http.NewRequest("POST", url, reader)
1364
 	if err != nil {
1364
 	if err != nil {
1365
 		fmt.Println(err.Error())
1365
 		fmt.Println(err.Error())
1366
-		return err.Error(),""
1366
+		return err.Error(), ""
1367
 	}
1367
 	}
1368
 
1368
 
1369
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1369
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1376
 	resp, err := client.Do(request)
1376
 	resp, err := client.Do(request)
1377
 	if err != nil {
1377
 	if err != nil {
1378
 		fmt.Println(err.Error())
1378
 		fmt.Println(err.Error())
1379
-		return err.Error(),""
1379
+		return err.Error(), ""
1380
 	}
1380
 	}
1381
 	respBytes, err := ioutil.ReadAll(resp.Body)
1381
 	respBytes, err := ioutil.ReadAll(resp.Body)
1382
 	if err != nil {
1382
 	if err != nil {
1383
 		fmt.Println(err.Error())
1383
 		fmt.Println(err.Error())
1384
-		return err.Error(),""
1384
+		return err.Error(), ""
1385
 	}
1385
 	}
1386
 	str := string(respBytes)
1386
 	str := string(respBytes)
1387
 	fmt.Println(str)
1387
 	fmt.Println(str)
1388
-	return str,string(bytesData)
1388
+	return str, string(bytesData)
1389
 }
1389
 }
1390
-func NMyb3506(struct3506 models.Struct3506, secret_key string) (string,string) {
1390
+func NMyb3506(struct3506 models.Struct3506, secret_key string) (string, string) {
1391
 	// 生成签名
1391
 	// 生成签名
1392
 	nonce := GetRandomString(32)
1392
 	nonce := GetRandomString(32)
1393
 	timestamp := time.Now().Unix()
1393
 	timestamp := time.Now().Unix()
1419
 	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
1419
 	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
1420
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
1420
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
1421
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
1421
 	inputData["medins_prod_sel_no"] = ""                           // 人员编号 (来自1101接口返回)
1422
+	// 人员编号 (来自1101接口返回)
1423
+	feedetail := make([]map[string]interface{}, 0)
1422
 
1424
 
1425
+	codes := strings.Split(struct3506.DrugTracCodg, ",")
1426
+	for _, item := range codes {
1427
+		if len(item) > 0 {
1428
+			druginputData := make(map[string]interface{})
1429
+			druginputData["drug_trac_codg"] = item
1430
+			feedetail = append(feedetail, druginputData)
1431
+		}
1432
+	}
1433
+	inputData["drugtracinfo"] = feedetail
1423
 	input["selinfo"] = inputData
1434
 	input["selinfo"] = inputData
1424
 	inputMessage["input"] = input //交易输入
1435
 	inputMessage["input"] = input //交易输入
1425
-
1426
 	bytesData, err := json.Marshal(inputMessage)
1436
 	bytesData, err := json.Marshal(inputMessage)
1427
 	fmt.Println(string(bytesData))
1437
 	fmt.Println(string(bytesData))
1428
 	if err != nil {
1438
 	if err != nil {
1429
 		fmt.Println(err.Error())
1439
 		fmt.Println(err.Error())
1430
-		return err.Error(),""
1440
+		return err.Error(), ""
1431
 	}
1441
 	}
1432
 	reader := bytes.NewReader(bytesData)
1442
 	reader := bytes.NewReader(bytesData)
1433
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1443
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1438
 	request, err := http.NewRequest("POST", url, reader)
1448
 	request, err := http.NewRequest("POST", url, reader)
1439
 	if err != nil {
1449
 	if err != nil {
1440
 		fmt.Println(err.Error())
1450
 		fmt.Println(err.Error())
1441
-		return err.Error(),""
1451
+		return err.Error(), ""
1442
 	}
1452
 	}
1443
 
1453
 
1444
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1454
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1451
 	resp, err := client.Do(request)
1461
 	resp, err := client.Do(request)
1452
 	if err != nil {
1462
 	if err != nil {
1453
 		fmt.Println(err.Error())
1463
 		fmt.Println(err.Error())
1454
-		return err.Error(),""
1464
+		return err.Error(), ""
1455
 	}
1465
 	}
1456
 	respBytes, err := ioutil.ReadAll(resp.Body)
1466
 	respBytes, err := ioutil.ReadAll(resp.Body)
1457
 	if err != nil {
1467
 	if err != nil {
1458
 		fmt.Println(err.Error())
1468
 		fmt.Println(err.Error())
1459
-		return err.Error(),""
1469
+		return err.Error(), ""
1460
 	}
1470
 	}
1461
 	str := string(respBytes)
1471
 	str := string(respBytes)
1462
 	fmt.Println(str)
1472
 	fmt.Println(str)
1463
-	return str,string(bytesData)
1473
+	return str, string(bytesData)
1464
 }
1474
 }
1465
-func NMyb3507(struct3507 models.Struct3507, secret_key string) (string,string) {
1475
+func NMyb3507(struct3507 models.Struct3507, secret_key string) (string, string) {
1466
 	// 生成签名
1476
 	// 生成签名
1467
 	nonce := GetRandomString(32)
1477
 	nonce := GetRandomString(32)
1468
 	timestamp := time.Now().Unix()
1478
 	timestamp := time.Now().Unix()
1483
 	fmt.Println(string(bytesData))
1493
 	fmt.Println(string(bytesData))
1484
 	if err != nil {
1494
 	if err != nil {
1485
 		fmt.Println(err.Error())
1495
 		fmt.Println(err.Error())
1486
-		return err.Error(),""
1496
+		return err.Error(), ""
1487
 	}
1497
 	}
1488
 	reader := bytes.NewReader(bytesData)
1498
 	reader := bytes.NewReader(bytesData)
1489
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1499
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1494
 	request, err := http.NewRequest("POST", url, reader)
1504
 	request, err := http.NewRequest("POST", url, reader)
1495
 	if err != nil {
1505
 	if err != nil {
1496
 		fmt.Println(err.Error())
1506
 		fmt.Println(err.Error())
1497
-		return err.Error(),""
1507
+		return err.Error(), ""
1498
 	}
1508
 	}
1499
 
1509
 
1500
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1510
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1507
 	resp, err := client.Do(request)
1517
 	resp, err := client.Do(request)
1508
 	if err != nil {
1518
 	if err != nil {
1509
 		fmt.Println(err.Error())
1519
 		fmt.Println(err.Error())
1510
-		return err.Error(),""
1520
+		return err.Error(), ""
1511
 	}
1521
 	}
1512
 	respBytes, err := ioutil.ReadAll(resp.Body)
1522
 	respBytes, err := ioutil.ReadAll(resp.Body)
1513
 	if err != nil {
1523
 	if err != nil {
1514
 		fmt.Println(err.Error())
1524
 		fmt.Println(err.Error())
1515
-		return err.Error(),""
1525
+		return err.Error(), ""
1516
 	}
1526
 	}
1517
 	str := string(respBytes)
1527
 	str := string(respBytes)
1518
 	fmt.Println(str)
1528
 	fmt.Println(str)
1519
-	return str,string(bytesData)
1529
+	return str, string(bytesData)
1520
 }
1530
 }
1521
-func NMyb3508(struct3508 models.Struct3508, secret_key string) (string,string) {
1531
+func NMyb3508(struct3508 models.Struct3508, secret_key string) (string, string) {
1522
 	// 生成签名
1532
 	// 生成签名
1523
 	nonce := GetRandomString(32)
1533
 	nonce := GetRandomString(32)
1524
 	timestamp := time.Now().Unix()
1534
 	timestamp := time.Now().Unix()
1563
 	fmt.Println(string(bytesData))
1573
 	fmt.Println(string(bytesData))
1564
 	if err != nil {
1574
 	if err != nil {
1565
 		fmt.Println(err.Error())
1575
 		fmt.Println(err.Error())
1566
-		return err.Error(),""
1576
+		return err.Error(), ""
1567
 	}
1577
 	}
1568
 	reader := bytes.NewReader(bytesData)
1578
 	reader := bytes.NewReader(bytesData)
1569
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1579
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1574
 	request, err := http.NewRequest("POST", url, reader)
1584
 	request, err := http.NewRequest("POST", url, reader)
1575
 	if err != nil {
1585
 	if err != nil {
1576
 		fmt.Println(err.Error())
1586
 		fmt.Println(err.Error())
1577
-		return err.Error(),""
1587
+		return err.Error(), ""
1578
 	}
1588
 	}
1579
 
1589
 
1580
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1590
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1587
 	resp, err := client.Do(request)
1597
 	resp, err := client.Do(request)
1588
 	if err != nil {
1598
 	if err != nil {
1589
 		fmt.Println(err.Error())
1599
 		fmt.Println(err.Error())
1590
-		return err.Error(),""
1600
+		return err.Error(), ""
1591
 	}
1601
 	}
1592
 	respBytes, err := ioutil.ReadAll(resp.Body)
1602
 	respBytes, err := ioutil.ReadAll(resp.Body)
1593
 	if err != nil {
1603
 	if err != nil {
1594
 		fmt.Println(err.Error())
1604
 		fmt.Println(err.Error())
1595
-		return err.Error(),""
1605
+		return err.Error(), ""
1596
 	}
1606
 	}
1597
 	str := string(respBytes)
1607
 	str := string(respBytes)
1598
 	fmt.Println(str)
1608
 	fmt.Println(str)
1599
-	return str,string(bytesData)
1609
+	return str, string(bytesData)
1600
 }
1610
 }
1601
-func NMyb3509(struct3509 models.Struct3509, secret_key string) (string,string) {
1611
+func NMyb3509(struct3509 models.Struct3509, secret_key string) (string, string) {
1602
 	// 生成签名
1612
 	// 生成签名
1603
 	nonce := GetRandomString(32)
1613
 	nonce := GetRandomString(32)
1604
 	timestamp := time.Now().Unix()
1614
 	timestamp := time.Now().Unix()
1647
 	fmt.Println(string(bytesData))
1657
 	fmt.Println(string(bytesData))
1648
 	if err != nil {
1658
 	if err != nil {
1649
 		fmt.Println(err.Error())
1659
 		fmt.Println(err.Error())
1650
-		return err.Error(),""
1660
+		return err.Error(), ""
1651
 	}
1661
 	}
1652
 	reader := bytes.NewReader(bytesData)
1662
 	reader := bytes.NewReader(bytesData)
1653
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1663
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1658
 	request, err := http.NewRequest("POST", url, reader)
1668
 	request, err := http.NewRequest("POST", url, reader)
1659
 	if err != nil {
1669
 	if err != nil {
1660
 		fmt.Println(err.Error())
1670
 		fmt.Println(err.Error())
1661
-		return err.Error(),""
1671
+		return err.Error(), ""
1662
 	}
1672
 	}
1663
 
1673
 
1664
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1674
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1671
 	resp, err := client.Do(request)
1681
 	resp, err := client.Do(request)
1672
 	if err != nil {
1682
 	if err != nil {
1673
 		fmt.Println(err.Error())
1683
 		fmt.Println(err.Error())
1674
-		return err.Error(),""
1684
+		return err.Error(), ""
1675
 	}
1685
 	}
1676
 	respBytes, err := ioutil.ReadAll(resp.Body)
1686
 	respBytes, err := ioutil.ReadAll(resp.Body)
1677
 	if err != nil {
1687
 	if err != nil {
1678
 		fmt.Println(err.Error())
1688
 		fmt.Println(err.Error())
1679
-		return err.Error(),""
1689
+		return err.Error(), ""
1680
 	}
1690
 	}
1681
 	str := string(respBytes)
1691
 	str := string(respBytes)
1682
 	fmt.Println(str)
1692
 	fmt.Println(str)
1683
-	return str,string(bytesData)
1693
+	return str, string(bytesData)
1684
 }
1694
 }
1685
-func NMyb3510(struct3510 models.Struct3510, secret_key string) (string,string) {
1695
+func NMyb3510(struct3510 models.Struct3510, secret_key string) (string, string) {
1686
 	// 生成签名
1696
 	// 生成签名
1687
 	nonce := GetRandomString(32)
1697
 	nonce := GetRandomString(32)
1688
 	timestamp := time.Now().Unix()
1698
 	timestamp := time.Now().Unix()
1731
 	fmt.Println(string(bytesData))
1741
 	fmt.Println(string(bytesData))
1732
 	if err != nil {
1742
 	if err != nil {
1733
 		fmt.Println(err.Error())
1743
 		fmt.Println(err.Error())
1734
-		return err.Error(),""
1744
+		return err.Error(), ""
1735
 	}
1745
 	}
1736
 	reader := bytes.NewReader(bytesData)
1746
 	reader := bytes.NewReader(bytesData)
1737
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1747
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1742
 	request, err := http.NewRequest("POST", url, reader)
1752
 	request, err := http.NewRequest("POST", url, reader)
1743
 	if err != nil {
1753
 	if err != nil {
1744
 		fmt.Println(err.Error())
1754
 		fmt.Println(err.Error())
1745
-		return err.Error(),""
1755
+		return err.Error(), ""
1746
 	}
1756
 	}
1747
 
1757
 
1748
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1758
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1755
 	resp, err := client.Do(request)
1765
 	resp, err := client.Do(request)
1756
 	if err != nil {
1766
 	if err != nil {
1757
 		fmt.Println(err.Error())
1767
 		fmt.Println(err.Error())
1758
-		return err.Error(),""
1768
+		return err.Error(), ""
1759
 	}
1769
 	}
1760
 	respBytes, err := ioutil.ReadAll(resp.Body)
1770
 	respBytes, err := ioutil.ReadAll(resp.Body)
1761
 	if err != nil {
1771
 	if err != nil {
1762
 		fmt.Println(err.Error())
1772
 		fmt.Println(err.Error())
1763
-		return err.Error(),""
1773
+		return err.Error(), ""
1764
 	}
1774
 	}
1765
 	str := string(respBytes)
1775
 	str := string(respBytes)
1766
 	fmt.Println(str)
1776
 	fmt.Println(str)
1767
-	return str,string(bytesData)
1777
+	return str, string(bytesData)
1768
 }
1778
 }
1769
-func NMyb3511(struct3511 models.Struct3511, secret_key string) (string,string) {
1779
+func NMyb3511(struct3511 models.Struct3511, secret_key string) (string, string) {
1770
 	// 生成签名
1780
 	// 生成签名
1771
 	nonce := GetRandomString(32)
1781
 	nonce := GetRandomString(32)
1772
 	timestamp := time.Now().Unix()
1782
 	timestamp := time.Now().Unix()
1815
 	fmt.Println(string(bytesData))
1825
 	fmt.Println(string(bytesData))
1816
 	if err != nil {
1826
 	if err != nil {
1817
 		fmt.Println(err.Error())
1827
 		fmt.Println(err.Error())
1818
-		return err.Error(),""
1828
+		return err.Error(), ""
1819
 	}
1829
 	}
1820
 	reader := bytes.NewReader(bytesData)
1830
 	reader := bytes.NewReader(bytesData)
1821
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1831
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1826
 	request, err := http.NewRequest("POST", url, reader)
1836
 	request, err := http.NewRequest("POST", url, reader)
1827
 	if err != nil {
1837
 	if err != nil {
1828
 		fmt.Println(err.Error())
1838
 		fmt.Println(err.Error())
1829
-		return err.Error(),""
1839
+		return err.Error(), ""
1830
 	}
1840
 	}
1831
 
1841
 
1832
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1842
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1839
 	resp, err := client.Do(request)
1849
 	resp, err := client.Do(request)
1840
 	if err != nil {
1850
 	if err != nil {
1841
 		fmt.Println(err.Error())
1851
 		fmt.Println(err.Error())
1842
-		return err.Error(),""
1852
+		return err.Error(), ""
1843
 	}
1853
 	}
1844
 	respBytes, err := ioutil.ReadAll(resp.Body)
1854
 	respBytes, err := ioutil.ReadAll(resp.Body)
1845
 	if err != nil {
1855
 	if err != nil {
1846
 		fmt.Println(err.Error())
1856
 		fmt.Println(err.Error())
1847
-		return err.Error(),""
1857
+		return err.Error(), ""
1848
 	}
1858
 	}
1849
 	str := string(respBytes)
1859
 	str := string(respBytes)
1850
 	fmt.Println(str)
1860
 	fmt.Println(str)
1851
-	return str,string(bytesData)
1861
+	return str, string(bytesData)
1852
 }
1862
 }
1853
-func NMyb3512(struct3512 models.Struct3512, secret_key string) (string,string) {
1863
+func NMyb3512(struct3512 models.Struct3512, secret_key string) (string, string) {
1854
 	// 生成签名
1864
 	// 生成签名
1855
 	nonce := GetRandomString(32)
1865
 	nonce := GetRandomString(32)
1856
 	timestamp := time.Now().Unix()
1866
 	timestamp := time.Now().Unix()
1898
 	fmt.Println(string(bytesData))
1908
 	fmt.Println(string(bytesData))
1899
 	if err != nil {
1909
 	if err != nil {
1900
 		fmt.Println(err.Error())
1910
 		fmt.Println(err.Error())
1901
-		return err.Error(),""
1911
+		return err.Error(), ""
1902
 	}
1912
 	}
1903
 	reader := bytes.NewReader(bytesData)
1913
 	reader := bytes.NewReader(bytesData)
1904
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1914
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1909
 	request, err := http.NewRequest("POST", url, reader)
1919
 	request, err := http.NewRequest("POST", url, reader)
1910
 	if err != nil {
1920
 	if err != nil {
1911
 		fmt.Println(err.Error())
1921
 		fmt.Println(err.Error())
1912
-		return err.Error(),""
1922
+		return err.Error(), ""
1913
 	}
1923
 	}
1914
 
1924
 
1915
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1925
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1922
 	resp, err := client.Do(request)
1932
 	resp, err := client.Do(request)
1923
 	if err != nil {
1933
 	if err != nil {
1924
 		fmt.Println(err.Error())
1934
 		fmt.Println(err.Error())
1925
-		return err.Error(),""
1935
+		return err.Error(), ""
1926
 	}
1936
 	}
1927
 	respBytes, err := ioutil.ReadAll(resp.Body)
1937
 	respBytes, err := ioutil.ReadAll(resp.Body)
1928
 	if err != nil {
1938
 	if err != nil {
1929
 		fmt.Println(err.Error())
1939
 		fmt.Println(err.Error())
1930
-		return err.Error(),""
1940
+		return err.Error(), ""
1931
 	}
1941
 	}
1932
 	str := string(respBytes)
1942
 	str := string(respBytes)
1933
 	fmt.Println(str)
1943
 	fmt.Println(str)
1934
-	return str,string(bytesData)
1944
+	return str, string(bytesData)
1935
 }
1945
 }
1936
-func NMyb3513(struct3513 models.Struct3513, secret_key string) (string,string) {
1946
+func NMyb3513(struct3513 models.Struct3513, secret_key string) (string, string) {
1937
 	// 生成签名
1947
 	// 生成签名
1938
 	nonce := GetRandomString(32)
1948
 	nonce := GetRandomString(32)
1939
 	timestamp := time.Now().Unix()
1949
 	timestamp := time.Now().Unix()
1983
 	fmt.Println(string(bytesData))
1993
 	fmt.Println(string(bytesData))
1984
 	if err != nil {
1994
 	if err != nil {
1985
 		fmt.Println(err.Error())
1995
 		fmt.Println(err.Error())
1986
-		return err.Error(),""
1996
+		return err.Error(), ""
1987
 	}
1997
 	}
1988
 	reader := bytes.NewReader(bytesData)
1998
 	reader := bytes.NewReader(bytesData)
1989
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1999
 	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_api/prd/hsa/hgs/5301"
1994
 	request, err := http.NewRequest("POST", url, reader)
2004
 	request, err := http.NewRequest("POST", url, reader)
1995
 	if err != nil {
2005
 	if err != nil {
1996
 		fmt.Println(err.Error())
2006
 		fmt.Println(err.Error())
1997
-		return err.Error(),""
2007
+		return err.Error(), ""
1998
 	}
2008
 	}
1999
 
2009
 
2000
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
2010
 	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
2007
 	resp, err := client.Do(request)
2017
 	resp, err := client.Do(request)
2008
 	if err != nil {
2018
 	if err != nil {
2009
 		fmt.Println(err.Error())
2019
 		fmt.Println(err.Error())
2010
-		return err.Error(),""
2020
+		return err.Error(), ""
2011
 	}
2021
 	}
2012
 	respBytes, err := ioutil.ReadAll(resp.Body)
2022
 	respBytes, err := ioutil.ReadAll(resp.Body)
2013
 	if err != nil {
2023
 	if err != nil {
2014
 		fmt.Println(err.Error())
2024
 		fmt.Println(err.Error())
2015
-		return err.Error(),""
2025
+		return err.Error(), ""
2016
 	}
2026
 	}
2017
 	str := string(respBytes)
2027
 	str := string(respBytes)
2018
 	fmt.Println(str)
2028
 	fmt.Println(str)
2019
-	return str,string(bytesData)
2029
+	return str, string(bytesData)
2020
 }
2030
 }