|  | @@ -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();
 | 
	
		
			
				|  |  | +}
 |