Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d3a7252e26 |
@@ -367,13 +367,20 @@ function renderFinance() {
|
|||||||
expenseArr.forEach(function(e) { allMonths[e.month || ''] = true; });
|
expenseArr.forEach(function(e) { allMonths[e.month || ''] = true; });
|
||||||
var detailRows = Object.keys(allMonths).filter(function(m) {
|
var detailRows = Object.keys(allMonths).filter(function(m) {
|
||||||
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
||||||
var exp = expenseArr.find(function(x) { return x.month === m; }) || {};
|
|
||||||
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
||||||
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
var eCost = 0, ePaid = 0;
|
||||||
|
expenseArr.filter(function(x) { return x.month === m; }).forEach(function(e) {
|
||||||
|
eCost += parseFloat(e.cost || 0) || 0;
|
||||||
|
ePaid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
return bRev || bGross || bPay || eCost || ePaid;
|
return bRev || bGross || bPay || eCost || ePaid;
|
||||||
}).sort().map(function(m) {
|
}).sort().map(function(m) {
|
||||||
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
||||||
var exp = expenseArr.find(function(x) { return x.month === m; }) || {};
|
var eCost = 0, ePaid = 0;
|
||||||
|
expenseArr.filter(function(x) { return x.month === m; }).forEach(function(e) {
|
||||||
|
eCost += parseFloat(e.cost || 0) || 0;
|
||||||
|
ePaid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
||||||
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
||||||
var bCf = bPay - ePaid;
|
var bCf = bPay - ePaid;
|
||||||
@@ -405,12 +412,16 @@ function renderFinance() {
|
|||||||
rev = Math.round(rev); payment = Math.round(payment); gross = Math.round(gross); cost = Math.round(cost); paid = Math.round(paid);
|
rev = Math.round(rev); payment = Math.round(payment); gross = Math.round(gross); cost = Math.round(cost); paid = Math.round(paid);
|
||||||
} else {
|
} else {
|
||||||
const b = bd.find(x => (x.month || "") === selMonth) || {};
|
const b = bd.find(x => (x.month || "") === selMonth) || {};
|
||||||
const e = ed.find(x => (x.month || "") === selMonth) || {};
|
let cost2 = 0, paid2 = 0;
|
||||||
|
ed.filter(x => (x.month || "") === selMonth).forEach(e => {
|
||||||
|
cost2 += parseFloat(e.cost || 0) || 0;
|
||||||
|
paid2 += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
rev = Math.round(parseFloat(b.rev || 0) || 0);
|
rev = Math.round(parseFloat(b.rev || 0) || 0);
|
||||||
payment = Math.round(parseFloat(b.payment || 0) || 0);
|
payment = Math.round(parseFloat(b.payment || 0) || 0);
|
||||||
gross = Math.round(parseFloat(b.gross || 0) || 0);
|
gross = Math.round(parseFloat(b.gross || 0) || 0);
|
||||||
cost = Math.round(parseFloat(e.cost || 0) || 0);
|
cost = Math.round(cost2);
|
||||||
paid = Math.round(parseFloat(e.paid || 0) || 0);
|
paid = Math.round(paid2);
|
||||||
}
|
}
|
||||||
if (!rev && !payment && !cost && !paid && !gross) return;
|
if (!rev && !payment && !cost && !paid && !gross) return;
|
||||||
dataItems.push({
|
dataItems.push({
|
||||||
|
|||||||
@@ -383,14 +383,22 @@ function renderPlan() {
|
|||||||
budgetArr.forEach(function(b) { allMonths[b.month || ''] = true; });
|
budgetArr.forEach(function(b) { allMonths[b.month || ''] = true; });
|
||||||
expenseArr.forEach(function(e) { allMonths[e.month || ''] = true; });
|
expenseArr.forEach(function(e) { allMonths[e.month || ''] = true; });
|
||||||
var detailRows = Object.keys(allMonths).filter(function(m) {
|
var detailRows = Object.keys(allMonths).filter(function(m) {
|
||||||
|
if (state.planYear !== 0 && parseInt(m.substring(0, 4)) !== state.planYear) return false;
|
||||||
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
||||||
var exp = expenseArr.find(function(x) { return x.month === m; }) || {};
|
|
||||||
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
||||||
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
var eCost = 0, ePaid = 0;
|
||||||
|
expenseArr.filter(function(x) { return x.month === m; }).forEach(function(e) {
|
||||||
|
eCost += parseFloat(e.cost || 0) || 0;
|
||||||
|
ePaid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
return bRev || bGross || bPay || eCost || ePaid;
|
return bRev || bGross || bPay || eCost || ePaid;
|
||||||
}).sort().map(function(m) {
|
}).sort().map(function(m) {
|
||||||
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
var b = budgetArr.find(function(x) { return x.month === m; }) || {};
|
||||||
var exp = expenseArr.find(function(x) { return x.month === m; }) || {};
|
var eCost = 0, ePaid = 0;
|
||||||
|
expenseArr.filter(function(x) { return x.month === m; }).forEach(function(e) {
|
||||||
|
eCost += parseFloat(e.cost || 0) || 0;
|
||||||
|
ePaid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
var bRev = parseFloat(b.rev || 0), bGross = parseFloat(b.gross || 0), bPay = parseFloat(b.payment || 0);
|
||||||
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
var eCost = parseFloat(exp.cost || 0), ePaid = parseFloat(exp.paid || 0);
|
||||||
var bCf = bPay - ePaid;
|
var bCf = bPay - ePaid;
|
||||||
@@ -417,12 +425,17 @@ function renderPlan() {
|
|||||||
let bd = []; try { bd = JSON.parse(pf.budget_data || "[]"); } catch (e) {}
|
let bd = []; try { bd = JSON.parse(pf.budget_data || "[]"); } catch (e) {}
|
||||||
let ed = []; try { ed = JSON.parse(pf.expense_data || "[]"); } catch (e) {}
|
let ed = []; try { ed = JSON.parse(pf.expense_data || "[]"); } catch (e) {}
|
||||||
const b = bd.find(x => (x.month || "") === selMonth) || {};
|
const b = bd.find(x => (x.month || "") === selMonth) || {};
|
||||||
const e = ed.find(x => (x.month || "") === selMonth) || {};
|
let rev = Math.round(parseFloat(b.rev || 0) || 0);
|
||||||
const rev = Math.round(parseFloat(b.rev || 0) || 0);
|
let payment2 = Math.round(parseFloat(b.payment || 0) || 0);
|
||||||
const payment = Math.round(parseFloat(b.payment || 0) || 0);
|
let gross = Math.round(parseFloat(b.gross || 0) || 0);
|
||||||
const gross = Math.round(parseFloat(b.gross || 0) || 0);
|
let cost = 0, paid = 0;
|
||||||
const cost = Math.round(parseFloat(e.cost || 0) || 0);
|
ed.filter(x => (x.month || "") === selMonth).forEach(e => {
|
||||||
const paid = Math.round(parseFloat(e.paid || 0) || 0);
|
cost += parseFloat(e.cost || 0) || 0;
|
||||||
|
paid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
|
cost = Math.round(cost);
|
||||||
|
paid = Math.round(paid);
|
||||||
|
payment = payment2;
|
||||||
if (!rev && !payment && !cost && !paid && !gross) return;
|
if (!rev && !payment && !cost && !paid && !gross) return;
|
||||||
dataItems.push({
|
dataItems.push({
|
||||||
pf: pf,
|
pf: pf,
|
||||||
@@ -511,9 +524,15 @@ function renderPlan() {
|
|||||||
let budget = []; try { budget = JSON.parse(pf.budget_data || "[]"); } catch (e) {}
|
let budget = []; try { budget = JSON.parse(pf.budget_data || "[]"); } catch (e) {}
|
||||||
let expense = []; try { expense = JSON.parse(pf.expense_data || "[]"); } catch (e) {}
|
let expense = []; try { expense = JSON.parse(pf.expense_data || "[]"); } catch (e) {}
|
||||||
let rev = 0, payment = 0, gross = 0;
|
let rev = 0, payment = 0, gross = 0;
|
||||||
budget.forEach(b => { rev += parseFloat(b.rev || 0) || 0; gross += parseFloat(b.gross || 0) || 0; payment += parseFloat(b.payment || 0) || 0; });
|
budget.forEach(b => {
|
||||||
|
if (state.planYear !== 0 && parseInt((b.month || '').substring(0, 4)) !== state.planYear) return;
|
||||||
|
rev += parseFloat(b.rev || 0) || 0; gross += parseFloat(b.gross || 0) || 0; payment += parseFloat(b.payment || 0) || 0;
|
||||||
|
});
|
||||||
let cost = 0, paid = 0;
|
let cost = 0, paid = 0;
|
||||||
expense.forEach(e => { cost += parseFloat(e.cost || 0) || 0; paid += parseFloat(e.paid || 0) || 0; });
|
expense.forEach(e => {
|
||||||
|
if (state.planYear !== 0 && parseInt((e.month || '').substring(0, 4)) !== state.planYear) return;
|
||||||
|
cost += parseFloat(e.cost || 0) || 0; paid += parseFloat(e.paid || 0) || 0;
|
||||||
|
});
|
||||||
return { rev: Math.round(rev), payment: Math.round(payment), cost: Math.round(cost), paid: Math.round(paid), gross: Math.round(gross) };
|
return { rev: Math.round(rev), payment: Math.round(payment), cost: Math.round(cost), paid: Math.round(paid), gross: Math.round(gross) };
|
||||||
};
|
};
|
||||||
const allPfs = pfs;
|
const allPfs = pfs;
|
||||||
@@ -1049,11 +1068,13 @@ function computePlanMonthly(planFinances, year) {
|
|||||||
var pf = pfs[j];
|
var pf = pfs[j];
|
||||||
if ((pf.sign_month || '') === month) sign += parseFloat(pf.sign_amount || 0);
|
if ((pf.sign_month || '') === month) sign += parseFloat(pf.sign_amount || 0);
|
||||||
var bd = []; try { bd = JSON.parse(pf.budget_data || '[]'); } catch(e) {}
|
var bd = []; try { bd = JSON.parse(pf.budget_data || '[]'); } catch(e) {}
|
||||||
var b = bd.find(function(x) { return (x.month || '') === month; });
|
bd.filter(function(x) { return (x.month || '') === month; }).forEach(function(b) {
|
||||||
if (b) { revenue += parseFloat(b.rev || 0); gross += parseFloat(b.gross || 0); payment += parseFloat(b.payment || 0); }
|
revenue += parseFloat(b.rev || 0); gross += parseFloat(b.gross || 0); payment += parseFloat(b.payment || 0);
|
||||||
|
});
|
||||||
var ed = []; try { ed = JSON.parse(pf.expense_data || '[]'); } catch(e) {}
|
var ed = []; try { ed = JSON.parse(pf.expense_data || '[]'); } catch(e) {}
|
||||||
var e = ed.find(function(x) { return (x.month || '') === month; });
|
ed.filter(function(x) { return (x.month || '') === month; }).forEach(function(e) {
|
||||||
if (e) { cost += parseFloat(e.cost || 0); paid += parseFloat(e.paid || 0); }
|
cost += parseFloat(e.cost || 0); paid += parseFloat(e.paid || 0);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
data.push({ month: month, sign: Math.round(sign), revenue: Math.round(revenue), gross: Math.round(gross), payment: Math.round(payment), cost: Math.round(cost), paid: Math.round(paid) });
|
data.push({ month: month, sign: Math.round(sign), revenue: Math.round(revenue), gross: Math.round(gross), payment: Math.round(payment), cost: Math.round(cost), paid: Math.round(paid) });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user