Quellcode durchsuchen

设计数量,默认3位小数

MaiXinRong vor 4 Jahren
Ursprung
Commit
272854c4e6

+ 1 - 1
app/base/base_bills_service.js

@@ -14,7 +14,7 @@ const rootId = -1;
 const calcFields = ['unit_price', 'sgfh_qty', 'sgfh_tp', 'sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'deal_qty', 'deal_tp', 'dgn_qty1', 'dgn_qty2'];
 const readOnlyFields = ['id', 'tender_id', 'ledger_id', 'ledger_pid', 'order', 'level', 'full_path', 'is_leaf'];
 const upFields = ['unit_price'];
-const qtyFields = ['sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'quantity', 'deal_qty', 'dgn_qty1', 'dgn_qty2'];
+const qtyFields = ['sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'quantity', 'deal_qty'];
 const tpFields = ['sgfh_tp', 'sjcl_tp', 'qtcl_tp', 'total_price', 'deal_tp'];
 const measureType = require('../const/tender').measureType;
 const billsUtils = require('../lib/bills_utils');

+ 1 - 0
app/controller/ledger_controller.js

@@ -357,6 +357,7 @@ module.exports = app => {
                         responseData.data = await this._base(ctx, data.postType, data.postData);
                         break;
                     case 'update':
+                        ctx.helper.checkDgnQtyPrecision(data.postData);
                         responseData.data = await ctx.service.ledger.updateCalc(ctx.tender.id, data.postData);
                         break;
                     case 'paste-block':

+ 1 - 0
app/controller/revise_controller.js

@@ -707,6 +707,7 @@ module.exports = app => {
                         responseData.data = await this._billsBase(revise, data.postType, data.postData);
                         break;
                     case 'update':
+                        ctx.helper.checkDgnQtyPrecision(data.postData);
                         responseData.data = await this.ctx.service.reviseBills.updateCalc(revise.tid, data.postData);
                         break;
                     case 'batch-insert':

+ 1 - 0
app/controller/stage_controller.js

@@ -456,6 +456,7 @@ module.exports = app => {
                         responseData.data.bills = await ctx.service.ledger.getDataByIds(this.ctx.helper._.map(updateDatas, 'id'));
                     }
                     if (data.bills.dgn) {
+                        ctx.helper.checkDgnQtyPrecision(data.bills.dgn);
                         responseData.data.dgn = await ctx.service.stageBillsDgn.saveDgnData(data.bills.dgn);
                     }
                     if (data.bills.stage) {

+ 8 - 0
app/extend/helper.js

@@ -635,6 +635,14 @@ module.exports = {
         }
     },
 
+    checkDgnQtyPrecision(data, precision = 3) {
+        const datas = data instanceof Array ? data : [data];
+        for (const d of datas) {
+            for (const prop in d) {
+                if (prop.indexOf('dgn_qty') >= 0) d[prop] = this.round(d[prop], precision);
+            }
+        }
+    },
     /**
      * 过滤无效数据
      *

+ 1 - 1
app/service/ledger.js

@@ -24,7 +24,7 @@ const keyFields = {
 const readOnlyFields = ['id', 'tender_id', 'ledger_id', 'ledger_pid', 'order', 'level', 'full_path', 'is_leaf'];
 const calcFields = ['unit_price', 'sgfh_qty', 'sgfh_tp', 'sjcl_qty', 'sjcl_tp', 'qtcl_qty', 'qtcl_tp', 'deal_qty', 'deal_tp', 'dgn_qty1', 'dgn_qty2'];
 const upFields = ['unit_price'];
-const qtyFields = ['sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'quantity', 'deal_qty', 'dgn_qty1', 'dgn_qty2'];
+const qtyFields = ['sgfh_qty', 'sjcl_qty', 'qtcl_qty', 'quantity', 'deal_qty'];
 const tpFields = ['sgfh_tp', 'sjcl_tp', 'qtcl_tp', 'total_price', 'deal_tp'];
 const rootId = -1;
 const keyPre = 'tender_node_maxId:';