// 입원 중이거나 입원한 적이 있는 환자의 환자 번호를 입력 받는다. string ioHandler::getPatientId(PatientList& p_list, string msg) { string p_id; while (1) { p_id = getString(msg); Patient p = p_list.searchPatient(p_id); if (p.patient_id != "") break; // if valid patient id putString("", "Invalid patient id!!, Retry!!"); } return p_id; }
StaffAssign ioHandler::getNurseAssign(PatientList& p_list, StaffList& s_list) { StaffAssign sa; sa.patient_id = getPatientId(p_list, "직원을 변경할 환자의 번호 : "); Patient p = p_list.searchPatient(sa.patient_id); sa.change_date = getCurrentDate(); cout << endl << "변경일(yyyymmdd) : " << sa.change_date; sa.before_staff = p.nurse_assigned; cout << "변경전 담당 간호사 : " << sa.before_staff; sa.after_staff = getStaffId(s_list, ""); return sa; }
RoomChange ioHandler::getRoomChange(PatientList& p_list, RoomList& r_list) { RoomChange rc; rc.patient_id = getPatientId(p_list, "병실을 변경할 환자의 번호 : "); Patient p = p_list.searchPatient(rc.patient_id); rc.change_date = getCurrentDate(); cout << endl << "변경일(yyyymmdd) : " << rc.change_date; //cin >> rc.change_date; rc.before_room = p.room_no; cout << "변경전 병실 번호 : " << rc.before_room; rc.after_room = getRoomNo(r_list); return rc; }