/** コンポーネントにSaveParamsの値を設定する。 */ @Override public void setValue(SaveParamsM params) { enterParams = params; JPanel contentPanel = createComponent(); Object[] options = new Object[] {okButton, tmpButton, cancelButton}; JOptionPane jop = new JOptionPane( contentPanel, JOptionPane.PLAIN_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, okButton); dialog = jop.createDialog(parent, ClientContext.getFrameTitle(TITLE)); // Titleを表示する // masuda^ 修正元のタイトルもコンボボックスに入れる String[] titles = new String[] {params.getOldTitle(), params.getTitle()}; // masuda$ for (String str : titles) { if (str != null && (!str.equals("") && (!str.equals("経過記録")))) { titleCombo.insertItemAt(str, 0); } } titleCombo.setSelectedIndex(0); // 診療科を表示する // 受付情報からの診療科を設定する String val = params.getDepartment(); if (val != null) { String[] depts = val.split("\\s*,\\s*"); if (depts[0] != null) { departmentLabel.setText(depts[0]); } else { departmentLabel.setText(val); } } // 印刷部数選択 int count = params.getPrintCount(); if (count != -1) { printCombo.setSelectedItem(String.valueOf(count)); } else { printCombo.setEnabled(false); } // -------------------------------- // CLAIM 送信をチェックする // -------------------------------- claimDate = params.getClaimDate(); boolean sendEnabled = params.isSendEnabled(); sendClaimAction.setEnabled(sendEnabled); if (sendEnabled && params.isSendClaim()) { sendClaim.doClick(); } // ------------------------------- // MML 送信の場合、アクセス権を設定する // ------------------------------- if (params.getSendMML()) { // 患者への参照と診療歴のある施設の参照許可を設定する boolean permit = params.isAllowPatientRef(); patientCheck.setSelected(permit); permit = params.isAllowClinicRef(); clinicCheck.setSelected(permit); } else { // MML 送信をしないときdiasbleにする patientCheck.setEnabled(false); clinicCheck.setEnabled(false); } // ------------------------------- // 検体検査オーダー送信 // ------------------------------- sendLabtest.setSelected(params.isSendLabtest() && params.isHasLabtest()); sendLabtest.setEnabled((sendEnabled && params.isHasLabtest())); checkTitle(); controlButton(); // s.oh^ 2013/05/07 入力不具合修正 setFocus(okButton); // s.oh$ }
private SaveParamsM viewToModel(boolean temp) { // 戻り値のSaveparamsを生成する SaveParamsM model = new SaveParamsM(); // minagawa^ LSC Test model.setSendMML(enterParams.getSendMML()); // minagawa$ // 戻り値の整理 // 確定ボタンが押された時 0 // 仮ボタンが押された時 1 int returnOption; if (!temp) { returnOption = SaveParamsM.SAVE_AS_FINAL; } else { returnOption = SaveParamsM.SAVE_AS_TMP; } // 開始時と終了時のオプションでKarteEditorで制御する model.setEnterOption(enterParams.getEnterOption()); model.setReturnOption(returnOption); // Title候補 String titleCand = ""; switch (returnOption) { case SaveParamsM.SAVE_AS_FINAL: // 確定ボタンが押された時 model.setTmpSave(false); model.setClaimDate(getClaimDate()); // Property model.setSendClaim(sendClaim.isSelected()); // CLAIM送信->CheckBox model.setSendLabtest(sendLabtest.isSelected()); // Lab.Test送信->CheckBox model.setAllowPatientRef(patientCheck.isSelected()); // MML->CheckBox model.setAllowClinicRef(clinicCheck.isSelected()); // MML->CheckBox titleCand = "経過記録"; break; case SaveParamsM.SAVE_AS_TMP: // 仮ボタンが押された時 model.setTmpSave(true); // 仮保存である model.setSendClaim(false); // CLAIM送信はしない設定である model.setClaimDate(getClaimDate()); // Property // s.oh^ 2014/11/04 仮保存時のオーダー出力 // model.setSendLabtest(false); // Lab.Test送信->false 互換性を確保.. model.setSendLabtest( Project.getBoolean(Project.SEND_TMPKARTE_LABTEST) ? sendLabtest.isSelected() : false); // s.oh$ model.setAllowPatientRef(false); // MML->送信しない model.setAllowClinicRef(false); // MML->送信しない model.setSendMML(false); titleCand = "仮保存"; break; } // 文書タイトルを取得する String val = (String) titleCombo.getSelectedItem(); val = (val.isEmpty()) ? titleCand : val; model.setTitle(val); // Department val = departmentLabel.getText(); model.setDepartment(val); // 印刷部数を取得する int count = Integer.parseInt((String) printCombo.getSelectedItem()); model.setPrintCount(count); return model; }