99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

海外倉WMS盤點(diǎn)功能設(shè)計(jì):賬實(shí)一致與庫存差異的解決之道

海外倉WMS盤點(diǎn)功能設(shè)計(jì):賬實(shí)一致與庫存差異的解決之道 簡(jiǎn)介面向海外倉WMS盤點(diǎn)模塊的產(chǎn)品設(shè)計(jì)文檔適合倉儲(chǔ)系統(tǒng)產(chǎn)品經(jīng)理、設(shè)計(jì)師及開發(fā)人員閱讀。文檔從盤點(diǎn)業(yè)務(wù)本質(zhì)出發(fā)系統(tǒng)梳理明盤與暗盤、靜態(tài)與動(dòng)態(tài)盤點(diǎn)、循環(huán)盤點(diǎn)、動(dòng)碰盤點(diǎn)及指定盤點(diǎn)等概念并結(jié)合盤虧、盤盈、盤平三類結(jié)果說明差異調(diào)整邏輯同時(shí)比較了不同盤點(diǎn)方式的效率與適用場(chǎng)景。內(nèi)容源自實(shí)際項(xiàng)目經(jīng)驗(yàn)強(qiáng)調(diào)“以最合適當(dāng)前業(yè)務(wù)的方案來設(shè)計(jì)”而非堆砌功能對(duì)創(chuàng)建盤點(diǎn)單、初盤、復(fù)盤、庫存鎖定等流程要點(diǎn)均有說明可幫助讀者理清盤點(diǎn)設(shè)計(jì)主線、規(guī)避常見踩坑。資源僅含1個(gè)docx文檔大小442KB文字內(nèi)容緊湊、可直接閱讀學(xué)習(xí)。目前已有383人學(xué)習(xí)下載適合正在規(guī)劃或優(yōu)化WMS盤點(diǎn)模塊的從業(yè)者參考。1. 海外倉WMS的盤點(diǎn)功能設(shè)計(jì)為什么賬實(shí)一致這件“小事”能卡住整個(gè)倉海外倉 WMS 的盤點(diǎn)功能設(shè)計(jì)看著就是“盤點(diǎn)單 盤點(diǎn)任務(wù) 差異調(diào)整”三件套真正上線后它卻往往是整個(gè)倉儲(chǔ)系統(tǒng)里最容易翻車的模塊。倉庫的收發(fā)貨都能靠自動(dòng)化扛住唯獨(dú)盤點(diǎn)要面對(duì)本地雇員、跨時(shí)區(qū)作業(yè)和多平臺(tái)庫存共享的黑匣子賬面庫存和實(shí)物庫存永遠(yuǎn)差一點(diǎn)差在哪里、什么時(shí)候開始差的誰都說不上來。賬實(shí)不一致的直接后果是超賣、退款、補(bǔ)發(fā)和罰款每一筆都是錢。這篇筆記按我在跨境倉儲(chǔ)項(xiàng)目里常用的方案把盤點(diǎn)功能拆成盤點(diǎn)單類型、狀態(tài)機(jī)、凍結(jié)并發(fā)、執(zhí)行端設(shè)計(jì)和避坑清單來寫。適合正在做海外倉 WMS 產(chǎn)品設(shè)計(jì)、后端開發(fā)或倉配運(yùn)營的同行尤其是被“賬實(shí)不一致”折騰過的人。讀完你至少能照著搭一套最小可用的盤點(diǎn)模塊并知道上線前哪些雷必須先拆掉。2. 盤點(diǎn)功能設(shè)計(jì)的底層邏輯從盤點(diǎn)單類型到狀態(tài)機(jī)2.1 盤點(diǎn)單類型全面盤點(diǎn)、動(dòng)碰盤點(diǎn)、抽盤在海外倉的適用邊界盤點(diǎn)功能設(shè)計(jì)的第一步不是建表而是定義三種盤點(diǎn)單類型。海外倉的 SKU 動(dòng)銷率差異極大有的 SKU 一天出幾十單有的半年動(dòng)一次。如果用一套邏輯做所有盤點(diǎn)要么把全倉凍得沒法出貨要么盤完發(fā)現(xiàn)慢銷庫存壓根沒人管。全面盤點(diǎn)適合關(guān)倉、轉(zhuǎn)倉、財(cái)務(wù)年結(jié)這類低頻場(chǎng)景。它的特征是范圍大、耗時(shí)長下發(fā)后需要凍結(jié)整個(gè)倉庫或指定的庫區(qū)。在海外倉這種盤點(diǎn)通常會(huì)安排在本地節(jié)假日或午夜低峰期因?yàn)橐坏﹥鼋Y(jié)出庫、上架、補(bǔ)貨全部阻塞哪怕只有 2 小時(shí)也會(huì)積壓一波訂單。動(dòng)碰盤點(diǎn)才是海外倉日常的主流。動(dòng)碰盤點(diǎn)的核心邏輯是最近 N 天內(nèi)發(fā)生過移庫、出庫、上架、調(diào)整的 SKU 或庫位是庫存準(zhǔn)確率最容易崩的地方。系統(tǒng)定時(shí)跑任務(wù)把這些 SKU 和庫位圈出來生成盤點(diǎn)單在高頻作業(yè)里做短、平、快的小規(guī)模盤點(diǎn)。常見的動(dòng)碰窗口是 7 天、30 天窗口太小會(huì)導(dǎo)致同一個(gè) SKU 反復(fù)被盤窗口太大則全倉都“動(dòng)過”失去動(dòng)碰的意義。抽盤則由差異指標(biāo)驅(qū)動(dòng)。它的目標(biāo)不是全倉或動(dòng)碰而是“哪里出過問題盤哪里”差異率高的庫位、庫存金額大的 SKU、客退臨時(shí)暫存區(qū)、最近修改過數(shù)據(jù)庫的庫位。抽盤可以單獨(dú)發(fā)起也可以作為全面盤點(diǎn)或動(dòng)碰盤點(diǎn)復(fù)查的補(bǔ)充手段。以下是一張最小可用的盤點(diǎn)單主表結(jié)構(gòu)覆蓋三種類型并且預(yù)留了“觸發(fā)策略”字段給后續(xù)調(diào)度配置。-- 盤點(diǎn)單主表一個(gè)盤點(diǎn)單對(duì)應(yīng)一次盤點(diǎn)計(jì)劃 CREATE TABLE stocktake_order ( id BIGINT PRIMARY KEY, tenant_id BIGINT NOT NULL, warehouse_id BIGINT NOT NULL, stocktake_type TINYINT NOT NULL, -- 1全面 2動(dòng)碰 3抽盤 status VARCHAR(20) NOT NULL, planned_start_time DATETIME, planned_end_time DATETIME, frozen_scope VARCHAR(2000), -- JSON: 庫區(qū)/庫位/貨主條件 trigger_strategy VARCHAR(2000), -- 動(dòng)碰窗口/ABC參數(shù)快照 created_by VARCHAR(64), created_at DATETIME DEFAULT CURRENT_TIMESTAMP );tenant_id 和 warehouse_id 都不能少海外倉經(jīng)常一個(gè) WMS 服務(wù)多個(gè)貨主和多個(gè)實(shí)體倉。frozen_scope 存盤點(diǎn)范圍快照比如{zones: [A], loc_start: A-01-01, loc_end: A-04-99}。trigger_strategy 則記錄這次盤點(diǎn)按照哪些規(guī)則生成這個(gè)字段能在后續(xù)復(fù)盤時(shí)看出“這批庫位為什么被盤”。動(dòng)碰盤點(diǎn)生成時(shí)需要結(jié)合庫存流水和當(dāng)前庫存水平動(dòng)態(tài)計(jì)算。比如過去 7 天出庫數(shù)量大于 0且當(dāng)前庫存數(shù)量大于 0 的 SKU 組合生成一條盤點(diǎn)任務(wù)。這里有個(gè)容易忽視的點(diǎn)動(dòng)碰不能只看出庫客退、移庫、上架同樣會(huì)造成賬實(shí)偏移設(shè)計(jì)候選集時(shí)要把這幾種流水事件都納入。2.2 盤點(diǎn)單狀態(tài)機(jī)草稿、待審核、已下發(fā)、盤點(diǎn)中、差異審核、已調(diào)整、已關(guān)閉盤點(diǎn)單不是一條 “new - done” 的簡(jiǎn)單流程。盤點(diǎn)涉及庫位凍結(jié)、人工計(jì)數(shù)、差異確認(rèn)、財(cái)務(wù)調(diào)整每一步都可能被駁回。我把狀態(tài)機(jī)拆成這樣狀態(tài)可觸發(fā)動(dòng)作目標(biāo)狀態(tài)關(guān)鍵條件DRAFTsubmitPENDING_REVIEW盤點(diǎn)范圍已保存PENDING_REVIEWapprovePUBLISHED審核人通過PUBLISHEDstartIN_PROGRESS凍結(jié)范圍已生效IN_PROGRESSfinish_countingDIFF_PENDING所有盤點(diǎn)任務(wù)完成DIFF_PENDINGconfirm_diffADJUSTED差異審核通過ADJUSTEDarchiveCLOSED調(diào)整單已過賬這個(gè)流程里有三個(gè)容易被忽略的點(diǎn)。第一PENDING_REVIEW 不是擺設(shè)海外倉盤點(diǎn)往往由國內(nèi)總部下發(fā)、海外團(tuán)隊(duì)執(zhí)行中間隔著時(shí)差沒有審核環(huán)節(jié)很容易出現(xiàn)“誤操作凍結(jié)了整個(gè)倉庫”的失控事故。第二ADJUSTED 不能直接跳 CLOSED必須等庫存調(diào)整單完成過賬、財(cái)務(wù)流水寫入后再關(guān)閉否則數(shù)量調(diào)整了成本數(shù)據(jù)跟不上。第三DIFF_PENDING 狀態(tài)必須支持“駁回回 IN_PROGRESS”的逆向流轉(zhuǎn)因?yàn)槿斯び?jì)數(shù)錯(cuò)誤、漏盤庫位都會(huì)讓差異數(shù)據(jù)作廢。狀態(tài)機(jī)的代碼實(shí)現(xiàn)不建議用一堆 if-else 硬編碼用轉(zhuǎn)移表維護(hù)起來更清晰。下面是最小實(shí)現(xiàn)思路from dataclasses import dataclass dataclass class StocktakeOrder: order_id: str status: str frozen_scope: dict def transition(self, event: str): rules { (DRAFT, submit): PENDING_REVIEW, (PENDING_REVIEW, approve): PUBLISHED, (PENDING_REVIEW, reject): DRAFT, (PUBLISHED, start): IN_PROGRESS, (IN_PROGRESS, finish_counting): DIFF_PENDING, (IN_PROGRESS, cancel): DRAFT, # 盤點(diǎn)中斷全部任務(wù)作廢 (DIFF_PENDING, confirm_diff): ADJUSTED, (DIFF_PENDING, need_recount): IN_PROGRESS, # 打回復(fù)盤 (ADJUSTED, archive): CLOSED, } key (self.status, event) if key not in rules: raise ValueError(f非法流轉(zhuǎn): {status} {event}) self.status rules[key]status 是一個(gè)字符串但建議在數(shù)據(jù)庫里用 VARCHAR 存DRAFT/PENDING_REVIEW/PUBLISHED/...可讀性遠(yuǎn)好于數(shù)字。狀態(tài)流轉(zhuǎn)里need_recount這個(gè)動(dòng)作很關(guān)鍵海外倉現(xiàn)場(chǎng)人工盤點(diǎn)時(shí)把某一行 SKU 數(shù)錯(cuò)了是常態(tài)如果沒有打回機(jī)制主管只能手工改差異單容易留下臟數(shù)據(jù)。使用轉(zhuǎn)移表的好處是后續(xù)要加“盤點(diǎn)中允許部分提交”之類的狀態(tài)只需要在 rules 里加一條邊不用動(dòng)業(yè)務(wù)主流程。2.3 動(dòng)碰盤點(diǎn)候選集SQL圈定規(guī)則和參數(shù)調(diào)優(yōu)動(dòng)碰盤點(diǎn)的候選集我一般直接用 SQL 從庫存流水表查避免在業(yè)務(wù)代碼里逐單判斷。假設(shè)我們已經(jīng)有一張ledger_movements庫存流水表記錄了每一次數(shù)量變動(dòng)包含 sku_id、batch_no、event_type、quantity_change、event_time 等字段。下面這段 SQL 可以圈出最近 30 天動(dòng)過的 SKU 和批次SELECT s.sku_id, s.batch_no, loc.zone_code, SUM(m.quantity_change) AS movement_qty, s.qty_onhand FROM stock_level s LEFT JOIN location loc ON s.loc_id loc.loc_id LEFT JOIN ledger_movements m ON m.sku_id s.sku_id AND m.batch_no s.batch_no AND m.event_time DATE_SUB(NOW(), INTERVAL 30 DAY) AND m.event_type IN (OUTBOUND_PICK, OUTBOUND_REJECT, INBOUND_PUTAWAY) WHERE s.qty_onhand 0 GROUP BY s.sku_id, s.batch_no, loc.zone_code, s.qty_onhand HAVING SUM(m.quantity_change) 0 ORDER BY s.qty_onhand DESC, movement_qty DESC這段 SQL 的關(guān)鍵是它從當(dāng)前的stock_level出發(fā)而不是從訂單表出發(fā)。因?yàn)橛唵螤顟B(tài)可能還在中轉(zhuǎn)但流水已經(jīng)真實(shí)發(fā)生過從庫存水平反查流水才能覆蓋“貨到了但單沒錄”的庫存黑匣子問題。INTERVAL 30 DAY和event_type列表都是參數(shù)動(dòng)碰窗口可以直接做成倉儲(chǔ)參數(shù)配置。參數(shù)調(diào)優(yōu)上我一般會(huì)設(shè)三個(gè)檔位小倉SKU 少于 2 萬用 7 天窗口選高動(dòng)銷 SKU中大倉用 30 天窗口但要限制單次盤點(diǎn)最大任務(wù)數(shù)比如 2000 條避免一次生成太多任務(wù)導(dǎo)致海外倉人手不夠。還有一個(gè)容易被忽略的參數(shù)是limitation: 動(dòng)碰盤點(diǎn)一定要限行數(shù)否則在旺季跑出來幾萬條任務(wù)沒人盤得完系統(tǒng)一攤爛賬。3. 盤點(diǎn)與出入庫并發(fā)凍結(jié)策略和差異調(diào)整的實(shí)操設(shè)計(jì)3.1 盤點(diǎn)凍結(jié)粒度庫位級(jí)、SKU級(jí)還是整倉凍結(jié)盤點(diǎn)最怕的是“盤著盤著庫存還在變”。如果盤點(diǎn)開始時(shí)記一個(gè)數(shù)盤點(diǎn)過程中又有人出庫最后差異根本算不清楚。所以設(shè)計(jì)盤點(diǎn)功能時(shí)庫存凍結(jié)策略是核心。整倉凍結(jié)最簡(jiǎn)單但代價(jià)最高只適合全面盤點(diǎn)。SKU 級(jí)凍結(jié)在海外倉并不好用因?yàn)橐粋€(gè) SKU 往往散落在多個(gè)庫位凍結(jié)一個(gè) SKU 會(huì)牽扯很多物理位置盤點(diǎn)任務(wù)會(huì)變成跨貨架找貨效率其實(shí)不如在庫位里一次性點(diǎn)完。我常用的方案是庫位級(jí)凍結(jié)盤點(diǎn)任務(wù)下發(fā)時(shí)把任務(wù)涉及的所有庫位打上STOCKTAKE_LOCKED標(biāo)記然后出庫分配、上架推薦、移庫任務(wù)全部繞開這些庫位。分配邏輯里的關(guān)鍵判斷最好用一段獨(dú)立代碼段寫清楚而不是散落到各個(gè)單據(jù)接口里def allocate_inventory(tenant_id, order_line, loc_id): loc get_location(tenant_id, loc_id) if loc.lock_status STOCKTAKE_LOCKED: # 跳過鎖定位優(yōu)先分配相鄰庫位并記錄一次“盤點(diǎn)回避” return allocate_from_alternative_loc(order_line, exclude_loc_ids[loc_id]) # 正常分配流程 warehouse_inventory_deduct(tenant_id, order_line.sku_id, loc_id, order_line.qty)這段代碼的要點(diǎn)是盤點(diǎn)凍結(jié)不能只影響“查詢庫存”還要影響“分配動(dòng)作”。很多時(shí)候盤點(diǎn)和出庫是兩個(gè)團(tuán)隊(duì)一個(gè)在賬上凍結(jié)另一個(gè)不知道照樣把庫位里的貨發(fā)走。allocate_from_alternative_loc里補(bǔ)充了exclude_loc_ids防止系統(tǒng)反復(fù)把下一單又分配到被凍結(jié)庫位形成負(fù)庫存。另一個(gè)并發(fā)坑是盤點(diǎn)單發(fā)布的時(shí)間點(diǎn)。如果盤點(diǎn)單在下午 4 點(diǎn)下發(fā)而海外倉上午 10 點(diǎn)已經(jīng)生成了一批揀貨任務(wù)這些任務(wù)里可能正好包含被凍結(jié)的庫位。所以盤點(diǎn)單發(fā)布動(dòng)作本身要做一次“庫存在位校驗(yàn)”如果一個(gè)庫位還有未完成的出庫任務(wù)要么先完成再凍結(jié)要么把這些任務(wù)強(qiáng)制改派到其他庫位。設(shè)計(jì)上PUBLISHED狀態(tài)的進(jìn)入條件必須包含“該凍結(jié)范圍內(nèi)無未完成的揀貨任務(wù)”。3.2 盤點(diǎn)差異調(diào)整流程先從差異快照生成調(diào)整單再把差異記入賬本盤點(diǎn)計(jì)數(shù)完成后WMS 拿到的是每個(gè)庫位每個(gè) SKU 的實(shí)盤數(shù)量。差異值應(yīng)該用“實(shí)盤數(shù)”減“盤點(diǎn)開始時(shí)賬面快照”而不是減“當(dāng)前實(shí)時(shí)庫存”。因?yàn)楸P點(diǎn)過程中可能由于操作失誤把某個(gè)庫位錯(cuò)放進(jìn)了別的任務(wù)實(shí)時(shí)賬面早就變了。所以在盤點(diǎn)任務(wù)開始前系統(tǒng)必須先凍結(jié)當(dāng)時(shí)的賬面數(shù)量作為 baseline。當(dāng)差異確認(rèn)后需要走一條嚴(yán)肅的鏈路差異記錄 - 差異審核 - 生成庫存調(diào)整單 - 調(diào)整單過賬 - 計(jì)入庫存流水。其中最忌諱的是“看到差異直接改庫存表”這條捷徑會(huì)把審計(jì)鏈條打斷以后出問題沒人能解釋。下面這段邏輯是差異確認(rèn)時(shí)最重要的防線def confirm_stocktake_diff(tenant_id, diff_record): current_qty get_current_qty( tenant_id, diff_record.loc_id, diff_record.sku_id, diff_record.batch_no ) if current_qty ! diff_record.system_qty: # 盤點(diǎn)快照與實(shí)際當(dāng)前賬不一致說明盤點(diǎn)過程中發(fā)生庫存異動(dòng) raise NeedRecountError(庫存已異動(dòng)請(qǐng)復(fù)盤該庫位) # 生成調(diào)整單等待過賬 adjustment_order create_adjustment_order( tenant_idtenant_id, loc_iddiff_record.loc_id, sku_iddiff_record.sku_id, batch_nodiff_record.batch_no, diff_qtydiff_record.counted_qty - diff_record.system_qty, sourceSTOCKTAKE, ref_iddiff_record.record_id, ) post_adjustment(adjustment_order)注意current_qty ! diff_record.system_qty這一筷子。很多人會(huì)問差異都確認(rèn)了為什么還要再看當(dāng)前庫存因?yàn)閺谋P點(diǎn)快照到差異確認(rèn)之間的時(shí)間窗里如果有一張入庫單恰好被人工修正過當(dāng)前賬已經(jīng)變了這時(shí)再去調(diào)整就會(huì)造成二次差異。NeedRecoverError打回去重新盤比強(qiáng)行調(diào)整更安全。這種“寧可打回也不要錯(cuò)賬”的思路是盤點(diǎn)功能上線后少接投訴的關(guān)鍵。3.3 差異率超過閾值自動(dòng)觸發(fā)復(fù)盤閾值設(shè)置要分絕對(duì)值和相對(duì)值不是每一條差異都需要直接進(jìn)入調(diào)整流程?,F(xiàn)場(chǎng)點(diǎn)數(shù)時(shí)看串行、漏掃、重復(fù)掃都太容易發(fā)生了。如果系統(tǒng)對(duì)每一條差異都自動(dòng)調(diào)賬等于把人工錯(cuò)誤寫進(jìn)庫存賬本。所以設(shè)計(jì)上必須有一個(gè)“復(fù)盤”攔截點(diǎn)。復(fù)盤攔截規(guī)則通常長這樣def should_recount(diff_qty, system_qty): diff_abs abs(diff_qty) if system_qty 0 and diff_abs 0: return True diff_rate diff_abs / system_qty if system_qty else 0 # 兩個(gè)閾值都有絕對(duì)值防低庫存誤判相對(duì)值防高庫存大額差異漏盤 if diff_abs 10 or diff_rate 0.05: return True return False這套規(guī)則的參數(shù)10和0.05是典型的默認(rèn)值。庫存數(shù)量是整數(shù)的 SKU絕對(duì)差異 10 件已經(jīng)說明大概率有問題而庫存量很大的標(biāo)品差異 5 件可能是秤重誤差不值得為它停機(jī)復(fù)盤。相對(duì)閾值則用來攔截那些庫存只有 20 件卻少了 6 件的嚴(yán)重差異。兩套閾值都要可配置海外倉的貨主可能有些是高價(jià)值低數(shù)量商品有些是大宗耗材規(guī)則不做成參數(shù)就只能改代碼。復(fù)盤任務(wù)生成后要有獨(dú)立的REVIEWING狀態(tài)并且不能占住原來的盤點(diǎn)任務(wù)。我通常的做法是復(fù)制一條新的盤點(diǎn)任務(wù)task 類型標(biāo)為RECOUNT_AFTER_DIFF原任務(wù)保留差異記錄。這樣既保留了審計(jì)鏈路又不會(huì)因?yàn)閺?fù)盤打斷整個(gè)盤點(diǎn)單的進(jìn)度。4. 盤點(diǎn)執(zhí)行端設(shè)計(jì)任務(wù)拆解、批次錄入與復(fù)核策略4.1 盤點(diǎn)任務(wù)拆解按庫位分組比按SKU分組更適合海外倉盤點(diǎn)單下發(fā)之后要拆成可執(zhí)行的任務(wù)。這里有一個(gè)容易被忽視的產(chǎn)品決策任務(wù)是按庫位拆還是按 SKU 拆在海外倉實(shí)際作業(yè)里庫位是物理容器一個(gè)貨架上可能放 30 個(gè) SKU如果按 SKU 拆一個(gè)責(zé)任人要去幾十個(gè)貨架找同一個(gè) SKU走得遠(yuǎn)、花時(shí)長還容易漏掉零庫存庫位。按庫位拆的好處是一次走到一個(gè)庫位對(duì)該庫位上所有庫存行逐條清點(diǎn)點(diǎn)完就封掉任務(wù)邊界非常清楚。我建議的拆法是這樣的stocktake_task一個(gè)任務(wù)綁定一個(gè)loc_id任務(wù)內(nèi)容包含該庫位上所有需要盤點(diǎn)的 SKU 批次行。CREATE TABLE stocktake_task ( task_id BIGINT PRIMARY KEY, order_id BIGINT NOT NULL, loc_id BIGINT NOT NULL, sku_id BIGINT, batch_no VARCHAR(64), expected_qty DECIMAL(12,4), counted_qty DECIMAL(12,4), diff_qty DECIMAL(12,4), status VARCHAR(20), -- PENDING / COUNTED / REVIEWING created_at DATETIME DEFAULT CURRENT_TIMESTAMP );這里一個(gè)task_id對(duì)應(yīng)“庫位 SKU 批次”的一行。也就是說同一個(gè)庫位如果有兩個(gè)批次會(huì)拆成兩行但兩行都掛在同一個(gè)loc_id下。這樣 PDA 上按庫位掃完系統(tǒng)可以立刻判斷這個(gè)庫位是否已經(jīng)全部清點(diǎn)完畢。執(zhí)行端還有一個(gè)容易漏的點(diǎn)零庫存庫位也要能盤點(diǎn)。海外倉經(jīng)常出現(xiàn)“系統(tǒng)里庫存是 0但角落還有一箱貨”的情況如果任務(wù)生成時(shí)只撈qty_onhand 0的庫位這箱貨永遠(yuǎn)盤不出來。按庫位拆任務(wù)時(shí)應(yīng)當(dāng)把該庫位所有庫存位的 SKU 行都拉出來沒有賬面數(shù)量的也要允許輸入實(shí)盤數(shù)量再通過差異確認(rèn)把它盤盈出來。4.2 批次和有效期錄入同一庫位兩個(gè)批次不能合并海外倉的庫存管理通常帶批次和有效期尤其是食品、個(gè)護(hù)、化妝品類目的倉庫。盤點(diǎn)功能如果只讓學(xué)生數(shù)一個(gè)總數(shù)量不區(qū)分批次賬到時(shí)候依然對(duì)不上因?yàn)椴煌蔚某杀竞托谕耆煌?。?PDA 或手機(jī) H5 的盤點(diǎn)錄入界面我看到過最多的問題是同一 SKU 在同一庫位有兩個(gè)批次現(xiàn)場(chǎng)作業(yè)人員為了快把兩個(gè)批次的數(shù)量合在一起錄成一行。系統(tǒng)一比對(duì)發(fā)現(xiàn)第一個(gè)批次少了 10第二個(gè)批次多了 10實(shí)際上是沒錄錯(cuò)只是拆批錯(cuò)了。所以提交的數(shù)據(jù)結(jié)構(gòu)必須按“庫位 SKU batch_no”逐行強(qiáng)制拆開不能允許合并錄入。接口請(qǐng)求體大概是這個(gè)結(jié)構(gòu){ task_id: ST20240515001, loc_id: A-01-03, lines: [ { sku_id: SKU001, batch_no: BATCH20240601, exp_date: 2026-06-01, system_qty: 20, counted_qty: 18 }, { sku_id: SKU001, batch_no: BATCH20241101, exp_date: 2026-11-01, system_qty: 0, counted_qty: 2 } ] }后端收到這個(gè) payload 之后要做的事不是直接寫庫存而是先把每一行的system_qty和庫里盤點(diǎn)快照比對(duì)如果對(duì)不上就說明任務(wù)被并發(fā)影響了直接報(bào)錯(cuò)。另一個(gè)檢測(cè)點(diǎn)是如果counted_qty大于system_qty且同時(shí)該批次效期與系統(tǒng)不一致要提示“是否新增批次”而不是靜默更新。批次盤點(diǎn)還有一個(gè)隱藏坑過期批次和正常批次放在同一個(gè)庫位。如果用總數(shù)量去核差異會(huì)把一個(gè)快過期批次的損耗掩蓋到正常批次里。正確做法是把 exp_date 顯示在任務(wù)列表里盤點(diǎn)差異超過閾值時(shí)自動(dòng)把該任務(wù)標(biāo)記為REVIEWING并推給主管主管需要決定要不要走報(bào)損流程。4.3 復(fù)核策略差異率閾值、復(fù)盤窗口與責(zé)任定位復(fù)核策略是盤點(diǎn)功能設(shè)計(jì)的質(zhì)量閘門。所謂復(fù)核不是讓主管看一遍數(shù)字就點(diǎn)通過而是讓他有能力判斷“這個(gè)差異是真實(shí)存在還是數(shù)錯(cuò)了”。所以差異審核界面必須有三個(gè)東西預(yù)期數(shù)量、實(shí)盤數(shù)量、最近動(dòng)賬記錄。沒有最近動(dòng)賬記錄主管沒法知道這批貨為什么少只能憑感覺點(diǎn)頭。我的做法是盤點(diǎn)任務(wù)完成率達(dá)到 100% 才允許進(jìn)入差異審核每條差異都展示最近 30 天的出入庫流水摘要按時(shí)間倒序。如果差異記錄顯示最后一條流水是昨天的大批量出庫而今天盤點(diǎn)少了對(duì)應(yīng)數(shù)量十有八九就是分配錯(cuò)庫位或者缺貨漏發(fā)而不是盤點(diǎn)人員數(shù)錯(cuò)。復(fù)盤窗口一般配置成 24 小時(shí)。超過 24 小時(shí)還沒復(fù)盤的差異任務(wù)系統(tǒng)要把任務(wù)重新分配給主管重新盤點(diǎn)而不是無限期掛起。復(fù)盤次數(shù)也要限制同一個(gè)任務(wù)最多復(fù)盤 2 次第 3 次如果仍然有差異必須升級(jí)到倉庫經(jīng)理級(jí)別的人工介入。這個(gè)升級(jí)機(jī)制看著簡(jiǎn)單實(shí)際上能擋住不少“復(fù)盤一次兩次都失敗最后沒人管”的爛尾任務(wù)。還有一點(diǎn)值得留意復(fù)核通過的差異系統(tǒng)要生成 JIT 的調(diào)整單如果調(diào)整單過賬失敗必須保留“差異已確認(rèn)待調(diào)整”的狀態(tài)而不是把差異記錄滅掉。我見過一個(gè)項(xiàng)目在確認(rèn)差異時(shí)直接把差異狀態(tài)改成“已完成”調(diào)整單卻沒生成結(jié)果庫存賬越來越亂復(fù)盤都無從下手。5. 海外倉盤點(diǎn)功能設(shè)計(jì)的5個(gè)高頻坑與排查方法5.1 盤點(diǎn)單下發(fā)后庫存還在變動(dòng)差異永遠(yuǎn)解釋不清現(xiàn)象盤點(diǎn)開始時(shí)間和結(jié)束時(shí)間之間庫位的賬面庫存變了盤點(diǎn)差異和實(shí)時(shí)庫存對(duì)不上復(fù)盤也復(fù)盤不出結(jié)果。原因盤點(diǎn)單發(fā)布時(shí)只凍結(jié)了庫存查詢權(quán)限沒有凍結(jié)出庫分配動(dòng)作。有些已經(jīng)生成的揀貨波次還在占用這些庫位盤點(diǎn)過程中仍不斷有庫位被扣減。解決盤點(diǎn)單進(jìn)入PUBLISHED狀態(tài)前必須把該盤點(diǎn)范圍內(nèi)所有未完成的揀貨任務(wù)消耗掉或改派到非凍結(jié)庫位。庫存分配的查詢路徑必須帶lock_status過濾讓凍結(jié)庫位不出現(xiàn)在可分配列表里。5.2 全面盤點(diǎn)把整個(gè)倉庫凍住出庫訂單集體延遲現(xiàn)象一次全面盤點(diǎn)后當(dāng)天出庫時(shí)效報(bào)表直接爆表平臺(tái)上的發(fā)貨承諾大面積超時(shí)。原因復(fù)盤代碼用錯(cuò)了一個(gè)參數(shù)全面盤點(diǎn)把整個(gè)warehouse_id的凍結(jié)狀態(tài)設(shè)成了ALL_LOCKED等于貨架全站鎖死。海外倉本地團(tuán)隊(duì)在白天作業(yè)凍結(jié)全倉讓揀貨員空等了一整天。解決支持按庫區(qū)分片凍結(jié)。盤點(diǎn)單下發(fā)時(shí)可以配置“同時(shí)最大凍結(jié)庫位數(shù)”比如一次最多凍結(jié) 100 個(gè)庫位盤完一個(gè)區(qū)釋放一個(gè)區(qū)。如果需要全倉盤點(diǎn)也要按區(qū)輪轉(zhuǎn)保證至少有一條通道能繼續(xù)發(fā)貨。5.3 盤虧調(diào)整單只改數(shù)量沒同步成本導(dǎo)致財(cái)務(wù)差異現(xiàn)象盤點(diǎn)結(jié)束后庫存數(shù)量正確了但月末財(cái)務(wù)結(jié)算時(shí)庫存金額差了一大截差異單根本看不懂。原因庫存調(diào)整單只寫了 quantity_change沒有寫成本變化。盤點(diǎn)盤虧應(yīng)該按移動(dòng)平均價(jià)或 FIFO 批次成本扣減庫存金額盤盈則要按當(dāng)前成本入賬。只調(diào)數(shù)量不調(diào)金額資產(chǎn)負(fù)債表的庫存科目就對(duì)不上。解決調(diào)整單過賬時(shí)必須在同一事務(wù)里寫入“數(shù)量變更 金額變更”。設(shè)計(jì)上給adjustment_order_line增加unit_cost、amount_before、amount_after字段并由 WMS 的計(jì)價(jià)引擎統(tǒng)一計(jì)算。如果海外倉對(duì)接了第三方財(cái)務(wù)系統(tǒng)還要在調(diào)整單上生成一個(gè)唯一的財(cái)務(wù)憑證號(hào)。5.4 PDA盤點(diǎn)時(shí)同一個(gè)SKU分布兩個(gè)庫位現(xiàn)場(chǎng)漏盤一個(gè)貨位現(xiàn)象實(shí)盤數(shù)量比賬面少 20 箱復(fù)盤發(fā)現(xiàn)另一個(gè)庫位明明還有 20 箱是盤點(diǎn)人員沒走到那個(gè)庫位。原因盤點(diǎn)任務(wù)生成時(shí)按“有庫存 SKU”撈記錄沒有把同一 SKU 的多個(gè)分布庫位全部綁定到同一張任務(wù)單里?,F(xiàn)場(chǎng)人員按 SKU 名掃完一個(gè)庫位就結(jié)束沒有看到另一個(gè)庫位的任務(wù)提示。解決任務(wù)拆分必須按庫位不能按 SKU。任務(wù)清單里要把同一 SKU 的所有庫位分組顯示并且規(guī)定必須逐庫位提交。系統(tǒng)里還要配置一個(gè)提交前校驗(yàn)如果某 SKU 在該盤點(diǎn)單范圍內(nèi)仍存在PENDING狀態(tài)的任務(wù)禁止提交整個(gè)盤點(diǎn)單。5.5 平臺(tái)庫存同步與盤點(diǎn)差異調(diào)整互相覆蓋現(xiàn)象盤點(diǎn)調(diào)整后平臺(tái)庫存數(shù)量是對(duì)的但過了一小時(shí)又被覆蓋回舊數(shù)量平臺(tái)銷量和總庫存都對(duì)不上。原因海外倉對(duì)接平臺(tái)店鋪庫存時(shí)多數(shù)是整包全量覆蓋同步。盤點(diǎn)調(diào)整單生成一條總庫存變更平臺(tái)庫存同步接口覆蓋了一次另一側(cè)上架單又觸發(fā)增量同步把總數(shù)覆蓋回去了。兩個(gè)方向互相打架沒有冪等機(jī)制。解決給所有庫存同步事件加一個(gè)event_id作為冪等鍵平臺(tái)同步接口收到同一個(gè) event_id 就跳過。盤點(diǎn)調(diào)整寫入庫存流水時(shí)要生成一條“盤點(diǎn)差異同步事件”而不是直接修改平臺(tái)庫存。全量同步只作為兜底日常以增量事件為準(zhǔn)。6. 交付前驗(yàn)證盤點(diǎn)功能差異率口徑和模擬盤點(diǎn)技巧盤點(diǎn)功能寫完后我看項(xiàng)目的第一個(gè)指標(biāo)不是“盤點(diǎn)完成率”而是“盤點(diǎn)差異率”。但這里的差異率口徑要先說死差異率 存在差異的任務(wù)行數(shù) / 本次盤點(diǎn)任務(wù)總行數(shù)。注意不是差異 SKU 數(shù)因?yàn)橐粋€(gè)庫位里一個(gè) SKU 有兩個(gè)批次一行有差異會(huì)導(dǎo)致整倉的差異 SKU 數(shù)虛高不能反映現(xiàn)場(chǎng)準(zhǔn)確率。驗(yàn)證盤點(diǎn)功能我習(xí)慣先做一輪模擬盤點(diǎn)。在測(cè)試環(huán)境隨機(jī)選 20 個(gè)庫位預(yù)先往這些庫位里插入 SKU、批次、數(shù)量并在其中幾個(gè)庫位故意生成差異記錄。然后走一遍完整流程創(chuàng)建盤點(diǎn)單、下發(fā)任務(wù)、PDA 模擬提報(bào)、差異確認(rèn)、自動(dòng)復(fù)盤、調(diào)整單過賬。跑完這段流程基本能把狀態(tài)機(jī)、凍結(jié)并發(fā)、差異調(diào)整邏輯都測(cè)到位。只測(cè)空庫位沒意義空庫位不會(huì)產(chǎn)生差異流程走完發(fā)現(xiàn)一筆差異都沒有你根本不知道差異鏈路是不是真的能跑通。差異率計(jì)算我建議直接用 SQL 做階段快照而不是依賴前端聚合SELECT order_id, COUNT(*) AS total_lines, SUM(CASE WHEN diff_qty ! 0 THEN 1 ELSE 0 END) AS diff_lines, ROUND( SUM(CASE WHEN diff_qty ! 0 THEN 1 ELSE 0 END) / COUNT(*), 4 ) AS diff_rate FROM stocktake_task WHERE order_id ? GROUP BY order_id;這段 SQL 跑完能看出兩個(gè)問題一是盤點(diǎn)任務(wù)有沒有漏行二是差異行數(shù)占比是否在高位。如果差率超過 3% 我會(huì)先把INTERVAL 30 DAY的動(dòng)碰窗口調(diào)短優(yōu)先處理最活躍的庫存再做一次全盤對(duì)比。最后說一個(gè)我自己的教訓(xùn)。之前一個(gè)項(xiàng)目上線前研發(fā)測(cè)試只驗(yàn)證了“盤點(diǎn)單能生成、差異單能確認(rèn)”沒有跑過模擬盤點(diǎn)結(jié)果上線第一周就出現(xiàn)庫位凍結(jié)狀態(tài)不生效、平臺(tái)庫存被覆蓋的問題。從那以后我把模擬盤點(diǎn)寫成了標(biāo)準(zhǔn)上線檢查項(xiàng)每次迭代都要回歸一遍。盤點(diǎn)功能這種事真到了倉庫現(xiàn)場(chǎng)就不再有“測(cè)試環(huán)境再來一次”的機(jī)會(huì)了。希望這套拆法能幫你少踩一些坑讓海外倉 WMS 的盤點(diǎn)功能從立項(xiàng)到落地都穩(wěn)一點(diǎn)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
一起草无码视频| 久久综合影院| 五月天激情网图片 - 百度| 9久久久久| 五月天婷婷乱论小说| 99精日本久久| 久机视频这只有精品| 亚洲天堂青草| 婷婷五月色情天| 五月丁香婷婷在线| 五月天开心网| 久久久久人妻网址| 婷婷五月天成人动漫| 91精品综合久久久五月天| 99热这里只有精品86| 亚洲AV无码成人精品区电影网| 五月婷色丁香| 久9精品| 在线另类视频| 五月婷婷婷丁香播| 五月天丁香啪啪综合| 国精产品一区一区三区免费视频| 激情综合网五月天| 91操色| 97操碰免费视频| 噜一噜在线| 五月婷伊人| 91主播在线| 九九色逼| 五月丁香综合网| 天天日天天舔天天摸| 99热午夜精品| 色五月美女| 天堂综合久久| 婷婷久久亚洲| 丁六月激情| 久久99jiu9| 欧美婷婷| 日韩AV片| 丁香六月综合激情| 狠狠五月综合在线| 再次出发二| 激情久久月| 又大又粗九一在线| 99激情| 色色网站在线| 国产在这里只有精品| 五月丁香六月婷婷免费视频| 天天操天天爱天天日| 日本操B片| 亚洲色网络| 丁香五月天天高清在线| 天天插天天插天天插天天插| 天天操婷婷| 99无吗| 天天摸天天舔天天爽| 四色综合网| www.激情五月天。com| 色婷婷电影网| 激情四射婷婷| 色婷婷久久视屏| 男人的天堂av俄罗斯热| 亚洲人人操| www,超碰| 婷婷五月天最新综合你懂的 | 色色色com| 亚洲婷婷丁香五月天激情小说| 综合亚洲六月婷婷在线| 亚洲久久婷婷丁香五月天| 色婷婷五月基地在线| 99热国产国产| www.99成人视频| 六月丁香五月激情亚洲AV| 日本99色| 天天干夜夜操A片| 五月婷婷成人网首页| 五月丁香五月激情综合色综合| 欧洲亚洲免费视频9| 欧美综合五月丁香六月婷| 亚洲成人电影在线免费观看| 婷婷五月色图| 日本一级黄色电影| 激情综合自拍五月婷婷色五月| 亚洲综合五月天婷婷| 五月天婷婷基地| 99.N在线视频| 性色做爰片在线观看WW| 香蕉婷婷五月| 色五月婷婷丁香凹凸| 熟女人妻一区二区三区免费看| 色噜噜狠狠一区二区三区| 日本天天色| 丁香六月婷婷开心| 五月丁香在线| 五月婷婷丁香网| 五月婷婷偷拍| 99人人操人人摸| 2020久久婷婷五月| 激情婷婷久久| 深爱综合网| 亚洲亚洲人成综合网络| 伊人久久大香线蕉av一区| 丁香六月综合激| 狠干综合| 丁香久久五月天视频在线观看| 欧美日韩国产一区| 久热2025无码| 秋霞影音91人妻久久| 亚洲色色图片| 蜜臀99精品| 久久婷婷视频| 中文字幕丰满人妻无码专区| 好好干av| 成人在线视频一区| 亚洲1区| 国产精品扒开腿做爽爽爽A片唱戏| wwww.色婷婷| 日本一级黄色电影| 91要啪| 婷婷成人基地| 久久久人妻人伦| 99亚洲无码| 五月激情视频| 成人超碰网| 9精品视频在线| 亚洲人妻av| 五月婷婷丁香在线视频| 182TV大香蕉| 特黄三级片| 91干婷婷| 免费无码毛片一区二区A片| 五月天婷婷影院| 五月丁香毛片| 婷婷五月天激情五月天深爱五月天| 婷婷狠狠干| 色999;丁香五月| 成人网站av免费网站推荐| 婷婷天天综合| 综合色情网| 婷婷伊人综合| 最新热中文字幕| 五月丁香在线国产| 国产做爰视频免费播放| 亚洲色人妻| 婷婷丁香五月亚洲综合网在线视频观看| 欧美婷婷五月天| 全部老头和老太XXXXX| 91狠狠色色丁香婷婷综合久久| 十月丁香九月婷婷综合| 大鸡巴伊人网| 亚洲五月花| 久久性爱网| 婷婷丁香视频在线观看免费 | 久久五月婷天天干| 久久九九国产精品怡红院| 伊人五月天| 亚洲AV免费在线| 婷丁香五月天| 无码人妻激情| 图片区 小说区 区 亚洲五月| 天天干人人奸97| 狠狠色狠狠干| 麻豆AV一区二区三区| 久久婷婷激情五月天一区二区| 99九九在线精品热动漫| 无码激情AAAAA片-区区| 色综合五月在线| 久色激情| 狠色狠色狠色狠色狠色网| 玖玖热视频| 久久3级片| 婷婷激情五月综合丁香社| 亚洲精品又粗又大又爽A片| 九九热av| 色五月天.con| 婷婷开心激情| 凹凸7777操操操| 天天色视频| 亚洲国产精品五月天| 一级性爱视频| 碰人人操| 丁香婷婷九月| sS丁香五月婷婷| 色五月婷婷在线| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 人人叉久| 激情综合五月天| 婷婷涩五月| 五月综合六月婷婷| 成人在线高清| 国产无套精品一区二区| 亚洲九九九九| 91视频久久久| 日本va欧美va精品发布视频| 婷婷五月丁香图片人人操| 人人视频色| 狠狠五月天| 五月婷婷啪啪啪| 大香蕉AV在线| 婷婷涩五月天综合| 五月天狠狠色| 综合婷婷| 人人播| 91精品刘玥| 婷婷五六日| 丁香久久在线| 色伊人婷婷| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 精品色| 亚洲色激婷| 久久桃花网色婷婷| 人人干天天操五月丁香| 八戒青柠影视剧在线观看| 九九精品在线网| 色一情一乱一乱一区9| 热久国产| 极品少妇婷婷五月| 色婷婷色五月天| 国产免费一区二区三区三州老师F1F1.CC | 五月婷婷激情网| ...婷婷国产成人亚洲日韩| 国产XXXX搡XXXXX搡麻豆| 五月婷丁香花| 91精品久| 久久激情五月| 99成人| 都市激情蜜桃婷婷五月天| 99久久超级| 超碰在线视屏| 激情五月天色婷婷| 5月婷婷视频网站综合| 人妻有码乱操| 免费亚洲婷婷| 色婷婷六月| 国庆精品久久| 激情综合网五月| 黑人糟蹋人妻HD中文字幕| 久热只有精品| 伊人网色婷婷五月天| 超碰97在线观看免费| 91久久电影| 五月丁香网站在线播放| 色一情一乱一乱一区91| 婷婷丁香黄色| 日韩一区二区A片免费观看| 99热在线观看免费精品| 99精品久久久久久久婷婷久久| 色婷婷久久综合久色综| 婷婷久久图片| 五月天激情综合网| 99热99精品| 夜夜操天天爽| 婷婷六月网| www,色婷婷| www.丁香黄色五月天人与| 伊人干综合| 深爱激情五月婷婷| 伍月婷丁香花全集| 婷婷丁香五月噜噜噜| av在线免费播放| 九九久久色| 久久综合九九| 五月天婷婷视频| 无码色| 青青草原99热| 婷婷六月天亚州| 99热无码精品| 玖月婷婷爱丁香| 九九99精品视频| 亚洲无码免费看| 国产精产国品一二三在观看| 超碰久热| A久久| 淫视馆aV二区一区| 色碰碰| 久久精品性爱| 五月开心色| 九九这里精品| 激情综合色婷婷啪啪六月天| 五月丁香伊人网| 大香蕉五月| 亚洲岛国电影| 五月天另类小说久久小说网| 大香蕉视频99| 综合色视频| 99热在线观看免费精品| 久久久婷婷婷| 丁香婷婷影院| 男女啪啪做爰高潮无遮挡| 99精品久久久久久久婷婷| 超碰99热精品| 五月丁香六月香香蕉| 精品色色| 亚洲在线操| 这里有精品| 激情五月天com| WWW.婷婷| 99热9999| 大香蕉啪啪啪| 99久久婷婷国产综合精品电影| 一本色道久久88加勒比| 99成人在线观看| 久久五月天婷婷| 丁香五月Av| 六月丁香啪啪| 亚洲精品久久久无码| 狠狠精品干练久久久无码中文字幕| 国产AV一区二区三区最新精品| 一本大道嫩草AV无码专区| 91久久久久久| 成人国产网| 丁香婷婷午夜| aaaaa黄色| 伊人五月天日日夜夜久久久天天| 五月婷婷综合色啪首页| 激情综合在线观看| 这里只有精品日韩| 2025天天操| 婷婷五月天在线综合| 五月丁香免费看| 99噜噜| 丁香五月天啪啪| 99爱在线视频| 婷婷六月丁综合| 婷婷终合色图| 无码四色色色| 婷婷五月中文在线视频| 日本91在线| 五月婷婷激情| 在线99精品| 色色操| 热99免费在线| 色五月xxx| 天天日婷婷| 97精品自拍视频| 色色99| 丁香六月婷婷久久综合| 99 福利 导航| 66久久视频在线| 婷婷王月天影院| 色哟哟精品| 婷婷五月天激情四射| 婷婷五月丁香青青草在线| 99视频在线观看视频| 久99热| 日韩按摩二区| 91超级碰碰碰| 91人人妻人人操人人爽| www.主妇. com| 天天综合五月天| 亚洲小视频免费播放| 色 五月婷婷基地| 亚洲色色色| 亚洲中文字幕在线观看| 天堂综合久久| 日本性激情色播| 日韩超碰在线| 亚洲AV日韩AV永久无码网站| 99久久99热| 婷婷五月丁香六月| 久久中文网| 婷婷婷婷午夜| 久久婷婷青草五月天| 婷婷亚洲欧美丁香五月| 国产亚洲精品AAAAAAA片| 99热狠狠操| 91啪级电影| 日本婷久久| 激情综合丁香六| 另类专区在线| 久久婷婷欧美| 丁香婷婷五月天色播| 开心婷婷五月| 大香蕉视频婷婷| 五月丁香美女| 九九人人操| 99久久婷婷国产综合亚洲| xxxx五月激情| 99久久婷婷| 久久婷中文字幕| 丁香婷婷色五月合集| 亚洲无码99| 3p久久| 国产色五月| 五月天啪啪| 亚洲旡码| 婷婷射综合| 丁香五月97视频| 色婷婷丁香特级性爱视频| 天天色综网| 亚洲免费av在线| 婷婷亚洲色| 久久精品国产一区二区三区四区| 5月婷婷视频网站综合| 久久婷婷色色| 色狠狠综合网| 99热偷拍| 婷婷五月色| 色综合丁香婷婷| 天啪色| 伊人色综在线| 激情婷婷在线| 五月激情天天干| 婷婷丁香九色| 综合激情网激情五月。| 七七久久婷婷| 丁香五月成人婷婷| 天天综合网91| 久久九九网| 婷婷六月激情| 伊人五月人妻精品| 欧美三级A做爰在线观看| 99色在线观看| 婷婷五月天网| 久久五月天激情视频| 丰满老熟妇BBBBB搡BBB| 五月花婷婷最新| 爱99干99| 深爱激情五月婷婷| 26.uuu丁香五月婷婷| 五月伊人视频在线看| 欧美交换配乱吟粗大25P| 丁香五月婷婷婷婷欧美综合| 国产日韩欧美| 亚洲色情网站| 91精品久久久久久久久久久久| 9月色婷婷| 六月丁花香啪啪激情欧美| 色婷婷九月综合| 超碰人人摸AV| 五月丁香六月激情综合| 婷婷,五月天,丁香,第一| 色婷婷五月天在线观看| 婷婷综合网伊人| 男女啪啪视频久 9| 99网99热| 怕怕av| 欧美成人猛片AAAAAAA| 亚洲综合色五月| 中文字幕丰满乱孑伦无码专区 | 国产av天堂| 夜夜操夜夜姧| 色九月婷婷| 色噜噜狠狠色综合伊人| 久久性都花花世界成人免费视频| 丁香婷五月天开心六月| 五月丁香久人妻中文| 天天做天天爱天天爽| 九九热这里只有精品一| 丁香玖玖| 日韩免费视频| 激情小说在线视频| 婷婷五月天改成什么了| 在线日韩av| 操逼视频一区| 久香草视频在线观看| 九九久久高清| 激情小说五月天| 婷婷干五月综合在线播放| 丁香狠狠色婷婷| 久久久97| www.操.com| 五月丁香色色综合| 99re免费在线视频| 激情五月天婷婷| 99亚洲日韩| 亚洲中文字幕av| 九九激情综合| 日本久久99久久| 九九热精品| 午夜五月天| 亚洲中文字幕网| 婷婷五月欧美综合| 五月婷婷欧美| 九九激情视频| 第2色五月婷| 亚洲AV成人无码电影| 特级西西4444www无码| 天天射天天射一道本日本社区| 五月五月婷婷| 午夜无码熟熟妇丰满人妻| 国产无人区大片| 五月天小说激情| 天天日夜夜欢| 五月色丁香婷婷综合| www.狠狠| 婷婷丁香成人| 五月丁香啪啪啪| 久久伊人日日夜夜| 丁香五月激情宗合网| 丁香色五月AV在线| 爆乳熟妇一区二区三区四区| 思思热视频在线| 激情综合一| 五月婷婷丁香五月婷婷| 久热这里只有精品在线观看 | 99这里是99在线视频| 日韩美一级毛卡片| 久久五月婷婷综合网| 五月丁香婷婷中文| 激情五月婷婷| 色色色色综合| 婷婷五月婷| AV五月丁香| 婷婷性爱| 婷婷五月色| 久久久久久久久99精品| 成人一区在线观看| 天堂在线婷婷| 91干99| 99ER热精品视频| 99热在线播放| 可以看的av网站| 美女精品一级不卡视频| 人人草人人舔| 日本色五月婷婷| 婷婷五月天六月| 情欲综合网| eeuss人妻| 97操操| 伊人久久大香蕉网| 久久五月激情| 玖玖爱伊人| 99久操| 婷婷狠狠操| 亚洲精品在线视频| 久久婷婷丁香| 久久网日本| 久久婷五月综合| 丁香五月欧美| 色在线99| 香蕉综合在线| 99热精品在这里| 99久久99九九九99九他书对| 五月天婷婷色色| 欧美一级色| 色五月大香蕉| 丁香五月偷拍| 中文字幕日本最新乱码视频| 91 影音先锋| 99re欧美精品| 91综合在线观看| 欧美婷婷九月| www.91在线观看| 五月 成人 婷婷| 亚洲视频操| 五月婷婷丁香大陆免费| 日本三级日本三级99| 欧美日综合| 人人爽人人射-美女久久久久久久久久-成人AV | 色情播放| 日韩爱操视频| 色婷婷www| 久久久com| 久久婷婷伊人| 综合狠久久| 激情国产五月| 人人妻人人澡人人爽| 玖玖激情五月天| 精品激情| 久久精99| 久99视频在线观看| 色婷婷久久综合久色| 六月香五月婷| 色XX综合网| 99热综合在线| 熟妇人妻中文字幕无码老熟妇| 91人久| 丁香六月婷婷久久亚洲天堂| 国产精品社区| 丁香五月久久综合| 六月激情网| 色播五月丁香| 色亭亭影园| 97婷婷在线| 热99国产精品| 婷婷五月丁香综合人妻| 婷婷丁香在线| 激情小说色五月| 7777精品伊人久久久大香线蕉最新版| 五月丁香日本片| 久久免费婷婷视频| 久久狠狠干| 97操碰98| 99久久久久| 99热99精品在线观看| 五日激情综合| 精品一二三区久久AAA片| 日噜噜色| 再綫Av免费視品| 99在线精品视频免费观看20| 五月婷婷中文| 97成人视频| 久久99综合| 这里只有精彩视| 91超级碰| 色五月色五天色情网址| 深爱 五月天| 激情六月色| 天天插天天干| 色婷婷久久综合久色综| 久热精品视频| 狠狠操狠狠爱| 91色噜噜狠狠狠狠色综合| 五月丁香在线婷婷蜜桃| 丁香六月婷婷综合激情欧美| 先锋影音av色五月天资源站| 国产精品成人在线| 亚洲丁香五月天视频| 精品一区二区三区免费毛片爱 | 99在线精品免费视频| 婷婷五月天久久久| 激情久久丁香| 色婷婷丁香中文在线播放| 精品久热| 91婷婷伊人牛牛| 五月丁香激情深爱婷婷| 深爱五月婷婷| 久久激情视频99| 色婷婷五月天| 日本在线观看91| 日日操夜夜爽天天天| 五月丁香成人| 色五月婷婷激情基地| 亚洲五月天狠狠| 狠狠色噜噜狠狠狠888| 草榴视频网| 深情五月天| 久久婷婷五月天激情新地址| 插插干干干色| 伊人大香久久| 99视频在线观看视频| 猫咪伊人AV| 精品亚洲国产成AV人片传媒| 亚洲另类噜噜| 在线中文字幕免费视频| 五月丁香亚洲综合网| 亚洲午夜AV| 人妻熟妇国产精品| 丁香色六月婷婷| 婷婷丁香五月91| 99精品小视频| 草久私拍| 亚艹艹| 丁香激情综合| 天天擼久久擼在线| 免费在线观看AV网站| 天天摸,天天爽| 久久婷婷色| 九九碰九九爱97超碰| 久久五月视频| 久久9久| 九九色99| 99re这里只有精品99| 97福利视频| 国产免费AV网站| 精品在线网站| 狠狠综合| 久久HD| 99热99热在线观看| 亚洲精品一区中文字幕乱码| 毛片新网地| 色婷婷激情Av久久久| 丁香五月第四色88| 啪啪色激情五月天| 婷婷成人视频| AAA久久久| 91丨九色丨熟女高潮| 婷婷丁香五月天婷婷| 五月天国产| 深爱五月综合网| 激情网五月天| 久久免费视频62| 五月婷综合激情| 激情综合色图| 婷丁香久综合| 婷婷综合仓库中文| 亚洲成人噜噜| 99ri久久| 1000部毛片A片免费观看| 国产26uuu视频| 天天射天天操天天干| 玖玖资源在线视频| 99热这里都是精品| 婷婷久久五月天| 99色看| 欧美人人超级碰| 99久在线观看| 这里只有精9| 婷婷不卡基地| 91九色精品女同系列| 美女五月天婷婷| 99re8热精品免费视频| 五月天色区| 婷婷伊人网| 白人荫道BBWBBB大荫道| 色色色色色色色色网站| 久99热| 激情人妻蜜夜系列区| 26uuu精品一区二区| 欧美色图天堂网| 色狠狠色综合久久久绯色aⅴ影视| 韩国激情五月天综合网| 天天操天天爱天天日| a级毛片一区二区免费视频| 五月天色五月| 五月天婷婷丁香蜜桃91| 99碰视频| 久久AV无码精品人妻系列试探| 色五月天成人| 色色色在线免费视频| 操b视频在线观看一区二区| www婷婷| 婷婷六月色情| 天天久综合网永久入口17v| 精品一二三区久久AAA片| 色噜噜狠噜噜视频| 久久五月天黄色五月天色网址| 婷婷九月丁香天堂丁香天堂| 久久精品99国产精品日本| 九九这里有精品| 男人天堂亚洲综合| www.射伊蕉婷婷| 精品少妇人妻AV无码专区偷人| 少妇人妻人伦A片| 色综合久久88色综合天天人守婷| 亚洲色激情| 久久婷婷六月综合国际| 婷婷伊人綜合中文字幕小说| 第五色婷婷| 五月婷婷综合激情| 久操人妻| 欧美天天搞| 欧美日本免费一道免费视频 | 丁香五月自拍| 激情五月九九九| 欧美人与性动交CCOO| 丁香五月开心亚洲| 欧洲第一久色| 五月婷婷就去色| 婷婷五月天av| 91人人操人人爱| 久久丁香婷婷色情综合| 免费视频WWW在线观看网站| 亚洲综合1024| 色爱综合网| 这里精品| 丁香五月,激情五月,深爱五月| www.激情五月天。com| 久久婷婷人人| 亚洲天堂有码| 国成人网| 天天日色情| 亚洲经典三级| www久| 激情五月丁香五月| 日韩另类在线观看| 草五月| 久久99性爱视频| 六月色狠狠色| 91操色| 久久视屏这里只有久久| 精品乱码视频| 久久婷婷六月综合| 丁香五月首页| 五月丁香色| 色婷婷综合综合网| 性色av大香综合| 久xxxx| 啪精品| 六月激情丁香一道本7777| 国产精品男人AV不卡| 碰97 久| 国产成人精品一区二三区熟女在线 | 激情五月婷婷欧美极品| 99热国产在| 五月天婷婷一起草| 久久精品国产色| 激情小说婷婷小说| 五月丁香好婷婷姑娘综合网| 亚洲综合网激情小说| 九九热九九热精品| 婷婷五月天伦理| 2023天天日夜夜爽| 婷婷五月天免费| 97韩国久久电影院| 天天天操天天天日| 黄色激情五月天| 激情五月天婷婷五月天| 成人视频在线免费播放| 激情综合五月天| 欧美激情综合| 九九热精品在线| 国产精品久久久久久妇女6080| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 操操操av| 五月天婷婷深深爱| 五月丁香婷婷六月| 中文资源在线a| 色色五月天激情| 婷婷成人五月天成人文学| 亚洲五月婷婷| 婷婷五月性感| 99热色婷婷| 91要啪| 思恩热国产视频右线观看| 丁香五月日啪| 日韩在线五月天婷婷| 五月婷婷亚洲色视频| 黄网免费观看| 99久热| 97午夜一区二区| 综合网狠狠| 久99久在线| 天堂爱爱| 婷婷草| 区美毛片子| 97福利视频| 人五月天婷婷喷水| 色天使色婷婷| 日韩一区二区在线播放| 涩涩涩.com| 久99久热| www.色五月| 丁香五月激情综合婷综| 婷婷色播色五月五色五月天色妇| 欧美激情2025| 亚州操操| 草草夜夜操| 久久超级碰视频| 天天弄天天爽| 五月婷六月| 色色激情五月天| 成人五月丁香花| 操操自拍| 精品99网站| 极品另类| 久久国产一区二区三区| 国产精品人妻在线网址| 蜜臀av无码久久久久久久久 | 色欲AVV| 婷婷久久五月丁香| 九色视频这里只有精品| 五月香婷婷| 亚洲欧洲中文日韩久久AV乱码| 天堂久久大香蕉| 久久五月天大美女| 婷婷五月草| 欧美精品XXXXBBBB| 九九性爱网| 天天日日天天| 欧美在线97| 国产干逼片| 天天狠狠婷婷在线| 五月天网站亭亭| 色五月av| 丁香婷婷五月激情| 亚洲第一色区| 大香蕉啪啪啪| 久操综合| 99热免| 无码少妇高潮喷水A片免费| 婷婷刺激综合| 亚洲性爱99在线| 五月天婷婷色| 激情国产综合| 台湾佬天天日丁香婷婷五月天| 五月婷婷中文| 亚洲成人无码网站| 久久久人妻门| 五月丁香成人网| 色五月超碰| 久久机热/这里只有精品| 狠狠CAO日日穞夜夜穞AV| 国产成人av在线| 深爱综合网| 狠狠干五月| 丁香午月AV中文字幕| 久99久在线| 欧美激情久| 五月好婷婷| 亚洲春色奇米影视| 美女亚洲五月丁香| 99热婷婷| 99热这里| 啪啪操超碰| 五月天丁香欧美激情| 热久久精品视频网站| 五月丁香六月激情综合在线| 97色在线视频| 五月婷婷影| 天天草天天爽| 激情久久婷婷| 婷婷五月激情天| 综合网精品99| 国产精品国产VA片国产| 婷婷激情五月综合| 99热国品免费| 色色日本| 97色色色色| 午夜丁香婷婷| 99爱视频精品在线观看| 五月天色区| 99色视| 天天干一干| 五月花综合网| 九九热免费视频| 久婷婷五月丁香在线观看| 深爱激情丁香| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 爱iii做iiii日日| 综合网五月天123| 久久丁香综合香蕉| 思思热在线视频99| 91综合视频丁香| 26uuu亚洲欧美| 色婷婷丁香女女| 五月婷网站| 亚洲婷婷综合视频| 激情噜噜噜| 久久婷婷五月天激情四射| 99九九在线精品热动漫| www.色五月.com| www狠狠| 天天艹天天综合网| 婷婷色婷婷| 久久99热 这里有精品| 日韩在线观看网址| 五月婷婷开心亚州在线| 一本狠婷婷综合| 九九热精品视频| 婷婷激情在线| 白天AV月月| 天天久综合网永久入口18| 久久深爱激情网| 午夜激情久久| 日本一级特黄大片AAAAA级| 99热在线观看精品| 99亚州综合精品成人网| 色噜噜狠狠色综合日日免费| 五月综合激情啪啪啪啪啪| 五月丁香花激情综合网| 丁香久久久| 99综合网| 狠狠五月天婷婷| 五月天婷婷Av| 五月天伊人综合| 五月激情丁香五月| 亚洲视频一区| 激情五月婷婷六月丁香| 成人综合视频在线| 五月丁香六月综合激情| 思思热精品免费视频| 黄色高清无码| 婷婷五月综合社区| 天天综合激情| 欧美A片在线视频免费观看| 狠狠色成人影片| 天天激情5月天亚洲| 一二线视频 另类| 色婷婷综合视频| 超碰亚洲天堂| 五月婷婷色欲| 超碰资源在线| 丁香五月AV在线| 91人人妻人人操人人爽| 99热国产| 激情五月天婷婷视频| 丁香婷婷超碰 | 深爱女色婷婷丁香五月亚洲图区| 狠狠噪| 五夜丁香| 天天粽合合合合| 色一情一乱一乱一区9| 色色国产| 五月婷婷综合在线视频小说| 久久香蕉网| 婷婷五月天亚洲综合网| 九九99免费视频| 婷婷亚洲在线| 国产一级片| 激情玖玖综合网| 五月丁香777| 中文乱子伦视频| 综合五月草| 99爱爱网| 成人免费黄色短视频| 97久久精品| 婷婷五月天在婷| 中文字幕成人| 国产色视频网站2| 专区无日本视频高清8| 亚洲第一第二网站| 久婷婷五月激情| 好色婷婷| 五月天婷婷丁香成人网| 99热这里精品| 婷婷激情六月| 婷婷激情五月天亚洲综合| 天天色丁香| 婷婷五月丁香性爱| 色色色综合网| 五月天操逼网| 色婷婷五月天在线| 日韩欧美一区二区三区四区| 99热在线看片| 色九月综合| 成人午夜天| 超碰av在线| 综合婷婷五月天| 婷婷丁香色五月久久88| 免费日韩99| 99操视频| 久久婷婷五月综合啪| 91色五月在线观看| 伊人激情AV一区二区三区| 亚洲AV成人片无码网站| 五月天网站免费欧美| 艾小青av| 激情99。| 五月色综合网欧美网| 超碰国产av| 九九免费视频| 色五月激情网| 99国产在线| 久久免费视频62| 99热只有国产在线精品| 26uuu.| 天天搞夜夜爽夜夜爽| 婷婷五月综合社区| www.99精品视频| 91综合在线观看| 天天久久婷婷| 百度一下国产精品A| 黄桃AV无码免费一区二区三区| 人人爱操| 婷婷操逼| 超碰在线看| 色色色干| 久99久视频| 色婷婷久久综合| 99久.| 99在线精品视频| 99久久精品国产色欲| 丁香成人五月天| 五月天婷婷乱论小说| 5月婷婷6月六月丁香| 久久六月综合| 国产精品VA在线| 亚洲五月婷婷| 五月丁香婷婷网在线在线| 色色AV色色色东莞| av狠狠操| 丁香五月欧美| 日本天堂免费99| 五月婷婷与六月丁香图片激情| 91九色欧美| 91久久综合亚洲鲁鲁五月天| 亚洲AV网址| 国产 码在线成人网站| 色偷偷五月天| A久久| 欧美亚洲色色色色| 亚洲啪啪自拍| 五月天色站| 五月天综合久久丁香91| 国产操B视频| 91男同| 99re热精品视频国| ,99视频久久| 91啪级电影| 五月婷婷自拍视频| 久久99网| 97精品欧美91久久久久久久| 五月婷婷婷婷| 久久在线视频免费观看| 久99久视频精品| 大香人妻| 色九月婷婷综合| 色六月天天激情综合网| 丁香五月天殴美激情| 久久人人九| 91久久99久久91熟女精品| 综合五月丁香久久| 激情黄色小说五月天| 亚洲第一精品网站| 色色色婷婷五月| 99热网站| 中文字幕丰满乱孑伦无码专区 | 怡红院视频| 婷婷丁香激情综合色情| 五月婷婷激情综合| 99视频免费播放| 91久久综合亚洲噜噜成人在线 | 五月婷婷之综合激情| 少妇性按摩无码中文A片| 123日本不卡在线| 五月婷婷成人| 婷香五月网在线| 成人综合伍月天| 六月丁香综合| 五月婷婷激情综合| 五月婷婷之综合激情在线| 99热日| 色五月涩涩婷婷蜜桃| 欧美激情综合色丁香婷婷五月天| 激情av在线| 丁香五月婷婷基地| 丁香五月www| 成人深爱丁香五月| 国产VA亚洲VA96| 99热这里只有精品4| 国产AV成人精品| 日韩成人电影AV| 狠狠干思思热| 性视频久久| 99燥99日| 久久激情五月婷婷| 色情播放| 97精品自拍| 校园春色亚洲色| 热99国产精品| 天天天天天日| 九九aV| 噜噜狠狠色综合久| 五月激情网五月综合网| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 天天综合永久| www久久99| av一区免费看| 亚洲色9| 99亚州综合精品成人网| 色99在线| 99re在线视频| 国语精品探花| 99自拍视频在线| 99热碰碰| 色操b| 人人操AV| 影音先锋毛片网站| 婷婷五月天欧美图片在线播放电驴| 久久99精品久久只有精品| 91亚洲视频| 五月婷无码| 婷婷五月激情网| av在线观看网址| 六月丁香深深爱| 九热视频| 91九色超碰正在播放| 五月四色婷婷| www.yw尤物| 激情久久久久久| 丁香婷婷影院| 色香蕉婷婷| 激情婷婷。| 婷婷六月丁香激情综合| 99热免| 91凹凸在线| 九九这里都是精品| 九月丁香久久网| 久久亚洲网| 天天插天天爽| 99久在线视频| 久婷五月| 91九色成人原创视频| 囯产精品一品二区三区| 91性高潮久久久久久久久| 婷婷五月丁香综合| 超碰99资源站| 99热精品10| 免费操超碰| 99热这里只有精品无码| 色色五月婷婷| 99热最新| Av九九| 九九久久精品國產| 婷婷五月天在线观看免费| 日韩av手机在线观看| 人人爽人人射-美女久久久久久久久久-成人AV | 国产毛片精品一区二区色欲黄A片| 人人97碰| 亚洲天堂爱爱| 婷婷五月综合社区| 婷婷五月综合社区| www91精品| 亚洲操操操| 停停六月 综合| 五月天啪啪| xxxx五月天色色| 天天综合亚洲| 69精品无码一区二区三区| 色色色色色网站| 久re在线| 99爱视频在线| 美女91一起草| 五月六月婷| 亚洲AV另类| 欧美丁香五月夫妻天| 五月丁香综合成人社区| 亚洲丁香婷婷丁香五月天激情| 97人人操人| 六月丁香激情| 色婷婷9| 婷婷五月天丁香| 天天爽成人综合网站| a网站免费观看| 婷婷五月AA五月在线| 96精品成人无码A片观看金桔| 一區四區歐美日韓| 97久久人人人干| 丁香五月av在线| av人人操| 久久婷五月综合| 国产成人网站在线观看| 狠狠做深爱婷婷久久综合一区| 激情五月天啪啪视频| 人妻丰满精品一区二区A片| 天天干天天 亚洲| 任我干视频在线观看| 99亚洲日韩| 丁香五月综合激情性爱| 在线中文av| 99精品视频在线6| 1024在线一区| 婷婷五月天综合久久| 激情中文在线| 99热最新| 国产五月婷| 五月黄色婷婷| AV在线大香蕉| 色五月丁香总合网| 久久大国产香蕉| 丁香五月天视频| 欧美精品999| 国产精品扒开腿做爽爽爽A片唱戏| 夜夜操天天爽| www久久艹| 久久婷婷五月天| 五月天综合图片| 久久狠狠干| 色噜噜狠狠色综无码久久合欧美| 五月开心深深爱激情综合 | 色婷婷狠狠爱| 天天色天天爱天天舔| 99精品综合在线| 久久资源网五月婷| 丁香婷五月天| 大香蕉九九操| 婷婷色综合| 日韩在线aaa| 九九久久五月天| 免费观看欧美成人AA片爱我多深| WWW.婷婷| 婷婷五月天成人五月天| 色99xx| 色~性~乱~伦~噜| 久久九九99字幕| 亚洲AV第二区国产精品| 日产精品一线二线三线芒果| 婷婷五月视屏| 久久视网36| 99色综合久久| 亚洲激情AV| 久久人妻伊人| 日日日,com| 五月花激情网|