ID. "'"); if (!mysql_num_rows($rss)) { mysql_query("REPLACE `selects` SET `ID`='". createid(). "', `TargetID`='". $recode->ID. "', `SelectID`='". $recode->ID. "', `Relation`='0' "); } } /***************************************************************/ $sql = "SELECT $client.ID, $client.Name, (SELECT COUNT(*) FROM `$client-select` WHERE `$client-select`.`SelectID`=$client.ID) as 'Cnt', CASE WHEN (SELECT COUNT(*) FROM `$client` WHERE `SelectID`=$client.ID AND `Target`='checked') THEN '●' ELSE '' END as 'Me', CASE WHEN (SELECT COUNT(*) FROM `$client-ans` WHERE `Uid`=$client.ID) THEN '○' ELSE ' ' END as 'ans', CASE WHEN $client.Email='' THEN '○' ELSE ' ' END as 'paper', selects.TargetID FROM `selects` LEFT JOIN `$client` ON selects.SelectID=$client.ID WHERE 1"; $_REQUEST['keyword'] && $sql .= " AND $client.Name LIKE '%". $_REQUEST['keyword']. "%'"; $sql .= " GROUP BY selects.SelectID"; $rs = mysql_query($sql); $max = mysql_num_rows($rs); $start = ($_REQUEST['page'] - 1) * $pageview; $sql .= " LIMIT $start, $pageview"; $rs = mysql_query($sql); $view = mysql_num_rows($rs); $pager = pager($_REQUEST['page'], $max, $pageview); $i = $start + 1; $win = new virtualwin; $win->name = 'client'; $win->caption = '回答状況と督促メール送信'; $win->width = '100%'; $win->height = '100%'; $win->body = "
0) { $('#systemDialog').html('\

\

\ 最終確認です。
\
\ 選択した '+cnt+ '名の回答者に催促の回答依頼案内メールを送信します。
\
\ メールを送信しても宜しいですか?\

\ '); } else { $('#systemDialog').html('\

\

\ 最終確認です。
\
\ 現時点で未回答の回答者全員に催促の回答依頼案内メールを送信します。
\
\ メールを送信しても宜しいですか?\

\ '); } $('#systemDialog').dialog({ title: '調査依頼督促メール送信', resizable: false, width: 480, height:320, modal:true, show:'blind', hide:'blind', buttons: { '送信する': function() { $(this).dialog('close'); document.listform.cmd.value='infomail'; document.listform.action.value='emergency_info'; $('#listform').submit(); }, 'キャンセル': function() { $(this).dialog('close'); } } });\" />

※督促メールは、個別に送信先を選択した場合は、選択した回答者のみに送信されます。 未選択の場合は、未回答者全員に送信されます。

"; $view && $win->body .= $pager; $win->body .= " "; ($_SESSION['uid'] != "admin" || $Init['ansDelete']) && $win->body .= " "; $win->body .= " "; $i = 1; while($recode = mysql_fetch_object($rs)) { $rss = mysql_query("SELECT $client.Name FROM `$client-select` LEFT JOIN `$client` ON `$client-select`.TargetID=$client.ID WHERE `$client-select`.SelectID='". $recode->ID. "' "); $lists = array(); while($dummy = mysql_fetch_object($rss)) { $lists[] = $dummy->Name; } $dell_button = " "; if ($recode->ans == "○") { $dell_button = " ID. "');\" />"; } $win->body .= " "; ($_SESSION['uid'] != "admin" || $Init['ansDelete']) && $win->body .= " "; $win->body .= " "; $i++; } $win->body .= "
No. 回答者 本人 被評価者 人数 状況削除用紙 専用ページ
$i ". $recode->Me. " ". join("、", $lists). " ". comma($recode->Cnt). " ". $recode->ans. "$dell_button". $recode->paper. " ID. "/', 'mypage');mypage.focus();\">/~/feedback/". $recode->ID. "/
"; $view && $win->body .= $pager; $win->body .= "
"; $text = $win->show(); $winfit = " $('#scroolBody').css('height', ($('#main').height() - 95) + 'px' );"; $ready = " statusbar('未回答の回答者全員に催促の案内メールを送信できます。');"; $javascript = " function ans_del(id) { if (confirm('クリックした回答者の回答をすべて削除します。\\n元に戻すことは出来ません。\\n削除しても宜しいですか?')) { location.href='". $_SERVER['SCRIPT_NAME']. "?cmd=select&action=ans_del&id='+id; } }"; } else { !$admin && $_REQUEST['target'] = $_SESSION['uid']; if (!$_REQUEST['target']) { $caption = "被評価者選択"; if ($_REQUEST['action'] == "selectlist") { $caption .= "(回答者承認)"; } else { $caption .= "(回答者選択)"; } $win = new virtualwin; $win->name = 'client'; $win->caption = $caption; $win->width = '100%'; $win->height = '100%'; $win->body = "
"; $sql = "SELECT *, CASE WHEN `Auth`='checked' THEN '○' ELSE '' END as 'Authmark', (SELECT COUNT(*) FROM `$client-select` WHERE `TargetID`=$client.ID AND `Relation`=1) as 'Relay1', (SELECT COUNT(*) FROM `$client-select` WHERE `TargetID`=$client.ID AND `Relation`=2) as 'Relay2', (SELECT COUNT(*) FROM `$client-select` WHERE `TargetID`=$client.ID AND `Relation`=3) as 'Relay3', (SELECT COUNT(*) FROM `$client-select` WHERE `TargetID`=$client.ID) as 'Cnt' FROM `$client` WHERE `Target`='checked'"; $_REQUEST['keyword'] && $sql .= " AND CONCAT_WS('', `Office`,`Depart`,`Class`,`Post`,`Name`,`Kana`,`Email`) LIKE '%". $_REQUEST['keyword']. "%'"; $rs = mysql_query($sql); $i = 1; while($recode = mysql_fetch_object($rs)) { $action = ""; $class = ""; $sql = "SELECT * FROM `$client-ans` WHERE `TargetID`='". $recode->ID. "' GROUP BY `Uid`"; $rset = mysql_query($sql); $anscnt = mysql_num_rows($rset); $total = comma($recode->Cnt); $span = "#000;"; if ($anscnt && $_REQUEST['action'] != "selectlist") { /* 回答済みが1つでも存在すれば変更不可 */ $class = "bar-disable"; $total = comma($anscnt). "/". $total; $span = "#00a"; if ($recode->Cnt > $anscnt) { $span = "#a00"; } } else { $action = "$('#target').val('". $recode->ID. "');$('#listform').submit();"; $class = "hover2 pointer"; } $win->body .= " "; $i++; } $win->body .= "
No. 承認 $Field[0] $Field[1] $Field[2] 役職 氏名 選択回答者
上司 同僚 部下
$i ". $recode->Authmark. " ". $recode->Office. " ". $recode->Depart. " ". $recode->Class. " ". $recode->Post. " ". $recode->Name. " ". comma($recode->Relay1). " ". comma($recode->Relay2). " ". comma($recode->Relay3). " $total
"; $text = $win->show(); $winfit = " $('#scroolBody').css('height', ($('#main').height() - 91) + 'px' );"; $ready = " statusbar('対象の被評価者を選択してください。1件でも回答が投稿されている方の変更はできません。');"; } elseif ($_REQUEST['action'] == "updateAuth") { mysql_query("UPDATE `$client` SET `Auth`='". $_REQUEST['Auth']. "' WHERE `ID`='". $_REQUEST['target']. "'"); header("Location: admin.php?cmd=select&action=selectlist"); exit; } elseif ($_REQUEST['action'] == "selectlist") { if ($_REQUEST['sub'] == "alldelete") { /* すべて削除 */ mysql_query("DELETE FROM `$client-select` WHERE `TargetID`='". $_REQUEST['target']. "'"); } elseif ($_REQUEST['sub'] == "delete") { $sql = "DELETE FROM `$client-select` WHERE `TargetID`='". $_REQUEST['target']. "' AND `SelectID`='". $_REQUEST['ID']. "'"; mysql_query($sql); } /* 選択回答者一覧 */ $rs = mysql_query("SELECT * FROM `$client-ans` WHERE `TargetID`='". $_REQUEST['target']. "'"); mysql_num_rows($rs) && $no_edit = true; $rs = mysql_query("SELECT * FROM `$client` WHERE `ID`='". $_REQUEST['target']. "'"); $Target = mysql_fetch_object($rs); $rs = mysql_query("SELECT COUNT(*) as 'cnt' FROM `$client-select` WHERE `TargetID`='". $_REQUEST['target']. "'"); $dummy = mysql_fetch_object($rs); $cnt = $dummy->cnt; $rs = mysql_query("SELECT $client.ID, $client.Auth, $client.Office, $client.Depart, $client.Class, $client.Post, $client.Name, CASE WHEN `$client-select`.`Relation`=1 THEN '●' ELSE '' END as 'Relay1', CASE WHEN `$client-select`.`Relation`=2 THEN '●' ELSE '' END as 'Relay2', CASE WHEN `$client-select`.`Relation`=3 THEN '●' ELSE '' END as 'Relay3' FROM `$client-select` LEFT JOIN `$client` ON `$client-select`.SelectID=$client.ID WHERE `$client-select`.`TargetID`='". $_REQUEST['target']. "'"); $win = new virtualwin; $win->name = 'client'; $win->caption = '回答者選択('. $Target->Name. ')'. $cnt. '名選択'; $win->width = '100%'; $win->height = '100%'; $win->body = "
"; if ($no_edit) { $win->body .= " "; } if ($admin) { $win->body .= " "; } $win->body .= "
"; } else { $win->body .= "
"; !$no_edit && $win->body .= " "; $win->body .= ""; $i = 1; $Relay1 = 0; $Relay2 = 0; $Relay3 = 0; while ($recode = mysql_fetch_object($rs)) { $win->body .= " "; !$no_edit && $win->body .= " "; $win->body .= ""; $i++; $recode->Relay1 && $Relay1++; $recode->Relay2 && $Relay2++; $recode->Relay3 && $Relay3++; } $win->body .= " "; !$no_edit && $win->body .= " "; $win->body .= "
No. $Field[0] $Field[1] $Field[2] 役職 氏名 上司 同僚 部下 
$i ". $recode->Office. " ". $recode->Depart. " ". $recode->Class. " ". $recode->Post. " ". $recode->Name. " ". $recode->Relay1. " ". $recode->Relay2. " ". $recode->Relay3. "ID. "');\" />
". $Relay1. " ". $Relay2. " ". $Relay3. " 
"; $text = $win->show(); $winfit = " $('#scroolBody').css('height', ($('#main').height() - 91) + 'px' );"; $ready = "statusbar('');"; $javascript = " function del(id) { if (confirm('選択した回答者を削除します。')) { $('#ID').val(id); $('#sub').val('delete'); $('#listform').submit(); } }"; } else { if ($_REQUEST['action'] == "add") { $keys = preg_grep("/^ID-/", array_keys($_REQUEST)); foreach ($keys as $line) { if ($_REQUEST[$line]) { list($dummy, $id) = split("-", $line); $sql = "REPLACE `$client-select` SET `ID`='". microid() . "', `TargetID`='". $_REQUEST['target']. "', `SelectID`='". $id. "', `Relation`='". $_REQUEST[$line]. "'"; mysql_query($sql); } } $_REQUEST['action'] = ""; } $rs = mysql_query("SELECT * FROM `$client` WHERE `ID`='". $_REQUEST['target']. "'"); $Target = mysql_fetch_object($rs); $rs = mysql_query("SELECT COUNT(*) as 'cnt' FROM `$client-select` WHERE `TargetID`='". $_REQUEST['target']. "'"); $dummy = mysql_fetch_object($rs); $cnt = $dummy->cnt; $pageview = 15; !$_REQUEST['page'] && $_REQUEST['page'] = 1; $sql = "SELECT $client.ID, CASE WHEN $client.ID='". $_REQUEST['target']. "' THEN '●' ELSE ' ' END as 'tg', $client.Office, $client.Depart, $client.Class, $client.Post, $client.Name FROM `$client` WHERE (SELECT COUNT(*) FROM `$client-select` WHERE `$client-select`.TargetID='". $_REQUEST['target']. "' AND `$client-select`.SelectID=$client.ID) = 0 AND (SELECT COUNT(*) FROM `$client-ans` WHERE `$client-ans`.Uid=$client.ID) = 0"; $_REQUEST['Office'] && $sql .= " AND `Office`='". $_REQUEST['Office']. "'"; $_REQUEST['Depart'] && $sql .= " AND `Depart`='". $_REQUEST['Depart']. "'"; $_REQUEST['Class'] && $sql .= " AND `Class`='". $_REQUEST['Class']. "'"; $_REQUEST['keyword'] && $sql .= " AND CONCAT_WS('',`ID`,`Office`,`Depart`,`Class`,`Post`,`Name`,`Kana`,`Email`) LIKE '%". $_REQUEST['keyword']. "%'"; $rs = mysql_query($sql); $max = mysql_num_rows($rs); $start = ($_REQUEST['page'] - 1) * $pageview; $sql .= " LIMIT $start, $pageview"; $rs = mysql_query($sql); $view = mysql_num_rows($rs); $pager = pager($_REQUEST['page'], $max, $pageview); $i = $start + 1; $win = new virtualwin; $win->name = 'client'; $win->caption = '回答者選択('. $Target->Name. ')'. $cnt. '名選択中'; $win->width = '100%'; $win->height = '100%'; $win->body = "
"; $admin && $win->body .= " "; $win->body .= "
"; if ($view) { $win->body .= " $pager "; } $win->body .= " "; while ($recode = mysql_fetch_object($rs)) { $win->body .= " "; if ($recode->ID == $_REQUEST['target']) { $win->body .= " "; } else { $win->body .= " "; } $win->body .= ""; $i++; } $win->body .= "
No. $Field[0] $Field[1] $Field[2] 役職 氏名 本人 上司 同僚 部下  
$i ". $recode->Office. " ". $recode->Depart. " ". $recode->Class. " ". $recode->Post. " ". $recode->Name. "        ". $recode->tg. " ID. "\" class=\"class-". $recode->ID. "\" value=\"1\" /> ID. "\" class=\"class-". $recode->ID. "\" value=\"2\" /> ID. "\" class=\"class-". $recode->ID. "\" value=\"3\" /> ID. "').attr('checked', false);\" />
"; $view && $win->body .= $pager; $win->body .= "
"; $text = $win->show(); $winfit = " $('#scroolBody').css('height', ($('#main').height() - 91) + 'px' );"; $ready = "statusbar('回答者との関係を選択して[回答者リストに追加]ボタンを押してください。選択済み、回答済みの方は選択できません。');"; } } ?>