package cc.zte.dao;
import java.io.OutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.VerticalAlignment;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import cc.zte.db.DBManager;
import cc.zte.entity.Admin;
import cc.zte.entity.Appointment;
import cc.zte.entity.CurAppointment;
import cc.zte.entity.Doctor;
import cc.zte.entity.Orders;
public class AdminDao extends DBManager{
//检查用户是否存在
public boolean checkAdmin(Admin admin){
boolean b = false;
String sql = "select aid from Admin where uname = ? and upwd = ?";
this.setSql(sql);
List param = new ArrayList();
param.add(admin.getUname());
param.add(admin.getUpwd());
this.setParam(param);
try {
rs = this.executeQuery();
if(rs.next()){
b = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeAll(conn, pstmt, rs);
}
return b;
}
//操作excel
public void printToExcel(List<Doctor> list,OutputStream os){
Label label = null;
try {
//打开文件
WritableWorkbook book = Workbook.createWorkbook(os);
//生成名为‘医生信息表’的工作表,参数0为第一页
WritableSheet sheet = book.createSheet("医生信息表",0);
//sheet.setColumnView(1,30);
String[] titles = {"医生编号","姓名","性别","职称","年龄","特长","科室","电话"};
//标题字体加粗,TIMES字体,14号字
WritableFont font1 = new WritableFont(WritableFont.TIMES, 14 ,WritableFont.BOLD);
WritableCellFormat format1 = new WritableCellFormat(font1);
format1.setBackground(jxl.format.Colour.BROWN);//背景颜色
format1.setBorder(jxl.format.Border.TOP,jxl.format.BorderLineStyle.THICK);
//居中对齐
format1.setAlignment(jxl.format.Alignment.CENTRE);
//把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//format1.setWrap(true); //字放不下一个单元格自动换行
sheet.setColumnView(0,15);//第一列宽度设为30
//设置单元格对齐(只保留居中,不设置字体大小,粗体)
WritableCellFormat format2 = new WritableCellFormat();
format2.setAlignment(jxl.format.Alignment.CENTRE);
//第一个for循环把表头添加到工作表中
for (int i = 0; i < titles.length; i++) {
//在Label单元格,i从第0列开始,标题是第0行,titles[i]为内容
label = new Label(i,0,titles[i],format1);
sheet.addCell(label);//把单元格添加到工作薄中
}
//添加信息到工作表
for (int j = 0; j < list.size(); j++) {
Doctor doctor = list.get(j);
//System.out.println(list.get(j));
//format1.setAlignment(jxl.format.Alignment.CENTRE);//居中对齐
String[] cellContents = {doctor.getDid(),doctor.getName(),doctor.getSex(),
doctor.getLevel(),"n"+doctor.getAge(),doctor.getSpecial(),doctor.getSection(),doctor.getPhone() };
for (int i = 0; i < cellContents.length; i++) {
String content = cellContents[i];
if (content.startsWith("n")) {//处理数值型数据,如果以n开头
int price = Integer.parseInt(content.substring(1));
System.out.println(content.substring(1));
jxl.write.Number number = new jxl.write.Number(i,j+1,price,format2);
sheet.addCell(number);
}else{
//直接放入单元格
label = new Label(i,j+1,cellContents[i],format2);
sheet.addCell(label);
}
}
}
//写入信息并关闭。
book.write();
book.close();
} catch (Exception e) {
// TODO: handle exception
}
}
//查询医生的方法
public List<Doctor> checkDoctor(){
List<Doctor> list = new ArrayList<Doctor>();
String sql = "select * from Doctor";
this.setSql(sql);
rs = this.executeQuery();
Doctor d = null;
try {
while(rs.next()){
d = new Doctor();
d.setDid(rs.getString("did"));
d.setPwd(rs.getString("pwd"));
d.setName(rs.getString("name"));
d.setSex(rs.getString("sex"));
d.setAge(rs.getInt("age"));
d.setLevel(rs.getString("level"));
d.setSpecial(rs.getString("special"));
d.setSection(rs.getString("section"));
d.setPhone(rs.getString("phone"));
this.setParam(param);
list.add(d);//返回医生的集合
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
//插入医生方法,要插入3个表
public int insertDoctor(Doctor doc,Appointment appointment,CurAppointment curAppointment){
String sql = "insert into Doctor values(?,?,?,?,?,?,?,?,?)";
List param = new ArrayList();
param.add(doc.getDid());
param.add(doc.getPwd());
param.add(doc.getName());
param.add(doc.getSex());
param.add(doc.getAge());
param.add(doc.getLevel());
param.add(doc.getSpecial());
param.add(doc.getSection());
param.add(doc.getPhone());
this.setParam(param);
String sql1 = "insert into Appointment values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
List param1 = new ArrayList();
param1.add(appointment.getDid());
param1.add(appointment.getSuna());
param1.add(appointment.getSunp());
param1.add(appointment.getMona());
param1.add(appointment.getMonp());
param1.add(appointment.getTuea());
param1.add(appointment.getTuep());
param1.add(appointment.getWeda());
param1.add(appointment.getWedp());
param1.add(appointment.getThua());
param1.add(appointment.getThup());
param1.add(appointment.getFria());
param1.add(appointment.getFrip());
param1.add(appointment.getSata());
param1.add(appointment.getSatp());
String sql2 = "insert into CurAppointment values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
List param2 = new ArrayList();
param2.add(curAppointment.getDid());
param2.add(curAppointment.getSuna());
param2.add(curAppointment.getSunp());
param2.add(curAppointment.getMona());
param2.add(curAppointment.getMonp());
param2.add(curAppointment.getTuea());
param2.add(curAppointment.getTuep());
param2.add(curAppointment.getWeda());
param2.add(curAppointment.getWedp());
param2.add(curAppointment.getThua());
param2.add(curAppointment.getThup());
param2.add(curAppointment.getFria());
param2.add(curAppointment.getFrip());
param2.add(curAppointment.getSata());
param2.add(curAppointment.getSatp());
try {
this.conn.setAutoCommit(false);
this.setSql(sql);
this.setParam(param);
int a = this.executeUpdate();
this.setSql(sql1);
this.setParam(param1);
int b = this.executeUpdate();
this.setSql(sql2);
this.setParam(param2);
int c = this.executeUpdate();
this.conn.commit();
if(a>0&&b>0&&c>0){
return 1;
}else{
this.conn.rollback();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
this.conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
this.closeAll(conn, pstmt, rs);
}
return 0;
}
//删除医生
public boolean deleteDoctorInfo(String did){
String sql = "delete from Orders where did = ?";//删除预约表中医师相关信息
String sql2 = "delete from History where did = ?";//病历表
String sql3 = "delete from Appointment where did = ?";//当前预约表
String sql4 = "delete from CurAppointment where did = ?";//最大预约表
String sql5 = "delete from Doctor where did = ?";//最后doctor
/*本次操作的参数相同,所以用一个参数集合*/
List <String> param = new ArrayList<String>
没有合适的资源?快使用搜索试试~ 我知道了~
基于JSP的医院挂号预约系统的设计与实现源码
共146个文件
java:41个
class:41个
jsp:39个
4星 · 超过85%的资源 需积分: 50 354 下载量 166 浏览量
2014-03-19
17:28:05
上传
评论 42
收藏 3.15MB ZIP 举报
温馨提示
基于JSP的医院挂号预约系统的设计与实现源码,已经共享了一份对应的文档,是我以前的毕业设计,直接可以拿来用,采用jsp+sqlserver2005+servlet等技术,容易理解。
资源推荐
资源详情
资源评论
收起资源包目录
基于JSP的医院挂号预约系统的设计与实现源码 (146个子文件)
AdminDao.java.bak 9KB
AdminDao.java.bak 9KB
AdminDao.class 9KB
PatientDao.class 6KB
DoctorDao.class 5KB
AppointmentDao.class 4KB
CurAppointment.class 4KB
Appointment.class 4KB
PatientOrders.class 3KB
AdminRegServlet.class 3KB
History.class 3KB
DBManager.class 3KB
Patient.class 3KB
InsertHistory.class 3KB
Doctor.class 2KB
PatientAdminCheckServlet.class 2KB
CancalOrders.class 2KB
OrdersDao.class 2KB
PatientRegSuccess.class 2KB
ChangeHisstory.class 2KB
AdminLoginServlet.class 2KB
ChangePwd.class 2KB
DoctorCheckReg.class 2KB
DeleteCrteate.class 2KB
CheckOrdersPatient.class 2KB
CheckHistory.class 2KB
PatientCheckUpdateApp.class 2KB
PatientAppointment.class 2KB
CheckMainDoctorInfo.class 2KB
AdminCheckDoctor.class 2KB
Orders.class 2KB
EncodeFilter.class 2KB
CheckAppointmentInfo.class 2KB
AdminDeleteServlet.class 2KB
PatientCheckSuccess.class 2KB
ToExcel.class 2KB
UpdateDeleteDoctor.class 1KB
Admin.class 1KB
HistoryDao.class 855B
PatientService.class 573B
AdminService.class 555B
CurAppointmentDao.class 301B
DoctorService.class 294B
.classpath 577B
org.eclipse.wst.jsdt.ui.superType.container 49B
hospital.css 151B
1.gif 441KB
TOPBAR.GIF 17KB
Female.gif 2KB
LEFTBAR.GIF 1KB
Male.gif 1KB
poi-3.7-20101029.jar 1.6MB
jxl.jar 692KB
sqljdbc.jar 247KB
AdminDao.java 9KB
PatientDao.java 5KB
DoctorDao.java 5KB
PatientOrders.java 3KB
AppointmentDao.java 3KB
CurAppointment.java 3KB
Appointment.java 3KB
DBManager.java 2KB
AdminRegServlet.java 2KB
History.java 2KB
Patient.java 2KB
Doctor.java 2KB
InsertHistory.java 2KB
CancalOrders.java 2KB
PatientAdminCheckServlet.java 1KB
DeleteCrteate.java 1KB
PatientRegSuccess.java 1KB
OrdersDao.java 1KB
ChangeHisstory.java 1KB
ChangePwd.java 1KB
AdminLoginServlet.java 1KB
DoctorCheckReg.java 1KB
PatientCheckUpdateApp.java 1KB
PatientAppointment.java 1KB
Orders.java 1KB
CheckMainDoctorInfo.java 1KB
CheckOrdersPatient.java 1KB
ToExcel.java 1KB
CheckHistory.java 1KB
PatientCheckSuccess.java 1024B
AdminCheckDoctor.java 1007B
CheckAppointmentInfo.java 991B
AdminDeleteServlet.java 974B
UpdateDeleteDoctor.java 974B
EncodeFilter.java 884B
Admin.java 751B
HistoryDao.java 461B
PatientService.java 275B
AdminService.java 261B
CurAppointmentDao.java 110B
DoctorService.java 62B
.jsdtscope 500B
ShowAppointment.jsp 5KB
PatientUpdateAppointment.jsp 4KB
AdminInsertDoctor.jsp 4KB
PatientReg.jsp 4KB
共 146 条
- 1
- 2
夕阳下的高山
- 粉丝: 6
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
- SpringBoot整合mongodb学习MongoTemplate和MongoRepository两种方式CRUD使用.zip
- SpringBoot整合MongoDB实现对数据库的CRUD小demo.zip
- Python操作MongoDB数据库的基本一些操作 .zip
- NOSQL数据库监控工具,目前实现了对Redis、MongoDB的监控功能 .zip
- mongoDB数据库的增删改查,以及所需要的配置.zip
- mongodb数据库idea测试.zip
- koa 分别 连接 mysql、mongodb数据库操作.zip
- 基于pytorch实现的人体部件分割源码+模型.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页