| 
					
				 | 
			
			
				@@ -13,6 +13,9 @@ const importLogsModel = mongoose.model('import_logs'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const priceInfoIndexModel = mongoose.model('std_price_info_index'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const priceInfoSummaryModel = mongoose.model('std_price_info_summary'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const { getWordArray, alias } = require('../../../public/cut_word/segmentit'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const SMS = require('../../users/models/sms'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const sms = new SMS(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 async function getLibs(query) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return await priceInfoLibModel.find(query).lean(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -594,6 +597,35 @@ async function exportExcelData(libID, areaID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return excelData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 按库导出信息价库完整数据,不需要带上地区 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function exportInfoPriceByLib(libID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const lib = await priceInfoLibModel.findOne({ ID: libID }).lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!lib) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        throw new Error('不存在该信息价库!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const { compilationID } = lib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceLibs = await priceInfoLibModel.find({ ID: libID }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceClasses = await priceInfoClassModel.find({ libID }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceItems = await priceInfoItemModel.find({ libID }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const exportData = { compilationID, priceLibs, priceClasses, priceItems }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const str = JSON.stringify(exportData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportData.md5 = sms.md5(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { jsonStr: JSON.stringify(exportData), period: lib.period, name: lib.name }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 按编办导出信息价库完整数据,需要带上地区 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function exportInfoPriceByCompilation(compilationID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const areas = await priceInfoAreaModel.find({ compilationID }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceLibs = await priceInfoLibModel.find({ compilationID }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const libIDs = priceLibs.map(lib => lib.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceClasses = await priceInfoClassModel.find({ libID: { $in: libIDs } }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const priceItems = await priceInfoItemModel.find({ libID: { $in: libIDs } }, '-_id').lean(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const exportData = { compilationID, areas, priceLibs, priceClasses, priceItems }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const str = JSON.stringify(exportData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportData.md5 = sms.md5(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { jsonStr: JSON.stringify(exportData), period: lib.period, name: lib.name }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getMatchSummaryKey = (item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const props = ['name', 'specs', 'unit']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return props.map(prop => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -745,6 +777,8 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     editPriceData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     editClassData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     exportExcelData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportInfoPriceByLib, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportInfoPriceByCompilation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     matchSummary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getPriceEmptyData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getRecommendPriceSummaryData, 
			 |