Forráskód Böngészése

Merge branch 'master' of http://192.168.1.41:3000/maixinrong/Calculation

MaiXinRong 5 éve
szülő
commit
9130900e92
2 módosított fájl, 13 hozzáadás és 8 törlés
  1. 1 1
      app/router.js
  2. 12 7
      app/service/material_bills.js

+ 1 - 1
app/router.js

@@ -42,7 +42,7 @@ module.exports = app => {
     app.get('/setting/user/permission/set', sessionAuth, 'settingController.userPermissionSet');
     // 账号停用和启用
     app.post('/setting/user/switch', sessionAuth, 'settingController.userSwitch');
-    app.post('/setting/user/add', sessionAuth, 'settingController.addUser');
+    app.post('/setting/user/add', sessionAuth, datetimeFill, 'settingController.addUser');
     app.post('/setting/user/update', sessionAuth, 'settingController.updateUser');
     app.post('/setting/user/permission', sessionAuth, 'settingController.permission');
     app.post('/setting/user/reset/password', sessionAuth, 'settingController.resetUserPassword');

+ 12 - 7
app/service/material_bills.js

@@ -88,6 +88,10 @@ module.exports = app => {
             // 判断t_type是否为费用
             const transaction = await this.db.beginTransaction();
             try {
+                if (data.t_type === materialConst.t_type[0].value) {
+                    data.quantity = null;
+                    data.expr = null;
+                }
                 await transaction.update(this.tableName, data);
                 let m_tp = this.ctx.material.m_tp;
                 if (data.t_type === materialConst.t_type[1].value) {
@@ -126,7 +130,7 @@ module.exports = app => {
          * @returns {Promise<*>}
          */
         async calcQuantityByMB(transaction, mid, mb) {
-            if (mb.t_type === 1) {
+            if (mb.t_type === materialConst.t_type[0].value) {
                 const sql = 'SELECT SUM(`gather_qty`*`quantity`) as quantity FROM ' + this.ctx.service.materialList.tableName + ' WHERE `mid`=? AND `mb_id`=? AND `is_join`=1';
                 const sqlParam = [mid, mb.id];
                 const mb_quantity = await transaction.queryOne(sql, sqlParam);
@@ -139,13 +143,14 @@ module.exports = app => {
                 };
                 await transaction.update(this.tableName, updateData);
                 return await this.ctx.helper.round(this.ctx.helper.mul(mb_quantity.quantity, mb.m_spread), 2);
+            } else if (mb.t_type === materialConst.t_type[1].value) {
+                const updateData = {
+                    id: mb.id,
+                    pre_tp: mb.quantity && mb.m_spread !== null ? this.ctx.helper.round(this.ctx.helper.add(mb.pre_tp, this.ctx.helper.mul(mb.quantity, mb.m_spread)), 2) : mb.pre_tp,
+                };
+                await transaction.update(this.tableName, updateData);
+                return await this.ctx.helper.round(this.ctx.helper.mul(mb.quantity, mb.m_spread), 2);
             }
-            const updateData = {
-                id: mb.id,
-                pre_tp: mb.quantity && mb.m_spread !== null ? this.ctx.helper.round(this.ctx.helper.add(mb.pre_tp, this.ctx.helper.mul(mb.quantity, mb.m_spread)), 2) : mb.pre_tp,
-            };
-            await transaction.update(this.tableName, updateData);
-            return await this.ctx.helper.round(this.ctx.helper.mul(mb.quantity, mb.m_spread), 2);
         }
 
         /**