对于订单来说,主要的表就是ORDER_HEADER和ORDER_ITEM。ORDER_HEADER就是所谓的订单头,一条记录代表一条订单。

ORDER_PAYMENT_PREFERENCE是订单的支付,它有三个主要外键,ORDER_ID代表是哪个订单,PAYMENT_METHOD_ID代表是哪种具体付款方法,PAYMENT_METHOD_TYPE_ID代表哪种付款类型。

订单ORDER" title="ofbiz数据库表结构设计(3)- 订单ORDER">

ORDER_HEADER中的字段:

ORDER_TYPE_ID是外键指向ORDER_TYPE表,用来表示该订单是个采购订单还是销售订单。

EXTERNAL_ID是代表了外部订单号,比如说拿ofbiz作为ERP来处理淘宝上的订单,那EXTERNAL_ID就可以用来存储淘宝上的订单号。

STATUS_ID是该订单的状态,是外键指向STATUS_ITEM  
表,STATUS_ITEM表中STATUS_TYPE_ID为"ORDER_STATUS"的数据是ORDER_HEADER中STATUS_ID字段的可选项。这里要注意,ofbiz中订单的状态和货运(SHIPMENT)状态以及支付(PAYMENT)状态是三个分开的对象的状态,象淘宝上“等待支付”以及“等待卖家发货”这种订单状态,在ofbiz中是PAYMENT对象以及SHIPMENT对象的状态。

PRODUCT_STORE_ID是用来表示该销售订单是在哪个店卖出去的

REMAINING_SUB_TOTAL可以看作是除了运费之外的所有费用总和(包括商品的费用,其它各种费用,还要减去各种促销费用)

GRAND_TOTAL可以看作是包括了运费之后的费用,也就是客户需要总共支付的费用

ORDER_ITEM中的字段:

ORDER_ID外键为对应的订单

ORDER_ITEM_SEQ_ID只是一个序列号,在一个订单中,总是以00001开始

PRODUCT_ID代表了这个订单项所对应的产品

QUANTITY是订单中这个商品的数量

CANCEL_QUANTITY是订单中这个商品取消的数量,如果QUANTITY是4,CANCEL_QUANTITY是4,则代表用户买了这个商品4件,但是又取消了4件,当然,最后结果就是1件也没买

UNIT_PRICE在这个订单中这个商品的单价

UNIT_LIST_PRICE这个商品的吊牌价

UNIT_AVERAGE_COST在这个订单中这个商品的平均成本,但是根据我们的检查,似乎ofbiz从来都没有用到这个字段,在系统中,这个字段的值永远是NULL。所以我们认为,开发者可以在自己开发的程序中,把这个值填充上去,为报表做准备.

原文地址:http://blog.sina.com.cn/s/blog_a2ca5d8c0101fbt6.html

ofbiz数据库表结构设计(3)- 订单ORDER的更多相关文章

  1. ofbiz数据库表结构设计(2)- CONTACT_MECH

    ofbiz中,party的电话.地址等联系方式设计得非常巧妙,让我们来仔细分析一下. 有一个叫做CONTACT_MECH的表,这张表我们把它称作联系方式表,一个电话号码.一个通讯地址.一个电子邮件,都 ...

  2. ofbiz数据库表结构设计(1)- PARTY

    ofbiz的精华就在于其数据结构(表结构)的设计.数据结构的通用性也决定了ofbiz几乎可以适用任何企业应用.我们首先来看看PARTY相关的表结构设计. 在ofbiz中,PARTY是个抽象概念,它可以 ...

  3. 【转】ofbiz数据库表结构设计

    真心不错的文章,可以加深对企业信息化的设计理解:) http://blog.sina.com.cn/s/blog_a2ca5d8c01017fa0.html http://blog.sina.com. ...

  4. MySQL基于左右值编码的树形数据库表结构设计

    MySQL基于左右值编码的树形数据库表结构设计   在关系型数据库中设计树形的数据结构一直是一个十分考验开发者能力的,最常用的方案有主从表方案和继承关系(parent_id)方案.主从表方案的最大缺点 ...

  5. 数据库表结构设计方法及原则(li)

    数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...

  6. Activiti5.13数据库表结构设计

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  7. 【VIP视频网站项目三】项目框架搭建、项目路由配置、数据库表结构设计

    一.项目路由的设计 目前项目代码已经全部开源:项目地址:https://github.com/xiugangzhang/vip.github.io 视频网站前台页面路由设计 路由 请求方法 模板 作用 ...

  8. Mysql数据库表结构设计准则

    一:动静分离 解释:最好做好静态表和动态表的分离.这里解释一下静态表和动态表的含义,静态表:存储着一些固定不变的资源,比如城市/地区名/国家(静态表一定要使用缓存).动态表:一些频繁修改的表 二:关于 ...

  9. 【Normal Form】数据库表结构设计所遵从的范式

    参考的优秀文章 数据库(第一范式,第二范式,第三范式) 数据库设计是件严肃.关键的事儿,一毕业,加入一个大型的行业项目,那儿的前辈资深工程师,就给我灌输数据库如何关键.神圣.深不可测的观念,所以,我一 ...

随机推荐

  1. java基础面试题:抽象类中是否可以有静态的main方法?

  2. Xcode Warning: “no rule to process file

    警告⚠️: warning: no rule to process file '/Users/Kingdev/Desktop/Git/finance_iOS/finance/Library/MBpro ...

  3. 64位系统InlineHook

    APIHook64Class.h #ifndef APIHOOK64CLASS_H_ #define APIHOOK64CLASS_H_ #include <Windows.h> clas ...

  4. C/C++程序基础 (二)常用知识点

    使用宏实现max 注意括号在宏内的使用 #define MAX(x, y) ( ( (x) > (y) ) ? (x) : (y) ) 宏参数连接 a##e##b 转化为字符串 #a const ...

  5. Java 获取Web项目相对webapp地址

    例如, import java.io.File; import java.io.FileInputStream; import javax.servlet.http.HttpServletReques ...

  6. base64转图片上传

    不成功,但是有一定的借鉴性 /** * @param base64Codes * 图片的base64编码 */ function sumitImageFile(base64Codes){ consol ...

  7. 大数据小项目之电视收视率企业项目09--hive环境搭建

    Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据.它架构在Hadoop之上,总归为大数据,并使得查询和分析方便.并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务 ...

  8. Python知识点入门笔记——Python文件操作、异常处理及random模块使用

    文件是存储在外部介质的数据集合,通常可以长久保存,前提是介质不易损坏 Python的绝对路径写法: E:\\编程学习资料\\爬取某社区高清无码大图.py E:/编程学习资料/爬取某社区高清无码大图.p ...

  9. python 2.7版本解决TypeError: 'encoding' is an invalid keyword argument for this function

    今天在用yaml处理数据时,由于yaml.load可接收一个byte字符串,unicode字符串,打开的二进制文件或文本文件对象,但字节字符串和文件必须是utf-8,utf-16-be或utf-16- ...

  10. python3.7 os模块

    #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 os模块 #os模块是与操作系统交互的一个接口 # os.get ...