2018-03-26 12:14:27 +00:00
|
|
|
const frappe = require('frappejs');
|
|
|
|
|
2018-03-27 13:52:59 +00:00
|
|
|
class GeneralLedger {
|
2018-03-26 12:14:27 +00:00
|
|
|
async run(params) {
|
|
|
|
const filters = {};
|
|
|
|
if (params.account) filters.account = params.account;
|
|
|
|
if (params.party) filters.party = params.party;
|
2018-03-27 13:52:59 +00:00
|
|
|
if (params.referenceType) filters.referenceType = params.referenceType;
|
|
|
|
if (params.referenceName) filters.referenceName = params.referenceName;
|
|
|
|
if (params.fromDate) filters.date = ['>=', params.fromDate];
|
|
|
|
if (params.toDate) filters.date = ['<=', params.toDate];
|
2018-03-26 12:14:27 +00:00
|
|
|
|
|
|
|
let data = await frappe.db.getAll({
|
|
|
|
doctype: 'AccountingLedgerEntry',
|
|
|
|
fields: ['date', 'account', 'party', 'referenceType', 'referenceName', 'debit', 'credit'],
|
|
|
|
filters: filters
|
|
|
|
});
|
|
|
|
|
|
|
|
return data;
|
|
|
|
}
|
2018-04-18 09:02:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = function execute(params) {
|
|
|
|
return new GeneralLedger().run(params);
|
|
|
|
}
|