TIM902.php 5.85 KB
<?php 
//*****************************************************************************
//* プログラム名:タイムカードCSVファイル吐き出し
//* プログラムID:TIM902.php
//* 機能        :CSVファイルにデータを吐き出す
//*****************************************************************************

//***************************
//* インクルードファイル
//***************************
include("include/session_start.inc");
include("include/SessionChk.inc");
include("include/jcode.phps");
$strDBinc="include/dbcon.inc";
include($strDBinc);

$youbi=array("日","月","火","水","木","金","土");
$filename = "タイムカード".date("Y").date("m").date("d").".csv";
//20100128 文字コード修正
//$filename = JcodeConvert($filename, 1, 2);
$Agent = getenv( "HTTP_USER_AGENT" );
/*201310対応
if( ereg( "MSIE", $Agent ) ){ 
		$filename = JcodeConvert($filename, 1, 2);
} elseif( ereg( "Firefox", $Agent ) ) {
} elseif( ereg( "Safari", $Agent ) ) {
} else {
	$filename = JcodeConvert($filename, 1, 2);
}
*/
if( preg_match( "/MSIE/", $Agent ) ){ 
		$filename = JcodeConvert($filename, 1, 2);
} elseif( preg_match( "/Chrome/", $Agent ) ) {
		$filename = JcodeConvert($filename, 1, 2);
} elseif( preg_match( "/Firefox/", $Agent ) ) {
} elseif( preg_match( "/Safari/", $Agent ) ) {
} else {
	$filename = JcodeConvert($filename, 1, 2);
}

function Name_Get($pList,$Mode){
		$strName="";
		switch ($Mode) {
		case "1":
				//一人だけ取得
				$strSQL = "select name_kj_sei, name_kj_mei from syain_tbl ";
				$strSQL .= "where syain_cd = '$pList' order by disp_rank";
				$objName = pg_exec($strSQL);
				if($objName == false){
						echo("SQL実行に失敗しました(SELECT)");
						exit;
				}
				if(pg_numrows($objName) > 0){
						$objNameRec = pg_fetch_object($objName, 0);
						$strName = $objNameRec->name_kj_sei.$objNameRec->name_kj_mei;
				}
				break;

		case "2":
				//"/"区切り複数人
				$strwhere = str_replace("//", "", $pList);
				$strwhere = substr($strwhere, 1, (strlen($strwhere) - 1));
				$strwhere = str_replace("/", "' or syain_cd = '", $strwhere);
			
				$strSQL  = "select name_kj_sei, name_kj_mei from syain_tbl ";
				$strSQL .= "where syain_cd = '".$strwhere."' ";
				$strSQL .= "order by disp_rank";
				$objName = pg_exec($strSQL);
				if($objName == false){
						echo("SQL実行に失敗しました(SELECT)");
						exit;
				}
				if(pg_numrows($objName) > 0){
						for($i=0;$i<pg_numrows($objName);$i++){
								$objNameRec = pg_fetch_object($objName, $i);
								$strName .= $objNameRec->name_kj_sei.$objNameRec->name_kj_mei."/";
						}
				}

				break;
		}

		return $strName;
}

function ID_Get($pList,$Mode){
		$strID="";
		switch ($Mode) {
		case "1":
				//一人だけ取得
				$strSQL = "select syain_id from syain_tbl ";
				$strSQL .= "where syain_cd = '$pList' order by disp_rank";
				$objName = pg_exec($strSQL);
				if($objName == false){
						echo("SQL実行に失敗しました(SELECT)");
						exit;
				}
				if(pg_numrows($objName) > 0){
						$objNameRec = pg_fetch_object($objName, 0);
						$strID = $objNameRec->syain_id;
				}
				break;

		case "2":
				//"/"区切り複数人
				$strwhere = str_replace("//", "", $pList);
				$strwhere = substr($strwhere, 1, (strlen($strwhere) - 1));
				$strwhere = str_replace("/", "' or syain_cd = '", $strwhere);
			
				$strSQL  = "select syain_idi from syain_tbl ";
				$strSQL .= "where syain_cd = '".$strwhere."' ";
				$strSQL .= "order by disp_rank";
				$objName = pg_exec($strSQL);
				if($objName == false){
						echo("SQL実行に失敗しました(SELECT)");
						exit;
				}
				if(pg_numrows($objName) > 0){
						for($i=0;$i<pg_numrows($objName);$i++){
								$objNameRec = pg_fetch_object($objName, $i);
								$strID .= $objNameRec->syain_id."/";
						}
				}

				break;
		}

		return $strID;
}

Header("Content-Disposition: attachment; filename=\"$filename\"");
Header("Content-Type: text/csv");


//ヘッダー行出力
$strWk="社員番号,氏名,年,月,日,曜日,出社時間,帰宅時間,備考\n";
echo  JcodeConvert($strWk, 1, 2);

//スケジュールデータ出力
$Syain_Data=split(",", $lst_data);

for ($i = 0; $i < count($Syain_Data); $i++){
		if ($Syain_Data[$i]!=""){
				$strSQL = "SELECT * FROM tim_tbl WHERE ";
				$strSQL.= "(syain_cd='".$Syain_Data[$i]."' ";
				if (($st_year!="") && ($st_mon!="") && ($st_day!="")){
						//20100128月、日結合
						$strSQL.= " AND (tim_year || tim_month || tim_day >= '".$st_year.$st_mon.$st_day."')";
						//$strSQL.= " AND (tim_year >= '".$st_year."' AND tim_month >= '".$st_mon."')";
				}else{
					if(($st_year!="") && ($st_mon!="")){
						$strSQL.= " AND (tim_year || tim_month >= '".$st_year.$st_mon."')";

					}
				}
				if (($ed_year!="") && ($ed_mon!="") && ($ed_day)){
						//20100128月、日結合
						$strSQL.= " AND (tim_year ||  tim_month || tim_day <= '".$ed_year.$ed_mon.$ed_day."')";
						//$strSQL.= " AND (tim_year <= '".$ed_year."' AND tim_month <= '".$ed_mon."')";
				}else{
					if(($ed_year!="") && ($ed_mon!="")){
						$strSQL.= " AND (tim_year ||  tim_month <= '".$ed_year.$ed_mon."')";
					}
				}
				$strSQL.= ") Order by tim_year,tim_month,tim_day ";

				$objRec = pg_exec($strSQL);

				for ($intCnt = 0; $intCnt < pg_numrows($objRec); $intCnt++){
						$objData = pg_fetch_object($objRec, $intCnt);

						//ID
						echo JcodeConvert(ID_Get($objData->syain_cd,1), 1, 2).",";

						//氏名
						echo JcodeConvert(Name_Get($objData->syain_cd,1), 1, 2).",";

						//年
						echo $objData->tim_year.",";

						//月
						echo $objData->tim_month.",";

						//日
						echo $objData->tim_day.",";

						//曜日
						$wday = $youbi[date("w", mktime(0, 0, 0, $objData->tim_month, $objData->tim_day, $objData->tim_year))];

						echo JcodeConvert($wday, 1, 2).",";


						//出社時間,
						echo $objData->start_h.":".$objData->start_m.",";

						//帰宅時間,
						echo $objData->end_h.":".$objData->end_m.",";

						//備考
						$strWk = str_replace(",",",",$objData->tim_bikou);
						echo JcodeConvert($strWk, 1, 2)."";

						echo "\n";
				}
		}
}
?>