|
@@ -3557,6 +3557,7 @@ func (c *HisApiController) GetCompareData() {
|
3557
|
3557
|
func (c *HisApiController) GetFaPiaoData() {
|
3558
|
3558
|
order_id, _ := c.GetInt64("order_id")
|
3559
|
3559
|
patient_id, _ := c.GetInt64("patient_id")
|
|
3560
|
+ number := c.GetString("number")
|
3560
|
3561
|
|
3561
|
3562
|
adminUser := c.GetAdminUserInfo()
|
3562
|
3563
|
order, _ := service.GetHisOrderByID(order_id)
|
|
@@ -3566,7 +3567,9 @@ func (c *HisApiController) GetFaPiaoData() {
|
3566
|
3567
|
|
3567
|
3568
|
department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
|
3568
|
3569
|
|
3569
|
|
- his, _ := service.GetHisPatientInfo(adminUser.CurrentOrgId, patient_id, order.SettleAccountsDate)
|
|
3570
|
+ his, _ := service.GetHisPatientInfoThree(adminUser.CurrentOrgId, number)
|
|
3571
|
+
|
|
3572
|
+ prescriptions, _ := service.GetHisPrescriptionThree(adminUser.CurrentOrgId, patient_id, order.Number)
|
3570
|
3573
|
|
3571
|
3574
|
var bedCostTotal float64 = 0 //床位总费
|
3572
|
3575
|
var bedCostSelfTotal float64 = 0 //床位自费
|
|
@@ -3606,59 +3609,79 @@ func (c *HisApiController) GetFaPiaoData() {
|
3606
|
3609
|
|
3607
|
3610
|
decimal.DivisionPrecision = 2
|
3608
|
3611
|
|
3609
|
|
- for _, item := range orderInfos {
|
3610
|
|
- if item.MedChrgitmType == "01" { //床位费
|
3611
|
|
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3612
|
|
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3613
|
|
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3614
|
|
- }
|
|
3612
|
+ if his.BalanceAccountsType == 2 {
|
|
3613
|
+ for _, item := range prescriptions {
|
|
3614
|
+ if item.Type == 1 {
|
|
3615
|
+ for _, subItem := range item.HisDoctorAdviceInfo {
|
|
3616
|
+ westernMedicineCostTotal = westernMedicineCostTotal + (subItem.PrescribingNumber * subItem.Price)
|
|
3617
|
+ }
|
3615
|
3618
|
|
3616
|
|
- if item.MedChrgitmType == "03" { //检查费
|
3617
|
|
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3618
|
|
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3619
|
|
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3619
|
+ } else {
|
|
3620
|
+ for _, subItem := range item.HisPrescriptionProject {
|
|
3621
|
+ if subItem.Type == 2 {
|
|
3622
|
+ treatCostTotal = treatCostTotal + (float64(subItem.Count) * subItem.Price)
|
|
3623
|
+ } else {
|
|
3624
|
+ materialCostTotal = materialCostTotal + (float64(subItem.Count) * subItem.Price)
|
|
3625
|
+ }
|
|
3626
|
+ }
|
|
3627
|
+ }
|
3620
|
3628
|
}
|
|
3629
|
+ } else {
|
|
3630
|
+ for _, item := range orderInfos {
|
|
3631
|
+ if item.MedChrgitmType == "01" { //床位费
|
|
3632
|
+ bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3633
|
+ bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3634
|
+ bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3635
|
+ }
|
3621
|
3636
|
|
3622
|
|
- if item.MedChrgitmType == "04" { //化验费
|
3623
|
|
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3624
|
|
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3625
|
|
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3626
|
|
- }
|
|
3637
|
+ if item.MedChrgitmType == "03" { //检查费
|
|
3638
|
+ checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3639
|
+ checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3640
|
+ checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3641
|
+ }
|
3627
|
3642
|
|
3628
|
|
- if item.MedChrgitmType == "05" { //治疗费
|
3629
|
|
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3630
|
|
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3631
|
|
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3632
|
|
- }
|
|
3643
|
+ if item.MedChrgitmType == "04" { //化验费
|
|
3644
|
+ laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3645
|
+ laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3646
|
+ laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3647
|
+ }
|
3633
|
3648
|
|
3634
|
|
- if item.MedChrgitmType == "06" { //手术费
|
3635
|
|
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3636
|
|
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3637
|
|
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3638
|
|
- }
|
|
3649
|
+ if item.MedChrgitmType == "05" { //治疗费
|
|
3650
|
+ treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3651
|
+ treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3652
|
+ treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3653
|
+ }
|
3639
|
3654
|
|
3640
|
|
- if item.MedChrgitmType == "08" { //材料费
|
3641
|
|
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3642
|
|
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3643
|
|
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3644
|
|
- }
|
|
3655
|
+ if item.MedChrgitmType == "06" { //手术费
|
|
3656
|
+ operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3657
|
+ operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3658
|
+ operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3659
|
+ }
|
3645
|
3660
|
|
3646
|
|
- if item.MedChrgitmType == "09" { //西药费
|
3647
|
|
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3648
|
|
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3649
|
|
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3650
|
|
- }
|
|
3661
|
+ if item.MedChrgitmType == "08" { //材料费
|
|
3662
|
+ materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3663
|
+ materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3664
|
+ materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3665
|
+ }
|
3651
|
3666
|
|
3652
|
|
- if item.MedChrgitmType == "11" { //中成费
|
3653
|
|
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3654
|
|
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3655
|
|
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3656
|
|
- }
|
|
3667
|
+ if item.MedChrgitmType == "09" { //西药费
|
|
3668
|
+ westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3669
|
+ westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3670
|
+ westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3671
|
+ }
|
|
3672
|
+
|
|
3673
|
+ if item.MedChrgitmType == "11" { //中成费
|
|
3674
|
+ chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3675
|
+ chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3676
|
+ chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3677
|
+ }
|
|
3678
|
+
|
|
3679
|
+ if item.MedChrgitmType == "14" { //其他费
|
|
3680
|
+ otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
|
3681
|
+ otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
|
3682
|
+ otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
|
3683
|
+ }
|
3657
|
3684
|
|
3658
|
|
- if item.MedChrgitmType == "14" { //其他费
|
3659
|
|
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
|
3660
|
|
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
|
3661
|
|
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
|
3662
|
3685
|
}
|
3663
|
3686
|
|
3664
|
3687
|
}
|