快速定位工厂日历的方法和系统技术方案

技术编号:2824468 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了快速定位工厂日历的方法和系统,其中,所述方法为:修改工厂日历物理表结构,添加提前工作日和延后工作日字段;更新提前工作日和延后工作日字段的内容,从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日,根据本发明专利技术实施例,不需要在每次查询时都使用SQL语句进行大于或小于判断以及取最大值/最小值操作,减小了运算量,节省了运算时间时间,提高了工作效率。

【技术实现步骤摘要】

本专利技术涉及企业资源规划(ERP,Enterprise Resourse Planning)领域,尤其涉及快速定位工厂日历的方法和系统
技术介绍
工厂日历也称为生产日历,是用于企业资源规划(ERP)系统的特殊形式的日历,它是由普通日历除去每周休息日、节假日、停工和其它不生产的日期而形成的,是物料需求计划(MRP,Material Requirement Planning)展开计划的依据之一。对于某一天而言,可能是工作日,也可能是非工作日,系统在生成计划时,由于非工作日不能安排生产任务,因此遇到非工作日时必须自动跳过,一直提前或者延后,直到找到第一个工作日。对于非工作日,提前工作日是指跳过非工作日,向前找到第一个工作日,即为小于等于该天的最大一个工作日;延后工作日是指跳过非工作日,向后找到第一个工作日,即为大于等于该天的最小一个工作日。若该天为工作日,则提前工作日和延后工作日为该天。快速的查找定位ERP系统中某一日期所对应的可安排生产的工作日,对于有效、合理安排生产任务,有着非常重要的作用。目前,常用的定位ERP系统中某一日期所对应的可安排生产的工作日方法就是通过SQL语句进行查询来获取普通日期对应的工作日,如:要获取2007年9月15日的提前工作日,通过如下语句实现:select MAX([日期])from[工厂日历]where[是否工作日]=’Y’and[日期]<=′2007-09-15′即:选择满足是工作日并且日期小于2007年9月15日的日子中日期最大的一天作为2007年9月15日的提前工作日。若企业存在多套工厂日历,例如:企业多个车间存在不同的停工日,则需要多套不同类型的工厂日历。那么如果要获取2007年9月15日的提前工作日,-->通过如下语句实现:select[工厂日历类型],max([日期])from[工厂日历]where[工厂日历类型]=’作业车间’and[日期]<=′2007-09-15′and[是否工作日]=’Y’group by[工厂日历类型]。即:选择[工厂日历类型]所对应的工厂日历中满足是工作日并且日期小于2007年9月15日的日子中日期最大的一天作为2007年9月15日的提前工作日。本专利技术人在研究中发现,上述ERP系统定位工作日的方法,需要使用SQL语句进行大于等于(或小于等于)判断比较,并且对数据取最大值。SQL语句编写复杂,无法充分利用数据库索引,性能较差。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供快速定位工厂日历的方法和系统,避免了SQL语句大于或小于判断和取最大值/最小值操作,优化了运算时间,提高了工作效率。为实现上述目的,本专利技术实施例提供了如下技术方案:一种快速定位工厂日历的方法,包括:修改工厂日历物理表结构,添加提前工作日和延后工作日字段;更新提前工作日和延后工作日字段的内容;从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日。一种快速定位工厂日历的系统,包括:字段添加单元,用于修改工厂日历物理表结构,添加提前工作日和延后工作日字段;更新单元,用于更新提前工作日和延后工作日字段的内容;查询单元,从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日。可见,在本专利技术实施例中,通过修改工厂日历物理表结构,添加提前工作日和延后工作日字段,更新提前工作日和延后工作日字段的内容后,在从修改-->后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日时,不需要使用SQL语句进行大于或小于判断以及取最大值/最小值操作,减小了运算量,节省了运算时间时间,提高了工作效率。附图说明图1本专利技术一实施例提供的快速定位工厂日历的方法的流程图;图2本专利技术一实施例提供的批量更新提前工作日的方法的流程图;图3为专利技术一实施例提供的批量更新延后工作日的方法的流程图;图4为本专利技术一实施例提供的快速定位工厂日历的系统的结构示意图。具体实施方式本专利技术实施例提供了快速定位工厂日历的方法和系统,修改工厂日历物理表结构,添加并更新提前工作日和延后工作日字段的数据,根据实际ERP系统需要,通过SQL在修改后的工厂日历表中查询提前工作日或者延后工作日,在本专利技术实施例提供的方法中,不需要使用SQL语句进行大于或小于判断以及取最大值/最小值操作,减小了运算量,节省了运算时间时间,提高了工作效率。下面结合附图对本专利技术实施例进行详细描述。参见附图1,在本专利技术一实施例中,实现本专利技术实施例所提供的快速定位工厂日历的方法包括以下步骤:步骤101:修改工厂日历物理表结构,添加提前工作日和延后工作日字段。步骤102:更新提前工作日和延后工作日字段的内容。步骤103:从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日。工厂日历物理表如表1所示,包括顺序号,日期,星期和改天是否是工作日的记录。现有技术的方法为:若要判断某天的提前工作日,则根据工厂日历物理表,选择满足是工作日并且日期小于所要查询的日子中日期最大的一天作为所查询日的提前工作日。表1:-->  顺序号  日期  星期  是否工作日  1  2007-09-03  星期一  Y  2  2007-09-04  星期二  Y  3  2007-09-05  星期三  Y  4  2007-09-06  星期四  Y  5  2007-09-07  星期五  Y  2007-09-08  星期六  N  2007-09-09  星期日  N  6  2007-09-10  星期一  Y  7  2007-09-11  星期二  Y  8  2007-09-12  星期三  Y  9  2007-09-13  星期四  Y  10  2007-09-14  星期五  Y  2007-09-15  星期六  N  2007-09-16  星期日  N  11  2007-09-17  星期一  Y  12  2007-09-18  星期二  Y  13  2007-09-19  星期三  Y  14  2007-09-20  星期四  Y  15  2007-09-21  星期五  Y本专利技术提供的实施例中对工厂日历物理表进行了修改,添加了提前工作日和延后工作日两个字段,修改后的工厂日历物理表见表2所示,除了包括顺序号、日期、星期、是否是工作日这些项目之外,还包括提前工作日和延后工作日。表2:  顺序号  日期  星期  是否工作日  提前工作日  延后工作日-->  1  2007-09-03  星期一  Y  2007-09-03  2007-09-03  2  2007-09-04  星期二  Y  2007-09-04  2007-09-04  3  2007-09-05  星期三  Y  2007-09-05  2007-09-05  4  2007-09-06  星期四  Y  2007-09-06  2007-09-06  5  2007-09-07  星期五  Y  2007-09-07  2007-09-07  2007-09-08  星期六  N  2007-09-07  2007-09-10  2007-09-09  星期日  N  2007-09-07  2007-09-10  6  2007本文档来自技高网
...

【技术保护点】
一种快速定位工厂日历的方法,其特征在于,包括:    修改工厂日历物理表结构,添加提前工作日和延后工作日字段;    更新提前工作日和延后工作日字段的内容;    从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日。

【技术特征摘要】
1、一种快速定位工厂日历的方法,其特征在于,包括:修改工厂日历物理表结构,添加提前工作日和延后工作日字段;更新提前工作日和延后工作日字段的内容;从修改后的工厂日历中查询特定目标日对应的提前工作日或者延后工作日。2、根据权利要求1所述的方法,其特征在于,通过以下步骤从修改后的工厂日历中查询与所需目标日对应的提前工作日或者延后工作日:生成SQL查询语句,用于在所述工厂日历中,查询特定目标日所对应的提前工作日或者延后工作日字段的内容,得到该目标日的提前工作日和延后工作日。3、根据权利要求1所述的方法,其特征在于,当存在多套工厂日历时,所述查询还包括查询条件:工厂日历类型。4、根据权利要求1或3所述的方法,其特征在于,所述更新提前工作日和延后工作日字段的内容包括:执行SQL语句,批量更新提前工作日和延后工作日字段的内容;或者根据工作日情况,手工维护填入提前工作日和延后工作日字段的内容。5、根据权利要求4所述的方法,其特征在于,所述批量更新提前工作日的方法包括:A1:将工厂日历按[日期]升序排序;A2:判断当前日是否为工作日,如果是进入步骤A3;如果不是就进入步骤A4;A3:将当前日的提前工作日设为其本身,同时设置一个变量来保存当前日期,进入步骤A5;A4:将当前变量保存的日期设为当前日的提前工作日,进入步骤A5;A5:当前日加1,进入步骤A6;A6:判断当前日是否大于最后一日,如果是,结束流程;如果否,...

【专利技术属性】
技术研发人员:陈坚
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1