TIM002_m.php 4.87 KB
<?php 
//*****************************************************************************
//* 
//* プログラム名:タイムカード
//* プログラムID:TIM002_m.php
//* 機能        :タイムカード更新
//* 作成者      :
//* 
//*****************************************************************************
header("Content-type: text/html; charset=Shift_JIS");

//*** 広告 ***//
include("include_m/Advertisement.inc");

//*** 共通処理 ***//
include("include_m/CommonProcess.inc");
include('../include/date.inc');

$prm = "?P_SYAIN_CD=".$PHP_SYAIN_CD."&P_FOLDER=".$PHP_FOLDER."&C=".$C;
$strErr = "";
if($sbmt == "出社" || $sbmt == "帰宅"){
	//出社時間更新
	if($sbmt == "出社"){
		$sH = date("H");
		$sM = date("i");
		$eH = "";
		$eM = "";
		$update = "start_h = '".$sH."', start_m = '".$sM."'";
		$abs = "2";
	}else if($sbmt == "帰宅"){
		$sH = "";
		$sM = "";
		$eH = date("H");
		$eM = date("i");
		$update = "end_h = '".$eH."', end_m = '".$eM."'";
		$abs = "1";
	}
	//検索
	$strSQL="select * from tim_tbl where syain_cd = '".$PHP_SYAIN_CD."' and tim_year = '".date("Y")."' and tim_month = '".date("m")."' and tim_day = '".date("d")."'";
	$objRecSet = pg_exec($strSQL);
	if($objRecSet==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	//更新
	if (pg_numrows($objRecSet)>0){
		//update
		$strSQL2 = "update tim_tbl set ".$update." where syain_cd = '".$PHP_SYAIN_CD."' and tim_year = '".date("Y")."' and tim_month = '".date("m")."' and tim_day = '".date("d")."'";
		$objRecSet2 = pg_exec($strSQL2);
		if($objRecSet2==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}
	
	}else{
		//insert
		$strSQL2 = "insert into tim_tbl ";
		$strSQL2 .= "(syain_cd, tim_year, tim_month, tim_day, start_h, start_m, end_h, end_m, tim_bikou, tim_yobi1, tim_yobi2, tim_yobi3) ";
		$strSQL2 .= "values('".$PHP_SYAIN_CD."', '".date("Y")."', '".date("m")."', '".date("d")."', '".$sH."', '".$sM."', '".$eH."', '".$eM."', '', '', '', '') ";
		$objRecSet2 = pg_exec($strSQL2);
		if($objRecSet2==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}
	}
	
	//簡易在席連動
	$strSQL = "delete from kojin_data_tbl where seq = 16 and syain_cd ='".$PHP_SYAIN_CD."'";
	$objRec = pg_exec($strSQL);
	if($objRec == false){
		echo("SQL実行に失敗しました(DELETE)");
		exit;
	}
	$strSQL = "delete from kojin_data_tbl where seq = 17 and syain_cd ='".$PHP_SYAIN_CD."'";
	$objRec = pg_exec($strSQL);
	if($objRec == false){
		echo("SQL実行に失敗しました(DELETE)");
		exit;
	}
	$strSQL = "insert into kojin_data_tbl (syain_cd, seq, memo) values('".$PHP_SYAIN_CD."', 16, '".$abs."')";
	$objRec = pg_exec($strSQL);
	if($objRec == false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
	}
	$strSQL = "insert into kojin_data_tbl (syain_cd, seq, memo) values('".$PHP_SYAIN_CD."', 17, '".Date("Y/m/d H:i")."')";
	$objRec = pg_exec($strSQL);
	if($objRec == false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
	}
	
	header("Location: ./TIM001_m.php".$prm);
	exit;
}else if($sbmt == "表示"){
	//日付整合性チェック
	if(checkdate($mon, $day, $year)){
		$prm .= "&year=".$year."&mon=".$mon."&day=".$day."&syain_cd=".$syain_cd;
		header("Location: ./TIM001_m.php".$prm);
		exit;
	}else{
		$strErr = "不正な日付が選択されました。";
	}
}else if($sbmt == "更新"){
	//半角数字チェック
	if(chk_num($sh) == false || chk_num($sm) == false || chk_num($eh) == false || chk_num($em) == false){
		$strErr = "時間は半角数字で入力してください。<br>";
	}
	//エラーなし
	if($strErr == ""){
		//単一更新 delete ⇒ insert
		$strSQL="delete from tim_tbl where syain_cd = '".$dispCD."' and tim_year = '".$dispY."' and tim_month = '".$dispM."' and tim_day = '".$dispD."'";
		$objRecSet = pg_exec($strSQL);
		if($objRecSet==false){
			echo("SQL実行に失敗しました(DELETE)");
			exit;
		}
		$strSQL = "insert into tim_tbl ";
		$strSQL .= "(syain_cd, tim_year, tim_month, tim_day, start_h, start_m, end_h, end_m, tim_bikou, tim_yobi1, tim_yobi2, tim_yobi3) ";
		$strSQL .= "values('".$dispCD."', '".$dispY."', '".$dispM."', '".$dispD."', '".cnvNum2($sh)."', '".cnvNum2($sm)."', '".cnvNum2($eh)."', '".cnvNum2($em)."', '".mb_convert_encoding(addslashes($bikou), "EUC-JP", "SJIS")."', '', '', '') ";
		$objRecSet = pg_exec($strSQL);
		if($objRecSet==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}
		$prm .= "&year=".$dispY."&mon=".$dispM."&day=".$dispD."&syain_cd=".$dispCD;
		header("Location: ./TIM001_m.php".$prm);
		exit;
	}
}

function chk_num($str){
	if(trim($str) == ""){
		return true;
	}else{
		if(ereg("^[0-9]+$",$str) == false){
			return false;
		}else{
			if(strlen($str) > 2){
				return false;
			}else{
				return true;
			}
		}
	}
}
function cnvNum2($str){
	if(trim($str) != ""){
		return sprintf('%02d', $str);
	}else{
		return "";
	}
}

?>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>E-グルPro(<?php  echo $PHP_TITLE_NAME; ?>)</TITLE>
</HEAD>
<BODY>
<form>
入力エラー<br><?php  echo $strErr; ?><br>戻るボタンで戻り再入力してください。
</form>
</BODY>
</HTML>