在上篇谈谈快消品中小饮料企业可销售产品管理方案设计一文中,谈到了饮料企业销售管理中的产品可销售政策,即不同客户可以卖不同产品。饮料企业销售管理还有另外两个重要政策:产品价格政策和产品配送政策,本文先讨论产品价格政策。
一个产品可能有全国区域统一指导价,具体市场可以设置自己市场指导价,市场下辖区域还可以设置区域指导价,甚至直接维护到具体客户上。
产品价格有时间有效性,同一客户同一产品不同时间段,价格可能不一。
CREATE TABLE `sale_goods_price` (
`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',
`obj_type` varchar(20) DEFAULT NULL COMMENT '对象类型',
`obj_id` bigint(50) DEFAULT NULL COMMENT '价格对象',
`obj_name` varchar(255) DEFAULT NULL COMMENT '对象名称',
`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',
`price` decimal(20,4) DEFAULT NULL COMMENT '价格',
`memo` varchar(255) DEFAULT NULL COMMENT '备注',
`s_date` datetime NOT NULL COMMENT '开始日期',
`e_date` datetime NOT NULL COMMENT '截止日期',
`status` varchar(10) DEFAULT NULL COMMENT '状态',
`write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',
`write_date` datetime DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `sale_goods_price_list` (
`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',
`price_date` date DEFAULT NULL COMMENT '价格日期',
`obj_id` bigint(50) DEFAULT NULL COMMENT '价格对象',
`obj_name` varchar(50) DEFAULT NULL,
`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',
`price` decimal(20,4) DEFAULT NULL COMMENT '价格',
`memo` varchar(255) DEFAULT NULL COMMENT '备注',
`sourcetype` varchar(20) DEFAULT NULL COMMENT '价格源类型',
`sourceid` bigint(20) DEFAULT NULL COMMENT '源价格id',
`write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',
`write_date` datetime DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`sid`),
KEY `idx_goods_price_date` (`price_date`,`sourcetype`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
将配置表sale_goods_price中的数据,每天自动分解到sale_goods_price_list,全部/市场/区域,分解到区域(sourcetype=‘市场区域’),客户依然分解到客户(sourcetype=‘客户’)。
市场区域:华东市场(苏北区域、苏南区域),华中市场(鄂东区域,鄂西区域);
客户信息:客户1(华东–苏北),客户2(华东–苏南),客户3(华中–鄂东),客户4(华中–鄂西);
产品信息:产品1,产品2;
产品 | 对象类型 | 对象名称 | 价格 | 开始日期 | 截止日期 |
---|---|---|---|---|---|
产品1 | 全国 | 全国 | 60 | 2018-10-01 | 2018-12-30 |
产品1 | 区域 | 苏南 | 55 | 2018-10-01 | 2018-12-30 |
产品2 | 全国 | 全国 | 40 | 2018-10-01 | 2018-12-30 |
产品2 | 市场 | 华中市场 | 38 | 2018-10-01 | 2018-12-30 |
产品2 | 客户 | 客户2 | 45 | 2018-10-01 | 2018-12-30 |
优先级:全国 = 10,市场 = 20,地区 = 30,客户 = 40,值越大优先级越高。
产品 | 对象类型 | 对象名称 | 价格 | 价格来源 | 优先级 | 开始日期 | 截止日期 |
---|---|---|---|---|---|---|---|
产品1 | 市场区域 | 华东-苏北 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华东-苏南 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华中-鄂东 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华中-鄂西 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华东-苏南 | 55 | 地区 | 30 | 2018-10-01 | 2018-12-30 |
– | – | – | – | – | – | – | – |
产品2 | 市场区域 | 华东-苏北 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华东-苏南 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂东 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂西 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂东 | 38 | 市场 | 20 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂西 | 38 | 市场 | 20 | 2018-10-01 | 2018-12-30 |
产品2 | 客户 | 客户2 | 45 | 客户 | 40 | 2018-10-01 | 2018-12-30 |
根据优先级,排除重复项,得到最终结果如下:
产品 | 对象类型 | 对象名称 | 价格 | 价格来源 | 优先级 | 开始日期 | 截止日期 |
---|---|---|---|---|---|---|---|
产品1 | 市场区域 | 华东-苏北 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华中-鄂东 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华中-鄂西 | 60 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品1 | 市场区域 | 华东-苏南 | 55 | 地区 | 30 | 2018-10-01 | 2018-12-30 |
– | – | – | – | – | – | – | – |
产品2 | 市场区域 | 华东-苏北 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华东-苏南 | 40 | 全国 | 10 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂东 | 38 | 市场 | 20 | 2018-10-01 | 2018-12-30 |
产品2 | 市场区域 | 华中-鄂西 | 38 | 市场 | 20 | 2018-10-01 | 2018-12-30 |
产品2 | 客户 | 客户2 | 45 | 客户 | 40 | 2018-10-01 | 2018-12-30 |
价格日期2018-10-14,客户所有产品价格记录,以客户1、客户2为例:
价格日期 | 客户 | 产品 | 对象类型 | 对象名称 | 价格 |
---|---|---|---|---|---|
2018-10-14 | 客户1 | 产品1 | 市场区域 | 华东-苏北 | 60 |
2018-10-14 | 客户1 | 产品2 | 市场区域 | 华东-苏北 | 40 |
2018-10-14 | 客户2 | 产品1 | 市场区域 | 华东-苏南 | 55 |
2018-10-14 | 客户2 | 产品2 | 市场区域 | 华东-苏南 | 40 |
2018-10-14 | 客户2 | 产品2 | 客户 | 客户2 | 45 |
客户2,产品2有2条价格,一条来自市场区域,一条来自客户本身,鉴于客户优先级高于市场区域,客户2对于产品取价格45,最终结果如下:
价格日期 | 客户 | 产品 | 价格 |
---|---|---|---|
2018-10-14 | 客户1 | 产品1 | 60 |
2018-10-14 | 客户1 | 产品2 | 40 |
2018-10-14 | 客户2 | 产品1 | 55 |
2018-10-14 | 客户2 | 产品2 | 45 |
价格产生机制有2种:
本方案还有2个缺陷:
1)没有考虑客户组;
2)没有考虑价格系数,比如公司可以定一个基准售价,不同市场区域设置价格系数,那么只要基准售价调整,不同市场客户最终价格同比例调整;