<!-- #include file="../../../include.asp" --> <% '<!-- '################################################ ' 名称 :演習参加者管理 ' 作成日 :2009/6/17 ' 作成者 :小野 ' 目的 :演習参加者の設定 '################################################ '--> %> <% main() Sub main() Dim ErrMSG Dim Query Dim Content If Not(SessionCheck()) Then Exit Sub End If '会社セッション初期化(演習状況記帳チェック後の対処) KaisyaCD = "" GB_KaisyaCD = "" KaisyaMeisyo = "" GB_KaisyaMeisyo = "" KaisyaRyakuMeisyo = "" GB_KaisyaRyakuMeisyo = "" Session(HomeAlias & "KaisyaCD") = "" Session(HomeAlias & "Gyosyu") = "" Session(HomeAlias & "GyosyuMeisyo") = "" Session(HomeAlias & "KaisyaMeisyo") = "" Session(HomeAlias & "KaisyaRyakuMeisyo") = "" Session(HomeAlias & "JisyaFlag") = "" Session(HomeAlias & "ShijyoCD") = "" '絞り込み用の演習管理者IDを再取得(書類一覧後の対処)(221201小野美) If GB_Admin = "2" And EnshuCD <> "" Then Query = "exec SPM演習取得 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then Session(HomeAlias & "GakuseiNo") = "" & Content.Fields("演習管理者ID") GB_GakuseiNo = Session(HomeAlias & "GakuseiNo") GakuseiNo = GB_GakuseiNo End If End If ErrMSG = Request("ErrMSG") Dim RouteType RouteType = Request("RouteType") '動作モード Dim Kijun Kijun = Request("Kijun") Dim Dialog Dialog = Request("Dialog") '動作補正用フラグ Dim SonzaiCheck SonzaiCheck = 0 'メニュー配列作成及び動作補正(先に補正する必要がある) Dim MenuVal Dim MenuTxt ReDim MenuVal(0) ReDim MenuTxt(0) If Kijun = "Group" Then Query = "exec SPMグループ一覧 '" & GB_SystemCD & "',''" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) ReDim PreServe MenuVal(UBound(MenuVal) + 1) '配列+1 ReDim PreServe MenuTxt(UBound(MenuVal)) MenuVal(UBound(MenuVal)) = "" & Content.Fields("学生グループCD") MenuTxt(UBound(MenuVal)) = "" & Content.Fields("グループ名称") If Content.Fields("学生グループCD") = EnshuCD Then SonzaiCheck = 1 End If Content.MoveNext Loop Else Query = "exec SPM演習一覧 '" & GB_SystemCD & "', 4" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) 'マスター演習非表示 If Content.Fields("マスター演習") <> "1" Then 'パッケージモードトグル If (PackageMode = 1 And "" & Content.Fields("パッケージ区分") = "CA") Or (PackageMode = 0 And "" & Content.Fields("パッケージ区分") <> "CA") Then '工業簿記演習は5以上で表示 If "" & Content.Fields("演習CD") <> "SYS00006" Or MajorVersion >= 5 Then ReDim PreServe MenuVal(UBound(MenuVal) + 1) '配列+1 ReDim PreServe MenuTxt(UBound(MenuVal)) MenuVal(UBound(MenuVal)) = "" & Content.Fields("演習CD") MenuTxt(UBound(MenuVal)) = "" & Content.Fields("演習名称") If Content.Fields("演習CD") = EnshuCD Then SonzaiCheck = 1 End If End If End If End If Content.MoveNext Loop End If 'マッチしなければ演習CDまたはグループCDを空にする(動作補正のため) If SonzaiCheck = 0 Then EnshuCD = "" End If %> <html> <% = HtmlHeader("") %> <SCRIPT LANGUAGE="JavaScript"> <!-- HomeAlias = "<% = HomeAlias %>"; HomeAliasSL = "<% = HomeAliasSL %>"; ExitFlg = 1; --> </SCRIPT> <body onkeydown="if(ExitFlg==2)ExitFlg=3;" onBeforeUnload="if(ExitFlg != 0)window.event.returnValue = ExitMsg(ExitFlg)" bgcolor="#5C70B6" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form OnKeyDown="FormKeyDown(this)" name="form1" method="POST" action="fm_enshusanka.asp" > <input type="hidden" name="GroupCD" value=""> <input type="hidden" name="Kijun" value="<% = Kijun %>"> <input type="hidden" name="RouteType" value="<% = RouteType %>"> <% Response.Write(HtmlDesign(1)) Response.Write(HttpL1(4)) Dim Title If Kijun = "Group" Then Title = "グループ参加演習" ElseIf Kijun = "User" Then Title = "演習参加ユーザー" Else Title = "演習参加グループ" End If If RouteType = "Sousa" Then If GB_Admin = 1 Then Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", "演習管理", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshu_ichiran.asp?EnshuCD=" & EnshuCD & "')", "演習コントロール", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshucontrol.asp?EnshuCD=" & EnshuCD & "')", Title, "", "", "", "", "")) Else Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", "演習管理", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshu1_view.asp?EnshuCD=" & EnshuCD & "')", "演習コントロール", "tblbtn( '/" & HomeAlias & "/admin/enshu/fm_enshucontrol.asp?EnshuCD=" & EnshuCD & "')", Title, "", "", "", "", "")) End If Else If GB_Admin = 2 Then Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", Title, "", "", "", "", "", "", "", "", "")) ElseIf Request("RouteType") = "Kantan" Then Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu1.asp')", Title, "", "", "", "", "", "", "", "", "")) Else Response.Write(HttpL2("運用管理メニュー" ,"tblbtn( '/" & HomeAlias & "/admin/admenu_w.asp')", Title, "", "", "", "", "", "", "", "", "")) End If End If Response.Write(HttpL3("","" ,"", "", "", "", "", "", "", "", "", "", "", "", "", "")) If EnshuCD <> "" Then Response.Write(HttpL3_1("保存", "UpdateCheck()", "", "", "", "", "", "", "", "")) End If Dim GroupSankaBtn Dim GroupSankaVal GroupSankaBtn = "グループ参加演習" GroupSankaVal = "tblbtn('/" & HomeAlias & "/admin/master/sanka/fm_enshusanka.asp?Kijun=Group&RouteType=" & RouteType & "&Dialog=2');" If RouteType = "Sousa" Then GroupSankaBtn = "" GroupSankaVal = "" End If If GB_Admin = 2 Then '演習管理者は演習参加グループ管理のみ Response.Write(HttpL3_2("", "", "", "", "", "", "", "", "", "")) ElseIf Kijun = "Group" Then Response.Write(HttpL3_2("演習参加グループ", "tblbtn( '/" & HomeAlias & "/admin/master/sanka/fm_enshusanka.asp?RouteType=" & RouteType & "&Dialog=1')", "演習参加ユーザー", "tblbtn('/" & HomeAlias & "/admin/master/sanka/fm_enshusanka.asp?Kijun=User&RouteType=" & RouteType & "&Dialog=3');", "", "", "", "", "", "")) ElseIf Kijun = "User" Then Response.Write(HttpL3_2("演習参加グループ", "tblbtn( '/" & HomeAlias & "/admin/master/sanka/fm_enshusanka.asp?RouteType=" & RouteType & "&EnshuCD=" & EnshuCD & "&Dialog=1')", GroupSankaBtn, GroupSankaVal, "", "", "", "", "", "")) Else Response.Write(HttpL3_2(GroupSankaBtn, GroupSankaVal, "演習参加ユーザー", "tblbtn('/" & HomeAlias & "/admin/master/sanka/fm_enshusanka.asp?Kijun=User&RouteType=" & RouteType & "&EnshuCD=" & EnshuCD & "&Dialog=3');", "", "", "", "", "", "")) End If Response.Write(HttpL4(Title & "管理", "")) Response.Write(HttpL5(ErrMSG)) %> <div id="L0" style="position: absolute; visibility: hidden; left: 0px; top: -2000px;"> <table width="820" height="402" border="0" cellspacing="5" cellpadding="15" bgcolor="#ffffff" style="border:1px solid #000000"> <tr> <td align="center" background="/<% = HomeAlias %>/images/window_bk.gif?<% = GB_STU %>"> <table width="100%" border="0" cellpadding="0" cellspacing="5"> <tr> <td align="center" valign="top"> <TABLE WIDTH="100%" HEIGHT="30" BORDER="1" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="#000000" BGCOLOR="#FFFFCC" CLASS="tx1416" STYLE="border-collapse: collapse"> <TR ALIGN="CENTER"> <% If Kijun = "Group" Then %> <TD HEIGHT="30">対象グループ名</TD> <% Else %> <TD HEIGHT="30">対象演習名</TD> <% End If %> <TD height="30" ALIGN="center"> <% If GB_Admin = 2 Or RouteType = "Sousa" Then %> <input type="hidden" name="EnshuCD" value="<% = EnshuCD %>"> <% = EnshuMeisyo %> <% Else %> <select size="1" name="EnshuCD" onChange="SetSyokaiList();" class="tbox4"> <% If Kijun = "Group" Then %> <option value=""><< 対象グループを選択して下さい >></option> <% Else %> <option value=""><< 対象演習を選択して下さい >></option> <% End If %> <% For ii = 1 To UBound(MenuVal) Response.Write("<option value=""" & MenuVal(ii) & """") If MenuVal(ii) = EnshuCD Then Response.Write(" selected") End If Response.Write(">" & MenuTxt(ii) & "</option>" & vbCrLf) Next %> </select> <% End If %> </TD> </TR> </table> <br> <% If EnshuCD <> "" Then %> <table width="700" height="100%" border="0" cellspacing="0" cellpadding="0"> <TR> <TD HEIGHT="20" VALIGN="TOP" WIDTH="700"> <TABLE WIDTH="1" height="100%" BORDER="1" CELLPADDING="3" CELLSPACING="0" BORDERCOLOR="#000000" BGCOLOR="#FFFFCC" CLASS="tx1416" STYLE="border-collapse: collapse"> <TR ALIGN="CENTER"> <% If Kijun = "Group" Then %> <TD height="25">このグループが参加していない演習</TD> <% ElseIf Kijun = "User" Then %> <TD height="25">この演習に参加していないユーザー</TD> <% Else %> <TD height="25">この演習に参加していないグループ</TD> <% End If %> <td rowspan="2"> <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"> <TR> <TD align="center"><INPUT TYPE="button" NAME="sanka" VALUE="参加させる >>" style="font-family:<% If GB_CSS = "EC" Then %>Alial<% Else %>'MS Pゴシック'<% End If %>;width:110px;height:30px;font-size:14px;" ONCLICK="SetSankaList();"></TD> </TR> <TR> <TD align="center"><BR><INPUT TYPE="button" NAME="fusanka" VALUE="<< 参加取消し" style="font-family:<% If GB_CSS = "EC" Then %>Alial<% Else %>'MS Pゴシック'<% End If %>;width:110px;height:30px;font-size:14px;" ONCLICK="SetFusankaList();"></TD> </TR> </TABLE> </td> <% If Kijun = "Group" Then %> <TD height="25">このグループが参加している演習</TD> <% ElseIf Kijun = "User" Then %> <TD height="25">この演習に参加しているユーザー</TD> <% Else %> <TD height="25">この演習に参加しているグループ</TD> <% End If %> </TR> <TR ALIGN="CENTER"> <TD> <select size="18" name="FusankaList" MULTIPLE style="font-family:<% If GB_CSS = "EC" Then %>Alial<% Else %>'MS Pゴシック'<% End If %>;padding:3px;height:343px;width:320px;font-size:14px;"> <% 'グループ参加不可能演習一覧表示ロジック ' クエリでJOINしても参加不可能演習は取得出来ないので ' 参加可能演習一覧を配列化し演習一覧に照合する If Kijun = "Group" Then Dim OKarray() ReDim OKarray(0) Dim ErrFlg Dim ii ii = 0 Query = "exec SPMグループ_参加可能演習一覧 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) ii = ii + 1 ReDim Preserve OKarray(ii) OKarray(ii) = Content.Fields("演習CD") Content.MoveNext Loop Query = "exec SPM演習一覧 '" & GB_SystemCD & "', 4" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) 'マスター演習非表示 If Content.Fields("マスター演習") <> "1" Then 'パッケージモードトグル If (PackageMode = 1 And "" & Content.Fields("パッケージ区分") = "CA") Or (PackageMode = 0 And "" & Content.Fields("パッケージ区分") <> "CA") Then '工業簿記演習は5以上で表示 If "" & Content.Fields("演習CD") <> "SYS00006" Or MajorVersion >= 5 Then ErrFlg = 0 For ii = 1 To UBound(OKarray) If OKarray(ii) = Content.Fields("演習CD") Then ErrFlg = 1 Exit For End If Next If ErrFlg = 0 Then Response.Write("<option value=""" & Content.Fields("演習CD") & """>" & Content.Fields("演習名称") & "</option>" & vbCrLf) End If End If End If End If Content.MoveNext Loop ElseIf Kijun = "User" Then Query = "exec SPM演習_不参加ユーザー一覧 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) '演習管理者の場合は演習管理者が作成したグループのユーザーのみ表示 If GB_Admin <> "2" Or (GB_Admin = "2" And Content.Fields("グループ作成者ID") = GB_GakuseiNo) Then Response.Write("<option value=""" & Content.Fields("学生番号") & """>" & Content.Fields("氏名") & " [" & Content.Fields("学生番号") & "]</option>" & vbCrLf) End If Content.MoveNext Loop Else Query = "exec SPM演習_不参加グループ一覧 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) '演習管理者の場合は演習管理者が作成したグループのみ表示 If GB_Admin <> "2" Or (GB_Admin = "2" And Content.Fields("作成者ID") = GB_GakuseiNo) Then Response.Write("<option value=""" & Content.Fields("学生グループCD") & """>" & Content.Fields("グループ名称") & "</option>" & vbCrLf) End If Content.MoveNext Loop End If %> </select> </TD> <TD> <select size="18" name="SankaList" MULTIPLE style="font-family:<% If GB_CSS = "EC" Then %>Alial<% Else %>'MS Pゴシック'<% End If %>;padding:3px;height:343px;width:320px;font-size:14px;"> <% If Kijun = "Group" Then Query = "exec SPMグループ_参加可能演習一覧 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) 'マスター演習非表示 If Content.Fields("マスター演習") <> "1" Then 'パッケージモードトグル If (PackageMode = 1 And "" & Content.Fields("パッケージ区分") = "CA") Or (PackageMode = 0 And "" & Content.Fields("パッケージ区分") <> "CA") Then Response.Write("<option value=""" & Content.Fields("演習CD") & """>" & Content.Fields("演習名称") & "</option>" & vbCrLf) End If End If Content.MoveNext Loop ElseIf Kijun = "User" Then Query = "exec SPM演習_参加ユーザー一覧2 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) '演習管理者の場合は演習管理者が作成したグループのユーザーのみ表示 If GB_Admin <> "2" Or (GB_Admin = "2" And Content.Fields("グループ作成者ID") = GB_GakuseiNo) Then Response.Write("<option value=""" & Content.Fields("学生番号") & """>" & Content.Fields("氏名") & " [" & Content.Fields("学生番号") & "]</option>" & vbCrLf) End If Content.MoveNext Loop Else Query = "exec SPM演習_参加グループ一覧 '" & GB_SystemCD & "','" & EnshuCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) '演習管理者の場合は演習管理者が作成したグループのみ表示 If GB_Admin <> "2" Or (GB_Admin = "2" And Content.Fields("作成者ID") = GB_GakuseiNo) Then Response.Write("<option value=""" & Content.Fields("学生グループCD") & """>" & Content.Fields("グループ名称") & "</option>" & vbCrLf) End If Content.MoveNext Loop End If %> </select> </TD> </TR> <TR ALIGN="CENTER"> <TD height="25" colspan="3" align="center">(Ctrlキーを押しながらクリックすれば複数選択することができます)</TD> </TR> </TABLE> </TD> </TR> </TABLE> <% Else %> <table width="700" height="340" border="0" cellspacing="0" cellpadding="0"> <TR> <TD> <br> </TD> </TR> </TABLE> <% End If %> </TD> </TR> </TABLE> </td> </tr> </table> </div> </form> </body> <SCRIPT LANGUAGE="JavaScript"> function SetSyokaiList() { SubmitReal(form1); return false; } function SetListClear() { do { form1.SankaList.options[0] = null; } while(form1.SankaList.length != 0) do { form1.FusankaList.options[0] = null; } while(form1.FusankaList.length != 0) } function SetSankaList() { var kazu; var Idx; var atai ; var hyoji ; if (form1.SankaList.length == -1) { Idx = 0; } else { Idx = form1.SankaList.length; } kazu = form1.FusankaList.length; for (var i=0;i<kazu;i++) { if (form1.FusankaList.options[i].selected) { atai = form1.FusankaList.options[i].value; hyoji = form1.FusankaList.options[i].text; form1.SankaList.options[Idx] = new Option(hyoji,atai); Idx = Idx + 1; } } for (var i=kazu-1;i>-1;i--) { if (form1.FusankaList.options[i].selected) { form1.FusankaList.options[i] = null; } } return false; } function SetFusankaList() { var kazu; var Idx; var atai ; var hyoji ; if (form1.FusankaList.length == -1) { Idx = 0; } else { Idx = form1.FusankaList.length; } kazu = form1.SankaList.length; for (var i=0;i<kazu;i++) { if (form1.SankaList.options[i].selected) { atai = form1.SankaList.options[i].value; hyoji = form1.SankaList.options[i].text; form1.FusankaList.options[Idx] = new Option(hyoji,atai); Idx = Idx + 1; } } for (var i=kazu-1;i>-1;i--) { if (form1.SankaList.options[i].selected) { form1.SankaList.options[i] = null; } } return false; } function UpdateCheck() { GroupCDSet(); tblbtn( "/<% = HomeAlias %>/admin/master/sanka/fm_enshusanka_bin.asp?Kijun=<% = Kijun %>&RouteType=<% = RouteType %>&EnshuCD=<% = EnshuCD %>&GroupCD=" + form1.GroupCD.value); return true; } function GroupCDSet() { var kazu; var atai ; atai = ""; kazu = form1.SankaList.length; for (var i=0;i<kazu;i++) { if (i == 0) { atai = atai + form1.SankaList.options[i].value; } else { atai = atai + "," + form1.SankaList.options[i].value ; } } form1.GroupCD.value = atai; return false; } </script> <SCRIPT FOR="window" EVENT="onload" LANGUAGE="JavaScript"> <% If Dialog = "1" Then %> alert("演習を基準として、参加するグループを設定します。"); <% ElseIf Dialog = "2" Then %> alert("グループを基準として、参加する演習を設定します。"); <% ElseIf Dialog = "3" Then %> alert("演習を基準として、参加するユーザーを設定します。"); <% End If %> </SCRIPT> <% = HtmlFooter %> </html> <% End Sub %>