⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nurseadmin.java

📁 一个小型的医疗管理系统
💻 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 + -