|
@@ -535,7 +535,7 @@ class fjHelper {
|
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
|
{ data: curStage, fields: ['qc_qty', 'qc_tp', 'qc_minus_qty'], prefix: '', relaId: 'lid' },
|
|
|
{ data: preStage, fields: ['qc_qty', 'qc_tp', 'qc_minus_qty'], prefix: 'pre_', relaId: 'lid' },
|
|
|
- { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp'], prefix: '', relaId: 'lid' },
|
|
|
+ { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp', 'org_price'], prefix: '', relaId: 'lid' },
|
|
|
]);
|
|
|
billsData.forEach(node => {
|
|
|
node.end_qc_qty = helper.add(node.pre_qc_qty, node.qc_qty);
|
|
@@ -610,7 +610,7 @@ class fjHelper {
|
|
|
if (!sb.b_code) continue;
|
|
|
let b = bills.find(x => { return x.b_code === sb.b_code && x.name === sb.name && x.unit === sb.unit && x.unit_price === sb.unit_price; });
|
|
|
if (!b) {
|
|
|
- b = { b_code: sb.b_code, name: sb.name, unit: sb.unit, unit_price: sb.unit_price, ledgerSource: [] };
|
|
|
+ b = { b_code: sb.b_code, name: sb.name, unit: sb.unit, unit_price: sb.unit_price, org_price: sb.org_price, ledgerSource: [] };
|
|
|
bills.push(b);
|
|
|
}
|
|
|
const ls = b.ledgerSource.find(x => { return x.lid === sb.lid; });
|
|
@@ -636,19 +636,28 @@ class fjHelper {
|
|
|
b.total_price = helper.sum(b.ledgerSource.map(x => { return x.total_price; }));
|
|
|
b.final_qty = helper.sum(b.ledgerSource.map(x => { return x.final_qty; }));
|
|
|
b.final_tp = helper.sum(b.ledgerSource.map(x => { return x.final_tp; }));
|
|
|
- b.pre_positive_qc_tp = helper.mul(b.unit_price, b.pre_positive_qc_qty, tpDecimal);
|
|
|
- b.pre_negative_qc_tp = helper.mul(b.unit_price, b.pre_negative_qc_qty, tpDecimal);
|
|
|
+ if (b.org_price) {
|
|
|
+ b.pre_positive_qc_tp = helper.mul(b.org_price, b.pre_positive_qc_qty, tpDecimal);
|
|
|
+ b.pre_negative_qc_tp = helper.mul(b.org_price, b.pre_negative_qc_qty, tpDecimal);
|
|
|
+ b.positive_qc_pc_tp = helper.sub(helper.mul(b.unit_price, b.pre_positive_qc_qty, tpDecimal), b.pre_positive_qc_tp);
|
|
|
+ b.negative_qc_pc_tp = helper.sub(helper.mul(b.unit_price, b.pre_negative_qc_qty, tpDecimal), b.pre_negative_qc_tp);
|
|
|
+ } else {
|
|
|
+ b.pre_positive_qc_tp = helper.mul(b.unit_price, b.pre_positive_qc_qty, tpDecimal);
|
|
|
+ b.pre_negative_qc_tp = helper.mul(b.unit_price, b.pre_negative_qc_qty, tpDecimal);
|
|
|
+ b.positive_qc_pc_tp = 0;
|
|
|
+ b.negative_qc_pc_tp = 0;
|
|
|
+ }
|
|
|
b.positive_qc_tp = helper.mul(b.unit_price, b.positive_qc_qty, tpDecimal);
|
|
|
b.negative_qc_tp = helper.mul(b.unit_price, b.negative_qc_qty, tpDecimal);
|
|
|
b.end_positive_qc_qty = helper.add(b.pre_positive_qc_qty, b.positive_qc_qty);
|
|
|
- b.end_positive_qc_tp = helper.add(b.pre_positive_qc_tp, b.positive_qc_tp);
|
|
|
+ b.end_positive_qc_tp = helper.add(helper.add(b.pre_positive_qc_tp, b.positive_qc_tp), b.positive_qc_pc_tp);
|
|
|
b.end_negative_qc_qty = helper.add(b.pre_negative_qc_qty, b.negative_qc_qty);
|
|
|
- b.end_negative_qc_tp = helper.add(b.pre_negative_qc_tp, b.negative_qc_tp);
|
|
|
+ b.end_negative_qc_tp = helper.add(helper.add(b.pre_negative_qc_tp, b.negative_qc_tp), b.negative_qc_pc_tp);
|
|
|
result.push({
|
|
|
b_code: b.b_code, name: b.name, unit: b.unit, unit_price: b.unit_price,
|
|
|
quantity: b.quantity, total_price: b.total_price,
|
|
|
pre_qc_qty: b.pre_positive_qc_qty, pre_qc_tp: b.pre_positive_qc_tp,
|
|
|
- qc_qty: b.positive_qc_qty, qc_tp: b.positive_qc_tp,
|
|
|
+ qc_qty: b.positive_qc_qty, qc_tp: b.positive_qc_tp, qc_pc_tp: b.positive_qc_pc_tp,
|
|
|
end_qc_qty: b.end_positive_qc_qty, end_qc_tp: b.end_positive_qc_tp,
|
|
|
final_qty: b.final_qty, final_tp: b.final_tp,
|
|
|
minus: 0,
|
|
@@ -657,7 +666,7 @@ class fjHelper {
|
|
|
b_code: b.b_code, name: b.name, unit: b.unit, unit_price: b.unit_price,
|
|
|
quantity: b.quantity, total_price: b.total_price,
|
|
|
pre_qc_qty: b.pre_negative_qc_qty, pre_qc_tp: b.pre_negative_qc_tp,
|
|
|
- qc_qty: b.negative_qc_qty, qc_tp: b.negative_qc_tp,
|
|
|
+ qc_qty: b.negative_qc_qty, qc_tp: b.negative_qc_tp, qc_pc_tp: b.negative_qc_pc_tp,
|
|
|
end_qc_qty: b.end_negative_qc_qty, end_qc_tp: b.end_negative_qc_tp,
|
|
|
final_qty: b.final_qty, final_tp: b.final_tp,
|
|
|
minus: 1,
|