待ち時間表示
受付リストに,待ち人数と待ち時間(次に診察する患者さんが待っていた時間)を表示するようにした。インスペクタにはその患者さんの待ち時間が出るようにした。
plugin/WatingListImpl.java
・ ・ public void updateState(final PatientVisitModel updated) { ・ ・ //pns setPvtCount(pvtTableModel.getObjectCount()); } ・ ・ //pns^ /** * 来院数を設定する。 * @param cnt 来院数 */ public void setPvtCount(int cnt) { pvtCount = cnt; //String text = ClientContext.getString("watingList.state.pvtCountText"); //text += String.valueOf(pvtCount); // 来院数:20 //view.getCountLbl().setText(text); setPvtCount(); } /** * 来院数,待人数,待時間表示 */ private void setPvtCount() { int waitingCount = 0; String waitingTime = "00:00"; List dataList = pvtTableModel.getObjectList(); if (pvtCount > 0) { boolean found = false; for (int i = 0; i < pvtCount; i++) { PatientVisitModel pvt = (PatientVisitModel) dataList.get(i); int state = pvt.getState(); if (state == ChartImpl.CLOSE_NONE || state == ChartImpl.OPEN_NONE) { // 診察未終了レコードをカウント,最初に見つかった未終了レコードの時間から待ち時間を計算 waitingCount++; if (!found) { Date pvtDate = ModelUtils.getDateTimeAsObject(pvt.getPvtDate()); waitingTime = DurationFormatUtils.formatPeriod(pvtDate.getTime(), new Date().getTime(), "HH:mm"); found = true; } } } } StringBuilder sb = new StringBuilder(); sb.append("来院数"); sb.append(String.valueOf(pvtCount)); sb.append("人,待ち"); sb.append(String.valueOf(waitingCount)); sb.append("人,待ち時間 "); sb.append(waitingTime); view.getCountLbl().setText(sb.toString()); } //pns$
plugin/RowTipsTable.java
public String getToolTipText(MouseEvent e) { ObjectReflectTableModel model = (ObjectReflectTableModel) getModel(); int row = rowAtPoint(e.getPoint()); PatientVisitModel pvt = (PatientVisitModel) model.getObject(row); //pns^ 待ち時間表示 Date pvtDate = ModelUtils.getDateTimeAsObject(pvt.getPvtDate()); int pvtState = pvt.getState(); String waitingTime = ""; if (pvtDate != null && (pvtState == ChartImpl.CLOSE_NONE || pvtState ==ChartImpl.OPEN_NONE)) { waitingTime = " - 待ち時間 " + DurationFormatUtils.formatPeriod(pvtDate.getTime(), new Date().getTime(), "HH:mm"); } String patientName = pvt != null ? pvt.getPatient().getKanaName() : null; return patientName + waitingTime; //pns$ // return pvt != null ? pvt.getPatient().getKanaName() : null; }
client/ChartImpl.java
public void initComponents() { ・ ・ statusPanel.setRightInfo(rdPrifix + created); // カルテ登録日:yyyy/mm/dd //pns^待ち時間表示 Date pvtDate = ModelUtils.getDateTimeAsObject(pvt.getPvtDate()); if (pvtDate != null && pvt.getState() == CLOSE_NONE) { // window open 前に呼ばれる String waitingTime = DurationFormatUtils.formatPeriod(pvtDate.getTime(), new Date().getTime(), "HH:mm"); statusPanel.setRightInfo(rdPrifix + created + "待ち時間 " + waitingTime); } //pns$
« ORCA から送られてきた「診療内容」を反映する | トップページ | byomeiCount の永続化 »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)