|
@@ -277,7 +277,69 @@ func GetTotalMinutes(orgid int64, startime int64, endtime int64) (schedule []*mo
|
277
|
277
|
if orgid > 0 {
|
278
|
278
|
db = db.Where("x.user_org_id = ?", orgid)
|
279
|
279
|
}
|
280
|
|
- err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1", orgid, orgid).Scan(&schedule).Error
|
|
280
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
|
281
|
+ return schedule, err
|
|
282
|
+}
|
|
283
|
+
|
|
284
|
+func GetTotalMinutesOne(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
285
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
286
|
+ if startime > 0 {
|
|
287
|
+ db = db.Where("x.start_time >=?", startime)
|
|
288
|
+ }
|
|
289
|
+ if endtime > 0 {
|
|
290
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
291
|
+ }
|
|
292
|
+ if orgid > 0 {
|
|
293
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
294
|
+ }
|
|
295
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 ", orgid, orgid).Scan(&schedule).Error
|
|
296
|
+ return schedule, err
|
|
297
|
+}
|
|
298
|
+
|
|
299
|
+func GetTotalMinutesTwo(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
300
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
301
|
+ if startime > 0 {
|
|
302
|
+ db = db.Where("x.start_time >=?", startime)
|
|
303
|
+ }
|
|
304
|
+ if endtime > 0 {
|
|
305
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
306
|
+ }
|
|
307
|
+ if orgid > 0 {
|
|
308
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
309
|
+ }
|
|
310
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as workminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
|
311
|
+ return schedule, err
|
|
312
|
+}
|
|
313
|
+
|
|
314
|
+func GetChartTotalMinutesOne(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
315
|
+ likeKey := "%" + keywords + "%"
|
|
316
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
317
|
+ if startime > 0 {
|
|
318
|
+ db = db.Where("x.start_time >=?", startime)
|
|
319
|
+ }
|
|
320
|
+ if endtime > 0 {
|
|
321
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
322
|
+ }
|
|
323
|
+ if orgid > 0 {
|
|
324
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
325
|
+ }
|
|
326
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Where("r.user_name like ?", likeKey).Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 ", orgid, orgid).Scan(&schedule).Error
|
|
327
|
+ return schedule, err
|
|
328
|
+}
|
|
329
|
+
|
|
330
|
+func GetChartTotalMinutesTwo(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
331
|
+ likeKey := "%" + keywords + "%"
|
|
332
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
333
|
+ if startime > 0 {
|
|
334
|
+ db = db.Where("x.start_time >=?", startime)
|
|
335
|
+ }
|
|
336
|
+ if endtime > 0 {
|
|
337
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
338
|
+ }
|
|
339
|
+ if orgid > 0 {
|
|
340
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
341
|
+ }
|
|
342
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as workminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Where("r.user_name like ?", likeKey).Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
281
|
343
|
return schedule, err
|
282
|
344
|
}
|
283
|
345
|
|
|
@@ -341,7 +403,7 @@ func GeSearchtTotalMinutes(orgid int64, startime int64, endtime int64, keywords
|
341
|
403
|
if orgid > 0 {
|
342
|
404
|
db = db.Where("x.user_org_id = ?", orgid)
|
343
|
405
|
}
|
344
|
|
- err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Where("r.user_name like ?", likeKey).Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1", orgid, orgid).Scan(&schedule).Error
|
|
406
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Where("r.user_name like ?", likeKey).Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
345
|
407
|
return schedule, err
|
346
|
408
|
}
|
347
|
409
|
|
|
@@ -398,3 +460,118 @@ func ChagneScheduleListTotal(orgid int64, startime int64, endtime int64, doctort
|
398
|
460
|
err = db.Group("x.doctor_id,x.schedule_type").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,count(s.class_name) as count").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 ", orgid, orgid).Scan(&schedule).Error
|
399
|
461
|
return schedule, err
|
400
|
462
|
}
|
|
463
|
+
|
|
464
|
+func ChangeScheduleMinute(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
465
|
+
|
|
466
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
467
|
+ if startime > 0 {
|
|
468
|
+ db = db.Where("x.start_time >=?", startime)
|
|
469
|
+ }
|
|
470
|
+ if endtime > 0 {
|
|
471
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
472
|
+ }
|
|
473
|
+ if orgid > 0 {
|
|
474
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
475
|
+ }
|
|
476
|
+ if doctortype == 0 {
|
|
477
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
478
|
+ }
|
|
479
|
+ if doctortype > 0 {
|
|
480
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
481
|
+ }
|
|
482
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
|
483
|
+ return schedule, err
|
|
484
|
+}
|
|
485
|
+
|
|
486
|
+func ChangeWorkDay(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
487
|
+
|
|
488
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
489
|
+ if startime > 0 {
|
|
490
|
+ db = db.Where("x.start_time >=?", startime)
|
|
491
|
+ }
|
|
492
|
+ if endtime > 0 {
|
|
493
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
494
|
+ }
|
|
495
|
+ if orgid > 0 {
|
|
496
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
497
|
+ }
|
|
498
|
+ if doctortype == 0 {
|
|
499
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
500
|
+ }
|
|
501
|
+ if doctortype > 0 {
|
|
502
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
503
|
+ }
|
|
504
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,count(x.id) as count").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
|
505
|
+ return schedule, err
|
|
506
|
+}
|
|
507
|
+
|
|
508
|
+func ChangeNoWorkDay(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
509
|
+
|
|
510
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
511
|
+ if startime > 0 {
|
|
512
|
+ db = db.Where("x.start_time >=?", startime)
|
|
513
|
+ }
|
|
514
|
+ if endtime > 0 {
|
|
515
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
516
|
+ }
|
|
517
|
+ if orgid > 0 {
|
|
518
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
519
|
+ }
|
|
520
|
+ if doctortype == 0 {
|
|
521
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
522
|
+ }
|
|
523
|
+ if doctortype > 0 {
|
|
524
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
525
|
+ }
|
|
526
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,count(x.id) as count").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 2", orgid, orgid).Scan(&schedule).Error
|
|
527
|
+ return schedule, err
|
|
528
|
+}
|
|
529
|
+
|
|
530
|
+func ChartTotalMinute(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
531
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
532
|
+ if startime > 0 {
|
|
533
|
+ db = db.Where("x.start_time >=?", startime)
|
|
534
|
+ }
|
|
535
|
+ if endtime > 0 {
|
|
536
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
537
|
+ }
|
|
538
|
+ if orgid > 0 {
|
|
539
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
540
|
+ }
|
|
541
|
+ if doctortype == 0 {
|
|
542
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
543
|
+ }
|
|
544
|
+ if doctortype > 0 {
|
|
545
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
546
|
+ }
|
|
547
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as totalminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 ", orgid, orgid).Scan(&schedule).Error
|
|
548
|
+ return schedule, err
|
|
549
|
+}
|
|
550
|
+
|
|
551
|
+func ChartWorkDayMinute(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
552
|
+
|
|
553
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
554
|
+ if startime > 0 {
|
|
555
|
+ db = db.Where("x.start_time >=?", startime)
|
|
556
|
+ }
|
|
557
|
+ if endtime > 0 {
|
|
558
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
559
|
+ }
|
|
560
|
+ if orgid > 0 {
|
|
561
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
562
|
+ }
|
|
563
|
+ if doctortype == 0 {
|
|
564
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
565
|
+ }
|
|
566
|
+ if doctortype > 0 {
|
|
567
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
568
|
+ }
|
|
569
|
+ err = db.Group("x.doctor_id").Select("x.doctor_id,x.schedule_type,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.sort,r.is_sort,sum(s.minute) as workminute").Joins("left join sgj_users.sgj_user_admin_role as r on r.admin_user_id = x.doctor_id").Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Where("r.org_id = ? and r.status = 1 and s.user_org_id = ? and s.status = 1 and s.class_attributes = 1", orgid, orgid).Scan(&schedule).Error
|
|
570
|
+ return schedule, err
|
|
571
|
+}
|
|
572
|
+
|
|
573
|
+func GetMySchedule(startime int64, endtime int64, orgid int64, creator int64) (schedule []*models.XtStaffSchedule, err error) {
|
|
574
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
575
|
+ err = db.Group("x.id").Select("x.doctor_id,x.schedule_week,s.class_name").Where("x.start_time >=? and x.end_time<=? and x.user_org_id = ? and x.doctor_id = ?", startime, endtime, orgid, creator).Joins("left join xt_doctor_schedules as s on s.id = x.schedule_type").Scan(&schedule).Error
|
|
576
|
+ return schedule, err
|
|
577
|
+}
|