源码获取:俺的博客首页 "资源" 里下载!
项目介绍
本项目分为管理员、医生两种角色。
管理员角色包含以下功能:
登录页面,个人信息,修改密码,医生管理(职位管理、科室管理、医生管理)、患者管理(患者管理、患者统计)、患者病历(病历类型、病历管理、已删病历)、系统管理(登录日志)等功能。
医生角色包含以下功能:
登录页面,个人信息,修改密码,患者管理、患者病历(病历管理、已删病历)等功能。
环境需要
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+easyui
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中conf/jdbc.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
管理员管理控制层:
@RestController
@RequestMapping(value = "/admin")
@Api(tags = "管理员操作API")
public class AdminController {
@Autowired
private IAdminService iadminService;
/**
* 新建角色
*
* @param roleVO
* @return
*/
@RequestMapping(value = "/createRole", method = RequestMethod.POST)
public BaseResponse<String> createRole(@RequestBody @Validated RoleVO roleVO) {
return iadminService.createRole(roleVO);
}
/**
* 后台添加账户
*
* @param reqVO
* @return
*/
@RequestMapping(value = "/adduser", method = RequestMethod.POST)
public BaseResponse<String> saveUserAndSendEmailTemp(@RequestBody @Validated UserRegisterReqVO reqVO) {
return iadminService.saveUserAndSendEmailTemp(reqVO);
}
/**
* 后台添加角色
*
* @param addRoleVO
* @return
*/
@RequestMapping(value = "/addRole", method = RequestMethod.POST)
public BaseResponse<String> addRole(@RequestBody @Validated AddRoleVO addRoleVO) {
return iadminService.addRole(addRoleVO);
}
/**
* 获取审核角色
*
* @param
* @return
*/
@GetMapping(value = "/getRoleApply")
public PageRspVO<applyRspVO> getRoleApply(BasePageReqVO reqVO) {
return iadminService.getRoleApply(reqVO);
}
/**
* 修改角色状态
*
* @param status
* @param email
*/
@PostMapping(value = "/changeRoleStatus")
public void changeRoleStatus(@RequestParam String status, @RequestParam String email) {
iadminService.changeRoleStatus(status, email);
}
/**
* 公告
*
* @param reqVO
* @return
*/
@PostMapping(value = "/addAnnouncement")
public BaseResponse<String> addAnnouncement(@RequestBody @Validated AnnouncementVO reqVO) {
return iadminService.addAnnouncement(reqVO);
}
@GetMapping(value = "/getAnnouncement")
public PageRspVO<AnnouncementVO> getAnnouncement(BasePageReqVO reqVO) {
return iadminService.getAnnouncement(reqVO);
}
@PostMapping(value = "/changeAnnouncement")
public BaseResponse<String> changeAnnouncement(@RequestBody @Validated AnnouncementVO announcementVO) {
return iadminService.changeAnnouncement(announcementVO);
}
@PostMapping(value = "/deleteAnnouncement")
public BaseResponse<String> deleteAnnouncement(@RequestParam String id) {
return iadminService.deleteAnnouncement(id);
}
@PostMapping(value = "/showAnnouncement")
public BaseResponse<String> showAnnouncement(@RequestParam String id) {
return iadminService.showAnnouncement(id);
}
@PostMapping(value = "/hiddenAnnouncement")
public BaseResponse<String> hiddenAnnouncement(@RequestParam String id) {
return iadminService.hiddenAnnouncement(id);
}
@PostMapping(value = "/adddepartment")
@ApiOperation(value = "添加科室", httpMethod = "POST", notes = "添加科室")
@ApiImplicitParam(name = "reqVO",value = "添加科室", dataType = "AddDepartmentReqVO")
public BaseResponse<String> addDepartment(@RequestBody @Validated AddDepartmentReqVO reqVO) {
return iadminService.addDepartment(reqVO);
}
@PostMapping(value = "/getDepartment")
@ApiOperation(value = "获取所有科室", httpMethod = "POST", notes = "获取所有科室")
public List<GetDepartmentRspVO> getDepartment() {
return iadminService.getDepartment();
}
}
用户管理控制层:
@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();
}
}
医生管理控制层:
@Controller
@RequestMapping("doctor")
public class DoctorController {
@Autowired
private DoctorService doctorService;
/*
* 查询医生
* */
@RequestMapping("doctorList")
@ResponseBody
public Object doctorList(Doctor doctor, Integer page, Integer limit){
PageHelper.startPage(page, limit);
List<Doctor> listAll = doctorService.doctorList(doctor);
PageInfo pageInfo = new PageInfo(listAll);
Map<String, Object> tableData = new HashMap<String, Object>();
//这是layui要求返回的json数据格式
tableData.put("code", 0);
tableData.put("msg", "");
//将全部数据的条数作为count传给前台(一共多少条)
tableData.put("count", pageInfo.getTotal());
//将分页后的数据返回(每页要显示的数据)
tableData.put("data", pageInfo.getList());
return tableData;
}
/*
* 添加医生
* */
@RequestMapping("addDoctor")
@ResponseBody
public Object addDoctor(Doctor doctor, Paiban paiban){
int count = doctorService.count(doctor);
if(count==0){
int i = doctorService.addDoctor(doctor);
if(i==1){
return "添加成功";
}else{
return "添加失败";
}
}else{
return doctor.getDoctorName()+"已存在";
}
}
/*
* 修改医生
* */
@RequestMapping("editDoctor")
@ResponseBody
public Object editDoctor(Doctor doctor){
int i = doctorService.editDoctor(doctor);
if(i==1){
return "修改成功";
}else{
return "修改失败";
}
}
/*
* 删除医生
* */
@RequestMapping("deleteDoctor")
@ResponseBody
public Object deleteDoctor(Integer doctorId){
int i1 = doctorService.checkCount(doctorId);
if(i1>0){
return "该医生还有病人";
}else{
int i = doctorService.deleteDoctor(doctorId);
if(i==1){
return "删除成功";
}else{
return "删除失败";
}
}
}
/*
* 查询科室
* */
@RequestMapping("findAllDepartments")
@ResponseBody
public Object findAllDepartments(){
List<Departments> allDepartments = doctorService.findAllDepartments();
return allDepartments;
}
/*
* 查询类型
* */
@RequestMapping("findAllRegisteredtype")
@ResponseBody
public Object findAllRegisteredtype(){
List<Registeredtype> allRegisteredtype = doctorService.findAllRegisteredtype();
return allRegisteredtype;
}
}
源码获取:俺的博客首页 "资源" 里下载!