|
@@ -150,15 +150,13 @@ module.exports = app => {
|
|
|
let bills , precision;
|
|
|
const result = {pos: [], ledger: []};
|
|
|
const datas = data instanceof Array ? data : [data], calcStageBills = [];
|
|
|
+
|
|
|
if (datas[0].sgfh_qty !== undefined || datas[0].sjcl_qty !== undefined || datas[0].qtcl_qty !== undefined
|
|
|
|| datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined || datas[0].real_qty !== undefined) {
|
|
|
bills = await this.ctx.service.ledger.getDataById(datas[0].lid);
|
|
|
precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, bills.unit);
|
|
|
result.ledger.push(bills.id);
|
|
|
}
|
|
|
- if (datas[0].contract_qty !== undefined || datas[0].qc_qty !== undefined || datas[0].postil !== undefined) {
|
|
|
- result.stageUpdate = true;
|
|
|
- }
|
|
|
|
|
|
const insertPos = [], insertPosStage = [];
|
|
|
for (const d of datas) {
|
|
@@ -168,7 +166,8 @@ module.exports = app => {
|
|
|
add_times: this.ctx.stage.curTimes,
|
|
|
add_user: this.ctx.session.sessionUser.accountId,
|
|
|
};
|
|
|
- if (d.sgfh_qty !== undefined || d.sjcl_qty !== undefined || d.qtcl_qty !== undefined) {
|
|
|
+ if (d.sgfh_qty !== undefined || d.sjcl_qty !== undefined || d.qtcl_qty !== undefined ||
|
|
|
+ d.sgfh_expr !== undefined || d.sjcl_expr !== undefined || d.qtcl_expr !== undefined) {
|
|
|
if (d.sgfh_qty!== undefined) p.sgfh_qty = this.round(d.sgfh_qty, precision.value);
|
|
|
if (d.sjcl_qty!== undefined) p.sjcl_qty = this.round(d.sjcl_qty, precision.value);
|
|
|
if (d.qtcl_qty!== undefined) p.qtcl_qty = this.round(d.qtcl_qty, precision.value);
|
|
@@ -181,7 +180,8 @@ module.exports = app => {
|
|
|
insertPos.push(p);
|
|
|
result.pos.push(p.id);
|
|
|
|
|
|
- if (d.contract_qty!== undefined || d.qc_qty!== undefined || d.postil!== undefined) {
|
|
|
+ if (d.contract_qty!== undefined || d.qc_qty!== undefined || d.postil!== undefined || data.contract_expr !== undefined) {
|
|
|
+ result.stageUpdate = true;
|
|
|
const ps = {
|
|
|
pid: p.id,
|
|
|
lid: d.lid,
|
|
@@ -192,7 +192,7 @@ module.exports = app => {
|
|
|
order: this.ctx.stage.curOrder,
|
|
|
};
|
|
|
if (d.contract_qty !== undefined) ps.contract_qty = this.round(d.contract_qty, precision.value);
|
|
|
- if (d.contract_expr !== undefined) p.contract_expr = d.contract_expr;
|
|
|
+ if (d.contract_expr !== undefined) ps.contract_expr = d.contract_expr;
|
|
|
if (d.qc_qty!== undefined) ps.qc_qty = this.round(d.qc_qty, precision.value);
|
|
|
if (d.postil!== undefined) ps.postil = d.postil;
|
|
|
insertPosStage.push(ps);
|