|
@@ -0,0 +1,57 @@
|
|
|
+// 计算变更令,计价不计价金额数
|
|
|
+
|
|
|
+const defaultInfo = require('../app/const/tender_info');
|
|
|
+const BaseUtil = require('./baseUtils');
|
|
|
+const status = require('../app/const/audit').change.status;
|
|
|
+const querySql = BaseUtil.querySql;
|
|
|
+const ZhCalc = BaseUtil.ZhCalc;
|
|
|
+
|
|
|
+const checkChange = async function(change) {
|
|
|
+ const changeBills = await querySql('Select * From zh_change_audit_list where cid = ?', [change.cid]);
|
|
|
+ let valuation_tp = 0;
|
|
|
+ let unvaluation_tp = 0;
|
|
|
+ for (const cb of changeBills) {
|
|
|
+ valuation_tp = cb.is_valuation ? ZhCalc.add(valuation_tp, cb.checked_price) : valuation_tp;
|
|
|
+ unvaluation_tp = !cb.is_valuation ? ZhCalc.add(unvaluation_tp, cb.checked_price) : unvaluation_tp;
|
|
|
+ }
|
|
|
+ await querySql('Update zh_change Set valuation_tp = ?, unvaluation_tp = ? Where cid = ?', [valuation_tp, unvaluation_tp, change.cid]);
|
|
|
+ console.log(`Update Change ${change.cid}`);
|
|
|
+};
|
|
|
+
|
|
|
+const doComplete = async function() {
|
|
|
+ try {
|
|
|
+ const tender = await querySql('Select * From zh_tender');
|
|
|
+ for (const t of tender) {
|
|
|
+ console.log(`Update Tender ${t.id}:`);
|
|
|
+ const changes = await querySql('Select * From zh_change where tid = ? AND status = ?', [t.id, status.checked]);
|
|
|
+ for (const c of changes) {
|
|
|
+ await checkChange(c);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ }
|
|
|
+ BaseUtil.closePool();
|
|
|
+};
|
|
|
+const doCompleteTest = async function(tid) {
|
|
|
+ try {
|
|
|
+ const tender = await querySql('Select * From zh_tender where id = ?', [tid]);
|
|
|
+ for (const t of tender) {
|
|
|
+ console.log(`Update Tender ${t.id}:`);
|
|
|
+ const changes = await querySql('Select * From zh_change where tid = ? AND status = ?', [t.id, status.checked]);
|
|
|
+ for (const c of changes) {
|
|
|
+ await checkChange(c);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ console.log(err);
|
|
|
+ }
|
|
|
+ BaseUtil.closePool();
|
|
|
+};
|
|
|
+
|
|
|
+const tenderId = process.argv[3];
|
|
|
+if (tenderId) {
|
|
|
+ doCompleteTest(tenderId);
|
|
|
+} else {
|
|
|
+ doComplete();
|
|
|
+}
|