package open.dolphin.client; import java.util.ArrayList; import java.util.List; import javax.swing.JPanel; import open.dolphin.infomodel.SimpleDate; /** * * @author Kazushi Minagawa. */ public class PatientVisitInspector { private CalendarCardPanel calendarCardPanel; private String pvtEvent; // PVT private final ChartImpl context; /** * PatientVisitInspector を生成する。 * @param context */ public PatientVisitInspector(ChartImpl context) { this.context = context; initComponent(); update(); } /** * レイアウトパネルを返す。 * @return レイアウトパネル */ public JPanel getPanel() { return calendarCardPanel; } /** * GUIコンポーネントを初期化する。 */ private void initComponent() { pvtEvent = "PVT"; // PVT calendarCardPanel = new CalendarCardPanel(ClientContext.getEventColorTable()); calendarCardPanel.setCalendarRange(new int[]{-12, 0}); } private void update() { // 来院歴を取り出す List<String> latestVisit = context.getKarte().getPatientVisits(); // 来院歴 if (latestVisit != null && latestVisit.size() > 0) { ArrayList<SimpleDate> simpleDates = new ArrayList<>(latestVisit.size()); for (String pvtDate : latestVisit) { SimpleDate sd = SimpleDate.mmlDateToSimpleDate(pvtDate); sd.setEventCode(pvtEvent); simpleDates.add(sd); } // CardCalendarに通知する calendarCardPanel.setMarkList(simpleDates); } } }