Browse Source

期数据,备注相关

MaiXinRong 1 year ago
parent
commit
2900987875
3 changed files with 21 additions and 19 deletions
  1. 3 1
      app/controller/stage_controller.js
  2. 1 3
      app/lib/pay_calc.js
  3. 17 15
      app/service/stage_pay.js

+ 3 - 1
app/controller/stage_controller.js

@@ -224,6 +224,7 @@ module.exports = app => {
             this.ledgerExtraColumn = ['is_tp'];
             if (this.ctx.session.sessionProject.gxby) this.ledgerExtraColumn.push('gxby_status', 'gxby_url', 'gxby_limit');
             if (this.ctx.session.sessionProject.dagl) this.ledgerExtraColumn.push('dagl_status', 'dagl_url', 'dagl_limit');
+            this.memoColumn = ['id', 'memo'];
 
 
             this.posColumn = ['id', 'tid', 'lid', 'name', 'position', 'porder', 'quantity', 'add_stage_order', 'drawing_code'];
@@ -237,6 +238,7 @@ module.exports = app => {
             if (sjsRela) {
                 for (const field of sjsRela.ledgerCol) {
                     if (field.show) {
+                        this.memoColumn.push(field.field);
                         this.ledgerColumn.push(field.field);
                         this.posColumn.push(field.field);
                     }
@@ -248,7 +250,7 @@ module.exports = app => {
             const ledgerData = ctx.stage.ledgerHis
                 ? await ctx.helper.loadLedgerDataFromOss(ctx.stage.ledgerHis.bills_file)
                 : await ctx.service.ledger.getAllDataByCondition({ columns: this.ledgerColumn, where: { tender_id: ctx.tender.id } });
-            const memoData = ctx.stage.ledgerHis ? await ctx.service.ledger.getAllDataByCondition({ columns: ['id', 'memo'], where: { tender_id: ctx.tender.id } }) : [];
+            const memoData = ctx.stage.ledgerHis ? await ctx.service.ledger.getAllDataByCondition({ columns: this.memoColumn, where: { tender_id: ctx.tender.id } }) : [];
             const dgnData = await ctx.service.stageBillsDgn.getDgnData(ctx.tender.id);
             const extraData = await ctx.service.ledgerExtra.getData(ctx.tender.id, this.ledgerExtraColumn);
             const pcData = await ctx.service.stageBillsPc.getAllDataByCondition({ where: { sid: ctx.stage.id } });

+ 1 - 3
app/lib/pay_calc.js

@@ -54,17 +54,14 @@ class PayCalculate {
 
     _calculateTpExpr(pay, pays) {
         let formula = pay.expr;
-        const bPrint = (pay.expr === 'f18+f12');
         const orderParam = pay.expr.match(this.orderReg);
         if (orderParam) {
             for (const op of orderParam) {
                 const order = parseInt(op.substring(1, op.length));
                 const orderPay = pays.find(x => { return x.order === order });
-                if (bPrint) console.log(order, orderPay);
                 formula = formula.replace(op, orderPay && orderPay.tp || 0);
             }
         }
-        if (bPrint) console.log(formula);
         for (const b of this.bases) {
             if ((b.code === 'bqwc' || b.code === 'bqht') && (!pay.pre_used && pay.sprice)) {
                 switch (b.code) {
@@ -74,6 +71,7 @@ class PayCalculate {
                     case 'bqht':
                         formula = formula.replace(b.reg, this.ctx.helper.sub(this.add.contract_tp, pay.sprice));
                         break;
+                    default: throw '未知参数';
                 }
             } else {
                 formula = formula.replace(b.reg, b.value);

+ 17 - 15
app/service/stage_pay.js

@@ -208,7 +208,7 @@ module.exports = app => {
             const datas = saveData instanceof Array ? saveData : [saveData], updateDatas = [];
             const stagePays = await this.getStagePay(this.ctx.stage, this._.map(datas, 'pid'));
             for (const data of datas) {
-                const stagePay = stagePays.find(function (x) {
+                const stagePay = stagePays.find(x => {
                     return x.pid === data.pid;
                 });
                 const updateData = {id: stagePay.id};
@@ -227,9 +227,9 @@ module.exports = app => {
 
         /**
          * 计算
-         * @param stage
-         * @param transaction
-         * @returns {Promise<boolean>}
+         * @param {object} stage - 期数据
+         * @param {object} transaction - 事务
+         * @return {Promise<Array>} 计算结果(应付和实付数据)
          */
         async calcAllStagePays(stage, transaction) {
             if (!stage || !transaction) {
@@ -287,11 +287,11 @@ module.exports = app => {
 
         /**
          * 拷贝上一操作人数据 为 下一操作人数据
-         * @param stage - 期数据
-         * @param times - 下一操作人 该期第几次
-         * @param order - 下一操作人顺序
-         * @param transaction - 事务
-         * @returns {Promise<*>}
+         * @param {object} stage - 期数据
+         * @param {int} times - 下一操作人 该期第几次
+         * @param {int} order - 下一操作人顺序
+         * @param {object} transaction - 事务
+         * @return {Promise<*>} 初始化sql执行结果
          */
         async copyAuditStagePays(stage, times, order, transaction, curTimes = stage.curTimes, curOrder = stage.curOrder) {
             if (!stage || !transaction || !times || order === undefined) {
@@ -332,12 +332,14 @@ module.exports = app => {
         }
 
         /**
-         * 拷贝上一操作人数据 为 下一操作人数据
-         * @param stage - 期数据
-         * @param times - 下一操作人 该期第几次
-         * @param order - 下一操作人顺序
-         * @param transaction - 事务
-         * @returns {Promise<*>}
+         * 删除审批流程时,拷贝数据
+         * @param {object} stage - 期数据
+         * @param {int} times - 拷贝至 该期第几次
+         * @param {int} order - 拷贝至 槽作人顺序
+         * @param {int} copyTimes - 源 该期第几次
+         * @param {int} copyOrder - 源 操作人顺序
+         * @param {object} transaction - 事务
+         * @return {Promise<*>} 初始化sql执行结果
          */
         async copyStagePays4DeleteTimes(stage, times, order, copyTimes, copyOrder, transaction) {
             const sql = 'INSERT INTO ?? (`tid`, `sid`, `pid`, `stimes`, `sorder`, `name`, `tp`, `expr`, `pause`,' +