CN102306152A - 日历生成装置和日历生成方法 - Google Patents
日历生成装置和日历生成方法 Download PDFInfo
- Publication number
- CN102306152A CN102306152A CN201110178487A CN201110178487A CN102306152A CN 102306152 A CN102306152 A CN 102306152A CN 201110178487 A CN201110178487 A CN 201110178487A CN 201110178487 A CN201110178487 A CN 201110178487A CN 102306152 A CN102306152 A CN 102306152A
- Authority
- CN
- China
- Prior art keywords
- calendar
- rule
- day
- working day
- nonworkdays
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种日历生成装置和一种日历生成方法。其中,日历生成装置包括:规则设置模块,设置用于生成日历的规则;指令生成模块,根据规则,生成用于生成日历的指令;日历生成模块,执行指令,以生成日历。通过本发明,可以根据业务需要,制定相应的日历规则,即可自动生成日历。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种日历生成装置和一种日历生成方法。
背景技术
目前,日历的形式多种多样,相应地,日历的制作规则越来越多样和复杂。
例如,工厂日历也称作工作日历,是用于企业资源规划(ERP)系统的特殊形式的日历,它是由普通日历除去每周休息日,节假日,停工和其他不生产的日期形成的,是MRP(Material Requirement Planning物料需求计划)展开依据之一。
工厂日历在ERP系统中通常采用系统运行前按照实际情况预先设置的方式生成,在这种情况下一方面ERP系统需要针对不同行业预先设置多套工厂日历方案,这种情况下一旦客户方的工厂日历不能满足实际系统运行时需要时,ERP支持人员需要按照客户要求进行工厂日历的调整;另一方面对一些跨行业的企业也不便于按照行业特点灵活自行定制工厂日历。
因此,需要一种新的制定日历的方法,能够灵活地适应不同类型日历的需要,以及不同企业对日历规则的需要,灵活地生成日历。
发明内容
本发明所要解决的技术问题在于,提供一种新的制定日历的装置和方法,用于计算机系统,能够灵活地适应不同类型日历的需要,以及不同企业对日历规则的需要,灵活地生成日历。
有鉴于此,本发明提供一种日历生成装置,用于计算机系统,包括:规则设置模块,设置用于生成日历的规则;指令生成模块,根据规则,生成用于生成日历的指令;日历生成模块,执行指令,以生成日历。通过该技术方案,可以根据业务需要,制定相应的日历规则,即可自动生成日历。
在上述技术方案,优选地,规则设置模块还为规则制定优先级;指令生成模块根据优先级的高低,设置指令的执行顺序;日历生成模块按照执行顺序执行指令,以生成日历。通过该技术方案,当前存在互相冲突的规则时,可以根据规则重要性设置优先级的高低,且优先级较高的规则生成的指令在后执行,可更新部分已生成的日历,保证生成日历的准确性。
在上述技术方案,优选地,还包括:时间设置模块,设置日历的起始时间和结束时间。
在上述技术方案,优选地,规则的类型包括:周类型,将每周的一天或几天设置为工作日或非工作日;月类型,将每月的一天或几天设置为工作日或非工作日;年类型,将每年的一个月或几个月设置为工作日或非工作日;固定日期类型,将预定的一天或几天设置为工作日或非工作日。实际上,具体的规则可以根据业务需要灵活定制,并不限于以上列举的几种。
本发明还提供一种日历生成方法,用于计算机系统,包括:步骤202,设置用于生成日历的规则;步骤204,根据规则,生成用于生成日历的指令;步骤206,执行指令,以生成日历。通过该技术方案,可以根据业务需要,制定相应的日历规则,即可自动生成日历。
在上述技术方案,优选地,在步骤202中,还为规则制定优先级;在步骤204中,还根据优先级的高低,设置指令的执行顺序;在步骤206中,按照执行顺序执行指令,以生成日历。通过该技术方案,当前存在互相冲突的规则时,可以根据规则重要性设置优先级的高低,且优先级较高的规则生成的指令在后执行,可更新部分已生成的日历,保证生成日历的准确性。
在上述技术方案,优选地,在步骤202中,还设置日历的起始时间和结束时间。
在上述技术方案,优选地,规则的类型包括:周类型,将每周的一天或几天设置为工作日或非工作日;月类型,将每月的一天或几天设置为工作日或非工作日;年类型,将每年的一个月或几个月设置为工作日或非工作日;固定日期类型,将预定的一天或几天设置为工作日或非工作日。实际上,具体的规则可以根据业务需要灵活定制,并不限于以上列举的几种。
通过以上技术方案,可以实现一种日历生成装置和一种日历生成方法,能够灵活地适应不同类型日历的需要,以及不同企业对日历规则的需要,灵活地生成日历。
附图说明
图1是根据本发明的一个实施例的日历生成装置的框图;
图2是根据本发明的一个实施例的日历生成方法的流程图;
图3是根据本发明的一个实施例的日历生成方法的工作示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1是根据本发明的一个实施例的日历生成装置的框图。
如图1所示,本发明提供一种日历生成装置100,包括:规则设置模块102,设置用于生成日历的规则;指令生成模块104,根据规则,生成用于生成日历的指令;日历生成模块106,执行指令,以生成日历。通过该技术方案,可以根据业务需要,制定相应的日历规则,即可自动生成日历。
在上述技术方案,规则设置模块102还为规则制定优先级;指令生成模块104根据优先级的高低,设置指令的执行顺序;日历生成模块106按照执行顺序执行指令,以生成日历。通过该技术方案,当前存在互相冲突的规则时,可以根据规则重要性设置优先级的高低,且优先级较高的规则生成的指令在后执行,可更新部分已生成的日历,保证生成日历的准确性。
在上述技术方案,还包括:时间设置模块108,设置日历的起始时间和结束时间。
在上述技术方案,规则的类型包括:周类型,将每周的一天或几天设置为工作日或非工作日;月类型,将每月的一天或几天设置为工作日或非工作日;年类型,将每年的一个月或几个月设置为工作日或非工作日;固定日期类型,将预定的一天或几天设置为工作日或非工作日。实际上,具体的规则可以根据业务需要灵活定制,并不限于以上列举的几种。
图2是根据本发明的一个实施例的日历生成方法的流程图。
如图2所示,本发明还提供一种日历生成方法,包括:步骤202,设置用于生成日历的规则;步骤204,根据规则,生成用于生成日历的指令;步骤206,执行指令,以生成日历。通过该技术方案,可以根据业务需要,制定相应的日历规则,即可自动生成日历。
在上述技术方案,在步骤202中,还为规则制定优先级;在步骤204中,还根据优先级的高低,设置指令的执行顺序;在步骤206中,按照执行顺序执行指令,以生成日历。通过该技术方案,当前存在互相冲突的规则时,可以根据规则重要性设置优先级的高低,且优先级较高的规则生成的指令在后执行,可更新部分已生成的日历,保证生成日历的准确性。
在上述技术方案,在步骤202中,还设置日历的起始时间和结束时间。
在上述技术方案,规则的类型包括:周类型,将每周的一天或几天设置为工作日或非工作日;月类型,将每月的一天或几天设置为工作日或非工作日;年类型,将每年的一个月或几个月设置为工作日或非工作日;固定日期类型,将预定的一天或几天设置为工作日或非工作日。实际上,具体的规则可以根据业务需要灵活定制,并不限于以上列举的几种。
以下结合图3详细解释根据本发明实施例的日历生成方法的流程。
根据本发明实施例的日历生成方法,首先需要制定生成日历的规则,详细如下。
制定规则的核心特征为:
工作日类型:包括年,月,周,固定日期,具体表述如下表:
类型为周的情况:
类型 | 是否工作日 | 周 | 优先级 |
周 | 是/否 | (周一-周天) | 0 |
可以选择周一到周天的其中一个选项为工作日,这样在这一条规则在生成具体工程日历时会针对该选项比如周一的话都设置成工作日。
类型为月的情况:
类型 | 是否工作日 | 日(某日) | 优先级 |
月 | 是/否 | 日历月中的某天 | 0 |
可以选择每个月的固定第几天为工作日,在生成工厂日历的时候会根据该条规则设置每个日历月中的该天为工作日或者相反。
类型为年的情况:
类型 | 是否工作日 | 月(某月) | 优先级 |
年 | 是/否 | 日历年中的某月 | 0 |
可以固定选择某个月全部作为工作日,在生成工厂日历时该月根据规则全部生成工作日或者非工作日。
类型为固定日期的情况:
类型 | 是否工作日 | 日期 | 优先级 |
固定日期 | 是/否 | 具体某个日期 | 0 |
可以设置具体的某个日期比如五一,十一为工作日,生成工厂日历时会依据该规则对设置的具体日期生成工厂日历。
优先级问题:对于多条规则设置有冲突的,比如设置了周规则的周一为工作日,当某个节假日比如五一正好也是周一时需要设置成非工作日,这样的情况下需要给定规则设置优先级,一般日期跨度越小优先级越高,固定日期>周>月>年,用户也可以自行设置。
规则设置的样式例子如下:
如上面规则样例所示,2011-5-1作为固定日期被设置非工作日,
同时2011-5-1正好也是周一,5月1日也符合月规则中月第一天为工作日的规则,最后会按照优先级生成,固定日期优先级最高,如下表:2011-5-1日最终生成为非工作日。
工作日编号 | 日期 | 是否工作日 |
1 | 2011.05.01 | 否 |
2 | 2011.05.02 | 是 |
3 | 2011.05.03 | 是 |
以下说明了工厂日历与工厂日历规则在物理结构上的关联定义。
根据工厂日历规则的特征,以及生成工厂日历的结果,定义工厂日历和工厂日历规则的物理结果:
工作日规则物理结构图:
工厂日历引用工作日规则:
列名 | 列含义 |
工厂日历编号 | 对每一条工厂日历编号 |
日期 | 具体的日历日 |
是否工作日 | 标示是否工作 |
工厂日历规则 | 表明日历由哪个规则生成 |
根据以上两表,保证每个工厂日历规则的创建和工厂日历的生成都按照固定的轨迹处理,不同的用户可以按照自己的规则通过工作日规则编码来区分各自的工厂日历。
当用户定义了工厂日历规则后,需要日历生成方法通过编译算法生成工厂日历,具体可以如下。
编译算法核心步骤如下:
A、根据用户定义规则的开始年度和结束年度,将开始年度和结束年度之间的所有日期按照数据记录的形式全部存储到工厂日历中。默认【是否工作日为】否,示例如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011.04.01 | 否 |
2 | 2011.04.02 | 否 |
3 | 2011.04.03 | 否 |
4 | 2011.04.04 | 否 |
B、将工作日规则按照优先级排序。
工作日规则按照优先级排序后,按照常规一般先更新年规则,然后更新月规则,其后更新周规则,然后更新固定日期规则:
年规则:规定了一年中那些月的所有日期是工作日或者不是工作日。
生成的SQL为:UPDATE工厂日期SET是否工作日=设置值where工作日规则=定义的规则and日期=(设定的月中每一天)。
月规则:规定了月中的某天时工作日或者非工作日。
生成的SQL为:UPDATE工厂日期SET是否工作日=设置值where工作日规则=定义的规则and日期=(设定的月的天数)。
周规则:规定了按星期,那一天是工作日或者非工作日。
生成的SQL为:UPDATE工厂日期SET是否工作日=设置值where工作日规则=定义的规则and日期=(设定的周的天数)。
固定日期规则:规定了那些日期是工作日或者非工作日。
生成的SQL为:UPDATE工厂日期SET是否工作日=设置值where工作日规则=定义的规则and日期=(设定的日期范围)。
当各个具体规则之间有冲突时,保证优先级最高的规则最后更新数据,也就是说最后执行的规则对最终工作日结果影响最大。
生成结果的大致样例如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011.04.01 | 否 |
2 | 2011.04.02 | 否 |
3 | 2011.04.03 | 是 |
4 | 2011.04.04 | 否 |
C、设置工厂日历规则的是否编译为是。
按照以上设置进行的日历生成可以如图3所示。
步骤302,获取工作日历起始结束年度,此时,规则已设置如下:
类型 | 是否工作日 | 月(某月) | 优先级 |
年 | 是 | 第一个月 | 0 |
月 | 是 | 第一天 | 1 |
月 | 是 | 星期一 | 2 |
固定日期 | 否 | 2011年5月1日 | 3 |
步骤304,计算合计的生成天数,并且生成工厂日历,先设置全部为非工作日,具体如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011年5月1日 | 否 |
2 | 2011年5月2日 | 否 |
3 | 2011年5月3日 | 否 |
4 | 2011年5月4日 | 否 |
5 | 2011年5月5日 | 否 |
6 | 2011年5月6日 | 否 |
7 | 2011年5月7日 | 否 |
8 | 2011年5月8日 | 否 |
9 | 2011年5月9日 | 否 |
步骤306,获取工作日规则按照优先级更新;
步骤308,先按照年规则更新对应的日历,具体结果如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011年5月1日 | 否 |
2 | 2011年5月2日 | 否 |
3 | 2011年5月3日 | 否 |
4 | 2011年5月4日 | 否 |
5 | 2011年5月5日 | 否 |
6 | 2011年5月6日 | 否 |
7 | 2011年5月7日 | 否 |
8 | 2011年5月8日 | 否 |
9 | 2011年5月9日 | 否 |
步骤310,按照月规则更新对应的日历,具体结果如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011年5月1日 | 是 |
2 | 2011年5月2日 | 否 |
3 | 2011年5月3日 | 否 |
4 | 2011年5月4日 | 否 |
5 | 2011年5月5日 | 否 |
6 | 2011年5月6日 | 否 |
7 | 2011年5月7日 | 否 |
8 | 2011年5月8日 | 否 |
9 | 2011年5月9日 | 否 |
步骤312,按照周规则更新对应的日历,具体结果如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011年5月1日 | 是 |
2 | 2011年5月2日 | 否 |
3 | 2011年5月3日 | 否 |
4 | 2011年5月4日 | 否 |
5 | 2011年5月5日 | 否 |
6 | 2011年5月6日 | 否 |
7 | 2011年5月7日 | 否 |
8 | 2011年5月8日 | 否 |
9 | 2011年5月9日 | 否 |
步骤314,按照固定日期规则更新对应的日历,具体结果如下:
工作日编号 | 日期 | 是否工作日 |
1 | 2011年5月1日 | 否 |
2 | 2011年5月2日 | 否 |
3 | 2011年5月3日 | 否 |
4 | 2011年5月4日 | 否 |
5 | 2011年5月5日 | 否 |
6 | 2011年5月6日 | 否 |
7 | 2011年5月7日 | 否 |
8 | 2011年5月8日 | 否 |
9 | 2011年5月9日 | 否 |
根据以上技术方案,可以实现一种日历生成装置和一种日历生成方法,使用户可以随时根据实际生产情况,调整工厂日历,以保证生产任务计划的准确性,实现了通过提供定义工厂日历的规则,通过用户定义的规则来生成工厂日历,这方便了依赖工厂日历的实现应用功能的灵活度,提高了ERP产品的业务匹配度,有助于系统实施效率和客户体验的改进。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种日历生成装置,用于计算机系统,其特征在于,包括:
规则设置模块,设置用于生成日历的规则;
指令生成模块,根据所述规则,生成用于生成所述日历的指令;
日历生成模块,执行所述指令,以生成所述日历。
2.根据权利要求1所述的日历生成装置,其特征在于,所述规则设置模块还为所述规则制定优先级;
所述指令生成模块根据所述优先级的高低,设置所述指令的执行顺序;
所述日历生成模块按照所述执行顺序执行所述指令,以生成所述日历。
3.根据权利要求1所述的日历生成装置,其特征在于,还包括:
时间设置模块,设置所述日历的起始时间和结束时间。
4.根据权利要求1至4中任一项所述的日历生成装置,其特征在于,所述规则的类型包括:
周类型,将每周的一天或几天设置为工作日或非工作日;
月类型,将每月的一天或几天设置为工作日或非工作日;
年类型,将每年的一个月或几个月设置为工作日或非工作日;
固定日期类型,将预定的一天或几天设置为工作日或非工作日。
5.一种日历生成方法,用于计算机系统,其特征在于,包括:
步骤202,设置用于生成日历的规则;
步骤204,根据所述规则,生成用于生成所述日历的指令;
步骤206,执行所述指令,以生成所述日历。
6.根据权利要求5所述的日历生成方法,其特征在于,在所述步骤202中,还为所述规则制定优先级;
在所述步骤204中,还根据所述优先级的高低,设置所述指令的执行顺序;
在所述步骤206中,按照所述执行顺序执行所述指令,以生成所述日历。
7.根据权利要求5所述的日历生成方法,其特征在于,在所述步骤202中,还设置所述日历的起始时间和结束时间。
8.根据权利要求5至9中任一项所述的日历生成方法,其特征在于,所述规则的类型包括:
周类型,将每周的一天或几天设置为工作日或非工作日;
月类型,将每月的一天或几天设置为工作日或非工作日;
年类型,将每年的一个月或几个月设置为工作日或非工作日;
固定日期类型,将预定的一天或几天设置为工作日或非工作日。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110178487A CN102306152A (zh) | 2011-06-28 | 2011-06-28 | 日历生成装置和日历生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110178487A CN102306152A (zh) | 2011-06-28 | 2011-06-28 | 日历生成装置和日历生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102306152A true CN102306152A (zh) | 2012-01-04 |
Family
ID=45380015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110178487A Pending CN102306152A (zh) | 2011-06-28 | 2011-06-28 | 日历生成装置和日历生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102306152A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015361A (zh) * | 2020-09-03 | 2020-12-01 | 深圳市大数据研究院 | 一种时间表日期信息的显示和变换方法及装置 |
CN112364050A (zh) * | 2020-11-17 | 2021-02-12 | 博锐尚格科技股份有限公司 | 基于时间控件获取时间段的方法、装置、电子设备、及存储介质 |
CN114417800A (zh) * | 2021-11-25 | 2022-04-29 | 福建天晴在线互动科技有限公司 | 一种定制日历的方法及其系统 |
WO2022226653A1 (en) * | 2021-04-29 | 2022-11-03 | Kinaxis Inc. | Sub-day planning within a supply chain planning system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797450A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 日历规则定义、分级和展开 |
CN1941959A (zh) * | 2005-09-29 | 2007-04-04 | 乐金电子(中国)研究开发中心有限公司 | 一种手机日历设置方法及其手机 |
-
2011
- 2011-06-28 CN CN201110178487A patent/CN102306152A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797450A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 日历规则定义、分级和展开 |
CN1941959A (zh) * | 2005-09-29 | 2007-04-04 | 乐金电子(中国)研究开发中心有限公司 | 一种手机日历设置方法及其手机 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015361A (zh) * | 2020-09-03 | 2020-12-01 | 深圳市大数据研究院 | 一种时间表日期信息的显示和变换方法及装置 |
CN112364050A (zh) * | 2020-11-17 | 2021-02-12 | 博锐尚格科技股份有限公司 | 基于时间控件获取时间段的方法、装置、电子设备、及存储介质 |
WO2022226653A1 (en) * | 2021-04-29 | 2022-11-03 | Kinaxis Inc. | Sub-day planning within a supply chain planning system |
CN114417800A (zh) * | 2021-11-25 | 2022-04-29 | 福建天晴在线互动科技有限公司 | 一种定制日历的方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gordon et al. | Single machine scheduling models with deterioration and learning: handling precedence constraints via priority generation | |
Qin et al. | Workforce flexibility in operations management | |
Bagheri et al. | Bi-criteria flexible job-shop scheduling with sequence-dependent setup times—Variable neighborhood search approach | |
CN102306152A (zh) | 日历生成装置和日历生成方法 | |
Martinsons et al. | Chinese business process re-engineering | |
CN102567850A (zh) | 跨车间协作模式下车间生产计划与调度一体化方法 | |
CN104732346A (zh) | 一种基于元数据的统一有限产能排产方法 | |
Wang et al. | Hybrid rescheduling optimization model under disruptions in precast production considering real-world environment | |
JP2015115015A (ja) | 工程管理装置、工程管理プログラムおよび工程管理システム | |
CN115310779A (zh) | 一种基于飞机装配制造资源日历的资源管理方法及设备 | |
Cruz-Chávez et al. | Solving a real constraint satisfaction model for the university course timetabling problem: a case study | |
JP2014049085A (ja) | 工程計画立案支援装置、工程計画立案支援方法およびプログラム | |
Jolai et al. | Genetic algorithm for bi-criteria single machine scheduling problem of minimizing maximum earliness and number of tardy jobs | |
Cheney | Information systems skills requirements: 1980 & 1988 | |
Qamhan et al. | Note on “A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints” | |
Weerd et al. | A product software knowledge infrastructure for situational capability maturation: Vision and case studies in product management | |
CN102004972A (zh) | 变更工作分解结构的方法和装置 | |
CN112785249A (zh) | 一种基于vba的日程管理方法及系统 | |
Othman et al. | A new approach to workforce planning | |
US10282144B2 (en) | System and method for distributed cellular manufacturing with outsourcing group constraints | |
JP2012118654A (ja) | 工程計画の人員配置支援システム及び方法 | |
JPH07210606A (ja) | スケジューリング・システム | |
Andreev et al. | Development of an algorithm for selecting the optimal set of tools and techniques for Agile project management in industry and engineering | |
Bozyer et al. | A Novel Approach of Graph Coloring for Solving University Course Timetabling Problem | |
Hataminasab et al. | A Mathematical Model to Schedule Manpower and Solve using Genetic Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120104 |