亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于C/S結(jié)構(gòu)票務(wù)信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2013-10-10 02:15:48陳捷南昌航空大學(xué)現(xiàn)代教育中心南昌市330063
        江西通信科技 2013年2期
        關(guān)鍵詞:檢票員班次售票員

        陳捷 南昌航空大學(xué)現(xiàn)代教育中心 南昌市 330063

        0、引言

        在傳統(tǒng)的人工票務(wù)管理中,由于人工的因素,往往帶來成本大、處理速度特慢不足,同時(shí)出錯(cuò)的幾率比較大,效率是很低的?,F(xiàn)在,在世界各國,長(zhǎng)途客運(yùn)票務(wù)管理使用的基本上都是員工操作計(jì)算機(jī)的模式,計(jì)算機(jī)主要是借助軟件用來存儲(chǔ)、更新數(shù)據(jù)的。嚴(yán)格的說,這并不是智能化,但是,這樣的處理模式比已往的人工處理的好處顯然還是很明顯的,所有的數(shù)據(jù)都由數(shù)據(jù)庫管理,可以隨時(shí)動(dòng)態(tài)的提取、存儲(chǔ)數(shù)據(jù),并可以將修改后的數(shù)據(jù)覆蓋掉原有的數(shù)據(jù)。以計(jì)算機(jī)為工具,數(shù)據(jù)庫為核心,用計(jì)算機(jī)技術(shù)和方法,綜合應(yīng)用管理工程技術(shù),行為科學(xué)技術(shù)等現(xiàn)代化科學(xué)技術(shù),建立一個(gè)管理信息平臺(tái),提高企業(yè)的工作效率,減輕勞動(dòng)強(qiáng)度。最終為用戶(乘客)提供更快捷周到的服務(wù),提高客運(yùn)站的服務(wù)質(zhì)量,使企業(yè)在現(xiàn)有的人、財(cái)、物條件下,獲得最佳的工作效率及社會(huì)、經(jīng)濟(jì)效益。

        長(zhǎng)途客運(yùn)票務(wù)系統(tǒng)簡(jiǎn)單易用,菜單簡(jiǎn)潔,具有完善的操作,提示和初始化向?qū)?;查詢靈活、全面,統(tǒng)計(jì)數(shù)據(jù)清晰,簡(jiǎn)明;有些還配圖形化顯示,一目了然。通過此票務(wù)系統(tǒng),能夠更好的協(xié)同好管理員、售票員和檢票員三者之間的工作,方便了長(zhǎng)途客運(yùn)站的管理。

        1、系統(tǒng)功能分析

        本系統(tǒng)是基于C/S結(jié)構(gòu)所開發(fā)的管理軟件,實(shí)現(xiàn)了多個(gè)客戶端共用一個(gè)擁有數(shù)據(jù)庫的服務(wù)器,這樣使得車票信息可以同步更新。系統(tǒng)可以選擇三種不同的角色登錄,如管理員、售票員和檢票員。

        系統(tǒng)中的售票查詢模塊可對(duì)日常售票情況進(jìn)行統(tǒng)計(jì)分析,為管理員的生成車票和班次設(shè)置提供強(qiáng)有力的依據(jù),管理員可以根據(jù)當(dāng)前情況進(jìn)行調(diào)整,從而節(jié)約社會(huì)資源,同時(shí)提高了企業(yè)的經(jīng)濟(jì)效益。系統(tǒng)中的檢票查詢模塊可對(duì)班次的檢票情況進(jìn)行統(tǒng)計(jì)分析,方便了管理員進(jìn)行發(fā)車調(diào)度。

        1.1、登錄

        管理員、售票員和檢票員共用一個(gè)登錄界面,不同角色登錄后進(jìn)入各自不同的操作界面。

        1.2、用戶管理

        選擇不同的用戶可以顯示出不同的用戶列表,并且可以添加、刪除用戶(售票員、管理員)。

        1.3、票面設(shè)置

        設(shè)置車票標(biāo)題,可以通過復(fù)選框設(shè)置車票所要顯示的基本信息的選項(xiàng),設(shè)置完成后可保存該票樣。

        1.4、生成車票

        管理員每天必須要生成第二天的車票,因?yàn)樵撓到y(tǒng)發(fā)售兩日內(nèi)的車票;車票生成時(shí)可根據(jù)班次、路線或者全部來生成。

        1.5、班次設(shè)置

        管理員可根據(jù)實(shí)際情況來添加、刪除和修改具體班次信息。

        1.6、票價(jià)調(diào)整、

        管理員可根據(jù)當(dāng)前情況調(diào)整票價(jià),可單線調(diào)整,也可調(diào)整所有。

        1.7、售票管理

        售票員根據(jù)乘客需求,選擇班次或終點(diǎn)站和車票日期(只能是當(dāng)天、第二天)聯(lián)合查詢所剩車票的詳細(xì)列表,雙擊具體車票可將車票添加到購票單中,付款后即可購票,并能產(chǎn)生出實(shí)體車票。

        1.8、退票管理

        售票員輸入退票的票號(hào),選擇退款比例,系統(tǒng)自行計(jì)算出退款金額。

        管理員登錄后,可以選擇修改密碼、人員管理、票面設(shè)置、生成車票、線路設(shè)置、班次設(shè)置、票價(jià)調(diào)整、退出系統(tǒng)等功能來進(jìn)行具體操作;售票員登錄后,可以選擇修改密碼、售票、退票、售票查詢、退出系統(tǒng)等功能來進(jìn)行具體操作;檢票員登錄后,可以選擇修改密碼、檢票、檢票查詢、退出系統(tǒng)等功能來進(jìn)行具體操作。系統(tǒng)流程圖如圖1所示:

        圖1 系統(tǒng)流程圖

        2、數(shù)據(jù)庫設(shè)計(jì)

        本系統(tǒng)數(shù)據(jù)庫采用Microsoft公司設(shè)計(jì)的關(guān)系數(shù)據(jù)庫SQL Server2000。長(zhǎng)途客運(yùn)票務(wù)系統(tǒng)中所使用到的數(shù)據(jù)表有:管理員信息表、售票員信息表、檢票員信息表、班次信息表、線路信息表、車票信息表、售票信息表、檢票信息表、退票信息表。

        2.1、管理員信息表:該數(shù)據(jù)表用于存儲(chǔ)管理員信息。包括管理員編號(hào)、管理員姓名、管理員密碼、管理員狀態(tài)、管理員最后登錄時(shí)間等。

        2.2、售票員信息表:該數(shù)據(jù)表用于存儲(chǔ)售票員信息。包括售票員編號(hào)、售票員姓名、售票員密碼、售票員狀態(tài)、售票員最后登錄時(shí)間等。

        2.3、檢票員信息表:該數(shù)據(jù)表用于存儲(chǔ)檢票員信息。包括檢票員編號(hào)、檢票員姓名、檢票員密碼、檢票員狀態(tài)、檢票員最后登錄時(shí)間等。

        2.4、線路信息表:該數(shù)據(jù)表用于儲(chǔ)存線路信息。包括線路名稱、起點(diǎn)站、終點(diǎn)站、總里程、時(shí)長(zhǎng)、原始票價(jià)、當(dāng)前票價(jià)等。

        2.5、班次信息表:該數(shù)據(jù)表用于存儲(chǔ)班次信息。包括班次名稱、線路名稱、發(fā)車時(shí)間、檢票口號(hào)、汽車類型、汽車牌照、座位總數(shù)、是否生成車票標(biāo)識(shí)等。

        2.6、車票信息表:該數(shù)據(jù)表用于儲(chǔ)存車票信息。包括車票編號(hào)、班次名稱、車票日期、發(fā)車時(shí)間、起點(diǎn)站、終點(diǎn)站、車票價(jià)格、座位號(hào)、檢票口號(hào)、是否售出標(biāo)識(shí)、是否檢票表示等。

        2.7、售票信息表:該數(shù)據(jù)表用于存儲(chǔ)售票信息,包括售票編號(hào)、車票編號(hào)、售票時(shí)間、售票員編號(hào)等。

        2.8、檢票信息表:該數(shù)據(jù)表用于存儲(chǔ)檢票信息,包括檢票編號(hào)、車票編號(hào)、檢票時(shí)間、檢票員編號(hào)等。

        2.9、退票信息表:該數(shù)據(jù)表用于存儲(chǔ)退票信息,包括退票編號(hào)、車票編號(hào)、退票時(shí)間、售票員編號(hào)等。

        3、系統(tǒng)構(gòu)架與設(shè)計(jì)

        在系統(tǒng)的設(shè)計(jì)過程中,將系統(tǒng)設(shè)計(jì)分為服務(wù)器端和客戶端,服務(wù)器端負(fù)責(zé)接收客戶請(qǐng)求并完成對(duì)數(shù)據(jù)庫的操作后將操作結(jié)果返回客戶端;客戶端負(fù)責(zé)發(fā)出請(qǐng)求并將接收到服務(wù)器的操作結(jié)果以圖形化界面顯示出來??蛻舳嗽O(shè)計(jì)分成三大模塊:管理員模塊、售票員模塊、檢票員模塊,各大模塊完成各自所需功能。

        客戶端與服務(wù)器端通過套接字來進(jìn)行連接,套接字連接示意圖如圖2所示:

        圖2 套接字連接示意圖

        3.1、建立數(shù)據(jù)庫連接

        編寫一個(gè)類DBPool來實(shí)現(xiàn)數(shù)據(jù)庫連接,這里采用連接池的方式來實(shí)現(xiàn),用到該連接池須引入c3p0-0.9.0.4.jar包和jtds-1.2.2.jar包。實(shí)現(xiàn)代碼如下:

        public class DBPool{

        private static DBPool dbPool;

        private ComboPooledDataSource dataSource;

        static{

        dbPool = new DBPool();

        }

        public DBPool(){

        try{

        dataSource = new ComboPooledDataSource();

        dataSource.setUser("sa"); //訪問數(shù)據(jù)用戶名

        dataSource.setPassword("");//訪問數(shù)據(jù)庫密碼

        dataSource.setJdbcUrl("jdbc:jtds:sqlserver://localhost/Coach"); //數(shù)據(jù)庫所在位置和數(shù)據(jù)庫名字

        dataSource.setDriverClass("net.sourceforge.jtds.jdbc.Driver"); //驅(qū)動(dòng)器名稱

        dataSource.setInitialPoolSize(2);

        //初始化連接數(shù)

        dataSource.setMinPoolSize(1);

        //最小連接數(shù)

        dataSource.setMaxPoolSize(1000);

        //最大連接數(shù)

        dataSource.setMaxStatements(5000);

        //連接到數(shù)據(jù)庫最多SQL語句數(shù)

        dataSource.setMaxIdleTime(60);

        }catch(PropertyVetoException e){

        throw new RuntimeException(e);

        }

        }

        public final static DBPool getInstance(){

        return dbPool;

        }

        public final synchronized

        Connection getConnection(){

        //關(guān)鍵字實(shí)現(xiàn)同步

        try {

        return dataSource.getConnection();

        }catch(SQLException e){

        throw new RuntimeException( "無法從數(shù)據(jù)源獲取連接 ",e);

        }

        }

        }

        3.2、售票子模塊

        3.2.1、功能介紹

        售票員登錄后,通過本操作界面可以完成售票工作。售票員輸入乘客所需班次名稱或到站(終點(diǎn)站)名稱查詢出所有剩余車票,根據(jù)乘客所需票數(shù)將車票添加到售票單中,結(jié)帳后完成售票并打印出實(shí)體車票。界面如圖3所示:

        圖3 售票界面

        3.2.2、設(shè)計(jì)過程

        a)可視化編程設(shè)計(jì)好售票界面,為各按鈕添加ActionEvent監(jiān)聽事件,分別為兩個(gè)JTable添加鼠標(biāo)監(jiān)聽事件,這里事件監(jiān)聽分為單擊事件和雙擊事件兩種類型。為JSpinner添加監(jiān)聽。

        b)兩個(gè)“查詢”按鈕默認(rèn)設(shè)置無效,只有選擇日期后,通過監(jiān)聽該JSpinner對(duì)象得到所需購票日期后才可以進(jìn)行剩余車票查詢,得到剩余車票列表。選擇車票日期用JSpinner來實(shí)現(xiàn),通過創(chuàng)建SpinnerDateModel時(shí)的參數(shù)設(shè)置來限定日期只能選擇當(dāng)天和第二天,這樣就限制了所售車票的日期。并為其添加監(jiān)聽事件,以便獲得JSpinner中的時(shí)間對(duì)象,通過字符轉(zhuǎn)換后截取相應(yīng)字符串即可獲得日期。

        c)鼠標(biāo)選中剩余車票列表中的某數(shù)據(jù)行后,通過鼠標(biāo)雙擊事件監(jiān)聽就可以將該車票添加到售票單列表中,不能添加重復(fù)的車票,進(jìn)行此不合法操作彈出對(duì)話框進(jìn)行警告。限定一次性售票張數(shù)不能超過5張,當(dāng)售票單中數(shù)據(jù)行已為5張時(shí),雙擊剩余車票中的某數(shù)據(jù)行時(shí),彈出對(duì)話框提示已到售票上限。根據(jù)售票單中的數(shù)據(jù)項(xiàng),系統(tǒng)自動(dòng)計(jì)算所有已購車票價(jià)格總和,并將其顯示在應(yīng)收金額的JTextField中。監(jiān)聽鼠標(biāo)雙擊事件代碼如下:

        if(e.getClickCount() == 2) { //鼠標(biāo)雙擊事件

        String flag = "Added";

        //設(shè)置標(biāo)志位

        mousePoint = e.getPoint(); //獲得鼠標(biāo)位置

        currentRow = table.rowAtPoint(mousePoint);

        //獲得當(dāng)期鼠標(biāo)所在行

        DefaultTableModel tableModel_1 =(DefaultTableModel)

        table_1.getModel(); //創(chuàng)建售票單表格

        Object[]obj_1 = new Object[3]; //創(chuàng)建對(duì)象數(shù)組,利用該對(duì)象創(chuàng)建售票單表格

        .if(table_1.getRowCount()>4) {

        //限定一次購票不超過5張

        JOptionPane.showMessageDialog(this, "一次購票不能超過 5 張!","長(zhǎng)途客運(yùn)票務(wù)系統(tǒng)",

        JOptionPane.WARNING_MESSAGE);

        } else {

        if(table_1.getRowCount() == 0) { //購票單中沒有車票

        tableModel_1.addRow(obj_1); //將車票添加到購票單中

        } else {

        button_3.setEnabled(true);

        for(int =0;i

        flag = "Added"; //該車票已添加

        break;

        } else {

        flag = "NoAdd"; //該車票未添加

        }

        }

        if(flag.equals("Added")) {

        JOptionPane.showMessageDialog(this, "此票已添加到購票單中,不能重復(fù)購票!", "長(zhǎng)途客運(yùn)票務(wù)系統(tǒng)", JOptionPane.WARNING_MESSAGE);

        } else if(flag.equals("NoAdd")) {

        tableModel_1.addRow(obj_1); } //將車票添加到購票單中

        } }

        textField_3.setText(""+titprice*table_1.getRowCount()); //計(jì)算出所購票的總價(jià)格

        }

        4、結(jié)束語

        本文介紹了使用Java和SQL Sever2000設(shè)計(jì)一個(gè)票務(wù)管理系統(tǒng)的過程,系統(tǒng)實(shí)現(xiàn)了票務(wù)管理系統(tǒng)中售票管理、票據(jù)生成等重要功能,具有良好的用戶界面。本系統(tǒng)可以應(yīng)用于長(zhǎng)途客運(yùn)票務(wù)管理的領(lǐng)域。

        [1]耿祥義等.Java2實(shí)用教程.北京:清華大學(xué)出版社,2006.

        [2]蘇年樂等.Java+SQL Server項(xiàng)目開發(fā)實(shí)踐.北京:中國鐵道版社,2006.

        [3]王津濤等.Eclipse SWT/JFace開發(fā)實(shí)戰(zhàn)精解.北京:人民郵電出版社,2007.

        [4]王珊等.數(shù)據(jù)庫系統(tǒng)概論.北京:高等教育出版社,2006.

        [5]周緒等.SQL Server2000 中文版.北京:清華大學(xué)出版社,2002.

        [6]孫衛(wèi)琴.Java網(wǎng)絡(luò)編程精解.北京:電子工業(yè)出版社,2007.

        [7]林智揚(yáng)等.深入淺出Java Swing 程序設(shè)計(jì).北京:中國鐵道出版社,2005.

        [8]石志國等.JSP應(yīng)用教程.北京:清華大學(xué)出版社、北京交通大學(xué)出版社,2004.

        猜你喜歡
        檢票員班次售票員
        考慮編制受限的均衡任務(wù)覆蓋人員排班模型①
        公交車輛班次計(jì)劃自動(dòng)編制探索
        檢票
        破例
        Parcourez la Chine avec des notions de chinois
        辛苦的電車售票員
        帶柔性休息時(shí)間的多技能呼叫中心班次設(shè)計(jì)
        我的票在這里
        故事大王(2014年5期)2014-06-25 01:42:31
        模范售票員
        買票
        极品嫩模高潮叫床| 亚洲精品中文字幕熟女| 高潮内射主播自拍一区| 国产精品精品自在线拍| 国模无码人体一区二区| 国产精品反差婊在线观看| 女主播啪啪大秀免费观看| 国产日韩精品suv| 看国产黄大片在线观看| 久久青草亚洲AV无码麻豆| 99久久精品人妻一区| 婷婷综合另类小说色区| 97久久天天综合色天天综合色hd| 成人在线免费视频亚洲| 国产伦奸在线播放免费| 国产精品亚洲色婷婷99久久精品| 小sao货水好多真紧h视频| 亚洲欧美日韩精品香蕉| av免费观看网站大全| 在线观看成人无码中文av天堂| 一本色道久久综合狠狠躁 | 国产无码夜夜一区二区| 国产精品一区二区三区蜜臀| 日韩人妻中文字幕高清在线| 国产精品欧美一区二区三区| 狠狠色综合播放一区二区| 国产自拍伦理在线观看| 男吃奶玩乳尖高潮视频| www国产精品内射熟女| 亚洲欧美国产精品久久久| 久久国产亚洲精品一区二区三区| 女人脱了内裤趴开腿让男躁| yeyecao亚洲性夜夜综合久久 | 中文字幕在线观看| 国产精品 高清 尿 小便 嘘嘘 | 久久婷婷综合激情亚洲狠狠| 欧美牲交a欧美牲交aⅴ| 亚洲精品无码久久毛片| 亚洲春色视频在线观看| 久久久99精品成人片| 亚洲xxxx做受欧美|