BRR0302.php 12 KB
<?PHP 
//*****************************************************************************
//* プログラム名:返済計画登録
//* プログラムID:SIM0302.php
//* 機能        :返済計画更新処理
//*****************************************************************************
header("Content-type: text/html; charset=EUC-JP");
include("./inc/session_start.inc");
include("./inc/SessionChk.inc");
include("./inc/dbcon.inc");
$err = 0;

$hensai_sd = $_POST["hensai_sd"];
$hensai_ed = $_POST["hensai_ed"];

$yyyy = $_POST["yyyy"];
$mon = $_POST["mon"];
$gseq = $_POST["gseq"];
$hseq = $_POST["hseq"];
$kseq = $_POST["kseq"];
$kmode = $_POST["kmode"];

$siharai_shubetu = $_POST["siharai"];

if($_POST["mode"] == "FromList"){
	$strURL="BRR0500.php";
}else{
	$strURL="BRR0300.php";
}
//echo $kariire_seq."<hr>";
//借入SEQの受取
$kariire_seq = $_POST["kariire_seq"];
	$strSQL = "select * from kariire_tbl WHERE kariire_seq = ".$kariire_seq;
	$objRec = pg_exec($strSQL);
	if($objRec==false){
		echo("SQL実行に失敗しました(SELECT)");
		exit;
	}
	if(pg_numrows($objRec)>0){
		$objData = pg_fetch_object($objRec, 0);
		$kariiregaku = $objData->kariiregaku;
		$hensai_count = $objData->hensai_count;
		$kinri = $objData->interest_cost;
	}
//合計金額
$wa = 0;
//チェックがついていない
$nchk = 0;
for($i=0;$i<$hensai_count;$i++){
	$nyutext[$i]= intval($_POST["nyu_text".$i]);
	$nyu_chk[$i]= intval($_POST["nyu_chk".$i]);

	if($nyu_chk[$i] == 1){
		$wa +=$nyutext[$i];
		$chk_con++;
	}elseif($nyu_chk[$i] == 0){
		$nchk++;
	}
}

$zankin = $kariiregaku - $wa;
for($i=0;$i<$hensai_count;$i++){

//echo $i." : nyu_chk = ".$nyu_chk[$i]."<br>";

	if($nyu_chk[$i] == 1){
		$gankin[$i] =$nyutext[$i];
	}elseif($nyu_chk[$i] == 0){
		$gankin[$i] = floor($zankin / $nchk);
	}
//echo $i." : nchk = ".$nchk."<br>";
//echo "gankin[".$i."] = ".$gankin[$i]."<br>";
}

//現在の金額の取り出し(plan_seq)
$strSQL = "select * from plan_tbl where kariire_seq = $kariire_seq ORDER BY plan_seq = 1";
$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);
		$plan_seq[$i] = $objData->plan_seq;
		$hensai_year[$i] = $objData->hensai_year;
		$hensai_month[$i] = $objData->hensai_month;
		$hensai[$i] = $objData->hensaigaku;	
		$kr_seq = $objData->kariire_seq;	

	}
	
}
$kinri = ($kinri * 0.01);
$flg = 0;
$flg_kinri = 0;
$zan = 0;
for($i=0;$i<$hensai_count;$i++){
$siharai_kinri[$i] = 0;


	$wa = 0;
	//初回支払いフラグ行206付近
//PLANSEQは、返済回数だけ存在する
/********************************
24回以上でエラー発生 対応必要 済み2009-09-02
*********************************/
			$plan_seq[$i] = ($i + 1);
/***************************************************
//支払い種別ごとの計算
// 計算式(金利)’’’’小数点は四捨五入
//	※1年=365 1ヶ月=30 に仮定
*****************************************************/
				switch($siharai_shubetu)
				{
/**********************************************
	//case;0元金均等返済方式
	■初回時
	【支払利息】=【借入金額(元金)】×【実質年率(%)】÷【365日】×【30日】
	【借入残高】=【借入金額(元金)】−【毎月返済額(金利含)】
	■2回目以降
	【支払利息】=【借入残高】×【実質年率(%)】÷【365日】×【30日】
	【借入残高】=【借入金額(元金)】−【毎月返済額(金利含)】 
************************************************/
					case 0:
					//返済額÷返済回数が割り切れない場合の処理は必要か?
					/*
						if($flg_kinri == 0){
								$siharai_kinri[$i] = floor(($kariiregaku * $kinri / 365) * 30);
								$hensaigaku[$i] = ($siharai_kinri[$i] + $gankin[$i]);
								$zan = ($kariiregaku - $gankin[$i]);
								$flg_kinri++;
						}
						else{
								$siharai_kinri[$i] =  floor($zan * $kinri / 365 * 30);
								$hensaigaku[$i] = ($siharai_kinri[$i] + $gankin[$i]);
								$zan = ($zan - $gankin[$i]);
								//支払い最終
							if($i == ($hensai_count-1)){
									//残高が0にならないときの処理
										$gankin[$i] = $gankin[$i] + $zan;
										$zan = 0;
							}
						}
					*/	
						
						
						
						if($i == 0){
							$zan = $kariiregaku;
						}
						$siharai_kinri[$i] = floor($zan * $kinri / 365 * 30);
						//$gankin[$i] = floor($kariiregaku / $hensai_count);
						$hensaigaku[$i] = ($siharai_kinri[$i] + $gankin[$i]);
						$zan = $zan - $gankin[$i];
						if($i == ($con - 1) && $zan > 0){
							$hensaigaku[$i] = $hensaigaku[$i] + $zan;
							$zan = 0;
						}

/*************************データ更新処理*****************/
				$strSQL  = "UPDATE plan_tbl SET ";
				//$strSQL .= "hensai_year   = '".$hensai_year[$i]."', ";
				//$strSQL .= "hensai_month  = '".$hensai_month[$i]."', ";
				$strSQL .= "hensaigaku   = '".intval($gankin[$i])."', ";
				$strSQL .= "siharai_kinri   = '".$siharai_kinri[$i]."', ";
				$strSQL .= "total   = '".$hensaigaku[$i]."', ";
				$strSQL .= "zan   = '".$zan."', ";
				$strSQL .= "auto_cal   = ".intval($nyu_chk[$i])." ";
				$strSQL .= "WHERE kariire_seq= ".$kariire_seq;
				$strSQL .= " AND plan_seq = ".$plan_seq[$i];
				$objRec = pg_exec($strSQL);
				if($objRec==false)
				{
					echo("SQL実行に失敗しました(UPDATE)");
					exit;
				}


						
						break;
/*****************************************************************************
	//case:1元利返済方式
	// 計算式
$pow1 =  pow(2, 4); 乗数関数
***************************************************************************/
					case 1:
/*
						if($flg_kinri == 0){
							$tukigaku = floor($kariiregaku / $hensai_count);
							$siharai_kinri[$i] = floor(($kariiregaku * $kinri / 365) * 30);
							$gankin[$i] = ($tukigaku - $siharai_kinri[$i]);
							if($tukigaku == ($gankin[$i] + $siharai_kinri[$i])){
								$hensaigaku[$i] = ($gankin[$i] + $siharai_kinri[$i]);
							}
							else{
								$hensaigaku[$i] = ($gankin[$i] + $siharai_kinri[$i]);
								$err = 1;
							}
							$zan = ($kariiregaku - $gankin[$i]);
							$flg_kinri++;
						}
						else{
							$tukigaku = floor($kariiregaku / $hensai_count);
							$siharai_kinri[$i] = floor(($zan * $kinri / 365) * 30);
							$gankin[$i] = ($tukigaku - $siharai_kinri[$i]);
							if($tukigaku == ($gankin[$i] + $siharai_kinri[$i])){
								$hensaigaku[$i] = ($gankin[$i] + $siharai_kinri[$i]);
							}
							else{
								$hensaigaku[$i] = ($gankin[$i] + $siharai_kinri[$i]);
								$err = 1;
							}
							$zan = ($zan - $gankin[$i]);
							//支払い最終
								if($i == ($hensai_count-1)){
									//残高が0にならないときの処理
										$gankin[$i] = $gankin[$i] + $zan;
										$zan = 0;
								}
						}
*/

						if($i == 0){
//echo $kariiregaku." /0<hr>";
							$zan = $kariiregaku;
//							for($j=0;$j<$hensai_count;$j++){
//								$siharaiTotal = $siharaiTotal + floor(($kariiregaku * ($kinri / 12) * pow((1 + ($kinri / 12)),$hensai_count)) / (pow((1 + ($kinri / 12)),$hensai_count) - 1));
//							}
						}
//echo $zan." /0<hr>";
							$siharaiTotal = 0;
							for($j=$i;$j<$hensai_count;$j++){
								$siharaiTotal = $siharaiTotal + floor(($zan * ($kinri / 12) * pow((1 + ($kinri / 12)),($hensai_count-$i))) / (pow((1 + ($kinri / 12)),($hensai_count-$i)) - 1));
							}

						$siharai_kinri[$i] = floor($zan * $kinri / 365 * 30);
						$hensaigaku[$i] = floor($siharaiTotal / ($hensai_count-$i)) -$siharai_kinri[$i];
	if($nyu_chk[$i] != 1){
		$gankin[$i] = $hensaigaku[$i] - $siharai_kinri[$i];
	}

echo "<hr>".$i." <br>";
echo "siharaiTotal = ".$siharaiTotal." <br>";
echo "zan = ".$zan." <br>";
echo "gankin = ".$gankin[$i]." <br>";
echo "siharai_kinri = ".$siharai_kinri[$i]." <br>";
echo "hensaigaku = ".$hensaigaku[$i]." <br>";



						$zan = $zan - $gankin[$i] ;
						if($i == ($con - 1) && $zan > 0){
							$hensaigaku[$i] = $hensaigaku[$i] + $zan;
							$zan = 0;
						}else if($i == ($con - 1) && $zan < 0){
							$zan = 0;
						}

/*************************データ更新処理*****************/
				$strSQL  = "UPDATE plan_tbl SET ";
				//$strSQL .= "hensai_year   = '".$hensai_year[$i]."', ";
				//$strSQL .= "hensai_month  = '".$hensai_month[$i]."', ";
				$strSQL .= "hensaigaku   = '".intval($hensaigaku[$i])."', ";
				$strSQL .= "siharai_kinri   = '".$siharai_kinri[$i]."', ";
				$strSQL .= "total   = '".($hensaigaku[$i]+$siharai_kinri[$i])."', ";
				$strSQL .= "zan   = '".$zan."', ";
				$strSQL .= "auto_cal   = ".intval($nyu_chk[$i])." ";
				$strSQL .= "WHERE kariire_seq= ".$kariire_seq;
				$strSQL .= " AND plan_seq = ".$plan_seq[$i];
echo $strSQL."<br>";
				$objRec = pg_exec($strSQL);
				if($objRec==false)
				{
					echo("SQL実行に失敗しました(UPDATE)");
					exit;
				}


					break;
/***************************************************
	//case:2アドオン方式
	// 計算式
****************************************************/
					case 2:
						if($flg_kinri == 0){
							$adon = ($kariiregaku * (1 + $kinri));
							//$hensaigaku[$i] = floor($adon / $hensai_count);
							$siharai_kinri[$i] = floor(($kariiregaku * $kinri) / $hensai_count);
							$zan = ($kariiregaku - $gankin[$i]);
							$flg_kinri++;
						}
						else{
							//$hensaigaku[$i] = floor($adon / $hensai_count);
							$siharai_kinri[$i] = floor($kariiregaku * $kinri / $hensai_count);
							//$gankin[$i] = floor($kariiregaku / $hensai_count);
							$zan = ($zan - $gankin[$i]);
							//支払い最終
								if($i == ($hensai_count-1)){
									//残高が0にならないときの処理
										$gankin[$i] = $gankin[$i] + $zan;
										$zan = 0;
								}
						}
						$hensaigaku[$i] = ($gankin[$i] + $siharai_kinri[$i]);
/*					
//echo $gankin[$i]."<br>"						;
*/
/*

						if($i == 0){
							$zan = $kariiregaku;
							$siharaiTotal = 0;
							for($j=0;$j<$con;$j++){
								$siharaiTotal = floor(($kariiregaku * (1 + ($kinri))) / $hensai_count);
							}
						}
						$siharai_kinri[$i] = floor($zan * $kinri / 365 * 30);
echo $zan."<br>";
echo $siharai_kinri[$i]."<hr>";
						$hensaigaku[$i] = floor(($kariiregaku * (1 + ($kinri))) / $hensai_count);
						//$gankin[$i] = $hensaigaku[$i] - $siharai_kinri[$i];
						$zan = $zan - $gankin[$i];
						if($i == ($con - 1) && $zan > 0){
							$hensaigaku[$i] = $hensaigaku[$i] + $zan;
							$zan = 0;
						}
*/
/*************************データ更新処理*****************/
				$strSQL  = "UPDATE plan_tbl SET ";
				//$strSQL .= "hensai_year   = '".$hensai_year[$i]."', ";
				//$strSQL .= "hensai_month  = '".$hensai_month[$i]."', ";
				$strSQL .= "hensaigaku   = '".intval($gankin[$i])."', ";
				$strSQL .= "siharai_kinri   = '".$siharai_kinri[$i]."', ";
				$strSQL .= "total   = '".$hensaigaku[$i]."', ";
				$strSQL .= "zan   = '".$zan."', ";
				$strSQL .= "auto_cal   = ".intval($nyu_chk[$i])." ";
				$strSQL .= "WHERE kariire_seq= ".$kariire_seq;
				$strSQL .= " AND plan_seq = ".$plan_seq[$i];
				$objRec = pg_exec($strSQL);
				if($objRec==false)
				{
					echo("SQL実行に失敗しました(UPDATE)");
					exit;
				}


						break;
					default:
						
						break;
				}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<meta http-equiv="content-style-type" content="text/css">
<meta name="robots" content="noindex, nofollow">
<title></title>
<script language="javascript">
function trans(){
	document.frm.action = "<?PHP  echo $strURL ?>";
	document.frm.method="POST";
	document.frm.submit();
}
</script>
</head>
<!--<body onload="trans();">-->
<body onload="trans();">
<form name="frm">
<input type="hidden" name="kr_seq" value="<?PHP  echo $kariire_seq ?>">
<input type="hidden" name="yyyy" value="<?PHP  echo $yyyy ?>" />
<input type="hidden" name="mon" value="<?PHP  echo $mon ?>" />
<input type="hidden" name="gseq" value="<?PHP  echo $gseq ?>" />
<input type="hidden" name="hseq" value="<?PHP  echo $hseq ?>" />
<input type="hidden" name="kseq" value="<?PHP  echo $kseq ?>" />

<input type="hidden" name="hensai_sd" value="<?PHP  echo $hensai_sd ?>" />
<input type="hidden" name="hensai_ed" value="<?PHP  echo $hensai_ed ?>" />
<input type="hidden" name="kmode" value="<?PHP  echo $kmode ?>" />

<input type="hidden" name="SIM_cboYaer" value="<?PHP  echo $_POST["SIM_cboYaer"] ?>" />
<input type="hidden" name="SIM_cboMon" value="<?PHP  echo $_POST["SIM_cboMon"] ?>" />
<input type="hidden" name="SIM_cboKikan" value="<?PHP  echo $_POST["SIM_cboKikan"] ?>" />
</form>
</body>
</html>