Browse Source

超计判断

MaiXinRong 3 years ago
parent
commit
bc7caf9aaf
4 changed files with 13 additions and 13 deletions
  1. 3 6
      app/controller/stage_controller.js
  2. 5 5
      app/lib/ledger.js
  3. 0 1
      app/public/js/global.js
  4. 5 1
      sql/update.sql

+ 3 - 6
app/controller/stage_controller.js

@@ -409,15 +409,12 @@ module.exports = app => {
                 const helper = this.ctx.helper;
                 posData.forEach(x => {
                     x.end_minus_qc_qty = helper.add(x.pre_minus_qc_qty, x.minus_qc_qty);
-                    x.qty_0 = x.quantity;
-                    x.quantity = helper.add(x.quantity, x.end_minus_qc_qty);
+                    x.final_1_qty = helper.add(x.quantity, x.end_minus_qc_qty);
                 });
                 ledgerData.forEach(x => {
                     x.end_minus_qc_qty = helper.add(x.pre_minus_qc_qty, x.minus_qc_qty);
-                    x.qty_0 = x.quantity;
-                    x.deal_qty_0 = x.deal_qty;
-                    x.quantity = helper.add(x.quantity, x.end_minus_qc_qty);
-                    x.deal_qty = helper.add(x.deal_qty, x.end_minus_qc_qty);
+                    x.final_1_qty = helper.add(x.quantity, x.end_minus_qc_qty);
+                    x.deal_final_1_qty = helper.add(x.deal_qty, x.end_minus_qc_qty);
                 });
 
                 const projRela = await this.ctx.service.project.getFunRela(this.ctx.session.sessionProject.id);

+ 5 - 5
app/lib/ledger.js

@@ -616,7 +616,7 @@ class checkData {
             if (ratio === 0) {
                 if (!data.contract_tp && !data.pre_contract_tp) return 2; // 漏计
             } else {
-                const tp = this.ctx.helper.mul(data.total_price, this.ctx.helper.div(ratio, 100, 4), this.ctx.tender.info.decimal.tp);
+                const tp = this.ctx.helper.mul(data.final_1_tp, this.ctx.helper.div(ratio, 100, 4), this.ctx.tender.info.decimal.tp);
                 const checkTp = this.ctx.helper.add(data.contract_tp, data.pre_contract_tp);
                 if (tp > checkTp) return 1; // 违规
                 if (tp < checkTp) return 2; // 漏计
@@ -633,7 +633,7 @@ class checkData {
                 if (!data.contract_qty && !data.qc_qty && !data.pre_contract_qty && !data.pre_qc_qty) return 2; // 漏计
             } else {
                 const precision = this.ctx.helper.findPrecision(this.ctx.tender.info.precision, unit);
-                const checkQty = this.ctx.helper.mul(data.quantity, this.ctx.helper.div(ratio, 100, 4), precision.value);
+                const checkQty = this.ctx.helper.mul(data.final_1_qty, this.ctx.helper.div(ratio, 100, 4), precision.value);
                 const qty = this.ctx.helper.add(data.contract_qty, data.pre_contract_qty);
                 if (qty > checkQty) return 1; // 违规
                 if (qty < checkQty) return 2; // 漏计
@@ -901,9 +901,9 @@ class checkData {
                     const end_contract_qty = this.ctx.helper.add(p.pre_contract_qty, p.contract_qty);
                     if (!p.quantity && !!end_contract_qty) return true;
                     if (p.quantity > 0) {
-                        if (end_contract_qty > p.quantity) return true;
+                        if (end_contract_qty > p.final_1_qty) return true;
                     } else {
-                        if (end_contract_qty < p.quantity || end_contract_qty > 0) return true;
+                        if (end_contract_qty < p.final_1_qty || end_contract_qty > 0) return true;
                     }
                 }
                 return false;
@@ -916,7 +916,7 @@ class checkData {
                 if (!compare_tp) return !!end_contract_tp;
                 return compare_tp >= 0 ? end_contract_tp > compare_tp : end_contract_tp < compare_tp || end_contract_tp > 0;
             } else {
-                const compare_qty = isTz ? bills.quantity : bills.deal_qty;
+                const compare_qty = isTz ? bills.final_1_qty : bills.deal_final_1_qty;
                 if (!compare_qty) return !!end_contract_qty;
                 return compare_qty >= 0 ? end_contract_qty > compare_qty : end_contract_qty < compare_qty || end_contract_qty > 0;
             }

+ 0 - 1
app/public/js/global.js

@@ -1017,7 +1017,6 @@ $.fn.extend({
 const checkUtils = {
     posOver(data) {
         if (!data) return false;
-        console.log(data.name, data.final_1_qty, data.end_contract_qty);
         if (!data.quantity) return !!data.end_contract_qty;
         return data.quantity > 0
             ? data.end_contract_qty > data.final_1_qty

+ 5 - 1
sql/update.sql

@@ -126,4 +126,8 @@ CREATE TABLE `zh_stage_stash` (
   `info` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '相关信息',
   `remark` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '备注',
   PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+Update zh_stage_change sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;
+
+Update zh_stage_change_final sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;