对于企业信息化系统来说,价格机制也就成了一个关键因素。对于本系统来说,需要一套即简单又相对灵活的价格机制就足矣!
由于当企业是属于第三产业的,那么很多的价格是没有实物的服务项目的报价,因此这个价格有很大的浮动性。
在设计的这个价格机制中,有三个价格概念:成本价格、基本价格体系、特价。
成本价格:
成本价格,就是企业的自己制定的一个成本价格。对于本系统而言,就是每一项费用的成本价,这也是所有基本价格与特价的基础。基本价格是在成本价格上面乘上一个系数或加上一个利润值。
所以我设计的成本价格表是单独的一张表,当然也可以是从相关的表中得到。根据具体情况具体分析。
基本价格体系:
为什么称为体系呢?因为基本价格不可能就一个,而可能有多个所以我称为一个体系。
基本价格体系也就是企业制定自己的所有的“基本价格表”,“基本价格表”具有一个名称,比如:零售价表、小客户价格表、大客户价格表、成本价表等;每个“基本价格表”都记录着费用对应这个价格表的费用价格。在定义客户时,只需要选择相应的价格表名称,此客户就可以享有指定价格表的价格了,这将极大的方便了价格管理。
为了更好的体现基本价格体系表的灵活性,在“价格表”之间建立参考性,比如“小客户价格表”是对“零售价格表”的九折价,由于建立了参考性,所以当“零售价格表”进行价格修改时,将对关联价格表的价格更新,这些,都体现了基本价格体系表的灵活性。
实际上基本价格,就是一个价格分组组,根据不同的客户分成不同的价格体系,对数据库而言只是一个分组表。
在建立了价格分组表之后,可以不同的物品的价格分配到不同的组之中,这又涉及到一张价格与价格分组表对应的表,为了实现多对多的关系。
疑问:实现上可以减少这些价格分组的,如零售价表、小客户价格表的基价格是从成本价表中得到了,这样一级继承好办,但是如果加上一个大客户价格表的基价格是从小客户价格表中得到的,那么是间接引用了成本价格表,这就有点难办了?
暂时我没想出什么好的方法来解决。如下图
我怎么得到a的价格呢。
因为没有参考价格的分组有二个,所以比较麻烦,可能自己对sql学习的不够精深,也有原因。
特价:
对于“基本价格”是不考虑“客户”因素的,在定义客户时都需要指定“基本价格”,那么此客户就享受此价格,但有些客户非常特殊,他们将享受“特殊特遇”,因此需要给客户定义“特价”。
在定义“特价”时,首先要选择“客户”,一张特价表都是针对一个客户的;一个客户也只能具有一张“特价表”。
“特价表”必须具有时间性:也就是说对于一个客户在某段时间范围内享受一个特殊的价格,这也就允许一个客户对某一费用项目在不同的时间范围上具有不同的价格了,比如在2005年具有九折价,2006年具有八折价。这也说明了“一个客户只需要一张特价表就足够了”。
对于一个客户同时可能会具有“特价”和“基本价格”,那么在费用录入时可以有一个“特价优先”的选项,如果勾上,则先读取特价,没特价则取用基本价格,如果不勾上,则直接采用基本价格。