谈谈快消品中小饮料企业产品配送政策方案设计
一、摘要
在前2篇博文:
- 談?wù)効煜分行★嬃掀髽I(yè)可銷售產(chǎn)品管理方案設(shè)計(jì)
- 談?wù)効煜分行★嬃掀髽I(yè)產(chǎn)品價(jià)格政策方案設(shè)計(jì)
討論了飲料企業(yè)銷售管理中的可銷售產(chǎn)品政策和產(chǎn)品價(jià)格政策方案設(shè)計(jì),除此之外還有一個(gè)重要的產(chǎn)品政策:產(chǎn)品配送政策。可能大家對(duì)飲料企業(yè)的配送政策不是很了解,通常電商所謂的配送政策是滿減、滿抵,走的是資金通道;而飲料企業(yè)通常指滿送(A產(chǎn)品滿100箱,送B產(chǎn)品10箱),走的是實(shí)物通道。
二、產(chǎn)品配送政策
1、名詞解釋
1)主發(fā)產(chǎn)品:滿足條件的產(chǎn)品,可以是單品也可以是產(chǎn)品組合
單品:產(chǎn)品A滿100箱,送產(chǎn)品B10箱;
產(chǎn)品組合:產(chǎn)品A+產(chǎn)品B滿100箱,送產(chǎn)品B10箱;
2)配送產(chǎn)品:可以是單品,也可以是產(chǎn)品組合;
單品:產(chǎn)品A滿100箱,送產(chǎn)品B10箱;
產(chǎn)品組合:產(chǎn)品A滿100箱,送產(chǎn)品B+產(chǎn)品C共10箱;(客戶可以選擇產(chǎn)品B 5箱,產(chǎn)品C 5箱;也可以產(chǎn)品B 10箱;也可以產(chǎn)品C 10箱等)
2、目標(biāo)
1)不同客戶配送量不一樣
配送政策可以全國區(qū)域統(tǒng)一設(shè)定,具體市場(chǎng)可以設(shè)置自己市場(chǎng)配送政策,市場(chǎng)下轄區(qū)域還可以設(shè)置區(qū)域配送政策,甚至直接維護(hù)到客戶。
2)同一客戶同一主發(fā)產(chǎn)品配送量可以不一樣
配送政策有時(shí)間有效性,同一客戶同一產(chǎn)品不同時(shí)間段,配送政策可能不一。
3、設(shè)計(jì)方案
1)數(shù)據(jù)表設(shè)計(jì)
產(chǎn)品表特殊處理,可以標(biāo)記哪些是產(chǎn)品組合,base_goods
CREATE TABLE `base_goods` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`catg_id` bigint(64) NOT NULL COMMENT '商品分類id',`prod_type` varchar(30) NOT NULL COMMENT '商品類型',`prod_no` varchar(20) NOT NULL COMMENT '商品編碼',`prod_name` varchar(100) NOT NULL COMMENT '商品名稱',`spec` varchar(100) DEFAULT NULL COMMENT '規(guī)格',`spec_factor` decimal(20,4) DEFAULT NULL COMMENT '規(guī)格系數(shù)',`jldw` bigint(20) DEFAULT NULL COMMENT '計(jì)量單位',`sale_price` decimal(20,4) DEFAULT NULL COMMENT '銷售單價(jià)',`sale_oprice` decimal(20,4) DEFAULT NULL COMMENT '銷售單價(jià)',`cost_price` decimal(20,4) DEFAULT NULL COMMENT '標(biāo)準(zhǔn)成本價(jià)',`py` varchar(100) DEFAULT NULL COMMENT '商品名稱拼音簡碼',`period` varchar(20) DEFAULT NULL COMMENT '保質(zhì)期',`bar_code` varchar(100) DEFAULT NULL COMMENT '條碼',`memo` varchar(100) DEFAULT NULL COMMENT '備注',`is_purchase` char(1) DEFAULT NULL,`is_sale` char(1) DEFAULT NULL,`brand_id` bigint(64) DEFAULT '1' COMMENT '品牌id',`detail` varchar(100) DEFAULT NULL COMMENT '詳情',`short_desc` varchar(100) DEFAULT NULL,`pic_url` varchar(100) DEFAULT NULL COMMENT '圖片',`is_deleted` varchar(1) DEFAULT 'N',`is_onsale` varchar(1) DEFAULT 'Y',`is_mixed` varchar(1) DEFAULT 'N' COMMENT '是否產(chǎn)品組合',`safety_stock_min` decimal(20,4) DEFAULT NULL COMMENT '安全庫存下限',`safety_stock_max` decimal(20,4) DEFAULT NULL COMMENT '安全庫存上限',`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表'產(chǎn)品組合細(xì)表
CREATE TABLE `base_goods_prop_ref` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`prop_id` bigint(20) DEFAULT NULL COMMENT '產(chǎn)品組合ID',`prop_type` varchar(30) DEFAULT NULL,`prop_name` varchar(30) DEFAULT NULL COMMENT '產(chǎn)品組合名稱',`goods_id` bigint(20) DEFAULT NULL,`goods_no` varchar(10) DEFAULT NULL,`goods_name` varchar(100) DEFAULT NULL COMMENT '明細(xì)產(chǎn)品名稱',`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`),UNIQUE KEY `NewIndex1` (`prop_id`,`goods_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8配送政策配置主表 sale_goods_policy
CREATE TABLE `sale_goods_policy` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水號(hào)',`policy_no` varchar(30) DEFAULT NULL,`policy_type` int DEFAULT NULL COMMENT '政策類型, 10-排它, 20-疊加',`obj_type` varchar(20) DEFAULT NULL COMMENT '對(duì)象類型',`obj_id` bigint(20) DEFAULT NULL COMMENT '對(duì)象ID',`obj_name` varchar(100) DEFAULT NULL COMMENT '對(duì)象名稱',`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',`goods_name` varchar(100) DEFAULT NULL COMMENT '商品名稱|商品組合名稱',`memo` varchar(255) DEFAULT NULL COMMENT '備注',`policy_desc` varchar(200) DEFAULT NULL COMMENT '政策描述',`s_date` datetime DEFAULT NULL COMMENT '開始日期',`e_date` datetime DEFAULT NULL COMMENT '截止日期',`status` varchar(10) DEFAULT NULL COMMENT '狀態(tài)',`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL COMMENT '操作時(shí)間',PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8配送政策細(xì)表 sale_goods_policy_detail
CREATE TABLE `sale_goods_policy_detail` (`sid` bigint(20) NOT NULL AUTO_INCREMENT,`policy_id` bigint(20) DEFAULT NULL,`policy_no` varchar(100) DEFAULT NULL,`free_goods_id` bigint(20) DEFAULT NULL,`cond_min` decimal(20,4) DEFAULT NULL COMMENT '開始區(qū)間 >= cond_min',`cond_max` decimal(20,4) DEFAULT NULL COMMENT '最終區(qū)間 < cond_max',`cond_amount` decimal(20,4) DEFAULT NULL,`free_amount` decimal(20,4) DEFAULT NULL,`status` varchar(10) DEFAULT NULL,`memo` varchar(255) DEFAULT NULL,`policy_desc` varchar(100) DEFAULT NULL,`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8政策分解中間表 sale_goods_policy_level
CREATE TABLE `sale_goods_policy_level` (`sid` bigint(20) NOT NULL AUTO_INCREMENT,`policy_id` bigint(20) DEFAULT NULL,`policy_no` varchar(100) DEFAULT NULL,`client_id` bigint(20) DEFAULT NULL,`goods_id` bigint(20) DEFAULT NULL,`level` int(11) DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8政策最終生成表 sale_goods_policy_list
CREATE TABLE `sale_goods_policy_list` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水號(hào)',`policy_date` date DEFAULT NULL COMMENT '政策日期',`policy_type` int DEFAULT NULL COMMENT '政策類型',`obj_id` bigint(50) DEFAULT NULL COMMENT '對(duì)象ID',`obj_name` varchar(100) DEFAULT NULL COMMENT '對(duì)象名稱',`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',`policy_no` varchar(100) DEFAULT NULL,`sourceid` bigint(20) DEFAULT NULL,`policy_desc` varchar(100) DEFAULT NULL,`policy_desc_full` varchar(200) DEFAULT NULL COMMENT '政策描述完整版',`memo` varchar(255) DEFAULT NULL COMMENT '備注',`write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',`write_date` datetime DEFAULT NULL COMMENT '操作時(shí)間',PRIMARY KEY (`sid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf82) 具體實(shí)現(xiàn)
數(shù)據(jù)準(zhǔn)備
產(chǎn)品數(shù)據(jù):產(chǎn)品1,產(chǎn)品2,組合1(產(chǎn)品1,產(chǎn)品2)
市場(chǎng)區(qū)域:華東市場(chǎng)(蘇北區(qū)域、蘇南區(qū)域),華中市場(chǎng)(鄂東區(qū)域,鄂西區(qū)域)
客戶信息:客戶1(華東–蘇北),客戶2(華東–蘇南),客戶3(華中–鄂東),客戶4(華中–鄂西)
政策維護(hù)
政策主表數(shù)據(jù)
| 18101401 | 10 | 產(chǎn)品1 | 全國 | 全國 | 2018-10-01 | 2018-12-30 |
| 18101402 | 10 | 產(chǎn)品1 | 市場(chǎng) | 華東市場(chǎng) | 2018-10-01 | 2018-12-30 |
| 18101403 | 20 | 產(chǎn)品2 | 全國 | 全國 | 2018-10-01 | 2018-12-30 |
| 18101404 | 10 | 產(chǎn)品2 | 市場(chǎng) | 華中市場(chǎng) | 2018-10-01 | 2018-12-30 |
| 18101405 | 10 | 組合1 | 全國 | 全國 | 2018-10-01 | 2018-12-30 |
| 18101406 | 10 | 組合1 | 地區(qū) | 華東-蘇南 | 2018-10-01 | 2018-12-30 |
政策唯一性驗(yàn)證
產(chǎn)品 + 對(duì)象(對(duì)象類型,對(duì)象ID)+ 生效日期不能重復(fù);
| 產(chǎn)品1 | 全國 | 全國 | 2018-10-01 | 2018-12-30 | 沒重復(fù) |
| 產(chǎn)品1 | 市場(chǎng) | 華東市場(chǎng) | 2018-10-01 | 2018-12-30 | 沒重復(fù) |
| 產(chǎn)品1 | 市場(chǎng) | 華東市場(chǎng) | 2018-08-01 | 2018-12-30 | 重復(fù),時(shí)間段有交叉 |
| 產(chǎn)品2 | 全國 | 全國 | 2018-10-01 | 2018-12-30 |
政策細(xì)表數(shù)據(jù)
| 18101401 | 產(chǎn)品1 | 產(chǎn)品1 | 10 | 200 | 10 | 1 | [10,200)箱,每10箱送1箱 |
| 18101401 | 產(chǎn)品1 | 產(chǎn)品1 | 200 | - | 10 | 1.2 | [200,)箱,每10箱送1.2箱 |
| 18101402 | 產(chǎn)品1 | 產(chǎn)品1 | 10 | - | 10 | 1.1 | [10,)箱,每10箱送1.1箱 |
| 18101403 | 產(chǎn)品2 | 產(chǎn)品2 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
| 18101404 | 產(chǎn)品2 | 產(chǎn)品2 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
| 18101405 | 組合1 | 組合1 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
| 18101406 | 組合1 | 組合1 | 100 | - | 20 | 1.2 | [100,)箱,每20箱送1.2箱 |
政策分解到 sale_goods_policy_level
| 18101401 | 10 | 產(chǎn)品1 | 客戶1 | 全國 | 10 |
| 18101401 | 10 | 產(chǎn)品1 | 客戶2 | 全國 | 10 |
| 18101401 | 10 | 產(chǎn)品1 | 客戶3 | 全國 | 10 |
| 18101401 | 10 | 產(chǎn)品1 | 客戶4 | 全國 | 10 |
| 18101402 | 10 | 產(chǎn)品1 | 客戶1 | 市場(chǎng) | 20 |
| 18101402 | 10 | 產(chǎn)品1 | 客戶2 | 市場(chǎng) | 20 |
| - | - | - | - | - | - |
| 18101403 | 20 | 產(chǎn)品2 | 客戶1 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶2 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶3 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶4 | 全國 | 10 |
| 18101404 | 10 | 產(chǎn)品2 | 客戶3 | 市場(chǎng) | 20 |
| 18101404 | 10 | 產(chǎn)品2 | 客戶4 | 市場(chǎng) | 20 |
| - | - | - | - | - | - |
| 18101405 | 10 | 組合1 | 客戶1 | 全國 | 10 |
| 18101405 | 10 | 組合1 | 客戶2 | 全國 | 10 |
| 18101405 | 10 | 組合1 | 客戶3 | 全國 | 10 |
| 18101405 | 10 | 組合1 | 客戶4 | 全國 | 10 |
| 18101406 | 10 | 組合1 | 客戶2 | 地區(qū) | 30 |
根據(jù)優(yōu)先級(jí),去重(政策類型+產(chǎn)品+客戶)后結(jié)果如下 sale_goods_policy_list:
| 18101401 | 10 | 產(chǎn)品1 | 客戶3 | 全國 | 10 |
| 18101401 | 10 | 產(chǎn)品1 | 客戶4 | 全國 | 10 |
| 18101402 | 10 | 產(chǎn)品1 | 客戶1 | 市場(chǎng) | 20 |
| 18101402 | 10 | 產(chǎn)品1 | 客戶2 | 市場(chǎng) | 20 |
| - | - | - | - | - | - |
| 18101403 | 20 | 產(chǎn)品2 | 客戶1 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶2 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶3 | 全國 | 10 |
| 18101403 | 20 | 產(chǎn)品2 | 客戶4 | 全國 | 10 |
| 18101404 | 10 | 產(chǎn)品2 | 客戶3 | 市場(chǎng) | 20 |
| 18101404 | 10 | 產(chǎn)品2 | 客戶4 | 市場(chǎng) | 20 |
| - | - | - | - | - | - |
| 18101405 | 10 | 組合1 | 客戶1 | 全國 | 10 |
| 18101405 | 10 | 組合1 | 客戶3 | 全國 | 10 |
| 18101405 | 10 | 組合1 | 客戶4 | 全國 | 10 |
| 18101406 | 10 | 組合1 | 客戶2 | 地區(qū) | 30 |
計(jì)算訂單配送量
訂單數(shù)據(jù):
| SO18101401 | 181014 | 客戶1 | 產(chǎn)品1 | 190 | 箱 | 29 |
| - | - | - | 產(chǎn)品2 | 210 | 箱 | 20 |
| SO18101502 | 181015 | 客戶4 | 產(chǎn)品1 | 90 | 箱 | 9 |
| - | - | - | 產(chǎn)品2 | 240 | 箱 | 36 |
計(jì)算訂單配送量
客戶1–產(chǎn)品1:
??18101402政策,10箱起送,每10箱送1.1箱,則配送量 = 190 / 10 * 1.1 = 20.9, 20箱
??18101405政策,100箱起送,每20箱送1箱,則配送量 = 190 / 20 * 1 = 9.5, 9箱(產(chǎn)品1+產(chǎn)品2,共9箱,這里取9箱產(chǎn)品1),配送總量:29箱
客戶1–產(chǎn)品2:
??18101403政策,100箱起送,每20箱送1箱,則配送量 = 210 / 20 * 1 = 10.5, 10箱
??18101405政策,100箱起送,每20箱送1箱,則配送量 = 210 / 20 * 1 = 10.5, 10箱(產(chǎn)品1+產(chǎn)品2,共10箱,這里取10箱產(chǎn)品1),配送總量:20箱
客戶4–產(chǎn)品1:
??18101401政策,10箱起送,每10箱送1箱,則配送量 = 90 / 10 * 1=9箱
??18101405政策,100箱起送,每20箱送1箱,則配送量 = 0箱
客戶4–產(chǎn)品2:
??18101403政策,100箱起送,每20箱送1箱,則配送量 = 240 / 20 * 1 = 12箱
??18101404政策,100箱起送,每20箱送1箱,則配送量 = 240 / 20 * 1 = 12箱
??18101405政策,100箱起送,每20箱送1箱,則配送量 = 240/20*1 = 12箱(產(chǎn)品1+產(chǎn)品2,共12箱,這里取12箱產(chǎn)品2),配送總量:36箱
三、小結(jié)
1、政策維護(hù)合理性檢驗(yàn)欠缺
本方案雖做了政策優(yōu)先級(jí)控制,客戶 > 地區(qū) > 市場(chǎng) > 全國,但是全國政策明細(xì)一定比市場(chǎng)政策明細(xì)力度小嗎?未必,程序沒有檢測(cè)。
2、訂單計(jì)算最終配送量有點(diǎn)復(fù)雜
1)配送產(chǎn)品涉及產(chǎn)品組合時(shí),允許客戶調(diào)整配送產(chǎn)品數(shù)量;
2)計(jì)算產(chǎn)品配送量時(shí),要考慮政策疊加性:一方面來自可疊加的政策(政策類型為20的政策),另一方面來自產(chǎn)品組合的政策;
3)訂單修改,需要重新計(jì)算配送量。
更多企業(yè)信息化文章:中小企業(yè)信息化之路
關(guān)于博主:老馬歷寫記
總結(jié)
以上是生活随笔為你收集整理的谈谈快消品中小饮料企业产品配送政策方案设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实习:BG版图设计
- 下一篇: 看完这篇文章,你再也不怕用solidwo