Files
MES/app/models/FinanceRecord.php
T
2026-08-08 18:28:49 +08:00

57 lines
1.5 KiB
PHP

<?php
namespace app\models;
use core\base\Model;
/**
* 财务账务记录模型
*/
class FinanceRecord extends Model
{
protected $table = 'finance_record';
public function getAll()
{
return $this->order(['record_date DESC', 'id DESC'])->fetchAll();
}
public function getById($id)
{
return $this->where(['id = :id'], [':id' => $id])->fetch();
}
public function getByDateRange($startDate, $endDate, $type = '')
{
$where = 'record_date >= :start AND record_date <= :end';
$params = [':start' => $startDate, ':end' => $endDate];
if ($type) {
$where .= ' AND type = :type';
$params[':type'] = $type;
}
return $this->where([$where], $params)->order(['record_date DESC', 'id DESC'])->fetchAll();
}
public function getSummary($startDate, $endDate)
{
$sql = "SELECT
type,
SUM(amount) AS total,
COUNT(*) AS cnt
FROM " . $this->getTable() . "
WHERE record_date >= :start AND record_date <= :end
GROUP BY type";
$stmt = $this->pdo->prepare($sql);
$stmt->execute([':start' => $startDate, ':end' => $endDate]);
return $stmt->fetchAll();
}
public function getCount()
{
$sql = 'SELECT COUNT(*) AS cnt FROM ' . $this->getTable();
$stmt = $this->pdo->prepare($sql);
$stmt->execute();
$row = $stmt->fetch();
return (int)($row['cnt'] ?? 0);
}
}