SIM0932.php 5.78 KB
<?PHP 
//*****************************************************************************
//* プログラム名:小区分更新処理
//* プログラムID:SIM0932.php
//* 機能        :小区分更新処理
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");
include("./inc/session_start.inc");
include("./inc/SessionChk.inc");
include("./inc/dbcon.inc");

$mode = $_GET["mode"];
$seq = $_GET["seq"];
$kmode = $_GET["kmode"];
$kName = $_POST["kName"];

if ($_POST["kzei"]){
	$kzei = 1;
}else{
	$kzei = 0;
}



if($mode == "add"){
	//新規
	//seq設定
	$strSQL = "select * from koumoku_tbl order by koumoku_seq desc";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_numrows($objRec) > 0){
		$objData = pg_fetch_object($objRec, 0);
		$newSeq = $objData->koumoku_seq + 1;
	}else{
		$newSeq = 1;
	}
	//disp_rank
	$strSQL2 = "select * from koumoku_tbl where koumoku_mode = ".$kmode." order by disp_rank desc";
	$objRec2 = pg_exec($strSQL2);
	if($objRec2==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_numrows($objRec2) > 0){
		$objData2 = pg_fetch_object($objRec2, 0);
		$newRank = $objData2->disp_rank + 1;
	}else{
		$newRank = 1;
	}

	//項目テーブルINSERT
	$strSQL = "insert into koumoku_tbl (koumoku_seq, koumoku_mode, koumoku_parent, koumoku_name, disp_rank, shouhizei_flg) values(".$newSeq.", ".$kmode.", ".$seq.", '".$kName."', ".$newRank.", ".$kzei." )";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(INSERT)");
		exit;
	}

	//権限テーブルの新Seq取得
	$strSQL  = "SELECT kengen_seq FROM kengen_tbl ORDER BY kengen_seq DESC";
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_numrows($objRec) > 0){
		$objData = pg_fetch_object($objRec, 0);
		$kSeq = $objData->kengen_seq + 1;
	}

	//部門に権限を付ける
	$strSQL  = "SELECT bumon_seq FROM bumon_tbl WHERE all_flg = 1" ;
//echo("SQL:".$strSQL." count:".pg_numrows($objRec)."<BR>" );
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}

	if(pg_numrows($objRec) > 0){
		for ($i = 0; $i < pg_numrows($objRec); $i++) {
			$objData = pg_fetch_object($objRec, $i);
			$bumSeq[$i] = $objData->bumon_seq;

			//権限テーブルINSERT
			$strSQL2  = "INSERT INTO kengen_tbl (kengen_seq, bumon_seq, koumoku_seq) ";
			$strSQL2 .= " VALUES(".($kSeq+$i). ", " .$bumSeq[$i]. ", " .$newSeq. " )";

//echo( "kenSeq:".$kSeq+$i." bumSeq:".$bumSeq[$i]." SQL:".$strSQL2."<BR>" );
			$objRec2 = pg_exec($strSQL2);
			if($objRec2==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
			}

		}
	}


}else if($mode == "edt"){
	//修正
	$strSQL = "update koumoku_tbl set koumoku_name = '".$kName."' , shouhizei_flg = ".$kzei." WHERE koumoku_seq = ".$seq ;

	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(UPDATE)");
		exit;
	}

}else if($mode == "del"){
	//削除
	$strSQL = "delete from koumoku_tbl where koumoku_seq = ".$seq;
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(DELETE)");
		exit;
	}
	//入金データ削除
	$strSQL = "delete from nyukin_tbl where koumoku_seq = ".$seq;
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(DELETE)");
		exit;
	}

	//権限の削除
	$strSQL = "DELETE FROM kengen_tbl WHERE koumoku_seq = ".$seq;
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(DELETE)");
		exit;
	}

	header("Location:./SIM0930.php");
	exit;

}else if($mode == "up" || $mode == "down"){

	//変更対象の親Seq取得
	$strSQL = "SELECT koumoku_parent FROM koumoku_tbl WHERE koumoku_seq = ".$seq;
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	$objData = pg_fetch_object($objRec, 0);
	$intParent = $objData->koumoku_parent;

	//変更対象のレコード取得
	$strSQL = "SELECT * FROM koumoku_tbl WHERE koumoku_mode = 2 AND koumoku_parent = ".$intParent." ORDER BY disp_rank";
//echo($strSQL);
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_numrows($objRec) > 0){
		for ($i = 0; $i < pg_numrows($objRec); $i++) {
			//親Seqが同じレコードを配列に格納
			$objDspRec[$i] = pg_fetch_object($objRec, $i);
			$dspSeq[$i] = $objDspRec[$i]->koumoku_seq ;
			$dspRnk[$i] = $objDspRec[$i]->disp_rank ;
			if ($dspSeq[$i] == $seq) {
				//自分が何番目かを取得
				$ownCnt = $i ;
			}
		}
	}

	if($mode == "up"){				//上へ
		//変更対象の↑のデータ更新		
		$strSQL  = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt]." ";
		$strSQL .= " WHERE koumoku_seq = ".$dspSeq[$ownCnt-1]." AND koumoku_mode = 2 AND koumoku_parent = ".$intParent;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}
		//変更対象のデータ更新
		$strSQL  = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt-1]." ";
		$strSQL .= " WHERE koumoku_seq = ".$dspSeq[$ownCnt]." AND koumoku_mode = 2 AND koumoku_parent = ".$intParent;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

	}else if($mode == "down"){		//下へ

		//変更対象の↓のデータ更新
		$strSQL  = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt]." ";
		$strSQL .= " WHERE koumoku_seq = ".$dspSeq[$ownCnt+1]." AND koumoku_mode = 2 AND koumoku_parent = ".$intParent;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}
		//変更対象のデータ更新
		$strSQL  = "UPDATE koumoku_tbl SET disp_rank = ".$dspRnk[$ownCnt+1]." ";
		$strSQL .= " WHERE koumoku_seq = ".$dspSeq[$ownCnt]." AND koumoku_mode = 2 AND koumoku_parent = ".$intParent;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}
	}
}

header("Location:./SIM0930.php");
exit;
?>