我知道这个地方是用来上传可能需要帮助的代码,不过我希望你不会介意帮忙,因为我不知道从哪里真正开始这段代码。您是专家,我是一个新手,需要在未来的编码帮助。如果有一个章节针对这类事情,我会很高兴重新发布。
情况如下:
我正在为我的员工开发一个高级管理后端面板,我目前的想法是使用MySQLi数据库来创建staff rota,并将其显示在一个简单的日历中,比如aPanel上的表中。
现在,高级部分是工作人员可以在轮值上发布的时间/天内单击"Clock In"或"Clock Out"。
该系统将不让工作人员Clock In,除非他们在轮值在一天中的那个时间。然后,我可以进入该小组的一个管理部门,以便我可以查看该工作人员因缺勤或迟到等而被安排上班的时间。给他们几个小时内记录下来的时间。
也许一些额外的功能是,他们会在下班后自动超时,或者系统会记录加班等等?
我不知道我将如何去创建这样的系统,如果真的有可能的话,如果有人对这个想法有任何建议/提示/例子,我会感激任何帮助!
万事如意!
发布于 2015-10-02 17:36:51
您的系统必须由以下几个部分组成:
这不是一个快速和简单的项目,但也不是很复杂。您需要避免的主要缺陷是自己编写代码的诱惑。一开始可能是个好主意,你只需要几个硬编码的页面,对吗?不过,相信我,这个过程最终总是会让人头疼。找到一个可作为应用程序基础的框架。这是一个更多的学习,但您将能够更多地关注于构建您的应用程序,而不是重新发明车轮。
对于PHP,我强烈推荐塞福尼。它使用教条作为它的ORM,这将使处理数据交互变得更加容易,以及细枝模板,这比直接混合PHP/HTML要好得多。Symfony有很好的文档和一些教程。(以及一个活动堆栈溢出标记。)
不管您做了什么选择,最好的做法就是选择一个框架作为应用程序的基础,这将使所有的小设计决策变得更加容易。(对于任何被广泛使用的框架来说,错误发生的几率也较低。)
你的个人问题有点模糊,不能直接回答,没有系统在他们身边。不过,我会尽量给他们一些一般性的建议。
我正在为我的员工开发一个高级管理后端面板,我目前的想法是使用MySQLi数据库来创建staff rota,并将其显示在一个简单的日历中,比如aPanel上的表中。
您可能想看看全历,一个很好的可定制的JS日历。
现在,提前的部分是工作人员可以在轮值上发布的时间/天数中单击"Clock In“或"Clock Out”。
当员工登录到应用程序时,应用程序将加载该员工的日程安排。如果它们有当前(或即将到来的)任务,则以形式显示时钟。表单中的时钟在提交时将将员工状态更改为时钟,并将时间戳插入到与员工关联的时隙日志中。如果员工当前处于时钟状态,则显示一个时钟退出表单(可能带有换档笔记),这样做也是一样的,只是将状态切换为Clocked。
该系统将不让工作人员进入,除非他们在一天中的那个时间上轮值。
在提交表中的时钟后,很容易检查这类事情。如果他们还没来得及打卡,那就犯个错误。(请注意,千万不要假设提交前的验证是足够的.)也就是说,不要依赖于这样一个事实:只有当员工能够按时上班时,才会出现计时表。
然后,我可以进入该小组的一个管理部门,以便我可以查看该工作人员因缺勤或迟到等而被安排上班的时间。给他们几个小时内记录下来的时间。
在管理部分,您可以通过获取给定日期范围内的给定员工的所有时间锁定日志、工作总时数以及与预期的计划进行比较来创建报告。
也许一些额外的功能是,他们会在下班后自动超时,或者系统会记录加班等等?
让脚本每X分钟运行一次(较低的时间将具有更高的分辨率,但消耗更多的资源)作为服务器上的计划任务,检查员工中的每一个时钟,并锁定那些不应该再被锁定的脚本。如果您正在使用Symfony,我建议为该工作创建一个自定义控制台命令。
希望这足以让你开始工作。请随时带着您可能遇到的更多具体问题回来。
https://stackoverflow.com/questions/32912108
复制相似问题