예제 #1
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param req リクエスト
   * @return エラー
   * @throws SQLException SQL実行例外
   */
  public ActionErrors validate030(Connection con, HttpServletRequest req) throws SQLException {

    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;
    GsMessage gsMsg = new GsMessage();
    // 送信先
    String textSendMember = gsMsg.getMessage(req, "project.src.35");
    // 送信先
    // 未選択チェック
    if (prj030sendMember__ == null || prj030sendMember__.length < 1) {
      msg = new ActionMessage("error.select.required.text", textSendMember);
      StrutsUtil.addMessage(errors, msg, "prj050status.error.select.required.text");

    } else {
      // 削除済みチェック
      ArrayList<String> memList = new ArrayList<String>();
      for (String member : prj030sendMember__) {
        memList.add(member);
      }
      CmnUsrmDao udao = new CmnUsrmDao(con);
      int count = udao.getCountDeleteUser(memList);
      if (count > 0) {
        msg = new ActionMessage("error.select.user.delete", textSendMember);
        StrutsUtil.addMessage(errors, msg, "prj050hdnTanto.error.select.user.delete");
      }
    }

    return errors;
  }
예제 #2
0
  /**
   * <br>
   * [機 能] 削除(TODO情報)ボタンクリック時の入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param buMdl セッションユーザ情報
   * @param reqMdl RequestModel
   * @return エラー
   * @throws SQLException SQL実行例外
   */
  public ActionErrors validateDelTodo(Connection con, BaseUserModel buMdl, RequestModel reqMdl)
      throws SQLException {

    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;
    GsMessage gsMsg = new GsMessage(reqMdl);
    // 削除
    String textDelete = gsMsg.getMessage("cmn.delete");
    PrjCommonBiz pcBiz = new PrjCommonBiz(con, gsMsg, reqMdl);
    if (!pcBiz.getTodoEditKengen(getPrj030prjSid(), buMdl)) {
      msg = new ActionMessage("error.not.edit.permissions.project", textDelete);
      StrutsUtil.addMessage(
          errors, msg, "prj030selectEditStatus.error.not.edit.permissions.project");
      return errors;
    }

    // 選択されたTODO
    if (prj030selectTodo__ == null || prj030selectTodo__.length < 1) {
      msg = new ActionMessage("error.select.required.text", GSConstProject.MSG_TODO);
      StrutsUtil.addMessage(errors, msg, "prj030selectTodo.error.select.required.text");
    }

    if (errors.isEmpty()) {
      List<Integer> prjSidList = new ArrayList<Integer>();
      prjSidList.add(getPrj030prjSid());

      validateCanEditTodo(errors, con, buMdl, prjSidList, "prj030selectTodo", textDelete, reqMdl);
    }

    return errors;
  }
예제 #3
0
  /**
   * <br>
   * [機 能] 経路に追加ボタン押下時処理を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param map アクションマッピング
   * @param form アクションフォーム
   * @param req リクエスト
   * @param res レスポンス
   * @param con コネクション
   * @throws Exception 実行時例外
   * @return ActionForward
   */
  private ActionForward __doSetChannel(
      ActionMapping map,
      Rng020Form form,
      HttpServletRequest req,
      HttpServletResponse res,
      Connection con)
      throws Exception {

    GsMessage gsMsg = new GsMessage();
    String msg2 = gsMsg.getMessage(req, "rng.25");

    // 経路が選択されていない場合はエラーメッセージを表示
    if (form.getRng020rctSid() < 0) {
      ActionErrors errors = new ActionErrors();
      ActionMessage msg = new ActionMessage("error.select.required.text", msg2);
      StrutsUtil.addMessage(errors, msg, "rng020rctSid");
      addErrors(req, errors);
    } else {
      Rng020ParamModel paramMdl = new Rng020ParamModel();
      paramMdl.setParam(form);
      Rng020Biz biz = new Rng020Biz(con, getRequestModel(req));
      biz.setChannelForTemplate(paramMdl, getSessionUserSid(req));
      paramMdl.setFormData(form);
    }

    return __doDsp(map, form, req, res, con);
  }
예제 #4
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param reqMdl リクエスト情報
   * @return エラー
   */
  public ActionErrors ipk070ValidateCheck(RequestModel reqMdl) {

    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;

    GsMessage gsMsg = new GsMessage(reqMdl);
    String textKeyword = gsMsg.getMessage("cmn.keyword");
    String searchTarget = gsMsg.getMessage("cmn.search2");

    // -- キーワード --
    if (!StringUtil.isNullZeroStringSpace(ipk070KeyWord__)) {
      errors =
          IpkValidate.validateSearchFieldText(
              errors,
              textKeyword,
              ipk070KeyWord__,
              "ipk070KeyWord",
              IpkConst.MAX_LENGTH_IPAD,
              true);
    }

    // -- 検索対象未選択チェック --
    if (ipk070SearchTarget__ == null || ipk070SearchTarget__.length == 0) {
      msg = new ActionMessage("error.select.required.text", searchTarget);
      StrutsUtil.addMessage(errors, msg, "ipk070SearchTarget");
    }
    return errors;
  }
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param gsMsg GsMessage
   * @param usrSid ユーザSID
   * @return エラー
   * @throws SQLException SQL実行時例外
   */
  public ActionErrors validateCmnDownload(Connection con, GsMessage gsMsg, int usrSid)
      throws SQLException {
    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;

    if (StringUtil.isNullZeroString(binSid__)) {
      // 未入力
      msg =
          new ActionMessage("error.input.required.text", gsMsg.getMessage(GSConstApi.TEXT_BIN_SID));
      StrutsUtil.addMessage(errors, msg, "binSid");

    } else if (!ValidateUtil.isNumber(binSid__)) {
      // 数字チェック
      msg =
          new ActionMessage(
              "error.input.number.hankaku", gsMsg.getMessage(GSConstApi.TEXT_BIN_SID));
      StrutsUtil.addMessage(errors, msg, "binSid");
    }

    if (StringUtil.isNullZeroString(smlSid__)) {
      // 未入力
      msg =
          new ActionMessage("error.input.required.text", gsMsg.getMessage(GSConstApi.TEXT_SML_SID));
      StrutsUtil.addMessage(errors, msg, "smlSid");

    } else if (!ValidateUtil.isNumber(smlSid__)) {
      // 数字チェック
      msg =
          new ActionMessage(
              "error.input.number.hankaku", gsMsg.getMessage(GSConstApi.TEXT_SML_SID));
      StrutsUtil.addMessage(errors, msg, "smlSid");
    }
    if (errors.size() < 1) {
      // ショートメール添付ファイルチェック
      if (!__isFileOk(usrSid, con)) {
        msg =
            new ActionMessage(
                "search.notfound.tdfkcode", gsMsg.getMessage(GSConstApi.TEXT_TEMP_FILE));
        StrutsUtil.addMessage(errors, msg, "smlSid");
      }
    }

    return errors;
  }
예제 #6
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param req リクエスト
   * @return エラー
   * @throws SQLException SQL実行例外
   */
  public ActionErrors validate024(HttpServletRequest req) throws SQLException {
    GsMessage gsMsg = new GsMessage();
    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;
    // カテゴリ
    String textCategory = gsMsg.getMessage(req, "cmn.label");
    if (NullDefault.getInt(prj024cateSlc__, -2) < -1) {
      msg = new ActionMessage("error.select.required.text", textCategory);
      StrutsUtil.addMessage(errors, msg, "prj020status.error.select.required.text");
    }

    return errors;
  }
예제 #7
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param req リクエスト
   * @throws Exception 実行例外
   * @return エラー
   */
  public ActionErrors validateCheck(HttpServletRequest req) throws Exception {
    ActionErrors errors = new ActionErrors();

    // フィルター名入力チェック
    GSValidateSmail.validateTextBoxInput(
        errors,
        sml340FilterName__,
        "sml340FilterName",
        getInterMessage(req, GSConstSmail.TEXT_FILTER),
        GSConstSmail.MAXLEN_SEARCH_KEYWORD,
        true);

    // 条件未選択
    if (sml340condition1__ == null
        && sml340condition2__ == null
        && sml340condition3__ == null
        && sml340condition4__ == null
        && sml340condition5__ == null
        && sml340tempFile__.equals("0")) {
      String msgKey = "error.select.required.text";
      ActionMessage msg =
          new ActionMessage(msgKey, getInterMessage(req, GSConstSmail.TEXT_CONDITION));
      StrutsUtil.addMessage(errors, msg, "wml230condition." + msgKey);
    }

    // 条件チェック
    validateCondition(errors, req);

    // ラベル選択チェック
    if (sml340actionLabel__.equals("1") && sml340actionLabelValue__.equals("-1")) {
      String msgKey = "error.select.required.text";
      ActionMessage msg =
          new ActionMessage(msgKey, getInterMessage(req, GSConstSmail.TEXT_SEL_LABEL));
      StrutsUtil.addMessage(errors, msg, "wml230selLabel." + msgKey);
    }
    return errors;
  }
예제 #8
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param req リクエスト
   * @return errors エラー
   * @throws SQLException SQL実行時例外
   */
  public ActionErrors validateCheck(Connection con, HttpServletRequest req) throws SQLException {
    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;
    errors = GSValidateCommon.validateDateFieldText(errors, baseDay__, "baseDay", "取得開始日", false);
    if (!errors.isEmpty()) {
      return errors;
    }
    selfDataOnTop__ = NullDefault.getString(selfDataOnTop__, "1");
    if (!GSValidateUtil.isNumber(selfDataOnTop__)) {
      msg = new ActionMessage("error.input.number.hankaku", "自己データ表示フラグ");
      StrutsUtil.addMessage(errors, msg, "selfDataOnTop");
      return errors;
    }

    return errors;
  }
예제 #9
0
  /**
   * <br>
   * [機 能] ユーザ削除可能チェック <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータ情報
   * @param reqMdl リクエスト情報
   * @param con コネクション
   * @throws SQLException SQL実行時例外
   * @return jsonData JSONObject
   */
  public ActionErrors checkCanDelUsr(Sml250ParamModel paramMdl, RequestModel reqMdl, Connection con)
      throws SQLException {

    ActionErrors errors = new ActionErrors();

    if (paramMdl.getSml250DefActUsrSid() > 0) {

      for (String sid : paramMdl.getSml250userKbnUserSelect()) {
        if (sid.equals(String.valueOf(paramMdl.getSml250DefActUsrSid()))) {
          ActionMessage msg = null;
          msg =
              new ActionMessage(
                  "error.common.no.delete",
                  StringUtilHtml.transToHTmlPlusAmparsant(paramMdl.getSml250name()));
          StrutsUtil.addMessage(errors, msg, "usrSid");
        }
      }
    }
    return errors;
  }
예제 #10
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param req リクエスト
   * @throws Exception 実行例外
   * @return エラー
   */
  public ActionErrors validateCheck(HttpServletRequest req) throws Exception {
    ActionErrors errors = new ActionErrors();

    // フィルター名入力チェック
    GSValidateWebmail.validateTextBoxInput(
        errors,
        wml230FilterName__,
        "wml230FilterName",
        getInterMessage(req, GSConstWebmail.TEXT_FILTER),
        GSConstWebmail.MAXLEN_SEARCH_KEYWORD,
        true);

    // 条件未選択
    if (wml230condition1__ == null
        && wml230condition2__ == null
        && wml230condition3__ == null
        && wml230condition4__ == null
        && wml230condition5__ == null
        && wml230tempFile__.equals("0")) {
      String msgKey = "error.select.required.text";
      ActionMessage msg =
          new ActionMessage(msgKey, getInterMessage(req, GSConstWebmail.TEXT_CONDITION));
      StrutsUtil.addMessage(errors, msg, "wml230condition." + msgKey);
    }

    // 条件チェック
    validateCondition(errors, req);

    // 転送先メールアドレスチェック
    if (!(wml230actionSend__.equals("0"))) {
      List<String> addressList = new ArrayList<String>();
      for (int sendNo = 0; sendNo < wml230actionSendValue__.length; sendNo++) {
        String fwAddress = wml230actionSendValue__[sendNo];
        boolean errorFlg =
            GSValidateWebmail.validateMailTextBoxInput(
                errors,
                fwAddress,
                "wml230actionSendValue" + sendNo,
                getInterMessage(req, GSConstWebmail.TEXT_FORWARDADRESS) + (sendNo + 1),
                GSConstWebmail.MAXLEN_CONDITION_KEYWORD,
                true);

        // 重複チェック
        if (!errorFlg) {
          int dupIndex = addressList.indexOf(fwAddress);
          if (dupIndex >= 0) {
            String msgKey = "error.select.dup.list2";
            String[] msgParam = {
              getInterMessage(req, GSConstWebmail.TEXT_FORWARDADRESS) + (sendNo + 1),
              getInterMessage(req, GSConstWebmail.TEXT_FORWARDADRESS) + (dupIndex + 1)
            };
            ActionMessage msg = new ActionMessage(msgKey, msgParam);
            StrutsUtil.addMessage(errors, msg, "wml230actionSendValue." + sendNo + msgKey);
          }
          addressList.add(fwAddress);
        }
      }
    }

    // ラベル選択チェック
    if (wml230actionLabel__.equals("1") && wml230actionLabelValue__.equals("-1")) {
      String msgKey = "error.select.required.text";
      ActionMessage msg =
          new ActionMessage(msgKey, getInterMessage(req, GSConstWebmail.TEXT_SEL_LABEL));
      StrutsUtil.addMessage(errors, msg, "wml230selLabel." + msgKey);
    }
    return errors;
  }
예제 #11
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param reqMdl リクエスト情報
   * @param sessionUsrSid セッションユーザSID
   * @return errors エラー
   * @throws SQLException SQL実行時例外
   */
  public ActionErrors validateCheck(Connection con, RequestModel reqMdl, int sessionUsrSid)
      throws SQLException {

    ActionErrors errors = new ActionErrors();
    ActionMessage msg = null;
    boolean errorFlg = false;
    GsMessage gsMsg = new GsMessage(reqMdl);
    // 利用目的 未入力チェック
    if (StringUtil.isNullZeroString(rsv210Mokuteki__)) {
      msg = new ActionMessage("error.input.required.text", gsMsg.getMessage("reserve.72"));
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
      // 利用目的 桁数チェック
    } else if (rsv210Mokuteki__.length() > GSConstReserve.MAX_LENGTH_MOKUTEKI) {
      msg =
          new ActionMessage(
              "error.input.length.text",
              gsMsg.getMessage("reserve.72"),
              String.valueOf(GSConstReserve.MAX_LENGTH_MOKUTEKI));
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
      // 利用目的 スペースのみチェック
    } else if (ValidateUtil.isSpace(rsv210Mokuteki__)) {
      msg = new ActionMessage("error.input.spase.only", gsMsg.getMessage("reserve.72"));
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
      // 利用目的 先頭スペースチェック
    } else if (ValidateUtil.isSpaceStart(rsv210Mokuteki__)) {
      msg = new ActionMessage("error.input.spase.start", gsMsg.getMessage("reserve.72"));
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
      // 利用目的 タブスペースチェック
    } else if (ValidateUtil.isTab(rsv210Mokuteki__)) {
      msg = new ActionMessage("error.input.tab.text", gsMsg.getMessage("reserve.72"));
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
      // 利用目的 JIS第2水準チェック
    } else if (!GSValidateUtil.isGsJapaneaseString(rsv210Mokuteki__)) {
      // 利用不可能な文字を入力した場合
      String nstr = GSValidateUtil.getNotGsJapaneaseString(rsv210Mokuteki__);
      msg = new ActionMessage("error.input.njapan.text", gsMsg.getMessage("reserve.72"), nstr);
      StrutsUtil.addMessage(errors, msg, "rsv210Mokuteki");
      errorFlg = true;
    }

    // 時間大小チェック
    String timeFrom =
        StringUtil.toDecFormat(rsv210SelectedHourFr__, "00")
            + StringUtil.toDecFormat(rsv210SelectedMinuteFr__, "00");

    String timeTo =
        StringUtil.toDecFormat(rsv210SelectedHourTo__, "00")
            + StringUtil.toDecFormat(rsv210SelectedMinuteTo__, "00");

    boolean timeError = Integer.parseInt(timeFrom) >= Integer.parseInt(timeTo);
    if (timeError) {
      msg =
          new ActionMessage(
              "error.input.comp.text",
              gsMsg.getMessage("reserve.159"),
              gsMsg.getMessage("cmn.start.lessthan.end"));
      StrutsUtil.addMessage(errors, msg, "rsvtime");
      errorFlg = true;
    }

    // 内容
    if (!StringUtil.isNullZeroString(rsv210Naiyo__)) {
      // 内容 桁数チェック
      if (rsv210Naiyo__.length() > GSConstReserve.MAX_LENGTH_NAIYO) {
        msg =
            new ActionMessage(
                "error.input.length.textarea",
                gsMsg.getMessage("cmn.content"),
                String.valueOf(GSConstReserve.MAX_LENGTH_NAIYO));
        StrutsUtil.addMessage(errors, msg, "rsv210Naiyo");
        errorFlg = true;
      }
      // 内容 スペース・改行のみチェック
      if (ValidateUtil.isSpaceOrKaigyou(rsv210Naiyo__)) {
        msg = new ActionMessage("error.input.spase.cl.only", gsMsg.getMessage("cmn.content"));
        StrutsUtil.addMessage(errors, msg, "rsv210Naiyo");
        errorFlg = true;
      }
      // 内容 JIS第2水準チェック
      if (!GSValidateUtil.isGsJapaneaseStringTextArea(rsv210Naiyo__)) {
        // 利用不可能な文字を入力した場合
        String nstr = GSValidateUtil.getNotGsJapaneaseStringTextArea(rsv210Naiyo__);
        msg = new ActionMessage("error.input.njapan.text", gsMsg.getMessage("cmn.content"), nstr);
        StrutsUtil.addMessage(errors, msg, "rsv210Naiyo");
        errorFlg = true;
      }
    }

    // 予約チェック
    if (!errorFlg) {
      ArrayList<String> hiddArray = __getIkkatuKey();

      RsvSisDataDao dataDao = new RsvSisDataDao(con);
      HashMap<Integer, Rsv210Model> map = dataDao.getIkkatuTorokuGroupMap(hiddArray);

      for (String key : hiddArray) {

        errorFlg = false;

        // 施設の情報を取得
        String sisetuSid = key.substring(key.indexOf("-") + 1);

        Rsv210Model mapMdl = map.get(new Integer(sisetuSid));
        if (mapMdl == null) {
          continue;
        }

        // 予約可能期限チェック(期限が設定されていればチェックする)
        String kigen = mapMdl.getRsdProp6();
        if (!StringUtil.isNullZeroString(kigen)) {

          // 施設グループ管理者の場合は予約可能期限チェックをパスする
          RsvCommonBiz rsvBiz = new RsvCommonBiz();
          if (!rsvBiz.isGroupAdmin(con, new Integer(sisetuSid), reqMdl.getSmodel().getUsrsid())) {

            UDate now = new UDate();
            UDate udKigen = now.cloneUDate();
            udKigen.addDay(Integer.parseInt(kigen));

            String kigenYmd = udKigen.getDateString();
            String keyYmd = key.substring(0, key.indexOf("-"));

            if (Integer.parseInt(keyYmd) > Integer.parseInt(kigenYmd)) {

              UDate errDay = new UDate();
              errDay.setDate(keyYmd);
              String errDayStr =
                  gsMsg.getMessage("cmn.year", new String[] {errDay.getStrYear()})
                      + errDay.getStrMonth()
                      + gsMsg.getMessage("cmn.month")
                      + errDay.getStrDay()
                      + gsMsg.getMessage("cmn.day")
                      + "("
                      + UDateUtil.getStrWeek(errDay.getWeek(), reqMdl)
                      + ") "
                      + mapMdl.getRsdName();

              String kigenStr =
                  gsMsg.getMessage("cmn.comments")
                      + mapMdl.getRsdProp6()
                      + gsMsg.getMessage("cmn.days.after");

              msg = new ActionMessage("error.kigen.over.sisetu", errDayStr, kigenStr);
              StrutsUtil.addMessage(errors, msg, "sisetu" + key);
              errorFlg = true;
            }
          }
        }

        // 重複のチェック(重複登録 = 不可の場合にチェック)
        String tyohuku = mapMdl.getRsdProp7();
        if (!errorFlg
            && !StringUtil.isNullZeroString(tyohuku)
            && Integer.parseInt(tyohuku) == GSConstReserve.PROP_KBN_HUKA) {

          RsvSisYrkDao yrkDao = new RsvSisYrkDao(con);

          UDate[] chkDate = __getYrkDate(key);
          UDate udYrk = chkDate[0];
          UDate chkFrDate = chkDate[1];
          UDate chkToDate = chkDate[2];

          // 登録予定の時間帯に既に予約がある場合はエラー
          if (!yrkDao.isYrkOk(-1, Integer.parseInt(sisetuSid), chkFrDate, chkToDate)) {

            String errDayStr =
                gsMsg.getMessage("cmn.year", new String[] {udYrk.getStrYear()})
                    + udYrk.getStrMonth()
                    + gsMsg.getMessage("cmn.month")
                    + udYrk.getStrDay()
                    + gsMsg.getMessage("cmn.day")
                    + "("
                    + UDateUtil.getStrWeek(udYrk.getWeek(), reqMdl)
                    + ") "
                    + mapMdl.getRsdName();

            msg = new ActionMessage("error.yrk.exist.reserve", errDayStr);
            StrutsUtil.addMessage(errors, msg, "tyohuku" + key);
          }
        }
      }
    }

    // スケジュール重複チェック
    if (!timeError) {

      RelationBetweenScdAndRsvChkBiz schChkBiz = new RelationBetweenScdAndRsvChkBiz(reqMdl, con);

      if (rsv210SchKbn__ == GSConstReserve.RSV_SCHKBN_GROUP) {
        String grpSid = getRsv210SchGroupSid();
        if (NullDefault.getInt(grpSid, -1) >= 0) {

          // 例外アクセス
          schChkBiz.validateSpCaceGroupForSchedule(
              errors, grpSid, sessionUsrSid, "rsv210SchGroupSid");

          //                    schChkBiz.validateGroupForSchedule(errors, grpSid,
          //                            sessionUsrSid, "rsv210SchGroupSid");
        }
      } else {

        String[] users = getSv_users();
        if (rsv210SchKbn__ == GSConstReserve.RSV_SCHKBN_USER && users != null && users.length > 0) {

          ArrayList<String> hiddArray = __getIkkatuKey();
          List<UDate[]> dateList = new ArrayList<UDate[]>();
          for (String key : hiddArray) {
            UDate[] chkDate = __getYrkDate(key);
            dateList.add(new UDate[] {chkDate[1], chkDate[2]});
          }

          // 例外アクセス
          schChkBiz.validateSpCaceUserForSchedule(errors, users, sessionUsrSid, "sv_users");

          schChkBiz.validateDateForSchedule(
              errors, dateList, users, 0, false, sessionUsrSid, "rsv210Date");
        }
      }
    }

    return errors;
  }
예제 #12
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param reqMdl リクエスト情報
   * @param tempDir 添付DIR
   * @param con DBコネクション
   * @param netSid ネットワークSID
   * @param mode インポートモード
   * @return エラー
   * @throws SQLException SQL実行例外
   * @throws IOToolsException SQL実行例外
   * @throws Exception 実行例外
   */
  public ActionErrors validateCheck(
      RequestModel reqMdl, String tempDir, Connection con, int netSid, String mode)
      throws IOToolsException, SQLException, Exception {

    log__.debug("=== 入力チェック ===");
    ActionErrors errors = new ActionErrors();
    GsMessage gsMsg = new GsMessage(reqMdl);
    String textSelectFile = gsMsg.getMessage("cmn.capture.file");
    String textCsvFile = gsMsg.getMessage("cmn.csv.file.format");

    // インポートファイルチェック
    // テンポラリディレクトリにあるファイル名称を取得
    List<String> fileList = IOTools.getFileNames(tempDir);
    String saveFileName = "";
    String baseFileName = "";
    String eprefix = "inputFile.";
    if (fileList == null) {
      ActionMessage msg = new ActionMessage("error.select.required.text", textSelectFile);
      StrutsUtil.addMessage(errors, msg, eprefix + "error.select.required.text");
    } else {
      for (int i = 0; i < fileList.size(); i++) {
        // ファイル名を取得
        String fileName = fileList.get(i);
        if (!fileName.endsWith(GSConstCommon.ENDSTR_OBJFILE)) {
          continue;
        }

        // オブジェクトファイルを取得
        ObjectFile objFile = new ObjectFile(tempDir, fileName);
        Object fObj = objFile.load();
        if (fObj == null) {
          continue;
        }
        Cmn110FileModel fMdl = (Cmn110FileModel) fObj;
        saveFileName = fMdl.getSaveFileName();
        baseFileName = fMdl.getFileName();
      }
      boolean csvError = false;
      // 複数選択エラー
      if (fileList.size() > 2) {
        ActionMessage msg = new ActionMessage("error.input.notfound.file", textSelectFile);
        StrutsUtil.addMessage(errors, msg, eprefix + "error.input.notfound.file");
        csvError = true;
      } else {
        // 拡張子チェック
        String strExt = StringUtil.getExtension(baseFileName);
        if (strExt == null || !strExt.toUpperCase().equals(".CSV")) {
          ActionMessage msg = new ActionMessage("error.select.required.text", textCsvFile);
          StrutsUtil.addMessage(errors, msg, eprefix + "error.select.required.text");
          csvError = true;
        }
      }
      if (!csvError) {
        String fullPath = tempDir + saveFileName;
        ArrayList<String> ipadListCsv = new ArrayList<String>();
        IpkCsvCheck csvCheck = new IpkCsvCheck(errors, con, netSid, mode, ipadListCsv, reqMdl);
        // CSVチェック
        csvCheck.isCsvDataOk(fullPath);
      }
    }
    return errors;
  }
예제 #13
0
  /**
   * <br>
   * [機 能] 入力チェックを行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param map アクションマッピング
   * @param req リクエスト
   * @param con コネクション
   * @param sessionUsrSid ユーザSID
   * @return エラー
   * @throws SQLException SQL実行時例外
   */
  public Map<Integer, ActionErrors> validateCheck(
      ActionMapping map, HttpServletRequest req, Connection con, int sessionUsrSid)
      throws SQLException {

    ActionMessage msg = null;
    GsMessage gsMsg = new GsMessage();

    // 行番号とエラー内容を格納するMAP
    Map<Integer, ActionErrors> errorsMap = new TreeMap<Integer, ActionErrors>();

    for (Ntp030Param ntpData : ntp030nippouDataList__) {

      ActionErrors errors = new ActionErrors();

      String number = String.valueOf(ntpData.getRowId());
      String ntpYear = String.valueOf(ntpData.getNtpYear());
      String ntpMonth = String.valueOf(ntpData.getNtpMonth());
      String ntpDay = String.valueOf(ntpData.getNtpDay());
      String frHour = String.valueOf(ntpData.getFrHour());
      String frMin = String.valueOf(ntpData.getFrMin());
      String toHour = String.valueOf(ntpData.getToHour());
      String toMin = String.valueOf(ntpData.getToMin());
      String title = String.valueOf(ntpData.getTitle());
      String naiyou = String.valueOf(ntpData.getValueStr());

      // 開始年月日チェックフラグ(true=入力OK、false=NG)
      boolean fromOk = false;

      int iSYear = -1;
      if (!StringUtil.isNullZeroStringSpace(ntpYear)) {
        iSYear = Integer.parseInt(ntpYear);
      }
      int iSMonth = Integer.parseInt(ntpMonth);
      int iSDay = Integer.parseInt(ntpDay);

      UDate frDate = new UDate();
      frDate.setDate(iSYear, iSMonth, iSDay);
      frDate.setSecond(GSConstSchedule.DAY_START_SECOND);
      frDate.setMilliSecond(GSConstSchedule.DAY_START_MILLISECOND);
      if (frDate.getYear() != iSYear
          || frDate.getMonth() != iSMonth
          || frDate.getIntDay() != iSDay) {
        msg =
            new ActionMessage(
                "error.input.notfound.date", gsMsg.getMessage(req, "schedule.sch100.10"));
        errors.add("error.input.notfound.date", msg);
        log__.debug("error:1");
      } else {
        fromOk = true;
      }

      // 終了年月日チェックフラグ(true=入力OK、false=NG)
      boolean toOk = false;

      int iEYear = -1;
      if (!StringUtil.isNullZeroStringSpace(ntpYear)) {
        iEYear = Integer.parseInt(ntpYear);
      }
      int iEMonth = Integer.parseInt(ntpMonth);
      int iEDay = Integer.parseInt(ntpDay);

      UDate toDate = new UDate();
      toDate.setDate(iEYear, iEMonth, iEDay);
      toDate.setSecond(GSConstSchedule.DAY_START_SECOND);
      toDate.setMilliSecond(GSConstSchedule.DAY_START_MILLISECOND);
      if (toDate.getYear() != iEYear
          || toDate.getMonth() != iEMonth
          || toDate.getIntDay() != iEDay) {
        msg =
            new ActionMessage(
                "error.input.notfound.date", gsMsg.getMessage(req, "schedule.sch100.15"));
        errors.add("error.input.notfound.date", msg);
        log__.debug("error:2");
      } else {
        toOk = true;
      }

      if (fromOk && toOk && ntp030TimeKbn__.equals(String.valueOf(GSConstSchedule.TIME_EXIST))) {

        if (frHour.equals("-1")
            || frMin.equals("-1")
            || toHour.equals("-1")
            || toMin.equals("-1")) {
          // 時分
          String textHourMinute = gsMsg.getMessage(req, "schedule.src.36");
          msg = new ActionMessage("error.input.required.text", textHourMinute);
          errors.add("" + "error.input.required.text", msg);
          fromOk = false;
        }
      }

      // 個別チェックOKの場合
      if (fromOk && toOk) {

        if (ntp030TimeKbn__.equals(String.valueOf(GSConstSchedule.TIME_EXIST))) {
          if (frHour.equals("-1") && frMin.equals("-1")) {
            frDate.setHour(GSConstSchedule.DAY_START_HOUR);
            frDate.setMinute(GSConstSchedule.DAY_START_MINUTES);
          } else {
            frDate.setHour(Integer.parseInt(frHour));
            frDate.setMinute(Integer.parseInt(frMin));
          }
          if (toHour.equals("-1") && toMin.equals("-1")) {
            toDate.setHour(GSConstSchedule.DAY_END_HOUR);
            toDate.setMinute(GSConstSchedule.DAY_SYSMAX_MINUTES);
          } else {
            toDate.setHour(Integer.parseInt(toHour));
            toDate.setMinute(Integer.parseInt(toMin));
          }
        } else {
          frDate.setZeroHhMmSs();
          toDate.setMaxHhMmSs();
        }

        // from~to大小チェック
        if (frDate.compare(frDate, toDate) != UDate.LARGE) {
          // 開始 < 終了
          String textStartLessEnd = gsMsg.getMessage(req, "cmn.start.lessthan.end");
          // 開始・終了
          String textStartEnd = gsMsg.getMessage(req, "cmn.start.end");
          msg = new ActionMessage("error.input.comp.text", textStartEnd, textStartLessEnd);
          errors.add("" + "error.input.comp.text", msg);
          log__.debug("error:5");
        }
      }

      // タイトルのチェック
      if (__checkNoInput(errors, title, "ntp030Title", gsMsg.getMessage(req, "cmn.title"))) {
        if (__checkRange(
            errors,
            title,
            "ntp030Title",
            gsMsg.getMessage(req, "cmn.title"),
            GSConstSchedule.MAX_LENGTH_TITLE)) {
          // 先頭スペースチェック
          if (ValidateUtil.isSpaceStart(title)) {
            // タイトル
            String textTitle = gsMsg.getMessage(req, "cmn.title");
            msg = new ActionMessage("error.input.spase.start", textTitle);
            StrutsUtil.addMessage(errors, msg, "ntp030Title");
          } else {
            __checkJisString(errors, title, "ntp030Title", gsMsg.getMessage(req, "cmn.title"));
          }
        }
      }
      boolean valueError = false;
      // 内容のチェック
      if (__checkRangeTextarea(
          errors,
          naiyou,
          "ntp030Value",
          gsMsg.getMessage(req, "cmn.content"),
          GSConstSchedule.MAX_LENGTH_VALUE)) {
        if (!StringUtil.isNullZeroString(naiyou)) {
          // スペースのみチェック
          if (!valueError && ValidateUtil.isSpaceOrKaigyou(naiyou)) {
            msg =
                new ActionMessage(
                    "error.input.spase.cl.only", gsMsg.getMessage(req, "cmn.content"));
            StrutsUtil.addMessage(errors, msg, "ntp030Value");
            valueError = true;
          }

          if (!valueError) {
            // JIS
            __checkJisString(errors, naiyou, "ntp030Value", gsMsg.getMessage(req, "cmn.content"));
          }
        }
      }

      if (errors.size() > 0) {
        errorsMap.put(Integer.valueOf(number), errors);
      }
    }
    return errorsMap;
  }