创建高级 admin/staff 列表
Creating an advanced admin/staff rota
我知道这个地方是用来上传代码的,可能需要一些帮助,但我希望你不介意帮忙,因为我不确定从哪里开始使用这段代码。您是专家,而我是新手,在以后的编码方面需要帮助。如果有针对这种事情的版块,我会很乐意转载
情况如下:
我开始为我的员工开发一个高级管理后端面板,我目前的想法是使用 MySQLi 数据库创建员工轮值表,显示在一个简单的日历中,例如 table a面板。
现在,高级部分是工作人员将能够在 times/days 发布轮值表期间单击 "Clock In"
或 "Clock Out"
。
系统不会让工作人员 Clock In
,除非他们在一天中的那个时间轮值。然后我将可以访问面板的管理部分,允许我查看工作人员已经打卡的小时数,如果他们错过了几天,或者迟到了等等......并支付他们记录的打卡时间小时。
也许一些额外的功能是他们在轮班结束时自动打卡下班或者系统会记录加班时间等等?
我不知道我将如何着手创建这样的系统,或者它是否真的可能,所以如果有人有任何 advice/tips/examples 这样的想法,我将不胜感激任何帮助!
祝一切顺利!
您的系统必然由几个部分组成:
数据库存储 - 包含系统的所有必要信息、员工日程表、时钟条目、用户信息等。听起来您已经拥有了大部分内容,但可能需要针对您的情况进行一些调整目的。
员工分配/管理界面 - 允许管理员或具有适当访问权限的人员为员工分配时间表、向系统添加新员工等的系统。
Timeclock 前端 - 工作人员将使用它登录以查看他们的日程安排,并为 in/out.
计时
(可能)自动监控系统 - 如果您希望系统自动监控活动员工,并在他们的日程安排结束时打卡他们,您将需要一个重复性任务,一个脚本 运行s 每 X 分钟,并为需要的员工打卡。
这不是一个快速简单的项目,但也不是很复杂。您需要避免的主要陷阱是自己编写整个代码的诱惑。乍一看这似乎是个好主意,您只需要几个硬编码页面,对吧?不过,请相信我,这个过程总是会在之后以令人头疼的事情告终。找到一个可以作为您的应用程序基础的框架。需要学习的东西有点多,但您将能够更多地专注于构建您的应用程序,而不是重新发明轮子。
对于PHP,我强烈推荐Symfony. It uses Doctrine for it's ORM, which will make it much easier to handle data interactions, and Twig模板化,这比直接混合PHP/HTML要好得多。 Symfony 有不错的文档和大量教程。 (以及一个活跃的 Stack Overflow 标签。)
无论您做出什么选择,最好的办法是选择一个框架作为您的应用程序的基础,这将使所有众多的小设计决策变得更加容易。 (并且对于任何广泛使用的框架来说都不容易出错。)
您的个人问题有点过于模糊,无法在没有围绕它们的系统的情况下直接回答。不过,我会尝试为他们提供一些一般性建议。
I am starting work on an advanced admin backend panel for my staff, an idea I currently have is to use a MySQLi database to create the staff rota, to be displayed in a simple calendar like table on the aPanel.
您可能想看看 Full Calendar,一个不错的可自定义 JS 日历。
Now, the advanced part is the staff member will be able to click "Clock In" or "Clock Out" during the times/days they are issued on the rota.
当员工登录到应用程序时,应用程序将加载该员工的日程安排。如果他们有当前(或即将到来的)任务,请显示打卡表。 Clock In 表单在提交时会将员工状态更改为 Clocked In,并将时间戳插入与员工关联的 Timeclock 日志中。如果员工当前已打卡上班,而是显示打卡下班表格(可能带有轮班说明),这与做的事情大致相同,只是将状态切换为下班打卡。
The system will NOT let the staff member Clock In, unless they are on the rota for that time of day.
提交打卡表后,检查这类事情相当容易。如果他们不应该打卡,则抛出错误。 (请注意,永远不要假设提交前的验证就足够了。也就是说,不要依赖签到表只会在员工签到时显示的事实。
I will then have access to a management section of the panel allowing me to view the amount of hours the staff member has been clocked in for for if they have missed days, or are late, etc... And pay them for recorded clocked in hours.
在管理部分,您可以通过获取给定员工在给定日期范围内的所有 Timeclock 日志、总工作时数并与预期时间表进行比较来创建报告。
Maybe some added features would be that they are clocked out automatically at the end of their shift or the system would record overtime and such?
有一个脚本,每 X 分钟 运行s(时间越短分辨率越高,但会消耗更多资源)作为服务器上的计划任务,检查每个打卡员工,并打卡下班员工不应再打卡上班。如果您使用的是 Symfony,我建议您为作业创建一个 Custom Console Command。
希望这足以让您入门。如果您 运行 遇到任何更具体的问题,请随时回来。
我知道这个地方是用来上传代码的,可能需要一些帮助,但我希望你不介意帮忙,因为我不确定从哪里开始使用这段代码。您是专家,而我是新手,在以后的编码方面需要帮助。如果有针对这种事情的版块,我会很乐意转载
情况如下:
我开始为我的员工开发一个高级管理后端面板,我目前的想法是使用 MySQLi 数据库创建员工轮值表,显示在一个简单的日历中,例如 table a面板。
现在,高级部分是工作人员将能够在 times/days 发布轮值表期间单击 "Clock In"
或 "Clock Out"
。
系统不会让工作人员 Clock In
,除非他们在一天中的那个时间轮值。然后我将可以访问面板的管理部分,允许我查看工作人员已经打卡的小时数,如果他们错过了几天,或者迟到了等等......并支付他们记录的打卡时间小时。
也许一些额外的功能是他们在轮班结束时自动打卡下班或者系统会记录加班时间等等?
我不知道我将如何着手创建这样的系统,或者它是否真的可能,所以如果有人有任何 advice/tips/examples 这样的想法,我将不胜感激任何帮助!
祝一切顺利!
您的系统必然由几个部分组成:
数据库存储 - 包含系统的所有必要信息、员工日程表、时钟条目、用户信息等。听起来您已经拥有了大部分内容,但可能需要针对您的情况进行一些调整目的。
员工分配/管理界面 - 允许管理员或具有适当访问权限的人员为员工分配时间表、向系统添加新员工等的系统。
Timeclock 前端 - 工作人员将使用它登录以查看他们的日程安排,并为 in/out.
计时
(可能)自动监控系统 - 如果您希望系统自动监控活动员工,并在他们的日程安排结束时打卡他们,您将需要一个重复性任务,一个脚本 运行s 每 X 分钟,并为需要的员工打卡。
这不是一个快速简单的项目,但也不是很复杂。您需要避免的主要陷阱是自己编写整个代码的诱惑。乍一看这似乎是个好主意,您只需要几个硬编码页面,对吧?不过,请相信我,这个过程总是会在之后以令人头疼的事情告终。找到一个可以作为您的应用程序基础的框架。需要学习的东西有点多,但您将能够更多地专注于构建您的应用程序,而不是重新发明轮子。
对于PHP,我强烈推荐Symfony. It uses Doctrine for it's ORM, which will make it much easier to handle data interactions, and Twig模板化,这比直接混合PHP/HTML要好得多。 Symfony 有不错的文档和大量教程。 (以及一个活跃的 Stack Overflow 标签。)
无论您做出什么选择,最好的办法是选择一个框架作为您的应用程序的基础,这将使所有众多的小设计决策变得更加容易。 (并且对于任何广泛使用的框架来说都不容易出错。)
您的个人问题有点过于模糊,无法在没有围绕它们的系统的情况下直接回答。不过,我会尝试为他们提供一些一般性建议。
I am starting work on an advanced admin backend panel for my staff, an idea I currently have is to use a MySQLi database to create the staff rota, to be displayed in a simple calendar like table on the aPanel.
您可能想看看 Full Calendar,一个不错的可自定义 JS 日历。
Now, the advanced part is the staff member will be able to click "Clock In" or "Clock Out" during the times/days they are issued on the rota.
当员工登录到应用程序时,应用程序将加载该员工的日程安排。如果他们有当前(或即将到来的)任务,请显示打卡表。 Clock In 表单在提交时会将员工状态更改为 Clocked In,并将时间戳插入与员工关联的 Timeclock 日志中。如果员工当前已打卡上班,而是显示打卡下班表格(可能带有轮班说明),这与做的事情大致相同,只是将状态切换为下班打卡。
The system will NOT let the staff member Clock In, unless they are on the rota for that time of day.
提交打卡表后,检查这类事情相当容易。如果他们不应该打卡,则抛出错误。 (请注意,永远不要假设提交前的验证就足够了。也就是说,不要依赖签到表只会在员工签到时显示的事实。
I will then have access to a management section of the panel allowing me to view the amount of hours the staff member has been clocked in for for if they have missed days, or are late, etc... And pay them for recorded clocked in hours.
在管理部分,您可以通过获取给定员工在给定日期范围内的所有 Timeclock 日志、总工作时数并与预期时间表进行比较来创建报告。
Maybe some added features would be that they are clocked out automatically at the end of their shift or the system would record overtime and such?
有一个脚本,每 X 分钟 运行s(时间越短分辨率越高,但会消耗更多资源)作为服务器上的计划任务,检查每个打卡员工,并打卡下班员工不应再打卡上班。如果您使用的是 Symfony,我建议您为作业创建一个 Custom Console Command。
希望这足以让您入门。如果您 运行 遇到任何更具体的问题,请随时回来。