package hoimsys.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import hoimsys.bo.DayNumbers;
import hoimsys.bo.DoctorRegAndPat;
import hoimsys.bo.DoctorUpdateReg;
import hoimsys.bo.DtDoctor;
import hoimsys.bo.MedDetails;
import hoimsys.bo.Msg;
import hoimsys.po.Department;
import hoimsys.po.Doctor;
import hoimsys.po.Registration;
import hoimsys.po.Title;
import hoimsys.service.DepartmentService;
import hoimsys.service.DoctorService;
import hoimsys.service.PrescriptionService;
import hoimsys.service.RegistrationService;
import hoimsys.service.TitleService;
import hoimsys.util.DateUtil;
@RestController
@RequestMapping("api/doctor")
@CrossOrigin
public class DoctorController {
@Autowired
DoctorService doctorService;
@Autowired
TitleService titleService;
@Autowired
DateUtil dateUtil;
@Autowired
DepartmentService departmentService;
@Autowired
RegistrationService regService;
@Autowired
PrescriptionService preService;
/*
* 医院方:
* 推荐医生操作,即,修改挂号单中的医生id字段
* 接受参数,挂号单id以及所推荐医生id
*
*/
@PostMapping("/recomdoctor")
Msg doctorRecom(Integer rId, Integer dId) {
Registration reg = new Registration();
reg.setrId(rId);
reg.setdId(dId); //在这应该查询出医生所属科室,连并科室id一块修改
if(regService.changeRegByRegId(reg)>0) {
return Msg.success().resetMsg("推荐成功");
}
return Msg.fail().resetMsg("推荐失败");
}
/*
* 医院方:
* 超级管理员,批准医生申请
* 接受参数 医生id(dId)
*
*/
@PostMapping("/superadmin/ratifyregdoctor")
Msg superAdminRatifyRegDoc(Integer dId) {
if(dId!=null && dId>0) {
Doctor doctor = doctorService.getOneDoctorBydId(dId);
doctor.setdLimitsNumber(Math.abs(doctor.getdLimitsNumber()));//将权限编号设为正值;即为可用;
if(doctorService.updateDoctorBydId(doctor)>0)
return Msg.success().add("doctor", doctor);
}
return Msg.fail();
}
/*
* 医院方:
* 超级管理员查看所有医生申请记录
* 改进:
* 可以根据 limit参数来制定搜索结果,
* 0----已注册未批准
* 1----正在正常使用的医生账号
* 2----所有医生(默认)
* (所有查询均将超级管理员排除在外)
*/
@GetMapping("/superadmin/showregdoc")
Msg superAdminShowDtdocReg(
@RequestParam(value = "limit", defaultValue = "2") Integer limit,
@RequestParam(value = "search", defaultValue = "") String search,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) {
List<DtDoctor> regDtDoctor = null;
switch (limit) {
case 0: //注册申请列表
PageHelper.startPage(pageNum, pageSize);
regDtDoctor = doctorService.getRegDtdoctorList(search);
break;
case 1: //现有医生
PageHelper.startPage(pageNum, pageSize);
regDtDoctor = doctorService.getDtdoctorList(search);
break;
default: //所有医生
PageHelper.startPage(pageNum, pageSize);
regDtDoctor = doctorService.getAllDtdoctorList(search);
break;
}
PageInfo<DtDoctor> pageRegDtDoctor = new PageInfo<DtDoctor>(regDtDoctor);
return Msg.success().add("pageRegDtDoctor", pageRegDtDoctor);
}
/*
* 医院方
* 药品管理员将挂号单状态改为5(取药完毕动作)
* 接受参数,挂号单id(regId)
*/
@PostMapping("/medadmin/finish")
Msg MedAdminChangeRegStatus(Integer regId) {
if(regService.changerStatusByregId(regId, 5)>0) {
return Msg.success().resetMsg("取药成功");
}
return Msg.fail();
}
/*
* 医院方
* 药品管理员获取所有挂号单状态为3的挂号单列表(此时状态为待取药)
* [将状态码修改为可变的,接受参数,默认为3,即待取药]
*/
@GetMapping("/medadmin/getreg")
Msg MedAdminShowReg(
@RequestParam(value = "rStatus", defaultValue = "3") Integer rStatus,
@RequestParam(value = "search", defaultValue = "") String search,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<DoctorRegAndPat> drp = regService.getAllDoctorRegAndPatBydIdAndrStatus(rStatus,search);//3状态为挂号单已处理单为取药的状态
PageInfo<DoctorRegAndPat> pageDrpList = new PageInfo<DoctorRegAndPat>(drp);
return Msg.success().add("pageDrpList", pageDrpList);
}
/*
* 药品管理员,获取 待处理 或 已处理 的挂号单(待取药列表)信息列表后,
* 根据药单编号,获取该药单所有药品详情
*/
@GetMapping("/getmeds")
Msg MedicineAdminShowMeds(Integer psId,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<MedDetails> medsList = preService.getMedsBypsId(psId);
PageInfo<MedDetails> pageMeds = new PageInfo<MedDetails>(medsList);
return Msg.success().add("pageMeds", pageMeds);
}
/*
* 医院方,医生修改挂号单信息 接收json格式:
* {
* "rId":"37", //挂号单id
* "rInfo":"标题",
* "rRemarks":"详情",
* "pres":{ //药品map,key为药品id,value为药品数量;若key重复则数量相加
* "1":"1",
* "2":"2"
* }
* }
*
*/
@PostMapping(value = "/updatereg", produces = "application/json;charset=UTF-8")
Msg DoctorUpdateReg(@RequestBody DoctorUpdateReg docUpReg) {
//System.out.println(docUpReg);
Registration reg = new Registration();
reg.setrId(docUpReg.getrId());
reg.setrInfo(docUpReg.getrInfo());
reg.setrRemark(docUpReg.getrRemarks());
/*
* 修复不开药还要取药导致挂号单无法结束的问题
*/
if(docUpReg.getPres() == null) { //判断是否开药
reg.setrStatus(5); //若未开药则跳过取药步骤,直接完成
}else {
reg.setrStatus(3); //修改挂号单状态为 3 (已诊断),即待取药状态
}
//若修改成功则返回此挂号单的药单编号,否则返回-1;
Integer psId = regService.UpdageRegInfoAndRemark(reg);
if(psId == -1) {
return Msg.fail();
}
//存储所开药品
if(docUpReg.getPres()!=null) //修复不开药无法提交问题
preService.savePrescriptionByMaps(psId, docUpReg.getPres());
return Msg.success();
}
/*
* 医院方,医生登录后查看 待处理 或 已处理 的挂号单信息列表
* 参数:
* Integer dId 医生id
* Integer rStatus 挂号单状态,1为待处理,3为已处理;(2为待科室医生处理,已遗弃此状态)
*
*
*/
@GetMapping(value = "/showdrp")
Msg showDoctorRegAndPats(
Integer dId,
Integer rStatus,
@RequestParam(value = "search", defaultValue = "") String search,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<DoctorRegAndPat> drp = regService.getDoctorRegAndPatBydIdAndrStatus(dId, rStatus, search);//1状态为待诊断状态
PageInfo<DoctorRegAndPat> pageDrpList = new PageInfo<DoctorRegAndPat>(drp);
return Msg.success().add("pageDrpList", pageDrpList);
}
没有合适的资源?快使用搜索试试~ 我知道了~
java毕业设计 基于SpringBoot+Mybatis的医院门诊管理系统的设计与实现+详细文档+全部资料(优秀项目).zip
共80个文件
java:54个
xml:10个
jpg:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 74 浏览量
2024-04-17
10:51:35
上传
评论
收藏 1.08MB ZIP 举报
温馨提示
【资源说明】 java毕业设计 基于SpringBoot+Mybatis的医院门诊管理系统的设计与实现+详细文档+全部资料(优秀项目).zipjava毕业设计 基于SpringBoot+Mybatis的医院门诊管理系统的设计与实现+详细文档+全部资料(优秀项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
java毕业设计 基于SpringBoot+Mybatis的医院门诊管理系统的设计与实现+详细文档+全部资料(优秀项目).zip (80个子文件)
hoimsys-master
hoimsys
mvnw.cmd 6KB
pom.xml 2KB
src
test
java
hoimsys
dao
RegistrationMapperTest.java 1KB
DoctorMapperTest.java 1KB
PrescriptionMapperTest.java 1KB
service
DoctorTest.java 740B
HoimsysApplicationTests.java 200B
main
resources
mapper
DoctorMapper.xml 10KB
PatientMapper.xml 6KB
StorageMapper.xml 5KB
DepartmentMapper.xml 4KB
TitleMapper.xml 3KB
RegistrationMapper.xml 7KB
PrescriptionMapper.xml 8KB
MedicineMapper.xml 5KB
application.properties 931B
templates
index.html 306B
mybatis-config.xml 649B
static
temmsg
hoimsys.sql 17KB
img
d_id2.jpg 21KB
m_id2.jpg 385KB
m_id3.jpg 123KB
m_id1.jpg 78KB
d_id3.jpg 33KB
d_id1.jpg 32KB
m_id4.jpg 351KB
java
hoimsys
bo
DoctorRegAndPat.java 3KB
RegistrationAndDtDoctor.java 973B
PrescriptionInMedic.java 2KB
DoctorUpdateReg.java 1KB
MedDetails.java 2KB
DayNumbers.java 643B
DtDoctor.java 3KB
Msg.java 1KB
PrescriptionAndMedic.java 838B
controller
ToolsController.java 3KB
RegistrationController.java 4KB
PrescriptionController.java 925B
HelloController.java 709B
MedicineController.java 2KB
PatientController.java 4KB
DoctorController.java 11KB
dao
PrescriptionMapper.java 1KB
MedicineMapper.java 447B
DepartmentMapper.java 368B
DoctorMapper.java 1KB
TitleMapper.java 331B
RegistrationMapper.java 2KB
StorageMapper.java 345B
PatientMapper.java 658B
service
RegistrationService.java 2KB
PatientService.java 922B
PrescriptionService.java 738B
Impl
RegistrationServiceImpl.java 4KB
TitleServiceImp.java 484B
DepartmentServiceImpl.java 535B
DoctorServiceImpl.java 4KB
PrescriptionServiceImpl.java 3KB
PatientServiceImpl.java 4KB
MedicineServiceImpl.java 1KB
DoctorService.java 1KB
TitleService.java 122B
MedicineService.java 323B
DepartmentService.java 143B
HoimsysApplication.java 486B
po
Title.java 1KB
Department.java 2KB
Storage.java 2KB
Medicine.java 2KB
Registration.java 3KB
Patient.java 3KB
Prescription.java 2KB
Doctor.java 3KB
util
DateUtil.java 1KB
.mvn
wrapper
maven-wrapper.properties 218B
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
mvnw 10KB
.gitignore 333B
171265889347208773632.zip 416B
共 80 条
- 1
资源评论
不走小道
- 粉丝: 3335
- 资源: 5059
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功