姜新營口職業(yè)技術學院 遼寧營口 115000
醫(yī)藥資源管理系統(tǒng)的設計與實現(xiàn)
姜新
營口職業(yè)技術學院 遼寧營口 115000
藥品管理系統(tǒng)的設計理念是,讓企業(yè)能夠擁有更高效的管理工具,使企業(yè)在21世紀異常激烈的競爭中脫穎而出。國外的管理系統(tǒng)有許多優(yōu)秀的經(jīng)驗,但是并不完全符合我國的國情,我國的最廣大藥品銷售的企業(yè)是分布在全國各地的中小型銷售企業(yè)。所以,此次開發(fā)的藥品管理系統(tǒng)功能乃是汲取了外國優(yōu)秀管理工具的優(yōu)秀功能,同時又創(chuàng)新了更符合我國用戶需求的功能的一個綜合信息管理系統(tǒng)。藥品管理系統(tǒng)分為五大模塊,分別為系統(tǒng)用戶模塊,職工信息管理模塊,進貨管理模塊,銷售管理模塊,庫存轉(zhuǎn)移管理模塊。該五大功能模塊設計合理,功能全面,同時界面友好,非常符合我國各大小型藥品銷售企業(yè)的管理需求。
資源管理;醫(yī)藥系統(tǒng);醫(yī)藥資源管理系統(tǒng)
當今飛速發(fā)展的時代信息時代。在各行業(yè)中都離不開信息的處理,這正是計算機被廣泛用于信息管理系統(tǒng)的原因。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對于復雜的信息管理,計算機能夠充分的發(fā)揮它的優(yōu)越性。計算機進行信息管理與信息管理系統(tǒng)的開發(fā)密切相關,系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好醫(yī)藥信息而設計的。以前的數(shù)據(jù)處理要用手工操作,工作量大,出錯率高,出錯后也不易更改。而這一款的醫(yī)藥資源管理系統(tǒng)使用起來,效率高,速度快,也方便使用和修改。系統(tǒng)是Windows7操作系統(tǒng)下,以MyEclipse開發(fā)工具,用Mysql為后臺數(shù)據(jù)庫來實現(xiàn)的。一個好的醫(yī)院管理系統(tǒng)首先要能夠輸入和存儲一些基本的數(shù)據(jù)資料,例如本系統(tǒng)中的藥品資料和入庫資料、客戶信息,對于這些資料和數(shù)據(jù)能方便地進行更新、修改和刪除。其次,藥房管理系統(tǒng)要求能夠進行方便的管理。為了方便管理者管理數(shù)據(jù),還要能實現(xiàn)對各種數(shù)據(jù)的統(tǒng)計。
校醫(yī)院主要是面向?qū)W校的學生和教職工,主要是解決他們的患病問題,所以簡化了系統(tǒng)的功能。
2.1 登錄界面
登錄分了權(quán)限設置,分為學生、教師、職工、管理員的角色。不同的角色登錄后所擁有的權(quán)限不同。如學生登陸后有郵件平臺、查看信息、預約的權(quán)限。而系統(tǒng)管理員登錄后擁有,添加學生信息,刪除學生信息,藥品上架與下架的權(quán)限。同時,登錄使用了驗證碼的形式對登錄進行驗證。前段生成了隨機的驗證碼圖片,用戶在輸入框輸入驗證碼后會提交到后臺進行驗證兩者是否一致,如果驗證通過,登陸成功,跳轉(zhuǎn)如果驗證失敗,則提示驗證碼輸入錯誤,要求用戶重新輸入。
2.1 用戶登錄界面圖
2.2 系統(tǒng)首頁界面
首頁顯示了系統(tǒng)前段所有的功能模塊,包括醫(yī)院動態(tài)、醫(yī)院簡介、科室設置、健康園地、就醫(yī)指南、用戶登錄。通過后臺的數(shù)據(jù)添加,刪除、修改。將這些模塊的信息在前端表現(xiàn)出來。
2.3 后臺主體頁面
后臺的主要功能是前端的展示信息進行維護,對用戶的信息進行管理,以及財務報表的管理。管理員登錄時,選擇管理員的身份,輸入用戶名和密碼進行登錄。登錄后就可以對相應的信息進行操作了。后臺的信息主要包括用戶管理模塊、藥房管理、財務管理、信息發(fā)布這幾大塊。管理員對系統(tǒng)的操作包括信息的查看,信息的刪除,信息的修改。
2.4 后臺系統(tǒng)的子模塊
后臺系統(tǒng)的子模塊包括用戶管理模塊、藥房管理、財務管理、信息發(fā)布四大塊。
2.4.1 用戶管理模塊
選擇學生管理時出現(xiàn)學生列表,可以查看學生的信息,對學生信息進行修改操作,以及刪除學生。
添加學生,出現(xiàn)添加頁面,管理員針對學生的信息完成添加,前端采用js進行信息的基本判斷,包括輸入的字段是否為空,輸入的字段是否合法進行基本判斷。如果信息不準確,則不允許將數(shù)據(jù)提交到服務器端。后臺也會對信息的正確性進行一次判斷,如果信息正確,則向數(shù)據(jù)庫插入了一條數(shù)據(jù)。頁面跳轉(zhuǎn)到學生信息列表。提示添加數(shù)據(jù)成功!
2.4.2 藥物管理模塊
藥物管理模塊分為三個小的模塊。庫存查詢、藥品入庫、藥品出庫
庫存查詢描述了藥品的編號、名稱、庫存情況、單價。同時在每一條藥品信息的最后附加了藥品的信息修改,可以修改藥品的庫存情況。
藥品的入庫是添加新的藥品,添加藥品成功后,藥品信息列表也會自動對信息進行更新。
藥品出庫記錄了每一條藥品出庫的信息,包括藥品出庫的出庫單號,出庫藥品名稱,藥品數(shù)量,時間等信息。同時,藥品出庫頁面還支持藥品出庫記錄的查詢。
2.4.3 信息發(fā)布模塊
信息發(fā)布模塊包含醫(yī)院動態(tài)信息、職工生活、教學科研、健康園地、科室管理五大模塊。每一個模塊有信息的添加,信息的添加嵌入了Fkeditor的框架。刪除信息和信息的修改功能。
顯示信息,顯示信息時,會彈出一個新的窗口,對信息的內(nèi)容進行詳細的描述。
3.1 整體思路
第一步:設計原型界面;
第二步:數(shù)據(jù)庫的設計;
第三步:開發(fā)環(huán)境的搭建,SSH框架的搭建;
第四步:針對原型中某一個模塊中的每一個請求寫出對應的struts2方法;
第五步:實現(xiàn)每一個實現(xiàn)了BaseDao的具體方法與數(shù)據(jù)庫進行交互;
第六步:修改原型,調(diào)用相應相應的方法;
第七步:測試。
3.2 原型設計
原型設計主要根據(jù)具體的業(yè)務邏輯設計出相應的靜態(tài)頁面,包括前端的主頁面,后臺的頁面。簡單的交互已經(jīng)完成好,后面根據(jù)設計的具體數(shù)據(jù)庫訪問Dao層進行數(shù)據(jù)交互。
3.3 數(shù)據(jù)庫設計
數(shù)據(jù)庫的設計主要通過設計的原型進行設計,抽象出具體的實體類,然后根據(jù)實體具有的屬性進行表的設計。設計完具體的表后,再根據(jù)實體之間的關聯(lián)建立外鍵約束。
3.4 開發(fā)環(huán)境的搭建
系統(tǒng)采用開發(fā)環(huán)境是:windows7 + MyEclipse8.6 + Mysql 5.1
開發(fā)使用的框架是struts2 + hibernate + spring
首先將需要的jar包導入項目中,然后在web.xml中配置struts2的過濾器.
配置hibernate配置文件,包括driverClass username password url dialect等配置信息,Spring配置文件的配置,Spring主要進行事物的管理。是實體對象的管理容器,將實體類的路徑在Spring配置文件中進行映射,通過反射技術創(chuàng)建對象交給容器管理,使用時,從容器中取出對象使用。
3.5 struts2響應請求
用戶的每一個請求全部交給struts2的具體方法進行執(zhí)行,然后由struts2進行相應的邏輯處理。Struts2調(diào)用daoimpl具體的底層代碼進行數(shù)據(jù)庫操作。例如進行登錄操作時,用戶通過瀏覽器訪問url地址httpL://localhost:8080/hospital/login.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<% response.sendRedirect("goindex.action"); %>
頁面響應請求,跳轉(zhuǎn)到goindex.action,程序會從struts.xml中搜索goindex.action,找到響應的action,調(diào)用它的具體方法。
而indexAction類是spring進行管理的,在applicationContextaction.xml中,根據(jù)類的路徑利用反射完成類的創(chuàng)建。
調(diào)用IndexAction的fontservice方法
}在方法fontservice中,已經(jīng)完成了要顯示數(shù)據(jù)的準備信息,將這些信息全部放入數(shù)據(jù)結(jié)構(gòu)為List的PageModel中。調(diào)用方法完之后,返回字符串SUCCESS,根據(jù)返回的字符串找到相應的url即login2.jsp
3.6 數(shù)據(jù)庫底層Dao的實現(xiàn)
創(chuàng)建一個AbstractCURDManager的接口,接口中定義了一些基礎的方法,例如增加數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù)、查找數(shù)據(jù)public void addObject(Object object);
public PagerModel findAll(int offset, int pagesize);其他操作類繼承自AbstractCURDManager接口,例如:
publ ic cl as s Subje c tNoM a n agerI mpl ex t e nd s AbstractPagerManager implements
SubjectNoManager {
public void addObject(Object object) {}
public void delObject(Object id) {}
public PagerModel findAll(int offset, int pagesize) {}
3.7 修改原型
每一個原型的請求全部交給struts2的Action進行處理,在Action調(diào)用相應的dao,由dao與數(shù)據(jù)庫進行交互。例如,顯示健康信息時,在struts2中調(diào)用dao方法,查詢出數(shù)據(jù),然后將數(shù)據(jù)放到pageModel中,當struts2跳轉(zhuǎn)到相應的顯示頁面的時候,再將放到pageModel中的數(shù)據(jù)全部取出來,在前端顯示。
查找所有健康園地的信息
登錄首頁的時候,頁面報告了異常,jsp頁面不能正常的轉(zhuǎn)換,導致頁面不能正常編譯,通過后臺錯誤信息的提示,是將struts2的標簽書寫錯誤。
添加學生信息時,當輸入學生的某一項為空時,提交頁面時,出現(xiàn)了錯誤,錯誤細節(jié)如下所示:
java.lang.NullPointerException a t c o m.l z.u p l o a d. FileUploadAction.generateFileName(FileUploadAction.java:109)
通過在前端驗證js如果某一項為空,則不允許提交頁面。只有驗證通過了,才允許將將數(shù)據(jù)提交到后臺,這樣避免了某一項為空而出現(xiàn)異常信息。
根據(jù)實際應用需求,在windows7系統(tǒng)下,用java開發(fā)語言、MySql數(shù)據(jù)庫用Struts2、Hibernate、Spring 框架開發(fā)了醫(yī)藥資源管理系統(tǒng)。系統(tǒng)前端可以對校醫(yī)院的基本信息進行展示。如:校園動態(tài)、醫(yī)院簡介、健康園地、教學研究、職工生涯、就醫(yī)指南等;后臺代碼主要對信息進行管理,如用戶的管理、醫(yī)藥價格的管理、醫(yī)藥的出入庫、職工信息、健康園地信息。通過對系統(tǒng)的使用,可以將信息高效的管理系統(tǒng)起來。
[1]天創(chuàng)工作室.網(wǎng)頁制作實戰(zhàn)步步通[M].北京:人民郵電出版社,2009.
[2]陳俊榮,陳惠貞.jsp與網(wǎng)絡數(shù)據(jù)庫技術網(wǎng)[M].北京:中國鐵道出版社,2009.
[3]宋坤,趙智勇等.javaWeb工程應用與項目實踐[M].機械工業(yè)出版社,2009.
[4]屈喜龍,朱杰jsp+MySQL開發(fā)動態(tài)網(wǎng)站實例[M].北京:機械工業(yè)出版社,2010.
[5]宋昆,李嚴等.MySQL數(shù)據(jù)庫開發(fā)實例解析[M].北京:機械工業(yè)出版社,2008
[6]約翰遜.Spring框架高級編程.北京:機械工業(yè)出版社,2011
[7]高紅巖.Struts基于MVC+MyEclipse的Java Web應用開發(fā),2012
[8]孫衛(wèi)琴.精通hibernate 機械工業(yè)出版社,2010
姜新(1981—),女,遼寧營口人,學士,講師,從事計算機教育研究。