File "index2.php"
Full path: /www/hm-genkai/nonaka_uwbc/index2.php
File size: 10.86 KiB (11119 bytes)
MIME-type: text/html
Charset: utf-8
<HTML>
<HEAD>
<META Http-Equiv="Content-Type" Content="text/html;charset=UTF-8">
<TITLE>体調管理</TITLE>
<!--<LINK REL="stylesheet" HREF="hm.css" TYPE="text/css">-->
</HEAD>
<?php
$age = $_SERVER['HTTP_USER_AGENT'];
$fp_cp = fopen("../setting/link.csv","r");
$pwd_ = getcwd();
while ($c = fgets($fp_cp)) {
$explode_tmp_c = explode(",",$c);
if(strpos($pwd_,$explode_tmp_c[2]) !== false)
{
$cp_id_v = $explode_tmp_c[0];
}
}
fclose($fp_cp);
if(strpos($age, "Windows") || strpos($age, "iPad"))
{
}
else
{
print "<style type='text/css'>";
print ".wrap {";
print " width: 100%;";
print "}.table {";
print " width: 100%;";
print " table-layout: fixed;";
print "}";
print ".table td,";
print ".table th {";
print " border: 1px solid #DFDFDF;";
print " padding: 1rem;";
print "}";
print ".table tr > td:first-child,";
print ".table tr > th:first-child{";
print " width: 30%; ";// 最初のカラムだけ30%のwidthを確保
print "}";
print "div.content {";
print " width: 100%;";
print "}";
print "div.content pre {";
print " display: block;";
print " width: 100%;";
print " overflow-x: auto;";
print " overflow-y: hidden;";
print " height: auto;";
print "}";
print ".txt3{";
print " font-size: 160%;";
print "}";
print ".txt4{";
print " font-size: 120%;";
print "}";
print "</style>";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//表示するCSVを選択(CSV出力も同様)
//1:個別(日付-ユーザーID順) 2:個別(ユーザーID-日付順)
$csv_view = 1;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//デバック用
//////////////////////////////////////////////////////////////
EXTRACT($_GET);
//print_r($_GET);
//print_r($_POST);
//////////////////////////////////////////////////////////////
//各パスの設定
//////////////////////////////////////////////////////////////
//会社名・ユーザー名一覧CSV
$user_csv= "../setting/user.csv";
//プルダウンCSV
$list_csv = "../setting/list.csv";
//CSVデータ出力フォルダ
$csv_data_folder = "../data/";
//////////////////////////////////////////////////////////////
//CSVの読み込み⇒変数へ代入
//////////////////////////////////////////////////////////////
//print_r($list);
//プルダウンリスト(ユーザー名)読み込み
$fp = fopen($user_csv,"r");
$cp_id= 0;
$cp_list =array();
$user_list = array();
while ($line = fgets($fp))
{
$explode_tmp = explode(",",$line);
$cp_id_tmp = $explode_tmp[1];
if(($cp_id_tmp != null) && $cp_id_tmp <= $cp_id_v)
{
if(($cp_id_tmp != null) && ($cp_id != $cp_id_tmp))
{
$cp_list[$cp_id] = $cp_id_tmp ."," .$explode_tmp[2] ."," .$explode_tmp[3];
$cp_id = $cp_id + 1;
}
$user_list[] = $line;
}
}
//●ユーザー数
$user_ct = count($user_list);
//●会社数
$cm_ct = count($cp_list);
fclose($fp);
//■CSV出力処理
//日付-ユーザーID
if($csv_view == 1)
{
//個別(会社)に出力
// ディレクトリハンドルの取得
$dir_h = opendir( $csv_data_folder ) ;
// ファイル・ディレクトリの一覧を $file_list 配列に
while (false !== ($file_list[] = readdir($dir_h))) ;
// ディレクトリハンドルを閉じる
closedir( $dir_h );
// ファイル名(降順)にする
rsort($file_list);
//CSVファイルを出力
$g_no = $cp_id_v;
$out_put_file_name = "g" .str_pad($g_no,2,0,STR_PAD_LEFT) .".csv";
$fp_csv[$g_no] = fopen($csv_data_folder .$out_put_file_name ,"w");
$item = mb_convert_encoding("日付,ユーザーID,氏名,体温(朝),体温(昼),体温(夕),せき,息苦しさ,鼻水・鼻づまり,のどの痛み,頭痛,腹痛・下痢,味覚異常,嗅覚異常,倦怠感,その他", "Shift-JIS", "UTF-8");
fwrite($fp_csv[$g_no],$item ."\n");
//ディレクトリ内のファイル名を1つずつを取得
$data_save = array();
$d_ct = 0;
$now_date_[$cp_id_v] = "";
foreach ( $file_list as $file_name )
{
//ファイルのみを表示
if((is_file( $csv_data_folder . $file_name)) && (strlen($file_name) == 21))
{
//fwrite($fp_csv,$file_name ."\n");
$fp_d = fopen($csv_data_folder . $file_name ,"r");
$data_ = array();
// ファイルを1行ずつ取得する
while ($line = fgets($fp_d))
{
$data_[] = $line;
}
//各リストを,で分割
$list_ = explode(",",$data_[1]);
$split = explode("-",$file_name);
$regist_date_ = $split[0] ."-" .$split[1] ."-" .$split[2];
$regist_gp_ = intval($split[3]);
$regist_id_ = substr($split[4],0,3);
//$regist_date_ = mb_convert_encoding($regist_date_ , "UTF-8", "Shift-JIS");
if($cp_id_v == $regist_gp_)
{
$data_save[$d_ct]['date']= $regist_date_;
$data_save[$d_ct]['u_id']= $regist_id_;
$data_save[$d_ct]['name']= mb_convert_encoding($list_[1], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['temp_a']= $list_[3];
$data_save[$d_ct]['temp_b']= $list_[4];
$data_save[$d_ct]['temp_c']= $list_[5];
$data_save[$d_ct]['seki']= mb_convert_encoding($list_[6], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['iki']= mb_convert_encoding($list_[7], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['hana']= mb_convert_encoding($list_[8], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['nodo']= mb_convert_encoding($list_[9], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['zutsu']= mb_convert_encoding($list_[10], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['hukutsu']= mb_convert_encoding($list_[11], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['mikaku']= mb_convert_encoding($list_[12], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['kyukaku']= mb_convert_encoding($list_[13], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['kentai']= mb_convert_encoding($list_[14], "UTF-8", "Shift-JIS");
$data_save[$d_ct]['etc']= mb_convert_encoding($list_[15], "UTF-8", "Shift-JIS");
$d_ct = $d_ct +1;
$date_ =(!strcmp($now_date_[$regist_gp_],$regist_date_)) ? "":$regist_date_;
fwrite($fp_csv[$regist_gp_], $date_ ."," .$regist_id_ ."," .$list_[1] ."," .$list_[3] ."," .$list_[4] ."," .$list_[5] ."," .$list_[6] ."," .$list_[7] ."," .$list_[8] ."," .$list_[9] ."," .$list_[10] ."," .$list_[11] ."," .$list_[12] ."," .$list_[13]."," .$list_[14]."," .$list_[15]);
$now_date_[$regist_gp_] = $regist_date_;
}
fclose($fp_d);
//print $file_name ."<BR>";
}
}
fclose($fp_csv[$g_no]);
//print_r($data_save);
}
//ユーザーID-日付順
else if($csv_view == 2)
{
//個別(会社)に出力
// ディレクトリハンドルの取得
$dir_h = opendir( $csv_data_folder ) ;
// ファイル・ディレクトリの一覧を $file_list 配列に
while (false !== ($file_list[] = readdir($dir_h))) ;
// ディレクトリハンドルを閉じる
closedir( $dir_h ) ;
// ファイル名(降順)にする
sort($file_list) ;
//CSVファイルを出力
$g_no = $cp_id_v;
$out_put_file_name = "ug" .str_pad($g_no,2,0,STR_PAD_LEFT) .".csv";
$fp_csv[$g_no] = fopen($csv_data_folder .$out_put_file_name ,"w");
$item = mb_convert_encoding("ユーザーID,氏名,日付,体温(朝),体温(昼),体温(夕),せき,息苦しさ,鼻水・鼻づまり,のどの痛み,頭痛,腹痛・下痢,味覚異常,嗅覚異常,倦怠感,その他", "Shift-JIS", "UTF-8");
fwrite($fp_csv[$g_no],$item ."\n");
//ディレクトリ内のファイル名を1つずつを取得
foreach ( $file_list as $file_name )
{
//ファイルのみを表示
if( (is_file( $csv_data_folder . $file_name)) && (strlen($file_name) == 21) )
{
$fp_d = fopen($csv_data_folder . $file_name ,"r");
$data_ = array();
$list_ = array();
// ファイルを1行ずつ取得する
while ($line = fgets($fp_d))
{
$data_[] = $line;
}
//各リストを,で分割
$list_ = explode(",",$data_[1]);
$split = explode("-",$file_name);
$regist_date_ = $split[0] ."-" .$split[1] ."-" .$split[2];
$regist_gp_ = intval($split[3]);
$regist_id_ = intval(substr($split[4],0,3));
$user_data[$regist_gp_][$regist_id_] .= (!$user_data[$regist_gp_][$regist_id_]) ? substr($split[4],0,3) ."," .$list_[1] ."," .$regist_date_ ."," .$list_[3] ."," .$list_[4] ."," .$list_[5] ."," .$list_[6] ."," .$list_[7] ."," .$list_[8] ."," .$list_[9] ."," .$list_[10] ."," .$list_[11] ."," .$list_[12] ."," .$list_[13]."," .$list_[14]."," .$list_[15]: ",," .$regist_date_ ."," .$list_[3] ."," .$list_[4] ."," .$list_[5] ."," .$list_[6] ."," .$list_[7] ."," .$list_[8] ."," .$list_[9] ."," .$list_[10] ."," .$list_[11] ."," .$list_[12] ."," .$list_[13]."," .$list_[14]."," .$list_[15];
}
}
$csv_output ="";
$g_no = $cp_id_v;
for($u = 1;$u <= $user_ct;$u++)
{
if($user_data[$g_no][$u])
{
$csv_output .=$user_data[$g_no][$u];
}
}
fwrite($fp_csv[$g_no],$csv_output);
fclose($fp_csv[$g_no]);
}
//CSV出力ボタンが押された場合、出力処理
if(!empty($_POST['csv_out'])) header('Location: ../download.php?f=' .$out_put_file_name );
//■データ一覧表
print "<TABLE><TR><TD>";
print "<form enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "<INPUT TYPE='submit' NAME='reload' VALUE='画面更新' class='button'>";
print "</form>";
print "</TD>";
print "<TD>";
print "<form enctype='multipart/form-data' action='$_SERVER[PHP_SELF]' method='post'>";
print "<INPUT TYPE='submit' NAME='csv_out' VALUE='CSV出力' class='button'>";
print "</form>";
print "</TD>";
print "</TR>";
print "</TABLE>";
$file_type = ($csv_view == 1) ? "g" : "ug";
//指定のグループを出力
$g = $cp_id_v -1;
//会社名の取得
$campany_data = explode(",",$cp_list[$g]);
$campany_name = $campany_data[2];
//読み込むファイルを設定
$g_no = $cp_id_v;
$out_put_file_name = $file_type .str_pad($g_no,2,0,STR_PAD_LEFT) .".csv";
//CSVファイルを開く
$fp_gc = fopen($csv_data_folder . $out_put_file_name ,"r");
$list = array();
$data = array();
// ファイルを1行ずつ取得する
while ($line = fgets($fp_gc))
{
$list[] = $line;
}
$ct = count($list);
print "■" .$campany_name ."<BR>";
print "<TABLE BORDER='1'>";
//各リストを,で分割
for($i = 0;$i < $ct;$i++)
{
$data = explode(",",$list[$i]);
$data_ct = count($data);
print "<TR>";
$TD_start = ($i == 0) ? "<TH BGCOLOR='blue'><FONT SIZE ='2' COLOR='white'>" :"<TD><FONT SIZE ='2' ";
$TD_end = ($i == 0) ? "</FONT></TH>" :"</FONT></TD>";
for($d = 0;$d < $data_ct;$d++)
{
print $TD_start;
if($i != 0)
{
if(3 <= $d && $d <= 5)
{
if(37.0 <= mb_convert_encoding($data[$d], "UTF-8", "Shift-JIS"))
{
print "COLOR='red'>";
}
else
{
print ">";
}
}
else if(6 <= $d && $d <= 14)
{
if(strcmp(mb_convert_encoding($data[$d], "UTF-8", "Shift-JIS"),"なし"))
{
print "COLOR='red'>";
}
else
{
print ">";
}
}
else
{
print ">";
}
}
print mb_convert_encoding($data[$d], "UTF-8", "Shift-JIS");
print $TD_end;
}
print "</TR>";
}
print "</TABLE>";
?>
</BODY>
</HTML>