12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // 计算变更令,计价不计价金额数
- 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, decimal) {
- 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) {
- cb.tp = ZhCalc.mul(cb.spamount, cb.unit_price, change.tp_decimal || decimal.tp);
- if (cb.is_valuation) {
- valuation_tp = ZhCalc.add(valuation_tp, cb.tp);
- } else {
- unvaluation_tp = ZhCalc.add(unvaluation_tp, cb.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 info = await querySql('Select * From zh_tender_info where tid = ?', [t.id]);
- const decimal = info.length > 0 && info[0].decimal ? JSON.parse(info[0].decimal) : defaultInfo.defaultInfo.decimal;
- const changes = await querySql('Select * From zh_change where tid = ?', [t.id]);
- for (const c of changes) {
- await checkChange(c, decimal);
- }
- }
- } 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 info = await querySql('Select * From zh_tender_info where tid = ?', [t.id]);
- const decimal = info.length > 0 && info[0].decimal ? JSON.parse(info[0].decimal) : defaultInfo.defaultInfo.decimal;
- const changes = await querySql('Select * From zh_change where tid = ?', [t.id]);
- for (const c of changes) {
- await checkChange(c, decimal);
- }
- }
- } catch (err) {
- console.log(err);
- }
- BaseUtil.closePool();
- };
- const tenderId = process.argv[3];
- if (tenderId) {
- doCompleteTest(tenderId);
- } else {
- doComplete();
- }
|