Ejemplo n.º 1
0
  /**
   * <br>
   * [機 能] 順序変更処理 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param paramMdl パラメータ情報
   * @param sortKbn 処理区分 0:順序をあげる 1:順序を下げる
   * @param sessionUserSid セッションユーザSID
   * @throws SQLException SQL実行時例外
   */
  public void updateSort(Connection con, Ptl140ParamModel paramMdl, int sortKbn, int sessionUserSid)
      throws SQLException {

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

    HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();

    // 画面表示全ラジオの値をマップに格納
    int index = 0;
    for (String strRadio : keyList) {
      String[] sidSort = strRadio.split(SORT_SEPARATE);
      int sid = Integer.parseInt(sidSort[0]);
      map.put(sid, index);
      index++;
    }

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

    String[] selectKeyList = strSelectSort.split(SORT_SEPARATE);
    // 選択されたポートレットSID
    int selectSid = Integer.parseInt(selectKeyList[0]);
    // 選択された画面上の並び順
    int selectSort = map.get(selectSid);

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

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

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

    if (sortKbn == SORT_UP) {
      target -= 1;
    } else if (sortKbn == SORT_DOWN) {
      target += 1;
    }

    // 画面表示全キーから入れ替え先のデータを探す
    for (String allKey : keyList) {

      String[] allKeyList = allKey.split(SORT_SEPARATE);
      int allKeyDispSid = Integer.parseInt(allKeyList[0]);
      int dspSort = map.get(allKeyDispSid);

      if (dspSort == target) {
        sakiSid = Integer.parseInt(allKeyList[0]);
        sakiSort = Integer.parseInt(allKeyList[1]);
        break;
      }
    }

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

    // 順序入れ替え
    PtlPortalSortDao dao = new PtlPortalSortDao(con);
    dao.updateSort(motoSid, motoSort, sakiSid, sakiSort, sessionUserSid);

    // 新しいキーを設定
    paramMdl.setPtl140sortPortal(__getRadioValueStr(motoSid, sakiSort));
  }
Ejemplo n.º 2
0
  /**
   * <br>
   * [機 能] 初期表示処理を行います <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param con コネクション
   * @param paramMdl パラメータ情報
   * @param usrSid ユーザSID
   * @throws SQLException SQL実行時例外
   */
  public void initDsp(Connection con, Ptl140ParamModel paramMdl, int usrSid) throws SQLException {
    PtlPortalDao dao = new PtlPortalDao(con);

    // ポータルを取得する
    ArrayList<PtlPortalModel> list = dao.selectForUser(usrSid);
    if (list == null) {
      list = new ArrayList<PtlPortalModel>();
    } else {
      // ポータル個人並び順のレコードがあるか判定
      PtlPortalSortDao sortDao = new PtlPortalSortDao(con);
      ArrayList<PtlPortalSortModel> sortList = new ArrayList<PtlPortalSortModel>();
      sortList = sortDao.select(usrSid);

      // ポータルの個人並び順新規作成
      if (sortList.isEmpty() || sortList.size() != list.size()) {
        log__.debug("個人並び順なし");
        int sort = 1;

        // 一度並び順を削除してから登録
        sortDao.deleteSortForUser(usrSid);
        for (PtlPortalModel ptlMdl : list) {
          boolean commit = false;
          try {
            PtlPortalSortModel mdl = new PtlPortalSortModel();
            mdl.setPtlSid(ptlMdl.getPtlSid());
            mdl.setPtsKbn(GSConstPortal.PTS_KBN_USER);
            mdl.setPtsSort(sort);
            mdl.setUsrSid(usrSid);
            sortDao.insert(mdl);
            ptlMdl.setPtsSort(sort);
            sort++;
            con.commit();
            commit = true;
          } catch (SQLException e) {
            log__.error("ポータル登録処理エラー", e);
            throw e;
          } finally {
            if (!commit) {
              con.rollback();
            }
          }
        }
      }
    }

    for (PtlPortalModel model : list) {
      // html表示用に整形
      String dspSetumei = StringUtilHtml.transToHTml(model.getPtlDescription());
      // 整形したものを入れなおす
      model.setPtlDescription(dspSetumei);
    }
    if (!list.isEmpty()) {
      // ラジオの文字列作成
      for (PtlPortalModel model : list) {
        int sid = model.getPtlSid();
        int sort = model.getPtsSort();
        String strSort = __getRadioValueStr(sid, sort);
        model.setStrPtsSort(strSort);
      }
    }
    paramMdl.setPtl140portalList(list);

    // チェックされているラジオがNULLの場合、初期値設定
    if (StringUtil.isNullZeroString(paramMdl.getPtl140sortPortal()) && list.size() > 0) {

      PtlPortalModel model = list.get(0);
      paramMdl.setPtl140sortPortal(__getRadioValueStr(model.getPtlSid(), model.getPtsSort()));
    }

    // ポータル初期表示権限
    PtlAdmConfDao aConfDao = new PtlAdmConfDao(con);
    PtlAdmConfModel aConfModel = aConfDao.select();
    if (aConfModel == null) {
      aConfModel = new PtlAdmConfModel();
    }
    int pow = aConfModel.getPacDefKbn();
    paramMdl.setPtlDefPow(pow);
    // ポータルの表示順変更権限
    paramMdl.setPtlSortPow(aConfModel.getPacPtlEditkbn());

    // ポータルの初期表示取得
    PtlUconfModel uconfMdl = new PtlUconfModel();
    PtlUconfDao uconfDao = new PtlUconfDao(con);
    uconfMdl = uconfDao.select(usrSid);
    if (uconfMdl == null) {
      uconfMdl = new PtlUconfModel();
    }
    paramMdl.setPtlType(uconfMdl.getPucDefType());
  }
Ejemplo n.º 3
0
  /**
   * <br>
   * [機 能] ポータル情報の登録処理を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータ情報
   * @param con コネクション
   * @param cntCon MlCountMtController
   * @param userSid セッションユーザSID
   * @throws SQLException SQL実行例外
   */
  public void insertData(
      Ptl050knParamModel paramMdl, Connection con, MlCountMtController cntCon, int userSid)
      throws SQLException {

    PtlPortalDao ptlDao = new PtlPortalDao(con);
    PtlPortalSortDao ptlSortDao = new PtlPortalSortDao(con);
    PtlPortalLayoutDao ptlLayoutDao = new PtlPortalLayoutDao(con);
    PtlPortalConfReadDao ptlConfReadDao = new PtlPortalConfReadDao(con);
    PtlCommonBiz ptlBiz = new PtlCommonBiz(con);

    UDate now = new UDate();

    // ポータルSID採番
    int ptlSid =
        (int)
            cntCon.getSaibanNumber(
                GSConstPortal.SBNSID_SUB_PORTAL, GSConstPortal.SBNSID_SUB_PORTAL, userSid);

    // ポータル情報の登録
    PtlPortalModel ptlModel = new PtlPortalModel();
    ptlModel.setPtlSid(ptlSid);
    ptlModel.setPtlName(NullDefault.getString(paramMdl.getPtl050name(), ""));
    ptlModel.setPtlOpen(paramMdl.getPtl050openKbn());
    ptlModel.setPtlDescription(NullDefault.getString(paramMdl.getPtl050description(), ""));
    ptlModel.setPtlAccess(paramMdl.getPtl050accessKbn());
    ptlModel.setPtlAuid(userSid);
    ptlModel.setPtlAdate(now);
    ptlModel.setPtlEuid(userSid);
    ptlModel.setPtlEdate(now);
    ptlDao.insert(ptlModel);

    // 並び順の最大値を取得する。
    int maxSort = ptlSortDao.getMaxSort(GSConstPortal.PTS_KBN_COMMON);

    // ポータル並び順の登録
    PtlPortalSortModel ptlSortModel = new PtlPortalSortModel();
    ptlSortModel.setPtlSid(ptlSid);
    ptlSortModel.setPtsKbn(GSConstPortal.PTS_KBN_COMMON);
    ptlSortModel.setPtsSort(maxSort + 1);
    ptlSortModel.setUsrSid(0);
    ptlSortDao.insert(ptlSortModel);

    // ポータルレイアウトの登録
    PtlPortalLayoutModel ptlLayoutModel = new PtlPortalLayoutModel();
    ptlLayoutModel.setPtlSid(ptlSid);
    ptlLayoutModel.setPtsView(GSConstPortal.PTL_OPENKBN_OK);
    ptlLayoutModel.setPlyAuid(userSid);
    ptlLayoutModel.setPlyAdate(now);
    ptlLayoutModel.setPlyEuid(userSid);
    ptlLayoutModel.setPlyEdate(now);

    List<Integer> positionList = new ArrayList<Integer>();
    positionList.add(GSConstPortal.LAYOUT_POSITION_TOP);
    positionList.add(GSConstPortal.LAYOUT_POSITION_BOTTOM);
    positionList.add(GSConstPortal.LAYOUT_POSITION_LEFT);
    positionList.add(GSConstPortal.LAYOUT_POSITION_CENTER);
    positionList.add(GSConstPortal.LAYOUT_POSITION_RIGHT);

    for (Integer position : positionList) {
      ptlLayoutModel.setPlyPosition(position);
      ptlLayoutDao.insert(ptlLayoutModel);
    }

    // ポータル閲覧設定の登録
    if (paramMdl.getPtl050accessKbn() == GSConstPortal.PTL_ACCESS_ON) {

      String[] memberSids = paramMdl.getPtl050memberSid();
      if (memberSids != null && memberSids.length > 0) {
        ptlConfReadDao.insert(ptlSid, memberSids);
      }
    }

    // インフォメーションの登録
    int ptpSort = 1;
    ptlBiz.insertInfomation(ptlSid, userSid, GSConstPortal.LAYOUT_POSITION_TOP, ptpSort);
  }