<?
/******************************************************
* system  : xxx リスク診断
* title   : 死亡保険計算処理
* content : 保険評価に於ける死亡保険関連の計算を行う
* version : 1.0
* author  : aizawa
*******************************************************/

// ■保険評価／死亡保険データ計算
function calc_sb_hoken() {
	global $g_encode, $g_const, $g_sheets, $g_const_sb;

	$n = '死亡保険';
	$g_sheets[$n] = array();
	$s = &$g_sheets;
	$c = &$g_sheets[$n];
	$h = &$g_sheets['生保'];

	// 定数
	$t = &$g_const_sb['死亡保険評価重み'];
	$c['A34'] = $t['保険料安定度'];
	$c['A35'] = $t['保険料の割安さ'];
	$c['A36'] = $t['継続性'];
	$c['A87'] = $t['保険料安定度'];
	$c['A88'] = $t['保険料の割安さ'];
	$c['A89'] = $t['継続性'];

	$r = 48;
	foreach ($g_const_sb['保険料割安さポイント'] as $key => $val) {
		$c["D$r"] = date_to_ymd($key);
		$c["E$r"] = $val;
		$r++;
	}

	$c['E55'] = $g_const_sb['変額終身'];

	// 本人
	for ($i = 1; $i <= $h['D5']; $i++) {
//#		$c['D5'][$i] = $h['D7'][$i];
//#		$c['D6'][$i] = $h['D8'][$i];
//#		$c['D7'][$i] = $h['D9'][$i];
		$c['D8'][$i] = $h['D10'][$i];
		$c['D9'][$i] = $h['D11'][$i];
		$c['D10'][$i] = $h['D12'][$i];
		$c['D11'][$i] = $h['D13'][$i];
		$c['D12'][$i] = $h['D14'][$i];
		$c['D14'][$i] = $h['D16'][$i];
		$c['D15'][$i] = $h['D17'][$i];
		$c['D16'][$i] = $h['D18'][$i];
		$c['D17'][$i] = $h['D19'][$i];
		$c['D19'][$i] = $h['D21'][$i];
		$c['D20'][$i] = $h['D22'][$i];
		$c['D22'][$i] = $h['D24'][$i];
		$c['D23'][$i] = $h['D25'][$i];
		$c['D24'][$i] = $h['D26'][$i];
		$c['D25'][$i] = $h['D27'][$i];
		$c['D26'][$i] = $h['D28'][$i];
//#		$c['E5'][$i] = $h['D7'][$i];
//#		$c['E6'][$i] = $h['D8'][$i];
//#		$c['E7'][$i] = $h['D9'][$i];
		$c['E8'][$i] = $h['D30'][$i];
		$c['E9'][$i] = $h['D11'][$i];
		$c['E10'][$i] = $h['D12'][$i];
		$c['E11'][$i] = $h['D13'][$i];
		$c['E12'][$i] = $h['D14'][$i];
		$c['E14'][$i] = $h['D39'][$i];
		$c['E15'][$i] = $h['D40'][$i];
		$c['E16'][$i] = $h['D41'][$i];
		$c['E17'][$i] = 0;
		$c['E19'][$i] = $h['D43'][$i];
		$c['E20'][$i] = $h['D44'][$i];
		$c['E22'][$i] = $h['D31'][$i];
		$c['E23'][$i] = $h['D32'][$i];
		$c['E24'][$i] = $h['D33'][$i];
		$c['E25'][$i] = $h['D34'][$i];
		$c['E26'][$i] = $h['D35'][$i];
		$c['D32'][$i] = VB_IF(VB_AND(VB_AND($c['D14'][$i] != $g_encode['契約期間種別']['終身'], $c['D8'][$i] != $g_encode['保険種別']['養老保険'], $c['D8'][$i] != $g_encode['保険種別']['グループ保険']), VB_OR(VB_AND($s['基本']['M45'] == $g_encode['非喫煙']['はい'], $c['D19'][$i] == $g_encode['非喫煙体割引']['未活用']), VB_AND($s['基本']['M46'] == $g_encode['健康']['はい'], $c['D20'][$i] == $g_encode['健康体割引']['未活用']))), 1, 0);
		$c['D34'][$i] = VB_IF($c['D22'][$i] + $c['D23'][$i] + $c['D24'][$i] + $c['D25'][$i] == 0, 0, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['終身'], 100 - (int)(MAX(0, $c['D17'][$i] - 60) / 2), VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], MIN(100, $c['D15'][$i] + $c['D10'][$i] + 20), MIN(100, $c['D16'][$i] + 20))));
		$c['D35'][$i] = VB_IF($c['D22'][$i] + $c['D23'][$i] + $c['D24'][$i] + $c['D25'][$i] == 0, 0, VB_IF(VB_OR($c['D8'][$i] == $g_encode['保険種別']['終身保険'], $c['D8'][$i] == $g_encode['保険種別']['養老保険']), VB_VLOOKUP($n, date_to_ymd($c['D9'][$i]), 'D48:E53', 2, TRUE), VB_IF($c['D8'][$i] == $g_encode['保険種別']['グループ保険'], 100, VB_IF($c['D8'][$i] == $g_encode['保険種別']['変額終身保険'], $c['E55'], 100 - VB_IF($c['D25'][$i] == 0, 30, 0) - VB_IF($c['D32'][$i] == 1, 20, 0)))));
		$c['D36'][$i] = VB_IF($c['D22'][$i] + $c['D23'][$i] + $c['D24'][$i] + $c['D25'][$i] == 0, 0, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['D14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 100, MIN(100, $c['D16'][$i] * 2 - 20)) + VB_IF(VB_AND($c['D11'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['D12'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0) + VB_IF($c['D8'][$i] == $g_encode['保険種別']['グループ保険'], -30, 0)));
		$c['D38'][$i] = $c['D34'][$i] * $c['A34'] + $c['D35'][$i] * $c['A35'] + $c['D36'][$i] * $c['A36'];
		$c['D40'][$i] = $c['D22'][$i] + ($c['D23'][$i] * $c['D24'][$i]) + $c['D25'][$i];
		$c['D42'][$i] = ROUND($c['D34'][$i] / 10, 0) / 2;
		$c['D43'][$i] = ROUND($c['D35'][$i] / 10, 0) / 2;
		$c['D44'][$i] = ROUND($c['D36'][$i] / 10, 0) / 2;
		$c['D46'][$i] = ROUND($c['D38'][$i] / 10, 0) / 2;
		$c['E32'][$i] = VB_IF(VB_AND(VB_AND($c['E14'][$i] != $g_encode['契約期間種別']['終身'], $c['E8'][$i] != $g_encode['保険種別']['養老保険'], $c['E8'][$i] != $g_encode['保険種別']['グループ保険']), VB_OR(VB_AND($s['基本']['M45'] == $g_encode['非喫煙']['はい'], $c['E19'][$i] == $g_encode['非喫煙体割引']['未活用']), VB_AND($s['基本']['M46'] == $g_encode['健康']['はい'], $c['E20'][$i] == $g_encode['健康体割引']['未活用']))), 1, 0);
		$c['E34'][$i] = VB_IF($c['E22'][$i] + $c['E23'][$i] + $c['E24'][$i] + $c['E25'][$i] == 0, 0, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['終身'], 100 - (int)(MAX(0, $c['E17'][$i] - 60) / 2), VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], MIN(100, $c['E15'][$i] + $c['E10'][$i] + 20), MIN(100, $c['E16'][$i] + 20))));
		$c['E35'][$i] = VB_IF($c['E22'][$i] + $c['E23'][$i] + $c['E24'][$i] + $c['E25'][$i] == 0, 0, VB_IF(VB_OR($c['E8'][$i] == $g_encode['保険種別']['終身保険'], $c['E8'][$i] == $g_encode['保険種別']['養老保険']), VB_VLOOKUP($n, date_to_ymd($c['E9'][$i]), 'D48:E53', 2, TRUE), VB_IF($c['E8'][$i] == $g_encode['保険種別']['グループ保険'], 100, VB_IF($c['E8'][$i] == $g_encode['保険種別']['変額終身保険'], $c['E55'], 100 - VB_IF($c['E25'][$i] == 0, 30, 0) - VB_IF($c['E32'][$i] == 1, 20, 0)))));
		$c['E36'][$i] = VB_IF($c['E22'][$i] + $c['E23'][$i] + $c['E24'][$i] + $c['E25'][$i] == 0, 0, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['E14'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 100, MIN(100, $c['E16'][$i] * 2 - 20)) + VB_IF(VB_AND($c['E11'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['E12'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0) + VB_IF($c['E8'][$i] == $g_encode['保険種別']['グループ保険'], -30, 0)));
		$c['E38'][$i] = $c['E34'][$i] * $c['A34'] + $c['E35'][$i] * $c['A35'] + $c['E36'][$i] * $c['A36'];
		$c['E40'][$i] = $c['E22'][$i] + ($c['E23'][$i] * $c['E24'][$i]) + $c['E25'][$i];
		$c['E42'][$i] = ROUND($c['E34'][$i] / 10, 0) / 2;
		$c['E43'][$i] = ROUND($c['E35'][$i] / 10, 0) / 2;
		$c['E44'][$i] = ROUND($c['E36'][$i] / 10, 0) / 2;
		$c['E46'][$i] = ROUND($c['E38'][$i] / 10, 0) / 2;
	}

	// 配偶者
	for ($i = 1; $i <= $h['D139']; $i++) {
//#		$c['D58'][$i] = $h['D141'][$i];
//#		$c['D59'][$i] = $h['D142'][$i];
//#		$c['D60'][$i] = $h['D143'][$i];
		$c['D61'][$i] = $h['D144'][$i];
		$c['D62'][$i] = $h['D145'][$i];
		$c['D63'][$i] = $h['D146'][$i];
		$c['D64'][$i] = $h['D147'][$i];
		$c['D65'][$i] = $h['D148'][$i];
		$c['D67'][$i] = $h['D150'][$i];
		$c['D68'][$i] = $h['D151'][$i];
		$c['D69'][$i] = $h['D152'][$i];
		$c['D70'][$i] = $h['D153'][$i];
		$c['D72'][$i] = $h['D155'][$i];
		$c['D73'][$i] = $h['D156'][$i];
		$c['D75'][$i] = $h['D158'][$i];
		$c['D76'][$i] = $h['D159'][$i];
		$c['D77'][$i] = $h['D160'][$i];
		$c['D78'][$i] = $h['D161'][$i];
		$c['D79'][$i] = $h['D162'][$i];
//#		$c['E58'][$i] = $h['D141'][$i];
//#		$c['E59'][$i] = $h['D142'][$i];
//#		$c['E60'][$i] = $h['D143'][$i];
		$c['E61'][$i] = $h['D164'][$i];
		$c['E62'][$i] = $h['D145'][$i];
		$c['E63'][$i] = $h['D146'][$i];
		$c['E64'][$i] = $h['D147'][$i];
		$c['E65'][$i] = $h['D148'][$i];
		$c['E67'][$i] = $h['D173'][$i];
		$c['E68'][$i] = $h['D174'][$i];
		$c['E69'][$i] = $h['D175'][$i];
		$c['E70'][$i] = 0;
		$c['E72'][$i] = $h['D176'][$i][1];
		$c['E73'][$i] = $h['D176'][$i][2];
		$c['E75'][$i] = $h['D165'][$i];
		$c['E76'][$i] = $h['D166'][$i];
		$c['E77'][$i] = $h['D167'][$i];
		$c['E78'][$i] = $h['D168'][$i];
		$c['E79'][$i] = $h['D169'][$i];
		$c['D85'][$i] = VB_IF(VB_AND(VB_AND($c['D67'][$i] != $g_encode['契約期間種別']['終身'], $c['D61'][$i] != $g_encode['保険種別']['養老保険'], $c['D61'][$i] != $g_encode['保険種別']['グループ保険']), VB_OR(VB_AND($s['基本']['N45'] == $g_encode['非喫煙']['はい'], $c['D72'][$i] == $g_encode['非喫煙体割引']['未活用']), VB_AND($s['基本']['N46'] == $g_encode['健康']['はい'], $c['D73'][$i] == $g_encode['健康体割引']['未活用']))), 1, 0);
		$c['D87'][$i] = VB_IF($c['D75'][$i] + $c['D76'][$i] + $c['D77'][$i] + $c['D78'][$i] == 0, 0, VB_IF($c['D67'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['D70'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['D70'][$i] - 60) / 2)), VB_IF($c['D67'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['D68'][$i] + $c['D63'][$i], $c['D69'][$i])));
		$c['D88'][$i] = VB_IF($c['D75'][$i] + $c['D76'][$i] + $c['D77'][$i] + $c['D78'][$i] == 0, 0, VB_IF(VB_OR($c['D61'][$i] == $g_encode['保険種別']['終身保険'], $c['D61'][$i] == $g_encode['保険種別']['養老保険']), VB_VLOOKUP($n, date_to_ymd($c['D62'][$i]), 'D48:E53', 2, TRUE), VB_IF($c['D61'][$i] == $g_encode['保険種別']['グループ保険'], 100, VB_IF($c['D61'][$i] == $g_encode['保険種別']['変額終身保険'], $c['E55'], 100 - VB_IF($c['D78'][$i] == 0, 30, 0) - VB_IF($c['D85'][$i] == 1, 20, 0)))));
		$c['D89'][$i] = VB_IF($c['D75'][$i] + $c['D76'][$i] + $c['D77'][$i] + $c['D78'][$i] == 0, 0, VB_IF($c['D67'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['D67'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 100, MIN(100, $c['D69'][$i] * 2 - 20)) + VB_IF(VB_AND($c['D64'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['D65'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0) + VB_IF($c['D61'][$i] == $g_encode['保険種別']['グループ保険'], -30, 0)));
		$c['D91'][$i] = $c['D87'][$i] * $c['A87'] + $c['D88'][$i] * $c['A88'] + $c['D89'][$i] * $c['A89'];
		$c['D93'][$i] = $c['D75'][$i] + ($c['D76'][$i] * $c['D77'][$i]) + $c['D78'][$i];
		$c['D95'][$i] = ROUND($c['D87'][$i] / 10, 0) / 2;
		$c['D96'][$i] = ROUND($c['D88'][$i] / 10, 0) / 2;
		$c['D97'][$i] = ROUND($c['D89'][$i] / 10, 0) / 2;
		$c['D99'][$i] = ROUND($c['D91'][$i] / 10, 0) / 2;
		$c['E85'][$i] = VB_IF(VB_AND(VB_AND($c['E67'][$i] != $g_encode['契約期間種別']['終身'], $c['E61'][$i] != $g_encode['保険種別']['養老保険'], $c['E61'][$i] != $g_encode['保険種別']['グループ保険']), VB_OR(VB_AND($s['基本']['M45'] == $g_encode['非喫煙']['はい'], $c['E72'][$i] == $g_encode['非喫煙体割引']['未活用']), VB_AND($s['基本']['M46'] == $g_encode['健康']['はい'], $c['E73'][$i] == $g_encode['健康体割引']['未活用']))), 1, 0);
		$c['E87'][$i] = VB_IF($c['E75'][$i] + $c['E76'][$i] + $c['E77'][$i] + $c['E78'][$i] == 0, 0, VB_IF($c['E67'][$i] == $g_encode['契約期間種別']['終身'], VB_IF($c['E70'][$i] == $g_encode['契約期間種別']['終身'], 80, 100 - (int)(MAX(0, $c['E70'][$i] - 60) / 2)), VB_IF($c['E67'][$i] == $g_encode['契約期間種別']['定期（更新可）'], $c['E68'][$i] + $c['E63'][$i], $c['E69'][$i])));
		$c['E88'][$i] = VB_IF($c['E75'][$i] + $c['E76'][$i] + $c['E77'][$i] + $c['E78'][$i] == 0, 0, VB_IF(VB_OR($c['E61'][$i] == $g_encode['保険種別']['終身保険'], $c['E61'][$i] == $g_encode['保険種別']['養老保険']), VB_VLOOKUP($n, date_to_ymd($c['E62'][$i]), 'D48:E53', 2, TRUE), VB_IF($c['E61'][$i] == $g_encode['保険種別']['グループ保険'], 100, VB_IF($c['E61'][$i] == $g_encode['保険種別']['変額終身保険'], $c['E55'], 100 - VB_IF($c['E78'][$i] == 0, 30, 0) - VB_IF($c['E85'][$i] == 1, 20, 0)))));
		$c['E89'][$i] = VB_IF($c['E75'][$i] + $c['E76'][$i] + $c['E77'][$i] + $c['E78'][$i] == 0, 0, VB_IF($c['E67'][$i] == $g_encode['契約期間種別']['終身'], 100, VB_IF($c['E67'][$i] == $g_encode['契約期間種別']['定期（更新可）'], 100, MIN(100, $c['E69'][$i] * 2 - 20)) + VB_IF(VB_AND($c['E64'][$i] == $g_encode['主契約者']['配偶者への特約'], $c['E65'][$i] == $g_encode['主契約者死亡時家族契約継続']['契約消滅']), -30, 0) + VB_IF($c['E61'][$i] == $g_encode['保険種別']['グループ保険'], -30, 0)));
		$c['E91'][$i] = $c['E87'][$i] * $c['A87'] + $c['E88'][$i] * $c['A88'] + $c['E89'][$i] * $c['A89'];
		$c['E93'][$i] = $c['E75'][$i] + ($c['E76'][$i] * $c['E77'][$i]) + $c['E78'][$i];
		$c['E95'][$i] = ROUND($c['E87'][$i] / 10, 0) / 2;
		$c['E96'][$i] = ROUND($c['E88'][$i] / 10, 0) / 2;
		$c['E97'][$i] = ROUND($c['E89'][$i] / 10, 0) / 2;
		$c['E99'][$i] = ROUND($c['E91'][$i] / 10, 0) / 2;
	}
}
?>