Skip to content

Commit

Permalink
CRM-19585, fixed code to get previous financial item details
Browse files Browse the repository at this point in the history
----------------------------------------
* CRM-19585: Sales tax issue
  https://issues.civicrm.org/jira/browse/CRM-19585
  • Loading branch information
pradpnayak committed Nov 1, 2016
1 parent 723bc32 commit f53a29b
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions CRM/Financial/BAO/FinancialItem.php
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,28 @@ public static function checkContactPresent($contactIds, &$error) {
* @return object CRM_Core_DAO
*/
public static function getPreviousFinancialItem($entityId, $entityTable = 'civicrm_line_item') {
$liabilityAccountType = CRM_Core_OptionGroup::getValue('financial_account_type', 'Liability', 'name');
$queryParams = array(
1 => array($entityId, 'Integer'),
2 => array($entityTable, 'String'),
3 => array($liabilityAccountType, 'Integer'),
);
$query = 'SELECT id, description, status_id, financial_account_id
FROM civicrm_financial_item
WHERE entity_id = %1 AND entity_table = %2 ORDER BY id DESC LIMIT 1';
$query = 'SELECT cfi.id, cfi.description, cfi.amount, cfi.financial_account_id, cfi.status_id
FROM `civicrm_financial_item` cfi
INNER JOIN civicrm_entity_financial_trxn ceft
ON ceft.entity_id = cfi.id AND ceft.entity_table = "civicrm_financial_item"
INNER JOIN civicrm_financial_trxn cft ON cft.id = ceft.financial_trxn_id
INNER JOIN civicrm_financial_account cfa ON cfa.id = cfi.financial_account_id
WHERE cfi.entity_table = %2 AND cfi.entity_id = %1 AND
CASE
WHEN cfa.financial_account_type_id = %3
AND cfi.financial_account_id = from_financial_account_id
THEN 1
WHEN cfa.financial_account_type_id = %3
THEN 0
ELSE 1
END
GROUP BY cfi.id ORDER BY cfi.id DESC LIMIT 1';
$prevFinancialItem = CRM_Core_DAO::executeQuery($query, $queryParams);
$prevFinancialItem->fetch();
return $prevFinancialItem;
Expand Down

0 comments on commit f53a29b

Please sign in to comment.