ADM3012.php 5.15 KB
<?PHP 
//*****************************************************************************
//* プログラム名:借入金管理
//* プログラムID:ADM3010.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"];
$bank_name = $_POST["bank_name"];

if($mode == "add"){
		//*** 新規 ***//
		//seq設定
		$strSQL = "SELECT * FROM mst_bank ORDER BY bank_id 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->bank_id + 1;

			//disp_rank
			$strSQL2 = "SELECT * FROM mst_bank 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{
			$newSeq = 1;
			$newRank = 1;
		}

		//INSERT
		$strSQL  = "INSERT INTO mst_bank (";
		$strSQL .= " bank_id  ,";
		$strSQL .= " bank_kbn ,";
		$strSQL .= " bank_code,";
		$strSQL .= " bank_name,";
		$strSQL .= " bank_memo,";
		$strSQL .= " disp_rank ";
		$strSQL .= " )values(";
		$strSQL .= $newSeq.",";
		$strSQL .= "0,";
		$strSQL .= "'',";
		$strSQL .= "'".$bank_name."',";
		$strSQL .= "'',";
		$strSQL .= $newRank;
		$strSQL .= ")";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}

}else if($mode == "edt"){
		//*** 修正 ***//
		$strSQL  = "UPDATE ";
		$strSQL .= " mst_bank ";
		$strSQL .= "SET ";
		$strSQL .= " bank_name = '".$bank_name."' ";
		$strSQL .= "WHERE ";
		$strSQL .= " bank_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

}else if($mode == "up" || $mode == "down"){
		//*** 表示順変更 ***//
		if($mode == "up"){				//上へ
				$addNum = -1;
		}else if($mode == "down"){		//下へ
				$addNum = 1;
		}

		//変更対象の表示順取得
		$strSQL = "SELECT * FROM mst_bank WHERE bank_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}

		$objData = pg_fetch_object($objRec, 0);
		$newRank = $objData->disp_rank + $addNum;		//新しいdisp_rank
		$oldRank = $objData->disp_rank;							//いまのdisp_rank

		//変更対象の前or後のデータ取得
		$strSQL = "SELECT * FROM mst_bank WHERE disp_rank = ".$newRank;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}
		if(pg_numrows($objRec) > 0){
				$objData = pg_fetch_object($objRec, 0);
				$frdSeq = $objData->bank_id;
		}else{
				$frdSeq = $newRank;
		}

		//変更対象の前or後のデータ更新
		$strSQL = "UPDATE mst_bank SET disp_rank = ".$oldRank." WHERE bank_id = ".$frdSeq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(UPDATE)");
				exit;
		}

		//変更対象のデータ更新
		$strSQL = "UPDATE mst_bank SET disp_rank = ".$newRank." WHERE bank_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(UPDATE)");
				exit;
		}

}else if($mode == "del"){
		//*** 削除  ***//
		$strSQL = "DELETE FROM mst_bank WHERE bank_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(DELETE)");
			exit;
		}

		$strSQL = "SELECT * FROM kariire_tbl WHERE ginko_code=".$seq." ORDER BY kariire_seq";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}
		for ($intCnt = 0; $intCnt < pg_numrows($objRec); $intCnt++) {
				$objData = pg_fetch_object($objRec, $intCnt);
				$kariire_seq[$intCnt]   = $objData->kariire_seq;
		}

		for ($intI = 0; $intI < count($kariire_seq); $intI++) {
				$strSQL = "DELETE FROM kariire_tbl WHERE kariire_seq = ".$kariire_seq[$intI];
				$objRec = pg_exec($strSQL);
				if($objRec==false){
					echo("SQL実行に失敗しました(DELETE)");
					exit;
				}

				$strSQL = "DELETE FROM plan_tbl WHERE kariire_seq = ".$kariire_seq[$intI];
				$objRec = pg_exec($strSQL);
				if($objRec==false){
					echo("SQL実行に失敗しました(DELETE)");
					exit;
				}
		}

		//*** 表示順再採番 ***
		$strSQL = "SELECT * FROM mst_bank ORDER BY disp_rank";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
		}
		for ($intI = 0; $intI < pg_numrows($objRec); $intI++) {
				$objData = pg_fetch_object($objRec, $intI);
				$bank_id[$intI]   = $objData->bank_id;
		}
		$intRank = 1;
		for ($intI = 0; $intI < count($bank_id); $intI++) {
				//変更対象の前or後のデータ更新
				$strSQL  = "UPDATE ";
				$strSQL .= " mst_bank ";
				$strSQL .= "SET ";
				$strSQL .= " disp_rank = ".$intRank." ";
				$strSQL .= "WHERE ";
				$strSQL .= " bank_id = ".$bank_id[$intI];
				$objRec = pg_exec($strSQL);
				if($objRec==false){
					echo("SQL実行に失敗しました(UPDATE)");
					exit;
				}
				$intRank = $intRank + 1;
		}

}

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