📄 prescription.java
字号:
package pts;
import java.util.*;
//处方类
public class Prescription {
private int ID;
private Doctor PrescriptionMaker;
private Customer PrescriptionOwner;
private ArrayList<PrescriptionEntry> PrescriptionEnties;
private GregorianCalendar date;//处方生成的日期
private GregorianCalendar dateOfExpiration;//处方终止日期
private int numberOfRefills;//可使用次数
public Prescription(int ID,Doctor d,Customer c,int n,GregorianCalendar date,
GregorianCalendar dateOfExpiration){
setID(ID);
setNumberOfRefills(n);
setDate(date);
setPrescriptionMaker(d);
setPrescriptionOwner(c);
setDateOfExpiration(dateOfExpiration);
setNumberOfRefills(n);
PrescriptionEnties = new ArrayList<PrescriptionEntry>();
c.addPrescription(this);
}
public int getNumberOfRefills(){
return numberOfRefills;
}
public void setNumberOfRefills(int numberOfRefills2) {
numberOfRefills = numberOfRefills2;
}
public GregorianCalendar getDateOfExpiration(){
return dateOfExpiration;
}
public void setDateOfExpiration(GregorianCalendar dateOfExpiration2) {
dateOfExpiration = dateOfExpiration2;
}
public GregorianCalendar getDate(){
return date;
}
public void setDate(GregorianCalendar date2) {
date = date2;
}
public int getID(){
return ID;
}
public void setID(int id2) {
ID = id2;
}
public Doctor getPrescriptionMaker(){
return PrescriptionMaker;
}
public void setPrescriptionMaker(Doctor doctor) {
PrescriptionMaker = doctor;
}
public Customer getPrescriptionOwner(){
return PrescriptionOwner;
}
public void setPrescriptionOwner(Customer customer) {
PrescriptionOwner = customer;
}
public boolean canUseOrNot(){
GregorianCalendar date2 = new GregorianCalendar();
if(getNumberOfRefills()>0 && date2.compareTo(getDateOfExpiration())>0)
return true;
else return false;
}
//添加处方单元
public void addPrescriptionEntry(PrescriptionEntry p){
PrescriptionEnties.add(p);
p.setPrescription(this);
}
public String toString(){
return "处方号码为:" + getID();
}
//打印出处方信息
public void display(){
System.out.println("处方号码为:"+getID());
System.out.print("患者");
getPrescriptionOwner().display();
System.out.print("医生");
getPrescriptionMaker().display();
System.out.println("处方中各种药物用量及备注:");
for(PrescriptionEntry p :PrescriptionEnties ){
System.out.print(p.getDrug().getDrugName()+":"+p.getQuantities()+p.getUnit()+",");
if(p.isCanDisplace()){
System.out.print("可被"+p.getDrug().displayDispalce()+"替代"+",");
}
else System.out.print("不可替代"+",");
if(p.getDrug().hasSideEffectOrNot()){
System.out.print("有副作用"+p.getDrug().displaySideEffect()+".");
}
else System.out.print("无副作用"+".");
System.out.println();
}
System.out.println("处方剩余使用次数:"+getNumberOfRefills());
System.out.println("处方生成时间:"+date.getTime());
System.out.println("处方失效时间:"+dateOfExpiration.getTime());
}
//抓药
public void getDrug(){
if(canUseOrNot()){
System.out.print("可以开药");
numberOfRefills--;
}
else
System.out.print("这是个无用处方!无法开药!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -