《C02-AD-0108 设计规范(NCV6元数据设计要点)-精品文档资料整理.docx》由会员分享,可在线阅读,更多相关《C02-AD-0108 设计规范(NCV6元数据设计要点)-精品文档资料整理.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、元数据设计要点元数据模型的数据项名称空间名称空间要遵循java的包命名规范,要是合法的名字,不能以数字开头。例如调拨订单的名称空间应该是m5x,而不是5x。实体和枚举的类名称类名称也要遵循java的命名规范,必须是合法的。因为这些会被生成相应的java代码,如果不合法,根本就无法生成。例如枚举的类名称应该是nc.vo.to.enumeration.TaxType,而不应该是nc.vo.to.enum.taxType。这里的enum不合法,因为它是java的关键字。taxType也不合适,因为java类名字的第一个字母应该是大写实体的名称实体的名称应该是英文,而且是小写。在查询模板拼写的sql中
2、,会将此名称作为前缀放在sql字段的前面。如果是中文或者大写,则与NC的sql规范相冲突属性命名规范主要以数据库字段的类型和Java类型结合来标示字段名的开始字符数据库类型JAVA类型开始字符示例字段名示例说明char(20)java.lang.Stringccbillid单据主键IDvarchar(30)java.lang.Stringvvbillcode单据号char(19)nc.vo.pub.lang.UFDateTimettmaketime制单时间char(10)nc.vo.pub.lang.UFDateddauditdate审核日期intjava.lang.Integeriiprin
3、tcount打印次数intjava.lang.Integer(元数据为整数枚举)ffstatusflag单据状态char(1)nc.vo.pub.lang.UFBooleanbboutendflag是否出库完成decimal(28,8)nc.vo.pub.lang.UFDoublennmny金额char(8)nc.vo.pub.lang.UFTimettdelivtime运输时间属性命名规范的特例字段名字字段说明数据库类型JAVA类型cbilltypecode单据类型varchar(50)java.lang.Stringcrowno行号varchar(20)java.lang.String上述
4、字段为约定俗成,范围太广,不再修改数据库表的冗余字段 集团ID cgroupid:因为供应链的业务不会跨集团,因此只需要在表头设置就可以了。 公司ID pk_corp:因为供应链的表会经常按照公司范围进行访问查询,因此,主表和子表上都要有pk_corp,并且索引上也要有pk_corp 主组织ID:在V6,按照主组织进行查询也是常见的报表查询形式。因此,主表和子表上要有此字段的冗余,并且索引上也要有此字段单据实体的常用属性交易类型的命名字段名字字段说明数据库类型JAVA类型vtrantypecode交易类型varchar(50)java.lang.String字段名字应和上表一致自定义项的命名字
5、段名字可以和下表不一致。表头、表体的字段名字要求必须不一样,否则主子表拉平显示的时候不好处理。表头自定义项字段名字字段说明数据库类型JAVA类型pk_defdoc1-20自定义项主键1-20char(20)java.lang.Stringvdef1-20自定义项1-20varchar(100)java.lang.String表体自定义项字段名字字段说明数据库类型JAVA类型pk_bdefdoc1-20自定义项主键1-20char(20)java.lang.Stringvbdef1-20自定义项1-20varchar(100)java.lang.String单据的来源和源头凡是有上下游单据业务关
6、系的单据必然有来源和源头信息。在处理这些信息的时候,我们不能因为处于链条的第二层次就将源头空着,而只是记录一个来源。此时,来源和源头的信息应该一致。这样处理的好处是不言而喻的。所有的业务逻辑都是通用的,绝对没有特例。另外,本版因为增加了交易类型。因此来源和源头信息也会记上相应的交易类型信息。字段名字可以和下表不一致。单据来源信息字段名字字段说明数据库类型JAVA类型csourcetypecode来源单据类型varchar(50)java.lang.Stringvsourcecode来源单据号varchar(30)java.lang.Stringcsourceid来源单据标识char(20)ja
7、va.lang.Stringcsourcebid来源单据分录标识char(20)java.lang.Stringvsourcerowno来源单据行号varchar(20)java.lang.Stringvsourcetrantype来源交易类型varchar(50)java.lang.String单据源头信息字段名字字段说明数据库类型JAVA类型cfirsttypecode源头单据类型varchar(50)java.lang.Stringvfirstcode源头单据号varchar(30)java.lang.Stringcfirstid源头单据标识char(20)java.lang.Strin
8、gcfirstbid源头单据分录标识char(20)java.lang.Stringvfirstrowno源头单据行号varchar(20)java.lang.Stringvfirsttrantype源头交易类型varchar(50)java.lang.String存货的自由项此处,我们不存储存货自由项的ID,因为杨波认为没有必要。为什么呢?字段名字字段说明数据库类型JAVA类型vfree1-10自由项1-10动态属性varchar(100)java.lang.Stringcvendorid供应商-固定属性char(20)java.lang.Stringcprojectid项目-固定属性cha
9、r(20)java.lang.Stringcproductor生产厂家-固定属性char(20)java.lang.Stringcqualitylevelid质量等级-固定属性char (20)java.lang.Stringcstateid库存状态-固定属性char (20)java.lang.String另外,如果存货为自由项属性,则库存的单据上自由项必输。其他单据如订单则是可空。固定辅助属性供应商、项目就是单据上的供应商、项目,不会单独增加栏目记录固定辅助属性。其他固定属性也是如此(谢阳 2009-06-11)。打印次数字段名字字段说明数据库类型JAVA类型iprintcount打印次数
10、intjava.lang.Integer单据状态字段名字字段说明数据库类型JAVA类型fstatusflag单据状态intjava.lang.Integer主辅计量单位:字段名字字段说明数据库类型JAVA类型cunitid主计量单位char(20)java.lang.Stringcastunitid辅计量单位char(20)java.lang.String原来供应链的表中没有存储主计量单位。但是在v6中,因为数量的精度是按照计量单位出,因此存储上主计量更有利于程序的处理单据时间字段名字字段说明数据库类型JAVA类型tmaketime制单时间char(19)nc.vo.pub.lang.UFDa
11、teTimecoperatorid制单人标识char(20)java.lang.Stringdmakedate制单日期char(10)nc.vo.pub.lang.UFDatedbilldate单据日期char(10)nc.vo.pub.lang.UFDatetlastmaketime最后修改时间char(19)nc.vo.pub.lang.UFDateTimeclastoperatorid最后修改人varchar(20)java.lang.Stringdauditdate审核日期char(10)nc.vo.pub.lang.UFDatetaudittime审核时间char(19)nc.vo.
12、pub.lang.UFDateTimecauditorid审核人标识char(20)java.lang.String修订字段名字字段说明数据库类型JAVA类型creviser修订人char(20)java.lang.Stringdrevisetime修订时间char(19nc.vo.pub.lang.UFDateTimevrevisereason修订理由varchar(181)java.lang.Stringiversion版本号Intjava.lang.Integerblatest是否最新版本char(1)nc.vo.pub.lang.UFBoolean地址和联系人V6要求,单据只存储地址ID和联系人ID。不再存储地址字符串和联系人字符串。5 / 5