|
@@ -1171,11 +1171,11 @@ func GetDoctorWorkloadChartData(user_org_id int64, start_time int64, end_time in
|
1171
|
1171
|
switch statistics_type {
|
1172
|
1172
|
case 1:
|
1173
|
1173
|
var Total int64
|
1174
|
|
- db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND record_date >= ? AND record_date <= ? AND creater <> 0 ", user_org_id, start_time, end_time).Count(&Total)
|
|
1174
|
+ 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)
|
1175
|
1175
|
|
1176
|
1176
|
for _, item := range datas {
|
1177
|
1177
|
var total int64
|
1178
|
|
- db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND creater = ? AND record_date >= ? AND record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&total)
|
|
1178
|
+ 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)
|
1179
|
1179
|
item.PCount = total
|
1180
|
1180
|
|
1181
|
1181
|
if math.IsNaN(float64(item.PCount) / float64(Total)) {
|
|
@@ -1246,7 +1246,7 @@ func GetDoctorWorkloadTableData(user_org_id int64, start_time int64, end_time in
|
1246
|
1246
|
var Total int64
|
1247
|
1247
|
var TotalOne int64
|
1248
|
1248
|
var TotalTwo int64
|
1249
|
|
- db.Table("xt_dialysis_prescription as p").Where("user_org_id = ? AND status = 1 AND creater = ? AND record_date >= ? AND record_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
|
1249
|
+ 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)
|
1250
|
1250
|
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)
|
1251
|
1251
|
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)
|
1252
|
1252
|
item.PCount = Total
|
|
@@ -1273,15 +1273,15 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
|
1273
|
1273
|
var NewTotalThree int64
|
1274
|
1274
|
var NewTotalFour int64
|
1275
|
1275
|
|
1276
|
|
- db.Table("xt_dialysis_order ").Where("user_org_id = ? AND status = 1 AND dialysis_date >= ? AND dialysis_date <= ?", user_org_id, start_time, end_time).Count(&NewTotalOne)
|
1277
|
|
- db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1 AND operate_time >= ? AND operate_time <= ?", user_org_id, start_time, end_time).Count(&NewTotalThree)
|
1278
|
|
- db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1 AND assessment_date >= ? AND assessment_date <= ?", user_org_id, start_time, end_time).Count(&NewTotalFour)
|
|
1276
|
+ db.Table("xt_dialysis_order as o").Joins("join xt_schedule sch On sch.schedule_date = o.dialysis_date AND sch.patient_id = o.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("o.user_org_id = ? AND o.status = 1 AND o.dialysis_date >= ? AND o.dialysis_date <= ?", user_org_id, start_time, end_time).Count(&NewTotalOne)
|
|
1277
|
+ db.Table("xt_monitoring_record as monitor ").Joins("join xt_schedule sch On sch.schedule_date = monitor.monitoring_date AND sch.patient_id = monitor.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("monitor.user_org_id = ? AND monitor.status = 1 AND monitor.monitoring_date >= ? AND monitor.monitoring_date <= ?", user_org_id, start_time, end_time).Count(&NewTotalThree)
|
|
1278
|
+ db.Table("xt_treatment_summary as summary").Joins("join xt_schedule sch On sch.schedule_date = summary.assessment_date AND sch.patient_id = summary.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("summary.user_org_id = ? AND summary.status = 1 AND summary.assessment_date >= ? AND summary.assessment_date <= ?", user_org_id, start_time, end_time).Count(&NewTotalFour)
|
1279
|
1279
|
|
1280
|
1280
|
switch statistics_type {
|
1281
|
1281
|
case 2:
|
1282
|
1282
|
for _, item := range datas {
|
1283
|
1283
|
var Total int64
|
1284
|
|
- db.Table("xt_dialysis_order ").Where("user_org_id = ? AND status = 1 AND dialysis_date >= ? AND dialysis_date <= ? AND puncture_nurse = ?", user_org_id, start_time, end_time, item.AdminUserId).Count(&Total)
|
|
1284
|
+ db.Table("xt_dialysis_order as o").Joins("join xt_schedule sch On sch.schedule_date = o.dialysis_date AND sch.patient_id = o.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("o.user_org_id = ? AND o.status = 1 AND o.dialysis_date >= ? AND o.dialysis_date <= ? AND o.puncture_nurse = ?", user_org_id, start_time, end_time, item.AdminUserId).Count(&Total)
|
1285
|
1285
|
item.PunctureCount = Total
|
1286
|
1286
|
if math.IsNaN(float64(item.PunctureCount) / float64(NewTotalOne)) {
|
1287
|
1287
|
item.PunctureRatio = "0.0"
|
|
@@ -1295,7 +1295,7 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
|
1295
|
1295
|
case 1:
|
1296
|
1296
|
for _, item := range datas {
|
1297
|
1297
|
var Total int64
|
1298
|
|
- db.Table("xt_monitoring_record").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ? AND operate_time >= ? AND operate_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
|
1298
|
+ db.Table("xt_monitoring_record as monitor").Joins("join xt_schedule sch On sch.schedule_date = monitor.monitoring_date AND sch.patient_id = monitor.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("monitor.user_org_id = ? AND monitor.status = 1 AND monitor.monitoring_nurse = ? AND monitor.monitoring_date >= ? AND monitor.monitoring_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
1299
|
1299
|
item.CureCount = Total
|
1300
|
1300
|
if math.IsNaN(float64(item.CureCount) / float64(NewTotalThree)) {
|
1301
|
1301
|
item.CureRatio = "0.0"
|
|
@@ -1310,7 +1310,7 @@ func GetNurseWorkloadChartData(user_org_id int64, start_time int64, end_time int
|
1310
|
1310
|
case 3:
|
1311
|
1311
|
for _, item := range datas {
|
1312
|
1312
|
var Total int64
|
1313
|
|
- db.Table("xt_treatment_summary ").Where("user_org_id = ? AND status = 1 AND creater = ? AND assessment_date >= ? AND assessment_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
|
1313
|
+ db.Table("xt_treatment_summary as summary ").Joins("join xt_schedule sch On sch.schedule_date = summary.assessment_date AND sch.patient_id = summary.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("summary.user_org_id = ? AND summary.status = 1 AND summary.creater = ? AND summary.assessment_date >= ? AND summary.assessment_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
1314
|
1314
|
item.MissionCount = Total
|
1315
|
1315
|
if math.IsNaN(float64(item.MissionCount) / float64(NewTotalFour)) {
|
1316
|
1316
|
item.MissionRatio = "0.0"
|
|
@@ -1349,9 +1349,9 @@ func GetNurseWorkloadTableData(user_org_id int64, start_time int64, end_time int
|
1349
|
1349
|
var TotalThree int64
|
1350
|
1350
|
//db.Raw("select count(*) as total from (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from xt_assessment_before_dislysis as d JOIN `xt_data_config` config on d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('内瘘',config.name) > 0 Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ? Group by d.id) b JOIN `xt_dialysis_order` on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1 AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&Total)
|
1351
|
1351
|
//db.Raw("select count(*) as total_one from (select d.patient_id as patient, d.id, d.`assessment_date` as date,config.name as name from xt_assessment_before_dislysis as d JOIN `xt_data_config` config on d.`blood_access_part_opera_id` = config.value AND config.org_id = ? AND config.parent_id = ? AND FIND_IN_SET('导管',config.name) > 0 Where d.user_org_id = ? AND d.assessment_date >=? AND d.assessment_date <= ? Group by d.id) b JOIN `xt_dialysis_order` on xt_dialysis_order.`dialysis_date` = b.date AND xt_dialysis_order.user_org_id = ? AND xt_dialysis_order.status = 1 AND xt_dialysis_order.start_nurse = ? AND xt_dialysis_order.dialysis_date >= ? AND xt_dialysis_order.dialysis_date <= ? ", user_org_id, tempConfig.ID, user_org_id, start_time, end_time, user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalOne)
|
1352
|
|
- db.Table("xt_monitoring_record ").Where("user_org_id = ? AND status = 1 AND monitoring_nurse = ? AND operate_time >= ? AND operate_time <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
|
1353
|
|
- db.Table("xt_dialysis_order ").Where("user_org_id = ? AND status = 1 AND dialysis_date >= ? AND dialysis_date <= ? AND puncture_nurse = ?", user_org_id, start_time, end_time, item.AdminUserId).Count(&Total)
|
1354
|
|
- db.Table("xt_treatment_summary").Where("user_org_id = ? AND status = 1 AND creater = ? AND assessment_date >= ? AND assessment_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalThree)
|
|
1352
|
+ db.Table("xt_monitoring_record as monitor ").Joins("join xt_schedule sch On sch.schedule_date = monitor.monitoring_date AND sch.patient_id = monitor.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("monitor.user_org_id = ? AND monitor.status = 1 AND monitor.monitoring_nurse = ? AND monitor.monitoring_date >= ? AND monitor.monitoring_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalTwo)
|
|
1353
|
+ db.Table("xt_dialysis_order as o").Joins("join xt_schedule sch On sch.schedule_date = o.dialysis_date AND sch.patient_id = o.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("o.user_org_id = ? AND o.status = 1 AND o.dialysis_date >= ? AND o.dialysis_date <= ? AND o.puncture_nurse = ?", user_org_id, start_time, end_time, item.AdminUserId).Count(&Total)
|
|
1354
|
+ db.Table("xt_treatment_summary as summary").Joins("join xt_schedule sch On sch.schedule_date = summary.assessment_date AND sch.patient_id = summary.patient_id AND sch.user_org_id = ? AND sch.status = 1", user_org_id).Where("summary.user_org_id = ? AND summary.status = 1 AND summary.creater = ? AND summary.assessment_date >= ? AND summary.assessment_date <= ?", user_org_id, item.AdminUserId, start_time, end_time).Count(&TotalThree)
|
1355
|
1355
|
item.PunctureCount = Total
|
1356
|
1356
|
item.CureCount = TotalTwo
|
1357
|
1357
|
item.MissionCount = TotalThree
|