通過(guò)騰訊云開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的倉(cāng)儲(chǔ)應(yīng)用
服務(wù)端用到騰訊云平臺(tái)中的產(chǎn)品
云開(kāi)發(fā)
云開(kāi)發(fā)(Tencent CloudBase,TCB)是騰訊云提供的云原生一體化開(kāi)發(fā)環(huán)境和工具平臺(tái),為開(kāi)發(fā)者提供高可用坦袍、自動(dòng)彈性擴(kuò)縮的后端云服務(wù),包含計(jì)算承桥、存儲(chǔ)、托管等 serverless 化能力,可用于云端一體化開(kāi)發(fā)多種端應(yīng)用(小程序泌霍、公眾號(hào)剪况、Web 應(yīng)用教沾、Flutter 客戶端等),幫助開(kāi)發(fā)者統(tǒng)一構(gòu)建和管理后端服務(wù)和云資源译断,避免了應(yīng)用開(kāi)發(fā)過(guò)程中繁瑣的服務(wù)器搭建及運(yùn)維授翻,開(kāi)發(fā)者可以專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),開(kāi)發(fā)門檻更低,效率更高堪唐。
智能對(duì)話平臺(tái)TBP
騰訊智能對(duì)話平臺(tái)(Tencent Bot Platform巡语,TBP)專注于“對(duì)話即服務(wù)”的愿景,全面開(kāi)放騰訊對(duì)話系統(tǒng)核心技術(shù)淮菠,為大型企業(yè)客戶男公、合作伙伴提供開(kāi)發(fā)平臺(tái)和機(jī)器人中間件能力,實(shí)現(xiàn)高效兜材、便捷理澎、多樣化、低成本人機(jī)對(duì)話體驗(yàn)曙寡。
客戶端使用Flutter開(kāi)發(fā)
Flutter是谷歌的移動(dòng)UI框架糠爬,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作举庶。在全世界执隧,F(xiàn)lutter正在被越來(lái)越多的開(kāi)發(fā)者和組織使用,并且Flutter是完全免費(fèi)户侥、開(kāi)源的镀琉。
應(yīng)用由來(lái)
經(jīng)常有朋友問(wèn),有沒(méi)有推薦的倉(cāng)儲(chǔ)軟件蕊唐,要的很簡(jiǎn)單屋摔,能夠收貨發(fā)貨,查詢庫(kù)存數(shù)量替梨,如果可以管控批次更好钓试。庫(kù)存管理軟件的確挺多的,但隨著軟件落地副瀑,為了滿足業(yè)務(wù)的差異性弓熏,功能也越加越多,軟件也越來(lái)越臃腫糠睡,到最后上手也變動(dòng)復(fù)雜挽鞠,這幾年一直想做一款小而美的倉(cāng)儲(chǔ)管理軟件,希望可以濃縮這幾年倉(cāng)儲(chǔ)實(shí)施經(jīng)驗(yàn)進(jìn)去狈孔。
麻雀雖小五臟俱全
第一個(gè)版本信认,實(shí)現(xiàn)基本的收發(fā)貨,庫(kù)存查詢均抽,批次管理和多批屬性管理嫁赏。
應(yīng)用設(shè)計(jì)和開(kāi)發(fā)
庫(kù)存設(shè)計(jì)采用批屬性表與庫(kù)存表獨(dú)立設(shè)計(jì),同一物料到忽,根據(jù)不同收貨批次獨(dú)立庫(kù)存記錄橄教,云數(shù)據(jù)庫(kù)用的是文件型數(shù)據(jù)庫(kù),很方便的解決動(dòng)態(tài)批屬性問(wèn)題喘漏。
1.數(shù)據(jù)庫(kù)設(shè)計(jì)
1.1基礎(chǔ)模塊功能
1.1.1?用戶
{用戶編號(hào):hxs护蝶,用戶名稱:黃旭,郵箱:xxx@126.com翩迈,角色:[角色編號(hào)]持灰,默認(rèn)倉(cāng)庫(kù):xxx,默認(rèn)貨主:xxx}
1.1.2批屬性?lottable
{批屬性編號(hào):00001负饲,倉(cāng)庫(kù)號(hào):00001堤魁,批屬性值:[{批屬性鍵:批屬性1,批屬性名稱:批次號(hào)返十,是否必填:是妥泉,是否系統(tǒng)默認(rèn):否}]}
1.2收貨模塊
1.2.1?收貨單表?receipt
{倉(cāng)庫(kù)號(hào):00001,收貨單號(hào):0000000001洞坑,貨主編號(hào):00001盲链,供應(yīng)商:00001,外部單號(hào):xxx迟杂,外部行號(hào):xxx刽沾,單據(jù)類型:xxx,預(yù)計(jì)到貨日期:xxx排拷,狀態(tài):xxx侧漓,貨品編號(hào):SKU001,托盤號(hào):xxx监氢,預(yù)計(jì)數(shù):100布蔗,收貨數(shù):20,庫(kù)位:xxx忙菠,批次:xxx何鸡,批屬性編號(hào):xx,批屬性值:[{批屬性脚;丁:批屬性1骡男,批屬性值:批次號(hào)}]}
1.3庫(kù)存模塊
1.3.1?庫(kù)存表?lotxlocxlpn
{倉(cāng)庫(kù)號(hào):00001,貨主編號(hào):xxx傍睹,貨品編號(hào):SKU001隔盛,庫(kù)位編號(hào):STAGE,LPN:L000000001拾稳,批次:xxx吮炕,狀態(tài):xxx,現(xiàn)有數(shù)量:xxx访得,分配數(shù)量:xxx龙亲,揀貨數(shù)量:xxx陕凹,凍結(jié)數(shù)量:xxx,可用數(shù)量:xxx}
1.3.2?批屬性表?lotattribute
{倉(cāng)庫(kù)號(hào):00001鳄炉,貨主編號(hào):xxx杜耙,貨品編號(hào):SKU001,批次號(hào):xxx拂盯,批屬性值:[{批屬性接优:批屬性1,批屬性值:批次號(hào)}]}
1.4出庫(kù)模塊
1.4.1?出庫(kù)訂單?orders
{倉(cāng)庫(kù)號(hào):00001谈竿,出庫(kù)單號(hào):0000000001团驱,貨主編號(hào):00001,客戶:00001空凸,承運(yùn)商:00001嚎花,外部單號(hào):xxx,外部行號(hào):xxx呀洲,單據(jù)類型:xxx贩幻,需求發(fā)貨日期:xxx,實(shí)際發(fā)貨時(shí)間:xxx两嘴,狀態(tài):xxx丛楚,貨品編號(hào):SKU001,箱號(hào):xxx憔辫,訂單數(shù):100趣些,未結(jié)數(shù):100,分配數(shù):100贰您,揀貨數(shù):100坏平,發(fā)運(yùn)數(shù):100,批次:xxx锦亦,批屬性編號(hào):xx舶替,批屬性值:[{批屬性健:批屬性1杠园,批屬性值:批次號(hào)}]}
1.4.2?揀貨單?pickdetail
{倉(cāng)庫(kù)號(hào):00001顾瞪,揀貨序號(hào):xxx,貨主編號(hào):00001抛蚁,貨品編號(hào):SKU001陈醒,出庫(kù)單號(hào):0000000001,狀態(tài):xxx瞧甩,批次號(hào):xxx钉跷,庫(kù)位:xxx,箱號(hào):xxx肚逸,落放?ID:xx爷辙,來(lái)源庫(kù)位:xxx彬坏,目標(biāo)庫(kù)位:xxx,揀貨數(shù):100膝晾,箱序號(hào):xxx苍鲜,波次號(hào):xxx}
2.功能場(chǎng)景開(kāi)發(fā)
2.1?完成一次收貨
2.1.1?創(chuàng)建一個(gè)收貨類:包含一個(gè)根據(jù)收貨單號(hào)收貨方法
2.1.2?通過(guò)TBP服務(wù)調(diào)用收貨云函數(shù),對(duì)話內(nèi)容如下:1問(wèn)“按單收貨”玷犹,2答“請(qǐng)輸入收貨單號(hào)”,3問(wèn)“xxx”洒疚,4答“收貨完成歹颓,本次收貨數(shù)xx剩余庫(kù)存數(shù)為xxx”。
2.2?完成一次無(wú)單物料收貨
2.2.1?創(chuàng)建一個(gè)無(wú)單按物料收貨方法:根據(jù)用戶ui獲取默認(rèn)倉(cāng)庫(kù)和默認(rèn)貨主油湖,自動(dòng)創(chuàng)建收貨單巍扛,再調(diào)用按單收貨完成物料收貨
2.2.2?通過(guò)TBP服務(wù)調(diào)用收貨云函數(shù),對(duì)話內(nèi)容如下:1開(kāi)始“按物料收貨”乏德,2問(wèn)“請(qǐng)輸物料”撤奸,3問(wèn)“請(qǐng)輸入數(shù)量”,4答“xx物料收貨完成喊括,本次收貨數(shù)xx剩余庫(kù)存數(shù)為xxx”胧瓜。
2.3?完成一次出庫(kù)單出庫(kù)
2.3.1?創(chuàng)建一個(gè)出庫(kù)類:包含一個(gè)根據(jù)出庫(kù)單號(hào)出庫(kù)方法,通過(guò)出庫(kù)單創(chuàng)建揀貨單郑什,再通過(guò)揀貨到完成庫(kù)存扣減
2.3.2?通過(guò)TBP服務(wù)調(diào)用收貨云函數(shù)府喳,對(duì)話內(nèi)容如下:1問(wèn)“按單出庫(kù)”,2答“請(qǐng)輸入出庫(kù)單號(hào)”蘑拯,3問(wèn)“xxx”钝满,4答“出庫(kù)完成,本次出庫(kù)數(shù)xx剩余庫(kù)存數(shù)為xxx”申窘。
3.代碼整理
3.1?flutter?頁(yè)面插件化
3.2 對(duì)話意圖使用工廠模式
4.代碼上傳GitHub
4.1 倉(cāng)儲(chǔ)前端代碼:huangtao_app
? ? ? Flutter作為前端弯蚜,對(duì)話方式調(diào)用騰訊云函數(shù)以及騰訊智能對(duì)話平臺(tái),實(shí)現(xiàn)簡(jiǎn)單的消息即服務(wù)倉(cāng)儲(chǔ)應(yīng)用服務(wù)剃法。
4.2 倉(cāng)儲(chǔ)服務(wù)端代碼:tbp-huangtao-wms-service
? ? ? 騰訊云函數(shù)碎捺,消息即服務(wù)倉(cāng)儲(chǔ)應(yīng)用
4.3 騰訊智能對(duì)話調(diào)用代碼:wxtbp
? ? ? 騰訊云函數(shù)調(diào)用智能對(duì)話平臺(tái)TBP
應(yīng)用效果
APP初始頁(yè)面
用戶注冊(cè)
用戶登錄
無(wú)單批次收貨
無(wú)單物料發(fā)貨
庫(kù)存查詢
騰訊開(kāi)發(fā)云
騰訊智能對(duì)話平臺(tái) TBP
CMS 內(nèi)容管理系統(tǒng)
總結(jié)
項(xiàng)目代碼已經(jīng)上傳GitHub,后面功能會(huì)持續(xù)優(yōu)化贷洲,本項(xiàng)目為傳統(tǒng)軟件和新技術(shù)結(jié)合牵寺,嘗試提供一種全新的倉(cāng)儲(chǔ)管理軟件人機(jī)交互模式。