|
@@ -280,3 +280,121 @@ func GetTotalMinutes(orgid int64, startime int64, endtime int64) (schedule []*mo
|
280
|
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
|
281
|
281
|
return schedule, err
|
282
|
282
|
}
|
|
283
|
+
|
|
284
|
+func GetTotalWorkDay(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
285
|
+
|
|
286
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
287
|
+ if startime > 0 {
|
|
288
|
+ db = db.Where("x.start_time >=?", startime)
|
|
289
|
+ }
|
|
290
|
+ if endtime > 0 {
|
|
291
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
292
|
+ }
|
|
293
|
+ if orgid > 0 {
|
|
294
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
295
|
+ }
|
|
296
|
+ 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
|
|
297
|
+ return schedule, err
|
|
298
|
+}
|
|
299
|
+
|
|
300
|
+func GetTotalNoWorkDay(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
301
|
+
|
|
302
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
303
|
+ if startime > 0 {
|
|
304
|
+ db = db.Where("x.start_time >=?", startime)
|
|
305
|
+ }
|
|
306
|
+ if endtime > 0 {
|
|
307
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
308
|
+ }
|
|
309
|
+ if orgid > 0 {
|
|
310
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
311
|
+ }
|
|
312
|
+ 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
|
|
313
|
+ return schedule, err
|
|
314
|
+}
|
|
315
|
+
|
|
316
|
+func GetSearchScheduleListTotal(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
317
|
+ likeKey := "%" + keywords + "%"
|
|
318
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
319
|
+ if startime > 0 {
|
|
320
|
+ db = db.Where("x.start_time >=?", startime)
|
|
321
|
+ }
|
|
322
|
+ if endtime > 0 {
|
|
323
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
324
|
+ }
|
|
325
|
+ if orgid > 0 {
|
|
326
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
327
|
+ }
|
|
328
|
+ 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").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
|
|
329
|
+ return schedule, err
|
|
330
|
+}
|
|
331
|
+
|
|
332
|
+func GeSearchtTotalMinutes(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
333
|
+ likeKey := "%" + keywords + "%"
|
|
334
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
335
|
+ if startime > 0 {
|
|
336
|
+ db = db.Where("x.start_time >=?", startime)
|
|
337
|
+ }
|
|
338
|
+ if endtime > 0 {
|
|
339
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
340
|
+ }
|
|
341
|
+ if orgid > 0 {
|
|
342
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
343
|
+ }
|
|
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
|
|
345
|
+ return schedule, err
|
|
346
|
+}
|
|
347
|
+
|
|
348
|
+func GetSearchWorkDay(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
349
|
+ likeKey := "%" + keywords + "%"
|
|
350
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
351
|
+ if startime > 0 {
|
|
352
|
+ db = db.Where("x.start_time >=?", startime)
|
|
353
|
+ }
|
|
354
|
+ if endtime > 0 {
|
|
355
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
356
|
+ }
|
|
357
|
+ if orgid > 0 {
|
|
358
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
359
|
+ }
|
|
360
|
+ 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").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
|
|
361
|
+ return schedule, err
|
|
362
|
+}
|
|
363
|
+
|
|
364
|
+func GetSearchWorkNoDay(orgid int64, startime int64, endtime int64, keywords string) (schedule []*models.CountStaffSchedule, err error) {
|
|
365
|
+ likeKey := "%" + keywords + "%"
|
|
366
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
367
|
+ if startime > 0 {
|
|
368
|
+ db = db.Where("x.start_time >=?", startime)
|
|
369
|
+ }
|
|
370
|
+ if endtime > 0 {
|
|
371
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
372
|
+ }
|
|
373
|
+ if orgid > 0 {
|
|
374
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
375
|
+ }
|
|
376
|
+ 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").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 = 2", orgid, orgid).Scan(&schedule).Error
|
|
377
|
+ return schedule, err
|
|
378
|
+}
|
|
379
|
+
|
|
380
|
+func ChagneScheduleListTotal(orgid int64, startime int64, endtime int64, doctortype int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
381
|
+
|
|
382
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
383
|
+ if startime > 0 {
|
|
384
|
+ db = db.Where("x.start_time >=?", startime)
|
|
385
|
+ }
|
|
386
|
+ if endtime > 0 {
|
|
387
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
388
|
+ }
|
|
389
|
+ if orgid > 0 {
|
|
390
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
391
|
+ }
|
|
392
|
+ if doctortype == 0 {
|
|
393
|
+ db = db.Where("x.doctor_type = 2 or x.doctor_type = 3")
|
|
394
|
+ }
|
|
395
|
+ if doctortype > 0 {
|
|
396
|
+ db = db.Where("x.doctor_type = ?", doctortype)
|
|
397
|
+ }
|
|
398
|
+ 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
|
+ return schedule, err
|
|
400
|
+}
|