
D.支持产品树查询、查找功能
重点说明:产品零(部)件作为新产品或试制状态进入产品结构与配置管理系统时,版本默认为“A”,版本状态默认为“活动”,阶段性状态默认为“试制”。版本时间的处理:版本的启用时间默认为当前时间,用户可以修改,停用时间为“NULL”。
装配时间的处理:起装配时间默认为当前时间,用户可以修改,止装配时间为“NULL”。位置号的处理:当前父节点下找最大位置号,插入件的位置号在最大号的基础上加“lO”,若当前父节点下无件则插入的位置号为“0010”。
3)产品结构树节点删除算法
功能:主要完成产品结构树的删除功能。
输入;在产品结构树中选中要删除的节点
输出:产品结构树中无用节点被删除
处理:点击需要删除的产品树的树节点,进行删除。
表:产品属性表,产品关系表
设计要点:
A.试制状态的件可以从产品树中直接删除。对于批量生产的件不能删除,并给出提示信息“该件为批量生产的件不能删除,若要废止装配关系,请填更改单走更改流程”。
我们可以一每棵树中的某一点为“根”,每个节点以它为参照来得出各自的相对关系属性,在通过对同一节点的相对关系属性来得出两两之间的相对关系。“所有基本测试”-“主数据”-“对来自主数据标识表文本表的特征值(指的就是特征的id号)进行检 查”,可使系统检查特征的文本表中存在的数据记录是否在主数据sid表中均存在相应的sid记录,如果文本表中存在而sid表中不存在,可在这里进行错误 修复,如果主数据表和sid属性表中均不存在,可尝试手工删除主数据记录,然后手工重新添加的方法进行修复,标准情况下,我们在抽取信息对象的主数据和属 性值时,sid表均由系统自动创建。4)要删除的节点左右孩子均存在:在该右子树中寻找中序遍历下的第一个节点(即关键码最 小的节点),用该节点的值替换要删除节点的位置,然后 处理该节点的删除问题。
4)产品结构树的显示查询算法
功能:主要完成产品结构树的显示查询功能。
输入:输入展开产品结构树的条件,并刷新产品树。
输出:产品结构树的分视图显示,如制造信息,采购信息,装配信息等。
处理:产品树中显示的不同条件的信息。
表:产品属性表,产品关系表
设计要点:
A.装配视图:产品树中显示的信息主要为代号、名称、位置号与数量。
B制造视图:产品树中显示的信息主要为代号、名称、特性=‘自制件’、数量。

C.采购视图:产品树中显示的信息主要为代号、名称、特性=‘标准件’OR特性=‘外购件’OR特性=‘外协件’、数量与供应商。
D.设计视图:为默认视图,产品树中显示的信息主要为代号、版本、名称。
5)多级BOM汇总算法
功能:主要完成明细表的汇总输出
输入:选择要汇总的部件或者产品图号
输出:符合企业格式的明纸表内容
处理;如图5-3所示。
表:产品属性表,产品关系表
设计要点:
由于企业的明细表展开涉及的数据量比较大,而且频率比较频繁,因此需要编写成后台的存储过程,提高运算的速度。声明的存储过程如下:

5.5.2产品配置管理
在产品配置管理中的主要算法有产品结构树配置变量算法、节点配置值算法、节点配置规则算法、有效性规则算法、产品结构树的显示查询算法、产品结构树替换算法、节点替换算法等。
1)产品结构树配置变量算法
功能:在产品结构树中定义配置变量
输入:建立配置变量及其对应的值
在堆中产生了一个数组或对象后,还可以 在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。例如: input (y1-y5) /*表示数值变量y1,y2,y3,y4和y5 的取值宽度均为4 /*定义字符变量x和y,分别占5 /*定义x为字符变量,y 为数值变量,占5 /*指明变量t从1-8 列读起,之后的y1-y5 列读起,每个变量占3列,共15 datanew。
表:配置属性表
设计要点:
A定义配置变量的节点应为部件一具有下级节点的装配件。
B.定义当前时间的最新版本的配置变量。

C.配置变量指如发动机功率、变速箱类型
D.配置变量值指如发动机功率为500W、1000W、1500w、2500W等、变速箱为自动、手动。
重点说明:对于相似或相近的装配件配置变量相似,可以用复制配置变量,粘贴配置变量功能来相互拷贝,修改后即可。
1.定义整数型变量repeat存放重复操作次数,定义flag来存放情况,i代表行,j代表列,定义整数型数组a[10][10]。对应的就是上面例子中的class c,里面定义了前置方法(f3),后置方法(f4)等等,因为我们用的是注解方式配置,所以该文件中还含有对应的所有配置注解。文件名或目录名用途cgi.cfg控制cgi访问的配置文件nagios.cfgnagios 主配置文件resource.cfg变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$user1$objectsobjects 是一个目录,在此目录下有很多配置文件模板,用于定义nagios 对象objects/commands.cfg命令定义配置文件,其中定义的命令可以被其他配置文件引用objects/contacts.cfg定义联系人和联系人组的配置文件objects/localhost.cfg定义监控本地主机的配置文件objects/printer.cfg定义监控打印机的一个配置文件模板,默认没有启用此文件objects/switch.cfg定义监控路由器的一个配置文件模板,默认没有启用此文件objects/templates.cfg定义主机和服务的一个模板配置文件,可以在其他配置文件中引用objects/timeperiods.cfg定义nagios 监控时间段的配置文件objects/windows.cfg监控windows 主机的一个配置文件模板,默认没有启用此文件。
2)节点配置值算法
功能:定义某节点的配置值,使该节点成为配置项。
输入:定义某节点的配置值
输出:具有配置值的节点前用特殊图标显示出来,说明该项属于配置项。
处理:定义了父节点具有配置变量的下级字节点的配露值。
表:配置关系表,产品关系表
设计要点:
A.定义配置值节点的父节点必须首先定义了配置变量。
B.配置值指如发动机功率=‘500W’变速箱类型=‘手动’或配置状态指如发动机功率;‘1500W’变速箱类型=‘自动’。
C.定义当前时间的最新版本的视图的配置值。
3)节点配置规则算法
功能:定义配置规则,具有配置变量的装配件,定义其不同的配置表达式。
输入:定义具有配置项的上级节点的配置条件一不同的配置表达式
输出:得到某节点的多种配置规则。
处理:定义某上级件对于下级件的配置条件。
表:产品关系表,配置定义表
设计要点;

定义配置条件的节点必须为具有下级节点的节点。
配置规则可以有很多种,可以存在配置定义表中如:标准配置,特殊用户配置,其它配置等等。选择不同的配置规则得到不同的配置结果。定义好某配置规则后该节点前用特殊图标显示出来,说明该项已经定义了某配置规则。
4)有效性规则算法
功能:定义有效性规则指定义有效性时间
输入:在基础设置一配置设置中定义配置BOM时间设置
输出:得到当前定义的配置BOM时间的配置视图。
处理:根据定义配置BOM时间设置来定义有效性规则的配置。
表:产品关系表,产品属性表
设计要点:
通过有效性时间的定义来得到不同时期明细表。
可以追溯不同时期该代号的不同版本默认情况为当前时间的最新版本有效性配置。
5)产品结构树的显示查询算法
功能:主要完成产品结构树的显示查询功能。
输入:输入展开产品结构树的条件,并刷新产品树。
输出:产品结构树的分视图显示,如制造信息,采购信息,装配信息等。
处理:产品树中显示的不同条件的信息。
表:产品属性表,产品关系表
设计要点:
A.装配视图:产品树中显示的信息主要为代号、名称、位置号与数量。
B席0造视图:产品树中显示的信息主要为代号、名称、特性=‘自制件’、数量。
C.采购视图:产品树中显示的信息主要为代号、名称、特性=‘标准件’OR特性=‘外购件’OR特性=‘外协件’、数量与供应商。

D.设计视图:为默认视图,产品树中显示的信息主要为代号、版本、名称。重点说明:参与配置的不同视图显示
6)产品结构树替换算法
功能:在产品结构树中定义替换件
输入:输入已有明细表中的的零件作为当前节点的替换件。
输出:当前节点定义了替换的件,并且当前节点用特殊图标显示出来,说明该项有替换件。
处理:定义当前节点可以被其他件替换。
表:替换件表
设计要点:
A.替换的范围基于某一部件内部的替换,不考虑整个产品或整个明细表系统。
B.定义替换的件应为零件一具有下级节点的装配件不可以定义替换件。
C.替换件应为零件一具有下级节点的装配件不可以定义为替换件。
D.替换件应存在于已有的明细表中。
$(space)使用了$(empty)定义了一个空格,$(foo)的值是“a b c”,$(bar)的定义用,调用了函数“subst”,这是一个替换函数,这个函数有三个参数,第一个参数是被替换字符串,第二个参数是替换字符串,第三个参数是替换操作作用的字符串。前面说了 zookeeper 主要是用来维护和监控一个目录节点树中存储的数据的状态,所有我们能够操作 zookeeper 的也和操作目录节点树大体一样,如创建一个目录节点,给某个目录节点设置数据,获取某个目录节点的所有子目录节点,给某个目录节点设置权限和监控这个目录节点的状态变化。我们可以定义一个循环链表,将这n个人加入到链表中,然后定义三个节点指针在链表上循环,移动跨度为3,利用链表的循环功能每次删除第三个节点,这边要注意的一个问题就是你定义的是3个指针,且在循环中他们彼此也都是有->next关系,一般我们判断循环结束条件时都是一个节点的下一个节点是否为它本身(如ptr->next ==ptr),这里我们要注意循环体中链接方向否则很可能出现无用指针导致错误,因为最后我们要剩下一个节点那么ptr->next为null,而剩下的不能是null->next.具体程序,如下: #include
重点说明:对于功能相似或相近的供应件,根据需要定义其替换件并设置替换件。
7)节点替换算法
功能:选择替换件,给该节点定义一替换件。
输入:选择替换件
输出:指定某节点的替换件。
处理:定义某节点的替换件。
表:替换件表
设计要点:
A.对于某节点如果已经定义好替换件,则在明细表汇总、BOM表的统计时,统计的是该节点的替换件,而不是该节点。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-99678-1.html
但那是自己造的
王子王子我的王子
我们该怎么办呀