我正在使用Android Studio和Google的Firebase数据库创建一个小型轮班管理应用程序。
我希望它允许管理员选择一个日期(从日历中)并设置该日期的班次数以及其他参数(例如每个班次的员工人数、每个班次的开始和结束时间等)。
这是我第一次开始这个项目时的想法:
{
"accounts" : {
"admin" : {
"email" : "admin@gmail.com",
"password" : 123
}
"user1" : {
"email" : "user1@gmail.com",
"password" : 234
}
},
"config" : {
"shiftsPerDay" : {
"Shift 2" : {
"end" : "00:00",
"name" : "eveningShift",
"numOfEmps" : 2,
"start" : "16:00",
"wage" : 0
},
"Shift 1" : {
"end" : "16:00",
"name" : "morningShift",
"numOfEmps" : 3,
"start" : "8:00",
"wage" : 0
}
}
}
但这只有在每天的班次数量是固定的情况下才有效。我希望每个日期都有自己的班次(例如 1/18-3; 1/19-4; 1/20-1; ..1/25-3;1/26-2 等)。
有没有更好的方法来使用 Firebase 对这种结构进行建模?
如果要存储每天的单独班次,请将这些天的级别添加到 JSON 结构中:
"config" : {
"shiftsPerDay" : {
"20190118": {
"Shift 2" : {
"end" : "00:00",
"name" : "eveningShift",
"numOfEmps" : 2,
"start" : "16:00",
"wage" : 0
},
"Shift 1" : {
"end" : "16:00",
"name" : "morningShift",
"numOfEmps" : 3,
"start" : "8:00",
"wage" : 0
}
}
}
}