フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:00_インストール・設定
10年より前のスケジュールの検索
[ 7729 ] 10年より前のスケジュールの検索

お世話になっております。

10年より前のスケジュールの検索方法が分かる方がいらっしゃいましたら教えてください。

[スケジュール]→[検索]で検索フィルタをかける場合、
2012年より前のデータ検索する手段がなく困っております。

プルダウンで検索をしようとすると、2012年までしか選択肢がなく、
プルダウン横のカレンダーアイコンで2011年以前の日付を選択すると空白になってしまい、検索結果が表示されません。

何卒よろしくお願い申し上げます。

構築環境
 OS:Windows Server2012 R2 ← もうすぐ入れ替えます
 Tomcat: 9.0.56
 Java: jdk-11.0.13.8
 GSession: ver 5.1.3
クライアント環境
 OS: Windows 10 Pro 21H2
 接続ブラウザ: Edgeのみ

投稿者hrktyjk
最新書き込み2022/11/22 11:34:22
[ 7738 ] Re: 10年より前のスケジュールの検索

hrktyjkさん

> [スケジュール]→[検索]で検索フィルタをかける場合、
> 2012年より前のデータ検索する手段がなく困っております。
>
> プルダウンで検索をしようとすると、2012年までしか選択肢がなく、
> プルダウン横のカレンダーアイコンで2011年以前の日付を選択すると空白になってしまい、検索結果が表示されません。

ソースコード
 →/WEB-INF/plugin/schedule/src/jp/groupsession/v2/sch/sch110/Sch110Biz.java
の665行目以降に10年前から10年後で選択肢を作成する処理が書かれていますので、
ここを書き換えて再コンパイルするか、
検索フォームの表示用ファイル
 →/WEB-INF/plugin/schedule/jsp/sch100.jsp
の271行~273行目にその処理を呼び出すコードが書かれていますので、そこを無効化して
手書きでselect文を書き込む、という2通りの方法しかないと思います。

投稿者nobody
最新書き込み2022/11/26 17:18:10
[ 7741 ] Re: 10年より前のスケジュールの検索

すみません、javaソースコードの書き換えと表示用jspファイルの手書き修正の2通りしかないと書きましたが、
もう一つ
/schedule/js/sch100.js
上記JavaScriptファイルの109行目以降
関数moveDayにて、引数elmYearがselYearsfだった場合に
$(elmYear).append($('<option>').html("2011年").val("2011"))
等でopsion要素を追加する、という3つ目の方法がありました。

投稿者nobody
最新書き込み2022/11/27 06:59:19
[ 7742 ] Re: Re: 10年より前のスケジュールの検索

3つ目の方法についてちょっと補足です。

> もう一つ
> /schedule/js/sch100.js
> 上記JavaScriptファイルの109行目以降
> 関数moveDayにて、引数elmYearがselYearsfだった場合に
> $(elmYear).append($('<option>').html("2011年").val("2011"))
> 等でopsion要素を追加する、という3つ目の方法がありました。

3つ目の方法は「JavaScript(jQuery)でoption要素を修正する」という手法の話で、
変更箇所は上記の場所に拘らず、検索画面表示時点でoption要素追加処理を実行してもいいですし、
カレンダーから日付を選択した時点でその年数がoption要素にない場合に
option要素を追加する、という方法でもよいかと思います。

投稿者nobody
最新書き込み2022/11/27 11:06:23
[ 7743 ] Re: 10年より前のスケジュールの検索

JavaScriptによる追加処理の動作確認が取れましたで、サンプルコードを書きます。

・追加処理1
→/common/js/calendar.js:580行目(5.3.0の場合)
onClickEv += ' window.opener.chkAddOptions(\''+conf.oyyyy.name+'\',\''+wrtyear+'\');'
を追加
(上記JavaScriptファイルの
//年
onClickEv += ' self.opener.document.'+conf.oj.form.name
onClickEv += '.'+conf.oyyyy.name+'.value=(\''+wrtyear+'\');'
 ↑この記述の上に入れて下さい)

・追加処理2
→/schedule/js/sch100.js:最終行
/** ここから **/
/**
* 選択した年が選択肢になければ追加する
*/
function chkAddOptions(cname, cvalue) {
var list = document.forms[0].elements[cname];
var len = list.options.length;
var mkflg = 0;
var i = 0;

for (i=0; i < len; i++) {
if (list.item(i).value == cvalue) { mkflg = 1; }
}

if (mkflg == 0) {
var option = document.createElement('option');
option.textContent = cvalue + "年";
option.value = cvalue;
list.appendChild(option);
}
}
/** ここまで **/
を追加する

これでカレンダーから10年以上前(または10年以上後)の日付を選択した際に、
年の選択肢に選択した年が追加されます。

投稿者nobody
最新書き込み2022/11/28 11:29:45
[ 7744 ] Re: Re: 10年より前のスケジュールの検索

たびたびすみません、追加処理2をやるとスケジュール検索以外のカレンダー処理で
クリックしてもカレンダーが閉じなくなってしまいました。
なので追加処理2の訂正です。

> ・追加処理2
> →/schedule/js/sch100.js:最終行
↑修正するファイルを追加1と同じcalendar.jsの最終行にして下さい。
→/common/js/calendar.js:最終行

> /** ここから **/
> /**
> * 選択した年が選択肢になければ追加する
> */
> function chkAddOptions(cname, cvalue) {
> var list = document.forms[0].elements[cname];
> var len = list.options.length;
> var mkflg = 0;
> var i = 0;
>
> for (i=0; i < len; i++) {
> if (list.item(i).value == cvalue) { mkflg = 1; }
> }
>
> if (mkflg == 0) {
> var option = document.createElement('option');
> option.textContent = cvalue + "年";
> option.value = cvalue;
> list.appendChild(option);
> }
> }
> /** ここまで **/
↑内容は同じです。

投稿者nobody
最新書き込み2022/11/28 12:24:36
[ 7792 ] Re: 10年より前のスケジュールの検索

お世話になっております。
投稿者です。

先ほどご教授頂いた内容を追加したところ、10年以上前のスケジュールも検索する事ができました。

ここで教えていただけなければ、決してたどり着きませんでした。
本当にありがとうございました。

また、回答が遅れた事を心よりお詫び申し上げます。

投稿者hrktyjk
最新書き込み2022/12/26 16:40:42
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=2824
 


TOP