| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- 'use strict';
 
- /**
 
-  *
 
-  * @author Mai
 
-  * @date
 
-  * @version
 
-  */
 
- const reviseStatus = require('../const/audit').revise.status;
 
- module.exports = options => {
 
-     /**
 
-      * 结算期 校验 中间件
 
-      * 1. 读取 结算期 数据
 
-      * 2. 检验用户是否参与(不校验具体权限)
 
-      *
 
-      * @param {function} next - 中间件继续执行的方法
 
-      * @return {void}
 
-      */
 
-     return function* settleCheck(next) {
 
-         try {
 
-             // 读取标段数据
 
-             const settleOrder = parseInt(this.params.sorder);
 
-             if (settleOrder <= 0) throw '您访问的期不存在';
 
-             const settle = yield this.service.settle.getDataByCondition({ tid: this.tender.id, settle_order: settleOrder });
 
-             if (!settle) throw '您访问的期不存在';
 
-             yield this.service.settle.doCheckSettle(settle);
 
-             // 获取最新的期数
 
-             settle.highOrder = yield this.service.settle.count({ tid: this.tender.id });
 
-             yield this.service.settle.checkSettleShenpi(settle);
 
-             // 是否台账修订中
 
-             const lastRevise = yield this.service.ledgerRevise.getLastestRevise(this.tender.id);
 
-             settle.revising = (lastRevise && lastRevise.status !== reviseStatus.checked) || false;
 
-             this.settle = settle;
 
-             yield next;
 
-         } catch (err) {
 
-             this.log(err);
 
-             this.redirect(`/tender/${this.params.id}/settle`);
 
-         }
 
-     };
 
- };
 
 
  |