68 lines
2.4 KiB
PHP
68 lines
2.4 KiB
PHP
<?php
|
|
namespace app\Models;
|
|
|
|
use PDO;
|
|
|
|
class IncomeMasterModel extends Model {
|
|
|
|
public function getAllIncomes() {
|
|
$stmt = $this->db->prepare("SELECT * FROM income_master ORDER BY fund_source ASC, display_order ASC");
|
|
$stmt->execute();
|
|
return $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getActiveIncomes() {
|
|
$stmt = $this->db->prepare("SELECT * FROM income_master WHERE is_active = 1 ORDER BY display_order ASC, id ASC");
|
|
$stmt->execute();
|
|
return $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function getIncomeById($id) {
|
|
$stmt = $this->db->prepare("SELECT * FROM income_master WHERE id = ?");
|
|
$stmt->execute([$id]);
|
|
return $stmt->fetch(PDO::FETCH_ASSOC);
|
|
}
|
|
|
|
public function createIncome($data) {
|
|
$sql = "INSERT INTO income_master (code, name, description, is_taxable, is_active, display_order, fund_source)
|
|
VALUES (?, ?, ?, ?, ?, ?, ?)";
|
|
$stmt = $this->db->prepare($sql);
|
|
return $stmt->execute([
|
|
$data['code'],
|
|
$data['name'],
|
|
$data['description'] ?? null,
|
|
$data['is_taxable'] ?? 1,
|
|
$data['is_active'] ?? 1,
|
|
$data['display_order'] ?? 0,
|
|
$data['fund_source'] ?? 'HOSPITAL'
|
|
]);
|
|
}
|
|
|
|
public function updateIncome($id, $data) {
|
|
$sql = "UPDATE income_master
|
|
SET code = ?, name = ?, description = ?, is_taxable = ?, is_active = ?, display_order = ?, fund_source = ?
|
|
WHERE id = ?";
|
|
$stmt = $this->db->prepare($sql);
|
|
return $stmt->execute([
|
|
$data['code'],
|
|
$data['name'],
|
|
$data['description'] ?? null,
|
|
$data['is_taxable'] ?? 1,
|
|
$data['is_active'] ?? 1,
|
|
$data['display_order'] ?? 0,
|
|
$data['fund_source'] ?? 'HOSPITAL',
|
|
$id
|
|
]);
|
|
}
|
|
|
|
public function deleteIncome($id) {
|
|
$stmt = $this->db->prepare("DELETE FROM income_master WHERE id = ?");
|
|
return $stmt->execute([$id]);
|
|
}
|
|
|
|
public function addIncome($code, $name, $isTaxable, $fundSource = 'HOSPITAL', $displayOrder = 0) {
|
|
$stmt = $this->db->prepare("INSERT INTO income_master (code, name, is_taxable, fund_source, display_order) VALUES (?, ?, ?, ?, ?)");
|
|
return $stmt->execute([$code, $name, $isTaxable, $fundSource, $displayOrder]);
|
|
}
|
|
}
|