<?php
mb_language('ja');
mb_internal_encoding('UTF-8');

$action = null;
////2013/10/08：パスロック解除 $pass = null;
$pass = '%6uCpfW@sv';
$true_pass = '%6uCpfW@sv';

if(isset($_POST['action']) && $_POST['action'] != '') 
	$action = htmlspecialchars($_POST['action'], ENT_QUOTES);
if(isset($_POST['pass']) && $_POST['pass'] != '')
	$pass = htmlspecialchars($_POST['pass'], ENT_QUOTES);

//2013/10/08：パスロック解除 if($action == 'download' && $pass == $true_pass)
if($action == 'download') {
$filename = "ksa_" . date("YmdHis") . ".csv";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$filename);

require_once 'ADOdb/adodb.inc.php';
require_once 'ConnectDB.class.php';

define('DB_TYPE', 'mysql');
define('DB_USER', 'root');
define('DB_PASSWORD', 'mSNIB3zuts');
define('DB_NAME', 'ttt_jmedb');
define('DB_DSN', DB_TYPE.'://'.DB_USER.':'.DB_PASSWORD.'@localhost/'.DB_NAME);

$db = &new ConnectDB(DB_DSN);

//echo "<pre>\n";
if($db->connect()) {
  $sql = "SELECT KSA.*, I.`企業名`, K.`カナ`, I.`郵便番号`, I.`住所`, I.`電話番号`, I.`建設業従事職員数値`, ";
  $sql.= "N.`工事名`, I.`資本金`, I.`完工高比`, I.`完工高平均`, I.`総合評点P`, I.`評点Y`, ";
  $sql.= "`資金繰り評価`, `売上高`, `売上総利益`, `受取利息配当金`, `支払利息`, `経常利益`, ";
  $sql.= "`営業キャッシュフロー当期`, `営業キャッシュフロー前期`, `固定資産当期`, `流動負債`, `固定負債`, ";
  $sql.= "`利益剰余金`, `自己資本`, `総資本当期`, `総資本前期`, `純支払利息比率` , `負債回転期間X2` , ";
  $sql.= "`総資本売上総利益率X3` , `売上高経常利益率X4` , `自己資本対固定資産比率` , `自己資本比率X6` , ";
  $sql.= "`営業キャッシュフローX7` , `利益剰余金X8`,`審査基準日`,`更新日`,`新旧区分`,`審査基準年度`, ";
  $sql.= "PERIOD_DIFF(DATE_FORMAT(`審査基準日` + interval 19 month, '%Y%m'), DATE_FORMAT(CURDATE(), '%Y%m')) AS `期限月数`, ";
  $sql.= "`支払利息`,`有利子負債`,`完工高対象`,`完工高以前`,`営業利益`,`キャッシュ・フロー`,`当期純利益`, ";
  $sql.= "`受取利息配当金`,`総資本当期`,`支払勘定`,`自己資本`,`受取勘定`,`未成工事支出金`,`未成工事受入金` ";
  $sql.= "FROM `99ksa6` AS KSA ";
  $sql.= "LEFT JOIN `00index` AS I ON KSA.`ID` = I.`ID`";
  $sql.= "LEFT JOIN `00kana` AS K ON I.`ID` = K.`ID` ";
  $sql.= "LEFT JOIN `92koji` AS N ON I.`工事の種類` = N.`工事の種類` ";
  $sql.= "LEFT JOIN `00last_alm` AS A ON I.`ID` = A.`ID` ";
  $sql.= "LEFT JOIN `93update` AS U ON U.`ver` = RIGHT(I.`HDER`,2) ;";
  //$sql.= "WHERE I.`市区町村コード` LIKE '18%' ;";
  //$sql.= "AND I.`審査基準日` >= date_sub(date_sub(current_date, interval 1 year), interval 7 month) ;";
  
  if($db->load($sql)) {
    $record = $db->getRecord();
    
    /* ヘッダー出力 */
    $header = "\"No.\",\"顧客コード\",\"名寄コード\",\"許可番号\",\"企業名\",\"決算年月日_当期\",\"決算年月日_前期\",\"決算年月日_前々期\",";
    $header.= "\"完成工事高_当期\",\"完成工事高_前期\",\"完成工事高_前々期\",\"営業利益_当期\",\"営業利益_前期\",\"営業利益_前々期\",\"経常利益_当期\",\"経常利益_前期\",\"経常利益_前々期\",";
    $header.= "\"利益剰余金_当期\",\"利益剰余金_前期\",\"利益剰余金_前々期\",\"自己資本比率_当期\",\"自己資本比率_前期\",\"自己資本比率_前々期\",\"総合評定値P_当期\",\"総合評定値P_前期\",\"総合評定値P_前々期\"";
    $header.= "\n";
    echo mb_convert_encoding($header, 'sjis-win', 'UTF-8');
    
    $num = 1;
    foreach($record as $rec) {
        
        $corp_value = check_skgdb($rec['ID'], DB_DSN);
        
        $line = "\"".$rec['no']."\",";
        $line.= "\"".$rec['CD']."\",";
        $line.= "\"".$rec['ND']."\",";
        $line.= "\"".$rec['ID']."\",";
        $line.= "\"".$rec['企業名']."\",";
        $line.= "\"".$corp_value[0]['決算年月日']."\",";
        $line.= "\"".$corp_value[1]['決算年月日']."\",";
        $line.= "\"".$corp_value[2]['決算年月日']."\",";
        $line.= "\"".$corp_value[0]['完成工事高']."\",";
        $line.= "\"".$corp_value[1]['完成工事高']."\",";
        $line.= "\"".$corp_value[2]['完成工事高']."\",";
        $line.= "\"".$corp_value[0]['営業利益']."\",";
        $line.= "\"".$corp_value[1]['営業利益']."\",";
        $line.= "\"".$corp_value[2]['営業利益']."\",";
        $line.= "\"".$corp_value[0]['経常利益']."\",";
        $line.= "\"".$corp_value[1]['経常利益']."\",";
        $line.= "\"".$corp_value[2]['経常利益']."\",";
        $line.= "\"".$corp_value[0]['利益剰余金']."\",";
        $line.= "\"".$corp_value[1]['利益剰余金']."\",";
        $line.= "\"".$corp_value[2]['利益剰余金']."\",";
        $line.= "\"".$corp_value[0]['自己資本比率']."\",";
        $line.= "\"".$corp_value[1]['自己資本比率']."\",";
        $line.= "\"".$corp_value[2]['自己資本比率']."\",";
        $line.= "\"".$corp_value[0]['総合評定置P']."\",";
        $line.= "\"".$corp_value[1]['総合評定置P']."\",";
        $line.= "\"".$corp_value[2]['総合評定置P']."\"\n";
        
        echo mb_convert_encoding($line, 'sjis-win', 'UTF-8');
        
        $num++;
    }
    
    
  } else {
    $err = $db->getError();
    echo mb_convert_encoding("Error: ${err}\n", 'sjis-win', 'UTF-8');
  }
  $db->close();
} else {
  $err = $db->getError();
  echo mb_convert_encoding("Error: ${err}\n", 'sjis-win', 'UTF-8');
}
//echo "</pre>\n";
exit();

} else {
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>KSA Data Download</title>
<script type="text/javascript" src="./js/jquery.min.js"></script> 
<script type="text/javascript" src="./js/check_update.js"></script> 
</head>

<body>
<h1>KSA Data Download</h1>
<div id="last_update"></div>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="hidden" name="action" value="download" />
<!--<input type="password" name="pass" size="16" maxlength="64" value="" />-->
<input type="submit" value="Download" />
</form>
<?php if($action == 'download' && $pass != $true_pass) echo "<p style=\"color:red;\">Password is different.</p>"; ?>
</body>
</html>
<?php
}

function check_skgdb($id, $dsn)
{
	require_once 'ClassCorporation.php';
	require_once 'funcComments.php';
	
	$corp = new Corporation($id, $dsn);
	if(!$corp->load()) {
		die("DB読込エラー:${id}");
	}
	
	$y = $corp->getYears();
	$ay = $corp->getAlarmYears();
	$cnt = count($y ?? []);
	if($cnt > 5) {
		$cnt--;
	}
	$ly = $y[0];
	$fy = null;
	if($cnt != 1) {
		$fy = $y[$cnt-1];
	}
	$info = $corp->getInfo();
	$rec = $corp->getFinance();
	$rank = $corp->getRanking();
	$stat = $corp->getStatistics();
	$alarm = $corp->getAlarm();
	
	$result = array();
	for($n = 0; $n < 3; $n++){
		if($n < $cnt) {
			$result[$n]['決算年月日'] = $y[$n];
			$result[$n]['完成工事高'] = $corp->getIndexValue($y[$n], "完成工事高", "pl");
			$result[$n]['営業利益'] = $corp->getIndexValue($y[$n], "営業利益", "pl");
			$result[$n]['経常利益'] = $rec[$y[$n]]["経常利益"];
			$result[$n]['利益剰余金'] = $rec[$y[$n]]["利益剰余金"];
			$result[$n]['自己資本比率'] = $rec[$y[$n]]["自己資本比率X6"];
			$result[$n]['総合評定置P'] = $rec[$y[$n]]["総合評点P"];
		}else{
			$result[$n]['決算年月日'] = 'NULL';
			$result[$n]['完成工事高'] = 'NULL';
			$result[$n]['営業利益'] = 'NULL';
			$result[$n]['経常利益'] = 'NULL';
			$result[$n]['利益剰余金'] = 'NULL';
			$result[$n]['自己資本比率'] = 'NULL';
			$result[$n]['総合評定置P'] = 'NULL';
		}
	}
	return $result;
}
?>
