大家好,我是csdn的博主:lqj_本人
担任本次比赛的队长,这是我的个人博客主页:
lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼Develop
本篇博客的演示项目演示视频:【A33】智能排班系统-中国服务外包大赛-项目演示视频_哔哩哔哩_bilibili
团队其他成员及指导老师:
指导老师:ange老师的博客_CSDN博客-Mob移动端实践笔记,【SpringBoot|Web】,Web前端实践笔记领域博主ange老师擅长Mob移动端实践笔记,【SpringBoot|Web】,Web前端实践笔记,等方面的知识,ange老师关注python,html5,scss,微信小程序,elementui,前端,es6,vue.js,less,javascript,sql,uni-app,spring boot,node.js,java,postman,echarts,php,小程序,css3领域.https://blog.csdn.net/m0_60318025其他成员:
Army_7的博客_CSDN博客-领域博主https://blog.csdn.net/Army_7?type=blog宇宙拿铁贩卖机的博客_CSDN博客-领域博主https://blog.csdn.net/weixin_67526354?type=blog我要问问题的博客_CSDN博客-领域博主我要问问题关注推荐算法领域.https://blog.csdn.net/weixin_62600279?type=ask如需商务合作、咨询请加QQ:1650696279
目录
项目演示视频
项目概述
前言
创意描述
功能简介
特色综述
应用对象
应用环境
系统架构
系统的总体组成
系统总体的架构设计
前端
后端
人脸识别
员工与管理员功能模块设计
用户登录模块设计
用户角色与权限模块设计
系统开发环境
算法逻辑思路模型(遗传算法):
部分代码实现:
版权所有:"天天开心海贼团"队成员及指导老师。
转发者,请标注原作者!!!
项目演示视频
【A33】智能排班系统-中国服务外包大赛-项目演示视频
项目概述
前言
随着美国openAI公司的CahtGPT诞生,人工智能开启了再度觉醒状态。在这样的一个时代的大背景下,演变出了“智能+万物”的潜在主题。全球智能化,已经成为了一个必然的趋势。目前,对于国内很多机构都采取人工排班的方式,这样不仅浪费人力,增加成本,而且很容易出现各种错误。本智能排班系统能够根据员工偏好设置、排班规则、自定义规则等,综合考虑到店客流量、特殊需求等因素,采用遗传算法来智能化实现员工排班最优需求。同时,还可以根据每个员工的历史数据和绩效表现进行排班分析实现智能化预测,从而优化排班效率并提高员工的生产力和满意度。
创意描述
该智能排班系统能够通过“一键智能排班”功能生成本店员工当月排班情况,将合适数量的员工在合适的时间放在合适的位置上,实现人员与业务的最优匹配,极大减少了人工出错的概率,实现了精准排班,提高了工作效率。
功能简介
双角色(管理者、员工)切换系统:
能够实现统一入口对管理者与普通员工双角色的不同登录,实现管理者与被管理者的关联模式,让此系统的模式更符合公司实际管理模式。
管理者模式:
- 管理者模式(智能排班):
此系统在管理者的角色模式中,设置了自动“智能排班”功能。此功能设定周期为:1次/周。每一周会通过客流量的预测、职位匹配度、员工时间偏好等,自动通过遗传算法+动态规划排出本周的员工工作表。
- 管理者模式(手动排班):
此功能实现了公司管理者可以手动的微调员工的值班情况,可按照每周的的不同班次,来调试员工的值班位次。弥补了一次性智能排班的不灵活性,可根据管理者自行手动调班。
- 管理者模式(规则管理):
此功能主要实现与员工模式的互联,管理者可发布“通知”及临时“自定义规则”,如:周二的开店前的保洁有本门店的副经理来执行等。如:五一假期放假三天,可带薪加班等及近段时间的员工奖惩情况。
- 管理者模式(员工管理):
此功能主要实现与员工模式的“人脸识别签到”互联。此功能管理者模式作为接收方,而员工模式作为发送方。
- 管理者模式(门店管理):
此模块主要实现门店的信息及“本周数据汇总”与“下周数据预测”的功能。
员工模式:
- 员工模式(首页):
此页面内置了“通知”模块、“工作时间”模块、“日历表”模块。
- 员工模式(我的偏好):
此页面主要实现每一个员工的时间偏好的设置,并与“管理者模式”联动, 通过员工上传的时间偏好。
- 员工模式(排班查询):
员工可选择日期查看自己的排班情况。
- 员工模式(签到系统):
此系统页面,实现了员工的人脸识别签到功能。此页面与“管理者模式”的 “员工管理”页面联动。
特色综述
- 一键智能排班
- 手动调整排班
- 人脸识别签到
- 页面的选定表格打印
- 数据可视化
应用对象
主要针对具有智能排班需求的大中型公司及企业。
应用环境
能够适应绝大部分企业日常排班业务及考勤业务。
系统架构
系统的总体组成
系统的整体组成主要分为硬件部分和软件部分两部分。硬件的主要构成由云服务器、显示屏、摄像头。软件部分由于采用前后端分离的开发方式主要分为前端部分、后端部分和人脸识别部分。前端主要使用vue.js前端框架来完成,后端使用阿里云端来进行开发,数据库使用Dcloud数据库。目前智能排班系统组成结果结构如图:
通过系统组成可以看出管理系统成本相对花费较少,但软件部分融入了当前主流的技术提升系统性能。
系统总体的架构设计
从系统组成的软件部分来看,其整体主要以uni-app生态框架开发的前后端程序为中心,然后根据需求不断延申功能。
前端
前端部分:主要是通过使用 HBuilder X 编辑器以 Vuejs和 ElementUI框架为基础进行 Web 前端程序的编写。主要的界面包括A.管理员:(智能排班页面、手动排班页面、规则管理页面、员工管理页面、门店管理页面)B.员工:(首页、我的偏好、排班查询、签到系统),通过felx布局设计前端界面。
后端
后端部分:主要通过 node.js开源的云开发框架编写后台程序,通过框架的云函数映射可以方便的操作数据库避免接触复杂的JQL语法。另外,通过结合轻量级的Dcloud数据库及阿里云服务器的服务空间空间,可以实现轻量级的前后端分离开发,通过部署上传多个云函数架构的方法,来代替传统的sql后端语句的繁琐性。之后,为了系统可上线,通过uni-app的原生h5打包功能,结合阿里云的服务空间提供的前端托管的方式,实现把本地的系统部署到默认域名,从而完成整个项目的上传部署!
人脸识别
人脸识别签到部分:通过调用百度智能云的人脸识别api,来通过python来获取到,当前的api接口的key值,获取后,在uni-cloud的人脸签到的主函数中调用,通过后台读取到的数据库中的员工人脸信息做对比,85分以上,则为确定本人人脸,则签到成功,否则签到失败!
通过以上三部分的有机结合使整个系统正常稳定的运转起来,构成了性能卓越的智能排班系统。
员工与管理员功能模块设计
根据前面系统需求分析可以知道目前系统的用户主要可以分为管理员和普通用户两种角色。角色的划分主要的考虑也是为了防止系统信息随意的被修改。管理员可以对系统进行设置,也可以对信息进行增删改查等操作,而普通用户则只能进行简单的查看操作,如需对信息修改需要向管理员进行申请。
用户登录模块设计
用户登录模块的设计主要是利用vue的app.vue实现用户登录后全局变量的传值。如果没有登录的限制,那么用户可以直接通过相应的路由直接获取资源,是不利于系统的安全性的,通过登录模块可以给系统一个保障。
用户登录模块的设计细节首先是通过在前端采集到相应的信息,然后通过传输协议传输到后端,之后会与数据库中的用户信息进行对比,如果存在且相同会跳转到系统的首页,如果不同便无法登录网页。
系统用户登录流程图如下图所示:
用户角色与权限模块设计
根据前面系统需求分析可以知道目前系统的用户主要可以分为管理员和员工两种角色。角色的划分主要的考虑也是为了防止系统信息随意的被修改。管理员可以对系统进行设置,也可以对信息进行增删改查等操作,而员工则只能进行简单的查看操作。
用户角色的选择主要是在用户登录的时候进行选择,然后直接在数据库相应的标志位进行变更。根据用户角色的不同,其在系统界面的显示也是不一样。在用户登录时便可以对用户的身份进行选择。
用户角色选择与权限流程图如下图:
员工首页模块设计:
员工偏好选择模块设计:
员工排班查询模块设计:
排班查询页面头部设有滚动栏,员工可查看某月某周的一周排班情况,此排班查询页面与首页日历表联动,于首页点击某日即可跳转该一周的排班表下。员工排班查询模块让员工一目了然的了解自己的排班情况,更加方便实用。
员工签到系统模块设计:
员工签到系统页面,实现了员工的人脸识别签到功能,快速、准确完成每个员工的信息的验证它的整个工作流程都会自动化的进行,并不需要工作人员的参与,做到了减少成本的作用。
此页面与“管理者模式”的“员工管理”页面联动。员工签到系统打破了传统的开发顺序流程,由逆向传播(员工端->管理端),员工签到成功后,它会自动完成参与者的签到信息录入,并实时的传递到数据库,由管理员向数据库索取签到成功的数据信息,提高了管理者的效率。
管理员登录:
智能排班功能:
手动排班功能设计:
按手动排班链接跳转到手动排班的页面。
排班表班次分为上午/下午,根据智能排班的表来进行整理,对于一些特殊情况可以手动排班。对人员进行选择:添加人员或者删除人员,插入数据库来下来进行人员的选择,让管理者方便选择。
规则管理功能设计:
员工管理功能设计介绍:
按员工管理链接跳转到员工管理。
可以显示员工的姓名和签到时间,检查是否有迟到的人员,可以打印当前页的签到表。
门店管理功能设计介绍:
系统开发环境
在系统开发过程中主要应用到以上工具。选择 windows 系统,主要是其相对其它系统,运行流畅、系统安全稳定、不会产生太多系统垃圾、无弹窗等优点,十分符合系统开发的需求。
选择 HBuilder X作为开发的集成环境是因为其可以免费使用,同时性能卓越操作方便智能。Vue.js框架更是在 javascript原生的基础上方便快速的以Mvvm的开发方式开发系统,缩短项目周期。
使用Dcloud数据库是因为他为非关系性数据库,以json的形式分条存储,对于此系统的开发钢更加方便。
这些工具的使用都是随着系统开发过程中的需求不断增加而增加。在选择开发工具时,不仅要保证工具的高效,也要保证其与系统的兼容性和以后的可扩展性。
算法逻辑思路模型(遗传算法):
1. 定义问题及解的表示方式。如将每个染色体编码为一个排班方案矩阵,包含每个员工在一周内的工作时间段及其偏好评分。
2. 随机生成一定数量的个体,作为初始种群。这些个体对应各种可能的排班方案。
3. 设计合适的评价函数,将染色体转化为合适的分数。其中分数由个体中的工作时段与员工偏好评分的乘积之和计算而来。
4. 设计适当的选择策略,根据染色体的适应度值,按照某种规则(如轮盘赌、竞标赛等)选取优秀的个体。
5. 设计合适的交叉和变异算子,对选择出的优质个体进行组合、交叉和变异,生成新的个体。
6. 通过交叉、变异或复制等操作多样化种群,产生较好的继承保证解的多样性。
7. 重复进行第3-6步,不断进化优化染色体,最终得到一个最优解或高质量的解。
部分代码实现:
版权所有:"天天开心海贼团"队成员及指导老师。
转发者,请标注原作者!!!
如需商务合作、咨询请加QQ:1650696279