Example #1
0
  /**
   * <br>
   * [機 能] テンプレートを削除する <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータモデル
   * @param reqMdl リクエストモデル
   * @param con コネクション
   * @return 削除したアンケート名
   * @throws SQLException SQL実行例外
   */
  public String doDelete(Enq230ParamModel paramMdl, RequestModel reqMdl, Connection con)
      throws SQLException {

    EnqCommonBiz enqBiz = new EnqCommonBiz(con);
    boolean commitFlg = false;
    String delEnqName = "";

    // セッションユーザ情報を取得
    BaseUserModel usModel = reqMdl.getSmodel();
    int sessionUsrSid = usModel.getUsrsid();
    try {
      con.setAutoCommit(false);

      for (String selectEnqSid : paramMdl.getEnq230selectEnqSid()) {
        if (delEnqName.length() > 0) {
          delEnqName += ",";
        }
        delEnqName += enqBiz.deleteEnquete(Long.parseLong(selectEnqSid), sessionUsrSid, con);
      }
      con.commit();
      commitFlg = true;
    } finally {
      if (!commitFlg) {
        JDBCUtil.rollback(con);
      }
    }

    return delEnqName;
  }
Example #2
0
  /**
   * <br>
   * [機 能] 初期表示情報を画面にセットする <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param reqMdl リクエスト情報
   * @param paramMdl パラメータ情報
   * @param con コネクション
   * @throws SQLException SQL実行例外
   */
  public void setInitData(RequestModel reqMdl, Sml120ParamModel paramMdl, Connection con)
      throws SQLException {

    // セッション情報を取得
    BaseUserModel usModel = reqMdl.getSmodel();
    int sessionUsrSid = usModel.getUsrsid();
    SmlCommonBiz cmnBiz = new SmlCommonBiz(reqMdl);
    SmlAdminModel admConf = cmnBiz.getSmailAdminConf(sessionUsrSid, con);

    // 転送管理者設定
    paramMdl.setSml120MailFwAdminConf(admConf.getSmaMailfw());

    // 管理者設定の表示設定
    int dspStype = GSConstSmail.DISP_CONF_USER;
    if (admConf.getSmaMaxDspStype() == GSConstSmail.DISP_CONF_ADMIN
        && admConf.getSmaReloadDspStype() == GSConstSmail.DISP_CONF_ADMIN
        && admConf.getSmaPhotoDspStype() == GSConstSmail.DISP_CONF_ADMIN
        && admConf.getSmaAttachDspStype() == GSConstSmail.DISP_CONF_ADMIN) {
      // 「管理者が設定する」のみの場合
      dspStype = GSConstSmail.DISP_CONF_ADMIN;
    }
    paramMdl.setSml120DispAdminConf(dspStype);

    // 自動削除設定
    paramMdl.setSml120MailDelAdminConf(admConf.getSmaAutoDelKbn());
  }
Example #3
0
  /**
   * <br>
   * [機 能] 設定された個人設定確認者情報をDBに保存する。 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Ntp091ParamModel
   * @param umodel ユーザ基本情報モデル
   * @param con コネクション
   * @throws SQLException SQL実行エラー
   */
  public void setPkakuninSetting(Ntp091ParamModel paramMdl, BaseUserModel umodel, Connection con)
      throws SQLException {

    boolean commitFlg = false;
    try {
      // DB削除
      NtpPriKakuninDao dao = new NtpPriKakuninDao(con);
      dao.delete(umodel.getUsrsid());
      // 登録
      if (paramMdl.getNtp091userSid() != null) {
        for (String usrSid : paramMdl.getNtp091userSid()) {
          NtpPriKakuninModel model = new NtpPriKakuninModel();
          model.setUsrSid(umodel.getUsrsid());
          model.setNpkDftUsr(Integer.parseInt(usrSid));
          model.setNpkAuid(umodel.getUsrsid());
          model.setNpkAdate(new UDate());
          model.setNpkEuid(umodel.getUsrsid());
          model.setNpkEdate(new UDate());
          dao.insert(model);
        }
      }

      commitFlg = true;
    } catch (SQLException e) {
      log__.error("", e);
      throw e;
    } finally {
      if (commitFlg) {
        con.commit();
      }
    }
  }
Example #4
0
  /**
   * <br>
   * [機 能] 設定された個人設定情報をDBに保存する。 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Sch094ParamModel
   * @param umodel ユーザ基本情報モデル
   * @param con コネクション
   * @throws SQLException SQL実行エラー
   */
  public void setPconfSetting(Sch094ParamModel paramMdl, BaseUserModel umodel, Connection con)
      throws SQLException {

    // DBより設定情報を取得。なければデフォルト値とする。
    SchCommonBiz biz = new SchCommonBiz(reqMdl__);
    SchPriConfModel pconf = biz.getSchPriConfModel(con, umodel.getUsrsid());

    // 件数
    pconf.setSccDspList(paramMdl.getSch094DefLine());
    pconf.setSccReload(
        NullDefault.getInt(paramMdl.getSch094ReloadTime(), GSConstSchedule.AUTO_RELOAD_10MIN));
    pconf.setSccIniWeek(
        NullDefault.getInt(paramMdl.getSch094SelWeek(), GSConstSchedule.CHANGE_WEEK_TODAY));

    pconf.setSccEuid(umodel.getUsrsid());
    pconf.setSccEdate(new UDate());

    boolean commitFlg = false;
    try {
      SchPriConfDao dao = new SchPriConfDao(con);
      int count = dao.updateListDisp(pconf);
      if (count <= 0) {
        // レコードがない場合は作成
        dao.insert(pconf);
      }
      commitFlg = true;
    } catch (SQLException e) {
      log__.error("", e);
      throw e;
    } finally {
      if (commitFlg) {
        con.commit();
      }
    }
  }
Example #5
0
  /**
   * <br>
   * [機 能] 初期表示情報を取得する <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータモデル
   * @param reqMdl リクエストモデル
   * @param con コネクション
   * @throws SQLException 実行例外
   * @throws Exception 実行例外
   */
  public void setInitData(Enq230ParamModel paramMdl, RequestModel reqMdl, Connection con)
      throws SQLException, Exception {

    log__.debug("初期表示情報取得処理");

    if (paramMdl.getEnq230initFlg() != 1) {
      paramMdl.setEnq230type(-1);
      paramMdl.setEnq230keyword(null);
      paramMdl.setEnq230keywordType(0);
      paramMdl.setEnq230priority(
          new int[] {GSConstEnquete.JUUYOU_0, GSConstEnquete.JUUYOU_1, GSConstEnquete.JUUYOU_2});
      paramMdl.setEnq230initFlg(1);
      _setSearchParam(paramMdl);
    }

    // セッション情報を取得
    BaseUserModel usModel = reqMdl.getSmodel();
    int sessionUsrSid = usModel.getUsrsid();

    // 一覧表示最大件数取得
    EnqCommonBiz enqBiz = new EnqCommonBiz();
    int listCnt = enqBiz.getMaxListCnt(con, sessionUsrSid);

    // アンケート種類を設定
    paramMdl.setEnq230TypeList(__getEnqTypeList(con, reqMdl));

    // アンケート情報一覧を取得する
    Enq010SearchModel searchMdl = __createSearchModel(paramMdl, sessionUsrSid, listCnt);

    Enq010Dao dao010 = new Enq010Dao(con);
    int searchCnt = dao010.getEnqueteCount(searchMdl, reqMdl);

    // ページ調整
    int maxPage = searchCnt / listCnt;
    if ((searchCnt % listCnt) > 0) {
      maxPage++;
    }
    int page = paramMdl.getEnq230pageTop();
    if (page < 1) {
      page = 1;
    } else if (page > maxPage) {
      page = maxPage;
    }
    paramMdl.setEnq230pageTop(page);
    paramMdl.setEnq230pageBottom(page);

    // ページコンボ設定
    if (maxPage > 1) {
      paramMdl.setEnq230pageList(PageUtil.createPageOptions(searchCnt, listCnt));
    }

    searchMdl.setPage(paramMdl.getEnq230pageTop());
    paramMdl.setEnq230EnqueteList(dao010.getEnqueteList(searchMdl, reqMdl));
  }
Example #6
0
  /**
   * <br>
   * [機 能] 初期表示を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Ntp091ParamModel
   * @param umodel ユーザ基本情報モデル
   * @param con コネクション
   * @throws SQLException SQL実行エラー
   */
  public void setInitData(Ntp091ParamModel paramMdl, BaseUserModel umodel, Connection con)
      throws SQLException {

    // 個人設定情報より設定情報を取得。なければデフォルト値とする。
    NtpCommonBiz biz = new NtpCommonBiz(con, reqMdl__);
    NtpPriConfModel pconf = biz.getNtpPriConfModel(con, umodel.getUsrsid());
    UDate ifr = pconf.getNprIniFrDate();
    UDate ito = pconf.getNprIniToDate();

    // 開始 時
    log__.debug("開始 時 = " + ifr.getIntHour());
    paramMdl.setNtp091DefFrH(ifr.getIntHour());
    // 開始 分
    log__.debug("開始 分 = " + ifr.getIntMinute());
    paramMdl.setNtp091DefFrM(ifr.getIntMinute());
    // 終了 時
    log__.debug("終了 時 = " + ito.getIntHour());
    paramMdl.setNtp091DefToH(ito.getIntHour());
    // 終了 分
    log__.debug("終了 分 = " + ito.getIntMinute());
    paramMdl.setNtp091DefToM(ito.getIntMinute());

    //        //公開フラグ
    //        paramMdl.setNtp091PubFlg(pconf.getNprIniPublic());
    //        //編集権限
    //        paramMdl.setNtp091Edit(pconf.getNprIniEdit());
    // タイトルカラー
    paramMdl.setNtp091Fcolor(String.valueOf(pconf.getNprIniFcolor()));
    // タイトルカラーコメント
    setTitleColorMsg(paramMdl, con);
    //        //業務内容
    //        paramMdl.setNtp091DefGyomu(pconf.getNprIniGyomu());
    // グループSID
    //        paramMdl.setNtp091groupSid(pconf.getNprDspGroup());
    GroupBiz grpBiz = new GroupBiz();
    paramMdl.setNtp091groupSid(grpBiz.getDefaultGroupSid(umodel.getUsrsid(), con));

    // 個人設定確認者情報を取得
    NtpPriKakuninDao dao = new NtpPriKakuninDao(con);
    List<NtpPriKakuninModel> kakuList = dao.select(umodel.getUsrsid());
    if (kakuList != null) {
      String[] kakuSidList = new String[kakuList.size()];
      for (int i = 0; i < kakuList.size(); i++) {
        kakuSidList[i] = String.valueOf(kakuList.get(i).getNpkDftUsr());
      }
      paramMdl.setNtp091userSid(kakuSidList);
    }

    // コンボを設定
    setComboLabel(paramMdl, con);
  }
Example #7
0
  /**
   * <br>
   * [機 能] 閲覧メンバー一覧を取得する <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param left 取得するユーザSID・グループSID
   * @param con コネクション
   * @return グループ一覧
   * @throws SQLException SQL実行時例外
   */
  private ArrayList<LabelValueBean> __getForumLabel(String[] left, Connection con)
      throws SQLException {

    ArrayList<LabelValueBean> ret = new ArrayList<LabelValueBean>();

    //
    ArrayList<Integer> grpSids = new ArrayList<Integer>();
    ArrayList<String> usrSids = new ArrayList<String>();

    // ユーザSIDとグループSIDを分離
    if (left != null) {
      for (int i = 0; i < left.length; i++) {
        String str = NullDefault.getString(left[i], "-1");
        log__.debug("str==>" + str);
        log__.debug("G.index==>" + str.indexOf("G"));
        if (str.contains(new String("G").subSequence(0, 1))) {
          // グループ
          grpSids.add(new Integer(str.substring(1, str.length())));
        } else {
          // ユーザ
          usrSids.add(str);
        }
      }
    }

    LabelValueBean lavelBean = null;
    if (grpSids.size() > 0) {
      // グループ情報取得
      UsidSelectGrpNameDao gdao = new UsidSelectGrpNameDao(con);
      ArrayList<GroupModel> glist = gdao.selectGroupNmListOrderbyClass(grpSids);
      for (GroupModel gmodel : glist) {
        lavelBean = new LabelValueBean();
        lavelBean.setLabel(gmodel.getGroupName());
        lavelBean.setValue("G" + String.valueOf(gmodel.getGroupSid()));
        ret.add(lavelBean);
      }
    }

    // ユーザ情報取得
    UserBiz userBiz = new UserBiz();
    ArrayList<BaseUserModel> ulist =
        userBiz.getBaseUserList(con, (String[]) usrSids.toArray(new String[usrSids.size()]));
    for (BaseUserModel umodel : ulist) {
      lavelBean = new LabelValueBean();
      lavelBean.setLabel(umodel.getUsisei() + " " + umodel.getUsimei());
      lavelBean.setValue(String.valueOf(umodel.getUsrsid()));
      ret.add(lavelBean);
    }

    return ret;
  }
Example #8
0
  /**
   * <br>
   * [機 能] 初期表示を設定する。 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Fil130ParamModel
   * @param buMdl セッションユーザモデル
   * @throws SQLException SQL実行例外
   */
  public void setInitData(Fil130ParamModel paramMdl, BaseUserModel buMdl) throws SQLException {

    log__.debug("fil130Biz Start");

    // 初期表示の場合、DB登録値を表示する。
    if (StringUtil.isNullZeroString(paramMdl.getFil130SmailSend())) {
      __setData(paramMdl, buMdl.getUsrsid());
    }
  }
Example #9
0
  /**
   * <br>
   * [機 能] 設定された個人設定情報をDBに保存する。 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Ntp091ParamModel
   * @param umodel ユーザ基本情報モデル
   * @param con コネクション
   * @throws SQLException SQL実行エラー
   */
  public void setPconfSetting(Ntp091ParamModel paramMdl, BaseUserModel umodel, Connection con)
      throws SQLException {

    // DBより設定情報を取得。なければデフォルト値とする。
    NtpCommonBiz biz = new NtpCommonBiz(con, reqMdl__);
    NtpPriConfModel pconf = biz.getNtpPriConfModel(con, umodel.getUsrsid());

    // 開始時刻
    UDate fromUd = new UDate();
    fromUd.setHour(paramMdl.getNtp091DefFrH());
    fromUd.setMinute(paramMdl.getNtp091DefFrM());
    // 終了時刻
    UDate toUd = new UDate();
    toUd.setHour(paramMdl.getNtp091DefToH());
    toUd.setMinute(paramMdl.getNtp091DefToM());

    pconf.setNprIniFrDate(fromUd);
    pconf.setNprIniToDate(toUd);
    pconf.setNprEuid(umodel.getUsrsid());
    pconf.setNprEdate(new UDate());
    //        pconf.setNprIniPublic(paramMdl.getNtp091PubFlg());
    //        pconf.setNprIniEdit(paramMdl.getNtp091Edit());
    pconf.setNprIniFcolor(Integer.parseInt(paramMdl.getNtp091Fcolor()));
    //        pconf.setNprIniGyomu(paramMdl.getNtp091DefGyomu());

    boolean commitFlg = false;
    try {
      NtpPriConfDao dao = new NtpPriConfDao(con);
      int count = dao.updateInitData(pconf);
      if (count <= 0) {
        // レコードがない場合は作成
        dao.insert(pconf);
      }
      commitFlg = true;
    } catch (SQLException e) {
      log__.error("", e);
      throw e;
    } finally {
      if (commitFlg) {
        con.commit();
      }
    }
  }
Example #10
0
  /**
   * <br>
   * [機 能] 初期表示を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Sch094ParamModel
   * @param umodel ユーザ基本情報モデル
   * @param con コネクション
   * @throws SQLException SQL実行エラー
   */
  public void setInitData(Sch094ParamModel paramMdl, BaseUserModel umodel, Connection con)
      throws SQLException {

    // DBより設定情報を取得。なければデフォルト値とする。
    SchCommonBiz biz = new SchCommonBiz(reqMdl__);
    SchPriConfModel pconf = biz.getSchPriConfModel(con, umodel.getUsrsid());

    // 件数
    if (paramMdl.getSch094DefLine() < 0) {
      paramMdl.setSch094DefLine(pconf.getSccDspList());
    }

    // 自動リロード時間
    paramMdl.setSch094ReloadTime(
        NullDefault.getString(
            paramMdl.getSch094ReloadTime(), String.valueOf(pconf.getSccReload())));
    paramMdl.setSch094TimeLabelList(__getTimeLabel());

    // 週間表示開始曜日
    paramMdl.setSch094SelWeek(
        NullDefault.getString(paramMdl.getSch094SelWeek(), String.valueOf(pconf.getSccIniWeek())));
    paramMdl.setSch094WeekList(__getWeekLabel());
  }
Example #11
0
  /**
   * <br>
   * [機 能] 表示情報の設定を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param reqMdl リクエスト情報
   * @param paramMdl パラメータ情報
   * @param con コネクション
   * @param appRoot アプリケーションのルートパス
   * @param tempDir テンポラリディレクトリパス
   * @param userMdl セッションユーザ情報
   * @param req リクエスト
   * @throws SQLException SQL実行例外
   * @throws IOException 添付ファイルの操作に失敗
   * @throws IOToolsException 添付ファイルの操作に失敗
   * @throws TempFileException 添付ファイルUtil内での例外
   * @return 稟議が存在するか true:存在する false:存在しない
   */
  public boolean setDspData(
      RequestModel reqMdl,
      Rng030ParamModel paramMdl,
      Connection con,
      String appRoot,
      String tempDir,
      BaseUserModel userMdl,
      HttpServletRequest req)
      throws IOException, IOToolsException, SQLException, TempFileException {

    int apprMode = paramMdl.getRngApprMode();
    int rngSid = paramMdl.getRngSid();
    int userSid = userMdl.getUsrsid();

    // 稟議情報を設定
    RingiDao ringiDao = new RingiDao(con);
    RingiDataModel model = ringiDao.getRingiData(rngSid, userSid);

    // タイトル、内容がnullであれば存在しない
    if (model.getRngTitle() == null || model.getRngContent() == null) {
      return false;
    }

    paramMdl.setRng030Status(model.getRngStatus());
    paramMdl.setRng030apprUser(model.getApprUser());
    paramMdl.setRng030makeDate(model.getStrMakeDate());
    paramMdl.setRng030ViewTitle(model.getRngTitle());
    String content = NullDefault.getString(model.getRngContent(), "");
    content = StringUtilHtml.transToHTmlForTextArea(content);
    content = StringUtil.transToLink(content, StringUtil.OTHER_WIN, true);
    content = StringUtilHtml.returntoBR(content);
    paramMdl.setRng030ViewContent(content);
    paramMdl.setRng030completeFlg(model.getRngCompflg());

    // 処理モード設定
    String cmd = NullDefault.getString(req.getParameter("CMD"), "");

    RngChannelDao channelDao = new RngChannelDao(con);
    switch (apprMode) {
      case RngConst.RNG_APPRMODE_DISCUSSING:
        // 申請中案件管理画面からの遷移の場合は管理者承認モード
        paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_ADMINAPPR);

        // 現在確認中のユーザが最後の承認者ではない場合、スキップボタンを表示する

        // 現在確認中のユーザが申請者、最後の承認者以外の場合、スキップボタンを表示する
        RngChannelModel channelData = channelDao.select(rngSid, model.getRngApplicate());
        if (channelData.getRncStatus() != RngConst.RNG_RNCSTATUS_CONFIRM
            && !isLastApproval(con, rngSid)) {
          paramMdl.setRng030skipBtnFlg(1);
        }
        break;

      case RngConst.RNG_APPRMODE_COMPLETE:
        // 完了案件管理画面からの遷移の場合は閲覧モード
        paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_VIEW);
        break;

      case RngConst.RNG_APPRMODE_APPL:
        // 処理モード=再申請の場合は閲覧モード
        paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_VIEW);

        if (cmd.equals("rng030") || paramMdl.getRngDspMode() == RngConst.RNG_MODE_MAIN) {
          // 稟議一覧からの遷移
          // またはメインからの遷移の場合はタイトル、内容、添付ファイルを設定
          paramMdl.setRng030Title(model.getRngTitle());
          paramMdl.setRng030Content(model.getRngContent());

          // 添付ファイルをテンポラリディレクトリへ移動する
          RngBiz rngBiz = new RngBiz(con);
          rngBiz.setRingiTempFileData(con, rngSid, 0, appRoot, tempDir, new UDate(), reqMdl__);
        }

        break;

      default:
        int rncStatus = model.getRncStatus();

        // 稟議が完了している場合
        if (model.getRngCompflg() == RngConst.RNG_COMPFLG_COMPLETE) {

          if (model.getRncType() == RngConst.RNG_RNCTYPE_APPR) {
            // 承認者の場合は閲覧モード
            paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_VIEW);
          } else {
            // 最終確認者
            if (model.getRncType() == RngConst.RNG_RNCTYPE_CONFIRM
                && rncStatus == RngConst.RNG_RNCSTATUS_NOSET) {
              // 未確認の場合は確認モード
              paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_CONFIRM);
            } else {
              // 確認済みの場合は閲覧モード
              paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_VIEW);
            }
          }

          // 申請者 = ログインユーザの場合、複写して申請ボタンを表示する
          paramMdl.setRng030copyApplBtn(model.getRngApplicate() == userSid);
        } else {

          // 申請者 != ログインユーザ
          // かつ稟議一覧またはメインからの遷移の場合はコメントを設定
          if ((cmd.equals("rng030") || paramMdl.getRngDspMode() == RngConst.RNG_MODE_MAIN)
              && model.getRngApplicate() != userSid) {
            RngChannelModel channelMdl = channelDao.select(rngSid, userSid);
            if (channelMdl != null && paramMdl.getRng030Comment() == null) {
              paramMdl.setRng030Comment(channelMdl.getRncComment());
            }
          }

          // 稟議の承認順がログインユーザ かつ 申請者がログインユーザではない場合
          // 承認モードに設定する
          if (rncStatus == RngConst.RNG_RNCSTATUS_CONFIRM && model.getRngApplicate() != userSid) {

            paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_APPR);
            paramMdl.setRng030rftBtnFlg(1);
          } else {
            paramMdl.setRng030CmdMode(Rng030Form.CMDMODE_VIEW);
          }

          // 稟議の状態 = 否認の時
          // 承認者 = ログインユーザ
          // またはログインユーザが却下した承認者の前に稟議を確認していた場合
          // 完了ボタンを表示する
          if (model.getRngStatus() == RngConst.RNG_STATUS_REJECT) {

            if (model.getRngApplicate() == userSid) {
              paramMdl.setRng030compBtnFlg(1);
            } else {
              if (channelDao.isBeforeApproval(rngSid, userSid)) {
                paramMdl.setRng030compBtnFlg(1);
              }
            }
          }
        }
    }

    // 処理モード=再申請以外の場合は添付情報を設定
    if (apprMode != RngConst.RNG_APPRMODE_APPL) {
      paramMdl.setTmpFileList(ringiDao.getRingiTmpFileList(rngSid, 0));
    }

    // 添付ファイル一覧を設定
    CommonBiz cmnBiz = new CommonBiz();
    paramMdl.setRng030fileList(cmnBiz.getTempFileLabelList(tempDir));

    // 稟議経路情報を設定
    List<RingiChannelDataModel> channelList = ringiDao.getChannelList(rngSid);
    List<RingiChannelDataModel> apprUser = new ArrayList<RingiChannelDataModel>();
    List<RingiChannelDataModel> confirmUser = new ArrayList<RingiChannelDataModel>();

    for (RingiChannelDataModel channelMdl : channelList) {
      if (channelMdl.getRncType() == RngConst.RNG_RNCTYPE_APPR) {
        apprUser.add(channelMdl);
      } else if (channelMdl.getRncType() == RngConst.RNG_RNCTYPE_CONFIRM) {
        confirmUser.add(channelMdl);
      } else if (channelMdl.getRncType() == RngConst.RNG_RNCTYPE_APPL) {
        // 申請者の経路情報は一番上に設定
        apprUser.add(0, channelMdl);
      }
    }
    paramMdl.setChannelList(apprUser);
    paramMdl.setConfirmChannelList(confirmUser);
    paramMdl.setChannelListCount(String.valueOf(apprUser.size()));
    paramMdl.setConfirmChannelListCount(String.valueOf(confirmUser.size()));

    log__.debug("End");
    return true;
  }
Example #12
0
  /**
   * <br>
   * [機 能] 初期表示情報を設定する <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl Adr020ParamModel
   * @param con コネクション
   * @param userMdl セッションユーザ情報
   * @throws Exception 実行例外
   */
  public void setInitData(Adr020ParamModel paramMdl, Connection con, BaseUserModel userMdl)
      throws Exception {

    AddressBiz addressBiz = new AddressBiz(reqMdl_);
    UserBiz userBiz = new UserBiz();

    GsMessage gsMsg = new GsMessage(reqMdl_);

    // 役職コンボを設定
    paramMdl.setPositionCmbList(getAddressPositionLabelList(con));

    // グループコンボを設定
    paramMdl.setGroupCmbList(addressBiz.getGroupLabelList(con));

    // ユーザコンボを設定
    if (paramMdl.getAdr010cmdMode() == Adr010Const.CMDMODE_CONTACT) {
      paramMdl.setUserCmbList(
          userBiz.getNormalUserLabelList(
              con, Integer.parseInt(paramMdl.getAdr010tantoGroupContact()), null, true, gsMsg));
    } else {
      paramMdl.setUserCmbList(
          userBiz.getNormalUserLabelList(
              con, Integer.parseInt(paramMdl.getAdr010tantoGroup()), null, true, gsMsg));
    }

    // 都道府県コンボを設定
    CommonBiz cmnBiz = new CommonBiz();
    paramMdl.setTdfkCmbList(cmnBiz.getTdfkLabelList(con, gsMsg));

    // 管理者設定ボタン表示フラグを設定
    boolean adminUser = cmnBiz.isPluginAdmin(con, userMdl, GSConstAddress.PLUGIN_ID_ADDRESS);

    AdrAconfDao aconfDao = new AdrAconfDao(con);
    AdrAconfModel aconfMdl = aconfDao.selectAconf();
    // 会社追加ボタン表示フラグを設定
    if (adminUser || (aconfMdl == null || aconfMdl.getAacAcoEdit() == 0)) {
      paramMdl.setAdr020addCompanyBtnFlg(1);
    }
    // ラベル追加ボタン表示フラグを設定
    if (adminUser || (aconfMdl == null || aconfMdl.getAacAlbEdit() == 0)) {
      paramMdl.setAdr020addLabelBtnFlg(1);
    }

    // 閲覧・編集権限の初期値を設定(初期表示時)
    if (paramMdl.getAdr020init() == 0) {
      if (aconfMdl != null) {
        // 管理者が設定
        if (aconfMdl.getAacVrmEdit() == GSConstAddress.MEM_DSP_ADM) {
          paramMdl.setAdr020permitView(aconfMdl.getAacPvwKbn());
          paramMdl.setAdr020permitEdit(aconfMdl.getAacPetKbn());
        } else {
          // 個人が設定
          AdrUconfDao uconfDao = new AdrUconfDao(con);
          AdrUconfModel uconfMdl = uconfDao.select(userMdl.getUsrsid());
          if (uconfMdl != null) {
            paramMdl.setAdr020permitView(uconfMdl.getAucPermitView());
            paramMdl.setAdr020permitEdit(uconfMdl.getAucPermitEdit());
          } else {
            paramMdl.setAdr020permitView(aconfMdl.getAacPvwKbn());
            paramMdl.setAdr020permitEdit(aconfMdl.getAacPetKbn());
          }
        }
      } else {
        paramMdl.setAdr020permitView(GSConst.ADR_VIEWPERMIT_OWN);
        paramMdl.setAdr020permitEdit(GSConstAddress.EDITPERMIT_OWN);
      }
    }

    // 初期表示
    if (paramMdl.getAdr020init() == 0) {

      // モード = 新規登録 の場合、担当者にセッションユーザを設定する
      if (paramMdl.getAdr020ProcMode() == GSConstAddress.PROCMODE_ADD) {
        paramMdl.setAdr020tantoList(new String[] {String.valueOf(userMdl.getUsrsid())});
      }

      // モード = 変更 の場合、DBからアドレス帳情報を読み込む
      if (paramMdl.getAdr020ProcMode() == GSConstAddress.PROCMODE_EDIT) {
        _setAddressData(con, paramMdl);
      }

      // WEBメールからの呼び出しの場合、氏名とメールアドレスを追加する
      if (paramMdl.getAdr020webmail() == 1) {
        long mailNum = paramMdl.getAdr020webmailId();
        WmlDao wmlDao = new WmlDao(con);
        WmlMailDataModel mailData = wmlDao.getMailData(mailNum, reqMdl_.getDomain());
        String webmailAddress = NullDefault.getString(mailData.getFromAddress(), "");

        if (webmailAddress.indexOf("<") > 0) {
          String userName = webmailAddress.substring(0, webmailAddress.indexOf("<")).trim();
          webmailAddress = webmailAddress.substring(webmailAddress.indexOf("<") + 1).trim();
          if (userName.startsWith("\"")) {
            userName = userName.substring(1);
          }
          if (userName.endsWith("\"")) {
            userName = userName.substring(0, userName.length() - 1);
          }
          userName = userName.replaceFirst(" ", " ");
          int userIdx = userName.indexOf(" ");
          if (userIdx > 0) {
            paramMdl.setAdr020unameSei(userName.substring(0, userIdx).trim());
            paramMdl.setAdr020unameMei(userName.substring(userIdx).trim());
          } else {
            paramMdl.setAdr020unameSei(userName);
          }

          if (webmailAddress.indexOf(">") > 0) {
            webmailAddress = webmailAddress.substring(0, webmailAddress.indexOf(">"));
          }
        }
        paramMdl.setAdr020mail1(webmailAddress);
      }

      paramMdl.setAdr020init(1);
    }
    // モード = 新規 かつ 複写ボタンをクリック時、DBからアドレス帳情報を読み込む
    if (paramMdl.getAdr020ProcMode() == GSConstAddress.PROCMODE_ADD
        && paramMdl.getAdrCopyFlg() == 1) {
      _setAddressData(con, paramMdl);
      paramMdl.setAdrCopyFlg(0);
    }

    // 会社名を設定
    _setCompanyData(con, paramMdl);

    // 役職を追加した場合の役職の設定
    if (paramMdl.getAdrPosition() > 0) {
      paramMdl.setAdr020position(paramMdl.getAdrPosition());
      paramMdl.setAdrPosition(0);
    }

    // ユーザ一覧を取得する
    CmnCmbsortConfDao sortDao = new CmnCmbsortConfDao(con);
    CmnCmbsortConfModel sortMdl = sortDao.getCmbSortData();
    AddressDao addressDao = new AddressDao(con);
    List<LabelValueBean> allUserCombo = addressDao.getAllUserList(sortMdl);

    // 担当者コンボの設定を行う
    if (paramMdl.getAdr020tantoGroup() == -2
        || paramMdl.getAdr020permitViewUserGroup() == -2
        || paramMdl.getAdr020permitEditUserGroup() == -2) {

      CmnBelongmDao belongmDao = new CmnBelongmDao(con);

      int userSid = userMdl.getUsrsid();
      int defGrpSid = belongmDao.selectUserBelongGroupDef(userSid);

      paramMdl.setAdr020tantoGroup(defGrpSid);
      paramMdl.setAdr020permitViewUserGroup(defGrpSid);
      paramMdl.setAdr020permitEditUserGroup(defGrpSid);
    }

    List<List<LabelValueBean>> tantoComboList =
        addressBiz.getUserCombo(
            con, allUserCombo, paramMdl.getAdr020tantoGroup(), paramMdl.getAdr020tantoList());
    paramMdl.setSelectTantoCombo(tantoComboList.get(0));
    paramMdl.setNoSelectTantoCombo(tantoComboList.get(1));
    ArrayList<String> selSidList = new ArrayList<String>();
    for (LabelValueBean bean : tantoComboList.get(0)) {
      selSidList.add(bean.getValue());
    }
    paramMdl.setAdr020tantoList(selSidList.toArray(new String[0]));

    // グループ一覧を取得
    ArrayList<LabelValueBean> allGroupCombo = new ArrayList<LabelValueBean>();
    GroupBiz groupBiz = new GroupBiz();
    ArrayList<GroupModel> gpList = groupBiz.getGroupList(con);

    for (GroupModel gpMdl : gpList) {
      allGroupCombo.add(
          new LabelValueBean(gpMdl.getGroupName(), String.valueOf(gpMdl.getGroupSid())));
    }
    // 閲覧グループコンボを設定する
    List<List<LabelValueBean>> viewPermitGroupComboList =
        addressBiz.getGroupCombo(con, allGroupCombo, paramMdl.getAdr020permitViewGroup());
    paramMdl.setSelectPermitViewGroup(viewPermitGroupComboList.get(0));
    paramMdl.setNoSelectPermitViewGroup(viewPermitGroupComboList.get(1));
    selSidList = new ArrayList<String>();
    for (LabelValueBean bean : viewPermitGroupComboList.get(0)) {
      selSidList.add(bean.getValue());
    }
    paramMdl.setAdr020permitViewGroup(selSidList.toArray(new String[0]));
    // 編集グループコンボを設定する
    List<List<LabelValueBean>> editPermitGroupComboList =
        addressBiz.getGroupCombo(con, allGroupCombo, paramMdl.getAdr020permitEditGroup());
    paramMdl.setSelectPermitEditGroup(editPermitGroupComboList.get(0));
    paramMdl.setNoSelectPermitEditGroup(editPermitGroupComboList.get(1));
    selSidList = new ArrayList<String>();
    for (LabelValueBean bean : editPermitGroupComboList.get(0)) {
      selSidList.add(bean.getValue());
    }
    paramMdl.setAdr020permitEditGroup(selSidList.toArray(new String[0]));

    // 閲覧ユーザコンボを設定する
    List<List<LabelValueBean>> viewPermitUserComboList =
        addressBiz.getUserCombo(
            con,
            allUserCombo,
            paramMdl.getAdr020permitViewUserGroup(),
            paramMdl.getAdr020permitViewUser());
    paramMdl.setSelectPermitViewUser(viewPermitUserComboList.get(0));
    paramMdl.setNoSelectPermitViewUser(viewPermitUserComboList.get(1));
    selSidList = new ArrayList<String>();
    for (LabelValueBean bean : viewPermitUserComboList.get(0)) {
      selSidList.add(bean.getValue());
    }
    paramMdl.setAdr020permitViewUser(selSidList.toArray(new String[0]));

    // 編集ユーザコンボを設定する
    List<List<LabelValueBean>> editPermitUserComboList =
        addressBiz.getUserCombo(
            con,
            allUserCombo,
            paramMdl.getAdr020permitEditUserGroup(),
            paramMdl.getAdr020permitEditUser());
    paramMdl.setSelectPermitEditUser(editPermitUserComboList.get(0));
    paramMdl.setNoSelectPermitEditUser(editPermitUserComboList.get(1));
    selSidList = new ArrayList<String>();
    for (LabelValueBean bean : editPermitUserComboList.get(0)) {
      selSidList.add(bean.getValue());
    }
    paramMdl.setAdr020permitEditUser(selSidList.toArray(new String[0]));

    // ラベル情報一覧を設定
    this._setLabelList(con, paramMdl);
  }
  @Override
  public Document createXml(
      ActionForm aForm,
      HttpServletRequest req,
      HttpServletResponse res,
      Connection con,
      BaseUserModel umodel)
      throws Exception {
    log__.debug("createXml start");
    // 施設予約プラグインアクセス権限確認
    if (!canAccsessSelectPlugin(GSConst.PLUGIN_ID_RESERVE)) {
      addErrors(req, addCantAccsessPluginError(req, null, GSConst.PLUGIN_ID_RESERVE));
      return null;
    }
    RequestModel reqMdl = getRequestModel(req);
    int sessionUsrSid = umodel.getUsrsid(); // セッションユーザSID

    CommonBiz cmnBiz = new CommonBiz();

    // 施設予約の管理者
    boolean rsvAdmin = cmnBiz.isPluginAdmin(con, umodel, GSConstSchedule.PLUGIN_ID_RESERVE);

    RsvCommonBiz rsvCmnBiz = new RsvCommonBiz();
    RsvUserModel rsvUserConf = rsvCmnBiz.getRevUserModel(sessionUsrSid, con);

    int dfReservGpSid = GSConstReserve.COMBO_DEFAULT_VALUE;
    if (rsvUserConf != null) {
      dfReservGpSid = rsvUserConf.getRsgSid();
    }

    List<RsvSisGrpModel> list = __getReserveGroupList(con, sessionUsrSid, rsvAdmin, reqMdl);
    Map<Integer, RsvSisKbnModel> kbnMap = __getReserveKbnMap(con);

    // ルートエレメントResultSet
    Element resultSet = new Element("ResultSet");
    Document doc = new Document(resultSet);

    if (list != null) {
      int index = 0;
      for (RsvSisGrpModel model : list) {
        Element result = new Element("Result");
        resultSet.addContent(result);

        // Rsgsid グループSID
        result.addContent(_createElement("RsgSid", model.getRsgSid()));

        // GrpName グループ名
        result.addContent(_createElement("RsgName", model.getRsgName()));

        // グループID
        result.addContent(_createElement("RsgId", NullDefault.getString(model.getRsgId(), "")));
        // 施設区分SID
        result.addContent(_createElement("RskSid", String.valueOf(model.getRskSid())));
        // 施設区分名
        if (kbnMap.containsKey(model.getRskSid())) {
          RsvSisKbnModel kbn = kbnMap.get(model.getRskSid());
          result.addContent(_createElement("RskName", kbn.getRskName()));
        } else {
          result.addContent(_createElement("RskName", ""));
        }
        if (dfReservGpSid == Integer.valueOf(model.getRsgSid())) {
          resultSet.setAttribute("DefaultIndex", String.valueOf(index));
        }
        index++;
      }
      resultSet.setAttribute("Count", String.valueOf(list.size()));
    }
    log__.debug("createXml end");

    return doc;
  }