項(xiàng)目描述
臨近學(xué)期結(jié)束,還是畢業(yè)設(shè)計(jì),你還在做java程序網(wǎng)絡(luò)編程,期末作業(yè),老師的作業(yè)要求覺得大了嗎?不知道畢業(yè)設(shè)計(jì)該怎么辦?網(wǎng)頁功能的數(shù)量是否太多?沒有合適的類型或系統(tǒng)?等等。這里根據(jù)疫情當(dāng)下,你想解決的問題,今天給大家介紹一篇基于SSM的醫(yī)院醫(yī)療管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
功能需求
通過分析和了解了目前社會(huì)醫(yī)療體系的整體狀況和存在的問題,為了提高人們醫(yī)療救護(hù)效率,解決看病困難和醫(yī)院的規(guī)范化管理問題,本文設(shè)計(jì)了醫(yī)院醫(yī)療管理系統(tǒng),該系統(tǒng)充分運(yùn)用MIS(Management Information System,MIS)的總體思想[5],綜合應(yīng)用了JSP、HTML、MYSQL等技術(shù),從整體設(shè)計(jì)軟件結(jié)構(gòu),按業(yè)務(wù)劃分系統(tǒng)模塊菜單和用戶角色以及各個(gè)模塊之間的關(guān)系,從抽象的層面去理解和分析系統(tǒng)的目的和實(shí)現(xiàn)的價(jià)值并設(shè)計(jì)出模塊功能和具體代碼實(shí)現(xiàn)的思路方法,在這過程中充分地考慮到系統(tǒng)的開發(fā)成本以及后期系統(tǒng)維護(hù)和二次開發(fā)的便捷,注重系統(tǒng)的實(shí)用性和質(zhì)量,達(dá)到醫(yī)療的高要求、高標(biāo)準(zhǔn),實(shí)現(xiàn)了醫(yī)院對藥品、用戶、病人體征數(shù)據(jù)等信息的在線管理等功能。
具備以下功能:
本醫(yī)療系統(tǒng)通過分析和確定系統(tǒng)的角色和功能劃分,按照業(yè)務(wù)合理區(qū)分為不同的菜單功能模塊。從求醫(yī)患者和醫(yī)院相關(guān)管理人員的角度出發(fā),對每個(gè)功能的需求實(shí)現(xiàn)點(diǎn)進(jìn)行人性化詳細(xì)的構(gòu)思,對每個(gè)功能的細(xì)節(jié)點(diǎn)進(jìn)行分析設(shè)計(jì)整合完成整個(gè)醫(yī)療系統(tǒng)的設(shè)計(jì)[9]。
系統(tǒng)患者用戶功能模塊:即登錄功能、結(jié)算中心、護(hù)理中心、修改密碼、退出系統(tǒng)。
醫(yī)生功能模塊:藥品發(fā)放管理、病人管理、護(hù)理中心模塊、出入院管理及個(gè)人信息修改等。
醫(yī)院前臺功能模塊:出入院管理、結(jié)算中心、藥品管理、統(tǒng)計(jì)中心、修改信息等。
系統(tǒng)管理員功能模塊:病人掛號入院、病房管理、結(jié)算中心、統(tǒng)計(jì)管理、藥品管理、用戶管理、醫(yī)務(wù)人員管理以及系統(tǒng)配置等。
系統(tǒng)總體設(shè)計(jì)
部分效果圖
數(shù)據(jù)庫設(shè)計(jì)
系統(tǒng)中用到了21張表,針對每個(gè)表都進(jìn)行了設(shè)計(jì),下面對部分核心表進(jìn)行匯總羅列展示
用戶數(shù)據(jù)表
病房數(shù)據(jù)表
繳費(fèi)信息表患者信息數(shù)據(jù)表
藥品信息數(shù)據(jù)表
部分代碼
@RequestMapping(value = "/drugsSave.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String drugsSave(HttpServletRequest request) throws ParseException {
Drugs drugs = new Drugs();
String drugsId = request.getParameter("drugsId");
drugs.setDrugsid(drugsId);
String name = request.getParameter("drugsName");
drugs.setName(name);
String creatTime = request.getParameter("inTime");
drugs.setCreateTime(BaseUtils.toDate(creatTime));
String manufacturer = request.getParameter("manufacturer");
drugs.setManufacturer(manufacturer);
Integer addNum = Integer.parseInt(request.getParameter("num"));
drugs.setAddNum(addNum);
Float price = Float.parseFloat(request.getParameter("price"));
drugs.setPrice(price);
String productionTime = request.getParameter("productionTime");
drugs.setProduction_time(BaseUtils.toDate(productionTime));
String supply = request.getParameter("supply");
drugs.setSupply(supply);
// 判斷是否有空
String years = request.getParameter("year");
String days = request.getParameter("day");
String mouths = request.getParameter("mouth");
drugs.setValidityYear(BaseUtils.toIntegers(years));
drugs.setValidityDay(BaseUtils.toIntegers(days));
drugs.setValidityMouth(BaseUtils.toIntegers(mouths));
// 根據(jù)保質(zhì)期的年 月 日來計(jì)算出準(zhǔn)確的到期日
// 計(jì)算天數(shù)
Integer addDays = drugs.getValidityYear() * 365 + drugs.getValidityMouth() * 30 + drugs.getValidityDay();
// 得到到期日
Date newDate = BaseUtils.toAddDate(drugs.getProduction_time(), addDays);
drugs.setVilidityTime(newDate);
// 執(zhí)行增加操作
drugsService.DrugsSave(drugs);
// 增加其庫存數(shù)量,判斷庫存中是否有這種藥品
Integer state = drugsService.drugsStockQueryById(drugs.getDrugsid());
if (state == 1) {
// 執(zhí)行更新
drugsService.drugsStockAdd(drugs);
} else if (state == 0) {
// 執(zhí)行插入
drugsService.drugsStockSave(drugs);
log.info("藥品" + drugs.getName() + "入庫");
}
JSON json = JSONSerializer.toJSON(new JsonResult<Drugs>(drugs));
return json.toString();
}
@RequestMapping(value = "/drugsFind.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String drugsFind(HttpServletRequest request) throws ParseException {
DrugsCode drugsCode = new DrugsCode();
String id = BaseUtils.toString(request.getParameter("drugsId"));
String name = BaseUtils.toString(request.getParameter("drugsName"));
if (!(id == null || "".equals(id))) {
drugsCode.setId(id);
}
if (!(name == null || "".equals(name))) {
drugsCode.setName(name);
}
drugsCode.setRkStart(BaseUtils.toDate(request.getParameter("rkStartTime")));
drugsCode.setRkEnd(BaseUtils.toDate(request.getParameter("rkEndTime")));
drugsCode.setBzStart(BaseUtils.toDate(request.getParameter("bzStartTime")));
drugsCode.setBzEnd(BaseUtils.toDate(request.getParameter("bzEndTime")));
List<Drugs> list = drugsService.drugsFind(drugsCode);
log.info("藥品查詢");
JsonConfig jc = new JsonConfig();
jc.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor("yyyy-MM-dd"));
JSON json = JSONSerializer.toJSON(new JsonResult<List<Drugs>>(list), jc);
return json.toString();
}
@RequestMapping(value = "/stockQuery.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String stockQuery(HttpServletRequest request) {
String drugId = BaseUtils.toString(request.getParameter("drugsId"));
String name = BaseUtils.toString(request.getParameter("drugsName"));
DrugsCode drugsCode = new DrugsCode();
drugsCode.setId(drugId);
drugsCode.setName(name);
List<Stock> list = drugsService.stockQuery(drugsCode);
log.info("庫存查詢");
JSON json = JSONSerializer.toJSON(new JsonResult<List<Stock>>(list));
return json.toString();
}
@RequestMapping(value = "/grantAdd.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String grantAdd(HttpServletRequest request) throws UnsupportedEncodingException {
Grant grant = new Grant();
grant.setDrugId(BaseUtils.toString(request.getParameter("drugsId")));
grant.setDrugName(BaseUtils.toString(request.getParameter("drugsName")));
grant.setDrugPrice(BaseUtils.toFloat(request.getParameter("price")));
grant.setDrugCount(BaseUtils.toInteger(request.getParameter("num")));
grant.setPatientId(BaseUtils.toString(request.getParameter("patientId")));
grant.setPatientName(BaseUtils.toString(request.getParameter("patientName")));
grant.setGrantUserId(BaseUtils.getUser(request).getId());
grant.setGrantUserName(BaseUtils.getUser(request).getName());
// 存入發(fā)放表grantDrug
drugsService.grantAdd(grant);
log.info("醫(yī)生" + grant.getGrantUserName() + "為患者" + grant.getPatientName() + "發(fā)放了" + grant.getDrugName() + ",數(shù)量為"
+ grant.getDrugCount());
// 減少庫存的量
drugsService.stockUpdate(grant);
log.info("更新庫存");
JSON json = JSONSerializer.toJSON(new JsonResult<Grant>(grant));
return json.toString();
}
@RequestMapping(value = "/grantQuery.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String grantQuery(@Param("patientId") String patientId) {
List<Stock> list = drugsService.grantQuery(patientId);
log.info("患者" + patientId + "查詢了用藥歷史");
JSON json = JSONSerializer.toJSON(new JsonResult<List<Stock>>(list));
return json.toString();
}
@RequestMapping(value = "/grantDrugsFindByPatienId.do", produces = "application/json;charset=utf-8")
@ResponseBody
public String grantDrugsFindByPatienId(HttpServletRequest request) throws ParseException {
String patientId = BaseUtils.toString(request.getParameter("patientId"));
List<grantDrugs> list = grantdrugsService.grantDrugsFindByPatienId(patientId);
System.out.println("返回結(jié)果:" + list);
JSON json = JSONSerializer.toJSON(new JsonResult<List<grantDrugs>>(list));
return json.toString();
}
@RequestMapping(value = "/DrugWithdrawal.do", produces = "application/json;charset=utf-8")
@ResponseBody
public void DrugWithdrawal(@Param("patientId") String patientId, @Param("patientName") String patientName,
@Param("count") Integer count, @Param("drugsId") String drugsId, @Param("reason") String reason,
HttpServletRequest request) {
WithdrawalDrug withdrawalDrug = new WithdrawalDrug();
withdrawalDrug.setPatientId(patientId);
withdrawalDrug.setPatientName(patientName);
withdrawalDrug.setCount(count);
withdrawalDrug.setReason(reason);
withdrawalDrug.setDrugsId(drugsId);
String userId = null;
String userName = null;
try {
userId = BaseUtils.getUser(request).getId();
userName = BaseUtils.getUser(request).getName();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
withdrawalDrug.setUserId(userId);
withdrawalDrug.setUserName(userName);
// 存入退藥表中
drugsService.DrugWithdrawal(withdrawalDrug);
// 增加庫存
Grant grant = new Grant();
grant.setDrugId(drugsId);
grant.setDrugCount(-count);
drugsService.stockUpdate(grant);
}
安裝部署需求
eclipse、idea運(yùn)行啟動(dòng)
系統(tǒng)部署
系統(tǒng)開發(fā)后,在生產(chǎn)環(huán)境配置項(xiàng)目運(yùn)行環(huán)境,具體步驟如下:
安裝linux或者windows10操作系統(tǒng);
安裝JDK1.8并配置環(huán)境變量;
安裝MySQL5.7版本以上版本數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫并執(zhí)行腳本創(chuàng)建表;
在IDEA中編輯進(jìn)行打包;
下載并配置Tomcat8.0服務(wù)器,配置系統(tǒng)服務(wù),上傳項(xiàng)目打包文件
本項(xiàng)目用到的技術(shù)和框架
1.開發(fā)語言:Java
2.開發(fā)模式:B/S
3.數(shù)據(jù)庫:MySQL
4.框架:jsp+SSM
本項(xiàng)目中的關(guān)鍵點(diǎn)
此系統(tǒng)的開發(fā)采用java語言開發(fā),基于B/S結(jié)構(gòu),這些開發(fā)環(huán)境使系統(tǒng)更加完善。使用到的工具和技術(shù)都是開源免費(fèi)的。文章來源:http://www.zghlxwxcb.cn/news/detail-420331.html
環(huán)境工具
開發(fā)工具 Eclipse/IDEA
語言 JDK1.8 、jsp、CSS、SSM
硬件:筆記本電腦;
軟件:Tomcat8.0 Web服務(wù)器、Navicat數(shù)據(jù)庫客戶端、MySQL;
操作系統(tǒng):Windows 10;
其它軟件:截圖工具、常用瀏覽器;
以上是本系統(tǒng)的部分功能展示,如果你的選題正好相符,那么可以做畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-420331.html
到了這里,關(guān)于基于SSM的醫(yī)院醫(yī)療管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!