病名エディタ
- 病名コード付きの病名は,間違ってちょっとクリックしただけで病名コードが消えてしまう(0000999になってしまう)。それをなんとかする。
order/DiagnosisTablePanel.java の以下の部分を変更する。@Override public boolean isCellEditable(int row, int col) { boolean ret = false; RegisteredDiagnosisModel model = (RegisteredDiagnosisModel) getObject(row); if (col == NAME_COL) { if (model == null) { ret = true; ////↓ HAND_CODE 以外,編集不可とする } else if (model.getDiagnosisCode().equals(HAND_CODE)) { ret = true; //// } else if (!model.getDiagnosisCode().startsWith(MODIFIER_CODE)) { ////↑ ret = true; } } else if (col == ALIAS_COL) { if (model != null && (!model.getDiagnosisCode().startsWith(MODIFIER_CODE))) { ret = true; } } return ret; }
- ついでに,デフォルトのカテゴリーをセットするようにする
public void propertyChange(PropertyChangeEvent e) { String prop = e.getPropertyName(); if (prop.equals(SELECTED_ITEM_PROP)) { // 通知された MasterItem から RegisteredDiagnosisModel // を生成し、編集テーブルへ加える。 MasterItem item = (MasterItem) e.getNewValue(); if (item != null) { RegisteredDiagnosisModel model = new RegisteredDiagnosisModel(); model.setDiagnosis(item.getName()); model.setDiagnosisCode(item.getCode()); model.setDiagnosisCodeSystem(item.getMasterTableId()); ////↓ デフォルトのカテゴリーをセット(主病名) model.setCategory(open.dolphin.infomodel.IInfoModel.DEFAULT_DIAGNOSIS_CATEGORY); model.setCategoryDesc(open.dolphin.infomodel.IInfoModel.DEFAULT_DIAGNOSIS_CATEGORY_DESC); model.setCategoryCodeSys(open.dolphin.infomodel.IInfoModel.DEFAULT_DIAGNOSIS_CATEGORY_CODESYS); ////↑ tableModel.addRow(model); reconstractDiagnosis(); // 状態マシンへイベントを送信する curState.processEvent(DiagnosisStateMgr.Event.ADDED); } } }
« 連続マスター検索 | トップページ | テーブルの文字欠け »
「OpenDolphin」カテゴリの記事
- WildFly 25 へのアップデート(2021.12.21)
- 13年目の運用まとめ(2021.02.04)
- スタンプの簡易表示(2020.09.04)
- Java 1.8.0_261 での apple.awt.brushMetalLook(2020.07.26)
- Undo の充実 (4) StampEditor, StampTree(2020.07.23)