ADM2042.php 4.95 KB
<?PHP 
//*****************************************************************************
//* プログラム名:請求・入金管理
//* プログラムID:ADM2042.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"];
$gyoumu_name = $_POST["gyoumu_name"];

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

			//disp_rank
			$strSQL2 = "SELECT * FROM mst_gyoumu 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_gyoumu (";
		$strSQL .= " gyoumu_id     ,";
		$strSQL .= " gyoumu_name   ,";
		$strSQL .= " gyoumu_money  ,";
		$strSQL .= " gyoumu_st_term,";
		$strSQL .= " gyoumu_ed_term,";
		$strSQL .= " disp_rank     ,";
		$strSQL .= " gyoumu_area    ";
		$strSQL .= " )values(";
		$strSQL .= $newSeq.",";
		$strSQL .= "'".$gyoumu_name."',";
		$strSQL .= (int)$gyoumu_money.",";
		$strSQL .= "'".$gyoumu_st_term."',";
		$strSQL .= "'".$gyoumu_ed_term."',";
		$strSQL .= $newRank.",";
		$strSQL .= $cboInpBumon.")";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}

}else if($mode == "edt"){
		//*** 修正 ***//
		$strSQL  = "UPDATE ";
		$strSQL .= " mst_gyoumu ";
		$strSQL .= "SET ";
		$strSQL .= " gyoumu_area     = ".$cboInpBumon.",";
		$strSQL .= " gyoumu_name     = '".$gyoumu_name."',";
		$strSQL .= " gyoumu_money    = ".(int)$gyoumu_money.",";
		$strSQL .= " gyoumu_st_term  = '".$gyoumu_st_term."',";
		$strSQL .= " gyoumu_ed_term  = '".$gyoumu_ed_term."' ";
		$strSQL .= "WHERE ";
		$strSQL .= " gyoumu_id    = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}
		$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_gyoumu WHERE gyoumu_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_gyoumu WHERE disp_rank = ".$newRank;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		$objData = pg_fetch_object($objRec, 0);
		$frdSeq = $objData->gyoumu_id;
		//変更対象の前or後のデータ更新
		$strSQL = "UPDATE mst_gyoumu SET disp_rank = ".$oldRank." WHERE gyoumu_id = ".$frdSeq;
		echo $strSQL;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(UPDATE)");
			exit;
		}

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

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

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

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

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