基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

-2-圖5.17翻頁數(shù)據(jù)實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。//訂單支付@RequestMapping("updates")publicStringupdates(Ordersorders,HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{System.out.println(orders);if(!orders.getO_status().equals("待報(bào)價(jià)")){ordersService.updatesta(orders);return"redirect:/findorders";}else{req.setAttribute("message","請(qǐng)等待商家報(bào)價(jià)后再付款!");req.getRequestDispatcher("/findorders").forward(req,resp);}returnnull;}//訂單分頁查看@RequestMapping("findorders")publicStringfindorders(HttpServletRequestreq,@RequestParam(defaultValue="1")Integerpagenum,Modelmodel){ServletContextservletContext=req.getServletContext();Accountaccount=(Account)servletContext.getAttribute("account");List<Orders>orders=ordersService.findOrders(account);PageHelper.startPage(pagenum,3);inttotal=orders.size();List<Orders>orders1=ordersService.findOrders(account);PageInfo<Orders>ordersPageInfo=newPageInfo<>(orders1);req.setAttribute("list",ordersPageInfo);intlast=total/3==0?total/3:total/3+1;if(pagenum<1){pagenum=1;}elseif(pagenum>last){pagenum=last;}model.addAttribute("info",ordersPageInfo);model.addAttribute("pagenum",pagenum);model.addAttribute("first",1);model.addAttribute("last",last);return"service_user_ordermanager";}5.3管理員功能模塊5.3.1信息推送管理模塊在這個(gè)功能里可以推送消息給用戶看到,比如新加一條信息圖5.19新增保養(yǎng)知識(shí)點(diǎn)擊查看保養(yǎng)知識(shí)后和用戶的效果一樣圖5.20查看保養(yǎng)信息點(diǎn)擊標(biāo)題后彈出信息圖5.21查看信息詳情5.3.2用戶信息管理模塊在這個(gè)功能模塊里可以對(duì)用戶的信息進(jìn)行管理。可以查看用戶的姓名、賬號(hào)和密碼,也能夠協(xié)助忘記密碼的用戶修改密碼。圖5.22用戶信息管理5.3.3查看車輛信息模塊在這個(gè)模塊可以查看用戶車輛信息,點(diǎn)擊查看即可圖5.23查看用戶車輛信息下面就是看到的對(duì)應(yīng)用戶的信息圖5.24展示查看到的車輛信息5.3.4訂單信息管理模塊當(dāng)?shù)卿浀氖枪芾韱T賬號(hào)時(shí),會(huì)被過濾器過濾到管理員頁面。點(diǎn)擊訂單信息處理后,可以查看訂單的訂單編號(hào)、訂單類型、車輛名稱、故障描述、預(yù)約日期、用戶名、真實(shí)姓名、聯(lián)系電話、訂單狀態(tài)、支付情況。圖5.25管理員訂單信息管理實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。//更改訂單處理進(jìn)度@RequestMapping("updatehandle")publicStringupdatehandle(Ordersorders){ordersService.updatehandle(orders);return"redirect:/findAll_order";}@RequestMapping("updatestatus")publicStringupdatestatus(Ordersorders){orders.setO_status("待支付:"+orders.getO_status()+"元");ordersService.updatestatus(orders);return"redirect:/findAll_order";}在預(yù)約界面首先要給對(duì)應(yīng)的訂單增加服務(wù)項(xiàng)目。圖5.26添加服務(wù)項(xiàng)目然后可以進(jìn)行該訂單的業(yè)務(wù)與總價(jià)。圖5.27服務(wù)項(xiàng)目查看實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("checkservice_admin")publicStringcheckservice_admin(HttpServletRequestreq,Pickcarservice){List<Service>byOid=serviceService.findByOid(service);System.out.println(byOid);req.setAttribute("sList",byOid);doubleprise=0;for(inti=0;i<byOid.size();i++){prise+=byOid.get(i).getS_money();}req.setAttribute("prise",prise);return"service_admin_checkservice";}在預(yù)約界面可以確認(rèn)的預(yù)約情況,并且生成對(duì)應(yīng)的接車表單,點(diǎn)擊確認(rèn)生成即可并且會(huì)根據(jù)當(dāng)前的服務(wù)項(xiàng)目生成定價(jià)。圖5.28接車表單生成實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("updatehandle")publicStringupdatehandle(Ordersorders){ordersService.updatehandle(orders);Usersaccountbyphone=usersService.findAccountbyphone(orders.getU_phone());Accountaccount=newAccount();account.setId(accountbyphone.getA_id());List<Cars>findcarsbyaccount=carsService.findcarsbyaccount(account);Carscars=newCars();for(inti=0;i<findcarsbyaccount.size();i++){if(orders.getC_name().equals(findcarsbyaccount.get(i).getC_name())){cars=findcarsbyaccount.get(i);System.out.println(cars);}}Pickcarpickup=newPickcar();pickup.setU_name(orders.getU_name());pickup.setU_phone(orders.getU_phone());pickup.setC_name(orders.getC_name());pickup.setO_type(orders.getO_type());pickup.setO_date(orders.getO_date());pickup.setO_desc(orders.getO_desc());pickup.setO_id(orders.getO_id());pickup.setC_color(cars.getC_color());pickup.setC_model(cars.getC_model());pickupService.insertinit(pickup);Stringo_id=orders.getO_id();Pickcarpickcar=newPickcar();pickcar.setO_id(o_id);List<Service>byOid=serviceService.findByOid(pickcar);doubleprise=0;for(inti=0;i<byOid.size();i++){prise+=byOid.get(i).getS_money();}orders.setO_status("定價(jià)"+prise+"元");ordersService.updatestatus(orders);return"redirect:/findAll_order";}在生成訂單后進(jìn)入接車表單處理,即可處理剛剛生成的表單,完成指派修理人員維修。圖5.29接車表單管理點(diǎn)擊查看并完善詳情信息即可進(jìn)行更改圖5.30完善接車表單信息實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("updatepickcar")publicStringupdatepickcar(HttpServletRequestreq,Pickcarpickcar){System.out.println(pickcar);if(pickcar.getO_repairman()!=null){pickcar.setO_status("進(jìn)行中");}else{pickcar.setO_status("未委派");}pickupService.updatePickCar(pickcar);List<Pickcar>pickcars=pickupService.listAll();req.setAttribute("pickList",pickcars);return"service_admin_pickcar";}在歷史訂單管理頁面可以看到歷史訂單信息。圖5.31管理員歷史訂單管理實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。//修改接車表單信息@RequestMapping("updatepickcar")publicStringupdatepickcar(HttpServletRequestreq,Pickcarpickcar){System.out.println(pickcar);if(pickcar.getO_repairman()!=null){pickcar.setO_status("進(jìn)行中");}else{pickcar.setO_status("未委派");}pickupService.updatePickCar(pickcar);List<Pickcar>pickcars=pickupService.listAll();req.setAttribute("pickList",pickcars);return"service_admin_pickcar";}點(diǎn)擊查看詳細(xì)結(jié)單表,即可查看關(guān)于訂單的大部分重要信息,如車主信息、訂單信息和車輛信息等。具體的服務(wù)項(xiàng)目可以在服務(wù)查詢看到。圖5.32查看訂單結(jié)算詳情5.3.5維修配件管理模塊在新增配件信息頁面,我們可以增加新的配件信息。圖5.33配件信息增加新增后即可在配件信息查看里進(jìn)行查詢圖5.34配件信息查看在新增配件類別可以添加新的配件類別圖5.35配件類別增加點(diǎn)擊查看配件類別即可查看配件類別信息圖5.36配件類別查看5.4維修員功能模塊5.4.1保養(yǎng)維修管理模塊在查看我的委派限流頁面,可以查看指給自己的工作訂單圖5.37查看我的委派修理在這里可以進(jìn)行維修/保養(yǎng)服務(wù)項(xiàng)目的添加,會(huì)綁定到當(dāng)前訂單圖5.38保養(yǎng)/維修服務(wù)添加點(diǎn)擊查看服務(wù)項(xiàng)目后可以查看添加的服務(wù)內(nèi)容并進(jìn)行修改和刪除圖5.39維修保養(yǎng)服務(wù)項(xiàng)目查看實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。//查看指派給我的訂單@RequestMapping("mypickcar_e")publicStringmypickcar_e(HttpServletRequestreq){ServletContextservletContext=req.getServletContext();Accountaccount=(Account)servletContext.getAttribute("account");Usersfinduserbyaid=usersService.finduserbyaid(account);List<Pickcar>findbyname=pickupService.findbyname(finduserbyaid);for(inti=0;i<findbyname.size();i++){Pickcarpickcar=newPickcar();pickcar=findbyname.get(i);List<Service>byOid=serviceService.findByOid(pickcar);pickcar.setO_scount(byOid.size());findbyname.set(i,pickcar);}req.setAttribute("pickList",findbyname);return"service_repair_pickcar";}在完成后即可提交,由管理員確認(rèn)后系統(tǒng)自動(dòng)生成總價(jià)圖5.40委派訂單提交實(shí)現(xiàn)該功能的關(guān)鍵代碼如下。//提交委派訂單@RequestMapping("commit_e")publicStringcommit_e(HttpServletRequestreq){ServletContextservletContext=req.getServletContext();Accountaccount=(Account)servletContext.getAttribute("account");Usersfinduserbyaid=usersService.finduserbyaid(account);List<Pickcar>findbyname=pickupService.findbyname(finduserbyaid);for(inti=0;i<findbyname.size();i++){Pickcarpickcar=newPickcar();pickcar=findbyname.get(i);List<Service>byOid=serviceService.findByOid(pickcar);pickcar.setO_scount(byOid.size());findbyname.set(i,pickcar);}req.setAttribute("pickList",findbyname);return"service_repair_commit";}第6章系統(tǒng)測試終于進(jìn)入到了系統(tǒng)開發(fā)的最后步驟系統(tǒng)測試了,這個(gè)環(huán)節(jié)也是系統(tǒng)開發(fā)中尤為重要的一環(huán),如果不對(duì)系統(tǒng)進(jìn)行測試,就沒辦法保障產(chǎn)品的質(zhì)量,沒有進(jìn)行過系統(tǒng)測試的系統(tǒng)的性能和質(zhì)量是一個(gè)定時(shí)炸彈,如果在交付的時(shí)候出現(xiàn)bug,那就無比尷尬了,直接關(guān)系到客戶的滿意度。在測試過程中,一定要秉承嚴(yán)謹(jǐn)、規(guī)范的原則對(duì)系統(tǒng)進(jìn)行測試,畢竟在系統(tǒng)測試中,其目的就是看是否會(huì)出現(xiàn)BUG,然后盡可能的解決、處理BUG,雖然一般不可能完全消除BUG,但是越解決,BUG出現(xiàn)的概率就越低,也使客戶使用起來更方便和安全。如果想要確認(rèn)一個(gè)程序是否滿足交付要求,肯定是要投入很多精力去進(jìn)行系統(tǒng)測試的,因?yàn)橹挥斜WC系統(tǒng)質(zhì)量,才能確保系統(tǒng)在真正投入生產(chǎn)后,能夠正常工作,這不僅僅是一個(gè)程序員需要堅(jiān)守的職責(zé),也是對(duì)客戶的負(fù)責(zé)。盡管在開發(fā)中小心翼翼的考慮到各種情況,但是產(chǎn)生的不應(yīng)該出現(xiàn)的狀況也就是BUG仍然是不樂觀的,這些問題雖然在代碼上看來只是區(qū)區(qū)幾段字母組成的句子,但是如果放任不管的話極有可能會(huì)造成現(xiàn)實(shí)中人們的經(jīng)濟(jì)損失,一旦設(shè)計(jì)到金錢觀念上,就不得不認(rèn)真的對(duì)待這件事情的,也是為了避免在未來的系統(tǒng)運(yùn)作中造成更大的損失之前挽回。各個(gè)研究表明,在一個(gè)系統(tǒng)的開發(fā)中,系統(tǒng)測試部分要占用整個(gè)系統(tǒng)開發(fā)時(shí)間至少40%,系統(tǒng)測試的意義有很多,上述的減少系統(tǒng)漏洞帶來的經(jīng)濟(jì)損失就是一方面,還有就是能夠正確的評(píng)估風(fēng)險(xiǎn),為開發(fā)人員和使用者提供建議,來保證系統(tǒng)的使用質(zhì)量。在開發(fā)過程中肯定可不能空手測試,因?yàn)橐稽c(diǎn)點(diǎn)的調(diào)試是相當(dāng)浪費(fèi)時(shí)間的,而且效率不高,要借助一些外在的工具,比如Jmeter來模擬請(qǐng)求,Postman等。6.1系統(tǒng)測試的意義系統(tǒng)測試其實(shí)就是為了保證管理系統(tǒng)的質(zhì)量,畢竟一個(gè)系統(tǒng)看上去再花枝招展,如果質(zhì)量不過關(guān),做的再好也沒用,因?yàn)楫?dāng)前時(shí)代并不缺乏穩(wěn)定好用的系統(tǒng),要想在市場占有一席之地,就要保證自己的產(chǎn)品質(zhì)量過關(guān),如果開發(fā)出的系統(tǒng)頻頻報(bào)錯(cuò),bug成堆,那么后期的損耗就會(huì)無限加大,甚至被淘汰,質(zhì)量在網(wǎng)絡(luò)技術(shù)市場上是人們關(guān)注的重點(diǎn),所以,一定要認(rèn)真合理的做系統(tǒng)測試。6.2測試用例系統(tǒng)測試一共做了三類,使用了模擬環(huán)境測試的方法,先加入一些測試數(shù)據(jù),然后運(yùn)行業(yè)務(wù),將跑起來的數(shù)據(jù)保存下來,并且關(guān)注在運(yùn)行過程中是否報(bào)錯(cuò),參照預(yù)期結(jié)果,找出問題所在。6.2.1注冊測試用例注冊測試用例這里采用黑盒測試方法,且注冊系統(tǒng)依據(jù)需求進(jìn)行設(shè)計(jì),下面共有三條注冊測試用例信息:如表6.1所示。表6.1注冊測試用例表測試編號(hào)測試目的操作步驟預(yù)期結(jié)果實(shí)際結(jié)果1注冊測試輸入正確格式的個(gè)人信息注冊成功注冊成功2注冊測試輸入長度不符合要求的密碼注冊失敗注冊失敗3注冊測試輸入錯(cuò)誤的手機(jī)號(hào)格式注冊失敗注冊失敗6.2.2車輛信息添加測試用例車輛信息添加部分有非空等驗(yàn)證,車輛的類型、型號(hào)、顏色、照片、狀態(tài)都有各自的填寫格式,如未按照要求填寫,應(yīng)插入失敗,下面共有三條車輛信息添加測試用例信息:如表6.2所示。表6.2車輛信息添加測試用例表測試編號(hào)測試目的操作步驟預(yù)期結(jié)果實(shí)際結(jié)果1車輛信息添加測試輸入正確格式的車輛信息添加成功添加成功2車輛信息添加測試不輸入車輛型號(hào)添加失敗添加失敗3車輛信息添加測試上傳錯(cuò)誤的照片格式添加失敗添加失敗6.2.3訂單支付測試用例用戶要進(jìn)行訂單支付,有個(gè)前提就是這個(gè)訂單以被管理員修改訂單狀態(tài),應(yīng)該為完成狀態(tài),并且根據(jù)服務(wù)進(jìn)行業(yè)務(wù)報(bào)價(jià),在報(bào)價(jià)完成后,再由用戶進(jìn)行訂單支付,下面共有三條訂單支付測試用例信息:如表6.3所示。表6.3訂單支付測試用例表測試編號(hào)測試目的操作步驟預(yù)期結(jié)果實(shí)際結(jié)果1訂單支付測試報(bào)價(jià)后支付支付成功支付成功2訂單支付測試訂單完成前支付支付失敗支付失敗3訂單支付測試訂單報(bào)價(jià)前支付支付失敗支付失敗6.3測試分析本汽車4S店汽車維修管理系統(tǒng)在設(shè)計(jì)時(shí)考慮很多方便用戶使用的點(diǎn),也在測試中盡量的排除了錯(cuò)誤,并且當(dāng)出現(xiàn)操作錯(cuò)誤時(shí),都有對(duì)應(yīng)的提示語句,這樣十分方便用戶使用,而且界面簡單易懂,沒有繁雜的按鈕和跳轉(zhuǎn),當(dāng)用戶登錄后,動(dòng)態(tài)顯示業(yè)務(wù)的功能完善,會(huì)根據(jù)登錄賬號(hào)類型顯示不同的業(yè)務(wù),而且系統(tǒng)的基本功能完整可靠,系統(tǒng)運(yùn)行穩(wěn)定性高,能夠在多個(gè)系統(tǒng)上運(yùn)行發(fā)展前景廣闊。結(jié)論本次設(shè)計(jì)中,主要使用了JAVA編程語言、MYSQL數(shù)據(jù)庫和SSM框架,并且從硬件與軟件兩個(gè)方向來闡述了本系統(tǒng),基于SSM的汽車4S店維修保養(yǎng)管理系統(tǒng)的可行性。本文的結(jié)論以及研究成果如下:實(shí)現(xiàn)了JAVA與MYSQL相結(jié)合構(gòu)建的服務(wù)管理系統(tǒng),網(wǎng)站可以響應(yīng)式展示。通過這次系統(tǒng)設(shè)計(jì),我大有感悟,首先就是系統(tǒng)設(shè)計(jì)經(jīng)驗(yàn)上的不足,以及在編程過程中遇到了種種技術(shù)性困難,比如日期類型轉(zhuǎn)換問題等等,都印證了學(xué)海無涯,我的不足之處還有很多,比如對(duì)功能設(shè)計(jì)上可能還有一些不周全的地方,其中頁面美化也是主要使用了BootStrap在線引入技術(shù),希望能夠多多進(jìn)行系統(tǒng)開發(fā),積累經(jīng)驗(yàn),完善自己的能力。在開發(fā)中,所用的大部分都是已經(jīng)學(xué)會(huì)的知識(shí),更好的情況是應(yīng)該采用一些新技術(shù)并且融合網(wǎng)上那些大佬們的思路,因?yàn)閷戇^的小Demo比較多,對(duì)JAVA基礎(chǔ)知識(shí)也比較牢固,所以在開發(fā)前期遇到的問題還是比較少的,幾乎是一帆風(fēng)順,但是后面就開始問題頻出,比如頁面顯示的分辨率問題,讓我意識(shí)到了前端能力上的不足,因?yàn)槲业膲粝刖褪亲鲆幻鸍AVA開發(fā)程序員嘛,所以一直將重心放在后端實(shí)現(xiàn)上,前端的知識(shí)了解是十分有限的,但是中途也在CSDN上查詢了很多資料,盡可能的解決問題,如果實(shí)在解決不了,也換方位思考采用了其他方法實(shí)現(xiàn),因?yàn)檫@次系統(tǒng)開發(fā)需要處理的數(shù)據(jù)量比較小,所以在數(shù)據(jù)處理上還是不會(huì)亂套的,在網(wǎng)上查詢的資料給了我很多啟發(fā),雖然說每個(gè)人編程的思路可能會(huì)有很多不用,但是技術(shù)上要學(xué)習(xí)的細(xì)節(jié)還是很多的,而且正因?yàn)樗悸凡煌?,在看到其他人的思路時(shí)才會(huì)產(chǎn)生碰撞,這個(gè)對(duì)自己能力的提升也是大有裨益,在下次進(jìn)行業(yè)務(wù)開發(fā)時(shí),就能夠權(quán)衡多種方法的利弊,從而可以選擇的方法就更多了,以避免碰到問題時(shí)捉襟見肘。在通過不斷學(xué)習(xí),我也逐漸完善了這個(gè)維修保養(yǎng)管理系統(tǒng),無論是在后端實(shí)現(xiàn)上還是前端美化上,都下了很大的功夫,會(huì)的東西一點(diǎn)點(diǎn)扣,不會(huì)的東西就,慢慢學(xué),最終開發(fā)出了這樣的一套系統(tǒng),功能完善,界面漂亮,使用方便。參考文獻(xiàn)[1]馬芯.基于微信平臺(tái)的4S店智能管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].遼寧:大連海事大學(xué),2020.[2]趙文靜.汽車4S店客戶關(guān)系管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[

溫馨提示

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

評(píng)論

0/150

提交評(píng)論