智能排班系统

news2024/12/25 9:52:54

 大家好,我是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. 管理者模式(智能排班):

此系统在管理者的角色模式中,设置了自动“智能排班”功能。此功能设定周期为:1次/周。每一周会通过客流量的预测、职位匹配度、员工时间偏好等,自动通过遗传算法+动态规划排出本周的员工工作表。

  1. 管理者模式(手动排班):

此功能实现了公司管理者可以手动的微调员工的值班情况,可按照每周的的不同班次,来调试员工的值班位次。弥补了一次性智能排班的不灵活性,可根据管理者自行手动调班。

  1. 管理者模式(规则管理):

此功能主要实现与员工模式的互联,管理者可发布“通知”及临时“自定义规则”,如:周二的开店前的保洁有本门店的副经理来执行等。如:五一假期放假三天,可带薪加班等及近段时间的员工奖惩情况。

  1. 管理者模式(员工管理):

此功能主要实现与员工模式的“人脸识别签到”互联。此功能管理者模式作为接收方,而员工模式作为发送方。

  1. 管理者模式(门店管理):

此模块主要实现门店的信息及“本周数据汇总”与“下周数据预测”的功能。

员工模式:

  1. 员工模式(首页):

此页面内置了“通知”模块、“工作时间”模块、“日历表”模块。

  1. 员工模式(我的偏好):

此页面主要实现每一个员工的时间偏好的设置,并与“管理者模式”联动, 通过员工上传的时间偏好。

  1. 员工模式(排班查询):

员工可选择日期查看自己的排班情况。

  1. 员工模式(签到系统):

此系统页面,实现了员工的人脸识别签到功能。此页面与“管理者模式”的 “员工管理”页面联动。

特色综述

  1. 一键智能排班
  2. 手动调整排班
  3. 人脸识别签到
  4. 页面的选定表格打印
  5. 数据可视化

应用对象

主要针对具有智能排班需求的大中型公司及企业。

应用环境

能够适应绝大部分企业日常排班业务及考勤业务。

系统架构

系统的总体组成

系统的整体组成主要分为硬件部分和软件部分两部分。硬件的主要构成由云服务器、显示屏、摄像头。软件部分由于采用前后端分离的开发方式主要分为前端部分、后端部分和人脸识别部分。前端主要使用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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/466742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安全技术交底大全

交底内容得过大,过宽,不要造成土建结构缺陷。02)管路敷设完后应立即进行保护其他工种在操作时应注意不要将管子砸扁和踩坏。(3)在碎板,加气板上别洞时,注意不要剔断钢筋,剔洞时应先用钻打孔,再护孔&#xf…

visual stdio c++调用python混合编程

visual stdio2019 c调用python混合编程 1.Python环境的搭建 关于环境创建可以参考https://blog.csdn.net/qq_36559788/article/details/123174309 这里python我用的是anaconda里的python38,并且没有debug库,所以我只用了release库 在vs中设置项目属性…

谈谈JVM的垃圾回收机制

目录 1. 死亡对象的判断算法 1.1 引用计数算法 1.2 可达性分析算法 2. 垃圾回收算法 2.1 标记——清除算法 2.2 复制算法 2.3 标记——整理算法 2.4 分代算法 1. 死亡对象的判断算法 对于支持垃圾回收机制的编程语言来说,常见的死亡对象的判断方法有引用计数…

成功上岸北大!总分418分,数学150分,经验贴+方法论

Datawhale干货 作者:葛云阳,杭州电子科技大学,Datawhale成员 前 言 大家好,我是北海。2023年以总分418分的成绩上岸北京大学信息工程学院计算机应用技术专业,其中初试第三,复试第五,总成绩第三…

《编程思维与实践》1038.排版

《编程思维与实践》1038.排版 题目 思路 分两个步骤进行解决: 1.在给定长度下找到每一行可以容纳的最多单词数(单词长度<M/2保证每行至少有两个单词); 2.输出时补充额外的空格. 其中,第一个步骤可以通过分割字符串将每个字符串存起来,再找到第一个超过给定长度M的单…

Java项目上线之云服务器环境篇(二)——Tomcat的安装与配置

Java项目上线之云服务器环境篇(二)——Tomcat的安装与配置 Tomcat的选择: 云服务器tomcat的选择最好与本机项目运行的tomcat版本号一致,避免一些不必要的问题。 配置步骤: 1、首先进入云服务器创建好放置tomcat的文件…

UE5实现Runtime环境下绘制线功能

文章目录 1.实现目标2.实现过程2.1 C++实现2.2 蓝图调用3.参考资料1.实现目标 UE5在Runtime环境下基于PDI绘制线,GIF动图如下: 2.实现过程 在UE5 Runtime环境下常用的绘制线方法有使用以下几种方式。一是基于SplineMeshComponent,即使用已有的点位去初始化样条线,然后在挂…

Ae:合成查看器 - 视图选项

合成查看器、素材查看器、图层查看器等面板底部的视图选项大同小异。 放大率弹出式菜单 Magnification ratio popup 用于显示和控制当前的放大率。 默认为适应当前面板大小。 更改放大率时,只是改变了面板中预览的外观,而不是合成的实际分辨率和像素。 适…

数据挖掘实验-week8-关联规则挖掘(Association Rule Mining)

Contents 0. 引言0.1 关联规则挖掘0.2 Apriori算法 实验Step 1:Familiarize yourself with the arules package in R.1.1 Load the package.1.2 To load data into R enter.1.3 To get information about the total number of transactions in a file sample1.csv e…

【requests模块上】——02爬虫基础——如桃花来

目录索引 requests请求:1. 基于get请求:*基础写法:**带参数的get请求:* 2. 基于post请求: 获取数据:1. 获取json数据:2. 获取二进制数据: 引入: requests是python的第…

不得不说的结构型模式-享元模式

目录 享元模式(Flyweight Pattern): 下面是一个简单的C代码案例 下面是面试中可能遇到的问题: 享元模式(Flyweight Pattern): 是一种结构型模式,它通过共享对象来减少系统中对象…

第四范式发布「式说」大模型,以生成式AI重构企业软件(AIGS)

4月26日,第四范式首次向公众展示其大模型产品「式说3.0」,并首次提出AIGS战略(AI-Generated Software):以生成式AI重构企业软件。式说将定位为基于多模态大模型的新型开发平台,提升企业软件的体验和开发效率…

湿法冶金铼提取工艺

湿法冶金 通过溶液分离金属的技术 湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流…

AI智能课程:第五讲chatGPT搞定APP小程序

内容总结 作业 目录 APP&小程序测试初识 ### APP&小程序测试的区别? 设计APP&小程序功能测试用例 设计APP&小程序功能测试用例–继续优化 设计APP&小程序测试用例-中断场景 设计小程序测试用例–补充小程序功能专项 APP&小程序兼容性测试…

Raft 共识算法4-选举限制

Raft 共识算法4-选举限制 Raft算法中译版地址:https://object.redisant.com/doc/raft%E4%B8%AD%E8%AF%91%E7%89%88-2023%E5%B9%B44%E6%9C%8823%E6%97%A5.pdf 英原论文地址:https://raft.github.io/raft.pdf Etcd Assistant 是一款 etcd 可视化管理软件&a…

大数据Doris(四):FE部署及启动

文章目录 FE部署及启动 一、创建doris 部署目录 二、上传安装包并解压

Monaco Editor编辑器教程(二八):Monaco 与 VS Code 两个项目的联系与异同点

前言 很多人知道前端代码编辑Monaco Editor 与VS Code 有关系,但却不清楚其中的细节,本篇文章就带大家了解一下两者的关系和异同点。 表面对比 首先,这两个项目都是来自微软,其中VS Code 项目Github 144K star,是基于CS架构,客户端-服务端架构。主要的技术栈是 electo…

你不知道的自动装箱和拆箱

“改天是明天,下次是每一次,以后是以后的每一天” 自动装箱和拆箱 装箱就是自动将基本数据类型转换为包装器类型(int–>Integer);调用方法:Integer的valueOf(int) 方法 拆箱就是自动将包装器类型转换为基本数据类型(Integer–>int);调用方法:I…

骨传导蓝牙耳机哪款好,分享几款性能比较高的骨传导耳机

骨传导耳机是一种新型的耳机,它将声音转化为不同频率的机械振动,通过人的颅骨、骨迷路、内耳淋巴液、螺旋器、听觉中枢来传递声波。不需要通过耳道,是一种耳挂式的无线耳机。 骨传导耳机与普通耳机相比,最大的优势是不需要入耳&am…

VasDolly实现多渠道打包

目录 一、添加对VasDolly Plugin的依赖 二、 引用VasDolly Plugin 三、添加对VasDolly helper类库的依赖 四、根目录新建文件添加渠道列表 五、主App工程的build.gradle中配置channel 六、根据已有基础包重新生成多渠道包 官方地址: GitHub - Tencent/VasDol…