Exemple #1
0
  /**
   * <br>
   * [機 能] 初期表示を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param paramMdl パラメータ情報
   * @param userSid ユーザSID
   * @param reqMdl リクエスト情報
   * @throws SQLException SQL実行時例外
   */
  public void setInitData(
      Connection con, Sml310ParamModel paramMdl, int userSid, RequestModel reqMdl)
      throws SQLException {

    List<AccountDataModel> adMdlList = new ArrayList<AccountDataModel>();
    List<LabelDataModel> ldMdlList = new ArrayList<LabelDataModel>();
    Sml310Dao dao = new Sml310Dao(con);

    //        SmlCommonBiz comonBiz = new SmlCommonBiz(con, reqMdl);
    //        //アカウントリストを取得
    //        adMdlList = dao.getAccountList(userSid);
    //        paramMdl.setAcntList(comonBiz.getAcntCombo(reqMdl, adMdlList));
    // アカウント名取得
    int selectSacSid = paramMdl.getSmlAccountSid();
    SmlAccountDao sacDao = new SmlAccountDao(con);
    SmlAccountModel sacMdl = sacDao.select(selectSacSid);
    paramMdl.setSml310accountName(sacMdl.getSacName());

    // ラベルリストを取得
    int dspCnt = paramMdl.getDspCount();
    if (dspCnt == 0 && adMdlList.size() != 0) {
      paramMdl.setSmlAccountSid(adMdlList.get(0).getAccountSid());
      paramMdl.setDspCount(1);
    }

    int selectAccountNum = paramMdl.getSmlAccountSid();
    ldMdlList = dao.getLabelList(selectAccountNum);
    LabelDataModel sldDspMdl = null;

    int count = 0;
    // ラベルを画面表示用に加工する
    List<LabelDataModel> lbList = new ArrayList<LabelDataModel>();

    for (LabelDataModel sldSetMdl : ldMdlList) {
      sldDspMdl = new LabelDataModel();
      sldDspMdl.setLabelSid(sldSetMdl.getLabelSid());
      sldDspMdl.setLabelName(sldSetMdl.getLabelName());
      sldDspMdl.setLabelOrder(sldSetMdl.getLabelOrder());
      sldDspMdl.setLbValue(
          __getRadioValueStr(sldSetMdl.getLabelSid(), sldSetMdl.getLabelOrder(), count));
      count++;
      lbList.add(sldDspMdl);
    }
    paramMdl.setLbnList(lbList);

    // チェックされている並び順がNULLの場合、初期値設定
    if (StringUtil.isNullZeroString(paramMdl.getSml310SortRadio()) && ldMdlList.size() > 0) {

      LabelDataModel sldMdl = ldMdlList.get(0);
      paramMdl.setSml310SortRadio(
          __getRadioValueStr(sldMdl.getLabelSid(), sldMdl.getLabelOrder(), 0));
    }
  }
Exemple #2
0
  /**
   * <br>
   * [機 能] 順序変更処理 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param paramMdl パラメータ情報
   * @param changeKbn 処理区分 0:順序をあげる 1:順序を下げる
   * @throws SQLException SQL実行時例外
   */
  public void updateSort(Connection con, Sml310ParamModel paramMdl, int changeKbn)
      throws SQLException {

    // 画面表示全キーリスト取得
    String[] keyList = paramMdl.getSml310sortLabel();
    if (keyList == null || keyList.length < 1) {
      return;
    }

    // ラジオ選択値取得
    String selectedKey = paramMdl.getSml310SortRadio();
    if (StringUtil.isNullZeroString(selectedKey)) {
      return;
    }

    String[] selectKeyList = selectedKey.split(SORT_SEPARATE);

    // 画面表示順
    int selectedKeyDispNum = Integer.parseInt(selectKeyList[2]);
    log__.debug("画面表示順 = " + selectedKeyDispNum);

    // 画面の最初に表示されている項目 + 順位を上げる
    if (selectedKeyDispNum == 0 && changeKbn == GSConstSmail.SORT_UP) {
      return;
      // 画面の最後に表示されている項目 + 順位を下げる
    } else if (selectedKeyDispNum == keyList.length - 1 && changeKbn == GSConstSmail.SORT_DOWN) {
      return;
    }

    // 選択された項目のラベルSID + ソート順
    int motoSid = Integer.parseInt(selectKeyList[0]);
    int motoSort = Integer.parseInt(selectKeyList[1]);

    int sakiSid = -1;
    int sakiSort = -1;
    int target = selectedKeyDispNum;

    if (changeKbn == GSConstSmail.SORT_UP) {
      target -= 1;
    } else if (changeKbn == GSConstSmail.SORT_DOWN) {
      target += 1;
    }

    // 画面表示全キーから入れ替え先のデータを探す
    TreeMap<Integer, String> sortMap = new TreeMap<Integer, String>();
    for (String allKey : keyList) {

      String[] allKeyList = allKey.split(SORT_SEPARATE);
      int allKeyDispNum = Integer.parseInt(allKeyList[2]);

      if (allKeyDispNum == target) {
        sakiSid = Integer.parseInt(allKeyList[0]);
        sakiSort = Integer.parseInt(allKeyList[1]);
      } else if (allKeyDispNum > target) {
        sortMap.put(allKeyDispNum, allKey);
      }
    }

    if (sakiSid == -1 || sakiSort == -1) {
      return;
    }

    // 順序入れ替え
    if (motoSort == sakiSort) {
      motoSort++;
    }
    Sml310Dao dao = new Sml310Dao(con);
    dao.updateSort(motoSid, motoSort, sakiSid, sakiSort);

    int newSort = sakiSort;

    // 新しいキーを設定
    paramMdl.setSml310SortRadio(__getRadioValueStr(motoSid, newSort, target));
  }