版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 雁捷物流管理系統(tǒng)</b></p><p><b> 學(xué)院:信息管理學(xué)院</b></p><p> 專業(yè):信息管理與信息系統(tǒng)</p><p><b> 組長</b></p><p><b> 組員:</b></p&
2、gt;<p> 指導(dǎo)教師: </p><p><b> 目錄</b></p><p> 雁捷物流管理系統(tǒng)1</p><p><b> 目錄2</b></p><p> 一、系統(tǒng)規(guī)劃與需求分析3</p><p>
3、; 1. 系統(tǒng)目標(biāo)與規(guī)劃3</p><p><b> 2. 業(yè)務(wù)描述3</b></p><p><b> 3. 需求分析3</b></p><p> 二、概念模型設(shè)計與系統(tǒng)模塊劃分4</p><p> 1. 概念模型設(shè)計4</p><p> 2. 系統(tǒng)模
4、塊劃分5</p><p> 三、邏輯模型設(shè)計與系統(tǒng)模塊設(shè)計7</p><p><b> 邏輯模型設(shè)計7</b></p><p> 四、 物理模型設(shè)計與數(shù)據(jù)庫實施7</p><p><b> 1. 約束設(shè)計7</b></p><p> 2. 存儲過程設(shè)計8
5、</p><p> 3. 視圖設(shè)計10</p><p> 4. 觸發(fā)器設(shè)計11</p><p> 5. 備份和恢復(fù)設(shè)計13</p><p> 五、系統(tǒng)開發(fā)與實現(xiàn)13</p><p> 1、 系統(tǒng)實現(xiàn)方法13</p><p> 2、系統(tǒng)主要功能與界面13</p>
6、;<p> 六、測試、分析和總結(jié)34</p><p> 1. 系統(tǒng)測試與分析34</p><p> 2.遇到的問題34</p><p> 3. 總結(jié)與展望34</p><p> 七、系統(tǒng)實現(xiàn)的關(guān)鍵代碼</p><p> 1、主頁實現(xiàn)實時更新發(fā)單情況
7、 35</p><p> 2、發(fā)單的實現(xiàn) 36</p><p> 一、系統(tǒng)規(guī)劃與需求分析</p><p> 1. 系統(tǒng)目標(biāo)與規(guī)劃</p><p> 雁捷物流管理系統(tǒng)旨在利用社會零散
8、時間解決同城或異地捎帶需求,最大化的滿足客戶的需求,并運用移動互聯(lián)網(wǎng)技術(shù)搭建一個隨時隨地互動的信息管理平臺。我們的目標(biāo)是,系統(tǒng)所提供的信息能夠全面覆蓋各個城市,每個城市的大街小巷,力求建立一個發(fā)單、搶單、配送為一線的物流網(wǎng)絡(luò)。</p><p><b> 2. 業(yè)務(wù)描述</b></p><p> 當(dāng)下,快遞業(yè)務(wù)發(fā)展十分迅猛,但僅限于固定的物流公司來進行配送,雁捷快遞
9、平臺可讓“人人成為快遞員”,無論你是企業(yè)員工、學(xué)生、個體經(jīng)營者,還是自由職業(yè)者,只要你有想法,并且符合基本條件,都可以申請成為快遞員,讓每個申請者都能“順路”賺錢,而且客戶也能享受快捷、便宜的配送服務(wù)。我們作為第三方平臺提供物流信息,讓想要運送貨物的人得到數(shù)據(jù)后根據(jù)自己的運輸能力進行搶單,讓發(fā)單人可根據(jù)多方面的數(shù)據(jù)進行篩選,選擇運輸方。使發(fā)單人和搶單人可以有效的進行信息交流。</p><p><b>
10、 需求分析</b></p><p><b> 3.1數(shù)據(jù)管理需求</b></p><p> 目前,想要發(fā)貨的人很多,可以配送貨物的人也很多,但是兩者都不知道對方的信息,或者說按傳統(tǒng)方式發(fā)單者只能選擇固定的物流公司,了解不到物流公司的服務(wù)水平、貨物的配送效率,更不能了解配送人員的情況。而快遞員只能配送公司派送下來的物件,不能選擇性的配送。如果這些信息能公
11、開,能大大提高發(fā)貨人和快遞員的工作效率,雁捷物流管理系統(tǒng)就是將信息收集起來,經(jīng)過整理后提供給需求者。我們作為第三方平臺,對這些數(shù)據(jù)進行有效管理和監(jiān)督,能增加信息交流的匹配性和安全性。</p><p><b> 3.2創(chuàng)新設(shè)計需求</b></p><p> 3.2.1.搶單介紹:按照時間累進原則搶單</p><p> 第一次搶單:首先顧客下
12、單后,第一家快遞公司搶下第一單并給出價格,之后顧客根據(jù)價格、歷史評價、交通工具類型、押金金額篩選;第二次搶單:過2分鐘之后放開第二次搶單機會,這次投放兩個競爭名額,第一家快遞公司仍在篩選名額中。第三次搶單:過3分鐘之后放開第三次搶單機會,此次放開三個競爭名額,前三家快遞公司仍在篩選名額中。剩余搶單機會:過4分鐘之后無限制搶單。</p><p> 該創(chuàng)新點是為了給客戶一個公平交易的平臺,還能增加受理訂單的效率,更
13、重要的是提高搶單的積極性。公平性體現(xiàn)在使價格透明化,搶單者可以公平競價,發(fā)單人可以根據(jù)個搶單者的報價和配送方案選擇一個最優(yōu)的解決方案,可以避免盲目選擇一個搶單人壟斷配送的情況。</p><p> 3.3.2地圖定位及路線推薦</p><p> 地圖定位可以顯示3公里以內(nèi)的訂單,搶單者可以根據(jù)自身情況選擇想要配送的訂單,一旦搶單成功后,地圖還可根據(jù)目的地和發(fā)單者的所在位置推薦多條路線。&
14、lt;/p><p> 這個創(chuàng)新點可以使系統(tǒng)操作變得友好、方便,減少直接搜索帶來的繁瑣問題,一個系統(tǒng)的開發(fā)設(shè)計要考慮到用戶操作是否流暢和人性化,這個設(shè)計可以直觀的將信息展示給用戶,避免查詢帶來的誤差和低效率。</p><p> 二、概念模型設(shè)計與系統(tǒng)模塊劃分</p><p><b> 1. 概念模型設(shè)計</b></p><p
15、> 本階段設(shè)計出7個關(guān)系:</p><p> 用戶表:用戶ID,昵稱,姓名,身份證號,密碼,手機號,郵箱,等級,注冊時間,證件照;</p><p> 評價表:序號,服務(wù)態(tài)度,到貨速度,完整性滿意度,心得;</p><p> 搶單表:搶單編號,運輸費用,保證金,交通工具,手機號,目前所在地點,搶單時間,狀態(tài);</p><p>
16、發(fā)單表:發(fā)單編號,發(fā)件人姓名,發(fā)件人手機號,收件人姓名,收件人手機號,取貨地址,預(yù)計送達時間,保值;</p><p> 訂單明細(xì)表:訂單號,成交時間,狀態(tài),發(fā)單用戶,搶單用戶,交通工具,運輸費用;</p><p> 物流信息表:發(fā)送物流信息時間,地點,簽收照片;</p><p> 物品表:物品編號,物品名稱,物品類別,重量,體積,價值,物品照片。</p&
17、gt;<p><b> 具體語句描述:</b></p><p> 一名用戶可以發(fā)出多條評價,一條評價只針對一名用戶;</p><p> 一個訂單明細(xì)可對應(yīng)多次評價,但一條評價只能對應(yīng)一個訂單明細(xì);</p><p> 一名用戶(發(fā)單者)可以發(fā)出多個訂單,但一個訂單只能由一名用戶(發(fā)單者)發(fā)出;</p><
18、p> 一名用戶(搶單者)可以搶多個訂單,但一個訂單只能由一名用戶(搶單者)成功搶到;</p><p> 一名用戶可以配送多個物品,但一個物品只能由一名用戶配送;</p><p> 一條訂單只能發(fā)出一個物品,一個物品只能在一個發(fā)單表上顯示;</p><p> 一個訂單明細(xì)給追蹤到多次物流信息,而一個物流信息對應(yīng)一個訂單明細(xì);</p><
19、;p><b> 具體細(xì)節(jié)如圖所示:</b></p><p><b> 系統(tǒng)模塊劃分</b></p><p><b> 總體設(shè)計:</b></p><p><b> 用戶信息管理:</b></p><p><b> 物流信息管理:&
20、lt;/b></p><p><b> 評價管理:</b></p><p><b> 訂單管理:</b></p><p> 三、邏輯模型設(shè)計與系統(tǒng)模塊設(shè)計</p><p><b> 邏輯模型設(shè)計</b></p><p> 利用powerd
21、esigner將概念模型轉(zhuǎn)換成物理模型,具體表述如下:</p><p> 用戶表的主關(guān)鍵字是用戶ID;</p><p> 發(fā)單表的主關(guān)鍵字是發(fā)單編號,參照用戶表的用戶ID和物品表的物品編號;</p><p> 搶單表的主關(guān)鍵字是搶單編號,參照用戶表的用戶ID;</p><p> 評價表的主關(guān)鍵字是序號,參照用戶表的用戶ID和訂單明細(xì)表
22、的訂單號;</p><p> 物流信息表的主關(guān)鍵字是發(fā)送物流信息時間,參照用戶表的用戶ID和訂單明細(xì)表的訂單號;</p><p> 物理模型設(shè)計與數(shù)據(jù)庫實施</p><p><b> 約束設(shè)計</b></p><p> 本階段添加了一些約束,以確保數(shù)據(jù)的完整與正確:</p><p> 規(guī)
23、定手機號一定是11位數(shù)字</p><p> 規(guī)定郵箱的格式中必須有@</p><p> 規(guī)定身份證號是18位數(shù)字或18位字母與數(shù)字的組合</p><p> 規(guī)定一個用戶不能既是發(fā)單用戶又是搶單用戶,即不能自己發(fā)的單自己去搶</p><p> 實現(xiàn)可以重復(fù)創(chuàng)建數(shù)據(jù)庫和表</p><p> 用戶的注冊時間默認(rèn)值是
24、系統(tǒng)獲取的當(dāng)前時間</p><p> 規(guī)定了一下字段的取值范圍</p><p><b> 存儲過程設(shè)計</b></p><p> ?。?)存儲過程(6個):</p><p> 查詢目的地為@destination的物品及訂單信息</p><p> 查詢?nèi)∝浀刂窞锧pick_site的物品及
25、訂單信息</p><p> 查詢狀態(tài)為@state的搶單信息</p><p> 查詢某個搶單用戶搶單成功的所搶到的發(fā)單信息、物品信息</p><p> 查詢搶單用戶搶單成功的次數(shù)</p><p> 查詢最近發(fā)單用戶最近成交的記錄</p><p> ?。?)存儲過程代碼:</p><p>
26、 --查詢目的地為@destination的物品及訂單信息</p><p> create procedure p1</p><p> @destination nvarchar(60)='%'</p><p><b> as</b></p><p> select 物品名稱,物品類別,重量,體
27、積,價值,預(yù)計送達時間,狀態(tài),取貨地址</p><p> from 貨物.物品 join 訂單.發(fā)單 </p><p> on 物品.物品編號=發(fā)單.物品編號</p><p> where 目的地 like @destination</p><p> execute p1 @destination='%北京%'<
28、/p><p> --查詢?nèi)∝浀刂窞锧pick_site的物品及訂單信息</p><p> create procedure p2</p><p> @pick_site nvarchar(60)='%'</p><p><b> as</b></p><p> select
29、物品名稱,物品類別,重量,體積,價值,預(yù)計送達時間,狀態(tài),取貨地址</p><p> from 貨物.物品 join 訂單.發(fā)單 </p><p> on 物品.物品編號=發(fā)單.物品編號</p><p> where 目的地 like @pick_site</p><p> execute p2 @pick_site='%北京
30、%'</p><p> --查詢狀態(tài)為@state的搶單信息</p><p> create procedure p3</p><p> @state varchar(10),@user char(20)</p><p><b> as</b></p><p> select 運
31、輸費用,保證金,交通工具,手機號 ,目前所在地點,搶單時間,狀態(tài)</p><p> from 訂單.搶單</p><p> where 狀態(tài)=@state and 用戶ID=@user</p><p> execute p3 @state='',@user=''</p><p> --查詢某個搶單用戶搶
32、單成功的所搶到的發(fā)單信息、物品信息</p><p> create procedure p4</p><p> @state varchar(10),@user char(20)</p><p><b> as</b></p><p> select 訂單明細(xì).運輸費用,保證金,訂單明細(xì).交通工具,手機號 ,目前
33、所在地點,搶單時間,搶單.狀態(tài),</p><p> 成交時間,訂單號,物品名稱,物品類別,重量,體積,價值,預(yù)計送達時間,取貨地址,</p><p> 收件人姓名,收件人手機號,目的地</p><p> from 訂單.搶單 join 資料.訂單明細(xì)</p><p> on 搶單.用戶ID=訂單明細(xì).搶單用戶</p>
34、<p> join 訂單.發(fā)單 on 發(fā)單.用戶ID=訂單明細(xì).發(fā)單用戶</p><p> join 貨物.物品 on 發(fā)單.物品編號=物品.物品編號</p><p> where 搶單.狀態(tài)=@state and 搶單.用戶ID=@user</p><p> execute p4 @state='搶單成功',@user='
35、'</p><p> --查詢搶單用戶搶單成功的次數(shù)</p><p> create procedure p5</p><p> @id char(20)</p><p><b> as</b></p><p> declare @count int</p><
36、;p> select @count=COUNT(搶單用戶)</p><p> from 資料.訂單明細(xì) where 搶單用戶=@id</p><p> return @count</p><p> declare @count int</p><p> @count=execute p5 @id=''</
37、p><p> --查詢最近發(fā)單用戶最近成交的記錄</p><p> create procedure p6</p><p> @data1 datetime,@data2 datetime,@user char(20)</p><p><b> as</b></p><p> selec
38、t 訂單號,成交時間,交通工具,運輸費用,物品名稱,物品類別</p><p> from 資料.訂單明細(xì) join 訂單.發(fā)單</p><p> on 發(fā)單.用戶ID=訂單明細(xì).發(fā)單用戶</p><p> join 貨物.物品 </p><p> on 發(fā)單.物品編號=物品.物品編號</p><p> whe
39、re 成交時間<@data1 and 成交時間>@data2 and 訂單明細(xì).發(fā)單用戶=@user</p><p> execute p6 @data1='',@data2='',@user=''</p><p><b> 視圖設(shè)計</b></p><p> ?。?)視圖(4個)
40、:</p><p> 將發(fā)單表和物品表連接建立一個視圖,在每一個供搶單者都能查詢的發(fā)單信息</p><p> B.將發(fā)單表和物品表連接建立一個視圖,待發(fā)單搶單雙方達成交易,供搶單成功者可以查詢到的更詳細(xì)的信息</p><p> C.將用戶表和評價表連接建立一個視圖,發(fā)單者可以從中看到搶他所發(fā)的人的以往的評價,以便決定是否由此人搶到他的單子。</p&
41、gt;<p> D.將訂單明細(xì)表和物流信息表連接起來建立一個視圖</p><p><b> 代碼:</b></p><p> --將發(fā)單表和物品表連接建立一個視圖,在每一個供搶單者都能查詢的 發(fā)單信息</p><p> create view v1</p><p><b> as<
42、;/b></p><p> select 物品名稱,物品類別,重量,體積,價值,物品照片,取貨地址,目的地,預(yù)計送達時間,狀態(tài)</p><p> from 貨物.物品</p><p> join 訂單.發(fā)單 on 物品.物品編號=發(fā)單.物品編號</p><p> --將發(fā)單表和物品表連接建立一個視圖,待發(fā)單搶單雙方達成交易,供搶
43、單成功者可以查詢到的更詳細(xì)的信息</p><p> create view v2</p><p><b> as</b></p><p> select 物品名稱,物品類別,重量,體積,價值,物品照片,</p><p> 取貨地址,目的地,預(yù)計送達時間,狀態(tài),發(fā)件人姓名,</p><p>
44、 發(fā)件人手機號,收件人姓名,收件人手機號</p><p> from 貨物.物品 join 訂單.發(fā)單 </p><p> on 物品.物品編號=發(fā)單.物品編號</p><p> --將用戶表和評價表連接建立一個視圖,發(fā)單者可以從中看到搶他所發(fā)的人的以往的評價,以便決定是否由此人搶到他的單子。</p><p> create vie
45、w v3</p><p><b> as</b></p><p> select 昵稱,等級,注冊時間,AVG(服務(wù)態(tài)度)以往服務(wù)態(tài)度,AVG(到貨速度)以往到貨速度,AVG(完整性滿意度)以往完整性滿意度</p><p> from 資料.用戶 join 資料.評價 on 用戶.用戶ID=評價.搶單用戶</p><p
46、> --將訂單明細(xì)表和物流信息表連接起來建立一個視圖</p><p> create view v4</p><p><b> as</b></p><p> select 訂單號,成交時間,狀態(tài),地點,運輸費用,交通工具,發(fā)送物流信息時間,簽收照片</p><p> from 資料.訂單明細(xì) join
47、貨物.物流信息 </p><p> on 訂單明細(xì).訂單號=物流信息.訂單號</p><p><b> 觸發(fā)器設(shè)計</b></p><p> (1)觸發(fā)器(3個):</p><p> A.當(dāng)進行操作時搶單用戶的保證金的金額小于發(fā)單用戶所給出的物品的價值時,會給出提示</p><p>
48、B.用戶搶單失敗時會給出提示</p><p> C.只有等級時F及F以上的用戶才能搶價值在300及其以上的單子,只有等級是C及C以上的用戶才能搶價值在600及其以上的單子。</p><p><b> ?。?)代碼:</b></p><p> --當(dāng)進行操作時搶單用戶的保證金的金額小于發(fā)單用戶所給出的物品的價值時,會給出提示</p&
49、gt;<p> create trigger t1</p><p><b> on 訂單.搶單</b></p><p> for insert,delete,update</p><p><b> as</b></p><p> declare @deposit money,
50、@value money</p><p> select @deposit=保證金 from inserted where 搶單編號=''</p><p> select @value=價值 from 貨物.物品 </p><p> where 物品編號 in </p><p> (select 物品編號 from 訂
51、單.發(fā)單 </p><p> where 發(fā)單編號 in</p><p> (select 發(fā)單編號 from 訂單.搶單 where 搶單編號=''))</p><p> if @deposit<@value</p><p><b> begin </b></p><
52、p> raiserror('你所剩的保證金已小于你所搶發(fā)單物品的價值!!',15,10) </p><p><b> end</b></p><p> --用戶搶單失敗時會給出提示</p><p> create trigger t2</p><p><b> on 訂單.搶單
53、 </b></p><p> for update </p><p><b> as</b></p><p> declare @state varchar(10)</p><p> select @state=狀態(tài) from updated</p><p> if @sta
54、te='搶單失敗'</p><p><b> begin </b></p><p> raiserror('對不起,你已搶單失?。?!',15,10) </p><p><b> end</b></p><p> else if @state='搶單
55、成功'</p><p><b> begin </b></p><p> raiserror('恭喜你,你已搶單成功??!',15,10) </p><p><b> end</b></p><p> --只有等級時F及F以上的用戶才能搶價值在及其以上的單子,只有等
56、級是C及C以上的用戶才能搶價值在及其以上的單子</p><p> create trigger t3</p><p><b> on 資料. 用戶</b></p><p> for update</p><p><b> as</b></p><p> decla
57、re @deji char(10)</p><p> select @deji=等級 from updated</p><p> if @state in ('A','B','C','D','E')</p><p><b> begin </b></p
58、><p> raiserror('恭喜你,你已能搶價值在及其以上的單子?。?#39;,15,10) </p><p><b> end</b></p><p> else if @state in ('A','B','C')</p><p><b>
59、 begin </b></p><p> raiserror('恭喜你,你已能搶價值在及其以上的單子!!',15,10) </p><p><b> end</b></p><p><b> 備份和恢復(fù)設(shè)計</b></p><p> 備份整個數(shù)據(jù)庫到C:\du
60、mp\dumpfull.bak:(要改備份地址)</p><p> BACKUP DATABASE 名稱 TO DISK='C:。。。。。。。。。。。'</p><p><b> 五、系統(tǒng)開發(fā)與實現(xiàn)</b></p><p><b> 1、 系統(tǒng)實現(xiàn)方法</b></p><p>
61、 數(shù)據(jù)庫建模階段使用的軟件是powerdesigner15.0,數(shù)據(jù)庫使用的軟件是SQL server 2014,建模生成的sql文件引入SQL server,加上一些列級和表級約束,然后執(zhí)行那些sql語句用以建立數(shù)據(jù)庫和表。網(wǎng)頁版編程使用的軟件是Myeclipse 2014,在Myeclipse中新建web工程,采用MVC模式在jsp中進行頁面設(shè)計,在其中多次引入js文件,出現(xiàn)了許多美觀、使用簡便的jquery控件。servlet作
62、為控制器對jsp頁面?zhèn)鱽淼闹颠M行處理,連接到數(shù)據(jù)庫并對數(shù)據(jù)庫中的數(shù)據(jù)庫進行插入、刪除、更新等操作,并進行頁面間的跳轉(zhuǎn)。在web工程中還用到了javabean。</p><p><b> 系統(tǒng)主要功能與界面</b></p><p> 基本功能:登陸,注冊,用戶信息查詢及修改,密碼修改等。創(chuàng)建用戶表,存儲用戶詳細(xì)信息。可實現(xiàn)查詢,更新,刪除,插入等基本功能。</
63、p><p><b> 網(wǎng)頁版:</b></p><p><b> A.首頁:</b></p><p> 進入網(wǎng)頁首先進入到首頁,此頁面左側(cè)可根據(jù)物品類別、取貨地址、送貨地址、取貨時間等條件搜索滿足條件的發(fā)單,也可在搜索框內(nèi)進行關(guān)鍵字搜索。在此頁面中間有最近最新的一些發(fā)單情況,以表格的形式展示出來,表格中包括發(fā)單時間、取貨
64、地址、送貨地址、物品類別等關(guān)于發(fā)單概況,每行后面都有一個詳細(xì),點擊即可查看相對應(yīng)的發(fā)單詳情;刷新頁面即可刷新發(fā)單信息。在此頁面右部有“我要發(fā)單”、“我要搶單”兩個鏈接,點擊即可進行發(fā)單、搶單。</p><p> 未登錄時:有登錄和注冊兩個鏈接</p><p> 登錄后進入到首頁:原本的登錄、注冊鏈接變?yōu)楫?dāng)前登錄用戶的用戶名和一個退出鏈接。</p><p><
65、;b> B.注冊頁面:</b></p><p> 注冊頁面昵稱、密碼不能為空;兩次輸入的密碼需一致;電子郵箱和手機號必須是為注冊的,在數(shù)據(jù)庫中郵箱和手機號定義了唯一約束。</p><p> 用戶名或密碼為空時:</p><p> 兩次輸入的密碼不相同時:</p><p><b> C.登錄頁面:</
66、b></p><p> 注冊成功后轉(zhuǎn)到登錄頁面,即可根據(jù)注冊的的信息登錄,用戶名處填用戶ID、手機號、郵箱均可。登錄成功后跳轉(zhuǎn)到首頁。</p><p><b> D.個人信息頁面:</b></p><p> 登錄成功后,可查看當(dāng)前用戶的個人信息,如果一開始沒有登錄就要進入到此頁面,則會先跳到登錄頁面,然后才能進入到此頁面。點擊頁面下
67、面的修改按鈕可對個人信息進行修改。</p><p> E.修改個人信息頁面:</p><p> 能夠上傳圖片將其存入數(shù)據(jù)庫:</p><p> 修改成功再次轉(zhuǎn)到個人信息頁面查看修改后的個人信息:</p><p><b> F.修改密碼頁面:</b></p><p> 修改密碼頁面要求新密
68、碼與原來的舊密碼不能一樣,新密碼與確認(rèn)的新密碼要求是相同的。</p><p> 新密碼與確認(rèn)新密碼輸入的不一致:</p><p> 原密碼與新密碼相同:</p><p> 發(fā)單功能:包括語音發(fā)單(借助移動應(yīng)用實現(xiàn)),手動發(fā)單。創(chuàng)建發(fā)單表和物品表,使用戶可以通過多種方式進行發(fā)單。發(fā)單分為3步,分為3個頁面,一步即一個頁面,具體步驟見下。</p>&
69、lt;p> 第一步填寫物品信息:</p><p> 第二步:填寫取貨信息:取貨時間一欄聚焦可出現(xiàn)下拉的日期控件;取貨地點一欄有省、市、地區(qū)三級聯(lián)動js控件可選擇地區(qū),其后跟著的輸入框用于輸入詳細(xì)地址。</p><p><b> 下拉日歷:</b></p><p> 省、市、地區(qū)三級聯(lián)動下拉選擇:</p><p&
70、gt; 第三步:填寫收貨信息:</p><p> 點擊提交后,在首頁中可看到剛剛發(fā)單成功的發(fā)單信息:</p><p> 然后點擊詳細(xì)可查看到剛剛發(fā)單的詳細(xì)情況,點擊頁面下方的“我要搶單”這一鏈接可以進行搶單:</p><p> 搶單功能:創(chuàng)建搶單表,存儲搶單信息,可通過存儲過程實現(xiàn)快速調(diào)用關(guān)系,目的是為了保證查詢的有效性和及時性,該功能使搶單者積極的參與發(fā)單
71、。</p><p> 搶單操作方式是:搶單者在點擊“我要搶單”后進入到此頁面填寫搶單信息。填寫完后點擊“提交”系統(tǒng)會提醒你是第幾個搶單的,前面有幾個待處理的搶單。搶單的時候要物品價值超過一定的數(shù)額就只有等級高的的才能搶。只有等級時F及F以上的用戶才能搶價值在300元及其以上的單子,只有等級是C及C以上的用戶才能搶價值在600及其以上的單子。如果你的等級不夠去搶價值高的發(fā)單是會搶單失敗,系統(tǒng)會給出提醒。搶單信息提
72、交后,搶單者所要做的就是等待,稍后等發(fā)單者確定選中了哪個搶單者送后,系統(tǒng)會提醒搶單者搶單成功或失敗了。</p><p> (4)查詢功能:包含查詢物流信息等基本功能,還有地圖定位功能,其可用手機GPS實現(xiàn),查詢到附近的發(fā)單信息,還可以按照條件進行篩選,找到滿意的訂單和配送路線。</p><p><b> A.物流信息頁面:</b></p><p
73、> 發(fā)單者可以查看物流信息,物流信息以時光軸的形式展示出來。頁面設(shè)計富有特色,簡潔,明了,醒目。而且美觀大方。</p><p> (4)其他功能:系統(tǒng)中增加了許多比較人性化的功能,比如配送服務(wù)評價,常用地址添加等。</p><p><b> A.評價頁面:</b></p><p> 搶單成功者將貨物送達后,發(fā)單者可對搶單者的服務(wù)給
74、出評價。根據(jù)評價換算成積分,積分累計得越多搶單用戶等級升級得越快。為避免用戶刷積分的現(xiàn)象,發(fā)單者發(fā)的單不允許發(fā)單者自己去搶自己發(fā)的單。</p><p> 評價等級是以星級為依據(jù)</p><p><b> B.常用地址頁面:</b></p><p> 填寫發(fā)單信息的取貨和送貨地址時如果要填寫的信息已經(jīng)保存到了再了常用地址中可直接點擊常用地址
75、添加,可以使操作更加簡便。</p><p> C.添加常用地址頁面:</p><p> 在此頁面中添加常用聯(lián)系人</p><p> 添加成功后跳轉(zhuǎn)到常用地址頁面,可以看到添加成功后的常用地址列表</p><p> 以下是app版界面:</p><p> App只完成了一些頁面,功能也只實現(xiàn)了一部分,還有許多地
76、方需要完善。</p><p> 調(diào)試過程中經(jīng)常遇到許多問題。</p><p> 登錄頁面:如同大部分app登錄頁面一樣簡潔大方</p><p> 第一次登錄的介紹頁面:</p><p> 首頁:和網(wǎng)頁版的一樣有最新的發(fā)單情況,能夠篩選和搜索滿足條件的發(fā)單,還能根據(jù)定位到的用戶的當(dāng)前位置為用戶推薦在用戶附近的發(fā)單</p>
77、<p> 發(fā)單頁面:點擊頁面下部的發(fā)單按鈕,進入到發(fā)單頁面可進行文字發(fā)單和語音發(fā)單,還可查詢用戶已發(fā)過的各種狀態(tài)的發(fā)單。</p><p> 文字發(fā)單頁面:與網(wǎng)頁版內(nèi)容相同,但并未分為3步,所有發(fā)單信息都在一個頁面中填寫</p><p> 我的搶單頁面:在此頁面中可查詢用戶各種狀態(tài)的搶單。</p><p> 我要搶單頁面:用戶在此頁面進行搶單<
78、/p><p> 設(shè)置頁面:在此頁面對個人信息、我的支出、我的收入等進行設(shè)置,還可以設(shè)置有新的發(fā)單時,是否接受發(fā)單,并設(shè)置滿足什么條件的發(fā)單才被用戶所接收</p><p> 我們整個項目分為了網(wǎng)頁版和app版,有許多功能在網(wǎng)頁版中無法實現(xiàn),只能在app中實現(xiàn),如:定位、導(dǎo)航等功能。</p><p> 六、測試、分析和總結(jié)</p><p>
79、1. 系統(tǒng)測試與分析</p><p> 我直接在Myeclipse自帶的瀏覽器中調(diào)試運行程序,我的頁面設(shè)計十分的簡單,以淺藍、淺灰為主色,簡單的色調(diào)給人以舒適的感覺。沒有使用漂亮的背景圖片,背景圖片不好確定大小,在界面大小不同的瀏覽器中效果不同,圖片小了會不太好看,使界面顯得很亂,所以我沒有使用背景圖片頁面顯得簡約大方,像百度的設(shè)計十分的簡單,卻深受大家的喜愛。每個頁面都有著相同的模式,顯得整齊一致。在功能方面
80、還是比較齊全,我們本著用戶友好型的原則,從用戶的角度出發(fā)設(shè)計整個項目,務(wù)必使用戶使用起來方便、快捷,讓用戶感覺到使用我們的產(chǎn)品是一種享受。</p><p> 當(dāng)然我們的系統(tǒng)還有許多不足之處,許多功能還有加強、完善,代碼不夠簡潔,應(yīng)該更加注意到使用性。</p><p><b> 2.遇到的問題</b></p><p> 在web工程編程、調(diào)
81、試過程遇到了許多的問題。運行時多次遇到以前沒見過的錯誤,一開始總讓我措手不及,束手無策我就上網(wǎng)查找 ,發(fā)現(xiàn)網(wǎng)上也有許多遇到相同錯誤在網(wǎng)上尋求答案的人,網(wǎng)上也給出了一些解決方案,但大多都無法解決我的問題,然后我又向人請教,翻書查資料,好不容易才能解決,但也有一部分問題是我至今也未解決的。比如圖片的上傳,圖片的處理。圖片在數(shù)據(jù)庫中的以image這一數(shù)據(jù)類型存儲的,而我不知道在java中相對應(yīng)的數(shù)據(jù)類型應(yīng)該是什么,然后我試著在Java中以In
82、putStream這一數(shù)據(jù)類型定義,然而在獲取從jsp頁面?zhèn)鬟^來的圖片時,總是顯示找不到圖片,我不知道該怎么解決這一問題。</p><p><b> 3. 總結(jié)與展望</b></p><p> 此次比賽,讓我們了解了系統(tǒng)開發(fā)的全過程,要經(jīng)歷5個階段:系統(tǒng)規(guī)劃階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計階段、系統(tǒng)實施階段和系統(tǒng)維護和評價階段。</p><p>
83、; 系統(tǒng)規(guī)劃階段的任務(wù)主要是,確定要做什么方面的系統(tǒng),根據(jù)需要提出一個新系統(tǒng)的總體方案,并對這些方案進行可行性分析。系統(tǒng)分析階段的任務(wù)是根據(jù)系統(tǒng)開發(fā)計劃所確定的范圍,對目標(biāo)系統(tǒng)進行深入調(diào)查,與其類似系統(tǒng)進行比較,找出目標(biāo)系統(tǒng)的局限性,并進行修改和創(chuàng)新。而且,這個階段要設(shè)計出邏輯模型。系統(tǒng)設(shè)計階段回答了目標(biāo)系統(tǒng)“怎么做”的問題,具體設(shè)計實現(xiàn)邏輯模型的技術(shù)方案,也就是物理模型。系統(tǒng)實施階段就是將問題用java語言實現(xiàn)功能,之后對系統(tǒng)進行調(diào)
84、試和維護。</p><p> 經(jīng)歷以上階段后,發(fā)現(xiàn)許多方面需要多思考幾個方案,實現(xiàn)功能時可以再考慮代碼的簡潔性和規(guī)范性。希望我們的系統(tǒng)更加完善,功能更加全面,使用起來更加人性化。在滿足客戶的需求上,提供更加有創(chuàng)新、實用的功能。</p><p> 七、系統(tǒng)實現(xiàn)關(guān)鍵的代碼</p><p> 1、主頁實現(xiàn)實時更新發(fā)單情況:在jsp頁面嵌入java 代碼實現(xiàn)</
85、p><p><b> <%!</b></p><p> ResultSet rs=null;</p><p> String sql;</p><p> String code;</p><p> int pagesize=10;</p><p> int r
86、owcount=0;</p><p> int pagecount=1;</p><p><b> %></b></p><p><b> <body></b></p><p> <table style="color:black;" width=
87、"600" height="" border="1" align="center" cellpadding="0" cellspacing="0"bordercolor=black bordercolordark="#333333" bordercolorlight="#FFFFFF&qu
88、ot;></p><p><b> <tr></b></p><p> <td height="38" align="center" colspan="6" bgcolor=#0000FF><font style="font-size:1.5em; color
89、:black">動 態(tài) 信 息</font></td></p><p><b> </tr></b></p><p><b> <tr></b></p><p> <td width=12% height="29" align=
90、"center">發(fā)布日期</td></p><p> <td width=24% height="29" align="center">取貨地點</td></p><p> <td width=24% height="29" align="cent
91、er">送貨地點</td></p><p> <td width=23% height="29" align="center">物品名稱</td></p><p> <td width=12% height="29" align="center"&g
92、t;操作</td></p><p><b> </tr></b></p><p><b> <%</b></p><p> sql="select * from 訂單.發(fā)單 join 貨物.物品 on 發(fā)單.物品編號=物品.物品編號 ";</p>&l
93、t;p><b> try</b></p><p><b> {</b></p><p> rs=connection.executeQuery(sql);</p><p> if(!rs.next())</p><p><b> {</b></p>
94、<p><b> %></b></p><p><b> <%</b></p><p><b> }else</b></p><p><b> {</b></p><p> rs.last();</p>&l
95、t;p> rowcount=rs.getRow();</p><p> int showpage=1;</p><p> pagecount=((rowcount%pagesize)==0?(rowcount/pagesize):(rowcount/pagesize)+1);</p><p> String topage=request.getPara
96、meter("topage");</p><p> if(topage!=null)</p><p><b> {</b></p><p> showpage=Integer.parseInt(topage);</p><p> if(showpage>pagecount){</p
97、><p> showpage=pagecount;</p><p> }else if(showpage<=0){</p><p> showpage=1;</p><p><b> }</b></p><p><b> }</b></p><
98、p> rs.absolute((showpage-1)*pagesize+1);</p><p> for(int i=1;i<=pagesize;i++)</p><p><b> {</b></p><p> code=rs.getString("發(fā)單編號");</p><p>
99、;<b> %></b></p><p><b> <tr></b></p><p> <td width=12% height="40" align="center"><%=rs.getString("發(fā)單時間")%></td>
100、;</p><p> <td width=24% height="40" align="center"><%=rs.getString("取貨地址")%></td></p><p> <td width=24% height="40" align="cen
101、ter"><%=rs.getString("目的地")%></td></p><p> <td width=23% height="40" align="center"><%=rs.getString("物品名稱")%></td></p>&l
102、t;p> <td width=12% height="40" align="center"></p><p> <a href="<%=request.getContextPath()%>/publish_show.jsp?id=<%=code%>">詳細(xì)</a></td>
103、 </p><p><b> </tr></b></p><p><b> <%</b></p><p> if(!rs.next())</p><p><b> break;</b></p><p><b> }
104、</b></p><p><b> %></b></p><p><b> <tr></b></p><p> <td height="30" colspan="9" align="right"></p>
105、<p> <table width="786" align="center" cellpadding="0" cellspacing="0"></p><p><b> <tr></b></p><p> <td width="7
106、86" height="30" colspan="9" align="right"></p><p> 共<%=pagecount%>頁 </p><p> <a href="Main.jsp?topage=<%=1%>"&
107、gt;第一頁</a> </p><p> <a href="Main.jsp?topage=<%=showpage-1%>">上一頁</a> </p><p> <a href="Main.jsp?topage=<%=sh
108、owpage+1%>">下一頁</a> </p><p> <a href="Main.jsp?topage=<%=pagecount%>">最后一頁</a></p><p><b> </td></b></p>
109、<p><b> </tr></b></p><p><b> </table></b></p><p><b> </td></b></p><p><b> </tr></b></p><
110、p><b> <%</b></p><p><b> }</b></p><p> }catch(Exception e)</p><p> {e.printStackTrace();}</p><p><b> %></b></p>
111、<p><b> </table></b></p><p> 2、發(fā)單的實現(xiàn):第一步填寫物品信息后點下一步便將這些信息存到了數(shù)據(jù)庫中的物品表中,并將物品編號通過會話傳值。</p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)
112、</p><p> throws ServletException, IOException {</p><p> int r1=(int)(Math.random()*(10));</p><p> long now = System.currentTimeMillis();</p><p> String id ="w&
113、quot;+String.valueOf(now)+String.valueOf(r1);</p><p> String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");</p><p> String category
114、=new String(request.getParameter("category").getBytes("iso-8859-1"),"utf-8");</p><p> BigDecimal weight=new BigDecimal(request.getParameter("weigh"));</p><
115、p> BigDecimal voluem=new BigDecimal(request.getParameter("voluem"));</p><p> String value=request.getParameter("value");</p><p> String filename=new String(request.getP
116、arameter("image").getBytes("iso-8859-1"),"utf-8");</p><p> HttpSession session = request.getSession();</p><p> session.setAttribute("id", id);</p>
117、<p> Goods g=new Goods();</p><p> g.setGoodsId(id);</p><p> g.setGoodsname(name);</p><p> g.setCategory(category);</p><p> g.setWeight(weight);</p>&
118、lt;p> g.setVoluem(voluem);</p><p> g.setValue(value);</p><p><b> g.add();</b></p><p> RequestDispatcher rd = request.getRequestDispatcher(".
119、./publish2.jsp");</p><p> rd.forward(request,response);</p><p><b> }</b></p><p> 第二步填寫完取貨系信息點擊下一步后將傳遞到servlet中的值通過會話傳值。</p><p> public void doPost(
120、HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> String fname=new String(request.getParameter("fname").getBytes("
121、iso-8859-1"),"utf-8");</p><p> String fphone=new String(request.getParameter("fphone").getBytes("iso-8859-1"),"utf-8");</p><p> String ftime=new St
122、ring(request.getParameter("day").getBytes("iso-8859-1"),"utf-8");</p><p> String area=new String(request.getParameter("area").getBytes("iso-8859-1"),"u
123、tf-8");</p><p> String xiangxi=new String(request.getParameter("xiangxi").getBytes("iso-8859-1"),"utf-8");</p><p> String address=area+xiangxi;</p>
124、<p> System.out.print(address);</p><p> HttpSession session=request.getSession();</p><p> session.setAttribute("fname", fname);</p><p> session.setAttribute("
125、;fphone", fphone);</p><p> session.setAttribute("ftime", ftime);</p><p> session.setAttribute("address", address);</p><p> RequestDispatcher rd = reques
126、t.getRequestDispatcher("../publish3.jsp");</p><p> rd.forward(request,response);</p><p><b> }</b></p><p> 第三步填寫完送貨信息提交后,獲取會話傳過來的物品編號和取貨信息,和表單傳來的值,將這些值插入到數(shù)據(jù)庫
127、中大發(fā)單表中:</p><p> public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p> throws ServletException, IOException {</p><p> String sname=new String(reques
128、t.getParameter("fname").getBytes("iso-8859-1"),"utf-8");</p><p> String sphone=new String(request.getParameter("fphone").getBytes("iso-8859-1"),"utf-8&
129、quot;);</p><p> String stime=new String(request.getParameter("day").getBytes("iso-8859-1"),"utf-8");</p><p> String area=new String(request.getParameter("are
130、a").getBytes("iso-8859-1"),"utf-8");</p><p> String xiangxi=new String(request.getParameter("xiangxi").getBytes("iso-8859-1"),"utf-8");</p><
131、p> String location=area+xiangxi;</p><p> String baozhi=request.getParameter("baozhi");</p><p> HttpSession session=request.getSession();</p><p> String fname=(S
132、tring)session.getAttribute("fname");</p><p> String fphone=(String)session.getAttribute("fphone");</p><p> String ftime=(String)session.getAttribute("ftime");<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流管理系統(tǒng)課程設(shè)計
- 物流管理系統(tǒng)課程設(shè)計報告
- 物流管理系統(tǒng)畢業(yè)設(shè)計
- 物流管理課程設(shè)計
- 物流管理課程設(shè)計
- 物流管理信息系統(tǒng)課程設(shè)計
- 物流管理信息系統(tǒng)課程設(shè)計
- 現(xiàn)代物流管理課程設(shè)計
- 物流管理專業(yè)畢業(yè)設(shè)計
- 物流管理專業(yè)畢業(yè)設(shè)計
- 物流管理平臺畢業(yè)設(shè)計
- 物流管理專業(yè)畢業(yè)設(shè)計
- 物流管理專業(yè)畢業(yè)設(shè)計
- 物流管理專業(yè)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--物流管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計管理系統(tǒng)課程設(shè)計
- 畢業(yè)設(shè)計--物流管理系統(tǒng)的設(shè)計與實現(xiàn)
- 物流管理信息系統(tǒng)課程設(shè)計 (2)
- 企業(yè)物流管理課程設(shè)計報告
- 物流管理專業(yè)課程設(shè)計
評論
0/150
提交評論