📄 nurseadmin.java
字号:
package bean;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;
public class NurseAdmin {
private String nurseID;
private String role;
private String wardNum;
private String wardType;
private Connection conn;
private Statement stmt;
private static Connection verifyconn;
private static Statement verifystmt;
/*static {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!");
verifyconn = DriverManager.getConnection(
"jdbc:sqlserver://localhost;database=hospital", "sa", "1");
verifystmt = verifyconn.createStatement();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
public NurseAdmin(String nurseID, String wardNum, String wardType)
throws SQLException {
this.nurseID = nurseID;
this.wardNum = wardNum;
this.wardType = wardType;
conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost;database=hospital", "sa", "1");
conn.setAutoCommit(false);
stmt = conn.createStatement();
System.out.println("建立连接成功!");
}
//*************************新建病人
public String createPatient(Patient patient) throws SQLException {
if (wardType.equals("clinic")) {
return createOutPatient((OutPatient) patient);
} else {
return createInPatient((InPatient) patient);
}
}
public String createOutPatient(OutPatient patient) throws SQLException {
String patientId;
boolean bool = stmt.execute("insert into patient values('"
+ patient.getF_name() + "','" + patient.getL_name() + "','"
+ patient.getAddress() + "','" + patient.getTele() + "','"
+ patient.getBirthday() + "','" + patient.getMarital_status()
+ "','" + patient.getRegister_date() + "','"
+ patient.getClinicNum() + "')");
if (bool) {
ResultSet ret = stmt
.executeQuery("Select max(patientId) FROM patient");
ret.close();
if (ret != null) {
ret.next();
patientId = (new Integer(ret.getInt(1))).toString();
stmt.execute("insert into out_patient values('" + patientId
+ "')");
conn.commit();
return patientId;
}
}
conn.rollback();
return null;
}
public boolean UpdatePatient(String patientId, InPatient inpatient) throws SQLException {
try {
int patientid = Integer.parseInt(patientId);
stmt.execute("UPDATE in_patient SET " + "wait_date ='" + inpatient.getWaitDate()
+ "',wardid ='" + inpatient.getWardId() + "',stay_in ='"
+ inpatient.getStayIn() + "',in_date ='" + inpatient.getInDate()
+ "',out_date ='" + inpatient.getOutDate() + "',true_out_date ='"+inpatient.getTrue_out_patient()+ "',condition ='"+inpatient.getCondition() + "'"
+ "where patientid = "+ patientid +"");
} catch (SQLException e) {
conn.rollback();
return false;
}
conn.commit();
return true;
}
public InPatient getPatient(String patientId) throws SQLException{
ResultSet ret = stmt.executeQuery( "SELECT * from patient,in_patient where patient.patientId = "+patientId+" and patient.patientId = in_patient.patientId");
if(!ret.next()){
conn.commit();
ret.close();
return null;
}
InPatient inpatient = new InPatient(ret.getString(2),ret.getString(3),ret.getString(4),ret.getString(5),ret.getString(6)
,ret.getString(7),ret.getString(8),ret.getString(9),ret.getString(11),ret.getString(12),ret.getInt(13),ret.getString(14),ret.getString(15)
,ret.getString(16),ret.getString(17));
inpatient.setPatientId(patientId);
conn.commit();
ret.close();
return inpatient;
}
public String createInPatient(InPatient patient) throws SQLException {
String patientId;
System.out.println("insert into patient values('"
+ patient.getF_name() + "','" + patient.getL_name() + "','"
+ patient.getAddress() + "','" + patient.getTele() + "','"
+ patient.getBirthday() + "','" + patient.getMarital_status()
+ "','" + patient.getRegister_date() + "','"
+ patient.getClinicNum() + "')");
boolean bool = true;
stmt.execute("insert into patient values('"
+ patient.getF_name() + "','" + patient.getL_name() + "','"
+ patient.getAddress() + "','" + patient.getTele() + "','"
+ patient.getBirthday() + "','" + patient.getMarital_status()
+ "','" + patient.getRegister_date() + "','"
+ patient.getClinicNum() + "')");
if (bool) {
ResultSet ret = stmt
.executeQuery("Select max(patientId) FROM patient");
if (ret != null) {
ret.next();
patientId = (new Integer(ret.getInt(1))).toString();
stmt.execute("insert into in_patient values(" + patientId
+ ",'" + patient.getWaitDate() + "','" + wardNum
+ "',," + patient.getStayIn()
+ ",'" + patient.getInDate() + "','"
+ patient.getOutDate() + "','"
+ patient.getTrue_out_patient() + "','"
+ patient.getCondition() + "')");
conn.commit();
ret.close();
return patientId;
}
}
conn.rollback();
return null;
}
//***********************新建病人
//***********************查找病人信息
public InPatient findInPatient(String patientId) throws SQLException{
ResultSet ret = stmt.executeQuery("SELECT * from patient,in_patient where patient.patientId = "+patientId+" and patient.patientId = in_patient.patientId");
if(ret.next()){
InPatient inpatient = new InPatient(ret.getString(2),ret.getString(3),ret.getString(4),ret.getString(5),ret.getString(6)
,ret.getString(7),ret.getString(8),ret.getString(9),ret.getString(11),ret.getString(12),ret.getInt(13),ret.getString(14),ret.getString(15)
,ret.getString(16),ret.getString(17));
inpatient.setPatientId(patientId);
conn.commit();
return inpatient;
}else{
conn.rollback();
return null;
}
}
public Requistition getSupply(String objectid,String quan) throws SQLException{
int supplyid = Integer.parseInt(objectid);
int quantity = Integer.parseInt(quan);
ResultSet ret = stmt.executeQuery("select object.objectid, name, description,cost_per_unit from object,supply where object.objectid = supply.objectid and supply.objectid = "+ objectid);
Requistition req = null ;
if(ret.next()){
req = new Requistition(objectid,ret.getString(2),ret.getString(3),ret.getString(4)
,quantity);
}
conn.commit();
ret.close();
return req;
}
public Requistition getDrug(String objectid,String quan) throws SQLException{
int drugnum = Integer.parseInt( objectid);
int quantity = Integer.parseInt( quan);
ResultSet ret = stmt.executeQuery("select objectid, name, description, dosage, method,cost_per_unit from object,drug where object.objectid = drug.drugnum and objectid = "+ objectid);
Requistition req = null ;
if(ret.next()){
req = new Requistition(objectid,ret.getString(2),ret.getString(3),ret.getString(4)
,ret.getString(5),ret.getString(6),quantity);
}
conn.commit();
ret.close();
return req;
}
public boolean reduceObject(Requistition req) throws SQLException{
int quantity = req.getQuantity();
ResultSet ret = stmt.executeQuery( "select quantity from object where objectid = '"+req.getObjectid() +"'");
int quantitytemp = ret.getInt("quantity");
if(quantity > quantitytemp){
ret.close();
conn.commit();
return false;
}
quantitytemp = quantitytemp -quantity;
ResultSet ret1 = stmt.executeQuery("UPDATE object SET " + "quantity =" + quantitytemp
+ "where objectid = '"+ req.getObjectid() +"'");
ret1.close();
ret.close();
conn.commit();
return true;
}
public ArrayList getRelatives(String patientId) throws SQLException {
ResultSet ret = stmt
.executeQuery("select * from next_of_kin where patientid='"
+ patientId + "'");
ArrayList al = new ArrayList();
while (ret.next()) {
al.add(new Relatives(ret.getString(1), (new Integer(ret.getInt(2))).toString(), ret
.getString(3), ret.getString(4), ret.getString(5)));
}
ret.close();
conn.commit();
return al;
}
public Clinic getClinic(String clinicNum) throws SQLException {
ResultSet ret = stmt
.executeQuery("select * from local_doctor where clinicNum='"
+ clinicNum + "'");
if (ret.next()) {
return new Clinic(ret.getString(1), ret.getString(2), ret
.getString(3), ret.getString(4), ret.getString(5));
} else {
return null;
}
}
public OutPatient findOutPatient(String patientId) throws SQLException{
ResultSet ret = stmt.executeQuery("SELECT * from patient,out_patient where patient.patientId = "+patientId+" and patient.patientId = out_patient.patientId and wardid ='"+wardNum+"'");
if(ret.next()){
OutPatient outpatient = new OutPatient(ret.getString(2),ret.getString(3),ret.getString(4),ret.getString(5),ret.getString(6)
,ret.getString(7),ret.getString(8),ret.getString(9),ret.getString(11));
outpatient.setPatientId(patientId);
conn.commit();
return outpatient;
}else{
conn.rollback();
return null;
}
}
public ArrayList findPatientInWard() throws SQLException{
ResultSet ret = stmt.executeQuery("Select * from patient,in_patient where in_patient.wardid = '"+wardNum+"' and patient.patientId = in_patient.patientId");
ArrayList al = new ArrayList();
while(ret.next()){
Patient inpatient = new InPatient(ret.getString(2),ret.getString(3),ret.getString(4),ret.getString(5),ret.getString(6)
,ret.getString(7),ret.getString(8),ret.getString(9),ret.getString(11),ret.getString(12),ret.getInt(13),ret.getString(14),ret.getString(15)
,ret.getString(16),ret.getString(17));
inpatient.setPatientId(new Integer(ret.getInt(1)).toString());
al.add(inpatient);
}
conn.commit();
ret.close();
return al;
}
//***********************查找病人信息
public void UpdatePatient() {
}
public ArrayList getWaitPatients() throws SQLException{
ResultSet ret = stmt.executeQuery("select * from patient,in_patient where patient.patientId = in_patient.patientId AND in_patient.wardid = '"+wardNum+"'and in_date is null");
ArrayList al = new ArrayList();
while(ret.next()){
InPatient inpatient = new InPatient(ret.getString(2),ret.getString(3),ret.getString(4),ret.getString(5),ret.getString(6)
,ret.getString(7),ret.getString(8),ret.getString(9),ret.getString(11),ret.getString(12),ret.getInt(13),ret.getString(14),ret.getString(15)
,ret.getString(16),ret.getString(17));
inpatient.setPatientId(new Integer(ret.getInt(1)).toString());
al.add(inpatient);
}
conn.commit();
ret.close();
return al;
}
//*********药的管理
public ArrayList getDrugPatient(String patientid) throws SQLException{
ArrayList al = new ArrayList();
ResultSet ret;
if(wardType.equals("ward")){
ret = stmt.executeQuery("select * from patient,in_patient where wardid='"+wardNum+"' and patient.patientid='"+patientid+"' and patient.patientid = in_patient.patientid ");
}else{
ret = stmt.executeQuery("select * from patient,out_patient where wardid='"+wardNum+"' and patient.patientid='"+patientid+"' and patient.patientid = out_patient.patientid");
}
if(!ret.next())return null;
ret = stmt.executeQuery("select * from object,drug,medication where medication.patientid = '"+patientid+"' and medication.objectid = object.objectid and object.objectid = drug.drugnum");
while(ret.next()){
DrugToPatient dp = new DrugToPatient(ret.getString(2),ret.getString(3),ret.getInt(4),ret.getFloat(5),ret.getInt(6)
,ret.getString(8),ret.getString(9),ret.getString(10),ret.getString(12)
,ret.getString(13));
dp.setObjectId((new Integer(ret.getInt(1))).toString());
}
ret.close();
conn.commit();
return al;
}
public boolean addDrugToPatient(String drugId,String patientId,String startDate,String finishdate) throws SQLException{
ResultSet ret = stmt.executeQuery("Select * from drug where drugnum="+drugId);
if(!ret.next()){
ret.close();
conn.commit();
return false;
}
stmt.execute("insert into medication values('"+patientId+"','"+drugId+"','"+startDate+"','"+finishdate+"')");
ret.close();
conn.commit();
return true;
}
//*********药的管理
public void destory() throws SQLException {
stmt.close();
conn.close();
}
public String getWardNum(){
return this.wardNum;
}
public String getWardType(){
return this.wardType;
}
public static void main(String[] args) throws SQLException {
// NurseAdmin nu = new NurseAdmin("");
//NurseAdmin nur = NurseAdmin.getNurseBean("10","1");
//OutPatient inp = nur.findOutPatient("1");
//System.out.println(inp.getF_name());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -