销售管理是快消品饮料企业信息化核心重点,客户可以销售哪些产品是饮料企业销售管理中的重头戏,一来可以防止客户之间相互冲货,二来可以加强客户管理、利于渠道拓展。因此,饮料企业信息化软件其销售模块应该包含可销售产品管理,实现产品A是否对客户A可销售控制。
客户组或客户渠道类型,通常有:KA、特通、餐饮、婴童等。
1)价格有时间有效期,客户每天只有一个价格;
2)价格可以维护到全国、市场、地区、渠道类型和最终客户;
CREATE TABLE `sale_client_goods_cfg` (
`sid` bigint(20) NOT NULL AUTO_INCREMENT,
`catg_id` bigint(20) DEFAULT NULL COMMENT '渠道类型ID',
`catg_name` varchar(100) DEFAULT NULL COMMENT '渠道名称',
`obj_type` varchar(16) DEFAULT NULL COMMENT '对象类型',
`obj_id` bigint(20) DEFAULT NULL COMMENT '对象ID',
`obj_name` varchar(100) DEFAULT NULL COMMENT '对象名称',
`goods_id` bigint(20) DEFAULT NULL COMMENT '产品ID',
`goods_name` varchar(100) DEFAULT NULL COMMENT '产品名称',
`is_saleable` char(1) DEFAULT NULL COMMENT '是否可销售',
`write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',
`write_uname` varchar(32) DEFAULT NULL,
`write_date` datetime DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `sale_client_goods_level` (
`sid` bigint(20) NOT NULL AUTO_INCREMENT,
`client_id` bigint(20) NOT NULL COMMENT '客户ID',
`client_name` varchar(100) NOT NULL COMMENT '客户名称',
`goods_id` bigint(20) NOT NULL COMMENT '产品ID',
`goods_name` varchar(100) NOT NULL COMMENT '产品名称',
`is_saleable` char(1) DEFAULT NULL COMMENT '是否可销售',
`level` int(11) NOT NULL,
`write_uid` bigint(20) DEFAULT NULL,
`write_uname` varchar(30) DEFAULT NULL,
`write_date` datetime DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `sale_client_goods_list` (
`sid` bigint(20) NOT NULL AUTO_INCREMENT,
`client_id` bigint(20) NOT NULL COMMENT '客户ID',
`client_name` varchar(100) NOT NULL,
`goods_id` bigint(20) NOT NULL,
`goods_name` varchar(100) NOT NULL,
`is_saleable` char(1) NOT NULL,
`write_uid` bigint(20) DEFAULT NULL,
`write_uname` varchar(30) DEFAULT NULL,
`write_date` datetime DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
假设餐饮渠道和华东市场客户不可销售500ML纯净水,则配置如下:
渠道类型 | 对象类型 | 对象ID | 对象名称 | 产品ID | 产品名称 | 可销售 |
---|---|---|---|---|---|---|
0-所有渠道 | 全国 | 0 | 全国 | 1 | 500ML纯净水 | Y |
1-餐饮 | 全国 | 0 | 全国 | 1 | 500ML纯净水 | N |
0-所有 | 市场 | 1 | 华东市场 | 1 | 500ML纯净水 | N |
先生成中间表,sale_client_goods_level
假设有4个客户:
客户1(华东市场,特通);
客户2(华东市场,餐饮),
客户3(华南市场,特通),
客户4(华北市场,餐饮);
表中level表示优先级,数字越大优先级越高:
10-全国,20-市场,30-地区,40-客户;
具体渠道类型+1,特通+全国:10 + 1 = 11;
生成的中间表如下:
客户 | 产品 | 可销售 | 优先级 |
---|---|---|---|
客户1 | 500ML纯净水 | Y | 10 |
客户2 | 500ML纯净水 | Y | 10 |
客户3 | 500ML纯净水 | Y | 10 |
客户4 | 500ML纯净水 | Y | 10 |
客户2 | 500ML纯净水 | N | 11 |
客户4 | 500ML纯净水 | N | 11 |
客户1 | 500ML纯净水 | N | 20 |
客户2 | 500ML纯净水 | N | 20 |
先生最终客户可销售产品表,sale_client_goods_list
根据上述中间表,优先级降序排序,取不重复记录,得到:
客户 | 产品 | 可销售 |
---|---|---|
客户1 | 500ML纯净水 | N |
客户2 | 500ML纯净水 | N |
客户3 | 500ML纯净水 | Y |
客户4 | 500ML纯净水 | N |
** 生成规则 **