csx 2 gadus atpakaļ
vecāks
revīzija
f4417a6606

+ 14 - 1
controllers/his_api_controller.go Parādīt failu

@@ -5194,6 +5194,10 @@ func (c *HisApiController) GetFaPiaoData() {
5194 5194
 	var treatCostSelfTotal float64 = 0     //治疗费用
5195 5195
 	var treatCostPartSelfTotal float64 = 0 //治疗费用
5196 5196
 
5197
+	var zhenChaCostTotal float64 = 0         //其他费用
5198
+	var zhenChaCostSelfTotal float64 = 0     //其他费用
5199
+	var zhenChaCostPartSelfTotal float64 = 0 //其他费用
5200
+
5197 5201
 	decimal.DivisionPrecision = 2
5198 5202
 	orderInfos_two, _ := service.GetHisOrderDetailByNumber(order.Number, adminUser.CurrentOrgId)
5199 5203
 
@@ -5306,6 +5310,12 @@ func (c *HisApiController) GetFaPiaoData() {
5306 5310
 				bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
5307 5311
 			}
5308 5312
 
5313
+			if item.MedChrgitmType == "02" { //诊察费
5314
+				zhenChaCostTotal, _ = decimal.NewFromFloat(zhenChaCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
5315
+				zhenChaCostSelfTotal, _ = decimal.NewFromFloat(zhenChaCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
5316
+				zhenChaCostPartSelfTotal, _ = decimal.NewFromFloat(zhenChaCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
5317
+			}
5318
+
5309 5319
 			if item.MedChrgitmType == "03" { //检查费
5310 5320
 				checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
5311 5321
 				checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
@@ -5348,7 +5358,7 @@ func (c *HisApiController) GetFaPiaoData() {
5348 5358
 				chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
5349 5359
 			}
5350 5360
 
5351
-			if item.MedChrgitmType == "0" || item.MedChrgitmType == "12" || item.MedChrgitmType == "02" { //其他费
5361
+			if item.MedChrgitmType == "0" || item.MedChrgitmType == "12" { //其他费
5352 5362
 				otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
5353 5363
 				otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
5354 5364
 				otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
@@ -5402,6 +5412,9 @@ func (c *HisApiController) GetFaPiaoData() {
5402 5412
 		"treatCostTotal":              treatCostTotal,
5403 5413
 		"treatCostSelfTotal":          treatCostSelfTotal,
5404 5414
 		"treatCostPartSelfTotal":      treatCostPartSelfTotal,
5415
+		"zhenChaCostTotal":            zhenChaCostTotal,
5416
+		"zhenChaCostSelfTotal":        zhenChaCostSelfTotal,
5417
+		"zhenChaCostPartSelfTotal":    zhenChaCostPartSelfTotal,
5405 5418
 		"his_hospital_record":         his_hospital_record,
5406 5419
 	})
5407 5420
 

+ 16 - 1
controllers/his_hospital_api_controller.go Parādīt failu

@@ -284,9 +284,24 @@ func (c *HisHospitalApiController) GetHisHospitalPatientList() {
284 284
 	recordDateTime := theTime.Unix()
285 285
 	adminInfo := c.GetAdminUserInfo()
286 286
 	//var patients []*service.HospitalPatient
287
+	var all_tempPatients []*service.HospitalPatient
287 288
 	tempPatients, _ := service.GetHisHospitalPatientList(adminInfo.CurrentOrgId, recordDateTime, sch_type)
288 289
 	tempPatients_two, _ := service.GetHisHospitalSchPatientList(adminInfo.CurrentOrgId, recordDateTime, sch_type)
289 290
 
291
+	if types == 0 {
292
+		all_tempPatients, _ = service.GetAllHisHospitalPatientList(adminInfo.CurrentOrgId, recordDateTime, sch_type)
293
+		for _, item := range all_tempPatients {
294
+			for index, subItem := range tempPatients_two {
295
+				if item.ID == subItem.ID {
296
+					tempPatients_two = append(tempPatients_two[:index], tempPatients_two[index+1:]...)
297
+
298
+				}
299
+			}
300
+		}
301
+		all_tempPatients = append(all_tempPatients, tempPatients_two...)
302
+
303
+	}
304
+
290 305
 	//当天有登记住院的和排班同时存在的话,删除掉排班的记录
291 306
 	for _, item := range tempPatients {
292 307
 		for index, subItem := range tempPatients_two {
@@ -317,7 +332,7 @@ func (c *HisHospitalApiController) GetHisHospitalPatientList() {
317 332
 
318 333
 	if types == 0 {
319 334
 		c.ServeSuccessJSON(map[string]interface{}{
320
-			"list":       tempPatients,
335
+			"list":       all_tempPatients,
321 336
 			"total_one":  total_one,
322 337
 			"total_two":  total_two,
323 338
 			"info":       adminUserInfo,

+ 11 - 0
service/his_hospital_service.go Parādīt failu

@@ -71,6 +71,17 @@ func (HisHospitalOrder) TableName() string {
71 71
 	return "his_order"
72 72
 }
73 73
 
74
+func GetAllHisHospitalPatientList(org_id int64, record_date int64, sch_type int64) (patients []*HospitalPatient, err error) {
75
+	db := readDb.Model(&HospitalPatient{}).Where("xt_patients.user_org_id = ? AND xt_patients.status = 1", org_id)
76
+	db = db.Joins("join his_hospital_check_record as record ON record.patient_id = xt_patients.id AND record.status = 1 AND record.user_org_id = ? AND record.in_hospital_status = 1", org_id)
77
+	//db = db.Joins("join xt_schedule as sch ON sch.patient_id = xt_patients.id AND sch.status = 1 AND sch.user_org_id = ? AND sch.schedule_date = ? AND sch.schedule_type = ? ", org_id, record_date, sch_type)
78
+	db = db.Preload("HisHospitalCheckRecord", func(db *gorm.DB) *gorm.DB {
79
+		return db.Where("user_org_id = ? AND status = 1  AND in_hospital_status = 1 AND out_hospital_status = 0", org_id).Order("id desc")
80
+	})
81
+	err = db.Preload("VMHisPrescriptionInfo", "user_org_id = ? AND status = 1  AND p_type = 1", org_id, record_date).Group("id").Find(&patients).Error
82
+	return
83
+}
84
+
74 85
 func GetHisHospitalPatientList(org_id int64, record_date int64, sch_type int64) (patients []*HospitalPatient, err error) {
75 86
 	db := readDb.Model(&HospitalPatient{}).Where("xt_patients.user_org_id = ? AND xt_patients.status = 1", org_id)
76 87
 	db = db.Joins("join his_hospital_check_record as record ON record.patient_id = xt_patients.id AND record.status = 1 AND record.user_org_id = ? AND record.in_hospital_status = 1 AND record.record_date = ? ", org_id, record_date)