|
@@ -58,7 +58,7 @@ func GetClassNameIsExsit(classname string, orgid int64, id int64) (schedule mode
|
58
|
58
|
|
59
|
59
|
func UpdateScheduleList(id int64, schedules *models.DoctorSchedules) error {
|
60
|
60
|
|
61
|
|
- err := XTReadDB().Model(&schedules).Where("id=?", id).Updates(map[string]interface{}{"class_name": schedules.ClassName, "class_attributes": schedules.ClassAttributes, "timeone_start": schedules.TimeoneStart, "timeone_type": schedules.TimeoneType, "timeone_end": schedules.TimeoneEnd, "timetwo_start": schedules.TimetwoStart, "timetwo_type": schedules.TimetwoType, "timetwo_end": schedules.TimetwoEnd, "work_time": schedules.WorkTime, "remarks": schedules.Remarks, "mtime": time.Now().Unix()}).Error
|
|
61
|
+ err := XTReadDB().Model(&schedules).Where("id=?", id).Updates(map[string]interface{}{"class_name": schedules.ClassName, "class_attributes": schedules.ClassAttributes, "timeone_start": schedules.TimeoneStart, "timeone_type": schedules.TimeoneType, "timeone_end": schedules.TimeoneEnd, "timetwo_start": schedules.TimetwoStart, "timetwo_type": schedules.TimetwoType, "timetwo_end": schedules.TimetwoEnd, "work_time": schedules.WorkTime, "remarks": schedules.Remarks, "minute": schedules.Minute, "mtime": time.Now().Unix()}).Error
|
62
|
62
|
return err
|
63
|
63
|
}
|
64
|
64
|
|
|
@@ -82,7 +82,19 @@ func DeleteScheduleById(id int64) error {
|
82
|
82
|
|
83
|
83
|
func GetDoctorList(orgid int64, appid int64) (role []*models.XTSgjUserAdminRole, err error) {
|
84
|
84
|
|
85
|
|
- err = UserReadDB().Model(&role).Where("org_id = ? and app_id = ? and status = 1 ", orgid, appid).Order("user_type desc").Find(&role).Error
|
|
85
|
+ err = UserReadDB().Model(&role).Where("org_id = ? and app_id = ? and (user_type = 2 or user_type = 3) and status = 1 and is_sort = 1", orgid, appid).Order("user_type desc").Find(&role).Error
|
|
86
|
+ return role, err
|
|
87
|
+}
|
|
88
|
+
|
|
89
|
+func GetAllDoctorList(orgid int64, appid int64) (role []*models.XTSgjUserAdminRole, err error) {
|
|
90
|
+
|
|
91
|
+ err = UserReadDB().Model(&role).Where("org_id =? and app_id = ? and user_type = 2 and status = 1", orgid, appid).Order("sort desc").Find(&role).Error
|
|
92
|
+ return role, err
|
|
93
|
+}
|
|
94
|
+
|
|
95
|
+func GetAllNurseList(orgid int64, appid int64) (role []*models.XTSgjUserAdminRole, err error) {
|
|
96
|
+
|
|
97
|
+ err = UserReadDB().Model(&role).Where("org_id = ? and app_id = ? and user_type =3 and status =1", orgid, appid).Order("sort desc").Find(&role).Error
|
86
|
98
|
return role, err
|
87
|
99
|
}
|
88
|
100
|
|
|
@@ -127,7 +139,7 @@ func GetStaffScheduleList(orgid int64, startime int64, endtime int64) (schedule
|
127
|
139
|
if orgid > 0 {
|
128
|
140
|
db = db.Where("x.user_org_id = ?", orgid)
|
129
|
141
|
}
|
130
|
|
- err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.admin_user_id,r.user_type,s.class_attributes").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
|
|
142
|
+ err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.admin_user_id,r.user_type,s.class_attributes,r.sort,r.is_sort,s.work_time,s.minute").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
|
131
|
143
|
return schedule, err
|
132
|
144
|
}
|
133
|
145
|
|
|
@@ -167,7 +179,7 @@ func GetScheduleByDoctorId(doctorid int64, startime int64, endtime int64, orgid
|
167
|
179
|
if doctorid > 0 {
|
168
|
180
|
db = db.Where("x.doctor_type = ?", doctorid)
|
169
|
181
|
}
|
170
|
|
- err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.admin_user_id,s.class_attributes").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 = ?", orgid, orgid).Scan(&schedule).Error
|
|
182
|
+ err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.end_time,x.schedule_date,r.user_name,s.class_name,r.admin_user_id,s.class_attributes,r.sort,r.is_sort").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 = ?", orgid, orgid).Scan(&schedule).Error
|
171
|
183
|
return schedule, err
|
172
|
184
|
}
|
173
|
185
|
|
|
@@ -186,7 +198,7 @@ func ToSearchSeacheduleList(keywords string, startime int64, endtime int64, orgi
|
186
|
198
|
//if(doctorid >0){
|
187
|
199
|
// db = db.Where("x.doctor_id = ?", doctorid)
|
188
|
200
|
//}
|
189
|
|
- err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.schedule_date,x.end_time,r.user_type,r.user_name,s.class_name,r.admin_user_id,s.class_attributes").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 and s.user_org_id = ?", orgid).Where("r.org_id = ? and r.status = 1 and r.user_name like ?", orgid, likeKey).Scan(&schedule).Error
|
|
201
|
+ err = db.Group("x.id").Select("x.id,x.doctor_id,x.doctor_type,x.schedule_type,x.schedule_week,x.user_org_id,x.start_time,x.schedule_date,x.end_time,r.user_type,r.user_name,s.class_name,r.admin_user_id,s.class_attributes,r.sort,r.is_sort").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 and s.user_org_id = ?", orgid).Where("r.org_id = ? and r.status = 1 and r.user_name like ?", orgid, likeKey).Scan(&schedule).Error
|
190
|
202
|
return schedule, err
|
191
|
203
|
}
|
192
|
204
|
|
|
@@ -224,3 +236,47 @@ func UpdateContinusSchedule(schedule *models.ContinueSchedule, orgid int64) erro
|
224
|
236
|
err := XTWriteDB().Model(&schedule).Where("user_org_id = ? and status = 1", orgid).Updates(map[string]interface{}{"is_status": schedule.IsStatus, "mtime": time.Now().Unix()}).Error
|
225
|
237
|
return err
|
226
|
238
|
}
|
|
239
|
+
|
|
240
|
+func SaveNurseSort(role *models.App_Role, id int64) error {
|
|
241
|
+
|
|
242
|
+ err := UserWriteDB().Model(&role).Where("id = ?", id).Updates(map[string]interface{}{"sort": role.Sort}).Error
|
|
243
|
+ return err
|
|
244
|
+}
|
|
245
|
+
|
|
246
|
+func SaveIsSchedule(id int64, role *models.App_Role) error {
|
|
247
|
+
|
|
248
|
+ err := UserWriteDB().Model(&role).Where("id=?", id).Updates(map[string]interface{}{"is_sort": role.IsSort}).Error
|
|
249
|
+ return err
|
|
250
|
+}
|
|
251
|
+
|
|
252
|
+func GetScheduleListTotal(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
253
|
+
|
|
254
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
255
|
+ if startime > 0 {
|
|
256
|
+ db = db.Where("x.start_time >=?", startime)
|
|
257
|
+ }
|
|
258
|
+ if endtime > 0 {
|
|
259
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
260
|
+ }
|
|
261
|
+ if orgid > 0 {
|
|
262
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
263
|
+ }
|
|
264
|
+ 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
|
|
265
|
+ return schedule, err
|
|
266
|
+}
|
|
267
|
+
|
|
268
|
+func GetTotalMinutes(orgid int64, startime int64, endtime int64) (schedule []*models.CountStaffSchedule, err error) {
|
|
269
|
+
|
|
270
|
+ db := XTReadDB().Table("xt_staff_schedule as x").Where("x.status = 1")
|
|
271
|
+ if startime > 0 {
|
|
272
|
+ db = db.Where("x.start_time >=?", startime)
|
|
273
|
+ }
|
|
274
|
+ if endtime > 0 {
|
|
275
|
+ db = db.Where("x.end_time <=?", endtime)
|
|
276
|
+ }
|
|
277
|
+ if orgid > 0 {
|
|
278
|
+ db = db.Where("x.user_org_id = ?", orgid)
|
|
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
|
|
281
|
+ return schedule, err
|
|
282
|
+}
|