docparse-supplier-nge
Version:
process ngrid electric utility bill data for use in the docparse system
49 lines (47 loc) • 1.39 kB
JavaScript
var inspect = require('eyespect').inspector({maxLength:20000000});
module.exports = function (data, cb) {
// dependency injection
var createInvoice = data.createInvoice;
if (!createInvoice) {
createInvoice = require('./createInvoice');
}
var createCompInvoice = data.createCompInvoice;
if (!createCompInvoice) {
createCompInvoice = require('./createCompInvoice');
}
var getSupplier = data.getSupplier;
if (!getSupplier) {
getSupplier = require('./getSupplier');
}
createInvoice(data, function (err, invoice) {
if (err) { return cb(err); }
if (!invoice) { return cb('no invoice returned after save'); }
var invoiceID = invoice._id;
var addData = {
bill: data.bill,
invoiceID: invoiceID
};
var add = data.add;
if (!add) {
add = require('docparse-add-invoice');
}
add(addData, function (err, bill) {
if (err) { return cb(err); }
if (!data.hasOwnProperty('compData') || !data.compData) {
return cb(null, bill);
}
if (err) { return cb(err); }
createCompInvoice(data, function (err, compInvoice) {
if (err) { return cb(err); }
var addData = {
bill: data.bill,
invoiceID: compInvoice._id
};
add(addData, function (err, reply) {
bill = data.bill;
cb(null, bill);
});
});
});
});
};