Revize 539
Přidáno uživatelem Michal Kliment před téměř 15 roky(ů)
freenetis/trunk/kohana/application/models/account.php | ||
---|---|---|
public function get_accounts_to_deduct_fees($start_date, $finish_date, $year)
|
||
{
|
||
return self::$db->query("
|
||
SELECT q2.id, q2.member_id, q2.start_date, q2.finish_date, q2.mi_days,
|
||
ROUND(
|
||
(
|
||
IF(
|
||
DATEDIFF(q2.finish_date, q2.start_date) < 0,
|
||
0,
|
||
DATEDIFF(q2.finish_date, q2.start_date)
|
||
)
|
||
-
|
||
IF(
|
||
q2.mi_days < 0,
|
||
0,
|
||
q2.mi_days
|
||
)
|
||
)
|
||
/
|
||
30
|
||
SELECT q2.id, q2.member_id, q2.member_type, q2.start_date, q2.finish_date, q2.mi_days,
|
||
IF(
|
||
q2.member_type LIKE 'Fee-free regular member' OR q2.member_type LIKE 'Applicant' OR q2.member_type LIKE 'Honorary member' OR q2.member_type LIKE 'Sympathizing member' OR q2.member_type LIKE 'Non-member',
|
||
0,
|
||
ROUND(
|
||
(
|
||
IF(
|
||
DATEDIFF(q2.finish_date, q2.start_date) < 0,
|
||
0,
|
||
DATEDIFF(q2.finish_date, q2.start_date)
|
||
)
|
||
-
|
||
IF(
|
||
q2.mi_days < 0,
|
||
0,
|
||
q2.mi_days
|
||
)
|
||
)
|
||
/
|
||
30
|
||
)
|
||
) AS months,
|
||
t.id AS transfer_id, t.amount
|
||
FROM
|
||
... | ... | |
IF(q1.start_date <= mi.from, mi.from, q1.start_date)
|
||
)
|
||
)
|
||
) AS mi_days
|
||
) AS mi_days, q1.member_type
|
||
FROM
|
||
(
|
||
SELECT a.id, a.member_id,
|
||
... | ... | |
SUBDATE(m.leaving_date, DAY(m.leaving_date) - 1)
|
||
)
|
||
)
|
||
) AS finish_date
|
||
) AS finish_date, e.value as member_type
|
||
FROM accounts a
|
||
JOIN members m ON a.member_id = m.id
|
||
JOIN enum_types e ON m.type = e.id
|
||
WHERE a.account_attribute_id = ".Account_attribute_Model::$credit."
|
||
AND (e.value = 'Regular member' OR e.value = 'Former member')
|
||
) q1
|
||
LEFT JOIN membership_interrupts mi ON q1.member_id = mi.member_id
|
||
AND (YEAR(mi.from) = $year OR YEAR(mi.to) = $year)
|
||
... | ... | |
public function get_accounts_to_deduct_entrance_fees()
|
||
{
|
||
return self::$db->query("
|
||
SELECT a.id, m.entrance_fee, m.entrance_date, t.id AS transfer_id, t.amount
|
||
SELECT a.id,m.entrance_fee, m.entrance_date, t.id AS transfer_id, t.amount
|
||
FROM accounts a
|
||
JOIN members m ON a.member_id = m.id AND m.id <> 1
|
||
LEFT JOIN transfers t ON t.origin_id = a.id AND t.type = ".Transfer_Model::$deduct_entrance_fee."
|
Také k dispozici: Unified diff
Patch: Nyni system strhava clenske prispevky pouze radnym clenum sdruzeni.