(附源码)spring boot养老院系统 645488
springboot養(yǎng)老院系統(tǒng)
摘 要
隨著互聯(lián)網(wǎng)趨勢的到來,各行各業(yè)都在考慮利用互聯(lián)網(wǎng)將自己推廣出去,最好方式就是建立自己的互聯(lián)網(wǎng)系統(tǒng),并對其進(jìn)行維護(hù)和管理。在現(xiàn)實(shí)運(yùn)用中,應(yīng)用軟件的工作規(guī)則和開發(fā)步驟,采用Java技術(shù)建設(shè)養(yǎng)老院信息管理系統(tǒng)。
本設(shè)計(jì)主要實(shí)現(xiàn)集人性化、高效率、便捷等優(yōu)點(diǎn)于一身的養(yǎng)老院信息管理系統(tǒng),實(shí)現(xiàn)功能:管理員:首頁、站點(diǎn)管理(輪播圖)用戶管理(管理員、普通用戶)內(nèi)容管理(養(yǎng)老院資訊、資訊分類列表)更多管理(老人檔案、托養(yǎng)服務(wù)、緊急救援、康復(fù)護(hù)理、休閑活動、醫(yī)療信息、康復(fù)信息、財(cái)務(wù)管理、床位信息、預(yù)定信息)等功能模塊。系統(tǒng)通過瀏覽器與服務(wù)器進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的交互與變更。只需通過一臺電腦,動動手指就可以操作系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)通信管理。整個系統(tǒng)的設(shè)計(jì)過程都充分考慮了數(shù)據(jù)的安全、穩(wěn)定及可靠等問題,而且操作過程簡單。本系統(tǒng)通過科學(xué)的管理方式、便捷的服務(wù)提高了工作效率,減少了數(shù)據(jù)存儲上的錯誤和遺漏。
養(yǎng)老院信息管理系統(tǒng)使用java語言springboot框架開發(fā),使用 MyEclipse 2017 CI 10 編譯器編寫,數(shù)據(jù)方面主要采用的是微軟的MySQL關(guān)系型數(shù)據(jù)庫來作為數(shù)據(jù)存儲媒介,配合前臺HTML+CSS 技術(shù)完成系統(tǒng)的開發(fā)。
關(guān)鍵詞:養(yǎng)老院;Java語言;關(guān)系型數(shù)據(jù)庫;數(shù)據(jù)存儲
Springboot nursing home system
Abstract
With the advent of the Internet trend, all walks of life are considering using the Internet to promote themselves. The best way is to establish their own Internet system and maintain and manage it. In practical application, according to the working rules and development steps of the application software, Java technology is used to build the nursing home information management system.
This design mainly realizes the nursing home information management system integrating the advantages of humanization, high efficiency and convenience, and realizes the functions: Administrator: home page Site management (rotation chart) user management (administrator, ordinary users) content management (nursing home information, information classification list) more management (elderly files, nursing services, emergency rescue, rehabilitation care, leisure activities, medical information, rehabilitation information, financial management, bed information, reservation information) and other functional modules. The system communicates with the server through the browser to realize the interaction and change of data. You can operate the system and realize data communication management by moving your fingers through a computer. The safety, stability and reliability of data are fully considered in the design process of the whole system, and the operation process is simple. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage.
The nursing home information management system is developed using the Java language springboot framework and written with MyEclipse 2017 CI 10 compiler. In terms of data, Microsoft's MySQL relational database is mainly used as the data storage medium, and the system development is completed with the foreground HTML + CSS technology.
Key words: nursing home; Java language; Relational database; data storage
目 錄
第1章 緒論 1
1.1 研究背景 1
1.2 開發(fā)意義 1
1.3 本文的組織結(jié)構(gòu) 1
第2章 相關(guān)技術(shù)介紹 3
2.1 開發(fā)技術(shù) 3
2.2 MVVM模式 3
2.3 MySQL數(shù)據(jù)庫 3
2.4 B/S結(jié)構(gòu) 3
2.5 Spring Boot框架 4
2.6 Vue.js 主要功能 4
第3章 系統(tǒng)分析 5
3.1 可行性分析 5
3.1.1 技術(shù)可行性分析 5
3.1.2 經(jīng)濟(jì)可行性分析 5
3.1.3 操作可行性分析 5
3.2 功能需求分析 5
3.3 非功能需求分析 6
3.4 數(shù)據(jù)流程分析 6
第4章 系統(tǒng)設(shè)計(jì) 8
4.1 系統(tǒng)架構(gòu)設(shè)計(jì) 8
4.2 系統(tǒng)功能結(jié)構(gòu) 8
4.3 數(shù)據(jù)庫設(shè)計(jì) 9
4.3.1 概念模型 9
4.3.2 數(shù)據(jù)表 9
第5章 系統(tǒng)實(shí)現(xiàn) 17
5.1 登錄模塊的實(shí)現(xiàn) 17
5.2 用戶子系統(tǒng)模塊的實(shí)現(xiàn) 20
5.2.1 用戶首頁模塊 20
5.2.2 托養(yǎng)服務(wù)模塊模塊 21
5.3 管理員子系統(tǒng)模塊的實(shí)現(xiàn) 22
5.3.1個人資料模塊 22
5.3.2老人信息管理模塊 24
5.3.3用戶管理模塊 27
第6章 系統(tǒng)測試 29
6.1 測試目的 29
6.2 測試過程 29
6.3 測試結(jié)果 30
第7章 總結(jié)與展望 31
參考文獻(xiàn) 32
致謝 34
- 緒論
- 研究背景
養(yǎng)老院是集老人護(hù)理、護(hù)工等服務(wù)服務(wù)于一體的綜合行養(yǎng)老院,經(jīng)過我們前期的調(diào)查,院方大部分工作采用手工操作方式,會帶來工作效率過低,運(yùn)營成本過大的問題。
院方可用合理的較少投入取得更好的服務(wù)效果,在滿足社會需求、注重社會效益的同時,獲得相應(yīng)的經(jīng)濟(jì)效益,從而提高院方的長遠(yuǎn)發(fā)展能力,增強(qiáng)內(nèi)部控制能力,在人、財(cái)、物的綜合運(yùn)營管理上得到更多、更好的方法和手段,用有限的資源取得最合理的社會和經(jīng)濟(jì)效益的產(chǎn)出。
養(yǎng)老院信息管理系統(tǒng)實(shí)現(xiàn)系統(tǒng)主要功能:首頁、站點(diǎn)管理(輪播圖)用戶管理(管理員、普通用戶)內(nèi)容管理(養(yǎng)老院資訊、資訊分類列表)更多管理(老人檔案、托養(yǎng)服務(wù)、緊急救援、康復(fù)護(hù)理、休閑活動、醫(yī)療信息、康復(fù)信息、財(cái)務(wù)管理、床位信息、預(yù)定信息)管理層決策智能分析等功能,系統(tǒng)采取一體化的運(yùn)營模式,可作為提高院方綜合運(yùn)營能力的有效手段。
- 開發(fā)意義
養(yǎng)老院在關(guān)愛老年人身心健康、提供必要的社會幫助方面發(fā)揮著不可或缺的重要作用,同社會中其他性質(zhì)的企業(yè)一樣,養(yǎng)老院同樣需要高效率和高標(biāo)準(zhǔn)的管理系統(tǒng),以達(dá)到為廣大老年客戶提供高水準(zhǔn)服務(wù)的目的。當(dāng)前的養(yǎng)老院機(jī)構(gòu)的現(xiàn)狀和存在的問題有以下兩個方面:1、信息化基礎(chǔ)薄弱。養(yǎng)老院當(dāng)前信息化的一些基礎(chǔ)信息采集不足,無法滿足信息共享、統(tǒng)計(jì)、查詢等業(yè)務(wù)的需要。2、信息流轉(zhuǎn)不暢。當(dāng)前養(yǎng)老院信息的傳遞依靠傳統(tǒng)方式,缺乏高效流轉(zhuǎn),且流轉(zhuǎn)渠道不暢。
養(yǎng)老院服務(wù)的規(guī)模化和多樣性對管理和服務(wù)工作帶來了挑戰(zhàn),對于現(xiàn)代養(yǎng)老機(jī)構(gòu)而言,傳統(tǒng)的管理方式已難以適應(yīng)現(xiàn)代化養(yǎng)老服務(wù)的需要,而采用信息化集成管理,可以使養(yǎng)老機(jī)構(gòu)的管理和服務(wù)工作更加便捷和高效。
- 本文的組織結(jié)構(gòu)
第一章是緒論,本文章的開頭部分,對本題目的研究背景和研究意義等一些做文字性的描述。
第二章研究了養(yǎng)老院信息管理系統(tǒng)的所采用的開發(fā)技術(shù)和開發(fā)工具。
第三章是系統(tǒng)分析部分,包括系統(tǒng)總體需求描述、功能性角度分析系統(tǒng)需求、非功能性等各個方面分析系統(tǒng)是否可以實(shí)現(xiàn)。
第四章是系統(tǒng)設(shè)計(jì)部分,本文章的重要部分,提供了系統(tǒng)架構(gòu)的詳細(xì)設(shè)計(jì)和一些主要功能模塊的設(shè)計(jì)說明。
第五章是系統(tǒng)的具體實(shí)現(xiàn),介紹系統(tǒng)的各個模塊的具體實(shí)現(xiàn)。
第六章在前幾章的基礎(chǔ)上對系統(tǒng)進(jìn)行測試和運(yùn)行。
最后對系統(tǒng)進(jìn)行了認(rèn)真的總結(jié),以此對未來有一個新的展望。
- 相關(guān)技術(shù)介紹
- 開發(fā)技術(shù)
本系統(tǒng)前端框架采用了比較流行的漸進(jìn)式JavaScript框架Vue.js。使用Vue-Router和Vuex實(shí)現(xiàn)動態(tài)路由和全局狀態(tài)管理,Ajax實(shí)現(xiàn)前后端通信,Element UI組件庫使頁面快速成型。后端部分:采用springboot作為開發(fā)框架,同時集成MyBatis、Redis等相關(guān)技術(shù)。
- MVVM模式
MVVM是Model-View-ViewModel的簡寫。它本質(zhì)上就是MVC 的改進(jìn)版。MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開。當(dāng)然這些事 ViewModel 已經(jīng)幫我們做了,它可以取出 Model 的數(shù)據(jù)同時幫忙處理 View 中由于需要展示內(nèi)容而涉及的業(yè)務(wù)邏輯。微軟的WPF帶來了新的技術(shù)體驗(yàn),如Silverlight、音頻、視頻、3D、動畫……,這導(dǎo)致了軟件UI層更加細(xì)節(jié)化、可定制化。同時,在技術(shù)層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結(jié)合的應(yīng)用方式時發(fā)展演變過來的一種新型架構(gòu)框架。它立足于原有MVP框架并且把WPF的新特性糅合進(jìn)去,以應(yīng)對客戶日益復(fù)雜的需求變化。
- MySQL數(shù)據(jù)庫
科技的進(jìn)步,給日常帶來許多便利:教室的投影器用到了虛擬成像技術(shù),數(shù)碼相機(jī)用到了光電檢測技術(shù),比如超市貨物進(jìn)出庫的記錄需要一個信息倉庫。這個信息倉庫就是數(shù)據(jù)庫,而這次的養(yǎng)老院信息管理系統(tǒng)也需要這項(xiàng)技術(shù)的支持。
用MySQL這個軟件,是因?yàn)樗芙邮芏鄠€使用者訪問,而且里面存在Archive等。它會先把數(shù)據(jù)進(jìn)行分類,然后分別保存在表里,這樣的特別操作就會提高數(shù)據(jù)管理系統(tǒng)自身的速度,讓數(shù)據(jù)庫能被靈活運(yùn)用。MySQL的代碼是公開的,而且允許別人二次編譯升級。這個特點(diǎn)能夠降低使用者的成本,再搭配合適的軟件后形成一個良好的網(wǎng)站系統(tǒng)。雖然它有缺點(diǎn),但是綜合各方面來說,它是使用者的主流運(yùn)用的對象。
- B/S結(jié)構(gòu)
B/S(Browser/Server)比前身架構(gòu)更為省事的架構(gòu)。它借助Web server完成數(shù)據(jù)的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達(dá)到“瘦身”效果, 不需要考慮不停裝軟件的問題。
- Spring Boot框架
Spring框架是Java平臺上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來實(shí)現(xiàn)管理對象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項(xiàng)目維護(hù)和測試,它提供了一種通過Java的反射機(jī)制對Java對象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運(yùn)行時可配置;AOP框架主要針對模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問等功能均可以通過使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺帶來了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺的任何環(huán)境中工作。
- Vue.js 主要功能
Vue.js是一套構(gòu)建用戶界面的漸進(jìn)式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發(fā)的設(shè)計(jì)。Vue 的核心庫只關(guān)注視圖層,并且非常容易學(xué)習(xí),非常容易與其它庫或已有項(xiàng)目整合。另一方面,Vue 完全有能力驅(qū)動采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)的復(fù)雜單頁應(yīng)用。
Vue.js 的目標(biāo)是通過盡可能簡單的 API 實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。
Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學(xué)習(xí),非常容易與其它庫或已有項(xiàng)目整合。另一方面,在與相關(guān)工具和支持庫一起使用時,Vue.js 也能驅(qū)動復(fù)雜的單頁應(yīng)用。
- 系統(tǒng)分析
- 可行性分析
本次設(shè)計(jì)基于B/S 模式下,運(yùn)用Java技術(shù)采用的是MySQL數(shù)據(jù)庫和Myeclipse實(shí)現(xiàn),總體的可行性共分為以下三個方面。
- 技術(shù)可行性分析
所謂的技術(shù)可行性就是在限定時間,前期擬定的功能能否被滿足。在開發(fā)設(shè)計(jì)上是否會遇上解決不了的問題。做完的項(xiàng)目能否被很好地應(yīng)用,如果存在缺點(diǎn)在后期的維護(hù)上是否存在很大的難度。在對這個系統(tǒng)評估后,認(rèn)定已存在的技術(shù)能達(dá)成目標(biāo)。用JSP技術(shù)來實(shí)現(xiàn)動態(tài)的頁面,嵌入低依賴性的設(shè)計(jì)模式,靈活的數(shù)據(jù)庫,配合穩(wěn)定的服務(wù)器,整個系統(tǒng)的運(yùn)行效率大大提升。由此可見,在技術(shù)層面達(dá)成目標(biāo)不是非非之想。
- 經(jīng)濟(jì)可行性分析
在項(xiàng)目上使用的工具大部分都是是當(dāng)下流行開源免費(fèi)的,所以在開發(fā)前期,開發(fā)時用于項(xiàng)目的經(jīng)費(fèi)將會大大降低,不會讓開發(fā)該軟件在項(xiàng)目啟動期受到經(jīng)費(fèi)的影響,所以經(jīng)濟(jì)上還是可行的。盡量用最少的花費(fèi)去滿足用戶的需求。省下經(jīng)費(fèi)用于人工費(fèi),以及設(shè)備費(fèi)用。將在無紙化,高效率的道路上越走越遠(yuǎn)。
- 操作可行性分析
本系統(tǒng)實(shí)現(xiàn)功能的操作很簡單,普通電腦的常見配置就可以運(yùn)行本軟件,并且只要粗通電腦使用的基本常識就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務(wù)流程,并且按照專業(yè)知識進(jìn)行正確操作即可,所以養(yǎng)老院信息管理系統(tǒng)具備操作可行性。
- 功能需求分析
在系統(tǒng)開發(fā)設(shè)計(jì)前,應(yīng)該對功能做初步設(shè)想,清楚這個管理系統(tǒng)有什么板塊,每個板塊有什么功能,整體的設(shè)計(jì)是否滿足使用者的需求,接著對所開發(fā)的系統(tǒng)功能進(jìn)行的詳細(xì)分析總結(jié),從而設(shè)計(jì)出完整的系統(tǒng)并將其實(shí)現(xiàn)。用戶和開發(fā)人員的交流分析,使其達(dá)到最佳理解程度,使系統(tǒng)功能達(dá)到最佳。
管理員用例圖如下所示。
圖3-2 管理員用例圖
- 非功能需求分析
系統(tǒng)非功能需求有非常多,比如性能需求、可承載最大用戶數(shù)、穩(wěn)定性、易用性需求等。本系統(tǒng)分析時考慮到易用性需求,因?yàn)橄到y(tǒng)是給人使用的,所以必須充分從用戶的角度出發(fā),考慮用戶體驗(yàn),使系統(tǒng)易理解易上手易操作。
- 數(shù)據(jù)流程分析
零層數(shù)據(jù)流程圖包括了登錄注冊、用戶功能和檢索維護(hù)等模塊,在登錄注冊模塊使用到的數(shù)據(jù)存儲有用戶賬戶文檔,用戶功能模塊需要的存儲是用戶各功能模塊數(shù)據(jù)文檔,檢索維護(hù)是使用以上這些數(shù)據(jù)文檔通過關(guān)鍵詞進(jìn)行檢索。
系統(tǒng)的零層數(shù)據(jù)流圖如下圖所示。
圖3-2系統(tǒng)數(shù)據(jù)流圖(零層)
一層數(shù)據(jù)流程圖是對零層數(shù)據(jù)流程圖的細(xì)化,將登錄注冊細(xì)分為填制登錄注冊數(shù)據(jù)和完善數(shù)據(jù),用戶功能細(xì)分為用戶基本功能和用戶主要功能。
系統(tǒng)的一層數(shù)據(jù)流圖如下圖所示。
圖3-3系統(tǒng)數(shù)據(jù)流圖(一層)
二層數(shù)據(jù)流程是對一層數(shù)據(jù)流層圖中填寫登錄注冊信息、用戶功能的細(xì)化。即:填寫登錄注冊信息細(xì)化為填制信息、后臺審核,用戶功能細(xì)化為個人資料修改、托養(yǎng)服務(wù)、緊急救援、康復(fù)護(hù)理、醫(yī)療信息、康復(fù)信息、預(yù)定信息等操作。
系統(tǒng)的二層數(shù)據(jù)流圖如下圖所示。
圖3-4系統(tǒng)數(shù)據(jù)流圖(二層)
- 系統(tǒng)設(shè)計(jì)
- 系統(tǒng)架構(gòu)設(shè)計(jì)
目前B/S體系的系統(tǒng)主要的數(shù)據(jù)訪問方式是:通過瀏覽器頁面用戶可以進(jìn)入系統(tǒng),系統(tǒng)可以自動對用戶向服務(wù)器發(fā)送的請求進(jìn)行處理,處理請求是在系統(tǒng)后臺中進(jìn)行的,用戶在瀏覽器頁面上進(jìn)行相應(yīng)操作,就能夠看到服務(wù)端傳遞的處理結(jié)果。養(yǎng)老院信息管理系統(tǒng)主要分為視圖-模型-控制三層架構(gòu)設(shè)計(jì)。在視圖層中,主要是操作在服務(wù)器端向客戶端反饋并顯示的數(shù)據(jù),在模型層中,主要處理相關(guān)的業(yè)務(wù)邏輯、數(shù)據(jù)整合等,最后的控制層它介于視圖和模型之間,主要是調(diào)整兩層之間的關(guān)系,最終落實(shí)數(shù)據(jù)的傳遞。
系統(tǒng)架構(gòu)圖如下圖所示。
圖4-1系統(tǒng)架構(gòu)圖
- 系統(tǒng)功能結(jié)構(gòu)
系統(tǒng)設(shè)計(jì)的目的是分析系統(tǒng)包括的所有功能結(jié)構(gòu),為開發(fā)人員設(shè)計(jì)開發(fā)和實(shí)現(xiàn)系統(tǒng)做好準(zhǔn)備工作。經(jīng)過前期的需求調(diào)查、分析和整理之后,確定的總體需求主要包括多個模塊,分別是:首頁、站點(diǎn)管理(輪播圖)用戶管理(管理員、普通用戶)內(nèi)容管理(養(yǎng)老院資訊、資訊分類列表)更多管理(老人檔案、托養(yǎng)服務(wù)、緊急救援、康復(fù)護(hù)理、休閑活動、醫(yī)療信息、康復(fù)信息、財(cái)務(wù)管理、床位信息、預(yù)定信息)。系統(tǒng)整體角色分為兩個部分,一是用戶、二是管理員。系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。
圖4-2系統(tǒng)功能結(jié)構(gòu)圖
- 數(shù)據(jù)庫設(shè)計(jì)
- 概念模型
對于一個要開發(fā)的系統(tǒng)來說,E-R圖可以讓別人能更快更輕松的了解此系統(tǒng)的事務(wù)及它們之間的關(guān)系。根據(jù)系統(tǒng)分析階段所得出的結(jié)論確定了在養(yǎng)老院信息管理系統(tǒng)中存在著多個實(shí)體分別是用普通用戶、管理員、老人、康復(fù)、托養(yǎng)。
系統(tǒng)總體ER圖如下圖所示。
圖4-4系統(tǒng)總體ER圖
- 數(shù)據(jù)表
數(shù)據(jù)庫邏輯結(jié)構(gòu)就是將E-R圖在數(shù)據(jù)庫中用具體的字段進(jìn)行描述。用字段和數(shù)據(jù)類型描述來使對象特征實(shí)體化,最后形成具有一定邏輯關(guān)系的數(shù)據(jù)庫表結(jié)構(gòu)。養(yǎng)老院信息管理系統(tǒng)所需要的部分?jǐn)?shù)據(jù)結(jié)構(gòu)表如下表所示。
|
|
|
|
|
|
bed_information |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
bed_information_id | int | 11 | 否 | 主鍵 | 床位信息ID |
bed_number | varchar | 64 | 是 |
| 床位編號 |
bed_name | varchar | 64 | 是 |
| 床位名稱 |
bed_type | varchar | 64 | 是 |
| 床位類型 |
remaining_beds | int | 11 | 是 |
| 剩余床位 |
bed_picture | varchar | 255 | 是 |
| 床位圖片 |
bed_status | varchar | 64 | 是 |
| 床位狀態(tài) |
bed_introduction | longtext | 0 | 是 |
| 床位介紹 |
hits | int | 11 | 否 |
| 點(diǎn)擊數(shù) |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
elderly_files |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
elderly_files_id | int | 11 | 否 | 主鍵 | 老人檔案ID |
elderly_files | varchar | 64 | 是 |
| 檔案編號 |
user | int | 11 | 是 |
| 用戶 |
old_man_name | varchar | 64 | 是 |
| 老人姓名 |
gender_of_the_elderly | varchar | 64 | 是 |
| 老人性別 |
date_of_birth | varchar | 64 | 是 |
| 出生日期 |
old_age | varchar | 64 | 是 |
| 老人年齡 |
check_in_time | date | 0 | 是 |
| 入住時間 |
bed | varchar | 64 | 是 |
| 床位 |
health | text | 0 | 是 |
| 健康情況 |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
emergency_rescue |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
emergency_rescue_id | int | 11 | 否 | 主鍵 | 緊急救援ID |
user | int | 11 | 是 |
| 用戶 |
old_man_name | varchar | 64 | 是 |
| 老人姓名 |
record_time | date | 0 | 是 |
| 記錄時間 |
rescue_type | varchar | 64 | 是 |
| 救援類型 |
rescue_content | longtext | 0 | 是 |
| 救援內(nèi)容 |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
financial_management |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
financial_management_id | int | 11 | 否 | 主鍵 | 財(cái)務(wù)管理ID |
title | varchar | 64 | 是 |
| 標(biāo)題 |
record_type | varchar | 64 | 是 |
| 記錄類型 |
record_time | date | 0 | 是 |
| 記錄時間 |
amount_of_money | varchar | 64 | 是 |
| 金額 |
remarks | text | 0 | 是 |
| 備注 |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
foster_care_services |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
foster_care_services_id | int | 11 | 否 | 主鍵 | 托養(yǎng)服務(wù)ID |
user | int | 11 | 是 |
| 用戶 |
old_man_name | varchar | 64 | 是 |
| 老人姓名 |
gender_of_the_elderly | varchar | 64 | 是 |
| 老人性別 |
date_of_birth | varchar | 64 | 是 |
| 出生日期 |
old_age | varchar | 64 | 是 |
| 老人年齡 |
bed_status | varchar | 64 | 是 |
| 床位狀態(tài) |
service_status | varchar | 64 | 是 |
| 服務(wù)狀態(tài) |
service_price | varchar | 64 | 是 |
| 服務(wù)價格 |
health | text | 0 | 是 |
| 健康情況 |
pay_state | varchar | 16 | 否 |
| 支付狀態(tài) |
pay_type | varchar | 16 | 是 |
| 支付類型: 微信、支付寶、網(wǎng)銀 |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
leisure_activities |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
leisure_activities_id | int | 11 | 否 | 主鍵 | 休閑活動ID |
activity_title | varchar | 64 | 是 |
| 活動標(biāo)題 |
activity_type | varchar | 64 | 是 |
| 活動類型 |
activity_time | date | 0 | 是 |
| 活動時間 |
activity_picture | varchar | 255 | 是 |
| 活動圖片 |
activity_introduction | longtext | 0 | 是 |
| 活動介紹 |
hits | int | 11 | 否 |
| 點(diǎn)擊數(shù) |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
medical_information |
|
|
|
|
|
字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
medical_information_id | int | 11 | 否 | 主鍵 | 醫(yī)療信息ID |
user | int | 11 | 是 |
| 用戶 |
old_man_name | varchar | 64 | 是 |
| 老人姓名 |
medical_type | varchar | 64 | 是 |
| 醫(yī)療類型 |
medical_time | date | 0 | 是 |
| 醫(yī)療時間 |
medical_content | text | 0 | 是 |
| 醫(yī)療內(nèi)容 |
recommend | int | 11 | 否 |
| 智能推薦 |
create_time | datetime | 0 | 否 |
| 創(chuàng)建時間 |
update_time | timestamp | 0 | 否 |
| 更新時間 |
|
|
|
|
|
|
ordinary_users |
|
|
|
|
|
- 系統(tǒng)實(shí)現(xiàn)
- 登錄模塊的實(shí)現(xiàn)
系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進(jìn)入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進(jìn)行頁面跳轉(zhuǎn),進(jìn)入系統(tǒng)中去。
登錄合法性判斷過程:用戶輸入賬號和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,然后在login.jsp頁面發(fā)送登錄請求,調(diào)用src下的mainctrl類的dopost方法來驗(yàn)證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測用戶輸入的賬號、密碼是否正確及在數(shù)據(jù)庫已對應(yīng)存在。
2)從數(shù)據(jù)庫中提取記錄,并儲存在本地的session中(timeout默認(rèn)=30min)。
3)根據(jù)用戶名,將其顯示在系統(tǒng)首頁上。
輸出:是否成功的信息。
登錄流程圖如下所示。
圖5-1登錄流程圖
系統(tǒng)登錄界面如下所示。
圖5-2系統(tǒng)登錄界面
登錄代碼如下:
/**
* 登錄
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[執(zhí)行登錄接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "賬號或密碼不能為空");
}
if (resultList == null || password == null) {
return error(30000, "賬號或密碼不能為空");
}
//判斷是否有這個用戶
if (resultList.size()<=0){
return error(30000,"用戶不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用戶組不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查詢用戶審核狀態(tài)
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用戶不存在");
}
if (!res.equals("已通過")){
return error(30000,"該用戶審核未通過");
}
}
//查詢用戶狀態(tài)
if (byUsername.getState()!=1){
return error(30000,"用戶非可用狀態(tài),不能登錄");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存儲Token到數(shù)據(jù)庫
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用戶信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "賬號或密碼不正確");
}
}
- 用戶子系統(tǒng)模塊的實(shí)現(xiàn)
- 用戶首頁模塊
系統(tǒng)呈現(xiàn)出一種簡潔大方的首頁:界面簡約、鱗次櫛比,用戶能輕車熟路的使用。出于對系統(tǒng)使用群體廣泛的顧慮,應(yīng)有良好性能的后臺。在系統(tǒng)時間顯示上編寫javascript腳本在導(dǎo)航欄顯示系統(tǒng)的當(dāng)前日期,首先定義一個數(shù)組d存放周一至周日,創(chuàng)建一個獲取時間的對象time后通過該對象的方法獲取年月日,(time.getDay())%7計(jì)算得到的結(jié)果是數(shù)組的下標(biāo),通過數(shù)組下標(biāo)就獲取了數(shù)組的值,利用字符竄連接把年月日和星期轉(zhuǎn)換成字符竄,通過document.getElementById("date")獲取標(biāo)簽后使用innerHTML把該字符串顯示在jsp頁面。
如下圖所示為系統(tǒng)的首頁界面。
圖5-3系統(tǒng)首頁界面
系統(tǒng)首頁代碼如下:
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
- 托養(yǎng)服務(wù)模塊模塊
托養(yǎng)服務(wù)頁面可查看用戶、老人姓名、老人性別、出生日期、老人年齡、床位狀態(tài)、服務(wù)狀態(tài)等內(nèi)容可根據(jù)需要進(jìn)行編輯、修改或刪除等操作。
托養(yǎng)服務(wù)界面如圖所示。
圖5-4托養(yǎng)服務(wù)界面
托養(yǎng)服務(wù)如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
@Transactional
public void delete(Map<String,String> query,Map<String,String> config){
StringBuffer sql = new StringBuffer("DELETE FROM ").append("`").append(table).append("`").append(" ");
sql.append(toWhereSql(query, "0".equals(config.get(FindConfig.GROUP_BY))));
log.info("[{}] - 刪除操作:{}",table,sql);
Query query1 = runCountSql(sql.toString());
query1.executeUpdate();
}
- 管理員子系統(tǒng)模塊的實(shí)現(xiàn)
5.3.1個人資料模塊
用戶點(diǎn)擊登錄填寫賬號信息登錄后,當(dāng)用戶登錄成功后會將個人信息保存在session作用域中,點(diǎn)擊自己的用戶名時,會跳轉(zhuǎn)到個人詳細(xì)信息頁面,由后臺通過Freemarker取出session作用域中的用戶信息進(jìn)行動態(tài)渲染,例如,郵箱、電話號碼、用戶名等等。同時頁面上會顯示修改個人信息和修改密碼的按鈕,這時客戶可以修改自己的登錄密碼以保障賬號的安全性,防止被人竊取賬號,通過UserController.java的updatePassword()實(shí)現(xiàn),同時也可以根據(jù)自己的個人信息是否變動做出相應(yīng)的修改,通過updateUserInfo()實(shí)現(xiàn)。
密碼修改流程圖如下所示。
圖5-5密碼修改流程圖
密碼修改流程圖如下所示
圖5-6密碼修改界面圖
密碼修改代碼如下:
/**
* 修改密碼
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根據(jù)Token獲取UserId
String token = request.getHeader("x-auth-token");
Integer userId = tokenGetUserId(token);
// 根據(jù)UserId和舊密碼獲取用戶
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
Query ret = service.count(query, service.readConfig(request));
List list = ret.getResultList();
Object s = list.get(0);
int count = Integer.parseInt(list.get(0).toString());
if(count > 0){
// 修改密碼
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密碼修改失敗!");
}
5.3.2老人信息管理模塊
添加老人信息時,輸入必填字段后,表現(xiàn)層的LaorenController接受傳過來的老人信息參數(shù),再調(diào)用LaorenController類的addLaoren方法,經(jīng)過LaorenService業(yè)務(wù)層到LaorenMapper持久層的處理,完成對整個添加老人信息的操作。addLaoren方法也和用戶管理中的addUser方法類似,同時做添加和修改工作。
修改老人信息時,選擇需要修改的老人進(jìn)行修改,調(diào)用LaorenController控制器的editLaoren方法,拿到該老人原本的信息并顯示到頁面,管理員再對需要修改的老人信息字段進(jìn)行修改,完成后調(diào)用addLaoren方法,調(diào)用業(yè)務(wù)層的updateByKey方法,更新數(shù)據(jù)庫的老人信息表的數(shù)據(jù)。
老人管理界面如下所示。
圖5-7老人管理流程圖
老人信息添加界面如下圖所示。
圖5-8老人添加界面
老人添加代碼如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder("");
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
StringBuffer sql = new StringBuffer("INSERT INTO ");
sql.append("`").append(table).append("`").append(" (");
for (Map.Entry<String,Object> entry:body.entrySet()){
sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
}
sql.deleteCharAt(sql.length()-1);
sql.append(") VALUES (");
for (Map.Entry<String,Object> entry:body.entrySet()){
Object value = entry.getValue();
if (value instanceof String){
sql.append("'").append(entry.getValue()).append("'").append(",");
}else {
sql.append(entry.getValue()).append(",");
}
}
sql.deleteCharAt(sql.length() - 1);
sql.append(")");
log.info("[{}] - 插入操作:{}",table,sql);
Query query = runCountSql(sql.toString());
query.executeUpdate();
}
5.3.3用戶管理模塊
刪除用戶時,選擇需要刪除的用戶進(jìn)行刪除,把主鍵的uId傳到Y(jié)ihurenyuanController控制器,再調(diào)用控制器的deleteYihurenyuan方法,數(shù)據(jù)經(jīng)過YihurenyuanService業(yè)務(wù)層解析和處理,請求YihurenyuanMapper持久層調(diào)用deleteByPrimaryKey方法操作數(shù)據(jù)庫將用戶數(shù)據(jù)從數(shù)據(jù)庫中刪除。
查找用戶時,輸入需要查找的用戶名,調(diào)用getData方法獲取所有數(shù)據(jù)并且進(jìn)行分頁,把獲取到的所有數(shù)據(jù)顯示到視圖上,這時候只需要用腳本方法便能快速查找,不涉及對數(shù)據(jù)庫操作。
用戶管理流程圖如下所示。
圖5-9用戶管理流程圖
用戶添加界面如下圖所示。
圖5-10用戶添加界面
- 系統(tǒng)測試
- 測試目的
在對該系統(tǒng)進(jìn)行完詳細(xì)設(shè)計(jì)和編碼之后,就要對養(yǎng)老院信息管理系統(tǒng)的程序進(jìn)行測試,檢測程序是否運(yùn)行無誤,反復(fù)進(jìn)行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實(shí)現(xiàn)預(yù)期的功能。
- 測試過程
在軟件的測試過程中,通常測試人員需要針對不同的功能模塊設(shè)計(jì)多種測試用例。通過測試用例能夠及時發(fā)現(xiàn)代碼業(yè)務(wù)邏輯上是否與真實(shí)的業(yè)務(wù)邏輯相對應(yīng),及時發(fā)現(xiàn)代碼上或邏輯上的缺陷,以此來來完善系統(tǒng),提高軟件產(chǎn)品的質(zhì)量,使軟件具有良好的用戶體驗(yàn)。
注冊測試用例表如下所示。
表6-1注冊測試用例
測試性能 | 新用戶注冊 | ||
用例目的 | 測試系統(tǒng)新用戶個人信息注冊功能的功能和安全性 | ||
前提條件 | 進(jìn)入注冊頁面填寫個人信息 | ||
輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
各項(xiàng)基本信息輸入不完整 | 不允許注冊,無法點(diǎn)擊注冊按鈕 | 一致 | |
填寫已存在的用戶名 | 系統(tǒng)顯示出提示信息,要求重新填寫 | 一致 | |
兩次密碼輸入不一致 | 系統(tǒng)顯示出提示信息,要求重新填寫 | 一致 | |
填寫的各項(xiàng)信息沒有符合提示的長度和字符要求 | 系統(tǒng)顯示出提示信息,要求重新填寫 | 一致 | |
胡亂填寫電話號碼 | 收不到驗(yàn)證碼 | 一致 | |
填寫驗(yàn)證碼與收到的不一致 | 系統(tǒng)顯示提示信息告知用戶驗(yàn)證碼錯誤,不予注冊 | 一致 | |
登錄測試用例表如下所示。
表6-2登錄測試用例
測試性能 | 用戶或操作員登錄系統(tǒng) | ||
用例目的 | 測試用戶或操作員登錄系統(tǒng)時功能是否正常 | ||
前提條件 | 進(jìn)入用戶登錄頁面或操作員登錄頁面 | ||
輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
各項(xiàng)信息不予填寫,直接點(diǎn)擊登陸按鈕 | 不允許登錄,提示填寫賬號相關(guān)信息 | 一致 | |
填寫錯誤的登錄名或密碼后點(diǎn)擊登錄系統(tǒng) | 提示用戶名或密碼錯誤,要求重新填寫進(jìn)行登錄 | 一致 | |
填寫與驗(yàn)證碼信息不一致的信息 | 系統(tǒng)顯示出提示信息,表明驗(yàn)證碼錯誤,要求重新填寫 | 一致 | |
老人管理測試用例表如下所示。
表6-3老人管理測試用例
測試性能 | 老人相關(guān)信息管理功能 | ||
用例目的 | 測試系統(tǒng)后臺操作員對老人相關(guān)信息進(jìn)行管理的功能是否正常 | ||
前提條件 | 登錄系統(tǒng)后臺進(jìn)入相關(guān)管理頁面 | ||
輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
普通操作員登錄,點(diǎn)擊進(jìn)入老人相關(guān)信息管理的頁面 | 提示非超級用戶,權(quán)限不夠,無法進(jìn)入相關(guān)頁面 | 一致 | |
超級操作員登入,刪除某個已被賬單的老人 | 提示該老人刪除失敗 | 一致 | |
點(diǎn)擊增加老人按鈕 | 頁面正常跳轉(zhuǎn) | 一致 | |
增加老人是,填寫已存在的老人編號 | 提示該編號已存在 | 一致 | |
- 測試結(jié)果
經(jīng)過對此系統(tǒng)的測試,得出該系統(tǒng)足以滿足用戶日常需求,在功能項(xiàng)目和操作等方面也能滿足操作員對于其他用戶的管理。但是,還有很多功能有待添加,這個系統(tǒng)僅能滿足大部分的需求,還需要對此系統(tǒng)的功能更進(jìn)一步的完善,這樣使用起來才能更加的完美。
- 總結(jié)與展望
通過養(yǎng)老院信息管理系統(tǒng)的開發(fā),本人鞏固了之前學(xué)過的知識,如今將平時所學(xué)到的知識融合在設(shè)計(jì)中,在設(shè)計(jì)過程中,做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)過程中,尤其是在數(shù)據(jù)庫的工作原理、工作特點(diǎn),對其深刻的討論,與此同時,對于小型站點(diǎn)來說,最好服務(wù)器的選擇,其次,利用所學(xué)的知識點(diǎn)分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)。
目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用戶所需,試運(yùn)行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對系統(tǒng)進(jìn)行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據(jù)庫備份為每周備份一次,系統(tǒng)部署在租賃的云平臺服務(wù)器中。
本次系統(tǒng)上線成功后,得到了用戶的高度認(rèn)可,但是在功能上和性能上還需做進(jìn)一步的研究處理,使其有更高的性能和更好的用戶體驗(yàn)。
系統(tǒng)在以后的升級過程中,需要解決一系列用戶所提出的問題,例如打印過程中如何避免瀏覽器的兼容性問題,大量用戶訪問時,如何保持較高的響應(yīng)速度,在系統(tǒng)今后的升級過程中將著重解決這些安全性問題。
參考文獻(xiàn)
[1]單樹倩,任佳勛.基于springboot和Vue框架的數(shù)據(jù)庫原理網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.
[2]肖守淵,朱紅. 鄉(xiāng)鎮(zhèn)養(yǎng)老院如何做好醫(yī)養(yǎng)結(jié)合服務(wù)[N]. 中國人口報(bào),2021-06-23(003).DOI:10.28125/n.cnki.ncrcb.2021.001444.
[3]余明巖. 陜西石泉縣養(yǎng)老院老年體育健身需求與服務(wù)供給研究[D].云南師范大學(xué),2021.DOI:10.27459/d.cnki.gynfc.2021.000682.
[4]彭霞. 小組工作介入農(nóng)村養(yǎng)老院特困老人精神贍養(yǎng)的應(yīng)用研究[D].蘭州大學(xué),2021.DOI:10.27204/d.cnki.glzhu.2021.001778.
[5]江西永新縣:提升鄉(xiāng)鎮(zhèn)養(yǎng)老院建設(shè)管理水平[J].社會福利,2021(03):59-60.
[6]臧夢璐.地方“兩會”亮點(diǎn)之三 進(jìn)一步理順農(nóng)村養(yǎng)老院機(jī)構(gòu)設(shè)置和管理體制——專訪江蘇省人大代表、淮安廣濟(jì)醫(yī)藥連鎖有限公司董事長 朱華林[J].光彩,2021(02):26-27.
[7]王志文.關(guān)于加強(qiáng)農(nóng)村養(yǎng)老院監(jiān)督的調(diào)查與思考[J].廉政瞭望,2020(14):82-83.
[8]朱婷. 鄉(xiāng)鎮(zhèn)政府在養(yǎng)老院養(yǎng)老服務(wù)供給中的責(zé)任分析[D].南京理工大學(xué),2020.
[9]Minmin He,Shengli Lv. Research on Civil Aircraft Structural Strength Material Performance Database Based on springboot[C]//Proceedings of 2020 4th International Conference on Electrical,Automation and Mechanical Engineering(EAME2020).Proceedings of 2020 4th International Conference on Electrical,2020:1062-1067.DOI:10.26914/c.cnkihy.2020.057541.
[10]厲麗. 農(nóng)村養(yǎng)老院公辦民營改革困境及其對策研究[D].云南師范大學(xué),2020.DOI:10.27459/d.cnki.gynfc.2020.000945.
[11]李蓓. 農(nóng)村五保戶老人養(yǎng)老院生活適應(yīng)研究[D].蘭州大學(xué),2020.DOI:10.27204/d.cnki.glzhu.2020.001941.
[12]大埔縣人民政府辦公室關(guān)于對全縣鄉(xiāng)鎮(zhèn)養(yǎng)老院管理現(xiàn)狀情況的通報(bào)[J].梅州市人民政府公報(bào),2020(05):27-32.
[13]韓振秋,陳乃筍.山東肥城市:“四個到位”確保農(nóng)村養(yǎng)老院建設(shè)管理水平提升[J].社會福利,2020(03):36.
[14]路興華.農(nóng)村養(yǎng)老院公建民營的困境及對策——基于安徽安慶市農(nóng)村養(yǎng)老院的調(diào)查[J].社會福利,2019(11):37-38.
[15]Kan Ji,Xiaojun Chen,Aoming Qin,Jia Liu,Jinmei Wu. Design and Implementation of Teaching Quality Evaluation System Based on springboot[C]//第七屆計(jì)算與信息科學(xué)國際學(xué)術(shù)會議論文集.,2019:444-452.
[16]孫似錦,楊飛,陳小紅,彭明俊,肖麗娜.銅仁市農(nóng)村養(yǎng)老院發(fā)展現(xiàn)狀、困境及對策研究[J].勞動保障世界,2019(27):63-65+68.
[17] 民政部養(yǎng)老服務(wù)司負(fù)責(zé)同志就特困人員供養(yǎng)服務(wù)設(shè)施(養(yǎng)老院)改造提升和加強(qiáng)管理有關(guān)問題答記者問[N]. 中國老年報(bào),2019-09-17(002).DOI:10.28108/n.cnki.nclnb.2019.000558.
[18]田固.通力合作 多措并舉 著力提升農(nóng)村養(yǎng)老院兜底保障能力——解讀民政部等四部門《關(guān)于實(shí)施特困人員供養(yǎng)服務(wù)設(shè)施(養(yǎng)老院)改造提升工程的意見》和《關(guān)于進(jìn)一步加強(qiáng)特困人員供養(yǎng)服務(wù)設(shè)施(養(yǎng)老院)管理有關(guān)工作的通知》[J].社會福利,2019(09):18-20.
[19]陸彬. 農(nóng)村養(yǎng)老院特困老人精神贍養(yǎng)的社會支持網(wǎng)絡(luò)建構(gòu)研究[D].揚(yáng)州大學(xué),2019.DOI:10.27441/d.cnki.gyzdu.2019.000390.
[20]甘滿堂,馮璐,蕭開通.社區(qū)互助養(yǎng)老與村辦養(yǎng)老院可持續(xù)運(yùn)營——以福建省晉江市蕭下村養(yǎng)老院為例[J].重慶工商大學(xué)學(xué)報(bào)(社會科學(xué)版),2020,37(01):99-105.
致謝
伴隨著設(shè)計(jì)的完成,大學(xué)生涯也隨之即將結(jié)束。大學(xué)期間是我最珍惜的時光,大學(xué)時光中學(xué)會了很多,也成長了很多,這段時光中每一段回憶都刻在腦海中。感謝一起學(xué)習(xí),一起成長同學(xué)們,和成長過程悉心教導(dǎo)的老師們,非常感激有你們的陪伴。
首先感謝我的指導(dǎo)老師,設(shè)計(jì)的完成離不開老師的一系列指導(dǎo)。在畢業(yè)設(shè)計(jì)的完成過程中,老師給出了很多中肯的建議,正是由于老師一絲不茍的工作態(tài)度,我的設(shè)計(jì)才能順利的完成。
最后,感謝在大學(xué)生涯中每一位教導(dǎo)我的老師,是你們教給了我豐富的知識,更教會了我遇到問題時,如何去應(yīng)對并解決。謝謝你們的幫助與支持。
免費(fèi)領(lǐng)取項(xiàng)目源碼,請關(guān)注點(diǎn)贊+私聊
總結(jié)
以上是生活随笔為你收集整理的(附源码)spring boot养老院系统 645488的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Java毕业设计药房药品采购集中管理
- 下一篇: 品高脚踏移动警务云而来 引领公安行业云化