|
@@ -66,7 +66,7 @@ module.exports = app => {
|
|
|
(tender.ledger_status === auditConst.status.checked && upPermission);
|
|
|
}
|
|
|
|
|
|
- _getLedgerColumn(sjsRela) {
|
|
|
+ async _getLedgerColumn() {
|
|
|
const tender = this.ctx.tender;
|
|
|
const ledgerColumn = [
|
|
|
'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
|
|
@@ -77,12 +77,13 @@ module.exports = app => {
|
|
|
if (tender.info.display.ledger.clQty) ledgerColumn.push('sjcl_qty', 'qtcl_qty', 'sjcl_expr', 'qtcl_expr', 'sjcl_tp', 'qtcl_tp');
|
|
|
const posColumn = ['id', 'tid', 'lid', 'name', 'position', 'porder', 'sgfh_qty', 'sgfh_expr', 'add_stage_order', 'drawing_code', 'quantity'];
|
|
|
if (tender.info.display.ledger.clQty) posColumn.push('sjcl_qty', 'qtcl_qty', 'sjcl_expr', 'qtcl_expr');
|
|
|
- for (const field of sjsRela.ledgerCol) {
|
|
|
- if (field.show) {
|
|
|
- ledgerColumn.push(field.field);
|
|
|
- posColumn.push(field.field);
|
|
|
- }
|
|
|
+
|
|
|
+ const extraFields = await spreadSetting.getExtraFields(this.ctx, tender.id);
|
|
|
+ if (extraFields.length > 0) {
|
|
|
+ ledgerColumn.push(...extraFields);
|
|
|
+ posColumn.push(...extraFields);
|
|
|
}
|
|
|
+
|
|
|
return [ledgerColumn, posColumn];
|
|
|
}
|
|
|
|
|
@@ -427,15 +428,18 @@ module.exports = app => {
|
|
|
*/
|
|
|
async loadExplodeData(ctx) {
|
|
|
try {
|
|
|
- const sjsRela = await ctx.service.project.getTenderSjsRela(ctx.session.sessionProject.id, ctx.tender.info.display.exMemo);
|
|
|
- const [ledgerColumn, posColumn] = this._getLedgerColumn(sjsRela);
|
|
|
- const ledgerData = ctx.tender.ledgerReadOnly && ctx.tender.his
|
|
|
- ? await ctx.helper.loadLedgerDataFromOss(ctx.tender.his.bills_file)
|
|
|
- : await ctx.service.ledger.getAllDataByCondition({ columns: ledgerColumn, where: { tender_id: ctx.tender.id } });
|
|
|
+ const [ledgerColumn, posColumn] = await this._getLedgerColumn();
|
|
|
+ // const ledgerData = ctx.tender.ledgerReadOnly && ctx.tender.his
|
|
|
+ // ? await ctx.helper.loadLedgerDataFromOss(ctx.tender.his.bills_file)
|
|
|
+ // : await ctx.service.ledger.getAllDataByCondition({ columns: ledgerColumn, where: { tender_id: ctx.tender.id } });
|
|
|
+ // const posData = this.ctx.tender.data.measure_type === measureType.tz.value
|
|
|
+ // ? (ctx.tender.ledgerReadOnly && ctx.tender.his
|
|
|
+ // ? await ctx.helper.loadLedgerDataFromOss(ctx.tender.his.pos_file)
|
|
|
+ // : await ctx.service.pos.getPosData({tid: ctx.tender.id}, posColumn))
|
|
|
+ // : [];
|
|
|
+ const ledgerData = await ctx.service.ledger.getAllDataByCondition({ columns: ledgerColumn, where: { tender_id: ctx.tender.id } });
|
|
|
const posData = this.ctx.tender.data.measure_type === measureType.tz.value
|
|
|
- ? (ctx.tender.ledgerReadOnly && ctx.tender.his
|
|
|
- ? await ctx.helper.loadLedgerDataFromOss(ctx.tender.his.pos_file)
|
|
|
- : await ctx.service.pos.getPosData({tid: ctx.tender.id}, posColumn))
|
|
|
+ ? await ctx.service.pos.getPosData({tid: ctx.tender.id}, posColumn)
|
|
|
: [];
|
|
|
const ancillaryGclData = this.ctx.tender.data.measure_type === measureType.tz.value
|
|
|
? await ctx.service.ancillaryGcl.getAllDataByCondition({ where: { tid: ctx.tender.id } })
|