File "view.php"
Full path: /www/ansys/rctm/002_hitachinaka_2_t/map/view.php
File size: 19 KiB (19458 bytes)
MIME-type: text/x-php
Charset: utf-8
<?php
extract($_POST);
//print_r($_POST);
//===============================================
// CommonUtilities
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
//===============================================
$SCRIPT_TITLE = "運航管理システム -船舶位置確認-";
$PENTA_OCEAN = "五洋・菅原特定建設工事共同企業体";
$TAIL_PENTA_OCEAN = "penta-ocean";
$imgFileName = "view_map.php";
$AreaFileName = "./area2.txt";
$CONST_ID = 12;
$APPLICATION_ID = 23;
$HOST = "192.168.100.153";
$DB = "ansys";
$USER = "postgres";
$PASS = "am#71ZJ*";
$LOG_FILE = "./log/view.log";
//================================================
// データベース接続
// 備考 :
// 更新 : 2012/11/29 KMK-Teraoka
//================================================
$conn = pg_connect("
host = ". $HOST. "
dbname = ". $DB. "
user = ". $USER. "
password= ". $PASS. "
");
if (!$conn)
{
throw new Exception("データベースへの接続に失敗しました");
}
//===============================================
// HTML-HEAD-
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "<html>";
print "<head>";
//print "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">";
//print "<meta http-equiv=\"Refresh\" content=\"6000\">";
print "<title>". $SCRIPT_TITLE. "</title>";
print "<style type=\"text/css\">";
print "html {font-size: 80%; font-family:\"MS ゴシック\"; overflow-y:scroll;}";
print "table {font-size: 100%; font-family:\"MS ゴシック\"; text-align:center;}";
print "input {font-size: 100%; font-family:\"MS ゴシック\";}";
print "select {font-size: 100%; font-family:\"MS ゴシック\";}";
print "pre {font-size: 100%; font-family:\"MS ゴシック\";}";
print "</style>";
?>
<script src="./lib/jquery-2.0.3.js"></script>
<script type="text/javascript">
function Fill(FillId_,AreaID_) {
// 「OK」時の処理開始 + 確認ダイアログの表示
var val = new Array(4);
var Mess = "";
if(!AreaID_)
{
if(FillId_ < 78)
{
Mess = FillId_ + '番のセルを施行済みに変更します。';
}
else
{
Mess = '選択したセルを施行済みに変更します。';
}
if(window.confirm(Mess))
{
// location.href = "view.php?del=" + AreaId_ ; // example_confirm.html へジャンプ
// location.href = "view.php?col=" + document.form1.col1.value;
//エリア名称設定
if(document.form1.Radio1.checked)
{
val[0] = document.form1.Radio1.value;
val[1] = document.form1.Text1.value;
}
else if(document.form1.Radio2.checked)
{
val[0] = document.form1.Radio2.value;
val[1] = document.form1.Text2.value;
}
else if(document.form1.Radio3.checked)
{
val[0] = document.form1.Radio3.value;
val[1] = document.form1.Text3.value;
}
else if(document.form1.Radio4.checked)
{
val[0] = document.form1.Radio4.value;
val[1] = document.form1.Text4.value;
}
else if(document.form1.Radio5.checked)
{
val[0] = document.form1.Radio5.value;
val[1] = document.form1.Text5.value;
}
else
{
val[0] = document.form1.Radio6.value;
val[1] = document.form1.Text6.value;
}
//色の設定
if(document.form1.Col0.checked) val[2] = document.form1.Col0.value;
if(document.form1.Col1.checked) val[2] = document.form1.Col1.value;
if(document.form1.Col2.checked) val[2] = document.form1.Col2.value;
if(document.form1.Col3.checked) val[2] = document.form1.Col3.value;
if(document.form1.Col4.checked) val[2] = document.form1.Col4.value;
if(document.form1.Col5.checked) val[2] = document.form1.Col5.value;
if(document.form1.Col6.checked) val[2] = document.form1.Col6.value;
if(document.form1.Col7.checked) val[2] = document.form1.Col7.value;
if(document.form1.Col8.checked) val[2] = document.form1.Col8.value;
if(document.form1.Col9.checked) val[2] = document.form1.Col9.value;
if(document.form1.Col10.checked) val[2] = document.form1.Col10.value;
if(document.form1.Col11.checked) val[2] = document.form1.Col11.value;
if(document.form1.Col12.checked) val[2] = document.form1.Col12.value;
val[3] = FillId_;
postJump(val);
}
else
{
//location.href = "view.php";
// window.alert('"' + AreaName_ + '"を削除しました。'); // 警告ダイアログを表示
}
}
else
{
if(FillId_ < 78)
{
Mess = FillId_ + '番のセルの施行済みを解除します。';
}
else
{
Mess = '選択したセルの施行済みを解除します。';
}
if(window.confirm(Mess))
{
val[3] = FillId_;
postJump(val);
}
else
{
//location.href = "view.php";
// window.alert('"' + AreaName_ + '"を削除しました。'); // 警告ダイアログを表示
}
}
}
function postJump(_vals){
var html = '<form method="post" action="view.php" id="postjump" style="display: none;">';
if(_vals[0])
{
html += '<input type="hidden" name="ListId" value="'+_vals[0]+'" >';
html += '<input type="hidden" name="AreaName" value="'+_vals[1]+'" >';
html += '<input type="hidden" name="Col" value="'+_vals[2]+'" >';
html += '<input type="hidden" name="FillId" value="'+_vals[3]+'" >';
}
else
{
html += '<input type="hidden" name="FillId" value="'+_vals[3]+'" >';
}
html += '</form>';
$("body").append(html);
$('#postjump').submit();
$('#postjump').remove();
}
function RefreshImg()
{
//alert(FileName);
uniq = new Date();
uniq = "?" + uniq.getTime();
newImage = document.imgToLoad.src;
index = newImage.indexOf("?", 0);
if (index > 0)
{
newImage = newImage.substr(0, index);
}
document.imgToLoad.src = 'view_map.php'+uniq;
}
</script>
<?php
/*
print "<center>";
print "<font size=\"3\">";
print "<b>";
print "". $SCRIPT_TITLE. "<br>";
print "</b>";
print "</font>";
print "</center>";
*/
print "</head>";
//===============================================
// HTML-BODY部開始-
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "<body>";
// ===============================================
// 上で保存した画像を表示
// 備考 :
// 更新 : 2010/09/08 KMK T.Teraoka
// ===============================================
//POSTデータをチェック
if($_POST)
{
// print_r($_POST);
if($ListId)
{
if($Col != 9999)
{
$upArea = "UPDATE qgis.area_status_fill_t SET ";
$upArea .= "area_name = '" .$AreaName ."',";
$upArea .= "legend_color='" .$Col ."',";
$upArea .= "upddatetime=" ."current_timestamp";
$upArea .= " WHERE list_id =" .$ListId .";";
// print $upArea ."<BR>";
if (!($resData = pg_query($conn, $upArea)))
{
// print pg_last_error(). "<br />";
// throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
}
}
else
{
$upArea = "UPDATE qgis.area_status_fill_t SET ";
$upArea .= "area_name = '" .$AreaName ."',";
$upArea .= "upddatetime=" ."current_timestamp";
$upArea .= " WHERE list_id =" .$ListId .";";
// print $upArea ."<BR>";
if (!($resData = pg_query($conn, $upArea)))
{
// print pg_last_error(). "<br />";
// throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
}
}
$upArea = "UPDATE qgis.hitachinaka_point_t SET ";
$upArea .= "area_id = '" .$ListId ."',";
$upArea .= "upddatetime=" ."current_timestamp";
$upArea .= " WHERE pno =" .$FillId .";";
// print $upArea ."<BR>";
if (!($resData = pg_query($conn, $upArea)))
{
// print pg_last_error(). "<br />";
// throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
}
}
else
{
$upArea = "UPDATE qgis.hitachinaka_point_t SET ";
$upArea .= "area_id = null,";
$upArea .= "upddatetime=" ."current_timestamp";
$upArea .= " WHERE pno =" .$FillId .";";
// print $upArea ."<BR>";
if (!($resData = pg_query($conn, $upArea)))
{
// print pg_last_error(). "<br />";
//
}
}
//セル描画データをテキストファイルで出力
////////////////////////////////////////////////////////////////////////
$selArea = "SELECT * FROM qgis.hitachinaka_point_t";
$selArea .= " WHERE NOT area_id is null";
$selArea .= " ORDER BY pno";
$selArea .= ";";
// print $selArea ."<BR>";
if (!($resArea = pg_query($conn, $selArea)))
{
$resArea. "<br />". pg_last_error(). "<br />";
//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
//print pg_last_error() ;
}
$rowA = pg_num_rows($resArea);
$fp = fopen($AreaFileName, "w");
//エリアのステータス情報のみを取得(凡例用)
$selSts0 = "SELECT * FROM qgis.area_status_fill_t";
$selSts0 .= " WHERE const_id='". $CONST_ID. "'";
$selSts0 .= " AND app_id='". $APPLICATION_ID. "'";
$selSts0 .= " AND del_flg = FALSE order by list_id";
$selSts0 .= ";";
if (!($resSts0 = pg_query($conn, $selSts0)))
{
//print pg_last_error() ;
}
$rowStsCt = pg_num_rows($resSts0);
for($s = 0; $s < $rowStsCt;$s++)
{
$rowSts0 = pg_fetch_array($resSts0, $s, PGSQL_ASSOC);
$OutputData .= $rowSts0['area_name']."," .$rowSts0['legend_color'];
if(($rowStsCt-1) != $s) $OutputData .= ",";
}
$OutputData .= "#";
for($iCount = 0; $iCount < $rowA; $iCount++)
{
$rowArea = pg_fetch_array($resArea, $iCount, PGSQL_ASSOC);
//エリアのステータスを取得
$selSts = "SELECT * FROM qgis.area_status_fill_t";
$selSts .= " WHERE const_id='". $CONST_ID. "'";
$selSts .= " AND app_id='". $APPLICATION_ID. "'";
$selSts .= " AND list_id='". $rowArea['area_id'] ."'";
$selSts .= " AND del_flg = FALSE";
$selSts .= ";";
if (!($resSts = pg_query($conn, $selSts)))
{
//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
//print pg_last_error() ;
}
$rowSts = pg_fetch_array($resSts, 0, PGSQL_ASSOC);
$OutputData .= $rowArea['pno'] ."," .$rowArea['x'] ."," .$rowArea['y'] ."," .$rowSts['legend_color'];
if(($rowA-1) != $iCount) $OutputData .= "#";
}
fwrite($fp, $OutputData);
fclose($fp);
////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
else
{
// print "データなし";
}
print "<div style='position: relative;'>";
print "<IMG SRC='" .$imgFileName ."' ALT='QGIS' usemap=\"#map_1\" name=imgToLoad onload='setTimeout(\"RefreshImg()\", 1000)' onerror='setTimeout(\"RefreshImg()\", 5000)' onabort='setTimeout(\"RefreshImg()\", 10000)' id=imgToLoad naturalsizeflag=0 height=\"614\">";
print "<map name='map_1'>";
$HtSelect = "SELECT * FROM qgis.hitachinaka_point_t order by id;";
if (!($resHt = pg_query($conn, $HtSelect)))
{
// print pg_last_error() ."<BR>";
// throw new Exception("データ取得に失敗<br />". $DelArea. "<br />". pg_last_error(). "<br />");
}
$ba = 0.6;
$Csize =12;
$row = pg_num_rows($resHt);
// print $row ."<BR>";
for($iCount = 0; $iCount < $row; $iCount++)
{
$rowHt = pg_fetch_array($resHt, $iCount, PGSQL_ASSOC);
//print_r($rowHt);
//print "<BR>";
if($iCount < 77)
{
print "<area shape=\"circle\" coords=\"" .$rowHt['x'] * $ba ."," .$rowHt['y'] * $ba ."," .$Csize * $ba ."\" href=\"#\" alt=\"円形\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else if($iCount < 109)
{
if(($iCount%2) == 1)
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -19) * $ba ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] -9) * $ba ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +9) * $ba ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] +19) * $ba ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
}
else if($iCount < 111)
{
if(($iCount%2) == 1)
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -18) * $ba ."," .($rowHt['y']-10) * $ba ."," .($rowHt['x'] -8) * $ba ."," .$rowHt['y'] * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +8) * $ba ."," .$rowHt['y'] * $ba ."," .($rowHt['x'] +13) * $ba ."," .($rowHt['y']+10) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
}
else if($iCount < 177)
{
if(($iCount%2) == 1)
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -5) * $ba ."," .($rowHt['y']-19) * $ba ."," .($rowHt['x'] +5) * $ba ."," .($rowHt['y']-9) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -5) * $ba ."," .($rowHt['y']+9) * $ba ."," .($rowHt['x'] +5) * $ba ."," .($rowHt['y']+19) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
}
else if($iCount < 179)
{
if(($iCount%2) == 1)
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -8) * $ba ."," .$rowHt['y'] * $ba ."," .($rowHt['x'] -13) * $ba ."," .($rowHt['y']+10) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +7) * $ba ."," .($rowHt['y']-10) * $ba ."," .($rowHt['x'] +17) * $ba ."," .$rowHt['y'] * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
}
else
{
if(($iCount%2) == 1)
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -19) * $ba ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] -9) * $ba ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
else
{
print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +9) * $ba ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] +19) * $ba ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
}
}
}
print "</map>";
$selArea = "SELECT * FROM qgis.area_status_fill_t";
$selArea .= " order by list_id;";
$selArea .= ";";
if (!($resArea = pg_query($conn, $selArea)))
{
//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
//print pg_last_error() ;
}
$CountArea = pg_num_rows($resArea);
print "<form name='form1' action=''>";
print "<div style='position: absolute; top: 550px; left: 40px; width: 335px;'>";
print " ";
print "<B><FONT size ='2'>エリア名称</B> 設定色</B></FONT><BR>";
for($ii = 0 ;$ii < $CountArea-3;$ii++)
{
$rowArea = pg_fetch_array($resArea, $ii, PGSQL_ASSOC);
if(!$ListId)
{
$chkd[0] = " checked";
}
else
{
if($ListId == $rowArea['list_id']) $chkd[$ii] = " checked";
}
print "<input id='Radio" .$rowArea['list_id'] ."' name='areaname' type='radio' value='" .$rowArea['list_id'] ."' " .$chkd[$ii] .">";
print " ";
print "<FONT size='2'>";
print "<input id=\"Text" .$rowArea['list_id'] ."\" type=\"text\" name=\"AreaName\" maxlength=\"20\" style=\"width:100px\" value='" .$rowArea['area_name'] ."'>";
print "</FONT>";
print " ";
print "<FONT COLOR='#" .$rowArea['legend_color'] ."' size ='3'>■</FONT>";
print "<BR>";
}
print "</div>";
print "<div style='position: absolute; top: 550px; left: 210px; width: 335px;'>";
print " ";
print "<B><FONT size ='2'>エリア名称</B> 設定色</B></FONT><BR>";
for($ii = 3 ;$ii < $CountArea;$ii++)
{
$rowArea = pg_fetch_array($resArea, $ii, PGSQL_ASSOC);
if(!$ListId)
{
$chkd[0] = " checked";
}
else
{
if($ListId == $rowArea['list_id']) $chkd[$ii] = " checked";
}
print "<input id='Radio" .$rowArea['list_id'] ."' name='areaname' type='radio' value='" .$rowArea['list_id'] ."' " .$chkd[$ii] .">";
print " ";
print "<FONT size='2'>";
print "<input id=\"Text" .$rowArea['list_id'] ."\" type=\"text\" name=\"AreaName\" maxlength=\"20\" style=\"width:100px\" value='" .$rowArea['area_name'] ."'>";
print "</FONT>";
print " ";
print "<FONT COLOR='#" .$rowArea['legend_color'] ."' size ='3'>■</FONT>";
print "<BR>";
}
print "</div>";
print "<div style='position: absolute; top: 520px; left: 420px; width: 240px;'>";
print " ";
print "<B><FONT size ='2'>色の選択</B></FONT><BR><BR>";
print "<input id='Col0' name='colorset' type='radio' value='9999' checked ><FONT COLOR='#000000' size ='2'>設定中の色</FONT>";
print " ";
print " ";
print "<BR>";
print "<input id='Col1' name='colorset' type='radio' value='ff0000' " .$chk[0] ."><FONT COLOR='#ff0000' size ='4'>■</FONT>";
print " ";
print "<input id='Col2' name='colorset' type='radio' value='0000ff' " .$chk[1] ."><FONT COLOR='#0000ff' size ='4'>■</FONT>";
print " ";
print "<input id='Col3' name='colorset' type='radio' value='00ff7f' " .$chk[2] ."><FONT COLOR='#00ff7f' size ='4'>■</FONT>";
print " ";
print "<input id='Col4' name='colorset' type='radio' value='ffa500' " .$chk[3] ."><FONT COLOR='#ffa500' size ='4'>■</FONT>";
print "<BR>";
print "<input id='Col5' name='colorset' type='radio' value='8a2be2' " .$chk[4] ."><FONT COLOR='#8a2be2' size ='4'>■</FONT>";
print " ";
print "<input id='Col6' name='colorset' type='radio' value='f08080' " .$chk[5] ."><FONT COLOR='#f08080' size ='4'>■</FONT>";
print " ";
print "<input id='Col7' name='colorset' type='radio' value='00bfff' " .$chk[6] ."><FONT COLOR='#00bfff' size ='4'>■</FONT>";
print " ";
print "<input id='Col8' name='colorset' type='radio' value='800000' " .$chk[7] ."><FONT COLOR='#800000' size ='4'>■</FONT>";
print "<BR>";
print "<input id='Col9' name='colorset' type='radio' value='2f4f4f' " .$chk[8] ."><FONT COLOR='#2f4f4f' size ='4'>■</FONT>";
print " ";
print "<input id='Col10' name='colorset' type='radio' value='ffff00' " .$chk[9] ."><FONT COLOR='#ffff00' size ='4'>■</FONT>";
print " ";
print "<input id='Col11' name='colorset' type='radio' value='008000' " .$chk[10] ."><FONT COLOR='#008000' size ='4'>■</FONT>";
print " ";
print "<input id='Col12' name='colorset' type='radio' value='ff1493' " .$chk[11] ."><FONT COLOR='#ff1493' size ='4'>■</FONT>";
print "<BR>";
print "</form>";
print "</div>";
print "</div>";
// 戻る
//print "<br />";
//print "<a href=\"./index.php\">戻る</a>";
//===============================================
// HTML終了処理
// 備考 :
// 更新 : 2012/10/18 KMK-Teraoka
//===============================================
print "</body>";
print "</html>";
?>