项目介绍
本项目有多种角色,包含管理员、用户、护士、服务前台等角色。由于篇幅限制,只截图了管理员角色的功能。
管理员角色主要功能包括:
入院,出院管理,医生管理,药品管理,结算中心,用户管理,日志管理等的功能。
用户角色主要功能如下:
结算中心:缴费记录、费用查询;
护理中心:录入体征数据、体征数据查询、住院历史、用药历史;
护士角色主要功能如下:
入院管理:住院查询;
出院管理:出院查询;
结算中心:缴费记录、费用查询;
护理中心:录入体征数据、体征数据查询、用药历史;
统计中心:病人统计、病房统计;
药品管理:药品发放;
服务前台角色主要功能如下:
入院管理:入院登记、住院查询;
出院管理:出院登记、出院查询、转院/病房;
结算中心:费用预缴、缴费记录、费用查询;
统计中心:病人统计、病房统计;
药品管理:库存查询;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;
技术栈
1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+CSS+JavaScript+jquery+bootstrap
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
用户管理控制层:
@RestController
@RequestMapping(value = "/user")
@Api(tags = "用户管理API")
public class UserController {
@Autowired
private IUserService iUserService;
/**
* 登录验证
*
* @param reqVO
* @param model
* @return
*/
@RequestMapping(value = "/dologin", method = RequestMethod.POST)
public BaseResponse<String> doLogin(@RequestBody @Validated UserLoginReqVO reqVO, Model model) {
return iUserService.doLogin(reqVO);
}
/**
* 保存用户注册信息,向用户发送激活链接
*
* @param reqVO
* @return
*/
@RequestMapping(value = "/doregister", method = RequestMethod.POST)
public BaseResponse<String> registered(@RequestBody @Validated UserRegisterReqVO reqVO, Model model) {
return iUserService.saveUserAndSendEmail(reqVO);
}
/**
* 获取登录日志
*
* @param reqVO
* @return
*/
@RequestMapping(value = "/getLoginfor",method = RequestMethod.GET)
public PageRspVO<LoginInforRspVO> getLoginfor(BasePageReqVO reqVO) {
return iUserService.getLoginfor(reqVO);
}
/**
* 修改密码
*
* @param reqVO
* @return
*/
@PostMapping(value = "/changePassword")
public BaseResponse<String> changePassword(@RequestBody @Validated ChangePasswordReqVO reqVO) {
return iUserService.changePassword(reqVO);
}
/**
* 个人资料设置
*
* @return
*/
@PostMapping(value = "/getUserInfo")
public List<UserInfoVO> getUserInfo() {
return iUserService.getUserInfo();
}
@PostMapping(value = "/changeUserInfo")
public BaseResponse<String> changeUserInfo(@RequestBody @Validated UserInfoVO reqVO) {
return iUserService.changeUserInfo(reqVO);
}
@PostMapping(value = "/getAnnContent")
public AnnRspVO getAnnContent(@RequestParam String id) {
return iUserService.getAnnContent(id);
}
@PostMapping(value = "/addAnotherRole")
public BaseResponse<String> addAnotherRole(@RequestBody @Validated AccountRoleVO reqVO) {
return iUserService.addAnotherRole(reqVO);
}
/**
* 获取所有角色
* @param
* @return
*/
@PostMapping(value = "/getAllRole")
public List<GetAllRoleRspVO> getAllRole() {
return iUserService.getAllRole();
}
}
药品管理控制层:
@RestController
@RequestMapping(value = "/drugstore")
@Api(tags = "药品管理API")
public class DrugStoreController {
@Autowired
private IDrugStoreService iDrugStoreService;
/**
* 新增药品
*
* @param reqVO
* @return
*/
@PostMapping(value = "/addNewDrug")
public BaseResponse<String> addNewDrug(@RequestBody @Validated DrugReqVO reqVO) {
return iDrugStoreService.addNewDrug(reqVO);
}
/**
* 新增剂型
*
* @param drugType
* @return
*/
@PostMapping(value = "/addDrugType")
public BaseResponse<String> addDrugType(@RequestParam String drugType) {
return iDrugStoreService.addDrugType(drugType);
}
/**
* 新增功效分类
*
* @param efficacyClassification
* @return
*/
@PostMapping(value = "/addEfficacyClassification")
public BaseResponse<String> addEfficacyClassification(@RequestParam String efficacyClassification) {
return iDrugStoreService.addEfficacyClassification(efficacyClassification);
}
/**
* 获取所有剂型
*
* @return
*/
@PostMapping(value = "/getAllDrugType")
public List<String> getAllDrugType() {
return iDrugStoreService.getAllDrugType();
}
/**
* 获取所有功效
*
* @return
*/
@PostMapping(value = "/getAllEfficacyClassification")
public List<String> getAllEfficacyClassification() {
return iDrugStoreService.getAllEfficacyClassification();
}
/**
* 获取药品信息
*
* @param drug
* @return
*/
@PostMapping(value = "/getDrugInfor")
public DrugRspVO getDrugInfor(@RequestParam String drug) {
return iDrugStoreService.getDrugInfor(drug);
}
/**
* 已有药品入库
*
* @param drug
* @param addStorageQuantity
* @return
*/
@PostMapping(value = "/addStorageQuantity")
public BaseResponse<String> addStorageQuantity(@RequestParam String drug, @RequestParam String addStorageQuantity) {
return iDrugStoreService.addStorageQuantity(drug, addStorageQuantity);
}
/**
* 查询药品
*
* @param reqVO
* @return
*/
@GetMapping(value = "/getAllDrug")
public PageRspVO<DrugRspVO> getAllDrug(DrugSearchReqVO reqVO) {
return iDrugStoreService.getAllDrug(reqVO);
}
/**
* 修改药品信息
*
* @param reqVO
* @return
*/
@PostMapping(value = "/updateDrug")
public BaseResponse<String> updateDrug(@RequestBody @Validated DrugReqVO reqVO) {
return iDrugStoreService.updateDrug(reqVO);
}
/**
* 删除药品
*
* @param drugName
* @return
*/
@PostMapping(value = "/deleteDrug")
public BaseResponse<String> deleteDrug(@RequestParam String drugName) {
return iDrugStoreService.deleteDrug(drugName);
}
}
收费管理控制层:
@RestController
@RequestMapping(value = "/toll")
@Api(tags = "收费管理API")
public class TollController {
@Autowired
private ITollService iTollService;
@PostMapping(value = "/getCardIdInfor")
public cardRspVO getCardIdInfor() {
return iTollService.getCardIdInfor();
}
/**
* 获取病历信息
*
* @param cardId
* @param tollStatus
* @return
*/
@GetMapping(value = "/getAllMedicalRecord")
public BaseResponse<List<TollRspVO>> getAllMedicalRecord(@RequestParam String cardId,
@RequestParam String tollStatus) {
return iTollService.getAllMedicalRecord(cardId, tollStatus);
}
/**
* 获取处方笺信息
*
* @param cardId
* @param registerId
* @return
* @throws Exception
*/
@PostMapping(value = "/getMedicalRecord")
public TollMedicalRecordRspVO getMedicalRecord(@RequestParam String cardId,
@RequestParam String registerId) throws Exception {
return iTollService.getMedicalRecord(cardId, registerId);
}
/**
* 划价收费完成,保存信息
*
* @param reqVO
* @return
*/
@PostMapping(value = "/saveTollInfo")
public BaseResponse<String> saveTollInfo(@RequestBody @Validated SaveTollInfoReqVO reqVO) {
return iTollService.saveTollInfo(reqVO);
}
@PostMapping(value = "getexaminationtollinfo")
@ApiOperation(value = "获取体检收费信息", httpMethod = "POST", notes = "获取体检收费信息")
@ApiImplicitParam(name = "reqVO",value = "获取体检收费信息", dataType = "GetCardIdInforReqVO")
private BaseResponse<GetExaminationTollInfoRspVO> getExaminationTollInfo(@RequestBody GetCardIdInforReqVO reqVO){
return iTollService.getExaminationTollInfo(reqVO);
}
@PostMapping(value = "saveexaminationtollinfo")
@ApiOperation(value = "保存体检收费记录", httpMethod = "POST", notes = "保存体检收费记录")
private BaseResponse<String> saveExaminationTollInfo(@RequestParam String registerId){
return iTollService.saveExaminationTollInfo(registerId);
}
}