Files
sam-kd/estimate/func_statistics.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

44 lines
1.6 KiB
PHP

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();
// 날짜 기본값 설정 (최근 1개월)
// 현재 날짜를 기준으로 말일과 월초를 구함
$currentDate = date("Y-m-t"); // 말일 기준
$defaultFromDate = date("Y-m-01");
$fromdate = isset($_REQUEST['fromdate']) && $_REQUEST['fromdate'] ? $_REQUEST['fromdate'] : $defaultFromDate;
$todate = isset($_REQUEST['todate']) && $_REQUEST['todate'] ? $_REQUEST['todate'] : $currentDate;
$tablename = 'estimate';
try {
// estimate 테이블에서 접수일(indate) 기준, 업체별(발주처: secondord)로 견적금액(estimateTotal)의 합계를 구하고,
// 합계가 0인 업체는 제외(HAVING 절 사용)
$sql = "SELECT secondord AS supplier, SUM(estimateTotal) AS total_amount
FROM {$DB}.{$tablename}
WHERE indate BETWEEN :fromdate AND :todate
AND is_deleted IS NULL
GROUP BY secondord
HAVING SUM(estimateTotal) > 0
ORDER BY total_amount DESC";
$stmh = $pdo->prepare($sql);
$stmh->bindValue(':fromdate', $fromdate);
$stmh->bindValue(':todate', $todate);
$stmh->execute();
$rows = $stmh->fetchAll(PDO::FETCH_ASSOC);
// 차트 데이터 생성 (Highcharts용)
$chartData = [];
foreach ($rows as $row) {
$chartData[] = [
"name" => $row['supplier'],
"y" => (float)$row['total_amount']
];
}
$jsonChartData = json_encode($chartData, JSON_UNESCAPED_UNICODE);
} catch (PDOException $Exception) {
die("오류: " . $Exception->getMessage());
}
?>