|
@@ -22,6 +22,8 @@ import (
|
22
|
22
|
"strconv"
|
23
|
23
|
"strings"
|
24
|
24
|
"time"
|
|
25
|
+ "syscall"
|
|
26
|
+ "unsafe"
|
25
|
27
|
)
|
26
|
28
|
|
27
|
29
|
type HisApiController struct {
|
|
@@ -56,9 +58,13 @@ func HisManagerApiRegistRouters() {
|
56
|
58
|
beego.Router("/api/register/get", &HisApiController{}, "get:GetRegisterInfo")
|
57
|
59
|
beego.Router("/api/upload/get", &HisApiController{}, "get:GetUploadInfo")
|
58
|
60
|
|
|
61
|
+ beego.Router("/api/settle/query", &HisApiController{}, "get:GetSettleAccounts")
|
|
62
|
+
|
59
|
63
|
beego.Router("/api/checkaccount/get", &HisApiController{}, "get:GetCheckAccount")
|
60
|
64
|
beego.Router("/api/checkdetailaccount/get", &HisApiController{}, "get:GetCheckDetailAccount")
|
61
|
65
|
|
|
66
|
+ beego.Router("/api/checkdetailaccount/get", &HisApiController{}, "get:GetCheckDetailAccount")
|
|
67
|
+
|
62
|
68
|
beego.Router("/api/refund/post", &HisApiController{}, "get:Refund")
|
63
|
69
|
|
64
|
70
|
beego.Router("/api/medicalinsurance/config", &HisApiController{}, "get:GetMedicalInsuranceConfig")
|
|
@@ -68,9 +74,59 @@ func HisManagerApiRegistRouters() {
|
68
|
74
|
beego.Router("/api/hisprescription/get", &DialysisApiController{}, "Get:GetLastOrNextHisPrescription")
|
69
|
75
|
|
70
|
76
|
beego.Router("/api/callhisprescription/get", &DialysisApiController{}, "Get:GetCallHisPrescription")
|
|
77
|
+ beego.Router("/api/sscard", &HisApiController{}, "get:Sscard")
|
|
78
|
+
|
|
79
|
+}
|
|
80
|
+
|
|
81
|
+func (c *HisApiController) Sscard() {
|
|
82
|
+ r := CardInit()
|
|
83
|
+ if (r==0) {
|
|
84
|
+ GetBaseInfo()
|
|
85
|
+ }
|
|
86
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
87
|
+ "list": "11",
|
|
88
|
+ })
|
|
89
|
+
|
|
90
|
+}
|
71
|
91
|
|
|
92
|
+func GetBaseInfo() (error) {
|
|
93
|
+ handle := syscall.MustLoadDLL("SSCard.dll")
|
|
94
|
+ ReadCardBas := handle.MustFindProc("ReadCardBas")
|
|
95
|
+
|
|
96
|
+ str := make([]byte,256)
|
|
97
|
+ str1 := make([]byte,256)
|
|
98
|
+ r,_,ferr := ReadCardBas.Call((uintptr)(unsafe.Pointer(&str[0])),IntPtr(1024),(uintptr)(unsafe.Pointer(&str1[0])),IntPtr(1024))
|
|
99
|
+ if ferr != nil {
|
|
100
|
+ fmt.Println("ReadCardBas 报错", ferr.Error())
|
|
101
|
+ return ferr
|
|
102
|
+ }
|
|
103
|
+
|
|
104
|
+ fmt.Println(string(str))
|
|
105
|
+
|
|
106
|
+ fmt.Println(r)
|
|
107
|
+ return nil
|
72
|
108
|
}
|
73
|
109
|
|
|
110
|
+func CardInit() int{
|
|
111
|
+ DllTestDef := syscall.MustLoadDLL("SSCard.dll")
|
|
112
|
+ add := DllTestDef.MustFindProc("Init")
|
|
113
|
+ ret, _, err := add.Call(StrPtr("http://igb.hsa.gdgov.cn/gdyb_inf/poc/api/card/initDll"),StrPtr("440200"))
|
|
114
|
+ if err != nil {
|
|
115
|
+ fmt.Println("SSCard的运算结果为:", ret)
|
|
116
|
+ }
|
|
117
|
+ result := int(ret)
|
|
118
|
+ return result
|
|
119
|
+}
|
|
120
|
+
|
|
121
|
+func IntPtr(n int) uintptr {
|
|
122
|
+ return uintptr(n)
|
|
123
|
+}
|
|
124
|
+
|
|
125
|
+func StrPtr(s string) uintptr {
|
|
126
|
+ return uintptr(unsafe.Pointer(syscall.StringBytePtr(s)))
|
|
127
|
+}
|
|
128
|
+
|
|
129
|
+
|
74
|
130
|
func (c *HisApiController) GetHisPatientList() {
|
75
|
131
|
types, _ := c.GetInt64("type", 0)
|
76
|
132
|
record_date := c.GetString("record_date")
|
|
@@ -1227,13 +1283,14 @@ type ResultSeven struct {
|
1227
|
1283
|
Gend string `json:"gend"`
|
1228
|
1284
|
HifesPay float64 `json:"hifes_pay"`
|
1229
|
1285
|
HifmiPay float64 `json:"hifmi_pay"`
|
1230
|
|
- HifobPay float64 `json:"hifob_pay"`
|
1231
|
1286
|
HifpPay float64 `json:"hifp_pay"`
|
1232
|
1287
|
HospPartAmt float64 `json:"hosp_part_amt"`
|
1233
|
1288
|
InscpScpAmt float64 `json:"inscp_scp_amt"`
|
1234
|
1289
|
Insutype string `json:"insutype"`
|
1235
|
1290
|
MafPay float64 `json:"maf_pay"`
|
1236
|
1291
|
MdtrtCertType string `json:"mdtrt_cert_type"`
|
|
1292
|
+ HifobPay float64 `json:"hifob_pay"`
|
|
1293
|
+
|
1237
|
1294
|
MdtrtID string `json:"mdtrt_id"`
|
1238
|
1295
|
MedType string `json:"med_type"`
|
1239
|
1296
|
MedfeeSumamt float64 `json:"medfee_sumamt"`
|
|
@@ -1307,6 +1364,55 @@ type ResultTen struct {
|
1307
|
1364
|
WarnMsg interface{} `json:"warn_msg"`
|
1308
|
1365
|
}
|
1309
|
1366
|
|
|
1367
|
+type ResultEleven struct {
|
|
1368
|
+ Cainfo string `json:"cainfo"`
|
|
1369
|
+ ErrMsg string `json:"err_msg"`
|
|
1370
|
+ InfRefmsgid string `json:"inf_refmsgid"`
|
|
1371
|
+ Infcode int64 `json:"infcode"`
|
|
1372
|
+ Output struct {
|
|
1373
|
+ Setlinfo struct {
|
|
1374
|
+ FixmedinsName string `json:"fixmedins_name"`
|
|
1375
|
+ FixmedinsCode string `json:"fixmedins_code"`
|
|
1376
|
+ PsnNo string `json:"psn_no"`
|
|
1377
|
+ PsnName string `json:"psn_name"`
|
|
1378
|
+ HifobPay float64 `json:"hifob_pay"`
|
|
1379
|
+ Gend string `json:"gend"`
|
|
1380
|
+ Brdy string `json:"brdy"`
|
|
1381
|
+ PsnCertType string `json:"psn_cert_type"`
|
|
1382
|
+ PsnType string `json:"psn_type"`
|
|
1383
|
+ EmpName string `json:"emp_name"`
|
|
1384
|
+ Certno string `json:"certno"`
|
|
1385
|
+ Insutype string `json:"insutype"`
|
|
1386
|
+ MedfeeSumamt float64 `json:"medfee_sumamt"`
|
|
1387
|
+ FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
|
|
1388
|
+ OverlmtSelfpay float64 `json:"overlmt_selfpay"`
|
|
1389
|
+ PreselfpayAmt float64 `json:"preselfpay_amt"`
|
|
1390
|
+ InscpScpAmt float64 `json:"inscp_scp_amt"`
|
|
1391
|
+ ActPayDedc float64 `json:"act_pay_dedc"`
|
|
1392
|
+ HifpPay float64 `json:"hifp_pay"`
|
|
1393
|
+ PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
|
|
1394
|
+ CvlservPay float64 `json:"cvlserv_pay"`
|
|
1395
|
+ HifesPay float64 `json:"hifes_pay"`
|
|
1396
|
+ HifmiPay float64 `json:"hifmi_pay"`
|
|
1397
|
+ MafPay float64 `json:"maf_pay"`
|
|
1398
|
+ OthPay float64 `json:"oth_pay"`
|
|
1399
|
+ FundPaySumamt float64 `json:"fund_pay_sumamt"`
|
|
1400
|
+ PsnPay float64 `json:"psn_pay"`
|
|
1401
|
+ AcctPay float64 `json:"acct_pay"`
|
|
1402
|
+ CashPayamt float64 `json:"cash_payamt"`
|
|
1403
|
+ Balc float64 `json:"balc"`
|
|
1404
|
+ AcctMulaidPay float64 `json:"acct_mulaid_pay"`
|
|
1405
|
+ MedinsSetlId string `json:"medins_setl_id"`
|
|
1406
|
+ RefdSetlFlag string `json:"refd_setl_flag"`
|
|
1407
|
+ SetlTime string `json:"setl_time"`
|
|
1408
|
+ } `json:"setlinfo"`
|
|
1409
|
+ } `json:"output"`
|
|
1410
|
+ RefmsgTime string `json:"refmsg_time"`
|
|
1411
|
+ RespondTime string `json:"respond_time"`
|
|
1412
|
+ Signtype interface{} `json:"signtype"`
|
|
1413
|
+ WarnMsg interface{} `json:"warn_msg"`
|
|
1414
|
+}
|
|
1415
|
+
|
1310
|
1416
|
type Custom struct {
|
1311
|
1417
|
DetItemFeeSumamt string
|
1312
|
1418
|
Cut string
|
|
@@ -1595,9 +1701,7 @@ func (c *HisApiController) GetRegisterInfo() {
|
1595
|
1701
|
c.ServeSuccessJSON(map[string]interface{}{
|
1596
|
1702
|
"his_info": hisPatient,
|
1597
|
1703
|
})
|
1598
|
|
-
|
1599
|
1704
|
}
|
1600
|
|
-
|
1601
|
1705
|
}
|
1602
|
1706
|
|
1603
|
1707
|
//上传明细----结算
|
|
@@ -2184,6 +2288,7 @@ func (c *HisApiController) Refund() {
|
2184
|
2288
|
}
|
2185
|
2289
|
}
|
2186
|
2290
|
|
|
2291
|
+//对账
|
2187
|
2292
|
func (c *HisApiController) GetCheckAccount() {
|
2188
|
2293
|
start_time := c.GetString("start_time")
|
2189
|
2294
|
end_time := c.GetString("end_time")
|
|
@@ -2210,6 +2315,15 @@ func (c *HisApiController) GetCheckAccount() {
|
2210
|
2315
|
medfee_sumamt, _ = decimal.NewFromFloat(medfee_sumamt).Add(decimal.NewFromFloat(item.MedfeeSumamt)).Float64()
|
2211
|
2316
|
acct_pay, _ = decimal.NewFromFloat(acct_pay).Add(decimal.NewFromFloat(item.AcctPay)).Float64()
|
2212
|
2317
|
fund_pay_sumamt, _ = decimal.NewFromFloat(fund_pay_sumamt).Add(decimal.NewFromFloat(item.FundPaySumamt)).Float64()
|
|
2318
|
+
|
|
2319
|
+ }
|
|
2320
|
+
|
|
2321
|
+ var user_name string
|
|
2322
|
+ role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, adminUser.AdminUser.Id)
|
|
2323
|
+ if role.ID == 0 {
|
|
2324
|
+ user_name = "xxx"
|
|
2325
|
+ } else {
|
|
2326
|
+ user_name = role.UserName
|
2213
|
2327
|
}
|
2214
|
2328
|
|
2215
|
2329
|
if config.IsOpen == 1 {
|
|
@@ -2228,7 +2342,7 @@ func (c *HisApiController) GetCheckAccount() {
|
2228
|
2342
|
"&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
|
2229
|
2343
|
"&secret_key=" + miConfig.SecretKey +
|
2230
|
2344
|
"&org_name=" + miConfig.OrgName +
|
2231
|
|
- "&doctor=某人"
|
|
2345
|
+ "&doctor=" + user_name
|
2232
|
2346
|
|
2233
|
2347
|
fmt.Println(api)
|
2234
|
2348
|
resp, requestErr := http.Get(api)
|
|
@@ -2269,6 +2383,8 @@ func (c *HisApiController) GetCheckAccount() {
|
2269
|
2383
|
}
|
2270
|
2384
|
}
|
2271
|
2385
|
}
|
|
2386
|
+
|
|
2387
|
+//对账明细
|
2272
|
2388
|
func (c *HisApiController) GetCheckDetailAccount() {
|
2273
|
2389
|
start_time := c.GetString("start_time")
|
2274
|
2390
|
end_time := c.GetString("end_time")
|
|
@@ -2332,13 +2448,21 @@ func (c *HisApiController) GetCheckDetailAccount() {
|
2332
|
2448
|
|
2333
|
2449
|
if config.IsOpen == 1 {
|
2334
|
2450
|
|
|
2451
|
+ var user_name string
|
|
2452
|
+ role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, adminUser.AdminUser.Id)
|
|
2453
|
+ if role.ID == 0 {
|
|
2454
|
+ user_name = "xxx"
|
|
2455
|
+ } else {
|
|
2456
|
+ user_name = role.UserName
|
|
2457
|
+ }
|
|
2458
|
+
|
2335
|
2459
|
baseParams := models.BaseParams{
|
2336
|
2460
|
SecretKey: miConfig.SecretKey,
|
2337
|
2461
|
FixmedinsCode: miConfig.Code,
|
2338
|
2462
|
InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
|
2339
|
2463
|
MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
|
2340
|
2464
|
OrgName: miConfig.OrgName,
|
2341
|
|
- Doctor: "某人",
|
|
2465
|
+ Doctor: user_name,
|
2342
|
2466
|
}
|
2343
|
2467
|
|
2344
|
2468
|
result := service.Gdyb9101(baseParams, zip_name, ReadFile(zip_path))
|
|
@@ -2373,7 +2497,7 @@ func (c *HisApiController) GetCheckDetailAccount() {
|
2373
|
2497
|
"&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
|
2374
|
2498
|
"&secret_key=" + miConfig.SecretKey +
|
2375
|
2499
|
"&org_name=" + miConfig.OrgName +
|
2376
|
|
- "&doctor=某人"
|
|
2500
|
+ "&doctor=" + user_name
|
2377
|
2501
|
resp, requestErr := http.Get(api)
|
2378
|
2502
|
if requestErr != nil {
|
2379
|
2503
|
c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
|
@@ -2414,6 +2538,213 @@ func (c *HisApiController) GetCheckDetailAccount() {
|
2414
|
2538
|
}
|
2415
|
2539
|
}
|
2416
|
2540
|
|
|
2541
|
+func (c *HisApiController) GetSettleAccounts() {
|
|
2542
|
+ //id, _ := c.GetInt64("id")
|
|
2543
|
+ //record_time := c.GetString("record_time")
|
|
2544
|
+ order_id, _ := c.GetInt64("order_id")
|
|
2545
|
+
|
|
2546
|
+ //timeLayout := "2006-01-02"
|
|
2547
|
+ //loc, _ := time.LoadLocation("Local")
|
|
2548
|
+ //
|
|
2549
|
+ //theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
|
|
2550
|
+ //if err != nil {
|
|
2551
|
+ // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
|
|
2552
|
+ // return
|
|
2553
|
+ //}
|
|
2554
|
+ //recordDateTime := theTime.Unix()
|
|
2555
|
+ adminUser := c.GetAdminUserInfo()
|
|
2556
|
+ //his, _ := service.GetVMHisPatientInfo(adminUser.CurrentOrgId, id, recordDateTime)
|
|
2557
|
+ order, _ := service.GetHisOrderByID(order_id)
|
|
2558
|
+ orderInfos, _ := service.GetHisOrderInfoByNumber(order.Number)
|
|
2559
|
+
|
|
2560
|
+ var bedCostTotal float64 = 0 //床位总费
|
|
2561
|
+ var bedCostSelfTotal float64 = 0 //床位自费
|
|
2562
|
+ var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
|
|
2563
|
+
|
|
2564
|
+ var operationCostTotal float64 = 0 //手术费
|
|
2565
|
+ var operationCostSelfTotal float64 = 0 //手术费
|
|
2566
|
+ var operationCostPartSelfTotal float64 = 0 //手术费
|
|
2567
|
+
|
|
2568
|
+ var otherCostTotal float64 = 0 //其他费用
|
|
2569
|
+ var otherCostSelfTotal float64 = 0 //其他费用
|
|
2570
|
+ var otherCostPartSelfTotal float64 = 0 //其他费用
|
|
2571
|
+
|
|
2572
|
+ var materialCostTotal float64 = 0 //材料费
|
|
2573
|
+ var materialCostSelfTotal float64 = 0 //材料费
|
|
2574
|
+ var materialCostPartSelfTotal float64 = 0 //材料费
|
|
2575
|
+
|
|
2576
|
+ var westernMedicineCostTotal float64 = 0 //西药费
|
|
2577
|
+ var westernMedicineCostSelfTotal float64 = 0 //西药费
|
|
2578
|
+ var westernMedicineCostPartSelfTotal float64 = 0 //西药费
|
|
2579
|
+
|
|
2580
|
+ var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
|
|
2581
|
+ var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
|
|
2582
|
+ var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
|
|
2583
|
+
|
|
2584
|
+ var checkCostTotal float64 = 0 //检查费
|
|
2585
|
+ var checkCostSelfTotal float64 = 0 //检查费
|
|
2586
|
+ var checkCostPartSelfTotal float64 = 0 //检查费
|
|
2587
|
+
|
|
2588
|
+ var laboratoryCostTotal float64 = 0 //化验费
|
|
2589
|
+ var laboratoryCostSelfTotal float64 = 0 //化验费
|
|
2590
|
+ var laboratoryCostPartSelfTotal float64 = 0 //化验费
|
|
2591
|
+
|
|
2592
|
+ var treatCostTotal float64 = 0 //治疗费用
|
|
2593
|
+ var treatCostSelfTotal float64 = 0 //治疗费用
|
|
2594
|
+ var treatCostPartSelfTotal float64 = 0 //治疗费用
|
|
2595
|
+
|
|
2596
|
+ decimal.DivisionPrecision = 2
|
|
2597
|
+
|
|
2598
|
+ for _, item := range orderInfos {
|
|
2599
|
+ if item.MedChrgitmType == "01" { //床位费
|
|
2600
|
+
|
|
2601
|
+ bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2602
|
+ bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2603
|
+ bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2604
|
+
|
|
2605
|
+ }
|
|
2606
|
+
|
|
2607
|
+ if item.MedChrgitmType == "03" { //检查费
|
|
2608
|
+
|
|
2609
|
+ checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2610
|
+ checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2611
|
+ checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2612
|
+
|
|
2613
|
+ }
|
|
2614
|
+
|
|
2615
|
+ if item.MedChrgitmType == "04" { //化验费
|
|
2616
|
+
|
|
2617
|
+ laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2618
|
+ laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2619
|
+ laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2620
|
+
|
|
2621
|
+ }
|
|
2622
|
+
|
|
2623
|
+ if item.MedChrgitmType == "05" { //治疗费
|
|
2624
|
+
|
|
2625
|
+ treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2626
|
+ treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2627
|
+ treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2628
|
+
|
|
2629
|
+ }
|
|
2630
|
+
|
|
2631
|
+ if item.MedChrgitmType == "06" { //手术费
|
|
2632
|
+
|
|
2633
|
+ operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2634
|
+ operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2635
|
+ operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2636
|
+
|
|
2637
|
+ }
|
|
2638
|
+
|
|
2639
|
+ if item.MedChrgitmType == "08" { //材料费
|
|
2640
|
+
|
|
2641
|
+ materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2642
|
+ materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2643
|
+ materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2644
|
+
|
|
2645
|
+ }
|
|
2646
|
+
|
|
2647
|
+ if item.MedChrgitmType == "09" { //西药费
|
|
2648
|
+
|
|
2649
|
+ westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2650
|
+ westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2651
|
+ westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2652
|
+
|
|
2653
|
+ }
|
|
2654
|
+
|
|
2655
|
+ if item.MedChrgitmType == "11" { //中成费
|
|
2656
|
+
|
|
2657
|
+ chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2658
|
+ chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2659
|
+ chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2660
|
+
|
|
2661
|
+ }
|
|
2662
|
+
|
|
2663
|
+ if item.MedChrgitmType == "14" { //其他费
|
|
2664
|
+ otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
2665
|
+ otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2666
|
+ otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
|
|
2667
|
+ }
|
|
2668
|
+
|
|
2669
|
+ }
|
|
2670
|
+
|
|
2671
|
+ miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
|
|
2672
|
+ config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
|
|
2673
|
+
|
|
2674
|
+ var user_name string
|
|
2675
|
+ role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, adminUser.AdminUser.Id)
|
|
2676
|
+ if role.ID == 0 {
|
|
2677
|
+ user_name = "xxx"
|
|
2678
|
+ } else {
|
|
2679
|
+ user_name = role.UserName
|
|
2680
|
+ }
|
|
2681
|
+
|
|
2682
|
+ baseParams := models.BaseParams{
|
|
2683
|
+ SecretKey: miConfig.SecretKey,
|
|
2684
|
+ FixmedinsCode: miConfig.Code,
|
|
2685
|
+ InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
|
|
2686
|
+ MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
|
|
2687
|
+ OrgName: miConfig.OrgName,
|
|
2688
|
+ Doctor: user_name,
|
|
2689
|
+ }
|
|
2690
|
+
|
|
2691
|
+ businessParams := models.BusinessParams{
|
|
2692
|
+ PsnNo: order.PsnNo,
|
|
2693
|
+ MdtrtId: order.MdtrtId,
|
|
2694
|
+ SetlId: order.SetlId,
|
|
2695
|
+ }
|
|
2696
|
+
|
|
2697
|
+ if config.IsOpen == 1 {
|
|
2698
|
+ result := service.Gdyb5203(baseParams, businessParams)
|
|
2699
|
+ var dat map[string]interface{}
|
|
2700
|
+ if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
2701
|
+ fmt.Println(dat)
|
|
2702
|
+ } else {
|
|
2703
|
+ fmt.Println(err)
|
|
2704
|
+ }
|
|
2705
|
+ userJSONBytes, _ := json.Marshal(dat)
|
|
2706
|
+ var res ResultEleven
|
|
2707
|
+ if err := json.Unmarshal(userJSONBytes, &res); err != nil {
|
|
2708
|
+ utils.ErrorLog("解析失败:%v", err)
|
|
2709
|
+ c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
|
|
2710
|
+ return
|
|
2711
|
+ }
|
|
2712
|
+ if res.Infcode == 0 {
|
|
2713
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2714
|
+ "info": res.Output.Setlinfo,
|
|
2715
|
+ "bedCostTotal": bedCostTotal,
|
|
2716
|
+ "bedCostSelfTotal": bedCostSelfTotal,
|
|
2717
|
+ "bedCostPartSelfTotal": bedCostPartSelfTotal,
|
|
2718
|
+ "operationCostTotal": operationCostTotal,
|
|
2719
|
+ "operationCostSelfTotal": operationCostSelfTotal,
|
|
2720
|
+ "operationCostPartSelfTotal": operationCostPartSelfTotal,
|
|
2721
|
+ "otherCostTotal": otherCostTotal,
|
|
2722
|
+ "otherCostSelfTotal": otherCostSelfTotal,
|
|
2723
|
+ "otherCostPartSelfTotal": otherCostPartSelfTotal,
|
|
2724
|
+ "materialCostTotal": materialCostTotal,
|
|
2725
|
+ "materialCostSelfTotal": materialCostSelfTotal,
|
|
2726
|
+ "materialCostPartSelfTotal": materialCostPartSelfTotal,
|
|
2727
|
+ "westernMedicineCostTotal": westernMedicineCostTotal,
|
|
2728
|
+ "westernMedicineCostSelfTotal": westernMedicineCostSelfTotal,
|
|
2729
|
+ "westernMedicineCostPartSelfTotal": westernMedicineCostPartSelfTotal,
|
|
2730
|
+ "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
|
|
2731
|
+ "chineseTraditionalMedicineCostSelfTotal": chineseTraditionalMedicineCostSelfTotal,
|
|
2732
|
+ "chineseTraditionalMedicineCostPartSelfTotal": chineseTraditionalMedicineCostPartSelfTotal,
|
|
2733
|
+ "checkCostTotal": checkCostTotal,
|
|
2734
|
+ "checkCostSelfTotal": checkCostSelfTotal,
|
|
2735
|
+ "checkCostPartSelfTotal": checkCostPartSelfTotal,
|
|
2736
|
+ "laboratoryCostTotal": laboratoryCostTotal,
|
|
2737
|
+ "laboratoryCostSelfTotal": laboratoryCostSelfTotal,
|
|
2738
|
+ "laboratoryCostPartSelfTotal": laboratoryCostPartSelfTotal,
|
|
2739
|
+ "treatCostTotal": treatCostTotal,
|
|
2740
|
+ "treatCostSelfTotal": treatCostSelfTotal,
|
|
2741
|
+ "treatCostPartSelfTotal": treatCostPartSelfTotal,
|
|
2742
|
+ })
|
|
2743
|
+ }
|
|
2744
|
+ }
|
|
2745
|
+
|
|
2746
|
+}
|
|
2747
|
+
|
2417
|
2748
|
func (this *HisApiController) AdditionalCharge() {
|
2418
|
2749
|
|
2419
|
2750
|
dataBody := make(map[string]interface{}, 0)
|