|
@@ -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,
|