Selaa lähdekoodia

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

test_user 4 viikkoa sitten
vanhempi
commit
e4ac399611

+ 275 - 0
controllers/nm/nm_controller.go Näytä tiedosto

@@ -78,7 +78,282 @@ func NmybRegistRouters() {
78 78
 	beego.Router("/nmyb/3512", &NmController{}, "get:Post3512")
79 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 357
 func (c *NmController) Post3501() {
83 358
 	body, _ := ioutil.ReadAll(c.Ctx.Request.Body)
84 359
 	var respJSON map[string]interface{}

File diff suppressed because it is too large
+ 299 - 251
controllers/sg/his_api_controller.go


+ 134 - 50
service/ahyb_service.go Näytä tiedosto

@@ -3326,49 +3326,49 @@ func AHyb3504(struct3504 models.Struct3504) (string, string) {
3326 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 3373
 func AHyb3507(struct3507 models.Struct3507) (string, string) {
3374 3374
 	timestamp := time.Now().Unix()
@@ -3376,9 +3376,9 @@ func AHyb3507(struct3507 models.Struct3507) (string, string) {
3376 3376
 	inputMessage := SetAHInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3377 3377
 	input := make(map[string]interface{})
3378 3378
 	inputData := make(map[string]interface{})
3379
-	inputMessage["infno"] = "3507"                          // 交易编码
3379
+	inputMessage["infno"] = "3507"                           // 交易编码
3380 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 3383
 	input["data"] = inputData
3384 3384
 	inputMessage["input"] = input //交易输入
@@ -3535,6 +3535,92 @@ func AHyb3505(struct3505 models.Struct3505, secret_key string, request_url strin
3535 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 3625
 func AHyb3511(struct3511 models.Struct3511, request_url string) (string, string) {
3540 3626
 	// 生成签名
@@ -3781,8 +3867,7 @@ func AHyb3513(struct3513 models.Struct3513, request_url string) (string, string)
3781 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 3871
 	fmt.Println(request_url)
3787 3872
 
3788 3873
 	// 生成签名
@@ -3792,7 +3877,7 @@ func AHyb5101(org_name string, doctor string, fixmedins_code string, insuplc_adm
3792 3877
 	input := make(map[string]interface{})
3793 3878
 
3794 3879
 	inputMessage["infno"] = "5101" // 交易编码
3795
-	inputMessage["input"] = input //交易输入
3880
+	inputMessage["input"] = input  //交易输入
3796 3881
 	argInputMessage := make(map[string]interface{})
3797 3882
 	argInputMessage["arg0"] = inputMessage
3798 3883
 	bytesData, err := json.Marshal(argInputMessage)
@@ -3835,7 +3920,7 @@ func AHyb5101(org_name string, doctor string, fixmedins_code string, insuplc_adm
3835 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 3924
 	fmt.Println(request_url)
3840 3925
 
3841 3926
 	// 生成签名
@@ -3857,7 +3942,6 @@ func AHyb5102(org_name string, doctor string, fixmedins_code string, insuplc_adm
3857 3942
 	argInputMessage := make(map[string]interface{})
3858 3943
 	argInputMessage["arg0"] = inputMessage
3859 3944
 
3860
-
3861 3945
 	bytesData, err := json.Marshal(argInputMessage)
3862 3946
 	fmt.Println(string(bytesData))
3863 3947
 	if err != nil {

+ 91 - 80
service/gdyb_service.go Näytä tiedosto

@@ -1590,7 +1590,7 @@ func Gdyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
1590 1590
 //	门诊预结算
1591 1591
 //
1592 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 1596
 	nonce := GetRandomString(32)
@@ -1631,13 +1631,13 @@ func Gdyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
1631 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 1642
 	input["data"] = inputData
1643 1643
 	inputMessage["input"] = input //交易输入
@@ -3387,68 +3387,68 @@ func Gdyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor
3387 3387
 
3388 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 3453
 	inputData["medins_fill_dept"] = struct4101.MedinsFillDept // 医疗机构填报部门  必填
3454 3454
 	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
@@ -4067,9 +4067,9 @@ func Gdyb4101For10138(struct4101 Struct4101, secret_key string, org_name string,
4067 4067
 	inputData["pwcry_bfadm_coma_dura"] = "" // 颅脑损伤患者入院前昏迷时长  必填
4068 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 4074
 	inputData["lv1_nurscare_days"] = ""          // 一级护理天数  必填
4075 4075
 	inputData["scd_nurscare_days"] = ""          // 二级护理天数  必填
@@ -4085,10 +4085,10 @@ func Gdyb4101For10138(struct4101 Struct4101, secret_key string, org_name string,
4085 4085
 	inputData["days_rinp_pup_31"] = ""  // 出院 31 天内再住院目的  必填
4086 4086
 	//inputData["chfpdr_name"] = struct4101.DoctorName          // 主诊医师姓名  必填
4087 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 4093
 	//payinfo := make([]map[string]interface{}, 0) // 基金支付信息
4094 4094
 	//for _, item := range struct4101.CustomStruct {
@@ -6744,7 +6744,7 @@ func Gdyb3501(struct3501 models.Struct3501, secret_key string) (string, string)
6744 6744
 		if len(item) > 0 {
6745 6745
 
6746 6746
 			druginputData := make(map[string]interface{})
6747
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
6747
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
6748 6748
 			feedetail = append(feedetail, druginputData)
6749 6749
 		}
6750 6750
 	}
@@ -6831,9 +6831,8 @@ func Gdyb3502(struct3502 models.Struct3502, secret_key string) (string, string)
6831 6831
 			//druginputData["drug_trac_codg"] = item
6832 6832
 			//feedetail = append(feedetail, druginputData)
6833 6833
 
6834
-
6835 6834
 			druginputData := make(map[string]interface{})
6836
-			druginputData["drug_trac_codg"] =  removeNonDigits(item)
6835
+			druginputData["drug_trac_codg"] = removeNonDigits(item)
6837 6836
 			feedetail = append(feedetail, druginputData)
6838 6837
 		}
6839 6838
 	}
@@ -8661,6 +8660,18 @@ func Gzyb3506(struct3506 models.Struct3506, secret_key string) (string, string)
8661 8660
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
8662 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 8675
 	input["selinfo"] = inputData
8665 8676
 	inputMessage["input"] = input //交易输入
8666 8677
 

+ 16 - 2
service/hn_service.go Näytä tiedosto

@@ -1994,7 +1994,7 @@ func Hnyb3505(struct3505 models.Struct3505) (string, string) {
1994 1994
 func Hnyb3506(struct3506 models.Struct3506) (string, string) {
1995 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 1998
 	input := make(map[string]interface{})
1999 1999
 	inputData := make(map[string]interface{})
2000 2000
 	inputMessage["infno"] = "3506"                                  // 交易编码
@@ -2019,7 +2019,19 @@ func Hnyb3506(struct3506 models.Struct3506) (string, string) {
2019 2019
 	inputData["sel_retn_opter_name"] = struct3506.SelRetnOpterName // 人员编号 (来自1101接口返回)
2020 2020
 	inputData["memo"] = ""                                         // 人员编号 (来自1101接口返回)
2021 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 2035
 	input["selinfo"] = inputData
2024 2036
 	inputMessage["input"] = input //交易输入
2025 2037
 
@@ -2029,8 +2041,10 @@ func Hnyb3506(struct3506 models.Struct3506) (string, string) {
2029 2041
 		fmt.Println(err.Error())
2030 2042
 		return err.Error(), ""
2031 2043
 	}
2044
+	timestamp2 := time.Now().UnixNano() / int64(time.Millisecond)
2045
+
2032 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 Näytä tiedosto

@@ -36,15 +36,14 @@ func Jxyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
36 36
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
37 37
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
38 38
 
39
-
40 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 44
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
46 45
 
47
-		}else {
46
+		} else {
48 47
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
49 48
 			inputData["card_sn"] = ""           // 卡识别码
50 49
 			inputData["certno"] = certNo        // 证件号码
@@ -52,8 +51,8 @@ func Jxyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
52 51
 		}
53 52
 	}
54 53
 
55
-	inputData["begntime"] = ""          // 开始时间
56
-	inputData["psn_name"] = name          // 人员姓名
54
+	inputData["begntime"] = ""   // 开始时间
55
+	inputData["psn_name"] = name // 人员姓名
57 56
 	input["data"] = inputData
58 57
 	inputMessage["input"] = input //交易输入
59 58
 
@@ -69,8 +68,7 @@ func Jxyb1101(certNo string, org_name string, doctor string, fixmedins_code stri
69 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 72
 	timestamp := time.Now().Unix()
75 73
 	//生成输入报文
76 74
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
@@ -86,21 +84,20 @@ func Jxyb11012(certNo string, org_name string, doctor string, fixmedins_code str
86 84
 
87 85
 	} else {
88 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 91
 			inputData["mdtrt_cert_no"] = id_card_no // 就诊凭证编号
94 92
 
95
-
96 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 98
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
102 99
 
103
-		}else {
100
+		} else {
104 101
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
105 102
 			inputData["card_sn"] = ""           // 卡识别码
106 103
 			inputData["certno"] = certNo        // 证件号码
@@ -108,8 +105,8 @@ func Jxyb11012(certNo string, org_name string, doctor string, fixmedins_code str
108 105
 		}
109 106
 	}
110 107
 
111
-	inputData["begntime"] = ""          // 开始时间
112
-	inputData["psn_name"] = name          // 人员姓名
108
+	inputData["begntime"] = ""   // 开始时间
109
+	inputData["psn_name"] = name // 人员姓名
113 110
 	input["data"] = inputData
114 111
 	inputMessage["input"] = input //交易输入
115 112
 
@@ -125,8 +122,7 @@ func Jxyb11012(certNo string, org_name string, doctor string, fixmedins_code str
125 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 126
 	timestamp := time.Now().Unix()
131 127
 	//生成输入报文
132 128
 	inputMessage := SetJXInputMessage(timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, "")
@@ -144,19 +140,18 @@ func Jxyb1101bycard(certNo string, org_name string, doctor string, fixmedins_cod
144 140
 		if id_card_type == 1 {
145 141
 			inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
146 142
 			inputData["card_sn"] = card_sn      // 卡识别码
147
-			inputData["certno"] = id_card_no        // 证件号码
143
+			inputData["certno"] = id_card_no    // 证件号码
148 144
 			inputData["psn_cert_type"] = "01"   // 人员证件类型
149 145
 			inputData["mdtrt_cert_no"] = certNo // 就诊凭证编号
150 146
 
151
-
152 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 152
 			inputData["mdtrt_cert_no"] = card_sn // 就诊凭证编号
158 153
 
159
-		}else {
154
+		} else {
160 155
 			inputData["mdtrt_cert_type"] = "02" // 就诊凭证类型
161 156
 			inputData["card_sn"] = ""           // 卡识别码
162 157
 			inputData["certno"] = certNo        // 证件号码
@@ -164,8 +159,8 @@ func Jxyb1101bycard(certNo string, org_name string, doctor string, fixmedins_cod
164 159
 		}
165 160
 	}
166 161
 
167
-	inputData["begntime"] = ""          // 开始时间
168
-	inputData["psn_name"] = name          // 人员姓名
162
+	inputData["begntime"] = ""   // 开始时间
163
+	inputData["psn_name"] = name // 人员姓名
169 164
 	input["data"] = inputData
170 165
 	inputMessage["input"] = input //交易输入
171 166
 
@@ -181,7 +176,7 @@ func Jxyb1101bycard(certNo string, org_name string, doctor string, fixmedins_cod
181 176
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "1101"), inputLog
182 177
 }
183 178
 
184
-//人员基本信息版本2
179
+// 人员基本信息版本2
185 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 181
 	timestamp := time.Now().Unix()
187 182
 	//生成输入报文
@@ -293,7 +288,7 @@ func Jxyb1101ForEleCert(org_name string, doctor string, fixmedins_code string, i
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 292
 	fmt.Println(opera)
298 293
 
299 294
 	// 生成签名
@@ -328,14 +323,11 @@ func Jxyb2201(psnNo string, insutype string, certNo string, org_name string, ope
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 332
 	inputData["ipt_otp_no"] = ipt_otp_no // 住院/门诊号
341 333
 	inputData["atddr_no"] = doctor_id    // 医师编码
@@ -518,7 +510,7 @@ func Jxyb2203A(psnNo string, mdtrtId string, doctor string, department string, o
518 510
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2203"), requestLog
519 511
 }
520 512
 
521
-//  门诊费用明细信息上传
513
+// 门诊费用明细信息上传
522 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 516
 	//timestamp := time.Now().Unix()
@@ -658,8 +650,8 @@ func Jxyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
658 650
 		feedetailInfo["bilg_dr_name"] = item.DoctorName              // 开单医师姓名
659 651
 		feedetailInfo["acord_dept_codg"] = ""                        // 受单科室编码
660 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 655
 		if balance_accounts_type == "8" {
664 656
 			feedetailInfo["hosp_appr_flag"] = "2" // 医院审批标志
665 657
 		} else {
@@ -708,7 +700,7 @@ func Jxyb2204(psnNo string, mdtrtId string, hisPrescription []*models.HisPrescri
708 700
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2204"), requestLog
709 701
 }
710 702
 
711
-//  门诊费用明细信息撤销
703
+// 门诊费用明细信息撤销
712 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 706
 	timestamp := time.Now().Unix()
@@ -741,7 +733,7 @@ func Jxyb2205(psnNo string, mdtrtId string, chrgBchno string, org_name string, d
741 733
 	return JXHttpRequest(request_url, access_key, secret_key, timestamp, string(bytesData), "2205"), requestLog
742 734
 }
743 735
 
744
-//  门诊预结算
736
+// 门诊预结算
745 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,8 +809,8 @@ func Jxyb2206(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
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 816
 	timestamp := time.Now().Unix() //		inputData["mdtrt_cert_type"] = "03" // 就诊凭证类型
@@ -867,13 +859,11 @@ func Jxyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string,
867 859
 	inputData["invono"] = ""            // 发票号
868 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 868
 	input["data"] = inputData
879 869
 	inputMessage["input"] = input //交易输入
@@ -895,8 +885,8 @@ func Jxyb2206Two(psnNo string, mdtrtId string, chrgBchno string, certNo string,
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 891
 	timestamp := time.Now().Unix()
902 892
 	// 生成输入报文
@@ -945,16 +935,11 @@ func Jxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
945 935
 	inputData["preselfpay_amt"] = preselfpay_amt       //
946 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 944
 	inputData2 := make(map[string]interface{})
960 945
 	inputData2["trum_flag"] = ""
@@ -978,7 +963,7 @@ func Jxyb2207(psnNo string, mdtrtId string, chrgBchno string, certNo string, ins
978 963
 
979 964
 }
980 965
 
981
-//  门诊结算
966
+// 门诊结算
982 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 969
 	timestamp := time.Now().Unix()
@@ -1108,7 +1093,7 @@ func Jxyb2207A(psnNo string, mdtrtId string, chrgBchno string, certNo string, in
1108 1093
 
1109 1094
 }
1110 1095
 
1111
-//  门诊结算撤销
1096
+// 门诊结算撤销
1112 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 1098
 	timestamp := time.Now().Unix()
1114 1099
 	// 生成输入报文
@@ -1238,7 +1223,7 @@ func JxybZY1101(certNo string, org_name string, doctor string, fixmedins_code st
1238 1223
 		}
1239 1224
 	}
1240 1225
 
1241
-	inputData["begntime"] = "" // 开始时间
1226
+	inputData["begntime"] = ""     // 开始时间
1242 1227
 	inputData["psn_name"] = cainfo // 人员姓名
1243 1228
 	input["data"] = inputData
1244 1229
 	inputMessage["input"] = input //交易输入
@@ -1311,8 +1296,6 @@ func Jxyb2401(struct2401 Struct2401, secret_key string, org_name string, fixmedi
1311 1296
 	inputData["psn_type"] = struct2401.PsnType
1312 1297
 	inputData["psn_name"] = struct2401.PsnName
1313 1298
 
1314
-
1315
-
1316 1299
 	inputDataArr := make([]map[string]interface{}, 0)
1317 1300
 	for _, item := range struct2401.Diseinfo {
1318 1301
 		inputDataTwo := make(map[string]interface{})
@@ -1663,7 +1646,7 @@ func Jxyb2302(psnNo string, mdtrtId string, refund_type int64, number string, se
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 1651
 	nonce := GetRandomString(32)
1669 1652
 	timestamp := time.Now().Unix()
@@ -1696,15 +1679,11 @@ func Jxyb2303(psnNo string, mdtrtId string, certNo string, insutype string, tota
1696 1679
 	inputData["invono"] = ""                   // 发票号
1697 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 1688
 	inputData["insuplc_admdvs"] = insuplc_admdvs   // 发票号
1710 1689
 	inputData["mdtrtarea_admvs"] = mdtrtarea_admvs // 发票号
@@ -1724,7 +1703,7 @@ func Jxyb2303(psnNo string, mdtrtId string, certNo string, insutype string, tota
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 1708
 	nonce := GetRandomString(32)
1730 1709
 	timestamp := time.Now().Unix()
@@ -1763,12 +1742,11 @@ func Jxyb2304(psnNo string, mdtrtId string, certNo string, insutype string, tota
1763 1742
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1764 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 1751
 	input["data"] = inputData
1774 1752
 	inputMessage["input"] = input //交易输入
@@ -1785,7 +1763,7 @@ func Jxyb2304(psnNo string, mdtrtId string, certNo string, insutype string, tota
1785 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 1768
 	nonce := GetRandomString(32)
1791 1769
 	timestamp := time.Now().Unix()
@@ -1824,12 +1802,11 @@ func Jxyb2304a(psnNo string, mdtrtId string, certNo string, insutype string, tot
1824 1802
 	inputData["acct_used_flag"] = acct_used_flag // 个人账户使用标志 0否 1是
1825 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 1811
 	input["data"] = inputData
1835 1812
 	inputMessage["input"] = input //交易输入
@@ -1847,7 +1824,6 @@ func Jxyb2304a(psnNo string, mdtrtId string, certNo string, insutype string, tot
1847 1824
 
1848 1825
 }
1849 1826
 
1850
-
1851 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 1829
 	timestamp := time.Now().Unix()
@@ -1875,12 +1851,11 @@ func Jxyb2305(psnNo string, mdtrtId string, setlId string, secret_key string, or
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 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 1859
 	//inputMessage := SetGZInputMessage(nonce, timestamp, struct3505.OrgName, struct3505.Opter, struct3505.FixmedinsCode, struct3505.InsuplcAdmdvs, struct3505.MdtrtareaAdmvs, sign)
1885 1860
 
1886 1861
 	input := make(map[string]interface{})
@@ -1924,7 +1899,7 @@ func JXyb3505(struct3505 models.Struct3505, secret_key string, ak string,request
1924 1899
 	inputData["bchno"] = struct3505.Bchno // 人员编号 (来自1101接口返回)
1925 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 1903
 	inputData["drug_prod_barc"] = struct3505.DrugProdBarc          // 人员编号 (来自1101接口返回)
1929 1904
 	inputData["shelf_posi"] = struct3505.ShelfPosi                 // 人员编号 (来自1101接口返回)
1930 1905
 	inputData["sel_retn_cnt"] = struct3505.SelRetnCnt              // 人员编号 (来自1101接口返回)
@@ -1936,7 +1911,7 @@ func JXyb3505(struct3505 models.Struct3505, secret_key string, ak string,request
1936 1911
 
1937 1912
 	//codes = strings.Split(struct3505.DrugTracCodg, ",")
1938 1913
 	for _, item := range codes {
1939
-		if len(item) > 0{
1914
+		if len(item) > 0 {
1940 1915
 			druginputData := make(map[string]interface{})
1941 1916
 			druginputData["drug_trac_codg"] = item
1942 1917
 			feedetail = append(feedetail, druginputData)
@@ -1961,8 +1936,67 @@ func JXyb3505(struct3505 models.Struct3505, secret_key string, ak string,request
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 2001
 	timestamp := time.Now().Unix()
1968 2002
 
@@ -2017,8 +2051,7 @@ func JXyb3513(struct3513 models.Struct3513, secret_key string, ak string,request
2017 2051
 
2018 2052
 }
2019 2053
 
2020
-
2021
-//CBS总线
2054
+// CBS总线
2022 2055
 func JXHttpRequest(url string, ak string, sk string, timestamp int64, json string, infno string) string {
2023 2056
 	fmt.Println(url)
2024 2057
 	//step 1. 设置请求参数
@@ -2170,7 +2203,7 @@ func Jxyb2503(psnNo string, insutype string, org_name string, doctor string, fix
2170 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 2208
 	timestamp := time.Now().Unix()
2176 2209
 	// 生成输入报文
@@ -2180,14 +2213,14 @@ func Jxyb3201(fixmedins_setl_cnt int64,  stmt_begndate string, stmt_enddate stri
2180 2213
 	inputMessage["infno"] = "3201"                       // 交易编码
2181 2214
 	inputData["insutype"] = insutype                     // 险种
2182 2215
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2183
-	inputData["setl_optins"] = "360102"               // 结算经办机构
2216
+	inputData["setl_optins"] = "360102"                  // 结算经办机构
2184 2217
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2185 2218
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2186 2219
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2187 2220
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2188 2221
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2189 2222
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2190
-	inputData["refd_setl_flag"] = 0                  //
2223
+	inputData["refd_setl_flag"] = 0                      //
2191 2224
 
2192 2225
 	input["data"] = inputData
2193 2226
 	inputMessage["input"] = input //交易输入
@@ -2201,7 +2234,7 @@ func Jxyb3201(fixmedins_setl_cnt int64,  stmt_begndate string, stmt_enddate stri
2201 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 2239
 	timestamp := time.Now().Unix()
2207 2240
 	// 生成输入报文
@@ -2211,14 +2244,14 @@ func Jxyb32012(fixmedins_setl_cnt int64,  stmt_begndate string, stmt_enddate str
2211 2244
 	inputMessage["infno"] = "3201"                       // 交易编码
2212 2245
 	inputData["insutype"] = insutype                     // 险种
2213 2246
 	inputData["clr_type"] = clr_type                     // 就诊 ID(来自2201接口返回)
2214
-	inputData["setl_optins"] = "361025"               // 结算经办机构
2247
+	inputData["setl_optins"] = "361025"                  // 结算经办机构
2215 2248
 	inputData["stmt_begndate"] = stmt_begndate           // 对帐开始时间
2216 2249
 	inputData["stmt_enddate"] = stmt_enddate             //对帐结束时间
2217 2250
 	inputData["medfee_sumamt"] = medfee_sumamt           //医疗费总额
2218 2251
 	inputData["fund_pay_sumamt"] = fund_pay_sumamt       //基金支付总额
2219 2252
 	inputData["acct_pay"] = acct_pay                     //个人账户支付金额
2220 2253
 	inputData["fixmedins_setl_cnt"] = fixmedins_setl_cnt //定点医药机构结算笔数
2221
-	inputData["refd_setl_flag"] = 0                  //
2254
+	inputData["refd_setl_flag"] = 0                      //
2222 2255
 
2223 2256
 	input["data"] = inputData
2224 2257
 	inputMessage["input"] = input //交易输入
@@ -2777,7 +2810,7 @@ func Jxyb4102(psn_no string, setl_id string, params models.PublicParams, stas_ty
2777 2810
 	inputData["setl_id"] = setl_id     // 结算 ID  必填
2778 2811
 	inputData["psn_no"] = psn_no       // 结算 ID  必填
2779 2812
 	inputData["stas_type"] = stas_type // 结算 ID  必填
2780
-	inputData2["stastinfo"]  = inputData
2813
+	inputData2["stastinfo"] = inputData
2781 2814
 	input["data"] = inputData2
2782 2815
 	inputMessage["input"] = input //交易输入
2783 2816
 	bytesData, _ := json.Marshal(inputMessage)
@@ -2809,10 +2842,9 @@ func Jxyb4103(psn_no string, setl_id string, params models.PublicParams) (string
2809 2842
 
2810 2843
 }
2811 2844
 
2812
-
2813
-func Jxyb4105( params models.PublicParams) (string, string) {
2845
+func Jxyb4105(params models.PublicParams) (string, string) {
2814 2846
 	var meds []string
2815
-	meds = append(meds,"21")
2847
+	meds = append(meds, "21")
2816 2848
 
2817 2849
 	timestamp := time.Now().Unix()
2818 2850
 	inputMessage := SetJXInputMessage(timestamp, params.FixmedinsName, params.OpterName, params.FixmedinsCode, params.InsuplcAdmdvs, params.MdtrtareaAdmvs, params.Cainfo)
@@ -2822,9 +2854,9 @@ func Jxyb4105( params models.PublicParams) (string, string) {
2822 2854
 	inputMessage["infno"] = "4105" // 交易编码
2823 2855
 
2824 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 2861
 	input["data"] = inputData
2830 2862
 	inputMessage["input"] = input //交易输入
@@ -2988,7 +3020,6 @@ func Jxyb3504(struct3504 models.Struct3504) (string, string) {
2988 3020
 
2989 3021
 }
2990 3022
 
2991
-
2992 3023
 func Jxyb3506(struct3506 models.Struct3506) (string, string) {
2993 3024
 	timestamp := time.Now().Unix()
2994 3025
 	// 生成输入报文
@@ -3038,9 +3069,9 @@ func Jxyb3507(struct3507 models.Struct3507) (string, string) {
3038 3069
 	inputMessage := SetJXInputMessage(timestamp, struct3507.OrgName, struct3507.Opter, struct3507.FixmedinsCode, struct3507.InsuplcAdmdvs, struct3507.MdtrtareaAdmvs, struct3507.Cainfo)
3039 3070
 	input := make(map[string]interface{})
3040 3071
 	inputData := make(map[string]interface{})
3041
-	inputMessage["infno"] = "3507"                          // 交易编码
3072
+	inputMessage["infno"] = "3507"                           // 交易编码
3042 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 3076
 	input["data"] = inputData
3046 3077
 	inputMessage["input"] = input //交易输入

+ 95 - 85
service/nm_service.go Näytä tiedosto

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