protected void processWindowEvent(WindowEvent e) {
   if (e.getID() == WindowEvent.WINDOW_CLOSING) {
     try {
       FocusManager fm = FocusManager.getCurrentManager();
       if (fm != null) {
         Component cmp = fm.getFocusOwner();
         if (cmp != null) {
           // フォーカスロスト前に×ボタンで閉じる場合を想定し、擬似的にFocusLostを発行する
           cmp.dispatchEvent(new FocusEvent(cmp, FocusEvent.FOCUS_LOST));
         }
       }
       if (canClose()) {
         // パラメータを渡し用HashMapに格納する
         paramas.put("ACT", "close");
         paramas.put("INSURER_NM", "");
         paramas.put("INSURER_NO", "");
         paramas.put("JIGYOUSHA_NO", "");
         closeWindow();
       } else {
         return;
       }
     } catch (Exception ex) {
       ex.printStackTrace();
     }
     super.processWindowEvent(e);
     closeWindow();
   }
   super.processWindowEvent(e);
 }
 /**
  * 「初期化」に関する処理を行ないます。
  *
  * @throws Exception 処理例外
  */
 public void initialize() throws Exception {
   // ※画面展開時の初期設定
   // ※コンボアイテムの設定
   // ※準備
   // コンボアイテム設定用のレコード comboItemMap を生成する。
   VRMap comboItemMap = new VRHashMap();
   // ※設定
   // ※開始時刻
   // コードマスタデータよりCODE_ID:23(時刻・曜日の選択 / 時刻(開始))を取得する。
   // 取得した値を、comboItemMapの KEY : 3 の VALUE として設定する。
   comboItemMap.setData("3", QkanCommon.getArrayFromMasterCode(23, "4"));
   // ※終了時刻
   // コードマスタデータよりCODE_ID:23(時刻・曜日の選択 / 時刻(開始))を取得する。
   // 取得した値を、comboItemMapの KEY : 4 の VALUE として設定する。
   comboItemMap.setData("4", QkanCommon.getArrayFromMasterCode(23, "4"));
   // ※展開
   // 自身(this)にcomboItemMapに設定する。
   getThis().setModelSource(comboItemMap);
   // コンボアイテムを展開する。
   getThis().bindModelSource();
   // ※選択項目の初期設定
   // ※準備
   // 初期選択設定用のレコード defaultMap を生成する。
   VRMap defaultMap = new VRHashMap();
   // ※設定
   // 画面のラジオの初期値を設定する。(selectFirstRadioItem)
   QkanCommon.selectFirstRadioItem(getThis());
   // ※展開
   // 自身(this)にdefaultMapに設定する。
   getThis().setSource(defaultMap);
   // 初期選択項目を展開する。
   getThis().bindSource();
   // 画面状態制御
   checkState();
 }
Example #3
0
  /**
   * 「初期化」に関する処理を行ないます。
   *
   * @throws Exception 処理例外
   */
  public void initialize() throws Exception {
    // ※画面展開時の初期設定
    // ※コンボアイテムの設定
    // ※準備
    // コンボアイテム設定用のレコード comboItemMap を生成する。
    VRMap comboItemMap = new VRHashMap();

    // ※開始時刻
    // コードマスタデータよりCODE_ID:23(時刻・曜日の選択 / 時刻(開始))を取得する。
    // 取得した値を、comboItemMapの KEY : 3 の VALUE として設定する。
    comboItemMap.setData("3", QkanCommon.getArrayFromMasterCode(23, "3"));
    // ※終了時刻
    // コードマスタデータよりCODE_ID:23(時刻・曜日の選択 / 時刻(開始))を取得する。
    // 取得した値を、comboItemMapの KEY : 4 の VALUE として設定する。
    comboItemMap.setData("4", QkanCommon.getArrayFromMasterCode(23, "4"));
    // ※コンボアイテムの設定
    // 「訪問入浴介護パターン領域(homonNyuyokuPatterns)」にcomboItemMapに設定する。
    getHomonNyuyokuPatterns().setModelSource(comboItemMap);
    // コンボアイテムを展開する。
    getHomonNyuyokuPatterns().bindModelSource();

    // ※選択項目の初期設定
    // 訪問車種別(homonNyuyokuClass)の「看護職員1人及び介護職員2人」を選択する。
    getHomonNyuyokuClass().setSelectedIndex(1);
    // 入浴介護区分(homonNyuyokuPartsRadio)の「なし」を選択する。
    getHomonNyuyokuPartsRadio().setSelectedIndex(1);
  }
 /**
  * 引数のマップ値をVRHashMapとして返します。
  *
  * @param map 変換元
  * @return 変換結果
  */
 protected VRMap toVRHashMap(HashMap map) {
   VRMap vrMap = new VRHashMap();
   Iterator it = map.entrySet().iterator();
   while (it.hasNext()) {
     Map.Entry ent = (Map.Entry) it.next();
     vrMap.put(ent.getKey(), ent.getValue());
   }
   return vrMap;
 }
 /**
  * 起動時に取得したデータの中から、insurerNmからinsurerNoを取得します。
  *
  * @param nm insurerNm
  * @return insurerNo
  */
 private String findInsurerNo(String nm) {
   for (int i = 0; i < insurerData.getDataSize(); i++) {
     VRMap hash = (VRMap) insurerData.getData(i);
     String nmTmp = String.valueOf(hash.getData("INSURER_NM"));
     if (nm.equals(nmTmp)) {
       return String.valueOf(hash.getData("INSURER_NO"));
     }
   }
   return "";
 }
  /**
   * 登録処理が可能かどうかをチェックします。
   *
   * @return true:OK, false:NG
   */
  private boolean canSubmit() {
    // 保険者番号・未選択チェック
    if (insurerNm.getSelectedIndex() < 0) {
      insurerNm.requestFocus();
      ACMessageBox.show("保険者を選択してください。", ACMessageBox.BUTTON_OK, ACMessageBox.ICON_EXCLAMATION);
      return false;
    }

    // 事業所番号・未入力チェック
    if (IkenshoCommon.isNullText(jigyoushoNoField.getText())) {
      jigyoushoNoField.requestFocus();
      ACMessageBox.show("事業所番号を入力してください。", ACMessageBox.BUTTON_OK, ACMessageBox.ICON_EXCLAMATION);
      return false;
    }

    // 保険者重複チェック
    boolean checkFlg = true;
    if (isUpdate) {
      if (insurerNoOld.equals(insurerNoField.getText())) {
        // 更新であり、保険者に変更が無い場合はチェックしない
        checkFlg = false;
      }
    }
    if (checkFlg) {
      String insurerNoNew = insurerNoField.getText();
      VRArrayList data = (VRArrayList) affair.getData("DATA");
      for (int i = 0; i < data.getDataSize(); i++) {
        VRMap tmp = (VRMap) data.getData(i);
        String dataInsurerNo = tmp.getData("INSURER_NO").toString();
        if (dataInsurerNo.equals(insurerNoNew)) {
          insurerNm.requestFocus();
          ACMessageBox.show(
              "同一の保険者が既に登録されています。", ACMessageBox.BUTTON_OK, ACMessageBox.ICON_EXCLAMATION);
          return false;
        }
      }
    }

    // 事業所番号・桁数チェック
    if (jigyoushoNoField.getText().length() < 10) {
      jigyoushoNoField.requestFocus();
      int result =
          ACMessageBox.show(
              "事業所番号が数字10桁入力されていません。\nよろしいですか?",
              ACMessageBox.BUTTON_OKCANCEL,
              ACMessageBox.ICON_QUESTION,
              ACMessageBox.FOCUS_CANCEL);
      if (result == ACMessageBox.RESULT_CANCEL) {
        return false;
      }
    }

    return true;
  }
Example #7
0
  /**
   * 「事業所登録画面遷移」イベントです。
   *
   * @param e イベント情報
   * @throws Exception 処理例外
   */
  protected void goProviderActionPerformed(ActionEvent e) throws Exception {
    // 渡りパラメータ用レコード params を生成し、下記の値を設定する。
    VRMap params = new VRHashMap();
    // KEY : PROCESS_MODE, VALUE : PROCESS_MODE_INSERT (共通定数)
    params.setData("PROCESS_MODE", new Integer(QkanConstants.PROCESS_MODE_INSERT));
    // 画面渡り用パラメータ affair (NCAffairInfo)を下記パラメータで生成する。
    // className : QO004.class.getName(), parameters : params
    ACAffairInfo affair = new ACAffairInfo(QO004.class.getName(), params);

    // 「QO004 事業所情報登録」画面に遷移する。モードは「新規作成」とする。
    // next(affair);
    ACFrame.getInstance().next(affair);
  }
Example #8
0
  /**
   * 「ログイン処理」イベントです。
   *
   * @param e イベント情報
   * @throws Exception 処理例外
   */
  protected void startActionPerformed(ActionEvent e) throws Exception {
    // 事業所が選択されていないとき
    if (!getProviderList().isSelected()) {
      // エラーメッセージ表示
      QkanMessageList.getInstance().QM001_ERROR_OF_PROVIDER();
      return;
    }

    // 「システム日付(systemDate)」のエラーチェックを行う。
    if (!getSystemDate().isValidDate() || ACTextUtilities.isNullText(getSystemDate().getText())) {
      // 値が不正な場合
      // エラーメッセージを表示する。※メッセージID = ERROR_OF_WRONG_DATE
      QkanMessageList.getInstance().ERROR_OF_WRONG_DATE("システム");
      // 「システム日付(systemDate)」にフォーカスを当てる。
      getSystemDate().requestFocus();
      // 処理を抜ける。
      return;
    } else {
      // 値が正常な場合
      // 画面の「システム日付(systemDate)」を取得する。
      // システムの「システム日付」に、取得した日付を設定する。
      // setSystemDate((取得したシステム日付));
      QkanSystemInformation.getInstance()
          .setSystemDate(ACCastUtilities.toDate(getSystemDate().getText()));

      // 「自事業所一覧(providerList)」で選択されている自事業所の事業所番号を、「自事業所一覧(providerList)」から取得する。
      // システムの「ログイン事業所番号」に、取得した事業所の事業所番号を設定する。
      // setLoginProviderID((取得した自事業所番号));
      QkanSystemInformation.getInstance()
          .setLoginProviderID(
              ACCastUtilities.toString(
                  VRBindPathParser.get(
                      "PROVIDER_ID", (VRMap) getProviderList().getSelectedModelItem())));

      // 渡りパラメータ用のレコード paramに下記パラメータを設定する。
      VRMap params = new VRHashMap();
      // ・ KEY : FROM_AFFAIR
      params.setData("FROM_AFFAIR", null);
      // 下記パラメータにてNCAffairInfo affairを生成する。
      // affair(NCAffairInfo);
      ACAffairInfo affair = null;
      // className : QM002.class.getName()
      affair = new ACAffairInfo(QM002.class.getName(), params, "メインメニュー", true);
      // 「QM002 メインメニュー」に遷移する。
      // next(affair);
      ACFrame.getInstance().next(affair);
    }
  }
 /**
  * 「初期化」に関する処理を行ないます。
  *
  * @throws Exception 処理例外
  */
 public void initialize() throws Exception {
   // ※画面展開時の初期設定
   getShortStayDementiaRecuperationSpecificConsultationFee().clearDataModel();
   // QS001199_H2104(特定診療費)よりサービス種類(SYSTEM_SERVICE_KIND_DETAIL)に応じたbindPath配列を取得し、特定診療費ボタンに設定する。
   getShortStayDementiaRecuperationSpecificConsultationFee()
       .setBindPathes(QS001S01_201204.getTargetBindPathes(SYSTEM_SERVICE_KIND_DETAIL));
   // ※コンボアイテムの設定
   // ※準備
   // コンボアイテム設定用のレコード comboItemMap を生成する。
   VRMap comboItemMap = new VRHashMap();
   // ※設定
   // ※食事提供
   // コードマスタデータよりCODE_ID:191(食事提供)を取得する。
   // 取得した値を、comboItemMapの KEY : 1230347 の VALUE として設定する。
   comboItemMap.setData("1230347", QkanCommon.getArrayFromMasterCode(191, "1230347"));
   // ※人員減算
   // コードマスタデータよりCODE_ID:77(人員減算)を取得する。
   // 取得した値を、comboItemMapの KEY : 1230346 の VALUE として設定する。
   comboItemMap.setData("1230346", QkanCommon.getArrayFromMasterCode(66, "1230346"));
   // ※時間区分
   // コードマスタデータよりCODE_ID:273(時間区分)を取得する。
   // 取得した値を、comboItemMapの KEY : 1230352 の VALUE として設定する。
   comboItemMap.setData("1230352", QkanCommon.getArrayFromMasterCode(273, "1230352"));
   // ※展開
   // 自身(this)にcomboItemMapに設定する。
   getThis().setModelSource(comboItemMap);
   // コンボアイテムを展開する。
   getThis().bindModelSource();
   // ※選択項目の初期設定
   QkanCommon.selectFirstRadioItem(getThis());
   // ※準備
   // 初期選択設定用のレコード defaultMap を生成する。
   VRMap defaultMap = new VRHashMap();
   // ※設定
   // 食事提供
   VRBindPathParser.set("1230347", defaultMap, new Integer(1));
   // 人員減算
   VRBindPathParser.set("1230346", defaultMap, new Integer(1));
   // ※展開
   // 自身(this)にdefaultMapに設定する。
   getThis().setSource(defaultMap);
   // 初期選択項目を展開する。
   getThis().bindSource();
 }
Example #10
0
  /**
   * 初期化処理を行ないます。
   *
   * @param affair 業務情報
   * @throws Exception 処理例外
   */
  protected void initAction(ACAffairInfo affair) throws Exception {
    // エラーなし
    final int NO_ERROR = 0;
    // DB接続エラー
    final int DB_ERROR = 1;
    // 自事業所なし
    final int NO_PROVIDER = 2;
    // 保険者なし
    final int NO_INSURER = 4;
    // 利用者なし
    final int NO_PATIENT = 8;
    // PDFビューワなし
    final int NOT_FOUND_PDF_VIEWER = 16;
    // システムバージョン不正
    final int SYSTEM_VERSION_ERROR = 32;
    // DBMSバージョン不正
    final int DBMS_VERSION_ERROR = 64;
    // DBバージョン不正
    final int DB_MASTER_VERSION_ERROR = 128;
    int errorFlag = NO_ERROR;

    // メインメニューキャッシュをクリア
    QkanSystemInformation.getInstance().setMenuTree(null);

    // システム日付をセット
    Date systemDate = QkanSystemInformation.getInstance().getSystemDate();
    VRMap map = new VRHashMap();
    map.setData("SYSTEM_DATE", systemDate);
    getCombos().setSource(map);
    getCombos().bindSource();

    boolean properityReloaded = false;
    ACPropertyXML xml = ACFrame.getInstance().getPropertyXML();
    if (xml != null) {
      // 設定ファイルを再読み込みする。
      try {
        xml.read();
        properityReloaded = true;
      } catch (Exception ex) {
        VRLogger.info(ex);
      }
    }
    String systemVersion = "取得失敗";
    // 設定ファイル(QkanPropertyXML.xml)のプロパティ「Version/no」を取得する。
    if (properityReloaded && ACFrame.getInstance().hasProperty("Version/no")) {
      // 取得できた場合
      // システムの「システムバージョン」に、取得した値を設定する。
      systemVersion = getProperty("Version/no");
      setState_VALID_VERSION();
    } else {
      // 取得できなかった場合
      errorFlag |= SYSTEM_VERSION_ERROR;
      setState_INVALID_VERSION();
    }
    // システムの「システムバージョン」に、「取得失敗」を設定する。
    QkanSystemInformation.getInstance().setSystemVersion(systemVersion);

    String dbmsVersion = "unknown";
    String schemeVersion = "取得失敗";
    String masterDataVersion = "取得失敗";
    if (errorFlag == NO_ERROR) {
      // DBの接続チェックを行う。
      if (getDBManager().canConnect()) {
        // 成功した場合
        // 次処理へ。

        ACDBManager dbm = getDBManager();
        if (dbm instanceof ACLoggerDBManager) {
          dbm = ((ACLoggerDBManager) dbm).getAdaptee();
        }
        if (dbm instanceof BridgeFirebirdDBManager) {
          try {
            dbmsVersion = ((BridgeFirebirdDBManager) dbm).getDBMSVersion();
          } catch (Exception ex) {
          }
        }
        if (("unknown".equals(dbmsVersion)) || (dbmsVersion.indexOf("Firebird 1.0") >= 0)) {
          errorFlag |= DBMS_VERSION_ERROR;
          setState_INVALID_DBMS();
        } else {
          setState_VALID_DB();
        }
      } else {
        // 失敗した場合
        errorFlag |= DB_ERROR;
        setState_INVALID_DB_CONNECTION();
      }

      if (errorFlag == NO_ERROR) {
        // モジュールの対象バージョンに合わせてデータベースを整形する。
        try {
          new ACVersionAdjuster()
              .adjustment(
                  getDBManager(),
                  "version/update.xml",
                  new QkanVersionAdjustmentListener(getDBManager()));
          systemVersion = QkanSystemInformation.getInstance().getSystemVersion();
        } catch (Exception ex) {
          VRLogger.info(ex);
        }

        // 給付管理台帳システムバージョン情報取得用のSQL文を取得する。
        // getSQL_GET_QKAN_VERSION(null);
        // 取得したSQL文を発行する。
        VRList versionList = getDBManager().executeQuery(getSQL_GET_QKAN_VERSION(null));

        // 取得件数が0件より多い場合
        if (versionList.size() > 0) {
          // システムの「マスタデータバージョン」に、取得したマスタデータバージョンを設定する。
          // setMasterDataVersion((マスターデータバージョン));
          masterDataVersion =
              ACCastUtilities.toString(
                  VRBindPathParser.get("MASTER_DATA_VERSION", (VRMap) versionList.getData()));

          // システムにマスタデータバージョンを退避する。
          // setSchemeVersion((スキーマバージョン));
          schemeVersion =
              ACCastUtilities.toString(
                  VRBindPathParser.get("SCHEME_VERSION", (VRMap) versionList.getData()));

        } else {
          // 取得件数が0件の場合
          errorFlag |= DB_MASTER_VERSION_ERROR;
          setState_INVALID_MASTER_VERSION();
        }
      }
    }

    // 画面の「システムバージョン(systemVersion)」に、「取得失敗」を設定する。
    getSystemVersion().setText(systemVersion);
    // システムの「マスタデータバージョン」に、取得したマスタデータバージョンを設定する。
    // setMasterDataVersion((マスターデータバージョン));
    QkanSystemInformation.getInstance().setMasterDataVersion(masterDataVersion);
    // システムにマスタデータバージョンを退避する。
    // setSchemeVersion((スキーマバージョン));
    QkanSystemInformation.getInstance().setSchemeVersion(schemeVersion);

    if (errorFlag == NO_ERROR) {
      // コードマスタ取得用のSQL文を取得する。
      // getSQL_GET_MASTER_CODE(null);
      // 取得したSQL文を発行する。
      VRList masterCodeList = getDBManager().executeQuery(getSQL_GET_MASTER_CODE(null));
      // 取得件数が0件より多い場合
      if (masterCodeList.size() > 0) {
        // システムの「コードマスタ」に設定するための形式に変換する。
        // ・CODE_ID毎にArrayListに格納する。
        // ・KEY : CODE_ID, VALUE : CODE_ID毎のレコード集合
        // として、レコードに格納する。
        // システムの「コードマスタ」に、変換したレコードを格納する。
        // setCodeMaster((変換したレコード));
        VRMap fullCodeM = new VRHashMap();
        Integer lastKey = null;
        VRList codeM = null;
        Iterator it = masterCodeList.iterator();
        while (it.hasNext()) {
          VRMap row = (VRMap) it.next();
          Integer key = Integer.valueOf(String.valueOf(VRBindPathParser.get("CODE_ID", row)));
          if (key != null) {
            if (!key.equals(lastKey)) {
              codeM = new VRArrayList();
              fullCodeM.setData(key, codeM);
              lastKey = key;
            }
            codeM.addData(row);
          }
        }
        // コードマスタをシステム共通に設定
        QkanSystemInformation.getInstance().setMasterCode(fullCodeM);

      } else {
        // 取得件数が0件の場合
        // システムの「コードマスタ」に、空のレコードを格納する。
        // setCodeMaster((空のレコード));
        QkanSystemInformation.getInstance().setMasterCode(null);
      }

      // 業務情報レコードを取得する。
      // ウィンドウタイトルに、取得レコードのKEY : WINDOW_TITLEのVALUEを設定する。
      // 業務ボタンバーのテキストに、取得レコードのKEY : AFFAIR_TITLEのVALUEを設定する。
      setAffairTitle("QM001");

      // 「事業所一覧(providerList)」に設定する自事業所一覧取得用のSQL文を取得する。
      // getSQL_GET_MY_PROVIDER(null);
      // 取得したSQL文を発行する。
      VRList providerList = getDBManager().executeQuery(getSQL_GET_MY_PROVIDER(null));

      // レコード数が0件より多い場合
      if (providerList.size() > 0) {
        // コンボアイテム設定用のレコード comboItemMap を生成する。
        VRMap comboItemMap = new VRHashMap();
        // 取得したレコード集合を、comboItemMap の KEY : PROVIDER_LISTS の
        // VALUE
        // として設定する。
        comboItemMap.setData("PROVIDER_LISTS", providerList);

        // 「コンボ領域(combos)」のmodelとして、comboItemMapを設定する。
        getContents().setModelSource(comboItemMap);

        // 「コンボ領域(combos)」にmodelを展開する。
        getContents().bindModelSource();

        // 取得したリストの一番上を選択状態にする。
        getProviderList().setSelectedIndex(0);

        setState_VALID_PROVIDER();
      } else {
        // レコード数が0件の場合

        setState_INVALID_PROVIDER();
        errorFlag |= NO_PROVIDER;
      }

      if (errorFlag == NO_ERROR) {
        if (QkanCommon.getInsurerInfo(getDBManager()).isEmpty()) {
          // 保険者がない場合
          setState_INVALID_INSURER();
          errorFlag |= NO_INSURER;
        } else {
          // 保険者が有る場合
          setState_VALID_INSURER();
        }
        if (QkanCommon.getPatientInfo(getDBManager()).isEmpty()) {
          // 利用者がない場合
          setState_INVALID_PATIENT();
          errorFlag |= NO_PATIENT;
        } else {
          // 利用者が有る場合
          setState_VALID_PATIENT();
        }

        if (String.valueOf(System.getProperty("os.name")).toLowerCase().indexOf("mac") < 0) {
          // Mac以外
          if (hasProperty("Acrobat/Path") && new File(getProperty("Acrobat/Path")).exists()) {
            setState_VALID_PDF_VIEWER();
          } else {
            setState_INVALID_PDF_VIEWER();
            errorFlag |= NOT_FOUND_PDF_VIEWER;
          }
        } else {
          // Macの場合
          setState_VALID_PDF_VIEWER();
        }

        // 印刷用PDFファイル格納用フォルダが存在するかチェックする。
        File pdfFile = new File("pdf");

        // 存在する場合
        if (pdfFile.exists()) {
          // 印刷用PDFファイル格納用フォルダ内の全てのPDFファイルを削除する。
          String[] fileList = pdfFile.list();
          for (int i = 0; i < fileList.length; i++) {
            File deleteFile = new File(pdfFile, fileList[i]);
            deleteFile.delete();
          }
        }
      }

      // 番号管理テーブルの再採番

      getDBManager().beginTransaction();
      try {
        getDBManager().executeUpdate(getSQL_UPDATE_NO_OF_SERVICE(null));
        getDBManager().executeUpdate(getSQL_UPDATE_NO_OF_PROVIDER_SERVICE(null));
        getDBManager().executeUpdate(getSQL_UPDATE_NO_OF_CLAIM(null));
        getDBManager().commitTransaction();
      } catch (Exception ex) {
        getDBManager().rollbackTransaction();
        VRLogger.info(ex);
      }
    }

    StringBuffer sb = new StringBuffer();
    sb.append("OS : ");
    sb.append(System.getProperty("os.name", "unknown"));
    String patch = System.getProperty("sun.os.patch.level", "");
    if (!patch.equalsIgnoreCase("unknown")) {
      sb.append(" ");
      sb.append(patch);
    }
    sb.append(ACConstants.LINE_SEPARATOR);
    sb.append("VM : ");
    sb.append(System.getProperty("java.vendor", "unknown"));
    sb.append(" ");
    sb.append(System.getProperty("java.version", "-"));
    sb.append(ACConstants.LINE_SEPARATOR);
    sb.append("Firebird : ");
    sb.append(dbmsVersion);
    sb.append(ACConstants.LINE_SEPARATOR);
    sb.append("システムversion : ");
    sb.append(systemVersion);
    sb.append(ACConstants.LINE_SEPARATOR);
    sb.append("データversion : ");
    sb.append(masterDataVersion);
    sb.append(ACConstants.LINE_SEPARATOR);
    sb.append("スキーマversion : ");
    sb.append(schemeVersion);

    getEnvironment().setText(sb.toString());

    // 画面最大化
    ACFrame.getInstance().setExtendedState(Frame.MAXIMIZED_BOTH);

    try {
      // 設定ファイル変更対応
      if (!ACFrame.getInstance().hasProperty("Claim/Cleaned")) {
        if (ACFrame.getInstance().hasProperty("Claim/Folder")) {
          Object m = ACFrame.getInstance().getPropertyXML().getData("Claim");
          if (m instanceof Map) {
            ((Map) m).remove("Folder");
          }
        }
        if (ACFrame.getInstance().hasProperty("Claim/Info")) {
          Object m = ACFrame.getInstance().getPropertyXML().getData("Claim");
          if (m instanceof Map) {
            ((Map) m).remove("Info");
          }
        }
        ACFrame.getInstance().getPropertyXML().setForceValueAt("Claim/Cleaned", "true");
        ACFrame.getInstance().getPropertyXML().write();
      }
    } catch (Exception ex) {

    }

    if ((affair.getParameters() != null)
        && (affair.getParameters().get("STOP_AUTO_LOGIN") != null)) {
      // メインメニューの明示的なログアウトでは自動ログインを禁止
      affair.getParameters().remove("STOP_AUTO_LOGIN");
    } else {
      if ((errorFlag == NO_ERROR)
          && getProviderList().isSelected()
          && getProviderList().getItemCount() == 1) {
        // 自動ログイン
        startActionPerformed(null);
      }
    }
  }
  /**
   * 「事業所コンボ変更時関数」に関する処理を行ないます。
   *
   * @throws Exception 処理例外
   */
  public void providerSelected(VRMap provider) throws Exception {
    // ※事業所コンボ変更時に呼ぶ関数
    // 選択事業所情報がnullでない場合
    setSelectedProvider(provider);

    if (provider != null) {
      // ※以下の内容詳細項目は、選択事業所の値を設定する。
      // ※準備
      // 事業所連動用のレコード defaultMap を生成する。
      VRMap defaultMap = getImportData();
      // ※設定
      Object obj;

      // 人員減算
      obj = VRBindPathParser.get("1230306", provider);
      if (obj != null) {
        // 事業所登録の減算項目に合わせ初期値を調整
        switch (ACCastUtilities.toInt(obj)) {
          case 1: // なしだった場合
          case 2: // 医師だった場合
            VRBindPathParser.set("1230346", defaultMap, new Integer(1));
            break;
          case 3: // 看護職員だった場合
          case 4: // 介護職員だった場合
            VRBindPathParser.set("1230346", defaultMap, new Integer(3));
            break;
        }
      }

      // 2015/03/02 [H27.4改正対応][Shinobu Hitaka] edit - begin 体制があってもなしを選択する。
      VRBindPathParser.set("6", defaultMap, new Integer(1));
      // 送迎
      // obj = VRBindPathParser.get("1230303", provider);
      // if (obj != null) {
      //    switch (ACCastUtilities.toInt(obj)) {
      //    case 2:
      //        // 「あり」の場合
      //        // 送迎区分(shortStayDementiaRecuperationMeetingAndSendingOff)の3番目のボタンを選択にする。
      //        defaultMap.setData("6", new Integer(3));
      //        break;
      //    case 1:
      //        // 「なし」の場合
      //        // 送迎区分(shortStayDementiaRecuperationMeetingAndSendingOff)の1番目のボタンを選択にする。
      //        defaultMap.setData("6", new Integer(1));
      //        break;
      //    }
      // }
      // 2015/03/02 [H27.4改正対応][Shinobu Hitaka] edit - end

      // 施設区分が認知症疾患型の場合は、病院区分を設定
      if (ACCastUtilities.toInt(VRBindPathParser.get("1230301", provider), 0) == 1) {
        switch (ACCastUtilities.toInt(VRBindPathParser.get("1230302", provider), 0)) {
          case 1: // I型
            // 病院区分を「大学病院」に
            defaultMap.setData("1230308", new Integer(1));
            break;
          case 2: // II型
          case 3: // III型
          case 4: // IV型
          case 5: // V型
            // 病院区分を「一般病院」に
            defaultMap.setData("1230308", new Integer(2));
            break;
        }
      }

      // ※展開
      // 自身(this)にdefaultMapに設定する。
      getThis().setSource(defaultMap);
      // 初期選択項目を展開する。
      getThis().bindSource();

      if (getShortStayDementiaRecuperationDinnerOffer().getSelectedIndex() == 0) {
        // 食費なしの場合にのみ朝昼夜にする。
        getShortStayDementiaRecuperationDinnerOffer().setSelectedIndex(1);
      }

      changeState();
    }
  }
Example #12
0
  public ArrayList<VRMap> getServiceCode(Map<String, String> map, ACDBManager dbm) {
    ArrayList<VRMap> al = super.getServiceCode(map, dbm);
    Map<String, Integer> mp = null;
    // 特定入所者チェックがついてなかった場合は食費を上書きせずに返す
    // [ID:0000749][Shin Fujihara] 2012/10 edit begin 2012年度対応 特定入所者の履歴管理機能
    //        if (new Integer(1).equals(map.get("7")) || "1".equals(map.get("7"))) {
    //            // 食費は必要ないためデータを消す
    //            return al;
    //        }
    if (ACCastUtilities.toInt(map.get("7"), 1) != 2) {
      // 食費は必要ないためデータを消す
      return al;
    }
    // [ID:0000749][Shin Fujihara] 2012/10 edit end 2012年度対応 特定入所者の履歴管理機能

    // 事業所情報の取得
    VRList temp = new VRArrayList();

    try {
      temp =
          QkanCommon.getProviderServiceDetail(
              dbm,
              ACCastUtilities.toString(map.get("PROVIDER_ID")),
              ACCastUtilities.toInt(getSystemServiceKindDetail(), 0));
    } catch (Exception e) {
      return al;
    }

    VRMap providerInfo = (VRMap) temp.get(0);

    for (int i = 0; i < al.size(); i++) {
      mp = (Map<String, Integer>) al.get(i);

      String val = ACCastUtilities.toString(mp.get("SYSTEM_SERVICE_CODE_ITEM"), "");
      if (SERVICE_CODE_SHOKUHI.equals(val)) {
        // 食費のレコード
        if (this.shokuhi <= 0) {
          // 食費が0円以下の場合
          // 該当レコードを削除する。
          al.remove(i);
          // 削除したためインデックスを1つ戻す。
          i--;
        } else {
          // 食費が0円以下でない場合
          // 食費を業務から渡された値で上書きする。
          mp.put("SERVICE_UNIT", new Integer(this.shokuhi));
        }
      } else if (SERVICE_CODE_UNIT_ROOM.equals(val)) {
        // ユニット型個室のレコード
        // 費用単価が0以下で設定されている場合、戻り値から削除
        // ユニット型個室の費用単価を取得
        int unitRoom = ACCastUtilities.toInt(providerInfo.get(this.PATH_UNIT_ROOM), 0);
        if (unitRoom <= 0) {
          // 該当レコードを削除する。
          al.remove(i);
          // 削除したためインデックスを1つ戻す。
          i--;
        }
      } else if (SERVICE_CODE_UNIT_SEMI_ROOM.equals(val)) {
        // ユニット型準個室のレコード
        // 費用単価が0以下で設定されている場合、戻り値から削除
        // ユニット型準個室の費用単価を取得
        int unitSemiRoom = ACCastUtilities.toInt(providerInfo.get(this.PATH_UNIT_SEMI_ROOM), 0);
        if (unitSemiRoom <= 0) {
          // 該当レコードを削除する。
          al.remove(i);
          // 削除したためインデックスを1つ戻す。
          i--;
        }
      } else if (SERVICE_CODE_NORMAL_ROOM.equals(val)) {
        // 従来型個室のレコード
        // 費用単価が0以下で設定されている場合、戻り値から削除
        // 従来型個室の費用単価を取得
        int normalRoom = ACCastUtilities.toInt(providerInfo.get(this.PATH_NORMAL_ROOM), 0);
        if (normalRoom <= 0) {
          // 該当レコードを削除する。
          al.remove(i);
          // 削除したためインデックスを1つ戻す。
          i--;
        }
      } else if (SERVICE_CODE_TASHO_ROOM.equals(val)) {
        // 多床室のレコード
        // 費用単価が0以下で設定されている場合、戻り値から削除
        // 多床室の費用単価を取得
        int tashoRoom = ACCastUtilities.toInt(providerInfo.get(this.PATH_TASHO_ROOM), 0);
        if (tashoRoom <= 0) {
          // 該当レコードを削除する。
          al.remove(i);
          // 削除したためインデックスを1つ戻す。
          i--;
        }
      }
    }

    return al;
  }
  private void initComponent(VRMap affair) throws Exception {
    // ウィンドウのサイズ
    setSize(new Dimension(470, 110));
    // ウィンドウを中央に配置
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = this.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    this.setLocation(
        (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

    // 保険者一覧をDBから取得・コンボに設定する
    IkenshoFirebirdDBManager dbm = new IkenshoFirebirdDBManager();
    StringBuffer sb = new StringBuffer();
    sb.append(" SELECT");
    sb.append(" INSURER_NO");
    sb.append(" ,INSURER_NM");
    sb.append(" FROM");
    sb.append(" INSURER");
    insurerData = (VRArrayList) dbm.executeQuery(sb.toString());
    IkenshoCommon.applyComboModel(
        insurerNm, new VRHashMapArrayToConstKeyArrayAdapter(insurerData, "INSURER_NM"));

    // 渡りデータを取得し、各コンポーネントに設定する
    this.affair = affair;
    String actParam = String.valueOf(affair.getData("ACT"));
    if (actParam.equals("update")) {
      isUpdate = true;
    } else {
      isUpdate = false;
    }
    if (isUpdate) {
      submit.setText("更新(S)");
      enteredData = (VRArrayList) affair.getData("DATA");
      int selRow = Integer.parseInt(String.valueOf(affair.getData("SEL_ROW")));
      VRMap row = (VRMap) enteredData.getData(selRow);

      // 保険者名
      String insurerNmParam = String.valueOf(row.getData("INSURER_NM"));
      for (int i = 0; i < insurerNm.getItemCount(); i++) {
        if (insurerNm.getItemAt(i).toString().equals(insurerNmParam)) {
          insurerNm.setSelectedIndex(i);
          break;
        }
      }

      // 保険者番号
      insurerNoOld = String.valueOf(row.getData("INSURER_NO"));
      insurerNoField.setText(insurerNoOld);

      // 事業所番号
      jigyoushoNoField.setText(String.valueOf(row.getData("JIGYOUSHA_NO")));
    } else {
      submit.setText("登録(S)");
    }

    // スナップショット撮影
    IkenshoSnapshot.getInstance().snapshot();
  }