对于订单来说,主要的表就是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. 20180911 关于页面加载顺序引发的JS的undefined/null错误

    引用: 百度知道-HTML+JavaScript执行顺序问题 这是我在学习JS滚动播放图片案例意外遇到的一个问题,代码完成后console弹出错误警告: Uncaught TypeError: Can ...

  2. 线段树和zkw线段树

    作者作为一个蒟蒻,也是最近才自学了线段树,不对的地方欢迎大佬们评论,但是不要喷谢谢 好啦,我们就开始说说线段树吧 线段树是个支持区间操作和查询的东东,平时的话还是蛮实用的 下面以最基本的区间加以及查询 ...

  3. session 关于localhost和本地IP地址 不共享问题

    打比方,  一个请求 localhost:8080/test/test  ,一个本地Ip(172.1.1.1:8080/test/test) 1.请求localhost方式 HttpSession s ...

  4. 常用的几个JQuery代码片段

    1. 导航菜单背景切换效果 在项目的前端页面里,相对于其它的导航菜单,激活的导航菜单需要设置不同的背景.这种效果实现的方式有很多种,下面是使用JQuery实现的一种方式: //注意:代码需要修饰完善 ...

  5. Android中级教程之Android应用程序的生命周期

    Android应用程序的生命周期图 在大部分情况下,每个Android应用都将运行在自己的Linux进程中.当这个应用的某些代码需要执行时,进程就会被创建,并且将保持运行,直到该进程不再需要,而系统需 ...

  6. stark组件(1):动态生成URL

    项目启动时自动生成URL 效果图: 知识点: Django启动前通过apps下的ready方法执行一个可以生成URL的py文件 include函数主要返回有三个元素的一个元组.第一个是url配置(ur ...

  7. The Moving Points - HDU - 4717 (模拟退火)

    题意 二维空间中有\(n\)个运动的点,每个点有一个初始坐标和速度向量.求出一个时间\(T\),使得此时任意两点之间的最大距离最小.输出\(T\)和最大距离. 题解 模拟退火. 这个题告诉了我,初始步 ...

  8. poj 3258 跳房子问题 最大化最小值

    题意:奶牛跳房子,从n块石头中移除M块,使得间距最小的最大值?思路:“转换” 从N块中选择n-m块使得两两之间的间距尽可能大 c(d) 是间距最大的满足条件,即第一块 放在 xi的位置 下一块就要放在 ...

  9. dp专练

    dp练习. codevs 1048 石子归并 区间dp #include<cstdio> #include<algorithm> #include<cstring> ...

  10. Thread和Runnable的子类调用

    实现线程的两种方式: 继承Thread类. 实现Runnable接口. 下面是一个小案例: public class Thread和Runnable { public static void main ...