1、前言
條碼技術(shù)作為一種先進(jìn)的信息采集和輸入技術(shù),己被廣泛應(yīng)用于物流信息自動(dòng)處理和工業(yè)自動(dòng)化生產(chǎn)過(guò)程的諸多行業(yè),如商品銷(xiāo)售。自動(dòng)化倉(cāng)庫(kù)、圖書(shū)館信息處理、郵政系統(tǒng)等領(lǐng)域。我國(guó)鐵路客運(yùn)服務(wù)已開(kāi)始進(jìn)行計(jì)算機(jī)售票。檢票系統(tǒng)的研制和開(kāi)發(fā)。而客運(yùn)站由于量大面廣,且地理位置分散,僅有少數(shù)城市在為數(shù)不多的車(chē)站自行投資開(kāi)發(fā)了綜合信息管理系統(tǒng),但是功能還比較單一,并未形成售票、檢票、調(diào)度、結(jié)算等一體化的計(jì)算機(jī)功能體系。本文結(jié)合我國(guó)汽車(chē)客運(yùn)的實(shí)際情況,提出了客運(yùn)車(chē)站微機(jī)售檢票信息管理系統(tǒng)(QYMIS)的總體方案,論述分析了基于條碼自動(dòng)識(shí)別技術(shù)的售票、檢票、調(diào)度、結(jié)算一體化軟件系統(tǒng)計(jì)發(fā)的關(guān)鍵技術(shù)及解決方法。
2、QYMIS總體結(jié)構(gòu)
2.1 QYMIS開(kāi)發(fā)的原則和目標(biāo)
計(jì)算機(jī)售票系統(tǒng)并不是單純對(duì)以往人工售票、檢票,調(diào)度、統(tǒng)計(jì)等功能的模仿。它從基礎(chǔ)上對(duì)整個(gè)管理體制進(jìn)行改革。本系統(tǒng)的開(kāi)發(fā)旨在探索一種,適合我國(guó)汽車(chē)客運(yùn)管理系統(tǒng)的信息集成方法。該系統(tǒng)實(shí)現(xiàn)的具體目標(biāo)如下:
根據(jù)客運(yùn)計(jì)劃,控制票額分配;
進(jìn)行座位分配和管理;
實(shí)時(shí)打印帶有條碼符號(hào)的車(chē)票;
自動(dòng)檢票并能對(duì)車(chē)票進(jìn)行真?zhèn)舞b別;
進(jìn)行票價(jià)的計(jì)算、統(tǒng)計(jì)和財(cái)務(wù)結(jié)算;
自動(dòng)調(diào)度管理;
預(yù)留聯(lián)網(wǎng)和升級(jí)可能的按口。
2.2 系統(tǒng)的總體結(jié)構(gòu)
QYMIS建立在計(jì)算機(jī)網(wǎng)絡(luò)與通訊技術(shù)基礎(chǔ)上,采用客戶(hù)機(jī)/服務(wù)器網(wǎng)絡(luò)結(jié)構(gòu)模式,設(shè)計(jì)了系統(tǒng)硬件環(huán)境結(jié)構(gòu)(如圖1所示)。選用Foxpro For Windows數(shù)據(jù)庫(kù)管理軟件作為應(yīng)用軟件開(kāi)發(fā)平臺(tái),用Trubo C2.0語(yǔ)言開(kāi)發(fā)條碼生成與打印軟件。
基于上述設(shè)計(jì)目標(biāo)的要求,按新型集成和功能處理分布的原則,自上向下進(jìn)行了客運(yùn)車(chē)站功能設(shè)計(jì),提出QYMIS層次功能模塊結(jié)構(gòu)如圖2所示。
2.2.1 售票子系統(tǒng)
售票系統(tǒng)完成的主要任務(wù)有:條碼的生成與車(chē)票的制作;座位的統(tǒng)一管理及分配;票價(jià)的計(jì)算;退票和改乘;實(shí)時(shí)查詢(xún);售票員的票款統(tǒng)計(jì)及口令管理。
車(chē)票的制作是整個(gè)系統(tǒng)的主要環(huán)節(jié),將在3.2節(jié)進(jìn)一步討論。座位的管理涉及售票順序問(wèn)題,因?yàn)榇蠖鄶?shù)旅客喜歡靠窗的座位,而購(gòu)買(mǎi)連票的旅客又希望座位能靠在一起,因此可采用從小到大依次出售的方法。票價(jià)的計(jì)算功能方便售票員,且避免出錯(cuò)。當(dāng)售票員輸入旅客所要求的車(chē)次、到站及票的張數(shù)后,計(jì)算機(jī)就能自動(dòng)迅速地顯示出總票價(jià);售票員再輸入旅客實(shí)際交納的金額時(shí),退款又能自動(dòng)顯示在屏幕上;經(jīng)售票員確認(rèn)正確后,計(jì)算機(jī)就可自動(dòng)打印車(chē)票。售票過(guò)程的界面如圖3所示。
在售票系統(tǒng)中還集成有退票功能,售票員按某一功能鍵可切換到退票功能下,當(dāng)售票員輸入車(chē)票票號(hào),或用譯碼器掃描車(chē)票上條碼,確認(rèn)此票有效之后,便可進(jìn)行退票工作。如果退票已檢過(guò)或是偽票,計(jì)算機(jī)就馬上報(bào)警提示,讓售票員作出反應(yīng)以便及時(shí)處理。若改乘,可以先退票,再切換回售票功能,出售旅客需改乘的車(chē)次。
售票員的票款統(tǒng)計(jì)和口令管理要便于財(cái)務(wù)管理。數(shù)據(jù)庫(kù)為每一個(gè)售票情況分別作記錄,每個(gè)售票員擁有自己的口令,計(jì)算機(jī)根據(jù)售票員進(jìn)入系統(tǒng)時(shí)輸入的口令,將售票員當(dāng)日所售票款追加到此售票員的售票庫(kù),并按一定時(shí)間到財(cái)務(wù)處結(jié)帳。
售票系統(tǒng)還提供實(shí)時(shí)查詢(xún)功能,可以讓售票員根據(jù)旅客提問(wèn),查詢(xún)?nèi)我淮稳我粫r(shí)間的發(fā)車(chē)情況及票價(jià)。條碼設(shè)置功能,使在車(chē)票的形式變化時(shí),只需改變條碼設(shè)置,就可將條碼調(diào)整打印在合適的位置。
2.2.2 檢票子系統(tǒng)
檢票系統(tǒng)由計(jì)算機(jī)、條碼掃描器 、譯碼器、大屏幕顯示器等硬件和應(yīng)用軟件組成。根據(jù)旅客的車(chē)票進(jìn)行識(shí)別、檢驗(yàn),并動(dòng)態(tài)仿真顯示該車(chē)票的坐次和已檢車(chē)票的狀況。檢票結(jié)束后自動(dòng)進(jìn)行結(jié)算。檢票系統(tǒng)的主要功能是:
車(chē)次運(yùn)營(yíng)調(diào)度安排,實(shí)時(shí)預(yù)告檢票口即將檢票車(chē)次的代號(hào),發(fā)車(chē)時(shí)間和終點(diǎn)站等信息。
任一檢票口即可檢一次測(cè)的車(chē)票,也可同時(shí)檢兩次測(cè)的車(chē)票,計(jì)算機(jī)自動(dòng)識(shí)別和區(qū)分任一車(chē)票所屬的車(chē)次。
條碼票據(jù)的識(shí)別速度符合實(shí)時(shí)性要求,能自動(dòng)判斷車(chē)票可能出現(xiàn)多種情況(例如已檢票、非本次測(cè)票,廢票等),并給出相應(yīng)文字提示和聲音報(bào)警,供檢票員處理。
售票檢票信息是集成在一起的,當(dāng)檢驗(yàn)?zāi)骋卉?chē)票時(shí),計(jì)算機(jī)自動(dòng)出現(xiàn)該車(chē)票對(duì)應(yīng)的所有信息,并在大屏幕上動(dòng)態(tài)顯示出車(chē)票對(duì)應(yīng)的座位狀況,便于實(shí)時(shí)掌握檢票狀況和進(jìn)程。
完成一次檢票任務(wù)后,通過(guò)網(wǎng)絡(luò)系統(tǒng)自動(dòng)啟動(dòng)調(diào)度室管理軟件,實(shí)時(shí)進(jìn)行統(tǒng)計(jì)和打印結(jié)算清單。
本系統(tǒng)具有較好的開(kāi)放性和容錯(cuò)性,便于移植和擴(kuò)充。檢票子系統(tǒng)功能主畫(huà)面如圖4所示 。
2.2.3 動(dòng)態(tài)顯示子系統(tǒng)
動(dòng)態(tài)顯示系統(tǒng)主要分布在售票口和檢票口,它可隨時(shí)向旅客報(bào)告公司汽車(chē)運(yùn)營(yíng)情況,以便讓旅客選擇需乘的車(chē)次。同時(shí),顯示子系統(tǒng)增加了售票的透明度,能更好地利用資源,以免造成一些不必要的人為損失,也在旅客中樹(shù)立起良好的公司形象。
2.2.4 財(cái)務(wù)子系統(tǒng)
財(cái)務(wù)系統(tǒng)是公司的財(cái)政要塞,因此口令設(shè)置和管理很重要,它主要分為領(lǐng)票紀(jì)錄,統(tǒng)計(jì)與轉(zhuǎn)存、查詢(xún)、結(jié)算報(bào)表四大功能模塊。
領(lǐng)票紀(jì)錄 記錄各個(gè)售票員領(lǐng)票情況,它管理原始車(chē)票的流向。
統(tǒng)計(jì)與轉(zhuǎn)存 在售票員。檢票員完成當(dāng)天工作時(shí),計(jì)算機(jī)自動(dòng)對(duì)每個(gè)售票員的售票情況作統(tǒng)計(jì)。它還可自動(dòng)分類(lèi),對(duì)每個(gè)參營(yíng)公司、每個(gè)車(chē)次作出統(tǒng)計(jì),并將統(tǒng)計(jì)結(jié)果轉(zhuǎn)存到上次統(tǒng)計(jì)結(jié)果中。便于售票員、參營(yíng)公司按時(shí)結(jié)帳。
查詢(xún)功能 提供給財(cái)務(wù)管理人員使用,它可按財(cái)務(wù)人員要求項(xiàng)目進(jìn)行日統(tǒng)計(jì)或月統(tǒng)計(jì),與統(tǒng)計(jì)轉(zhuǎn)存功能進(jìn)行核實(shí)。還可查詢(xún)每個(gè)售票員或整個(gè)公司的當(dāng)前售票細(xì)節(jié)。
結(jié)算報(bào)表 管理各售票員和參營(yíng)公司結(jié)算,售票員,參營(yíng)公司可以按日或按月隨時(shí)到財(cái)務(wù)處結(jié)算,計(jì)算機(jī)打印出結(jié)算表。票據(jù)抵銷(xiāo)是管理售職員因打印失誤造成的廢票以及已無(wú)法售出的票。
2.2.5 調(diào)度子系統(tǒng)
調(diào)度系統(tǒng)主要是管理發(fā)車(chē),停車(chē)、加班等情況,它統(tǒng)一安排本公司及各參營(yíng)公司的發(fā)車(chē)日間。如果某次車(chē)誤點(diǎn)或因故障不能發(fā)車(chē),它要迅速作合理的協(xié)調(diào)。在節(jié)假日客流量增大時(shí),需要臨時(shí)增加一些班次,它可以根據(jù)所增加的班次的行程和車(chē)型自動(dòng)確定票價(jià),并重新協(xié)調(diào)各車(chē)次的發(fā)車(chē)時(shí)間。
3 QYMIS 關(guān)鍵技術(shù)問(wèn)題及解決方法
3.1 信息的集成方法
由于QYMIS涉及到售票、檢票、統(tǒng)計(jì)、調(diào)度、查詢(xún)等多個(gè)功能模塊,因此,開(kāi)發(fā)具有一致性的數(shù)據(jù)庫(kù)系統(tǒng)是十分重要的。QYMIS將共享信息,例如車(chē)次庫(kù)、檢票庫(kù)、退票庫(kù)、口令庫(kù)、導(dǎo)程庫(kù)等存放在服務(wù)器上進(jìn)行集中、統(tǒng)一的管理。各功能模塊根據(jù)自己的使用權(quán)限可獲取相應(yīng)的信息服務(wù)。對(duì)于非共享信息,例如打印庫(kù)、售票臨時(shí)庫(kù)等則可分散放置在各個(gè)客戶(hù)機(jī)上,減輕服務(wù)器的壓力,緩和總線(xiàn)的競(jìng)爭(zhēng),加快信息的傳輸速率。
為了確保共享信息的安全性和一致性,我們?cè)谶x用統(tǒng)一的數(shù)據(jù)庫(kù)系統(tǒng)平臺(tái)的基礎(chǔ)上,針對(duì)客運(yùn)站的具體情況,設(shè)計(jì)了統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),并對(duì)信息進(jìn)行統(tǒng)一的編碼。例如,給每張車(chē)票分配一個(gè)唯一的編碼,通過(guò)對(duì)車(chē)票編號(hào)的檢索,達(dá)到對(duì)車(chē)票的售、檢、統(tǒng)計(jì)、查詢(xún)等操作的目的。
QYMIS的信息集成的另一個(gè)特色是引人了條碼自動(dòng)識(shí)別技術(shù)。條碼自動(dòng)識(shí)別技術(shù)具有輸入速度快、準(zhǔn)確度高、成本低、可靠性強(qiáng)、操作簡(jiǎn)單等優(yōu)點(diǎn)。用條碼表示車(chē)票的編碼,售票時(shí),在車(chē)票上按系統(tǒng)分配的編碼實(shí)時(shí)生成條碼。檢票、退票時(shí)只需對(duì)條碼進(jìn)行掃描操作,大大提高了信息處理的速度和準(zhǔn)確度。
3.2 條碼車(chē)票的實(shí)時(shí)生成與印制方法
國(guó)內(nèi)有些客運(yùn)站的車(chē)票上也印制有條碼,但一般是預(yù)先印制好條碼,條碼信息與票面信息是無(wú)關(guān)的,因此,沒(méi)有充分發(fā)揮條碼在信息管理方面的優(yōu)勢(shì)。為了解決這一問(wèn)題,本文提出了實(shí)時(shí)生成條碼車(chē)票的方案。通過(guò)實(shí)際使用的總結(jié),條碼車(chē)票的實(shí)時(shí)生成首先要滿(mǎn)足以下的要求:
打印速度快。要在20秒鐘內(nèi)完成一張票的打??;
撕票方便。能自動(dòng)將車(chē)票送入打印機(jī)打??;打印完畢,自動(dòng)送出打好的車(chē)票,讓售票員撕下。下次打印時(shí),打印機(jī)又能將需打印的車(chē)票歸位;
能實(shí)現(xiàn)漢字、西文和條碼的混合打??;
要基本杜絕打印機(jī)卡紙的現(xiàn)象;
能打印連續(xù)可變的條碼。
要達(dá)到上述要求,必須選擇合適的打印機(jī)和條碼的種類(lèi),在軟件上要解決好漢字、西文和條碼的混合打印問(wèn)題。目前市場(chǎng)上流行的針打有:EPSON、BROTHER,Citizen、HP、FujitSu、Panasonic等系列。通過(guò)大量的嘗試比較,我們選用了EPSON系列的LQ-150打印機(jī)。它體積小巧,價(jià)格便宜,內(nèi)置ROM漢字模,能高速打印漢字,還帶有撕紙回位特性。基本滿(mǎn)足我們對(duì)車(chē)票的打印要求。
客票選擇條碼的標(biāo)準(zhǔn)應(yīng)不同于一般商品的選用標(biāo)準(zhǔn),它要求在指定的印刷面積內(nèi)能表達(dá)盡可能多的信息量,并且具有一定的防偽功能。所以它首先要求信息密度大。又因?yàn)闂l碼信息只需要表示票號(hào),只含有數(shù)字。鑒于以上的要求,我們選用了一維條碼中的交叉二五碼。為了增加信息密度,我們?nèi)サ袅私徊娑宕a的校驗(yàn)位,而在應(yīng)用軟件中增加了校驗(yàn)功能。
條碼的打印有圖像法和字模法。圖象法<