小而美的倉儲應(yīng)用

通過騰訊云開發(fā)平臺實現(xiàn)一個簡單的倉儲應(yīng)用

服務(wù)端用到騰訊云平臺中的產(chǎn)品

云開發(fā)

云開發(fā)(Tencent CloudBase,TCB)是騰訊云提供的云原生一體化開發(fā)環(huán)境和工具平臺,為開發(fā)者提供高可用、自動彈性擴縮的后端云服務(wù),包含計算、存儲、托管等 serverless 化能力,可用于云端一體化開發(fā)多種端應(yīng)用(小程序、公眾號、Web 應(yīng)用、Flutter 客戶端等),幫助開發(fā)者統(tǒng)一構(gòu)建和管理后端服務(wù)和云資源,避免了應(yīng)用開發(fā)過程中繁瑣的服務(wù)器搭建及運維,開發(fā)者可以專注于業(yè)務(wù)邏輯的實現(xiàn),開發(fā)門檻更低,效率更高。

智能對話平臺TBP

騰訊智能對話平臺(Tencent Bot Platform,TBP)專注于“對話即服務(wù)”的愿景,全面開放騰訊對話系統(tǒng)核心技術(shù),為大型企業(yè)客戶、合作伙伴提供開發(fā)平臺和機器人中間件能力,實現(xiàn)高效、便捷、多樣化、低成本人機對話體驗。

客戶端使用Flutter開發(fā)

Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用,并且Flutter是完全免費、開源的。

應(yīng)用由來

經(jīng)常有朋友問,有沒有推薦的倉儲軟件,要的很簡單,能夠收貨發(fā)貨,查詢庫存數(shù)量,如果可以管控批次更好。庫存管理軟件的確挺多的,但隨著軟件落地,為了滿足業(yè)務(wù)的差異性,功能也越加越多,軟件也越來越臃腫,到最后上手也變動復(fù)雜,這幾年一直想做一款小而美的倉儲管理軟件,希望可以濃縮這幾年倉儲實施經(jīng)驗進去。

麻雀雖小五臟俱全

第一個版本,實現(xiàn)基本的收發(fā)貨,庫存查詢,批次管理和多批屬性管理。

倉儲基本功能結(jié)構(gòu)圖

應(yīng)用設(shè)計和開發(fā)

庫存設(shè)計采用批屬性表與庫存表獨立設(shè)計,同一物料,根據(jù)不同收貨批次獨立庫存記錄,云數(shù)據(jù)庫用的是文件型數(shù)據(jù)庫,很方便的解決動態(tài)批屬性問題。

1.數(shù)據(jù)庫設(shè)計

1.1基礎(chǔ)模塊功能

1.1.1?用戶

{用戶編號:hxs,用戶名稱:黃旭,郵箱:xxx@126.com,角色:[角色編號],默認倉庫:xxx,默認貨主:xxx}

1.1.2批屬性?lottable

{批屬性編號:00001,倉庫號:00001,批屬性值:[{批屬性鍵:批屬性1,批屬性名稱:批次號,是否必填:是,是否系統(tǒng)默認:否}]}

1.2收貨模塊

1.2.1?收貨單表?receipt

{倉庫號:00001,收貨單號:0000000001,貨主編號:00001,供應(yīng)商:00001,外部單號:xxx,外部行號:xxx,單據(jù)類型:xxx,預(yù)計到貨日期:xxx,狀態(tài):xxx,貨品編號:SKU001,托盤號:xxx,預(yù)計數(shù):100,收貨數(shù):20,庫位:xxx,批次:xxx,批屬性編號:xx,批屬性值:[{批屬性?。号鷮傩?,批屬性值:批次號}]}

1.3庫存模塊

1.3.1?庫存表?lotxlocxlpn

{倉庫號:00001,貨主編號:xxx,貨品編號:SKU001,庫位編號:STAGE,LPN:L000000001,批次:xxx,狀態(tài):xxx,現(xiàn)有數(shù)量:xxx,分配數(shù)量:xxx,揀貨數(shù)量:xxx,凍結(jié)數(shù)量:xxx,可用數(shù)量:xxx}

1.3.2?批屬性表?lotattribute

{倉庫號:00001,貨主編號:xxx,貨品編號:SKU001,批次號:xxx,批屬性值:[{批屬性?。号鷮傩?,批屬性值:批次號}]}

1.4出庫模塊

1.4.1?出庫訂單?orders

{倉庫號:00001,出庫單號:0000000001,貨主編號:00001,客戶:00001,承運商:00001,外部單號:xxx,外部行號:xxx,單據(jù)類型:xxx,需求發(fā)貨日期:xxx,實際發(fā)貨時間:xxx,狀態(tài):xxx,貨品編號:SKU001,箱號:xxx,訂單數(shù):100,未結(jié)數(shù):100,分配數(shù):100,揀貨數(shù):100,發(fā)運數(shù):100,批次:xxx,批屬性編號:xx,批屬性值:[{批屬性健:批屬性1,批屬性值:批次號}]}

1.4.2?揀貨單?pickdetail

{倉庫號:00001,揀貨序號:xxx,貨主編號:00001,貨品編號:SKU001,出庫單號:0000000001,狀態(tài):xxx,批次號:xxx,庫位:xxx,箱號:xxx,落放?ID:xx,來源庫位:xxx,目標庫位:xxx,揀貨數(shù):100,箱序號:xxx,波次號:xxx}

2.功能場景開發(fā)

2.1?完成一次收貨

2.1.1?創(chuàng)建一個收貨類:包含一個根據(jù)收貨單號收貨方法

2.1.2?通過TBP服務(wù)調(diào)用收貨云函數(shù),對話內(nèi)容如下:1問“按單收貨”,2答“請輸入收貨單號”,3問“xxx”,4答“收貨完成,本次收貨數(shù)xx剩余庫存數(shù)為xxx”。

2.2?完成一次無單物料收貨

2.2.1?創(chuàng)建一個無單按物料收貨方法:根據(jù)用戶ui獲取默認倉庫和默認貨主,自動創(chuàng)建收貨單,再調(diào)用按單收貨完成物料收貨

2.2.2?通過TBP服務(wù)調(diào)用收貨云函數(shù),對話內(nèi)容如下:1開始“按物料收貨”,2問“請輸物料”,3問“請輸入數(shù)量”,4答“xx物料收貨完成,本次收貨數(shù)xx剩余庫存數(shù)為xxx”。

2.3?完成一次出庫單出庫

2.3.1?創(chuàng)建一個出庫類:包含一個根據(jù)出庫單號出庫方法,通過出庫單創(chuàng)建揀貨單,再通過揀貨到完成庫存扣減

2.3.2?通過TBP服務(wù)調(diào)用收貨云函數(shù),對話內(nèi)容如下:1問“按單出庫”,2答“請輸入出庫單號”,3問“xxx”,4答“出庫完成,本次出庫數(shù)xx剩余庫存數(shù)為xxx”。

3.代碼整理

3.1?flutter?頁面插件化

3.2 對話意圖使用工廠模式

4.代碼上傳GitHub

4.1 倉儲前端代碼:huangtao_app

? ? ? Flutter作為前端,對話方式調(diào)用騰訊云函數(shù)以及騰訊智能對話平臺,實現(xiàn)簡單的消息即服務(wù)倉儲應(yīng)用服務(wù)。

4.2 倉儲服務(wù)端代碼:tbp-huangtao-wms-service

? ? ? 騰訊云函數(shù),消息即服務(wù)倉儲應(yīng)用

4.3 騰訊智能對話調(diào)用代碼:wxtbp

? ? ? 騰訊云函數(shù)調(diào)用智能對話平臺TBP


應(yīng)用效果

APP初始頁面

用戶注冊


用戶登錄


無單批次收貨

無單物料發(fā)貨


庫存查詢


騰訊開發(fā)云

騰訊云數(shù)據(jù)庫

騰訊智能對話平臺 TBP

意圖管理
意圖配置

CMS 內(nèi)容管理系統(tǒng)

批次庫存

總結(jié)

項目代碼已經(jīng)上傳GitHub,后面功能會持續(xù)優(yōu)化,本項目為傳統(tǒng)軟件和新技術(shù)結(jié)合,嘗試提供一種全新的倉儲管理軟件人機交互模式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容