一种实现自动排班的方法和装置制造方法及图纸

技术编号:15438142 阅读:97 留言:0更新日期:2017-05-26 04:06
本发明专利技术公开了一种实现自动排班的方法和装置,该实现自动排班的方法包括:配置排班算法类、参数类和调用入口类;调用入口类,接收调用指令,并将调用指令传递给排班算法类;参数类,封装排班算法类所用的参数;排班算法类,在接收到调用指令时,从参数类获取参数,根据预定的排班算法以及获取到的参数进行排班计算,得到自动排班结果,并输出。本发明专利技术的技术方案通过配置类,以及类与类之间的继承或调用关系,实现各种排班算法下的排班,大大提高了排班的效率,并且适应各种排班算法变化,拓宽了自动排班的应用范围。

Method and device for realizing automatic scheduling

The invention discloses a method and device for automatic scheduling, including the realization of automatic scheduling method: scheduling algorithm, configuration parameters and call the entrance; call the entrance, receiving a call instruction, and call instructions to the scheduling algorithm; parameter, parameter encapsulation scheduling algorithm used by the scheduling algorithm; class, after receiving the call instruction, get the parameters from the parameter type, according to the predetermined parameters and scheduling algorithm to the scheduling calculation, automatic scheduling results, and output. The technical scheme of the invention through the configuration class, and between class and class inheritance or call, to achieve a variety of scheduling algorithm scheduling, greatly improves the efficiency of scheduling, and scheduling algorithm to adapt to various changes, broaden the scope of application of automatic scheduling.

【技术实现步骤摘要】
一种实现自动排班的方法和装置
本专利技术涉及计算机
,具体涉及一种实现自动排班的方法和装置。
技术介绍
目前一些行业需要实现不间断的生产,这就需要对工作人员安排轮流值班,目前的排班实现方案为:采用人工手动画排班表的方式,或者借助EXCEL电子表格的方式实现。例如,表1是采用现有技术方案的一周五天班、四个班次、五人排班结果示意表;表1表1中选择了五个人进行排班,分别是A、B、C、D、E;具体的排班过程为:周一:当前人员排列顺序为A、B、C、D、E,取出四个班次,然后将A放到班次一上,B放到班次二上,C放到班次三上,D放到班次四上;周二:将人员A放到E后面,形成的排列顺序是B、C、D、E、A;取出四个班次,然后将B放到班次一上,C放到班次二上,D放到班次三上,E放到班次四上;周三:将人员B放到A后面,形成的排列顺序是C、D、E、A、B,取出四个班次,然后将C放到班次一上,D放到班次二上,E放到班次三上,A放到班次四上;周四:将人员C放到B后面,形成的排列顺序是D、E、A、B、C,取出四个班次,然后将D放到班次一上,E放到班次二上,A放到班次三上,B放到班次四上;周五:将人员D放到C后面,形成的排列顺序是E、A、B、C、D,取出四个班次,然后将E放到班次一上,A放到班次二上,B放到班次三上,C放到班次四上;以上是一周五天,一天四个班次,五人值班的排班过程,这样就可以在一周五天内每个人值四天班:A:周一(班次一)、周三(班次四)、周四(班次三)、周五(班次二)B:周一(班次二)、周二(班次一)、周四(班次四)、周五(班次三)C:周一(班次三)、周二(班次二)、周三(班次一)、周五(班次四)D:周一(班次四)、周二(班次三)、周三(班次二)、周四(班次一)E:周二(班次四)、周三(班次三)、周四(班次二)、周五(班次一)这种排班方案虽然能够保证排班的公平性,但是采用人工手动画排班表的方法会随着人员的增加复杂度、出错概率大大增加;此外,EXCEL表格排班的方法虽然能一定程度上提高效率,但是对用户的专业能力要求比较高,也不能适应排班算法的变化。
技术实现思路
本专利技术提供了一种实现自动排班的方法和装置,以解决现有的人工排班方案存在的效率低、复杂度高,不适应排班算法变化的问题。根据本专利技术的一个方面,提供了一种实现自动排班的方法,该方法包括:配置排班算法类、参数类和调用入口类;所述调用入口类,接收调用指令,并将所述调用指令传递给所述排班算法类;所述参数类,封装所述排班算法类所用的参数;所述排班算法类,在接收到所述调用指令时,从所述参数类获取参数,根据预定的排班算法以及获取到的所述参数进行排班计算,得到自动排班结果,并输出。可选地,该方法还包括:配置排班接口和排班抽象类;配置所述排班接口具有实现自动排班的抽象方法;配置所述排班抽象类具有获取排班日期的方法、判断当前排班日期是否为周末的方法以及将字符串类型转换为日期类型的方法;所述排班算法类实现所述排班接口,并继承所述排班抽象类。可选地,所述参数类包括:请求参数类、班次信息类和人员信息类;所述利用排班算法类,在接收到所述调用指令时,从所述参数类获取参数包括:利用所述排班算法类在接收到所述调用指令时,从所述请求参数类获取参数;利用所述请求参数类,在接收所述排班算法类发送的参数获取请求时,调用所述班次信息类和所述人员信息类,分别从所述班次信息类和所述人员信息类中获取班次信息和人员信息。可选地,所述请求参数类包括如下信息:预排班的起始日期、预排班的终止日期、不排班的节假日集合、预排班一天的班次列表以及预排班人员列表;所述班次信息类包括如下信息:班次主键、班次名称、班次起始时间、班次结束时间;所述人员信息类包括如下信息:人员帐号、人员名称、是否休假。可选地,所述方法还包括:配置排班结果类;利用所述排班算法类,将计算得到的自动排班结果输出给所述排班结果类;配置所述排班结果类,根据所述自动排班结果封装如下信息:排班人员、排班人员所在班次以及排班人员值班日期。可选地,所述调用入口类为抽象类,并具有反射调用静态方法;所述调用入口类的反射调用静态方法,接收到调用指令后创建所述排班算法类的实例化对象,反射调用所述排班算法类。根据本专利技术的另一个方面,提供了一种实现自动排班的装置,该装置包括:排班算法单元、参数单元和调用入口单元;所述调用入口单元,用于接收调用指令,并将所述调用指令传递给所述排班算法单元;所述参数单元,用于封装所述排班算法单元所用的参数;所述排班算法单元,用于在接收到所述调用指令时,从所述参数单元获取参数,利用预定的排班算法和所述参数进行排班计算,得到自动排班结果,并输出。可选地,所述装置还包括:排班接口和排班抽象类;所述排班接口具有:实现自动排班的抽象方法;所述排班抽象类具有:获取排班日期的方法、判断当前排班日期是否为周末的方法以及将字符串类型转换为日期类型的方法;所述排班算法单元包括:排班算法类;所述排班算法类实现所述排班接口,并继承所述排班抽象类。可选地,所述参数单元包括:请求参数单元、班次信息单元和人员信息单元;所述排班算法类,在接收到所述调用指令时,从所述请求参数单元获取参数;所述请求参数单元,在接收所述排班算法类发送的参数获取请求时,调用所述班次信息单元和所述人员信息单元,分别从所述班次信息单元和所述人员信息单元中获取班次信息和人员信息。可选地,所述请求参数单元包括如下信息:预排班的起始日期、预排班的终止日期、不排班的节假日集合、预排班一天的班次列表以及预排班人员列表;所述班次信息单元包括如下信息:班次主键、班次名称、班次起始时间、班次结束时间;所述人员信息单元包括如下信息:人员帐号、人员名称、是否休假;所述装置还包括:排班结果单元;所述排班算法类将计算得到的自动排班结果输出给所述排班结果单元;所述排班结果单元根据所述自动排班结果,封装如下信息:排班人员、排班人员所在班次以及排班人员值班日期。本专利技术的有益效果是:本专利技术实施例的技术方案设置参数类、排班算法类和调用入口类,由调用入口类接收调用方输入的调用指令,并将调用指令发送给排班算法类,排班算法类接收调用指令,根据预定的算法并从参数类获取到的参数自动计算排班结果,将排班结果输出给调用方。如此,通过配置排班算法类、参数类和调用入口类,并将排班所用参数封装到参数类中,配置类与类之间的调用关系,实现了各种排班算法下的排班,大大提高了排班的效率,并且由于排班结果根据预定的算法计算得到,实际应用中,如果想得到不同的排班结果,只要修改排班算法即可,非常方便,因而,本专利技术实施例的技术方案也能适应排班算法的变化。附图说明图1是本专利技术一个实施例的一种实现自动排班的方法的流程示意图;图2是本专利技术又一个实施例的一种实现自动排班的方法的UML类图的示意图;图3是本专利技术一个实施例的一种实现自动排班的装置的框图。具体实施方式本专利技术的核心思想是:针对现有技术中的人工排班方案存在的问题,本专利技术实施例通过配置参数类、排班算法类和调用入口类,并配置这些类之间的调用关系,通过类之间的继承或调用实现了自动排班的效果,克服了人工排班的缺陷。在本专利技术的一个实施例中,提供了一种实现自动排班的方法,图1是本专利技术一个实施例的一种实现自动排班的方本文档来自技高网
...
一种实现自动排班的方法和装置

【技术保护点】
一种实现自动排班的方法,其特征在于,该方法包括:配置排班算法类、参数类和调用入口类;所述调用入口类,接收调用指令,并将所述调用指令传递给所述排班算法类;所述参数类,封装所述排班算法类所用的参数;所述排班算法类,在接收到所述调用指令时,从所述参数类获取参数,根据预定的排班算法以及获取到的所述参数进行排班计算,得到自动排班结果,并输出。

【技术特征摘要】
1.一种实现自动排班的方法,其特征在于,该方法包括:配置排班算法类、参数类和调用入口类;所述调用入口类,接收调用指令,并将所述调用指令传递给所述排班算法类;所述参数类,封装所述排班算法类所用的参数;所述排班算法类,在接收到所述调用指令时,从所述参数类获取参数,根据预定的排班算法以及获取到的所述参数进行排班计算,得到自动排班结果,并输出。2.如权利要求1所述的实现自动排班的方法,其特征在于,该方法还包括:配置排班接口和排班抽象类;配置所述排班接口具有实现自动排班的抽象方法;配置所述排班抽象类具有获取排班日期的方法、判断当前排班日期是否为周末的方法以及将字符串类型转换为日期类型的方法;所述排班算法类实现所述排班接口,并继承所述排班抽象类。3.如权利要求1或2所述的实现自动排班的方法,其特征在于,所述参数类包括:请求参数类、班次信息类和人员信息类;所述利用排班算法类,在接收到所述调用指令时,从所述参数类获取参数包括:利用所述排班算法类在接收到所述调用指令时,从所述请求参数类获取参数;利用所述请求参数类,在接收所述排班算法类发送的参数获取请求时,调用所述班次信息类和所述人员信息类,分别从所述班次信息类和所述人员信息类中获取班次信息和人员信息。4.如权利要求3所述的实现自动排班的方法,其特征在于,所述请求参数类包括如下信息:预排班的起始日期、预排班的终止日期、不排班的节假日集合、预排班一天的班次列表以及预排班人员列表;所述班次信息类包括如下信息:班次主键、班次名称、班次起始时间、班次结束时间;所述人员信息类包括如下信息:人员帐号、人员名称、是否休假。5.如权利要求1所述的实现自动排班的方法,其特征在于,所述方法还包括:配置排班结果类;利用所述排班算法类,将计算得到的自动排班结果输出给所述排班结果类;配置所述排班结果类,根据所述自动排班结果封装如下信息:排班人员、排班人员所在班次以及排班人员值班日期。6.如权利要求1所述的实现自动排班的方法,其特征在于,所述调用入口类为...

【专利技术属性】
技术研发人员:刘伟王庆磊
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1