|
@@ -284,18 +284,33 @@ module.exports = app => {
|
|
const curStage = await this.ctx.service.stageBills.getAuditorStageData(tender.id,
|
|
const curStage = await this.ctx.service.stageBills.getAuditorStageData(tender.id,
|
|
stage.id, stage.curTimes, stage.curOrder);
|
|
stage.id, stage.curTimes, stage.curOrder);
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
- {data: curStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: '', relaId: 'lid'}
|
|
|
|
|
|
+ {
|
|
|
|
+ data: curStage,
|
|
|
|
+ fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'],
|
|
|
|
+ prefix: '',
|
|
|
|
+ relaId: 'lid'
|
|
|
|
+ }
|
|
]);
|
|
]);
|
|
} else {
|
|
} else {
|
|
const curStage = await this.ctx.service.stageBills.getLastestStageData(tender.id, stage.id);
|
|
const curStage = await this.ctx.service.stageBills.getLastestStageData(tender.id, stage.id);
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
- {data: curStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: '', relaId: 'lid'}
|
|
|
|
|
|
+ {
|
|
|
|
+ data: curStage,
|
|
|
|
+ fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'],
|
|
|
|
+ prefix: '',
|
|
|
|
+ relaId: 'lid'
|
|
|
|
+ }
|
|
]);
|
|
]);
|
|
}
|
|
}
|
|
if (hasPre) {
|
|
if (hasPre) {
|
|
const preStage = stage.order > 1 ? await this.ctx.service.stageBillsFinal.getFinalData(tender, stage.order - 1) : [];
|
|
const preStage = stage.order > 1 ? await this.ctx.service.stageBillsFinal.getFinalData(tender, stage.order - 1) : [];
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
this.ctx.helper.assignRelaData(billsData, [
|
|
- {data: preStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: 'pre_', relaId: 'lid'}
|
|
|
|
|
|
+ {
|
|
|
|
+ data: preStage,
|
|
|
|
+ fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'],
|
|
|
|
+ prefix: 'pre_',
|
|
|
|
+ relaId: 'lid'
|
|
|
|
+ }
|
|
]);
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -304,7 +319,6 @@ module.exports = app => {
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
gatherUtils.gatherStage(tender, gatherNode, sourceNode, completeData.prefix, helper);
|
|
gatherUtils.gatherStage(tender, gatherNode, sourceNode, completeData.prefix, helper);
|
|
});
|
|
});
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
async _gatherStagesData(completeData, tender, stages) {
|
|
async _gatherStagesData(completeData, tender, stages) {
|
|
@@ -368,14 +382,20 @@ module.exports = app => {
|
|
if (stage.readOnly) {
|
|
if (stage.readOnly) {
|
|
const curStage = await this.ctx.service.stageBills.getAuditorStageData(tender.id,
|
|
const curStage = await this.ctx.service.stageBills.getAuditorStageData(tender.id,
|
|
stage.id, stage.curTimes, stage.curOrder);
|
|
stage.id, stage.curTimes, stage.curOrder);
|
|
- sumAssignRelaData(billsIndexData, [
|
|
|
|
- {data: curStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: '', relaId: 'lid'}
|
|
|
|
- ]);
|
|
|
|
|
|
+ sumAssignRelaData(billsIndexData, [{
|
|
|
|
+ data: curStage,
|
|
|
|
+ fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'],
|
|
|
|
+ prefix: '',
|
|
|
|
+ relaId: 'lid'
|
|
|
|
+ }]);
|
|
} else {
|
|
} else {
|
|
const curStage = await this.ctx.service.stageBills.getLastestStageData(tender.id, stage.id);
|
|
const curStage = await this.ctx.service.stageBills.getLastestStageData(tender.id, stage.id);
|
|
- sumAssignRelaData(billsIndexData, [
|
|
|
|
- {data: curStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'], prefix: '', relaId: 'lid'}
|
|
|
|
- ]);
|
|
|
|
|
|
+ sumAssignRelaData(billsIndexData, [{
|
|
|
|
+ data: curStage,
|
|
|
|
+ fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'],
|
|
|
|
+ prefix: '',
|
|
|
|
+ relaId: 'lid'
|
|
|
|
+ }]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -386,45 +406,39 @@ module.exports = app => {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherMonthData(sTender, completeData, month, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherMonthData(tender, completeData, month, hasPre) {
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stage = this.ctx.helper._.find(stages, {s_time: month});
|
|
const stage = this.ctx.helper._.find(stages, {s_time: month});
|
|
await this._gatherStageData(completeData, tender, stage, hasPre);
|
|
await this._gatherStageData(completeData, tender, stage, hasPre);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherIndexData(sTender, completeData, index, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherIndexData(tender, completeData, index, hasPre) {
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stage = this.ctx.helper._.find(stages, {order: index});
|
|
const stage = this.ctx.helper._.find(stages, {order: index});
|
|
await this._gatherStageData(completeData, tender, stage, hasPre);
|
|
await this._gatherStageData(completeData, tender, stage, hasPre);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherZoneData(sTender, completeData, zone) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherZoneData(tender, completeData, zone) {
|
|
const stages = await this._getTimeZoneStages(tender, zone);
|
|
const stages = await this._getTimeZoneStages(tender, zone);
|
|
await this._gatherStagesData(completeData, tender, stages);
|
|
await this._gatherStagesData(completeData, tender, stages);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherIndexZoneData(sTender, completeData, stageZone) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherIndexZoneData(tender, completeData, stageZone) {
|
|
const stages = await this._getOrderZoneStages(tender, stageZone);
|
|
const stages = await this._getOrderZoneStages(tender, stageZone);
|
|
await this._gatherStagesData(completeData, tender, stages);
|
|
await this._gatherStagesData(completeData, tender, stages);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherFinalData(sTender, completeData, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherFinalData(tender, completeData, hasPre) {
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
await this._gatherStageData(completeData, tender, stages[0], hasPre);
|
|
await this._gatherStageData(completeData, tender, stages[0], hasPre);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherCheckedFinalData(sTender, completeData, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherCheckedFinalData(tender, completeData, hasPre) {
|
|
const stages = await this._getCheckedStages(tender.id);
|
|
const stages = await this._getCheckedStages(tender.id);
|
|
await this._gatherStageData(completeData, tender, stages[0], hasPre);
|
|
await this._gatherStageData(completeData, tender, stages[0], hasPre);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherLedgerData(sTender, completeData) {
|
|
|
|
|
|
+ async _gatherLedgerData(tender, completeData) {
|
|
const helper = this.ctx.helper;
|
|
const helper = this.ctx.helper;
|
|
const billsTree = new Ledger.billsTree(this.ctx, {
|
|
const billsTree = new Ledger.billsTree(this.ctx, {
|
|
id: 'ledger_id',
|
|
id: 'ledger_id',
|
|
@@ -436,16 +450,15 @@ module.exports = app => {
|
|
stageId: 'id',
|
|
stageId: 'id',
|
|
calcFields: ['deal_tp', 'total_price'],
|
|
calcFields: ['deal_tp', 'total_price'],
|
|
});
|
|
});
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
const billsData = await this.ctx.service.ledger.getData(tender.id);
|
|
const billsData = await this.ctx.service.ledger.getData(tender.id);
|
|
billsTree.loadDatas(billsData);
|
|
billsTree.loadDatas(billsData);
|
|
billsTree.calculateAll();
|
|
billsTree.calculateAll();
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
gatherUtils.gatherLedger(tender, gatherNode, sourceNode, completeData.prefix, helper);
|
|
gatherUtils.gatherLedger(tender, gatherNode, sourceNode, completeData.prefix, helper);
|
|
- })
|
|
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherSpecialData(sTender, sKey) {
|
|
|
|
|
|
+ async _gatherSpecialData(tender, sKey) {
|
|
const helper = this.ctx.helper;
|
|
const helper = this.ctx.helper;
|
|
const billsTree = new Ledger.billsTree(this.ctx, {
|
|
const billsTree = new Ledger.billsTree(this.ctx, {
|
|
id: 'ledger_id',
|
|
id: 'ledger_id',
|
|
@@ -457,13 +470,12 @@ module.exports = app => {
|
|
stageId: 'id',
|
|
stageId: 'id',
|
|
calcFields: ['deal_tp', 'total_price'],
|
|
calcFields: ['deal_tp', 'total_price'],
|
|
});
|
|
});
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
const billsData = await this.ctx.service.ledger.getData(tender.id);
|
|
const billsData = await this.ctx.service.ledger.getData(tender.id);
|
|
billsTree.loadDatas(billsData);
|
|
billsTree.loadDatas(billsData);
|
|
billsTree.calculateAll();
|
|
billsTree.calculateAll();
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
this.resultTree.loadGatherTree(billsTree, function (gatherNode, sourceNode) {
|
|
gatherUtils.gatherSpecial(gatherNode, sourceNode, 'ts_' + sKey + '_', helper);
|
|
gatherUtils.gatherSpecial(gatherNode, sourceNode, 'ts_' + sKey + '_', helper);
|
|
- })
|
|
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
async getGatherStageBills(memFieldKeys, gsDefine, gsCustom) {
|
|
async getGatherStageBills(memFieldKeys, gsDefine, gsCustom) {
|
|
@@ -473,40 +485,46 @@ module.exports = app => {
|
|
const gsSetting = JSON.parse(gsDefine.setting);
|
|
const gsSetting = JSON.parse(gsDefine.setting);
|
|
let commonIndex = 0;
|
|
let commonIndex = 0;
|
|
const completeDatas = [];
|
|
const completeDatas = [];
|
|
- for (const tender of gsCustom.tenders) {
|
|
|
|
- const specialKey = this._checkSpecialTender(tender, gsSetting.special);
|
|
|
|
- if (specialKey === '') {
|
|
|
|
- const completeData = {
|
|
|
|
- prefix: 't_' + commonIndex + '_',
|
|
|
|
- };
|
|
|
|
- completeDatas.push(completeData);
|
|
|
|
- switch (gsSetting.type) {
|
|
|
|
- case 'month':
|
|
|
|
- await this._gatherMonthData(tender, completeData, gsCustom.month, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'zone':
|
|
|
|
- await this._gatherZoneData(tender, completeData, gsCustom.zone);
|
|
|
|
- break;
|
|
|
|
- case 'final':
|
|
|
|
- await this._gatherFinalData(tender, completeData, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'checked-final':
|
|
|
|
- await this._gatherCheckedFinalData(tender, completeData, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'ledger':
|
|
|
|
- await this._gatherLedgerData(tender, completeData);
|
|
|
|
- break;
|
|
|
|
- case 'stage':
|
|
|
|
- await this._gatherIndexData(tender, completeData, gsCustom.stage, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'stage-zone':
|
|
|
|
- await this._gatherIndexZoneData(tender, completeData, gsCustom.stage_zone);
|
|
|
|
- break;
|
|
|
|
|
|
+ for (const t of gsCustom.tenders) {
|
|
|
|
+ const specialKey = this._checkSpecialTender(t, gsSetting.special);
|
|
|
|
+ const tender = await this.ctx.service.tender.getCheckTender(t.tid);
|
|
|
|
+ this.ctx.query_tender = tender;
|
|
|
|
+ try {
|
|
|
|
+ if (specialKey === '') {
|
|
|
|
+ const completeData = {
|
|
|
|
+ prefix: 't_' + commonIndex + '_',
|
|
|
|
+ };
|
|
|
|
+ completeDatas.push(completeData);
|
|
|
|
+ switch (gsSetting.type) {
|
|
|
|
+ case 'month':
|
|
|
|
+ await this._gatherMonthData(tender, completeData, gsCustom.month, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'zone':
|
|
|
|
+ await this._gatherZoneData(tender, completeData, gsCustom.zone);
|
|
|
|
+ break;
|
|
|
|
+ case 'final':
|
|
|
|
+ await this._gatherFinalData(tender, completeData, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'checked-final':
|
|
|
|
+ await this._gatherCheckedFinalData(tender, completeData, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'ledger':
|
|
|
|
+ await this._gatherLedgerData(tender, completeData);
|
|
|
|
+ break;
|
|
|
|
+ case 'stage':
|
|
|
|
+ await this._gatherIndexData(tender, completeData, gsCustom.stage, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'stage-zone':
|
|
|
|
+ await this._gatherIndexZoneData(tender, completeData, gsCustom.stage_zone);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ commonIndex++;
|
|
|
|
+ } else {
|
|
|
|
+ await this._gatherSpecialData(tender, specialKey);
|
|
}
|
|
}
|
|
- commonIndex++;
|
|
|
|
- } else {
|
|
|
|
- await this._gatherSpecialData(tender, specialKey);
|
|
|
|
|
|
+ } catch(err) {
|
|
}
|
|
}
|
|
|
|
+ this.ctx.query_tender = null;
|
|
}
|
|
}
|
|
|
|
|
|
this.resultTree.generateSortNodes();
|
|
this.resultTree.generateSortNodes();
|
|
@@ -580,8 +598,7 @@ module.exports = app => {
|
|
info.gather_tp = helper.add(info.contract_tp, info.qc_tp);
|
|
info.gather_tp = helper.add(info.contract_tp, info.qc_tp);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherMonthTenderInfo(sTender, index, month, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherMonthTenderInfo(tender, index, month, hasPre) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stage = this.ctx.helper._.find(stages, {s_time: month});
|
|
const stage = this.ctx.helper._.find(stages, {s_time: month});
|
|
@@ -589,8 +606,7 @@ module.exports = app => {
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherOrderTenderInfo(sTender, index, order, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherOrderTenderInfo(tender, index, order, hasPre) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stage = this.ctx.helper._.find(stages, {order: order});
|
|
const stage = this.ctx.helper._.find(stages, {order: order});
|
|
@@ -598,47 +614,40 @@ module.exports = app => {
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherZoneTenderInfo(sTender, index, zone) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherZoneTenderInfo(tender, index, zone) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getTimeZoneStages(tender, zone);
|
|
const stages = await this._getTimeZoneStages(tender, zone);
|
|
await this._getStagesTenderInfo(stages, info);
|
|
await this._getStagesTenderInfo(stages, info);
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherOrderZoneTenderInfo(sTender, index, stageZone) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherOrderZoneTenderInfo(tender, index, stageZone) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getOrderZoneStages(tender, stageZone);
|
|
const stages = await this._getOrderZoneStages(tender, stageZone);
|
|
await this._getStagesTenderInfo(stages, info);
|
|
await this._getStagesTenderInfo(stages, info);
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherFinalTenderInfo(sTender, index, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherFinalTenderInfo(tender, index, hasPre) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getValidStages(tender.id);
|
|
const stages = await this._getValidStages(tender.id);
|
|
await this._getStageTenderInfo(stages[0], info);
|
|
await this._getStageTenderInfo(stages[0], info);
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherCheckedFinalTenderInfo(sTender, index, hasPre) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherCheckedFinalTenderInfo(tender, index, hasPre) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const stages = await this._getCheckedStages(tender.id);
|
|
const stages = await this._getCheckedStages(tender.id);
|
|
await this._getStageTenderInfo(stages[0], info);
|
|
await this._getStageTenderInfo(stages[0], info);
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherLedgerTenderInfo(sTender, index) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
|
|
+ async _gatherLedgerTenderInfo(tender, index) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
}
|
|
}
|
|
|
|
|
|
- async _gatherSpecialTenderInfo(sTender, sKey) {
|
|
|
|
- const tender = await this.ctx.service.tender.getCheckTender(sTender.tid);
|
|
|
|
-
|
|
|
|
|
|
+ async _gatherSpecialTenderInfo(tender, sKey) {
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
const info = await this._getBaseTenderInfo(tender);
|
|
info.spec = sKey;
|
|
info.spec = sKey;
|
|
this.resultTenderInfo.push(info);
|
|
this.resultTenderInfo.push(info);
|
|
@@ -651,36 +660,42 @@ module.exports = app => {
|
|
this.resultTenderInfo = [];
|
|
this.resultTenderInfo = [];
|
|
const gsSetting = JSON.parse(gsDefine.setting);
|
|
const gsSetting = JSON.parse(gsDefine.setting);
|
|
let commonIndex = 0;
|
|
let commonIndex = 0;
|
|
- for (const tender of gsCustom.tenders) {
|
|
|
|
- const specialKey = this._checkSpecialTender(tender, gsSetting.special);
|
|
|
|
- if (specialKey === '') {
|
|
|
|
- switch (gsSetting.type) {
|
|
|
|
- case 'month':
|
|
|
|
- await this._gatherMonthTenderInfo(tender, commonIndex, gsCustom.month, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'zone':
|
|
|
|
- await this._gatherZoneTenderInfo(tender, commonIndex, gsCustom.zone);
|
|
|
|
- break;
|
|
|
|
- case 'final':
|
|
|
|
- await this._gatherFinalTenderInfo(tender, commonIndex, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'checked-final':
|
|
|
|
- await this._gatherCheckedFinalTenderInfo(tender, commonIndex, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'ledger':
|
|
|
|
- await this._gatherLedgerTenderInfo(tender, commonIndex);
|
|
|
|
- break;
|
|
|
|
- case 'stage':
|
|
|
|
- await this._gatherOrderTenderInfo(tender, commonIndex, gsCustom.stage, gsSetting.hasPre);
|
|
|
|
- break;
|
|
|
|
- case 'stage-zone':
|
|
|
|
- await this._gatherOrderZoneTenderInfo(tender, commonIndex, gsCustom.stage_zone);
|
|
|
|
- break;
|
|
|
|
|
|
+ for (const t of gsCustom.tenders) {
|
|
|
|
+ const specialKey = this._checkSpecialTender(t, gsSetting.special);
|
|
|
|
+ const tender = await this.ctx.service.tender.getCheckTender(t.tid);
|
|
|
|
+ this.ctx.query_tender = tender;
|
|
|
|
+ try {
|
|
|
|
+ if (specialKey === '') {
|
|
|
|
+ switch (gsSetting.type) {
|
|
|
|
+ case 'month':
|
|
|
|
+ await this._gatherMonthTenderInfo(tender, commonIndex, gsCustom.month, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'zone':
|
|
|
|
+ await this._gatherZoneTenderInfo(tender, commonIndex, gsCustom.zone);
|
|
|
|
+ break;
|
|
|
|
+ case 'final':
|
|
|
|
+ await this._gatherFinalTenderInfo(tender, commonIndex, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'checked-final':
|
|
|
|
+ await this._gatherCheckedFinalTenderInfo(tender, commonIndex, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'ledger':
|
|
|
|
+ await this._gatherLedgerTenderInfo(tender, commonIndex);
|
|
|
|
+ break;
|
|
|
|
+ case 'stage':
|
|
|
|
+ await this._gatherOrderTenderInfo(tender, commonIndex, gsCustom.stage, gsSetting.hasPre);
|
|
|
|
+ break;
|
|
|
|
+ case 'stage-zone':
|
|
|
|
+ await this._gatherOrderZoneTenderInfo(tender, commonIndex, gsCustom.stage_zone);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ commonIndex++;
|
|
|
|
+ } else {
|
|
|
|
+ await this._gatherSpecialTenderInfo(tender, specialKey);
|
|
}
|
|
}
|
|
- commonIndex++;
|
|
|
|
- } else {
|
|
|
|
- await this._gatherSpecialTenderInfo(tender, specialKey);
|
|
|
|
|
|
+ } catch (err) {
|
|
}
|
|
}
|
|
|
|
+ this.ctx.query_tender = null;
|
|
}
|
|
}
|
|
return this.resultTenderInfo;
|
|
return this.resultTenderInfo;
|
|
}
|
|
}
|