【正文】
化調(diào)度和動態(tài)控制,高效整合企業(yè)的物流業(yè)務(wù),以全面提高經(jīng)濟效益和效率為目的,提供高效、實用、技術(shù)的物流管理系統(tǒng)和運營手段。傳統(tǒng)物流行業(yè)的操作模式已經(jīng)不適應(yīng)現(xiàn)代的物流行業(yè),如何縮短物流過程,降低產(chǎn)品庫存,加速對市場的反應(yīng),這是所有企業(yè)所面對的問題。在發(fā)達國家,物流理論促使物流實踐快速發(fā)展。吉林省明日科技有限公司監(jiān)制物流管理系統(tǒng)在現(xiàn)代社會的運用畢業(yè)論文– 39 –目錄摘要 1目錄 1引言 11 系統(tǒng)分析 2 需求分析 2 可行性分析 22 總體設(shè)計 2 項目規(guī)劃 2 系統(tǒng)功能結(jié)構(gòu)圖 33 詳細設(shè)計 3 系統(tǒng)登錄設(shè)計 3 車輛調(diào)度安排 6 托運申請單管理 8 貨物托運管理 11 在途跟蹤管理 17 信息查詢 20附錄A 參考文獻 30附錄B 數(shù)據(jù)表結(jié)構(gòu) 31附錄C 文件架構(gòu)圖 37引言在當今高速發(fā)展的信息社會,現(xiàn)代物流行業(yè)突飛猛進發(fā)展,伴隨著我國國民經(jīng)濟連續(xù)多年的高速增長,為現(xiàn)代物流發(fā)展創(chuàng)造了良好的條件。目前,我國各類物流企業(yè)有14萬家左右,展望整個21世紀,可以說現(xiàn)代物流業(yè)還將有更大的發(fā)展。經(jīng)濟全球化及現(xiàn)代物流業(yè)發(fā)展的系統(tǒng)化、信息化、倉儲運輸?shù)默F(xiàn)代化和綜合化等趨勢,對我國物流業(yè)的發(fā)展提出了全方位的挑戰(zhàn)。本系統(tǒng)就是針對這些問題根據(jù)中小型企業(yè)的實際需求而開發(fā)的一套物流管理系統(tǒng)。物流管理系統(tǒng)是集現(xiàn)代運輸、倉儲配送、搬運、調(diào)度、跟蹤為一體的網(wǎng)絡(luò)系統(tǒng),系統(tǒng)的開發(fā)實現(xiàn)了商品從原料供應(yīng)商、制造商、分銷商到零售商再到消費者的各個環(huán)節(jié)的有機結(jié)合。q 規(guī)范、完善的基礎(chǔ)信息設(shè)置。q 實現(xiàn)貨物申請、托運、跟蹤與驗收的全過程。q 系統(tǒng)日志詳細記錄各種操作,提供追查的有力依據(jù)。q 強大的數(shù)據(jù)備份及恢復(fù)功能,保證系統(tǒng)數(shù)據(jù)的安全性。而且,物流行業(yè)競爭激烈,這種競爭,一方面表現(xiàn)在發(fā)展客戶的市場開拓上,另一方面也存在于收集處理信息的速度、廣度和深度,以及在業(yè)務(wù)操作中對業(yè)務(wù)數(shù)據(jù)處理的準確性和嚴密性,而更高層次上,還牽涉到公司決策層對整體業(yè)務(wù)的控制和協(xié)調(diào)。2 總體設(shè)計 項目規(guī)劃物流管理系統(tǒng)是一個典型的數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)由基本信息設(shè)置、貨物托運管理、信息查詢、報表管理、系統(tǒng)管理等模塊組成,規(guī)劃系統(tǒng)功能模塊如下:q 基本信息設(shè)置模塊該模塊主要負責完成部門資料設(shè)置、職務(wù)信息設(shè)置、公司資料設(shè)置、員工資料設(shè)置、客戶資料設(shè)置、司機資料設(shè)置和車輛資料設(shè)置。q 信息查詢模塊該模塊由貨物申請單查詢、車輛調(diào)度信息查詢、貨物托運信息查詢、貨物托運驗收查詢和車輛在途跟蹤查詢幾部分組成。q 系統(tǒng)管理模塊包括查看日志、刪除日志、用戶管理、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)和系統(tǒng)數(shù)據(jù)清理幾部分。圖1 系統(tǒng)功能結(jié)構(gòu)圖3 詳細設(shè)計 系統(tǒng)登錄設(shè)計系統(tǒng)登錄主要用于對登錄物流管理系統(tǒng)的用戶進行安全性檢查,以防止非法用戶登錄該系統(tǒng)。在登錄系統(tǒng)時驗證操作員及其密碼,主要通過ADO控件中記錄集(RecordSet)對象結(jié)合If語句判斷用戶選定的操作員及其輸入的密碼與數(shù)據(jù)庫中的操作員和密碼是否相同來實現(xiàn),如果相同則允許登錄,并給予相應(yīng)的權(quán)限,否則將不允許用戶登錄。圖2 系統(tǒng)登錄窗體的運行結(jié)果1.窗體設(shè)計(1)在工程中新建1個窗體,將窗體的名稱設(shè)置為“frm_xtdl”,BorderStyle屬性設(shè)置為“0None”,通過設(shè)置Picture屬性為窗體添加圖片。添加方法如下:在“工程”/“部件”對話框中勾選“Microsoft Ado Data Controls (SP4)”列表項,單擊【確定】按鈕之后即可將Ado控件添加到工具箱當中。(4)在窗體中添加2個CommandButton控件,分別將Name屬性設(shè)置為“Cmd_Ok”和“Cmd_Cancel”,Caption屬性設(shè)置為“登錄”和“取消”。定義一個ListItem對象Dim key As String 39。調(diào)用獲取屏幕分辨率的過程函數(shù)39。在添加數(shù)據(jù)時,首先清空控件中的內(nèi)容 Do While = False 39。判斷屏幕分辨率的大小 Exit Sub Else ChangeScreen 39。設(shè)計思路:通過SQL語句查詢輸入的用戶名和密碼信息在數(shù)據(jù)庫中是否存在,如果查詢到符合條件的記錄信息則顯示系統(tǒng)主窗體,登錄到系統(tǒng)當中,實現(xiàn)的程序代碼如下:Private Sub Cmd_Ok_Click()Dim MPassword As StringIf = MR And = mingrisoft Then 39。將操作員姓名信息賦予全局變量Name1 Unload Me 39。 amp。 39。判斷數(shù)據(jù)的密碼是否正確 Name1 = (2).Text = 當前操作員: + (user_name) 39。Private Sub Txt_Password_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Call Cmd_Ok_Click 39。在本系統(tǒng)當中通過車輛調(diào)度安排填寫安排托運車輛的信息,然后打印出車輛調(diào)度通知單,并將通知單發(fā)放到托運司機的手中,司機根據(jù)調(diào)度通知單上的信息執(zhí)行托運任務(wù)。車輛調(diào)度安排模塊的運行結(jié)果如圖4所示。(2)在窗體上添加1個Toolbar控件和1個ImageList控件。(4)在窗體中添加1個Frame控件,在Frame控件上添加1個文本框控件數(shù)組,并為每個文本框控件配置1個標簽控件,并且設(shè)置相應(yīng)的Caption屬性值,如圖5所示。(6)在窗體上添加1個Ado控件和1個DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,AllowUpdate屬性值設(shè)置為False。(8)在窗體上添加1個時鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。圖5 車輛調(diào)度安排窗體的設(shè)計結(jié)果2.代碼設(shè)計工具欄中的控制按鈕控制著窗體的各項操作,在Toolbar控件Tbr_xxcz的ButtonClick事件當中,通過選擇Select Case語句的索引值(單擊工具欄中的按鈕執(zhí)行相應(yīng)的索引值)調(diào)用相應(yīng)的過程來完成添加、刪除、修改和保存等操作的功能,保存過程事件的代碼如下:Private Sub Saves() 39。 + Text1(0).Text + 39。關(guān)閉記錄集對象 Else 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。修改信息的過程 c = MsgBox(確認修改信息嗎, 33, 提示信息) If c = vbOK Then Set AdoRs = (UPDATE tb_Goods_cldd SET cldd_id=39。,cldd_cphm=39。,cldd_czxm=39。,cldd_sjxm=39。,cldd_rwsj=39。,cldd_phmc=39。,cldd_shdd=39。,cldd_bz=39。 where cldd_id=39。) MsgBox 數(shù)據(jù)修改成功, 64, 提示信息 = select * from tb_Goods_cldd order by cldd_id StrId = StrTitle = Text1(0).Text Call joinRZ 39。刪除信息 c = MsgBox(確認刪除該信息嗎, 17, 提示信息) If c = vbOK Then On Error Resume Next 39。 + + 39。刷新數(shù)據(jù)信息 End If For i = 0 To 5 Text1(i).Text = Next i = End Sub 托運申請單管理在正式托運貨物之前,需要進行托運貨物申請,在進行托運貨物申請時需要填寫托運貨物申請單,托運申請單經(jīng)過核對之后,才可以填寫貨物托運單進行托運貨物。貨物托運申請管理模塊的運行結(jié)果如圖6所示。(2)在窗體上添加1個Toolbar控件和1個ImageList控件,為窗體設(shè)計工具欄。(4)在Frame控件上添加2個DTPicker控件,分別名稱命名為DT1和DT2,用于輸入或顯示出貨日期時間和開票日期。(6)在窗體中添加1個標簽控件,命名為Lbl_Num。貨物托運申請單管理窗體的設(shè)計結(jié)果如圖7所示。在窗體加載的時候顯示數(shù)據(jù)信息 For i = 1 To 20 Text1(i).Locked = True 39。通過代碼連接到數(shù)據(jù)庫 = select * from tb_Goods_sqd order by sqd_lszh = Date Call Tbr_cortrol(Tbr_xxcz, True)End Sub單擊窗體中的工具欄按鈕,完成相應(yīng)的添加、刪除、修改、保存和打印的操作,Toolbar控件Tbr_xxcz的ButtonClick事件代碼如下所示:Private Sub Tbr_xxcz_ButtonClick(ByVal Button As ) Select Case Case 1 39。% + Format(Date, yyyymmdd) + %39。根據(jù)日期產(chǎn)生流水賬號 If 0 Then = Val((sqd_lszh)) + 1 Else = Format(Date, yyyymmdd) amp。刪除信息 Call Deletes Case 3 39。保存信息 Call Saves Case 5 Call Tbr_cortrol(Tbr_xxcz, True) For i = 1 To 20 Text1(i).Text = Text1(1).SetFocus Next i Case 6 39。對于同一張貨物托運單,可以托運多種不同的貨物,在托運管理窗體中可以添加或刪除托運貨物,還可以通過ListView控件瀏覽貨物托運單信息。圖8 貨物托運管理模塊的運行結(jié)果圖9 增加托運貨物窗體1.貨物托運窗體及增加托運貨物窗體的設(shè)計(1)在工程中新建一個窗體,將窗體的名稱設(shè)置為“frm_Hpty”,BorderStyle屬性設(shè)置為“1Fixed Single”,MaxButton屬性設(shè)置False。(3)在窗體中添加2個ImageList控件。(5)在ListView控件上單擊鼠標右鍵,在彈出的快捷菜單中選擇“屬性”項,在彈出的“屬性頁”對話框中選擇“通用”選項卡,在該選項卡中選取“整行選擇”、“網(wǎng)格行”和“熱跟蹤”等復(fù)選框,在“查看”旁的列表框中選擇3lvwReport,如圖10所示。圖11 設(shè)置插入列的屬性(7)在ListView控件上單擊鼠標右鍵,在彈出的快捷菜單中選擇“屬性”項,在彈出的“屬性頁”對話框中選擇“圖像列表”選項卡,在該選項卡中的“普通”和“列標頭”列表框中分別選擇“ImageList2”,如圖12所示。(9)在窗體中添加3個Frame控件,分別在Frame控件中添加文本框控件和DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,BackColor屬性值設(shè)置為amp。設(shè)計完成的界面如圖13所示。(11)在窗體上添加1個時鐘控件Timer1,在屬性窗口中將控件的Interval屬性值設(shè)置為60。圖13 貨物托運管理窗體的設(shè)計界面(12)在工程中添加1個窗體,將窗體命名為Frm_Tyhwgl,該窗體作為貨物托運管理的子窗體,用于為完成為貨物托運單添加托運貨物的操作。(14)在該窗體上添加1個Ado控件。(16)在該窗體中添加1個DataGrid控件,將DataGrid控件的名稱設(shè)置為Dgr_Sjll,DataSource屬性設(shè)置為Adodc1,設(shè)計完成的界面如圖14所示。圖14 托運貨物管理窗體的設(shè)計界面2.貨物托運管理窗體的代碼設(shè)計在窗體啟動時,通過調(diào)用LoadFile過程,在窗體上顯示數(shù)據(jù),同時利用Ado對象計算出當前數(shù)據(jù)庫中數(shù)據(jù)記錄的條數(shù),代碼如下:Private Sub Form_Load() Call RefreshData Call LoadFile For i = 1 To 21