/** * <br> * [機 能] 表示するグループ一覧を設定する。 <br> * [解 説] <br> * [備 考] * * @param paramMdl BmkPtl020ParamModel * @param con コネクション * @throws SQLException SQL実行例外 */ private void __setGroupList(BmkPtl020ParamModel paramMdl, Connection con) throws SQLException { PtlPortalPositionParamDao paramDao = new PtlPortalPositionParamDao(con); int ptlSid = paramMdl.getPtlPortalSid(); GroupBiz grpBiz = new GroupBiz(); // 全グループのリスト ArrayList<GroupModel> tree = grpBiz.getGroupCombList(con); if (tree == null) { tree = new ArrayList<GroupModel>(); } // すでに設定されているグループのリスト List<PtlPortalPositionParamModel> list = paramDao.getParamList(ptlSid, BMK_PORTLET_PARAM1); if (list == null) { list = new ArrayList<PtlPortalPositionParamModel>(); } // グループSIDのリストを作成 List<Integer> grepSidList = new ArrayList<Integer>(); for (PtlPortalPositionParamModel model : list) { int sid = NullDefault.getInt(model.getPpmParamValue(), 0); grepSidList.add(sid); } ArrayList<GroupModel> dspList = new ArrayList<GroupModel>(); for (GroupModel grepModel : tree) { if (!grepSidList.contains(grepModel.getGroupSid())) { dspList.add(grepModel); } } paramMdl.setTree(dspList); }
/** * <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); }
/** * <br> * [機 能] レスポンスXML情報を作成する。 <br> * [解 説] <br> * [備 考] * * @param form フォーム * @param req リクエスト * @param res レスポンス * @param con DBコネクション * @param umodel ユーザ情報 * @return ActionForward フォワード * @throws Exception 実行例外 */ public Document createXml( ActionForm form, HttpServletRequest req, HttpServletResponse res, Connection con, BaseUserModel umodel) throws Exception { log__.debug("createXml start"); GroupBiz grpBiz = new GroupBiz(); ArrayList<GroupModel> grpList = null; try { // グループ一覧を取得する。 grpList = grpBiz.getGroupList(con); } catch (SQLException e) { log__.error("グループ一覧の取得に失敗", e); } // ルートエレメントResultSet Element resultSet = new Element("ResultSet"); Document doc = new Document(resultSet); // XMLデータ作成 for (GroupModel grpMdl : grpList) { Element result = new Element("Result"); resultSet.addContent(result); // Grpsid グループSID result.addContent(_createElement("Grpsid", grpMdl.getGroupSid())); // GrpId グループID result.addContent(_createElement("Grpid", grpMdl.getGroupId())); // GrpName グループ名 result.addContent(_createElement("Grpname", grpMdl.getGroupName())); // ClassLevel 階層レベル result.addContent(_createElement("ClassLevel", grpMdl.getClassLevel())); // Grpkbn 所属グループ区分 result.addContent(_createElement("Grpkbn", grpMdl.getGrpKbn())); } log__.debug("createXml end"); return doc; }
/** * <br> * [機 能] 表示グループ用のグループリストを取得する(全て) <br> * [解 説] <br> * [備 考] * * @param con コネクション * @param reqMdl リクエスト情報 * @return ArrayList * @throws SQLException SQL実行時例外 */ private ArrayList<LabelValueBean> __getGroupLabelList(Connection con, RequestModel reqMdl) throws SQLException { ArrayList<LabelValueBean> labelList = new ArrayList<LabelValueBean>(); GsMessage gsMsg = new GsMessage(reqMdl); LabelValueBean labelBean = new LabelValueBean(); labelBean.setLabel(gsMsg.getMessage("cmn.grouplist")); labelBean.setValue(String.valueOf(Sml250Form.GRP_SID_GRPLIST)); labelList.add(labelBean); // グループリスト取得 GroupBiz gBiz = new GroupBiz(); ArrayList<GroupModel> gpList = gBiz.getGroupCombList(con); GroupModel gpMdl = null; for (int i = 0; i < gpList.size(); i++) { gpMdl = gpList.get(i); labelList.add(new LabelValueBean(gpMdl.getGroupName(), String.valueOf(gpMdl.getGroupSid()))); } log__.debug("labelList.size()=>" + labelList.size()); return labelList; }
/** * コンボボックスを設定します。 <br> * [機 能] <br> * [解 説] <br> * [備 考] * * @param paramMdl フォーム * @param con コネクション * @throws SQLException SQL実行時例外 */ public void setComboLabel(Ntp091ParamModel paramMdl, Connection con) throws SQLException { // ラベル(時) ArrayList<LabelValueBean> ntp091HourLabel = new ArrayList<LabelValueBean>(); for (int i = 0; i < 24; i++) { ntp091HourLabel.add(new LabelValueBean(i + "時", Integer.toString(i))); } paramMdl.setNtp091HourLabel(ntp091HourLabel); // ラベル(分) NtpCommonBiz cmnBiz = new NtpCommonBiz(con, reqMdl__); int hourMemCount = cmnBiz.getDayNippouHourMemoriMin(con); ArrayList<LabelValueBean> ntp091MinuteLabel = new ArrayList<LabelValueBean>(); for (int i = 0; i < 60; i += hourMemCount) { ntp091MinuteLabel.add(new LabelValueBean(i + "分", Integer.toString(i))); } paramMdl.setNtp091MinuteLabel(ntp091MinuteLabel); // 業務内容 ArrayList<LabelValueBean> ntp091GyomuLabel = new ArrayList<LabelValueBean>(); ntp091GyomuLabel.add(new LabelValueBean("選択してください", "-1")); NtpGyomuDao gDao = new NtpGyomuDao(con); List<NtpGyomuModel> gyomuList = gDao.select(); for (NtpGyomuModel gModel : gyomuList) { ntp091GyomuLabel.add( new LabelValueBean(gModel.getNgyName(), Integer.toString(gModel.getNgySid()))); } paramMdl.setNtp091GyomuLabel(ntp091GyomuLabel); GsMessage gsMsg = new GsMessage(reqMdl__); // グループ GroupBiz gpBiz = new GroupBiz(); List<LabelValueBean> grpLabelList = gpBiz.getGroupLabelList(con, gsMsg); paramMdl.setNtp091GroupList(grpLabelList); // //追加済みユーザを取得する // CmnUsrmInfDao usiDao = new CmnUsrmInfDao(con); // List<CmnUsrmInfModel> settledUserList // = usiDao.select(paramMdl.getNtp091userSid()); // // //追加済みユーザ一覧をセット // List<LabelValueBean> rightList = new ArrayList <LabelValueBean>(); // StringBuffer fullName = null; // for (CmnUsrmInfModel usrMdl : settledUserList) { // fullName = new StringBuffer(""); // fullName.append(usrMdl.getUsiSei()); // fullName.append(" "); // fullName.append(usrMdl.getUsiMei()); // rightList.add( // new LabelValueBean(fullName.toString(), // String.valueOf(usrMdl.getUsrSid()))); // } // paramMdl.setNtp091RightUserList(rightList); // // //追加用ユーザ一覧をセット // int gpSid = paramMdl.getNtp091groupSid(); // // //除外するユーザSID // ArrayList<Integer> usrSids = new ArrayList<Integer>(); // String[] userSids = paramMdl.getNtp091userSid(); // if (userSids != null) { // for (int i = 0; i < userSids.length; i++) { // usrSids.add(new Integer(NullDefault.getInt(userSids[i], -1))); // } // } // UserSearchDao usDao = new UserSearchDao(con); // List<CmnUsrmInfModel>usList = usDao.getBelongUserList(gpSid, usrSids); // // List<LabelValueBean> labelListAdd = new ArrayList<LabelValueBean>(); // for (int i = 0; i < usList.size(); i++) { // CmnUsrmInfModel cuiMdl = usList.get(i); // labelListAdd.add(new LabelValueBean(cuiMdl.getUsiSei() + cuiMdl.getUsiMei(), // String.valueOf(cuiMdl.getUsrSid()))); // } // paramMdl.setNtp091LeftUserList(labelListAdd); }
/** * <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); }