源码获取:博客首页 "资源" 里下载!
实现基本预约挂号,预留后台管理系统接口,提供医生科室医生查询。
数据库导入:
在mysql 5.7中创建数据库hospitaldb,然后导入并执行hospitaldb.sql文件;
导入项目并修改配置文件
在idea/eclipse中导入项目,注意此为maven项目,导入时请选择maven项目;
导入成功后,修改jdk相关配置,并依次执行 maven clean 与maven install命令;
执行成功后,配置tomcat;
注:tomcat中配置项目路径必须为/ssm_pro
修改数据库配置:
在jdbc.properties中修改数据库配置;
在tomcat中运行项目,运行成功后,在浏览器中访问:http://localhost:8080/ssm_pro/
默认账号:[email protected] 密码:123456
登录成功即可;
/**
* 医生端
*/
@Controller
@RequestMapping("/doctor")
public class DoctorController {
@Autowired
private AdminService adminService;
@Autowired
private DoctorService doctorService;
@Autowired
private SectionService sectionService;
@Autowired
private PatientService patientService;
@Autowired
private MessagesService messagesService;
private Integer size = 8;//每页显示数量
/**
* 修改信息
* @param model
* @return
*/
@RequestMapping("/tiaomessagelist")
public String tiaomessagelist(@RequestBody List mlist,Model model) {
System.out.println(mlist.size());
model.addAttribute("mlist",mlist);
return "doctor/messageList";
}
@RequestMapping("/index")
public String index(Model model,HttpServletRequest request) {
HttpSession session = request.getSession();
Doctor dt = (Doctor) session.getAttribute("DOCTOR");
if(dt == null) {
return "redirect:/login/index";
}
int doctor = doctorService.countByExample(null); //医生总数
int section = sectionService.count(); //科室总数
//患者总数
int patient = 0;
List selectByExample = patientService.selectByExample(null);
Messages mess = new Messages();
for (Patient pa : selectByExample) {
if(pa.getName() != null) {
mess.setDid(dt.getId());
mess.setUsername(pa.getName());
List selectMessages = messagesService.selectMessages(mess);
if(selectMessages.size() > 0 )
{
patient++;
}
}
}
//预约总数
MessagesExample me = new MessagesExample();
MessagesExample.Criteria mecriteria = me.createCriteria();
mecriteria.andDidEqualTo(dt.getId());
int messages = messagesService.countByExample(me);
model.addAttribute("doctor",doctor);
model.addAttribute("section",section);
model.addAttribute("patient",patient);
model.addAttribute("messages",messages);
PageInfo pageInfo = doctorService.selectDoctorList(null,1,4);
if(pageInfo.getList() != null && pageInfo.getList().size() >0 ) {
List list = pageInfo.getList();
StringBuffer sb = new StringBuffer();
StringBuffer shu = new StringBuffer();
int v = list.size()-1;
for(int i=0;i sectionlist2 = null;
model.addAttribute("doctor",doctor);
//科室
Section se = new Section();
se.setType(1);
List sectionlist = sectionService.selectByExample(se);
model.addAttribute("sectionlist", sectionlist);
//科室详情
Section se1 = sectionService.selectByPrimaryKey(doctor.getSid());
if(se1 != null) {
Section section = new Section();
section.setPid(se1.getPid());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
model.addAttribute("sectionlist2", sectionlist2);
model.addAttribute("se1", se1);
}
}
return "doctor/doctorUptate";
}
/**
* 修改医生信息
*/
@RequestMapping("/messageTime")
public String messageTime(String name,Model model,HttpServletRequest request) {
HttpSession session = request.getSession();
Doctor dt = (Doctor) session.getAttribute("DOCTOR");
if(name != null) {
Messages mess = new Messages();
mess.setDid(dt.getId());
mess.setUsername(name);
List selectMessages = messagesService.selectMessagesTWO(mess);
model.addAttribute("messagesList", selectMessages);
}
return "doctor/messageTime";
}
/**
* 修改医生信息
*/
@RequestMapping("/admindoctorUptate")
public String adminUptatePassword(Doctor doctor,Model model) {
if(doctor != null && doctor.getId() != null) {
if(doctor.getSid() != null) {
Section section = sectionService.selectByPrimaryKey(doctor.getSid());
doctor.setSid(section.getId());
doctor.setSname(section.getName());
}
doctorService.updateByPrimaryKeySelective(doctor);
}
return "redirect:/doctor/index";
}
/**
* 预约信息列表
*/
@RequestMapping("/messageList")
public String doctorList(Model model, Messages messages, @RequestParam(value="page",defaultValue="1")Integer page,Integer type,HttpServletRequest request) {
if(messages == null) {
messages = new Messages();
}
HttpSession session = request.getSession();
Doctor dt = (Doctor) session.getAttribute("DOCTOR");
if(dt != null){
messages.setDid(dt.getId());
}else{
return "redirect:/login/index";
}
messages.setType(type);
//底层数据
PageInfo pageInfo = messagesService.selectMessagesList(messages,page,size);
//工作区数据
messages.setTime(new Date());
List list = messagesService.selectMessagesPai(messages);
model.addAttribute("mlist",list);
model.addAttribute("messagesList",pageInfo.getList());
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("messages",messages);
model.addAttribute("type",type);
return "doctor/messageList";
}
/**
*医生列表查询
*/
@RequestMapping(value = "/messageAjax")
@ResponseBody
public List doctorList(HttpServletRequest request) {
Messages messages = new Messages();
HttpSession session = request.getSession();
Doctor dt = (Doctor) session.getAttribute("DOCTOR");
messages.setDid(dt.getId());
messages.setType(1);
messages.setTime(new Date());
PageInfo pageInfo2 = messagesService.selectMessagesListDemo(messages,1,99);
return pageInfo2.getList();
}
/**
*医生列表查询
*/
@RequestMapping(value = "/messagesQundingUptate")
@ResponseBody
public String messagesQundingUptate(Integer id) {
if(id != null) {
Messages messages = new Messages();
messages.setId(id);
messages.setType(3); //3表示预约成功
messagesService.updateByPrimaryKeySelective(messages);
Messages selectByPrimaryKey = messagesService.selectByPrimaryKey(id);
Messages mes = new Messages();
mes.setType(1);
mes.setTime(new Date());
mes.setDid(selectByPrimaryKey.getDid());
List list = messagesService.selectMessagesPai(mes);
for (int i = 0; i < list.size(); i++) {
list.get(i).setPai(i+1);
messagesService.updateByPrimaryKeySelective(list.get(i));
}
}
return "ok";
}
/**
*患者信息列表
*/
@RequestMapping("/patientList")
public String messageList(Model model, Patient patient, @RequestParam(value="page",defaultValue="1")Integer page,HttpServletRequest request) {
if(patient == null) {
patient = new Patient();
}
HttpSession session = request.getSession();
Doctor dt = (Doctor) session.getAttribute("DOCTOR");
if(dt == null){
return "redirect:/login/index";
}
/*
* PageInfo pageInfo =
* patientService.selectPatientList(patient,1,size); List list =
* pageInfo.getList(); List list2 = new ArrayList(); Messages
* messages = new Messages(); boolean pan = false; SimpleDateFormat sdf = new
* SimpleDateFormat("yyyy-MM-dd"); for (Patient pa : list) { if(pa.getPid() !=
* null && pa.getPid() != 0){ messages.setDid(dt.getId());
* messages.setUid(pa.getPid()); messages.setUsername(pa.getName());
* List ml = messagesService.selectMessages(messages); if(ml.size() >
* 0 ){ Date time = ml.get(0).getTime(); pa.setUsername(sdf.format(time));
* pa.setPhone(dt.getName()); pa.setIdentitys(dt.getSname()); list2.add(pa); }
*
* } } if(list2.size() <= 8) { pageInfo.setPages(1); }
*/
Messages messages = new Messages();
// messages.setTime(new Date());
messages.setType(1);
messages.setDid(dt.getId());
PageInfo pageInfo = messagesService.selectMessagesList(messages, 1, size);
model.addAttribute("doctorList",pageInfo.getList());
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("patient",patient);
return "doctor/patientList";
}
/**
*预约信息列表
* @throws ParseException
*/
@RequestMapping(value = "/tiaozhuanList")
@ResponseBody
public String messagesList(@RequestParam("xiao")Integer xiao,@RequestParam("da")Integer da) {
Messages message = new Messages();
if(xiao != null & da != null) {
Messages mexiao = messagesService.selectByPrimaryKey(xiao);
Integer px = mexiao.getPai();
Messages meda = messagesService.selectByPrimaryKey(da);
mexiao.setPai(meda.getPai());
meda.setPai(px);
messagesService.updateByPrimaryKeySelective(mexiao);
messagesService.updateByPrimaryKeySelective(meda);
}
return null;
}
/**
* 确定预约
*/
@RequestMapping("/messagesUptate")
public String messagesUptate(Integer id) {
if(id != null) {
Messages messages = new Messages();
messages.setId(id);
messages.setType(3); //3表示预约成功
messagesService.updateByPrimaryKeySelective(messages);
}
return "redirect:/doctor/messageList?type=1";
}
/**
* 取消
*/
@RequestMapping("/messagesQuXiao")
public String messagesQuXiao(Integer id) {
if(id != null) {
Messages messages = new Messages();
messages.setId(id);
messages.setType(2); //2取消预约
messagesService.updateByPrimaryKeySelective(messages);
}
return "redirect:/doctor/messageList?type=1";
}
/**
* 退号
*/
@RequestMapping("/messagesTui")
public String messagesTui(Integer id) {
if(id != null) {
Messages messages = new Messages();
messages.setId(id);
messages.setType(4); //4退号失败
messagesService.updateByPrimaryKeySelective(messages);
}
return "redirect:/doctor/messageList?type=3";
}
}
/**
* 后端管理员控制层
*/
@Controller
@RequestMapping("/api")
public class PatientController {
private Integer size = 6;//每页显示数量
@Autowired
private AdminService adminService;
@Autowired
private SectionService sectionService;
@Autowired
private BannersService bannersService;
@Autowired
private DoctorService doctorService;
@Autowired
private PatientService patientService;
@Autowired
private MessagesService messagesService;
/**
* 医生列表
*/
@RequestMapping("/doctorList1")
public String doctorList(Model model, Doctor doctor, @RequestParam(value="page",defaultValue="1")Integer page) {
if(doctor == null) {
doctor = new Doctor();
}
PageInfo pageInfo = doctorService.selectDoctorList(doctor,page,size);
List list = pageInfo.getList();
model.addAttribute("doctorList",pageInfo.getList());
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("doctor",doctor);
return "patient/doctorList";
}
/**
*登录
* @throws ParseException
*/
@RequestMapping(value = "/userLogin")
@ResponseBody
public Patient userLogin(@RequestBody Patient patient) throws ParseException {
List list = patientService.selectPatient(patient);
if(patient != null && patient.getUsername() != null && patient.getPassword() != null) {
if(list.size() > 0) {
return list.get(0);
}
}
return patient;
}
/**
*登录
* @throws ParseException
*/
@RequestMapping(value = "/passwordSave")
@ResponseBody
public String passwordSave(@RequestBody Patient patient ) throws ParseException {
if(patient != null && patient.getUsername() != null && patient.getPassword() != null) {
Patient pa = new Patient();
pa.setUsername(patient.getUsername());
List list = patientService.selectPatient(pa);
if(list.size() > 0) {
return "err";
}
patientService.insertSelective(patient);
return "ok";
}
return "err";
}
/**
*登录验证
* @throws ParseException
*/
@RequestMapping(value = "/userLoginView")
@ResponseBody
public String userLoginView(HttpServletRequest request) throws ParseException {
HttpSession session = request.getSession();
Patient patient =(Patient) session.getAttribute("USER");
System.out.println("*********登陆验证********");
System.out.println(patient);
if(patient != null) {
return "ok";
}
return "err";
}
/**
*banner图
*/
@RequestMapping(value = "/bannerList")
@ResponseBody
public String[] formAdd() {
Banners banners = bannersService.selectByPrimaryKey(1);
String[] split = null;
if(banners != null && banners.getImg() != null) {
split = banners.getImg().split(",");
}
return split;
}
/**
*科室查询
*/
@RequestMapping(value = "/sectionList")
@ResponseBody
public Map> sectionList() {
Map> map = new HashMap>();
List sectionlist2 = null;
Section se = new Section();
se.setType(1);
List sectionlist = sectionService.selectByExample(se);
if(sectionlist.size() > 0 ) {
//科室详情
Section section = new Section();
section.setPid(sectionlist.get(0).getId());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
}
map.put("sectionlist",sectionlist);
map.put("sectionlist2",sectionlist2);
return map;
}
/**
*科室下级查询
*/
@RequestMapping(value = "/sectionXiaList")
@ResponseBody
public List sectionXiaList(Integer id) {
Section se = new Section();
se.setPid(id);
se.setType(2);
List sectionlist = sectionService.selectByExample(se);
return sectionlist;
}
/**
*科室下级查询
*/
@RequestMapping(value = "/patientPai")
@ResponseBody
public Integer patientPai(Integer id) {
Patient pa = new Patient();
pa.setPid(id);
PatientExample se = new PatientExample();
PatientExample.Criteria criteria = se.createCriteria();
if(pa != null){
if(pa.getPid() != null) {
criteria.andPidEqualTo(pa.getPid());
}
}
List selectByExample = patientService.selectByExample(se);
if(selectByExample.size() >0 ) {
List lmlist = messagesService.selectByExample(null);
int j = 0 ;
for (Messages me : lmlist) {
if(me.getUid() == id) {
return j;
}
j++;
}
}
return -1;
}
/**
*查询科室
*/
@RequestMapping(value = "/sectioNameList")
@ResponseBody
public List sectioNameList(String name) {
Section se = new Section();
se.setName(name);
se.setType(2);
List sectionlist = sectionService.selectByExample(se);
if(sectionlist.size() > 0) {
//查询全部科室
se.setName(null);
se.setPid(sectionlist.get(0).getPid());
se.setType(2);
sectionlist = sectionService.selectByExample(se);
}
return sectionlist;
}
/**
* 坐诊时间yuyue
*/
@RequestMapping("/doctorTimePage")
public String doctorTimePage(Integer id,Model model) {
if(id != null) {
Doctor doctor = doctorService.selectByPrimaryKey(id);
model.addAttribute("doctor",doctor);
}
return "patient/doctorTime";
}
/**
*医生列表查询
*/
@RequestMapping(value = "/doctorList")
@ResponseBody
public List doctorList(Integer sid) {
Doctor doctor = new Doctor();
doctor.setSid(sid);
List selectDoctor = doctorService.selectDoctor(doctor);
return selectDoctor;
}
/**
*医生列表查询
*/
@RequestMapping(value = "/doctorLike")
@ResponseBody
public List doctorLike(String name) {
Doctor doctor = new Doctor();
doctor.setName(name);
List selectDoctor = doctorService.selectDoctor(doctor);
return selectDoctor;
}
/**
*科室查询
*/
@RequestMapping(value = "/doctorIdList")
@ResponseBody
public Section doctorIdList(Integer sid) {
Section selectByPrimaryKey = sectionService.selectByPrimaryKey(sid);
return selectByPrimaryKey;
}
/**
*医生列表查询
* @throws ParseException
*/
@RequestMapping(value = "/doctortimeSelect")
@ResponseBody
public List doctortimeSelect(@RequestParam("datetimei")String datetimei,@RequestParam("id")Integer id) throws ParseException {
Doctor doctor = new Doctor();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
doctor.setSid(id);
doctor.setBegindate(simpleDateFormat.parse(datetimei));
List selectDoctor = doctorService.selectTime(doctor);
return selectDoctor;
}
/**
*医生列表查询
* @throws ParseException
*/
@RequestMapping(value = "/doctorGeRenList")
@ResponseBody
public Doctor doctorGeRenList(Integer id) throws ParseException {
Doctor doctor = doctorService.selectByPrimaryKey(id);
return doctor;
}
/**
*时间格式转换
*/
@RequestMapping(value = "/doctorYuyueTime")
@ResponseBody
public Map doctorYuyueTime(Integer id) {
Map map = new HashMap();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Doctor doctor = doctorService.selectByPrimaryKey(id);
map.put("begin",sdf.format(doctor.getBegintime()));
map.put("end",sdf.format(doctor.getEndtime()));
return map;
}
/**
*时间格式转换
* @throws ParseException
*/
@RequestMapping(value = "/timeZhuan")
@ResponseBody
public String timeZhuan(String time) throws ParseException {
Date parse = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(time != null) {
parse = sdf.parse(time);
}
return sdf.format(parse);
}
/**
*添加患者信息
*/
@RequestMapping(value = "/loginByPatient")
public String loginByPatient(@RequestBody Patient patient) {
return "loginByPatient";
}
/**
*添加患者信息
*/
@RequestMapping(value = "/patientSave")
public String patientSave(Patient patient) {
patientService.insertSelective(patient);
return "loginByPatient";
}
/**
* 判断患者账号
*/
@RequestMapping("/panzhanghao")
@ResponseBody
public Map panzhanghao(Model model, String zhanghao) {
Map map = new HashMap();
PatientExample se = new PatientExample();
PatientExample.Criteria criteria = se.createCriteria();
criteria.andUsernameEqualTo(zhanghao);
List selectByExample = patientService.selectByExample(se);
if(selectByExample.size() > 0){
map.put("pan","err");
}else{
map.put("pan","ok");
}
return map;
}
/**
* 患者注册界面
*/
@RequestMapping("/patientAddPage")
public String patientAddPage(Model model) {
return "patientRegister";
}
/**
*患者信息列表
*/
@RequestMapping(value = "/patientList")
@ResponseBody
public List patientList(Integer pid,HttpServletRequest request) {
Patient pa = new Patient();
pa.setPid(pid);
List selectPatient = patientService.selectPatient(pa);
return selectPatient;
}
/**
*患者信息列表
*/
@RequestMapping("/patientList2")
public String messageList2(Model model, Patient patient, @RequestParam(value="page",defaultValue="1")Integer page,HttpServletRequest request) {
if(patient == null) {
patient = new Patient();
}
HttpSession session = request.getSession();
Patient patient1 = (Patient) session.getAttribute("PATIENT");
if(patient1 == null){
return "redirect:/login/font/index";
}
/*
* PageInfo pageInfo =
* patientService.selectPatientList(patient,1,size); List list =
* pageInfo.getList(); List list2 = new ArrayList(); Messages
* messages = new Messages(); boolean pan = false; SimpleDateFormat sdf = new
* SimpleDateFormat("yyyy-MM-dd"); for (Patient pa : list) { if(pa.getPid() !=
* null && pa.getPid() != 0){ messages.setDid(dt.getId());
* messages.setUid(pa.getPid()); messages.setUsername(pa.getName());
* List ml = messagesService.selectMessages(messages); if(ml.size() >
* 0 ){ Date time = ml.get(0).getTime(); pa.setUsername(sdf.format(time));
* pa.setPhone(dt.getName()); pa.setIdentitys(dt.getSname()); list2.add(pa); }
*
* } } if(list2.size() <= 8) { pageInfo.setPages(1); }
*/
Messages messages = new Messages();
// messages.setTime(new Date());
messages.setType(1);
messages.setUid(patient1.getPid());
PageInfo pageInfo = messagesService.selectMessagesList(messages, 1, size);
model.addAttribute("doctorList",pageInfo.getList());
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("patient",patient);
return "patient/patientList";
}
/**
*患者信息列表
*/
@RequestMapping(value = "/patienDel")
@ResponseBody
public List patienDel(Integer id) {
if(id != null) {
patientService.deleteByPrimaryKey(id);
}
List selectByExample = patientService.selectByExample(null);
return selectByExample;
}
/**
*患者信息查看
*/
@RequestMapping(value = "/patientUpatePage")
@ResponseBody
public Patient patientUpatePage(Integer id) {
Patient patient = null;
if(id != null) {
patient = patientService.selectByPrimaryKey(id);
}
return patient;
}
/**
*患者信息修改
*/
@RequestMapping(value = "/patientUpdate")
@ResponseBody
public Patient patientUpdate(@RequestBody Patient patient) {
patientService.updateByPrimaryKeySelective(patient);
return null;
}
/**
*预约信息
* @throws ParseException
*/
@RequestMapping(value = "/messagesSave")
public String messagesSave(Messages patient,HttpServletRequest request) throws ParseException {
HttpSession session = request.getSession();
Patient patient1 = (Patient) session.getAttribute("PATIENT");
Messages hui = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date shijian = simpleDateFormat.parse(patient.getSname());
patient.setTime(shijian);
patient.setType(1);//待预约
Doctor doctor = doctorService.selectByPrimaryKey(patient.getDid());//医生
if(doctor != null) {
patient.setDname(doctor.getName());
if(doctor.getYipeoples() == null) {
doctor.setYipeoples(0);
}
doctor.setYipeoples(doctor.getYipeoples()+1);
doctorService.updateByPrimaryKeySelective(doctor);
}
Section section = sectionService.selectByPrimaryKey(patient.getSid());//科室
if(section != null) {
patient.setSname(section.getName());
}
Patient pa = patientService.selectByPrimaryKey(patient1.getId()); //患者
if(pa != null) {
patient.setUid(pa.getPid());
patient.setUserid(pa.getId());
patient.setPhone(pa.getPhone());
patient.setUsername(pa.getUsername());
patient.setAge(pa.getAge());
int countByExample = messagesService.countByExample(null);
patient.setBianhao(countByExample+1);
//排序
Messages message = new Messages();
// message.setUid(patient.getUid());
message.setTime(patient.getTime());
message.setDid(patient.getDid());
message.setType(-1);
List list = messagesService.selectMessages(message);
if(list.size() <= 0) {
patient.setPai(1);
}else {
patient.setPai(list.size()+1);
}
}
messagesService.insertSelective(patient);
if(patient.getId() != null) {
hui = messagesService.selectByPrimaryKey(patient.getId());
Messages xin = new Messages();
xin.setDid(hui.getDid());
xin.setType(1);
xin.setTime(shijian);
List selectMessagesPai = messagesService.selectMessagesPai(xin);
hui.setAge(selectMessagesPai.size());
}
return "redirect:/api/doctorList1";
}
/**
*取消预约
* @throws ParseException
*/
@RequestMapping(value = "/messagesQuXiao")
public String messagesQuXiao(Integer id) throws ParseException {
Messages ma = new Messages();
ma.setId(id);
ma.setType(2); //取消预约
messagesService.updateByPrimaryKeySelective(ma);
Messages mes = messagesService.selectByPrimaryKey(id);
Messages messages = new Messages();
messages.setType(1);
messages.setUid(mes.getUid());
messages.setTime(new Date());
List list = messagesService.selectMessages(messages);
return "redirect:/api/patientList2";
}
/**
*预约信息列表
* @throws ParseException
*/
@RequestMapping(value = "/messagesUidList")
@ResponseBody
public List messagesUidList(@RequestBody Messages message) throws ParseException {
List list = null;
if(message.getType() != null && message.getType() == 1) {
message.setTime(new Date());
list = messagesService.selectMessagesPai(message);
}else {
list = messagesService.selectMessagesTWO(message);
}
Messages me = new Messages();
me.setType(1);
me.setTime(new Date());
for (int i = 0; i < list.size(); i++) {
me.setDid(list.get(i).getDid());
List lin = messagesService.selectMessagesPai(me);
list.get(i).setAge(lin.size());
}
return list;
}
/**
*预约信息列表
* @throws ParseException
*/
@RequestMapping(value = "/messagesList")
@ResponseBody
public List messagesList(@RequestParam("type")Integer type,@RequestParam("uid")Integer uid) throws ParseException {
Messages message = new Messages();
List list = null;
message.setType(type);
message.setUid(uid);
if(type != null && type == 1) {
message.setTime(new Date());
list = messagesService.selectMessagesPai(message);
Messages me = new Messages();
me.setType(1);
me.setTime(new Date());
for (int i = 0; i < list.size(); i++) {
me.setDid(list.get(i).getDid());
List lin = messagesService.selectMessagesPai(me);
list.get(i).setAge(lin.size());
}
}else {
list = messagesService.selectMessagesTWO(message);
}
return list;
}
/**
*预约信息列表
* @throws ParseException
*/
@RequestMapping(value = "/messagesLists")
@ResponseBody
public List messagesLists(Integer uid) throws ParseException {
Messages message = new Messages();
message.setUid(uid);
List list = messagesService.selectMessagesTWO(message);
Messages me = new Messages();
me.setType(1);
me.setTime(new Date());
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getType() == 1) {
me.setDid(list.get(i).getDid());
List lin = messagesService.selectMessagesPai(me);
list.get(i).setAge(lin.size());
}
}
return list;
}
/**
* @throws ParseException
*/
@RequestMapping(value = "/doctortouList")
@ResponseBody
public List doctortouList() {
PageInfo pageInfo = doctorService.selectDoctorList(null,1,4);
return pageInfo.getList();
}
/**
* @throws ParseException
*/
@RequestMapping(value = "/datatimeGua")
@ResponseBody
public Integer datatimeGua(@RequestParam("datetime")String datetime,@RequestParam("did")Integer did) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date parse = sdf.parse(datetime);
Messages message = new Messages();
message.setTime(parse);
message.setDid(did);
message.setType(-1);
List list = messagesService.selectMessages(message);
return list.size();
}
}
/**
* 后端管理员控制层
*/
@Controller
@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminService adminService;
@Autowired
private SectionService sectionService;
@Autowired
private BannersService bannersService;
@Autowired
private DoctorService doctorService;
@Autowired
private PatientService patientService;
@Autowired
private MessagesService messagesService;
private Integer size = 6;//每页显示数量
@Value("${fileUrl}") //在配置文件中获取文件的保存路径
private String filePath;
/**
* 导入
* @param file
* @param response
* @throws IOException
*/
@RequestMapping("/excelInput")
public String excelInput(MultipartFile file,HttpServletResponse response) throws IOException {
String sb = file.getOriginalFilename();
List jieExcel = ExcelInput.jieExcel(file.getInputStream(), sb.substring(sb.indexOf(".")+1));
for (String[] strings : jieExcel) {
System.out.println(Arrays.toString(strings));
}
return "redirect:/admin/index";
}
/**
* 导出
*
* @param file
* @param response
*/
@RequestMapping("/xiazai")
public void excelString(HttpServletRequest request,HttpServletResponse response) {
try {
response.setCharacterEncoding("utf-8");
//content-type类型是告诉页面要响应内容的类型,以及字符编码,页面要以什么方式打开
response.setContentType("application/force-download");// 设置强制下载不打开
//Content-Disposition是MIMI协议的扩展,浏览器以什么方式处理wenjian
response.setHeader("Content-Disposition", "attachment; fileName=exportFile.xlsx");
String[] title = new String[]{"姓名","科室id","科室","日期"};
List list = doctorService.selectByExample(null);
Workbook wo = ExcelUtils.getExcel("xlsx",title,list);
wo.write(response.getOutputStream());
//Files.copy(file, response.getOutputStream());
} catch (IOException e) {
System.out.println("发生异常");
e.printStackTrace();
}
}
@RequestMapping("/index")
public String index(Model model) {
int doctor = doctorService.countByExample(null); //医生总数
int section = sectionService.countByExample(null); //科室总数
int patient = patientService.countByExample(null); //患者总数
int messages = messagesService.countByExample(null); //预约总数
model.addAttribute("doctor",doctor);
model.addAttribute("section",section);
model.addAttribute("patient",patient);
model.addAttribute("messages",messages);
PageInfo pageInfo = doctorService.selectDoctorList(null,1,4);
if(pageInfo.getList() != null && pageInfo.getList().size() >0 ) {
List list = pageInfo.getList();
StringBuffer sb = new StringBuffer();
StringBuffer shu = new StringBuffer();
int v = list.size()-1;
for(int i=0;i sectionlist2 = null;
Section se = new Section();
se.setType(1);
List sectionlist = sectionService.selectByExample(se);
if(sectionlist.size() > 0 ) {
//科室详情
Section section = new Section();
section.setPid(sectionlist.get(0).getId());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
}
model.addAttribute("sectionlist", sectionlist);
model.addAttribute("sectionlist2", sectionlist2);
return "admin/doctorAdd";
}
@RequestMapping("/admindoctorAdd")
public String admindoctorAdd(Doctor doctor,Model model) {
if(doctor.getId() != null){
if(doctor.getSid() != null) {
Section selectByPrimaryKey = sectionService.selectByPrimaryKey(doctor.getSid());
doctor.setSname(selectByPrimaryKey.getName());
}
doctorService.updateByPrimaryKeySelective(doctor);
}
return "redirect:/admin/doctorList";
}
/**
* 医生列表
*/
@RequestMapping("/doctorList")
public String doctorList(Model model, Doctor doctor, @RequestParam(value="page",defaultValue="1")Integer page) {
if(doctor == null) {
doctor = new Doctor();
}
PageInfo pageInfo = doctorService.selectDoctorList(doctor,page,size);
List list = pageInfo.getList();
model.addAttribute("doctorList",pageInfo.getList());
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("doctor",doctor);
return "admin/doctorList";
}
/**
* 修改医生信息界面
* @return
*/
@RequestMapping("/doctorUptatePage")
public String doctorUptatePage(Model model,Integer id) {
if(id != null) {
Doctor doctor = doctorService.selectByPrimaryKey(id);
List sectionlist2 = null;
model.addAttribute("doctor",doctor);
//科室
Section se = new Section();
se.setType(1);
List sectionlist = sectionService.selectByExample(se);
model.addAttribute("sectionlist", sectionlist);
//科室详情
Section se1 = sectionService.selectByPrimaryKey(doctor.getSid());
Section section = new Section();
if(se1 != null) {
section.setPid(se1.getPid());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
}else {
if(sectionlist.size() >0 ) {
section.setPid(sectionlist.get(0).getId());
section.setType(2);
sectionlist2 = sectionService.selectByExample(section);
}
se1 = new Section();
}
model.addAttribute("sectionlist2", sectionlist2);
model.addAttribute("se1", se1);
}
return "admin/doctorUptate";
}
/**
* 科室列表
*/
@RequestMapping("/sectionList")
public String sectionList(Model model, Section section, @RequestParam(value="page",defaultValue="1")Integer page) {
if(section == null) {
section = new Section();
}
section.setType(1);//1 科室
PageInfo pageInfo = sectionService.selectSectionListt(section,page,size);
List list = pageInfo.getList();
List list2 = new ArrayList();
Section cs = new Section();
for (Section se : list) {
cs.setPid(se.getId());
List selectByExample = sectionService.selectByExample(cs);
se.setSlist(selectByExample);
list2.add(se);
}
model.addAttribute("sectionList",list2);
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("section",section);
return "admin/sectionList";
}
/**
* 科室详情下级列表
*/
@RequestMapping("/sectionBelowList")
public String sectionBelowList(Model model, Section section, Integer id) {
if(section == null) {
section = new Section();
}
section.setType(2);// 2 科室详情
section.setPid(id);
Section se = sectionService.selectByPrimaryKey(id);
List list = sectionService.selectByExample(section);
model.addAttribute("sectionList",list);
model.addAttribute("section",section);
model.addAttribute("se",se);
return "admin/sectionBelow";
}
/**
* 跳转添加科室界面
*/
@RequestMapping("/sectionAddPage")
public String zuopinList() {
return "admin/sectionAdd";
}
/**
* 跳转添加科室下级界面
*/
@RequestMapping("/sectionAddBelowPage")
public String zuopinList(Model model,Integer id) {
if(id != null) {
Section se = sectionService.selectByPrimaryKey(id);
model.addAttribute("se",se);
}
return "admin/sectionAddBelow";
}
/**
* 跳转修改科室下级界面
*/
@RequestMapping("/sectionBelowUptatePage")
public String sectionBelowUptatePage(Model model,Integer id) {
if(id != null) {
Section se = sectionService.selectByPrimaryKey(id);
Section section = sectionService.selectByPrimaryKey(se.getPid());
model.addAttribute("se",se);
model.addAttribute("sname",section.getName());
}
return "admin/sectionBelowUptate";
}
/**
* 跳转修改科室界面
*/
@RequestMapping("/sectionUptatePage")
public String sectionUptatePage(Model model,Integer id) {
if(id != null) {
Section se = sectionService.selectByPrimaryKey(id);
model.addAttribute("se",se);
}
return "admin/sectionUptate";
}
/**
* 添加科室
*/
@RequestMapping("/sectionAdd")
@ResponseBody
public Map sectionAdd(String name) {
Map map = new HashMap();
if(name != null ){
Section section = new Section();
section.setName(name);
section.setType(1);
sectionService.insertSelective(section);
map.put("pan","ok");
}else{
map.put("pan","err");
}
return map;
}
/**
* 添加科室下级
*/
@RequestMapping("/sectionAddBelow")
public String sectionAddBelow(Section section) {
section.setType(2);
sectionService.insertSelective(section);
//"redirect:/admin/sectionBelowList?id="+section.getPid();
return "redirect:/admin/sectionList";
}
/**
* 修改科室
*/
@RequestMapping("/sectionUptate")
public String sectionUptate(Section section) {
sectionService.updateByPrimaryKeySelective(section);
return "redirect:/admin/sectionList";
}
/**
* 修改科室下级
*/
@RequestMapping("/sectionBelowUptate")
public String sectionBelowUptate(Section section) {
sectionService.updateByPrimaryKeySelective(section);
return "redirect:/admin/sectionBelowList?id="+section.getPid();
}
/**
* 删除科室下级
*/
@RequestMapping("/sectionBelowDelect")
public String sectionBelowUptate(Integer id) {
Section section = sectionService.selectByPrimaryKey(id);
Integer pid = section.getPid();
sectionService.deleteByPrimaryKey(section.getId());
return "redirect:/admin/sectionBelowList?id="+pid;
}
/**
* 删除科室
*/
@RequestMapping("/sectionDelect")
public String sectionDelect(Integer id) {
Section section = new Section();
section.setPid(id);
section.setType(2);
List list = sectionService.selectByExample(section);
sectionService.deleteByPrimaryKey(id);
for (Section section2 : list) {
sectionService.deleteByPrimaryKey(section2.getId());
}
return "redirect:/admin/sectionList";
}
@RequestMapping("/bannersPageUpdate")
public String bannersAdd(Model model,Integer id) {
Banners banners = null;
String[] imgnames = null;
if(id == 1){
banners = bannersService.selectByPrimaryKey(1);
if(banners == null){
banners = new Banners();
banners.setId(1);
bannersService.insertSelective(banners);
}
}
if(banners.getImg() != null && !"".equals(banners.getImg())){
imgnames = banners.getImg().split(",");
}
model.addAttribute("imgnames",imgnames);
model.addAttribute("banners",banners);
return "admin/bannersUpdate";
}
/**
*轮播图片删除
*/
@RequestMapping(value ="/bannersDel")
@ResponseBody
public Map bannersDel(Integer id,String src) throws IOException{
Map map = new HashMap();
StringBuffer sb = new StringBuffer();
if(id != null && src != null){
Banners banner = bannersService.selectByPrimaryKey(id);
if(banner.getImg() != null){
String[] split = banner.getImg().split(",");
for(int i = 0; i bannersAdd(@RequestParam("mf")MultipartFile[] mufile,@RequestParam("id")Integer id) throws IOException{
Map map = new HashMap();
StringBuffer path = new StringBuffer();
//图片上传并保存上传的路径
for (int i = 0; i < mufile.length; i++) {
try {
String random = StringRandom.getRandom();
String filename = mufile[i].getOriginalFilename();
//随机字符+原图片名用作新的图片名
filename = random+filename;
//文件保存路径 D:/Java/hospital
File file = new File(filePath+filename);
//判断父级文件是否存在
if (!file.getParentFile().exists()) {
file.getParentFile().mkdir();
}
path.append("/files/"+filename+",");
mufile[i].transferTo(file);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
}
Banners banners = new Banners();
if(id != null){
//修改图片路径
Banners sh = bannersService.selectByPrimaryKey(id);
banners.setId(id);
if(sh.getImg() != null ){
banners.setImg(sh.getImg()+path.toString());
}else{
banners.setImg(path.toString());
}
bannersService.updateByPrimaryKeySelective(banners);
}
return map;
}
/*
*//**
* 管理员-非遗讲堂
*//*
@RequestMapping(value="/feiyi_videoList")
public String feiyi_VideoList(Model model, Video video, @RequestParam(value="page",defaultValue="1")Integer page) {
PageInfo
源码获取:博客首页 "资源" 里下载!