csx 3 years ago
parent
commit
0d0cbd3895

+ 9 - 7
controllers/sg/his_api_controller.go View File

@@ -2736,19 +2736,15 @@ func (c *HisApiController) GetCheckAccount() {
2736 2736
 	endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
2737 2737
 	orders, _ := service.GetOrderByTime(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, clr_type)
2738 2738
 
2739
-	decimal.DivisionPrecision = 2
2740 2739
 	var medfee_sumamt float64
2741 2740
 	var acct_pay float64
2742 2741
 	var fund_pay_sumamt float64
2743 2742
 	fixmedins_setl_cnt := int64(len(orders))
2744
-
2745 2743
 	for _, item := range orders {
2746
-		medfee_sumamt, _ = decimal.NewFromFloat(medfee_sumamt).Add(decimal.NewFromFloat(item.MedfeeSumamt)).Float64()
2747
-		acct_pay, _ = decimal.NewFromFloat(acct_pay).Add(decimal.NewFromFloat(item.AcctPay)).Float64()
2748
-		fund_pay_sumamt, _ = decimal.NewFromFloat(fund_pay_sumamt).Add(decimal.NewFromFloat(item.FundPaySumamt)).Float64()
2749
-
2744
+		medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
2745
+		acct_pay = medfee_sumamt + item.AcctPay
2746
+		fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
2750 2747
 	}
2751
-
2752 2748
 	var user_name string
2753 2749
 	role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
2754 2750
 	if role.ID == 0 {
@@ -2869,6 +2865,12 @@ func (c *HisApiController) GetCheckDetailAccount() {
2869 2865
 	var fund_pay_sumamt float64
2870 2866
 	fixmedins_setl_cnt := int64(len(orders))
2871 2867
 
2868
+	for _, item := range orders {
2869
+		medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
2870
+		psn_cash_pay = psn_cash_pay + item.PsnCashPay
2871
+		fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
2872
+	}
2873
+
2872 2874
 	for _, item := range orders {
2873 2875
 		medfee_sumamt, _ = decimal.NewFromFloat(medfee_sumamt).Add(decimal.NewFromFloat(item.MedfeeSumamt)).Float64()
2874 2876
 		psn_cash_pay, _ = decimal.NewFromFloat(psn_cash_pay).Add(decimal.NewFromFloat(item.PsnCashPay)).Float64()

File diff suppressed because it is too large
+ 539 - 539
controllers/sz/sz_his_api_controller.go


+ 1 - 1
enums/error_code.go View File

@@ -452,7 +452,7 @@ var ErrCodeMsgs = map[int]string{
452 452
 	ErrorCodeCalOrderException:       "结算失败",
453 453
 	ErrorCodeGdybOneException:        "获取人员信息失败",
454 454
 	ErrorCodeRegisterThreeException:  "就诊信息上传失败",
455
-	ErrorCodeRegisterRepeatException: "一天只能挂号一次",
455
+	ErrorCodeRegisterRepeatException: "患者一天只能挂号一次",
456 456
 	ErrorCodeAmountAccountException:  "结算失败",
457 457
 
458 458
 	ErrorCodeReadCardException:  "读卡失败",

+ 1 - 0
routers/router.go View File

@@ -2,6 +2,7 @@ package routers
2 2
 
3 3
 import (
4 4
 	"gdyb/controllers/sg"
5
+	//"gdyb/controllers/sz"
5 6
 	//admin_api "XT_New/controllers/admin_api_controllers"
6 7
 	"github.com/astaxie/beego"
7 8
 	"github.com/astaxie/beego/plugins/cors"

+ 1 - 1
service/his_service.go View File

@@ -858,7 +858,7 @@ func GetHisOrderInfoByNumber(order_number string) (order []*models.HisOrderInfo,
858 858
 }
859 859
 
860 860
 func GetOrderByTime(start_time int64, end_time int64, org_id int64, insutype string, clr_type string) (orders []*models.HisOrder, err error) {
861
-	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ? AND status = 1 AND is_medicine_insurance = 1 AND settle_accounts_date <= ? AND settle_accounts_date >= ? AND insutype = ?", org_id, end_time, start_time, insutype, clr_type).Find(&orders).Error
861
+	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ? AND status = 1 AND is_medicine_insurance = 1 AND settle_accounts_date <= ? AND settle_accounts_date >= ? AND insutype = ?", org_id, end_time, start_time, insutype).Find(&orders).Error
862 862
 	return
863 863
 }
864 864
 

+ 27 - 20
service/sz_his_service.go View File

@@ -12,11 +12,12 @@ import (
12 12
 	_ "unsafe"
13 13
 )
14 14
 
15
-func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_code string, account string, verify_code string, serial_number string, mz_number string) string {
15
+func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_code string, account string, verify_code string, serial_number string, mz_number string, version_code string) string {
16 16
 	// 生成输入报文
17 17
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number)
18 18
 	inputData := make(map[string]interface{})
19
-	inputMessage["transType"] = "MZ002" // 交易编码
19
+	inputMessage["transType"] = "MZ002"         // 交易编码
20
+	inputMessage["transVersion"] = version_code // 交易编码
20 21
 
21 22
 	inputData["akc190"] = mz_number
22 23
 	inputData["aaz500"] = account
@@ -25,6 +26,8 @@ func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_co
25 26
 	inputData["akf001"] = dept_code
26 27
 	inputData["bkc368"] = "2"
27 28
 	inputData["akc264"] = 10.00
29
+	inputData["bke384"] = inputMessage["serialNumber"]
30
+
28 31
 	inputData["listsize"] = 1
29 32
 	timestamp := time.Now().Unix()
30 33
 	tempTime := time.Unix(timestamp, 0)
@@ -39,8 +42,6 @@ func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_co
39 42
 	feedetailInfo["aae019"] = 10.00
40 43
 	feedetail = append(feedetail, feedetailInfo)
41 44
 	inputData["inputlist"] = feedetail
42
-
43
-	inputData["bke384"] = inputMessage["serialNumber"]
44 45
 	inputMessage["transBody"] = inputData
45 46
 	bytesData, err := json.Marshal(inputMessage)
46 47
 	fmt.Println(string(bytesData))
@@ -73,12 +74,13 @@ func SzybMZ002(doctor string, doctor_code string, fixmedins_code string, dept_co
73 74
 	str := string(respBytes)
74 75
 	return str
75 76
 }
76
-func SzybFY001(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string) string {
77
+func SzybFY001(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string, version_code string) string {
77 78
 	// 生成输入报文
78 79
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number)
79 80
 	inputData := make(map[string]interface{})
80
-	inputMessage["transType"] = "FY001" // 交易编码
81
-	inputMessage["transChannel"] = "10" // 交易编码
81
+	inputMessage["transType"] = "FY001"         // 交易编码
82
+	inputMessage["transChannel"] = "10"         // 交易编码
83
+	inputMessage["transVersion"] = version_code // 交易编码
82 84
 
83 85
 	inputData["akc190"] = mz_number
84 86
 	inputData["bke384"] = serial_number
@@ -144,11 +146,12 @@ func SzybFY001(doctor string, doctor_code string, fixmedins_code string, datas [
144 146
 	str := string(respBytes)
145 147
 	return str
146 148
 }
147
-func SzybFY002(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string) string {
149
+func SzybFY002(doctor string, doctor_code string, fixmedins_code string, datas []*models.CustomDetail, verify_code string, serial_number string, mz_number string, version_code string) string {
148 150
 	// 生成输入报文
149 151
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number)
150 152
 	inputData := make(map[string]interface{})
151
-	inputMessage["transType"] = "FY002" // 交易编码
153
+	inputMessage["transType"] = "FY002"         // 交易编码
154
+	inputMessage["transVersion"] = version_code // 交易编码
152 155
 
153 156
 	inputData["akc190"] = mz_number
154 157
 	inputData["bke384"] = serial_number
@@ -198,11 +201,12 @@ func SzybFY002(doctor string, doctor_code string, fixmedins_code string, datas [
198 201
 	str := string(respBytes)
199 202
 	return str
200 203
 }
201
-func SzybFY004(doctor string, doctor_code string, fixmedins_code string, total float64, verify_code string, serial_number string, mz_number string) string {
204
+func SzybFY004(doctor string, doctor_code string, fixmedins_code string, total float64, verify_code string, serial_number string, mz_number string, version_code string) string {
202 205
 	// 生成输入报文
203 206
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number)
204 207
 	inputData := make(map[string]interface{})
205
-	inputMessage["transType"] = "FY004" // 交易编码
208
+	inputMessage["transType"] = "FY004"         // 交易编码
209
+	inputMessage["transVersion"] = version_code // 交易编码
206 210
 
207 211
 	inputData["akc190"] = mz_number
208 212
 	inputData["aka130"] = "11"
@@ -246,12 +250,14 @@ func SzybFY004(doctor string, doctor_code string, fixmedins_code string, total f
246 250
 	str := string(respBytes)
247 251
 	return str
248 252
 }
249
-func SzybFY005(doctor string, doctor_code string, fixmedins_code string, dept_code string, total float64, account string, verify_code string, serial_number string, mz_number string) string {
253
+func SzybFY005(doctor string, doctor_code string, fixmedins_code string, total float64, account string, verify_code string, serial_number string, mz_number string, version_code string) string {
250 254
 	// 生成输入报文
251 255
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, serial_number)
252 256
 	inputData := make(map[string]interface{})
253 257
 	inputMessage["transType"] = "FY005" // 交易编码
254 258
 
259
+	inputMessage["transVersion"] = version_code // 交易编码
260
+
255 261
 	inputData["aaz500"] = account
256 262
 	inputData["bzz269"] = "000000"
257 263
 	inputData["akc190"] = mz_number
@@ -298,11 +304,12 @@ func SzybFY005(doctor string, doctor_code string, fixmedins_code string, dept_co
298 304
 	str := string(respBytes)
299 305
 	return str
300 306
 }
301
-func SzybJY001(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string) string {
307
+func SzybJY001(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, version_code string) string {
302 308
 	// 生成输入报文
303 309
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, setl_number)
304 310
 	inputData := make(map[string]interface{})
305
-	inputMessage["transType"] = "JY001" // 交易编码
311
+	inputMessage["transType"] = "JY001"         // 交易编码
312
+	inputMessage["transVersion"] = version_code // 交易编码
306 313
 
307 314
 	inputData["akc190"] = mz_number
308 315
 	inputData["bke384"] = setl_number
@@ -341,11 +348,12 @@ func SzybJY001(doctor string, doctor_code string, fixmedins_code string, setl_nu
341 348
 	str := string(respBytes)
342 349
 	return str
343 350
 }
344
-func SzybJY002(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, new_setl_number string) string {
351
+func SzybJY002(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, new_setl_number string, version_code string) string {
345 352
 	// 生成输入报文
346 353
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, new_setl_number)
347 354
 	inputData := make(map[string]interface{})
348
-	inputMessage["transType"] = "JY002" // 交易编码
355
+	inputMessage["transType"] = "JY002"         // 交易编码
356
+	inputMessage["transVersion"] = version_code // 交易编码
349 357
 
350 358
 	inputData["akc190"] = mz_number
351 359
 	inputData["bke384"] = setl_number
@@ -384,13 +392,14 @@ func SzybJY002(doctor string, doctor_code string, fixmedins_code string, setl_nu
384 392
 	str := string(respBytes)
385 393
 	return str
386 394
 }
387
-func SzybJY003(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string) string {
395
+func SzybJY003(doctor string, doctor_code string, fixmedins_code string, setl_number string, mz_number string, verify_code string, version_code string) string {
388 396
 
389 397
 	// 生成输入报文
390 398
 	inputMessage := SetSZInputMessage(doctor, doctor_code, fixmedins_code, verify_code, setl_number)
391 399
 
392 400
 	inputData := make(map[string]interface{})
393
-	inputMessage["transType"] = "JY003" // 交易编码
401
+	inputMessage["transType"] = "JY003"         // 交易编码
402
+	inputMessage["transVersion"] = version_code // 交易编码
394 403
 
395 404
 	inputData["akc190"] = mz_number
396 405
 	inputData["bke384"] = setl_number
@@ -456,11 +465,9 @@ func SetSZInputMessage(doctor string, doctor_code string, fixmedins_code string,
456 465
 	inputMessage["operatorName"] = doctor         // 操作员名字
457 466
 	inputMessage["operatorPass"] = ""             // 定点协议机构操作人员编码
458 467
 	inputMessage["serialNumber"] = number
459
-
460 468
 	inputMessage["transReturnCode"] = ""                                           //
461 469
 	inputMessage["transReturnMessage"] = ""                                        //
462 470
 	inputMessage["transTime"] = year + month + day + hour + min + sec + ":" + msec //
463
-	inputMessage["transVersion"] = "V0.3"                                          //
464 471
 	inputMessage["verifyCode"] = verify_code                                       //
465 472
 	inputMessage["transChannel"] = "10"                                            //
466 473