Ver código fonte

医保对接

csx 3 anos atrás
pai
commit
bd652c8073

+ 4 - 8
service/common_service.go Ver arquivo

621
 
621
 
622
 	db := XTReadDB().Table("xt_dialysis_order as o").Where("o.status =  1")
622
 	db := XTReadDB().Table("xt_dialysis_order as o").Where("o.status =  1")
623
 	sql := "from_unixtime(o.dialysis_date, '%Y%m%d') AS date"
623
 	sql := "from_unixtime(o.dialysis_date, '%Y%m%d') AS date"
624
-
625
 	if orgID > 0 {
624
 	if orgID > 0 {
626
 		db = db.Where("o.user_org_id = ?", orgID)
625
 		db = db.Where("o.user_org_id = ?", orgID)
627
 	}
626
 	}
637
 	if lapseto > 0 {
636
 	if lapseto > 0 {
638
 		db = db.Where("p.lapseto = ?", lapseto)
637
 		db = db.Where("p.lapseto = ?", lapseto)
639
 	}
638
 	}
640
-	offset := (page - 1) * limit
641
-	err = db.Group("o.dialysis_date").Select(sql).Joins("join xt_dialysis_prescription as s on s.patient_id = o.patient_id").Joins("left join xt_patients as p on p.id = o.patient_id").Where("s.record_date = o.dialysis_date and s.status =1").Count(&total).Offset(offset).Limit(limit).Scan(&blood).Error
639
+	err = db.Group("o.dialysis_date").Select(sql).Joins("join xt_dialysis_prescription as s on s.patient_id = o.patient_id AND s.record_date = o.dialysis_date AND s.mode_id > 0").Joins("left join xt_patients as p on p.id = o.patient_id").Where("s.record_date = o.dialysis_date and s.status =1").Scan(&blood).Error
642
 	return blood, total, err
640
 	return blood, total, err
643
 
641
 
644
 }
642
 }
645
 func GetTreatList(orgid int64, startime int64, endtime int64, lapseto int64) (ttd []*models.TreatTotalStruct, err error) {
643
 func GetTreatList(orgid int64, startime int64, endtime int64, lapseto int64) (ttd []*models.TreatTotalStruct, err error) {
646
-	db := XTReadDB().Table("xt_dialysis_order as o").Where("o.status =  1")
647
-	table := XTReadDB().Table("xt_schedule as s")
648
-	fmt.Println(table)
644
+	db := XTReadDB().Table("xt_dialysis_order as o").Where("o.status =  1 ")
649
 	p := XTReadDB().Table("xt_patients as p")
645
 	p := XTReadDB().Table("xt_patients as p")
650
 	fmt.Println(p)
646
 	fmt.Println(p)
651
 	if orgid > 0 {
647
 	if orgid > 0 {
663
 	if lapseto > 0 {
659
 	if lapseto > 0 {
664
 		db = db.Where("p.lapseto = ?", lapseto)
660
 		db = db.Where("p.lapseto = ?", lapseto)
665
 	}
661
 	}
666
-	err = db.Select("s.mode_id, count(s.mode_id) as number").Joins("join xt_dialysis_prescription as s on s.patient_id = o.patient_id").Joins("left join xt_patients as p on p.id = o.patient_id").Where("s.record_date = o.dialysis_date and s.status = 1").Group("s.mode_id").Order("s.mode_id asc").Find(&ttd).Error
662
+	err = db.Select("s.mode_id, count(s.mode_id) as number").Joins("join xt_dialysis_prescription as s on s.patient_id = o.patient_id and s.record_date = o.dialysis_date and s.mode_id > 0").Joins("left join xt_patients as p on p.id = o.patient_id").Where("s.record_date = o.dialysis_date and s.status = 1").Group("s.mode_id").Order("s.mode_id asc").Find(&ttd).Error
667
 	return ttd, err
663
 	return ttd, err
668
 }
664
 }
669
 
665
 
672
 	sql := "s.mode_id,from_unixtime(o.dialysis_date, '%Y%m%d') as date, count(o.dialysis_date) as number"
668
 	sql := "s.mode_id,from_unixtime(o.dialysis_date, '%Y%m%d') as date, count(o.dialysis_date) as number"
673
 	datesql := " o.dialysis_date as date"
669
 	datesql := " o.dialysis_date as date"
674
 	group := "from_unixtime(o.dialysis_date, '%Y%m%d')"
670
 	group := "from_unixtime(o.dialysis_date, '%Y%m%d')"
675
-	db = db.Table(" xt_dialysis_order AS o").Joins("join xt_dialysis_prescription as s on o.patient_id = s.patient_id").Where("s.record_date = o.dialysis_date and s.status =1")
671
+	db = db.Table(" xt_dialysis_order AS o").Joins("join xt_dialysis_prescription as s on o.patient_id = s.patient_id AND s.mode_id > 0").Where("s.record_date = o.dialysis_date and s.status =1")
676
 	if orgID > 0 {
672
 	if orgID > 0 {
677
 		db = db.Where("o.user_org_id = ?", orgID)
673
 		db = db.Where("o.user_org_id = ?", orgID)
678
 	}
674
 	}

+ 1 - 1
service/his_service.go Ver arquivo

430
 			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("Drug", "status=1")
430
 			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("Drug", "status=1")
431
 		}).
431
 		}).
432
 		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
432
 		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
433
-			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisProject").Preload("GoodInfo", "status=1")
433
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisProject").Preload("GoodInfo", "status=1").Preload("XtHisProjectTeam", "status = 1")
434
 		}).
434
 		}).
435
 		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND p_type = ?", org_id, record_date, patient_id, p_type).
435
 		Where("user_org_id = ? AND status = 1 AND record_date = ? AND patient_id = ? AND p_type = ?", org_id, record_date, patient_id, p_type).
436
 		Find(&prescription).Error
436
 		Find(&prescription).Error

+ 15 - 5
service/statistics_service/index_evaluation_service.go Ver arquivo

1162
 	userDb := service.UserReadDB()
1162
 	userDb := service.UserReadDB()
1163
 	db := service.XTReadDB()
1163
 	db := service.XTReadDB()
1164
 	if admin_user_id == 0 {
1164
 	if admin_user_id == 0 {
1165
-		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 2 ", user_org_id).Scan(&datas)
1165
+		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ? AND user_type = 2 ", user_org_id).Scan(&datas)
1166
 	} else {
1166
 	} else {
1167
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 2  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1167
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 2  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1168
 	}
1168
 	}
1169
+	var sys_datas VMUserAdminRole
1170
+	sys_datas.AdminUserId = 0
1171
+	sys_datas.PCount = 0
1172
+	sys_datas.UserName = "系统"
1173
+	datas = append(datas, &sys_datas)
1169
 
1174
 
1170
 	switch statistics_type {
1175
 	switch statistics_type {
1171
 	case 1:
1176
 	case 1:
1172
 		var Total int64
1177
 		var Total int64
1173
-		db.Table("xt_dialysis_prescription as p").Joins("join xt_schedule sch On sch.schedule_date = p.record_date AND sch.patient_id = p.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("p.user_org_id = ? AND p.status = 1  AND p.record_date >= ? AND  p.record_date <= ? AND p.creater <> 0 ", user_org_id, start_time, end_time).Count(&Total)
1174
-
1178
+		db.Table("xt_dialysis_prescription as p").Joins("join xt_dialysis_order o On o.dialysis_date = p.record_date AND o.patient_id = p.patient_id  AND o.status = 1").Where("p.user_org_id = ? AND p.status = 1  AND p.record_date >= ? AND  p.record_date <= ? AND p.mode_id > 0 ", user_org_id, start_time, end_time).Count(&Total)
1175
 		for _, item := range datas {
1179
 		for _, item := range datas {
1176
 			var total int64
1180
 			var total int64
1177
-			db.Table("xt_dialysis_prescription as p").Joins("join xt_schedule sch On sch.schedule_date = p.record_date AND sch.patient_id = p.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("p.user_org_id = ? AND p.status = 1 AND p.creater = ? AND p.record_date >= ? AND  p.record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1181
+			db.Table("xt_dialysis_prescription as p").Joins("join xt_dialysis_order o On o.dialysis_date = p.record_date AND o.patient_id = p.patient_id AND o.status = 1").Where("p.user_org_id = ? AND p.status = 1 AND p.creater = ? AND p.record_date >= ? AND  p.record_date <= ? AND p.mode_id > 0", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
1178
 			item.PCount = total
1182
 			item.PCount = total
1179
 
1183
 
1180
 			if math.IsNaN(float64(item.PCount) / float64(Total)) {
1184
 			if math.IsNaN(float64(item.PCount) / float64(Total)) {
1241
 	} else {
1245
 	} else {
1242
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 2  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1246
 		userDb.Raw("select admin_user_id, user_name,org_id  from sgj_user_admin_role  Where status = 1 AND org_id = ?  AND user_type = 2  AND admin_user_id = ?", user_org_id, admin_user_id).Scan(&datas)
1243
 	}
1247
 	}
1248
+	var sys_datas VMUserAdminRole
1249
+	sys_datas.AdminUserId = 0
1250
+	sys_datas.PCount = 0
1251
+	sys_datas.UserName = "系统"
1252
+	datas = append(datas, &sys_datas)
1253
+
1244
 	for _, item := range datas {
1254
 	for _, item := range datas {
1245
 		var Total int64
1255
 		var Total int64
1246
 		var TotalOne int64
1256
 		var TotalOne int64
1247
 		var TotalTwo int64
1257
 		var TotalTwo int64
1248
-		db.Table("xt_dialysis_prescription as p").Joins("join xt_schedule sch On sch.schedule_date = p.record_date AND sch.patient_id = p.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("p.user_org_id = ? AND p.status = 1 AND p.creater = ?  AND p.record_date >= ? AND  p.record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1258
+		db.Table("xt_dialysis_prescription as p").Joins("join xt_dialysis_order o On o.dialysis_date = p.record_date AND o.patient_id = p.patient_id AND o.user_org_id = ? AND o.status = 1", user_org_id).Where("p.user_org_id = ? AND p.status = 1 AND p.creater = ?  AND p.record_date >= ? AND  p.record_date <= ? AND p.mode_id > 0", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
1249
 		db.Table("xt_patient_course_of_disease as course").Where("org_id = ? AND status = 1 AND recorder = ? AND record_time >= ? AND record_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1259
 		db.Table("xt_patient_course_of_disease as course").Where("org_id = ? AND status = 1 AND recorder = ? AND record_time >= ? AND record_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
1250
 		db.Table("xt_patient_rescue_record as rescue").Where("org_id = ? AND status = 1 AND recorder = ? AND record_time >= ? AND record_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1260
 		db.Table("xt_patient_rescue_record as rescue").Where("org_id = ? AND status = 1 AND recorder = ? AND record_time >= ? AND record_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
1251
 		item.PCount = Total
1261
 		item.PCount = Total