長途汽車信息管理系統(tǒng)【課程設計-java-數(shù)據(jù)庫】_第1頁
長途汽車信息管理系統(tǒng)【課程設計-java-數(shù)據(jù)庫】_第2頁
長途汽車信息管理系統(tǒng)【課程設計-java-數(shù)據(jù)庫】_第3頁
長途汽車信息管理系統(tǒng)【課程設計-java-數(shù)據(jù)庫】_第4頁
長途汽車信息管理系統(tǒng)【課程設計-java-數(shù)據(jù)庫】_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

長途汽車信息管理系統(tǒng)2021年12月長途汽車信息管理系統(tǒng)圖3.3系統(tǒng)組成設計圖實名認證申請圖3.3系統(tǒng)組成設計圖實名認證申請2.3.數(shù)據(jù)庫結構設計2.3.1.需求分析(1) 系統(tǒng)管理對象長途汽車信息管理系統(tǒng)涉及的人有2類,登錄系統(tǒng)希望買票的乘客、系統(tǒng)管理員,管

理的事務有車輛、路線信息、訂單信息、車票信息。(2) 實體間聯(lián)系實體之間主要事務聯(lián)系如下:用戶向管理員提出實名認證申請。用戶可查詢相應的路線、車票、訂單信息,可修改個人用戶信息。管理員審核實名認證信息,管理用戶信息。管理員維護車輛信息、增刪改路線信息及車票信息管理員可對車輛信息、車票信息、訂單信息等進行統(tǒng)計分析。(3) 功能需求能夠進行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能。具體功能應包括:系統(tǒng)應該提供管理員對車輛、路線、車票、訂單信息的添加、插入、

刪除、更新、查詢操作;同時實現(xiàn)用戶對車輛、路線、車票、訂單的查詢,以及對個人用

戶信息的修改、查詢功能。(4) 安全性與完整性需求對于長途汽車信息管理系統(tǒng)而言,涉及的實體較多,要維護好不同實體表之間的管理

關系,涉及相應的外圍程序,保證數(shù)據(jù)輸入的完整性。同時要對注入信息進行識別并攔截,

防止數(shù)據(jù)庫被惡意破壞。

2.3.2.概念結構設計根據(jù)上文分析,本系統(tǒng)主要實體有乘客(用戶)、管理員、車輛信息、路線信息、訂單

信息、車票信息。主要涉及的實體間聯(lián)系有:用戶、車票信息與訂單信息之間存在“訂購”的聯(lián)系,且

一個用戶可購買多種車票,一種車票可被多位顧客購買,故涉及的關系為多對多關系。車

票信息與車輛信息之間存在“承載”關系,說明該車票所應搭乘的汽車,一類車票搭乘一

輛汽車,汽車可承載多路車票的運行,所有車票信息與車輛信息之間為多對一關系。車票

與路線之間存在“經由”關系,一類車票具有唯一確定的路線,一條路線可由不同時段的

多種車票經由,所以車票信息與路線信息為多對一關系。各實體所涉及的屬性如下:乘客(乘客ID,姓名,性別,聯(lián)系方式,身份證號,登錄密碼)車輛(車輛ID,車牌號,座位數(shù),總里程,運行狀態(tài),投用時間)路線(路線ID,始發(fā)站,終點站,總距離)車票(車票ID,數(shù)量,始發(fā)時間,到達時間,車票價格)訂單(訂單ID,生成時間,支付狀況)根據(jù)以上設計,可以得到實體聯(lián)系ER圖及概念模型圖如圖3.4和圖3.5所示。圖3.4實體聯(lián)系ER圖

圖3.5概念模型2.3.3.邏輯結構設計(1)概念模型轉換為邏輯模型完成了概念模型的設計,以下將利用概念模型轉換為邏輯模型的六條原則,對上述概

念模型進行處理。根據(jù)設計原則一,將各實體轉換為關系表,各表結構如下:乘客(乘客ID,姓名,性別,聯(lián)系方式,身份證號,登錄密碼)■PassengertP.gender.contactJd.card)車輛(車輛ID,車牌號,座位數(shù),總里程,投用時間)■Bus(Bid,busNum)seats,total_dis)bir_time)路線(路線ID,始發(fā)站,終點站,總距離)■Route(Rid,start_station,end_station,totalDis)車票(車票ID,數(shù)量,始發(fā)時間,到達時間,車票價格)■Ticket(Tid,number,depart_time,arr_time,price)訂單(訂單ID,生成時間,支付狀況)■Porder(Oid,genTime,ispay)根據(jù)多對一關系的設計轉換原則,將車票與車輛之間多對一的承載關系,轉化為將車

輛的主鍵作為外鍵,吸取到車票信息中;同理,將車票與路線之間的多對一“運行于”關

系,轉化為將路線的主鍵作為外鍵,吸取到車票信息中。因此,“車票”的新結構如下:車票(車票ID,車輛ID,路線ID,數(shù)量,始發(fā)時間,到達時間,車票價格)?Ticket(Tid,Bid,Rid,number,departjjme,air_timeprice)FK:Bid,Rid

根據(jù)多對多關系的設計轉換規(guī)則,將乘客與車票之間多對多的“購買”關系,轉換為

一個新的“訂單”表,并吸取“乘客”的主鍵及“車票”的主鍵作為“訂單”表的外鍵。

據(jù)此,“訂單”表的結構如下:訂單(訂單ID,乘客1D,車票1D,生成時間,支付狀況)?Porder(Oid,Pid,Tid,genTime,ispay)FK:Pid,Tid(2)關系模型定義根據(jù)以上分析,該此數(shù)據(jù)庫設計關系定義模型如下:乘客(乘客ID,登錄密碼,姓名,性別,聯(lián)系方式,身份證號)?PassengertP.gender.contact.ld.card)主鍵為Pid,屬性間的函數(shù)依賴關系:FD:{Pid,ld_card->pwd,name,gender,contact}車輛(車輛ID,車牌號,座位數(shù),總里程,投用時間)■Bus(Bid1busNum,seats,total_dis,bir_time)主鍵為Bid,屬性間的函數(shù)依賴關系:FD:(Bid,busNum->seatsItotal_dis,bir_time)路線(路線ID,始發(fā)站,終點站,總距離)?Route(Rid,start_station,end_station,totalDis)主鍵為Rid,屬性間的函數(shù)依賴關系:FD:(Rid,start_station,end_station->totalDis)車票(車票ID,車輛ID,路線ID,數(shù)量,始發(fā)時間,到達時間,車票價格)

,Ticket(Tid,Bid,Rid,number,depart_time,arr_time,price)主鍵為Tid、Bid、Rid三個屬性夠成的表間依賴FK1:Bid依賴于bus表,F(xiàn)K2:Rid

依賴于route表。屬性間的函數(shù)依賴關系:FD:(Tid,Bid,Rid,depart_time,arr_time->number,price)訂單(訂單ID,乘客ID,車票ID,生成時間,支付狀況)

■Porder(Oid,Pid,Tid,qenTime,ispay)主鍵為Oid、Bid、Tid三個屬性夠成的表間依賴FK1:Bid依賴于Bus表,F(xiàn)K2:Tid

依賴于Ticket表。屬性間的函數(shù)依賴關系:FD:(Oid.Pid.Tid.genTime->ispay)2.3.4.物理模型根據(jù)以上設計得到該數(shù)據(jù)庫設計的物理模型如圖3.6所示:Pidinlpwdvarchar(20)namevarchar(20)genderchar(1)contactvarchar(11)Id_cardvarchar(20)Passenger:r)k>BusPOrderoidini<r)k〉PidintTidint<fk2>isPayboolgenTimedatetimeHid

seats

totaldis

bir_time

busNumill!

int

float

date

varchar(7)<Dk>1Ticket<nk>TidBidRid

number

price

departlime

arrtime±111

int

int

int

float

datetime

datetimeRouteRM

start_station

endstation

totalDisint 3k>varchar(20)

varchar(20)

float圖3.6物理模型根據(jù)得到的關系邏輯模型定義,“長途汽車信息管理系統(tǒng)”的全部標識符、

約束信息如下:長途汽的E信息管理系統(tǒng)數(shù)據(jù)庫設計清S1表名屬性屬性名數(shù)據(jù)類型長度可空索引屬性約束表級約束乘客passenger編號Pidintno索引主屬性主碼:編號密碼pwdvarchar20no姓名namevarchar20no性別genderchar1no1■男,0-女聯(lián)系方式contactvarchar11no身份證號ldcardvarchar20yes索引主屬性車輛bus編號Bidintno索引主屬性座位數(shù)seatsintno主碼:編號總運程totaldisfloatyes投運時間birjimedateno車牌號busNumvarchar7no索引主屬性路線

route編號Ridintno索引主屬性主碼:編號始發(fā)站start_stationvarchar20no索引主屬性終點站endstationvarchar20no索引主屬性總距離totalDisfloatno

車票ticket編號Tidintno索引主屬性主碼:編號車輛編號Bidintno主屬性路線編號Ridintno主屬性車票數(shù)量numberintno價格pricefloatno始發(fā)時間depart_timedatetim

eno索引到達時間arr_timedatetimeno索引訂單

porder編號Oidintno索引主屬性主碼:編號乘客編號Pidintno主屬性車票編號Tidintno主屬性支付狀態(tài)isPaybooleanno生成時間genTimedatetimeno表3.1長途汽車信息管理數(shù)據(jù)庫設計清單4、數(shù)據(jù)庫實施與數(shù)據(jù)準備4.1數(shù)據(jù)庫平臺簡介木次數(shù)據(jù)庫設計使用了PowerDesigner,服務實現(xiàn)使用MysqlCommunityServe8.0o

PowerDesigner是Sybase的企業(yè)建模和設計解決方案,采用模型驅動方法,將業(yè)

務與IT結合起來,可幫助部署有效的企業(yè)體系架構,并為研發(fā)生命周期管理提供強大的

分析與設計技術。PowerDesigner獨具匠心地將多種標準數(shù)據(jù)建模技術(UML、業(yè)務流程

建模以及市場領先的數(shù)據(jù)建模)集成一體,并與.NET、Workspace>PowerBuilder、Java>

Eclipse等主流開發(fā)平臺集成起來,從而為傳統(tǒng)的軟件開發(fā)周期管理提供業(yè)務分析和規(guī)范

的數(shù)據(jù)庫設計解決方案。MySQL是一款安全、跨平臺、高效的,并與PHP、Java等主流編程語言緊密結合的

數(shù)據(jù)庫系統(tǒng)。該數(shù)據(jù)庫系統(tǒng)是由瑞典的MySQLAB公司開發(fā)、發(fā)布并支持,由MySQL的

初始開發(fā)人員DavidAxmark和MichaelMontyWidenius于1995年建立的。MySQL的

象征符號是一只名為Sakila的海豚,代表著MySQL數(shù)據(jù)庫的速度、能力、精確和優(yōu)秀

本質。4.2程序實現(xiàn)/*DBMSname:MySQL5.0*/

/*Createdon:2021/7/52:09:36*/

/*==============================================================*/

droptableifexistsBus;droptableifexistsPOrder;

droptableifexistsPassenger;droptableifexistsRoute;droptableifexistsTicket:/*==============================================================*/

,*Table:Bus *//*==============================================================*/

createtableBus(Bid intnot nullAUTO_INCREMENT,seats int,totaldis float,bir_time date,busNum varchar(7),primarykey(Bid)

);/*二二二二二二二二二二==二二二二二二二==二二二二二==二二二二二二二二二二二二二二二二二二二二二==二二二*/*Table:POrder *//*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*/

createtablePOrder(Oid intnotnullAUTOINCREMENT,Pid int,Tid int,isPay char(1),genTime TIMESTAMP,

primarykey(Oid));/*==============================================================*/

/*Table:Passenger *//*==============================================================*/

createtablePassengerPidintnotnullAUT(LINCREMENT,pwdvarchar(20),namevarchar(20),genderchar(1),contactvarchar(11),Id_cardVcirchar(20),

primarykey(Pid));/*===========================================================*/

/*Table:Route *//*==============================================================*/

createtableRoute(Rid intnotnullAUT0_INCREMENT,startstation varchar(20),end_station varchar(20),totalDis float,primarykey(Rid)

);/*二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二二*/

/*Table:Ticket *//*===========================================================*/

createtableTicket(Tid intnotnullAUTO_INCREMENT,Bid int,Rid int,number int,price float,depart_time TIMESTAMP,arr_time TIMESTAMP,

primarykey(Tid));altertablePOrderaddconstraintFKbookingforeignkey(Pid)

referencesPassenger(Pid)ondeleterestrictonupdaterestrict;altertablePOrderaddconstraintFKrelateToforeignkey(Tid)

referencesTicket(Tid)ondeleterestrictonupdaterestrict;altertableTicketaddconstraintFK_boardforeignkey(Bid)

referencesBus(Bid)ondeleterestrictonupdaterestrict;altertableTicketaddconstraintFKtravalOnforeignkey(Tid)

referencesRoute(Rid)ondeleterestrictonupdaterestrict;

3數(shù)據(jù)庫觸發(fā)器設計在用戶進行實名認證時,用戶需要輸入相應的身份證號碼,為了保證身份

證號碼的正確性,須設置檢驗的觸發(fā)器,檢驗身份證號碼位數(shù):CREATETRIGGER'client_ID_judge'BEFOREUPDATEON'passenger*FOREACH

ROWBEGINIF(CHAR_LENGTH(NEW.Id_card)==18)THENSETnew.Id_card=old.Id_card;ENDIF;在用戶輸入手機號碼后,需要對用戶輸入的手機號碼位數(shù)進行檢驗,故在

用戶信息表中創(chuàng)建關于手機號碼位數(shù)檢驗的觸發(fā)器。CREATETRIGGER*contact_judge'BEFOREUPDATEON'passenger'FOREACH

ROWBEGINIF(CHAR_LENGTH(NEW.contact)==11)THENSETnew.contact=old.contact;ENDIF;END;>在車輛信息被刪除后,其負責承載的車票信息將失效,相應的應將其刪

除,以防止顧客購買無效的車票。CREATETRIGGER'ticket_update1AFTERDELETEON'bus'FOREACHROWBEGINDELETEFROMticketWHEREticket.tid=old.tidANDtickit.arr_time<

GETDATE();END;>在用戶創(chuàng)建訂單后,由于沒有按時執(zhí)行支付程序,其訂單處于未支付狀

態(tài),所以用戶創(chuàng)建訂單時僅僅生成未支付的訂單,在用戶執(zhí)行支付程序后

再將訂單設置為己支付。所以在用戶創(chuàng)建訂單時,默認將支付狀態(tài)屬性設

置為未支付。CREATETRIGGER'Pay_state‘AFTERINSERTON'porder*FOREACHROW

BEGINSETnew.isPay=false;END;

>在創(chuàng)建車票時,其座位數(shù)量最大值取決于承載該車次的車輛,管理員輸入

相應的車票數(shù)量后,將檢查承載車輛的最大座位數(shù),如果該值超過最大座

位數(shù)則將其修改為車輛的座位數(shù)。CREATETRIGGER*seats_cheak1BEFOREINSERTON'ticket*FOREACHROW

IF(NEW.number>(selectseatsFROMbuswhereBid=new.BidAS

seatNum))THENSETnew.number=seatNum;ENDIF;END;4.4統(tǒng)計模塊測試數(shù)據(jù)4.4.1乘客表初始數(shù)據(jù)導入PidpwdnamegendercontactIdcard10205484652李火0130228223826123231999109166i10211221212李光0195959559956565121212121212^102225626262李收0199595959552115615121215626^102366262626李廣告019595959595556556515615615V1024156s2d6sd6弓俺0146566556464324325657576767(表4.1乘客初始數(shù)據(jù)4.4.2車輛初始數(shù)據(jù)導入Bid seatstotaldisbirtimebusNum?202045323212017-05-20陜F23243202255132322017-05-21陜F54545202345132112017-05-22陜F54545202445221112017-05-23陜F45453202545111122017-05-24陜F54533202655213132017-05-25陜F545434.4.3表4.2車輛初始數(shù)據(jù)路線信息初始數(shù)據(jù)導入RidstartstationendstationtotalDis100張村鐘樓121101韋曲南張村232102東北434103西安郡邑32表4.3路線信息初始數(shù)據(jù)

目錄TOC\o"1-5"\h\z\o"CurrentDocument"1、 設計目的 1\o"CurrentDocument"2、 需求分析 3\o"CurrentDocument"系統(tǒng)總目標 3\o"CurrentDocument"用戶子系統(tǒng)需求分析 3\o"CurrentDocument"管理員子系統(tǒng)需求分析 3\o"CurrentDocument"系統(tǒng)用例分析 4\o"CurrentDocument"系統(tǒng)數(shù)據(jù)處理分析 4\o"CurrentDocument"數(shù)據(jù)字典描述 6\o"CurrentDocument"2.6.1 數(shù)據(jù)流分析 6\o"CurrentDocument"2.6.2 數(shù)據(jù)存儲定義 7\o"CurrentDocument"2、 6.3 子系統(tǒng)數(shù)據(jù)處理過程定義 7\o"CurrentDocument"3、 系統(tǒng)設計 8\o"CurrentDocument"2.1. 系統(tǒng)框架結構設計 8\o"CurrentDocument"2.2. 組成結構設計 9\o"CurrentDocument"2.3. 數(shù)據(jù)庫結構設計 10\o"CurrentDocument"2.3.1. 需求分析 10\o"CurrentDocument"2.3.2. 概念結構設計 11\o"CurrentDocument"2.3.3, 邏輯結構設計 12\o"CurrentDocument"2.3.4. 物理模型 13\o"CurrentDocument"4、 數(shù)據(jù)庫實施與數(shù)據(jù)準備 15\o"CurrentDocument"數(shù)據(jù)庫平臺簡介 15\o"CurrentDocument"程序實現(xiàn) 15\o"CurrentDocument"數(shù)據(jù)庫觸發(fā)器設計 18\o"CurrentDocument"統(tǒng)計模塊測試數(shù)據(jù) 19\o"CurrentDocument"4-4.1 乘客表初始數(shù)據(jù)導入 19\o"CurrentDocument"4.4.2 車輛初始數(shù)據(jù)導入 19\o"CurrentDocument"4.4.3 路線信息初始數(shù)據(jù)導入 194.4 車票信息初始數(shù)據(jù)導入 20\o"CurrentDocument"5、 功能模塊設計與開發(fā) 20\o"CurrentDocument"訂單管理模塊 20車輛管理模塊 25車票管理模塊 30\o"CurrentDocument"路線管理模塊 33\o"CurrentDocument"信息批量導入模塊 35\o"CurrentDocument"信息統(tǒng)計模塊 38\o"CurrentDocument"7、 課程設計技術經驗總結 42

4.4.4車票信息初始數(shù)據(jù)導入TidBidRidnumberpricedeparttime arrtime40020201037502021-07-0708:00:0C2021-07-0709:00:0C401202910311502021-07-0709:00:002021-07-0710:00:0C402202210332502021-07-0710:00:0C2021-07-0711:00:0C403202310311502021-07-0711:00:0C2021-07-0712:00:0C404202410320502021-07-0712:00:0C2021-07-0713:00:0C4052025103371002021-07-0713:00:0C2021-07-0714:00:0C4062026103221002021-07-0714:00:0C2021-07-0715:00:0C4072027103301002021-07-0715:00:0C2021-07-0716:00:0C4082028103121002021-07-0716:00:002021-07-0717:00:0C表4.4車票信息初始數(shù)據(jù)5、功能模塊設計與開發(fā)5.1訂單管理模塊5.1.1訂單管理模塊概述管理員系統(tǒng)中,訂單管理模塊主要用于查詢系統(tǒng)中的所有訂單,并能對訂單執(zhí)行刪除

操作。由于訂單由用戶購買產生,管理員不需要進行插入操作,所以管理員系統(tǒng)中并未設

置訂單插入操作。通過點擊“訂單管理”按鈕,將向服務器發(fā)送查看所有訂單請求,在得

到回復后,已表格形式將數(shù)據(jù)顯示出來,并展示能進行的操作。該模塊的操作未“刪除”,

點擊“刪除”后,前臺將向服務器發(fā)送相應的訂單ID并請求服務器完成刪除操作。笛悵■汽車訂?■■球站9199911173398a919M1117339<8g2121212121211釀2121212121211a辱人9199911173398919W11173398as9199911173:埃點站的同2021-07-071300002021-07-0714:0000SB202107-0713800202107-0714:00009MB2021-07-071800002021-07-0719:0000mt2021"07-0711:30002021-07-0712.A00郭邑2021-07-0713S002021070714:00002021-07-07128002021-07-0713:00002021-07?0713:00002021-07-0714:00002021-07*0706*00002021070709:0000202107-07090000訂■生成明?mn陜F545332021-07-0911:27:13O*545332021-07-091128:45付ORF534342021-07-09113048O渺344552021-07-巳玄何OBF545332021-07-0921^3:29巳的ORF454S3巳攻付OMFS45332021*07,09224300已支付OMF232432021-07-101014:58已賓付OIRF232432021-07*10101601未支付O圖5.1訂單管理界面在點擊右側“刪除”按鈕后,前臺將向服務器發(fā)送帶有訂單ID在點擊右側“刪除”按鈕后,前臺將向服務器發(fā)送帶有訂單ID的HTTP請求,并等待服務器響應,服務器收到請求后,將執(zhí)行刪除操作,并將操作結果保存在JSON字符串

中返回給前臺。前臺收到成功刪除信息后,將會再次請求服務器,更新訂單頁面內容。該模塊初始化流程圖如下:瀏覽器:陸束瀏覽器:陸束圖5.2訂單管理加載流程圖5.1.2訂單管理模塊實現(xiàn)訂單管理表格代碼,handlerbar模塊模板引擎,該引擎在JS中完成編譯并加入到

HTML中,實現(xiàn)訂單信息表格化顯示。<scriptid="table-0nderlnfo"type="text/x-handlebars-template">((#eachthis}}((#eachthis}}<tr><tdstyle="white-space:nowrap">((addOne@index}}</td><tdstyle="white-space:nowrap">{(Oid})</td><tdstyle=Hwhite-space:nowrap">{{name}}</td><tdstyle="white-space:nowrap">((idCard})</td><tdstyle="white-space:nowrap">((start_station})</td><tdstyle=Hwhite-space:nowrap">((end_station})</td><tdstyle="white-space:nowrap">((depart_time}}</td><tdstyle="white-space:nowrap">((arr_time})</td><tdstyle=Hwhite-space:nowrap">((bus_num})</td><tdstyle="white-space:nowrap">((addOne@index}}</td><tdstyle="white-space:nowrap">{(Oid})</td><tdstyle=Hwhite-space:nowrap">{{name}}</td><tdstyle="white-space:nowrap">((idCard})</td><tdstyle="white-space:nowrap">((start_station})</td><tdstyle=Hwhite-space:nowrap">((end_station})</td><tdstyle="white-space:nowrap">((depart_time}}</td><tdstyle="white-space:nowrap">((arr_time})</td><tdstyle=Hwhite-space:nowrap">((bus_num})</td><tdstyle=Hwhite-space:nowrap">((genTime})</td><tdstyle="white-space:nowrap">((payment})</td>style="white-space:<tdnowrap"xastyle="white-space:<tdhref="javascript:delOrder(({Oid}))"class=,,btnbtn-dangerbtn-circlebtn-srn"title="刪除"xiclass="fasfa-1rash-alt"></ix/ax/td>

</tr>({/each}}〈/script〉該模塊的JS代碼如下,主要完成頁面的HTTP請求發(fā)送以及動態(tài)刷新頁面。functionturnToOrderPage()($(".container-fluid").empty().html('訂單界面HTML');

initialOrderPage();)<!--訂單管理頁面信息初始化functioninitialOrderPage()($.ajax({type:"GET",url:"/getAHOrder",datatype:"json",success:function(data){for(leti=0;i<data.length;i++){constgetDeDate=data[i].depart_time;

data[i].depart_time=formatting(getDeDate);

constgetArrDate=data[i].arr_time;data[i].arr_time=formatting(getArrDate);

constgentime=data[i].genTime;data[i].genTime=formatting(gentime);if(data[i].payment==="0")(data[i].payment="未支付";)else(data[i].payment="B支付“;})constmyTemplate=Hpile($("#table-Orderlnfo").html());Handlebars.registerHelper("addOne",function(index,options){returnparselnt(index)+1;));

$(*#tableList').html(myTemplate(data));},error:function(result){alertC請求錯誤!");}))}前端通過Ajax發(fā)送請求后,服務器接收響應,并給出回應,訂單控制頁面中首先向

管理員展示所有訂單,即在加載訂單頁面時,向服務器發(fā)送獲取所用訂單的請求,服務器

端處理請求的Controller層代碼如下:@GetMapping("/getA110rder")@ResponseBodypublicDSONArraygetA110rder(HttpServletRequestrequest,@RequestParam

Map<String,String>parameter)throwsException{OrderServiceorderService=newOrderService();List<Order>orders=orderService.getA110rder();JSONArrayjson=new3S0NArray();if('orders.isEmpty())(for(inti=0;i<orders.size();i++)(Orderorder=orders.get(i);Passengerpassenger=(newPassengerService()).findByPrimaryKey(order.getPid());Ticketticket=(newTicketService()).getTicketByTid(order.getTid());Routeroute=(newRouteService()).findRouteByRid(ticket.getRid());Busbus=(newBusService()).findCarByBid(ticket.getBid());JSONObjectobject=newJSONObject();object.put("Oid",order.getOid());object.put("name",passenger.getName());object.put("ideard",passenger.getIdCard());object.put("start_station",route.getStartStation());object.put("end_station"Jroute.getEndStation());object.put("depart^ime",ticket.getDepartTime());object.put("arr_time",ticket.getArrTime());

object.put("bus_num",bus.getBusnum());object.put("genTime",order.getGentime());object.put("payment",order.getIspay());json.add(object);))returnjson;}訂單管理界面中管理員可以刪除相應的訂單,刪除訂單操作也是向服務器發(fā)送刪除請

求,服務器獲取傳入的Oid并刪除訂單,其控制層代碼如下:@GetMapping("/deleteOrder")@ResponseBodypublicStringdeleteOrder(HttpServletRequestrequest,@RequestParamMap<String,String>parameter)throwsException{Stringoid=request.getParameter("oid");OrderserviceorderService=newOrderService();Orderorder=orderService.selectByPrimaryKey(Integer.parseInt(oid));if(order!=null)(orderService.deleteOrderByOid(Integer.parseInt(oid));parameter.put("message"/'刪除成功");parameter.put("status","ok");}else{parameter.put("message"/,未找到該訂單”);parameter.put("status","no");}returnJS0N.to3S0NString(parameter);)加載訂單管理界面及訂單刪除操作將涉及到讀取數(shù)據(jù)庫內容及刪除訂單表內容的操

作,服務層將調用DAO層接門完成操作,其代碼如下:publicList<Order>getA110rder()(SqlSessionsqlSession=sqlSessionFactory.openSession();〃指定mapper接口的類型,MyBatis通過動態(tài)代理的方式實現(xiàn)mapper接口OrderMapperorderMapper=sqlSession.getMapper(OrderMapper.class);List<Order>orderList=orderMapper.getAllOrder();

sqlSmit();sqlSession.close();returnorderList;)publicvoiddeleteOrderByOid(intoid)throwsException(SqlSessionsqlSession=sqlSessionFactory.openSession();OrderMapperorderMapper=

sqlSession.getMapper(OrderMapper.class);orderMapper.deleteByPrimaryKey(oid);sqlSmit();sqlSession.close();)最后,DAO層將通過Mybatis架構實現(xiàn),該層提供了無需實現(xiàn)的接口,并通過xml文

件完成接口的實現(xiàn)。相應的查找訂單及刪除訂單的xml代碼如下:<selectid="getA110rder"resultMap="BaseResultMap">select<includerefid="Base_Column_List"/>fromponder</select><deleteid="deleteByPrimaryKey"parameterType="java.lang.Integer">deletefromponderwhereOid=#(oid,jdbcType=INTEGER)</delete>5.2車輛管理模塊5.2.1車輛管理模塊概述管理員對車輛的管理主要包括,新增、查詢、刪除、修改等,如下圖所示,該功

能頁面中首先向管理員展示所有的車輛信息,并能對所有車輛進行信息修改及刪除操

作。同時還能能夠對數(shù)據(jù)進行模糊查詢,在不確定車牌號的情況下,輸入模糊的字符

串,系統(tǒng)將返回車牌號與該子字串匹配的所有車輛信息。再者就是新增功能,“新增”

按鈕按下后,將進入新的輸入界面,并設有相應的正則表達式,限制用戶輸入的信息,

保證信息準確性,最終實現(xiàn)新增功能。

長■汽辜g*MID■位數(shù)SiaS1長■汽辜g*MID■位數(shù)SiaS1202045響3243323212202255*54X5132323202345由X545132114202446叩5453221115202545由545331111262026S51VM543213137202745"FX55512323855的545641232■作2017-05-200000K?oo2017^21000000oo201782200008oo201782300008oo2017-05-2400008oo2017*OS*2S0000v0oo2017*05-26000000oo2017-05-2700OOXX)AO圖5.3車輛管理界面頁面的加載與訂單管理頁面的初始化一致,前臺向服務器發(fā)送請求,獲取到信息

后通過模板引擎對結果進行渲染,并更新到頁面中。這里異于訂單管理模塊的主要功

能是車輛的新增及車輛信息修改操作。用戶點擊“修改”及“新增”按鈕后,界面將

使用動態(tài)刷新技術,將頁面更新到相應的界面。如下圖所示,管理員點擊了“修改”

按鈕,系統(tǒng)更新到車輛信息修改界面。Q車輛信息修改2024車WMD2024座位敬段用日建2017-05-23140000段用日建221110圖5.4車輛信息修改界面汽車信息修改流程如下:向服務器發(fā)送更新誦求向服務器發(fā)送更新誦求顯示請求結果1結束圖5.5新增車輛流程圖2.2車輛管理實現(xiàn)車輛管理模塊中主要向管理員展示車輛的車牌號、投用時間、總運程等信息,其

表格的模板引擎如下:<scriptid="table-BusInfo"type="text/x-handlebars-template">((#eachthis})<tr><tdstyle="white-space:nowrap">((addOne@index}}</td><tdstyle="white-space:nowrap">((Bid})</td><tdstyle=Hwhite-space:nowrap">{{seats}}</td><tdstyle="white-space:nowrap">((busNum})</td><tdstyle="white-space:nowrap">((total_dis})</td><tdstyle=Hwhite-space:<tdstyle="white-space:nowrap">((addOne@index}}</td><tdstyle="white-space:nowrap">((Bid})</td><tdstyle=Hwhite-space:nowrap">{{seats}}</td><tdstyle="white-space:nowrap">((busNum})</td><tdstyle="white-space:nowrap">((total_dis})</td><tdstyle=Hwhite-space:nowrap">((bir_time})</td><tdstyle="white-space:nowrap"><ahref="javascript:editBus(((Bid}))"class="btnbtn-success

btn-circlebtn-sm"title=M修改"><iclass="fasfa-carn></ix/a><ahref="javascript:delBus(({Bid}})"class="btnbtn-danger

btn-circlebtn-sm"title="刪除”><iclass="fasfa-trash-alt"></ix/a></td></tr>

{(/each}}

</script>相應的用于發(fā)送HTTP請求及界面局部刷新的代碼如下:functionturnToBusInfoPage()($(".container-fluid").empty().html('車輛管理界面HTML');

initialBusInfoPage();}<!--初始化車輛信息頁面Script-->functioninitialBusInfoPage()($.ajax({type:"GET",url:"/getAHBus",datatype:"json",success:function(data){for(vari=0;i<data.length;i++)(data[i].bir_time=formatting(data[i].bir_time);)constmyTemplate=Hpile($("frtable-Buslnfo").html());Handlebars.registerHelperC'addOne'^functionCindeXjOptionsXreturnparselnt(index)+1;});$('#tableList').html(myTemplate(data));},error:function(result)(alertC,請求錯誤!");}}))汽車信息管理模塊中涉及到汽車的查詢、修改、增加及刪除操作,相應的在控制

層和服務層中均有對應的代碼,其實現(xiàn)與訂單管理模塊類似,代碼含有相似的結構,

下文中不在重復給出"這里重點展示Mapper中實現(xiàn)數(shù)據(jù)庫映射的xml部分代碼:

<selectid="selectByPrimaryKey"parameterType="java.lang.Integer"

resultMap="BaseResultMap">select<includerefid="Base_Column_List"/>frombuswhereBid=#{bid,jdbcType=INTEGER)</select><selectid="selectByBusNum"parameterType="java.lang.String"

resultMap=,,BaseResultMap,*>Select<includerefid="Base_Column_List"/>frombuswherebusNum=#(busNum,jdbcType=VARCHAR)</select><selectid="getAllBus"resultMap="BaseResultMap">select<includerefid="Base_Column_List"/>frombus</select><deleteid="deleteByPrimaryKey"parameterType="java.lang.Integer">deletefrombuswhereBid=#{bid,jdbcType=INTEGER}</delete><insertid="insert"keyProperty="Bid"parameterType="com.businfo.businfosys.entity.Bus"useGeneratedKeys="true">insertintobus(seats,total_dis,bir_time,busNum)values(#(seatsjdbcType=INTEGER)j#(totalDis,jdbcType=REAL},#(birTime,jdbcType=DATE},#(busnum,jdbcType=VARCHAR))</insert><updateid="updateByPrimaryKey"parameterType="com.businfo.businfosys.entity.Bus">updatebus

1、 設計目的信息系統(tǒng)綜合設計是軟件開發(fā)系列理論課程的實踐性輔助教學過程,是在學習C語

言程序設計、面向對象程序設計、數(shù)據(jù)結構和數(shù)據(jù)庫系統(tǒng)等課程后開設的。旨在學習基于

數(shù)據(jù)庫的綜合信息管理系統(tǒng)的開發(fā)途徑、方法和工具,并結合關系型數(shù)據(jù)庫管理系統(tǒng)

(RelationalDatabaseManagementSystem,以下簡稱RDBMS)平臺和Java(或其它Web.

應用開發(fā))平臺下開展實際的數(shù)據(jù)管理操作和基于數(shù)據(jù)庫的小型信息系統(tǒng)設計。使學生進

一步理解和掌握數(shù)據(jù)庫系統(tǒng)的應用框架、開發(fā)原理和開發(fā)技術,利用現(xiàn)有的數(shù)據(jù)建模工具、

數(shù)據(jù)庫管理系統(tǒng)軟件、程序開發(fā)平臺規(guī)范、科學地完成一個微型數(shù)據(jù)庫應用系統(tǒng)的設計與

實現(xiàn)。培養(yǎng)其信息系統(tǒng)的綜合設計能力,訓練基于Web的微型信息管理系統(tǒng)的開發(fā)技術,

鍛煉設計思路表達、設計文檔撰寫的能力;為后續(xù)課程的學習、畢業(yè)設計環(huán)節(jié)以及將來的

實際工作打好堅實的基礎。信息系統(tǒng)綜合設計要求學生在教師的指導下,利用特定的數(shù)據(jù)庫設計環(huán)境,針對具體

的問題,完成從需求分析、數(shù)據(jù)庫概念設計、數(shù)據(jù)庫邏輯設計到數(shù)據(jù)庫管理功能的設計,

提出能反映實際計算機工程問題的設計目標與要求、業(yè)務流程、技術方案,并經過編碼、

調試、改進等全部開發(fā)過程,最終形成--個能反映應用需求的Web環(huán)境下數(shù)據(jù)庫信息

管理系統(tǒng)。2、 需求分析2.1系統(tǒng)總目標長途汽車是日常生活中重要的出行方式,早期的長途汽車站信息主要是人工記錄和管

理的,不僅對管理員不友好,對乘客也不方便。隨著市場經濟的不斷飛速發(fā)展,交通道路

環(huán)境的不斷改善,人們的出行次數(shù)不斷增多,人II流動頻繁,數(shù)量不斷加大,長途汽車的

運行路線和車次也隨之迅速增加,車站信息量迅猛增長,傳統(tǒng)的人工記錄已經遠遠不能滿

足長途汽車綜合管理的需求,迫切需要解決迅速增長的數(shù)據(jù)與匱乏的人力之間的矛盾,信

息社會的到來給這一問題提供了解決方向——依托于現(xiàn)代計算機的長途汽車信息管理系

統(tǒng)。對乘客,長途汽車信息管理系統(tǒng)可以查詢汽車站信息,車輛運行與發(fā)車時間表,票價

信息,線路信息,車輛剩余座位,便捷的完成實名認證,快速在線購票等。對車站管理人

員,長途汽車管理系統(tǒng)可以管理路線、車輛、班次等信息,提取乘客信息、訂單信息,完

成對系統(tǒng)信息整合與統(tǒng)計,提供查詢功能,并支持模糊查詢。2.2用戶子系統(tǒng)需求分析乘客:■實名認證:實名校驗,申請認證?查詢車次:查詢路線、車次、發(fā)車時間等信息■購買車票:建立訂單2.3管理員子系統(tǒng)需求分析管理員:?路線信息管理?車輛信息管理管理員:?路線信息管理?車輛信息管理?班次信息管理?乘客信息管理管理正在運行的和閑置的車輛

管理車輛在路線上的車次

管理乘客信息■批量導入:批量導入客戶的認證信息

setseats=#{seats,jdbcType=INTEGER},total_dis=#(totalDis,jdbcType=REAL},

bir_time=#(birTime,jdbcType=DATE),busNum=#{busnum,jdbcType=VARCHAR}whereBid=#(bid,jdbcType=INTEGER)</update>5.3車票管理模塊5.3.1車票管理模塊概述車票是該系統(tǒng)中主要的交易對象,管理員新增車票信息到系統(tǒng)中,用戶系統(tǒng)中可

對在售車票進行查詢,并點擊購買,生成訂單。通過車票這個交易對象,將車輛、路

線信息集成在車票中,實現(xiàn)隱式的信息媒介作用。在車票管理中,管理員可通過查看車票的基本信息,包括始發(fā)站、終點站、發(fā)車

時間、到達時間、剩余票數(shù)、票價等信息。同時可以進行按條件的搜索,輸入始發(fā)站

和終點站可以查詢到相應的在售車票信息。通過點擊“刪除”按鈕可以實現(xiàn)車票刪除,

刪除后,用戶將不能購買,更新后不會顯示在系統(tǒng)中。Mlio凌車時間HHT1412泰村2021-07-070830?>202107*0709300012200o2413家柯tw2021-07-07093000202107971030XX)13o3414強村202107071030:00202107071130:0019200o44152021-07-0711:30:002021-07-071230:0028150o54162021-07-071230:00202107071330:0028150o64172021-07-0713:30:002021-07-071430830150o7418*W2021-07-071430002021-07-071530830150o圖5.6車輛管理界面這里的各功能與前面的各模塊類似,在業(yè)務邏輯層需要注意的是車票表單中存在

兩個外鍵,要通過外鍵獲取完整的車票信息。在按始發(fā)站和終點站信息進行搜索時,

前端應先向服務器發(fā)送含有車票ID、始發(fā)站、終點站等信息的搜索請求。服務器獲取

請求后,先通過車票ID獲取車票信息,并根據(jù)車票中的車輛ID和路線ID查詢到匹配

的車輛和路線,將所有信息保存到返回的JSONArray中,等待前臺處理。該過程的流

程圖如下:

瀏覽器:向服務器發(fā)送搜索諸求服務器:5獲取服務請求,查詢車票信息等待服務器響應根據(jù)車票信息查詢對應的車輛及路線獲取到服務器信息將所有信息存入JSONArray瀏覽器:向服務器發(fā)送搜索諸求服務器:5獲取服務請求,查詢車票信息等待服務器響應根據(jù)車票信息查詢對應的車輛及路線獲取到服務器信息將所有信息存入JSONArray中并返回將返回結果展示在前端結束J圖5.7通過始發(fā)站及終點站查詢5.3.2車票管理模塊實現(xiàn)車票管理模塊的重點是完成基于始發(fā)站及終點站的查詢,控制層先完成傳入信息

的獲取,然后在路線表中查詢出路線ID,然后再在車票表中找到路線ID與值對應的

部分。該查詢模塊的控制層代碼如下:@GetMapping("/getTicketInfoBySD")@ResponseBody

public:JSONArraygetTicketInfoBySD(HttpServletRequestrequest,@RequestParamMap<String,String>parameter)throwsException{Stringstart_station=request.getParameter(',start_station");Stringdestination=request.getParameter("destination");Routeroutes=(newRouteService()).findRouteBySD(start_station,destination);JSONArrayjson=new3SONArray();if(routes!=null){List<Ticket>tickets=(newTicketService()).findTicketByRid(routes.getRid());if(!tickets.isEmpty())(for(inti=0;i<tickets.size();i++){Ticketticket=tickets.get(i);

tryJSONObjectobject=new3SONObject();

object.put("Tid",ticket.getTid());object.put("start_station",routes.getStartStation());object.put("destination",routes.getEndStation());object.put("depart_time",ticket.getDepartTime());object.put("arr_time",ticket.getArrTime());object.put("remain",ticket.getNumber());object.put("price",ticket.getPrice());

json.add(object);}catch(NullPointerExceptione)(returnjson;})}else(parameter.put("message","沒有該路線E的售票信息!");parameter.put("status","no");}returnjson;}車票管理中主要涉及對車票表的查看及刪除操作,其Mapper中涉及的嵌入式SQL

代碼如下:<selectid="selectByRid"parameterType="java.lang.Integer"

resultMap="BaseResultMap">select<includerefid="Base_Column_List"/>fromticketwhereRid=#(rid,jdbcType=INTEGER)</select><selectid="getAllTicket"resultMap="BaseResultMap">select

<includerefid="Base_Column_List"/>

fromticket</select>5.4路線管理模塊5.4.1路線管理模塊概述路線管理模塊中,管理員與用戶一樣,可以查看所有的路線信息,并能通過始發(fā)

站和終點站進行路線查詢。對于每條路線,管理員可以修改路線信息,其業(yè)務邏輯層

與車輛管理一致。刪除功能通過向服務發(fā)送路線ID,服務進行相應的刪除操作,并更

新路線界面。圖5.8路線管理界面圖5.9新增路線界面在用戶點擊“新增”按鈕后,頁面將跳轉到相應的界面,添加路線界面中,提供

了輸入始發(fā)站、終點站及總距離的輸入表單,用戶點擊“確認添加”后,將數(shù)據(jù)封裝

并向服務器發(fā)送請求。服務器得到相應的輸入后,創(chuàng)建路線實體,并向路線表中插入

數(shù)據(jù)行。本次課程設計使用的是Mysql關系型數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)能夠設置自增主鍵,主鍵由數(shù)據(jù)庫自動生成,并返回到插入的實體對象中。添加完成后,頁面將跳轉

到路線管理界面,管理員可以查看剛添加的數(shù)據(jù)。結束圖5.10新增路線流程圖5.4.2路線管理模塊實現(xiàn)路線管理模塊主要涉及路線的查詢、修改、新增及刪除操作,與前面的類似,如

下為路線管理模塊中添加新路線的控制層代碼:@GetMapping("/insertRoute")@ResponseBodypublicStringinsertRoute(HttpServletRequestrequest)throwsException{Map<String,String>parameter=newHashMap<>();String結束圖5.10新增路線流程圖5.4.2路線管理模塊實現(xiàn)路線管理模塊主要涉及路線的查詢、修改、新增及刪除操作,與前面的類似,如

下為路線管理模塊中添加新路線的控制層代碼:@GetMapping("/insertRoute")@ResponseBodypublicStringinsertRoute(HttpServletRequestrequest)throwsException{Map<String,String>parameter=newHashMap<>();Stringstart_station=request.getParameter("start_station");Stringend_statin=request.getParameter("end_station");StringtotalDis=request.getParameter("totalDis");(newRouteService()).insetRoute(start_station,end_statin,Float.valueOf(totalDis));parameter.put("status","ok");return3SON.to3SONString(parameter);5.5信息批量導入模塊5.5.1模塊總覽信息批量導入模塊中,界面將實現(xiàn)管理員上傳文檔的接收并選擇需要添加到指定

表的選項。管理員可以上傳格式為.xls及.xlsx的文件,在文檔中需要有固定的格式,以滿足數(shù)據(jù)庫導入需求。管理員上傳表單文檔后,點擊“上傳”按鈕,前端將請求服務器上傳文檔,服務器將上傳的文檔進行保存并等待進行下一步處理。圖5.11信息批量導入界面接著,服務器將接收文檔打開,進行文檔內容的處理,該過程使用POI接口實現(xiàn)文檔數(shù)據(jù)解析,解析完后將有效的數(shù)據(jù)行插入數(shù)據(jù)表中,插入完成后保存插入成功的

數(shù)據(jù)行記錄,以返回給前端顯示。圖5.圖5.12導入成功界面服務器處理文檔使用到了POI接口,ApachePOI是一種流行的API,它允許程序員使用Java程序創(chuàng)建,修改和顯示MSOffice文件。這由Apache軟件基金會開發(fā)使

用Java分布式設計或修改MicrosoftOffice文件的開源庫。它包含類和方法對用戶輸

入數(shù)據(jù)或文件到MSOffice文檔進行解碼。POI解析EXCEL流程如圖下所示:P0IExcel解析流程內存內存?orkBook

RovCell傘都內.容P0IExcel解析流程內存內存?orkBook

RovCell傘都內.容圖5.13Excel解析流程POI進行表格是處理時使用到了以下對象:HSSFWorkbook:excel的文檔對象、

HSSFSheet:excel的表單、HSSFRow:excel的行、HSSFCell:excel的格子單元、

HSSFFont:excel字體、HSSFDataFormat:日期格式。在數(shù)據(jù)批量導入中,服務器首先將管理員上傳的文檔進行保存,然后創(chuàng)建文件對象,

訪問保存的文件,再向POI傳入文件流。POI使用相應的對象將表格數(shù)據(jù)進行解析,并

以JSON的形式返回,等待進一步處理。其業(yè)務邏輯流程圖如下:等待服務器處理接收服務器返回數(shù)據(jù)將插入成功的數(shù)據(jù)行,

顯示出來。將所有實體插入數(shù)據(jù)

庫,并返回插入狀態(tài)等待服務器處理接收服務器返回數(shù)據(jù)將插入成功的數(shù)據(jù)行,

顯示出來。將所有實體插入數(shù)據(jù)

庫,并返回插入狀態(tài)向服務器請求上傳文件 >服務器接收文件并轉存打開文件poi解析文件返回

JSONArray對象將各數(shù)據(jù)行創(chuàng)建成相應

實體將插入成功的數(shù)據(jù)行保

存到返回JSONArray中結束圖5.14信息批量導入業(yè)務邏輯5.5.2模塊實現(xiàn)信息導入模塊的核心是完成用戶文件的緩存,并完成數(shù)據(jù)的解析,然后將解析結

果放到相應的表中。用戶請求接收文件并解析處理的控制層代碼如下:

@RequestMapping(value="/upLoadFile",method=RequestMethod.POST)

@ResponseBodyprotectedJSONArrayupLoadFile(HttpServletRequestrequest)throwsException{Map<String,String〉parameter=newHashedMapO;MultipartFilemultipartFile=((MultipartRequest)request).getFile("userlnfoFile");DSONArrayjson=new3S0NArray();if(multipartFile!=null){StringfileName=multipartFile.getOriginalFilename();StringfilePath="F:\\businfoboot\\src\\main\\resources\\userUpLoad\\"+fileName;

FilesaveDir=newFile(filePath);if(!saveDir.getParentFile().exists())

saveDir.getParentFile().mkdirs();multipartFile.transferTo(saveDir);List<Map<String,String>>opExcel=ExcelUtil.ExcelToList(filePath);for(inti=0;i<opExcel.size();i++){for(intj=0;j<opExcel.get(i).size();j++)(Passengerpassenger=newPassenger();passenger.setIdCard(opExcel.get(i).get("idcard"));passenger.setcontact(opExcel.get(i).get("phone"));passenger.setGender(opExcel.get(i).getC'sex"));passenger.setName(opExcel.get(i).get("name"));

passenger.setPwd(opExcel.get(i).get("password"));

PassengerServicepassengerService=newPassengerService();if(passengerService.insertwith3udge(passenger)!=0)(JSONObjectobject=new3SONObject();object.put("pid",passenger.getPid());object.put("name",passenger.getName());object.put("gender",passenger.getGender());

object.put("contact",passenger.getContact());object.put("id_card">passenger.getIdCard());

object.put("passwor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論