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<DoctorRegAndP
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip基于springboot的医院门诊管理系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot的医院门诊管理系统源码.zip (79个子文件)
code
hoimsys
mvnw.cmd 7KB
pom.xml 2KB
src
test
java
hoimsys
dao
RegistrationMapperTest.java 1KB
DoctorMapperTest.java 1KB
PrescriptionMapperTest.java 1KB
service
DoctorTest.java 768B
HoimsysApplicationTests.java 213B
main
resources
mapper
DoctorMapper.xml 11KB
PatientMapper.xml 6KB
StorageMapper.xml 5KB
DepartmentMapper.xml 4KB
TitleMapper.xml 3KB
RegistrationMapper.xml 8KB
PrescriptionMapper.xml 8KB
MedicineMapper.xml 5KB
application.properties 957B
templates
index.html 321B
mybatis-config.xml 672B
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 1011B
PrescriptionInMedic.java 2KB
DoctorUpdateReg.java 1KB
MedDetails.java 2KB
DayNumbers.java 677B
DtDoctor.java 3KB
Msg.java 1KB
PrescriptionAndMedic.java 884B
controller
ToolsController.java 3KB
RegistrationController.java 4KB
PrescriptionController.java 964B
HelloController.java 735B
MedicineController.java 3KB
PatientController.java 4KB
DoctorController.java 11KB
dao
PrescriptionMapper.java 1KB
MedicineMapper.java 469B
DepartmentMapper.java 384B
DoctorMapper.java 1KB
TitleMapper.java 347B
RegistrationMapper.java 2KB
StorageMapper.java 361B
PatientMapper.java 681B
service
RegistrationService.java 2KB
PatientService.java 952B
PrescriptionService.java 768B
Impl
RegistrationServiceImpl.java 4KB
TitleServiceImp.java 505B
DepartmentServiceImpl.java 556B
DoctorServiceImpl.java 4KB
PrescriptionServiceImpl.java 3KB
PatientServiceImpl.java 4KB
MedicineServiceImpl.java 1KB
DoctorService.java 1KB
TitleService.java 130B
MedicineService.java 341B
DepartmentService.java 152B
HoimsysApplication.java 503B
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 220B
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
mvnw 10KB
.gitignore 364B
共 79 条
- 1
资源评论
FL1768317420
- 粉丝: 4139
- 资源: 4640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功