コード例 #1
0
  /** コンポーネントに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$
  }
コード例 #2
0
  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;
  }