/**
   * 登録処理が可能かどうかをチェックします。
   *
   * @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;
  }
예제 #2
0
 /**
  * 「終了」イベントです。
  *
  * @param e イベント情報
  * @throws Exception 処理例外
  */
 protected void exitActionPerformed(ActionEvent e) throws Exception {
   // 終了
   if (ACMessageBox.showOkCancel("終了しますか?") != ACMessageBox.RESULT_OK) {
     return;
   }
   System.exit(0);
 }
  /**
   * 閉じてよいかどうかを判定します。
   *
   * @return boolean
   */
  private boolean canClose() {
    try {
      if (IkenshoSnapshot.getInstance().isModified()) {
        int result =
            ACMessageBox.show(
                "変更内容が破棄されます。\nよろしいですか?",
                ACMessageBox.BUTTON_OKCANCEL,
                ACMessageBox.ICON_QUESTION,
                ACMessageBox.FOCUS_CANCEL);
        if (result == ACMessageBox.RESULT_OK) {
          return true;
        } else {
          return false;
        }
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }

    return true;
  }
예제 #4
0
  /**
   * 外部サービス・福祉用具貸与
   *
   * @param map
   * @param sysSvcCdItems
   * @return
   */
  public ArrayList<HashMap<String, String>> getSystemServiceCodeItemFukushiYoguTaiyo(
      Map<String, String> map, ArrayList<HashMap<String, String>> sysSvcCdItems) {
    // パラメータ抽出
    // =========================================================================
    // 1330105 施設区分
    int _1330105 = getIntValue(map, "1330105");

    // 1330107 外部サービス
    int _1330107 = getIntValue(map, "1330107");

    // 1330118 福祉用具貸与-用具
    int _1330118 = getIntValue(map, "1330118");

    try {
      baseUnit = getIntValue(map, "1330119");
    } catch (Exception ex) {
      // 入力制限漏れがあったモジュールで作成したデータへの例外対応
      ACMessageBox.show(
          "特定施設入居者生活介護の外部サービス利用型(福祉用具貸与)の単位数に数字以外が入力されています。"
              + ACConstants.LINE_SEPARATOR
              + "不正な単位数のデータは計算されません。");
      return sysSvcCdItems;
    }
    // 独自コード生成
    // ===========================================================================
    StringBuilder sb = new StringBuilder();

    // 施設区分
    sb.append(CODE_CHAR[_1330105]);

    // 外部サービス
    sb.append(CODE_CHAR[_1330107]);

    // 福祉用具貸与-用具
    sb.append(CODE_CHAR[_1330118]);

    putSystemServiceCodeItem(sysSvcCdItems, sb.toString());

    return sysSvcCdItems;
  }
  public void openPDF(String pdfPath) throws Exception {
    String acrobatPath = "";
    if (ACFrame.getInstance().hasProperity("Acrobat/Path")) {
      acrobatPath = ACFrame.getInstance().getProperity("Acrobat/Path");
    }

    String[] arg = {"", pdfPath};
    String osName = System.getProperty("os.name");
    if (osName.startsWith("Mac")) {
      arg[0] = "open";
    } else {
      arg[0] = acrobatPath;
      if (!new File(acrobatPath).exists()) {
        // アクロバットが存在しない
        ACMessageBox.showExclamation(
            "PDFの設定が正しくありません。"
                + ACConstants.LINE_SEPARATOR
                + "[メインメニュー]-[設定(S)]-[PDF設定(P)]よりAcrobatの設定を行ってください。");
        return;
      }
    }
    Runtime.getRuntime().exec(arg);
  }
 protected void showMaxLengthError() {
   ACMessageBox.show("対処方針はトータルで45文字までしか印刷されません。");
 }
 /**
  * PDFビューワを発見できなかった場合の処理です。
  *
  * @throws Exception 処理例外
  */
 protected void processErrorOnPDFViewerNotFound() throws Exception {
   ACMessageBox.showExclamation("PDFビューワの設定を取得できません。");
 }
 /**
  * PDFファイルの作成を拒否された場合の処理です。
  *
  * @throws Exception 処理例外
  */
 protected void processErrorOnPDFFileCreate() throws Exception {
   ACMessageBox.showExclamation(
       "印刷に失敗しました。" + ACConstants.LINE_SEPARATOR + "PDFファイルを作成する権限がありません。");
 }
 /**
  * PDFファイルの生成先フォルダの作成に失敗した場合の処理です。
  *
  * @throws Exception 処理例外
  */
 protected void processErrorOnPDFDirectoryCreate() throws Exception {
   ACMessageBox.showExclamation(
       "印刷に失敗しました。" + ACConstants.LINE_SEPARATOR + "PDFファイルの作成先フォルダを生成できません。");
 }
예제 #10
0
  /**
   * 「比較」イベントです。
   *
   * @param e イベント情報
   * @throws Exception 処理例外
   */
  protected void compareActionPerformed(ActionEvent e) throws Exception {
    // 比較

    if (!new File(getPdf1().getText()).exists()) {
      ACMessageBox.showExclamation("PDF1が見つかりません。");
      return;
    }
    if (!new File(getPdf2().getText()).exists()) {
      ACMessageBox.showExclamation("PDF2が見つかりません。");
      return;
    }

    final PdfReader p1 = new PdfReader(getPdf1().getText());
    final PdfReader p2 = new PdfReader(getPdf2().getText());
    final int pages1 = p1.getNumberOfPages();
    final int pages2 = p2.getNumberOfPages();

    if (pages1 != pages2) {
      if (pages1 > pages2) {
        ACMessageBox.showExclamation("PDF1よりもPDF2のページ数が少ないです。");
        return;
      }
      if (ACMessageBox.showOkCancel(
              "PDFのページ数が異なります。" + ACConstants.LINE_SEPARATOR + "PDF1のすべてのページがPDF2に含まれるかで比較しますか?")
          != ACMessageBox.RESULT_OK) {
        return;
      }
    }

    new Runnable() {
      private boolean firstLock;

      public void run() {
        final int stopKeyCode = KeyEvent.VK_CAPS_LOCK;
        firstLock = Toolkit.getDefaultToolkit().getLockingKeyState(stopKeyCode);

        LinkedList<Integer> pages = new LinkedList<Integer>();
        for (int i = 1; i <= pages2; i++) {
          pages.add(new Integer(i));
        }

        errorCount = 0;
        pageOfProcessed = 0;
        pageOfCount = pages1;
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i <= pages1; i++) {
          try {
            boolean match = false;
            byte[] b1 = p1.getPageContent(i);
            Iterator<Integer> it = pages.iterator();
            while (it.hasNext()) {
              int page = ((Integer) it.next()).intValue();
              byte[] b2 = p2.getPageContent(page);
              if (Arrays.equals(b1, b2)) {
                sb.append("○PDF1(" + i + ") = PDF2(" + page + ")" + ACConstants.LINE_SEPARATOR);
                match = true;
                it.remove();
                break;
              }
            }
            if (!match) {
              sb.append("×PDF1(" + i + ") 【一致なし】" + ACConstants.LINE_SEPARATOR);
              errorCount++;
            }
          } catch (Exception ex) {
            sb.append("※PDF1(" + i + ") 【処理例外】" + ACConstants.LINE_SEPARATOR);
            errorCount++;
          }

          setProgress(sb);
          pageOfProcessed = i;

          if (Toolkit.getDefaultToolkit().getLockingKeyState(stopKeyCode) != firstLock) {
            getResult()
                .setText(
                    "!比較中断("
                        + pageOfProcessed
                        + " / "
                        + pageOfCount
                        + ") / 不一致数:"
                        + errorCount
                        + " 件"
                        + ACConstants.LINE_SEPARATOR
                        + sb.toString());
            return;
          }
        }

        getResult()
            .setText(
                "■比較完了("
                    + pageOfProcessed
                    + " / "
                    + pageOfCount
                    + ") / 不一致数:"
                    + errorCount
                    + " 件"
                    + ACConstants.LINE_SEPARATOR
                    + sb.toString());
      }
    }.run();
  }