ADM2042.php 10.5 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"];
$gyoumu_koban = $_POST["gyoumu_koban"];
$gyousya_id = $_POST["gyousya"];

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;
		}

//		//業者紐付け登録 seq設定
//		$strSQL = "SELECT * FROM mst_gyousya_set ORDER BY gyousya_set_seq DESC";
//		$objRec = pg_exec($strSQL);
//		if($objRec==false){
//			echo("SQL実行に失敗しました(SELECT)");
//			exit;
//		}
//		if(pg_numrows($objRec) > 0){
//			$objData = pg_fetch_object($objRec, 0);
//			$newSetSeq = $objData->gyousya_set_seq + 1;
//
//			//disp_rank
//			$strSQL2 = "SELECT * FROM mst_gyousya_set 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);
//					$newSetRank = $objData2->disp_rank + 1;
//			}
//		}else{
//			$newSetSeq = 1;
//			$newSetRank = 1;
//		}

		//業者登録 id取得
		$strSQL = "SELECT * FROM mst_gyousya_name ORDER BY gyousya_id DESC";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		if(pg_numrows($objRec) > 0){
			$objData = pg_fetch_object($objRec, 0);
			$newSetSeq = $objData->gyousya_id + 1;
		}else{
			$newSetSeq = 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 .= " gyoumu_koban   ";
		$strSQL .= " )values(";
		$strSQL .= $newSeq.",";
		$strSQL .= "'".$gyoumu_name."',";
		$strSQL .= (int)$gyoumu_money.",";
		$strSQL .= "'".$gyoumu_st_term."',";
		$strSQL .= "'".$gyoumu_ed_term."',";
		$strSQL .= $newRank.",";
		$strSQL .= $cboInpBumon.",";
		$strSQL .= "'".$gyoumu_koban."')";
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(INSERT)");
			exit;
		}

		//INSERT 業者テーブル
		$strSQL  = "INSERT INTO mst_gyousya_name (";
		$strSQL .= " gyousya_id   ,";
		$strSQL .= " gyousya_name ,";
		$strSQL .= " gyoumu_id    ,";
		$strSQL .= " inp_user      ";
		$strSQL .= " )values(";
		$strSQL .= $newSetSeq .",";
		$strSQL .= "'".$gyousya   ."',";
		$strSQL .= $newSeq.",";
		$strSQL .= $PHP_USER_SEQ.")";

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

//		for($i=0; $i<count($gyousya_id); $i++ ){
//			//INSERT 紐付けテーブル
//			$strSQL  = "INSERT INTO mst_gyousya_set (";
//			$strSQL .= " gyousya_set_seq     ,";
//			$strSQL .= " gyoumu_id     ,";
//			$strSQL .= " gyousya_id    ,";
//			$strSQL .= " disp_rank     ";
//			$strSQL .= " )values(";
//			$strSQL .= $newSetSeq + $i .",";
//			$strSQL .= "'".$newSeq."',";
//			$strSQL .= $gyousya_id[$i].",";
//			$strSQL .= $newSetRank.")";
//			$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 .= " gyoumu_koban  = '".$gyoumu_koban."' ";
		$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;
//		}

		//業者テーブル更新
		$strSQL = "SELECT * FROM mst_gyousya_name WHERE gyoumu_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(SELECT)");
			exit;
		}
		if(pg_numrows($objRec) > 0){
			//UPDATE
			$strSQL  = "UPDATE mst_gyousya_name SET ";
			$strSQL .= " gyousya_name     = '".$gyousya."' ";
			$strSQL .= " WHERE gyoumu_id = ".$seq;
			$objRec = pg_exec($strSQL);
			if($objRec==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
			}
			
		}else{
			//業者登録 id取得
			$strSQL = "SELECT * FROM mst_gyousya_name ORDER BY gyousya_id DESC";
			if($objRec==false){
				echo("SQL実行に失敗しました(SELECT)");
				exit;
			}
			if(pg_numrows($objRec) > 0){
				$objData = pg_fetch_object($objRec, 0);
				$newSetSeq = $objData->gyousya_id + 1;
			}else{
				$newSetSeq = 1;
			}
			//INSERT 業者テーブル
			$strSQL  = "INSERT INTO mst_gyousya_name (";
			$strSQL .= " gyousya_id   ,";
			$strSQL .= " gyousya_name ,";
			$strSQL .= " gyoumu_id    ,";
			$strSQL .= " inp_user      ";
			$strSQL .= " )values(";
			$strSQL .= $newSetSeq .",";
			$strSQL .= "'".$gyousya   ."',";
			$strSQL .= $seq.",";
			$strSQL .= $PHP_USER_SEQ.")";
			$objRec = pg_exec($strSQL);
			if($objRec==false){
				echo("SQL実行に失敗しました(INSERT)");
				exit;
			}
			
		}

//		//業者紐付け登録 seq設定
//		$strSQL = "SELECT * FROM mst_gyousya_set ORDER BY gyousya_set_seq DESC";
//		$objRec = pg_exec($strSQL);
//		if($objRec==false){
//			echo("SQL実行に失敗しました(SELECT)");
//			exit;
//		}
//		if(pg_numrows($objRec) > 0){
//			$objData = pg_fetch_object($objRec, 0);
//			$newSetSeq = $objData->gyousya_set_seq + 1;
//
//			//disp_rank
//			$strSQL2 = "SELECT * FROM mst_gyousya_set 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);
//					$newSetRank = $objData2->disp_rank + 1;
//			}
//		}else{
//			$newSetSeq = 1;
//			$newSetRank = 1;
//		}
//
//		//重複レコードDELETE
//		$strSQL  = "DELETE FROM mst_gyousya_set ";
//		$strSQL .= "WHERE gyoumu_id = ".$seq;
//		$objRec = pg_exec($strSQL);
//		if($objRec==false){
//			echo("SQL実行に失敗しました(DELETE)");
//			exit;
//		}
//		for($i=0; $i<count($gyousya_id); $i++ ){
//			//INSERT 紐付けテーブル
//			$strSQL  = "INSERT INTO mst_gyousya_set (";
//			$strSQL .= " gyousya_set_seq ,";
//			$strSQL .= " gyoumu_id     ,";
//			$strSQL .= " gyousya_id    ,";
//			$strSQL .= " disp_rank     ";
//			$strSQL .= " )values( ";
//			$strSQL .= (int)$newSetSeq + $i .",";
//			$strSQL .= $seq.",";
//			$strSQL .= $gyousya_id[$i].",";
//			$strSQL .= $PHP_USER_SEQ.")";
//			$objRec = pg_exec($strSQL);
//			if($objRec==false){
//				echo("SQL実行に失敗しました(INSERT)");
//				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  = "DELETE FROM mst_gyousya_name ";
		$strSQL .= "WHERE gyoumu_id = ".$seq;
		$objRec = pg_exec($strSQL);
		if($objRec==false){
			echo("SQL実行に失敗しました(DELETE)");
			exit;
		}

//		//業者との紐付け削除
//		$strSQL  = "DELETE FROM mst_gyousya_set ";
//		$strSQL .= "WHERE 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;
?>