|
@@ -264,8 +264,7 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
let dateType = payload.dateType || '2';
|
|
|
let {startTime, endTime} = this.getTime(payload, dateType);
|
|
|
let timeArray = this.getTimeArray(startTime, endTime, dateType);
|
|
|
-
|
|
|
- const agg = [
|
|
|
+ const fAgg = [
|
|
|
{
|
|
|
$project: {
|
|
|
orcredit: 1,
|
|
@@ -335,8 +334,79 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
},
|
|
|
|
|
|
];
|
|
|
+ const iAgg = [
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ orcredit: '$creditStatus',
|
|
|
+ money: {
|
|
|
+ $toDouble: '$credit_money'
|
|
|
+ },
|
|
|
+ time: {
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ $year: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ month: {
|
|
|
+ $month: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ day: {
|
|
|
+ $dayOfMonth: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match: this.getTimeMatch("2", {startTime, endTime}, payload),
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: this.getTimeGroup("2", dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $sort: this.getTimeSort(dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ _id: 0,
|
|
|
+ value: 1,
|
|
|
+ label: this.getTimeLabel(dateType)
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
|
|
|
- let tempData = await this.fModel.aggregate(agg);
|
|
|
+ ];
|
|
|
+ let fData = await this.fModel.aggregate(fAgg);
|
|
|
+ let iData = await this.intelligentFollowModel.aggregate(iAgg);
|
|
|
+ let tempData = [...fData, ...iData];
|
|
|
let data = this.formatTimeData(timeArray, tempData);
|
|
|
return data;
|
|
|
}
|
|
@@ -619,7 +689,7 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
let {startTime, endTime} = this.getTime(payload, dateType);
|
|
|
let timeArray = this.getTimeArray(startTime, endTime, dateType);
|
|
|
|
|
|
- const agg = [
|
|
|
+ const fAgg = [
|
|
|
{
|
|
|
$project: {
|
|
|
orcredit: 1,
|
|
@@ -687,8 +757,77 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
},
|
|
|
|
|
|
];
|
|
|
+ const iAgg = [
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ orcredit: '$creditStatus',
|
|
|
+ time: {
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ $year: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
|
|
|
- let tempData = await this.fModel.aggregate(agg);
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ month: {
|
|
|
+ $month: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ day: {
|
|
|
+ $dayOfMonth: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match:this.getTimeMatch("4", {startTime, endTime}, payload),
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: this.getTimeGroup("4", dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $sort: this.getTimeSort(dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ _id: 0,
|
|
|
+ value: 1,
|
|
|
+ label: this.getTimeLabel(dateType)
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ ];
|
|
|
+
|
|
|
+ let fData = await this.fModel.aggregate(fAgg);
|
|
|
+ let iData = await this.intelligentFollowModel.aggregate(iAgg);
|
|
|
+ let tempData = [...fData, ...iData];
|
|
|
let data = this.formatTimeData(timeArray, tempData);
|
|
|
return data;
|
|
|
}
|
|
@@ -855,10 +994,91 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ ];
|
|
|
+ const iAgg = [
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ orcredit: '$creditStatus',
|
|
|
+ objId: {
|
|
|
+ $toObjectId: "$intelligentId"
|
|
|
+ },
|
|
|
+ time: {
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match:this.getMatch("3", payload),
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $lookup: {
|
|
|
+ from: 'intelligent_docking',
|
|
|
+ localField: 'objId',
|
|
|
+ foreignField: '_id',
|
|
|
+ as: 'intelligent_dockings',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $unwind: {
|
|
|
+ path: '$intelligent_dockings',
|
|
|
+ preserveNullAndEmptyArrays: false,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $lookup: {
|
|
|
+ from: 'company_identify',
|
|
|
+ localField: 'intelligent_dockings.uid',
|
|
|
+ foreignField: 'uid',
|
|
|
+ as: 'company_identifys',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $unwind: {
|
|
|
+ path: '$company_identifys',
|
|
|
+ preserveNullAndEmptyArrays: false,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: {
|
|
|
+ _id: '$company_identifys.profession_one',
|
|
|
+ value: {
|
|
|
+ $sum: 1,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $sort: {
|
|
|
+ 'value': - 1,
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ _id: 0,
|
|
|
+ code: '$_id',
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
];
|
|
|
let cData = await this.fModel.aggregate(cAgg);
|
|
|
let sData = await this.fModel.aggregate(sAgg);
|
|
|
- let tempData = [...cData, ...sData];
|
|
|
+ let iData = await this.intelligentFollowModel.aggregate(iAgg);
|
|
|
+ let tempData = [...cData, ...sData, ...iData];
|
|
|
|
|
|
let professionArray = await this.pModel.find({pcode: '0'});
|
|
|
//let professionTotal = await this.pModel.find({pcode:'0'}).countDocuments();
|
|
@@ -1033,10 +1253,91 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ ];
|
|
|
+ const iAgg = [
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ orcredit: '$creditStatus',
|
|
|
+ objId: {
|
|
|
+ $toObjectId: "$intelligentId"
|
|
|
+ },
|
|
|
+ time: {
|
|
|
+ $toLong: '$credit_time'
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match:this.getMatch("4", payload),
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $lookup: {
|
|
|
+ from: 'intelligent_docking',
|
|
|
+ localField: 'objId',
|
|
|
+ foreignField: '_id',
|
|
|
+ as: 'intelligent_dockings',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $unwind: {
|
|
|
+ path: '$intelligent_dockings',
|
|
|
+ preserveNullAndEmptyArrays: false,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $lookup: {
|
|
|
+ from: 'company_identify',
|
|
|
+ localField: 'intelligent_dockings.uid',
|
|
|
+ foreignField: 'uid',
|
|
|
+ as: 'company_identifys',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $unwind: {
|
|
|
+ path: '$company_identifys',
|
|
|
+ preserveNullAndEmptyArrays: false,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: {
|
|
|
+ _id: '$company_identifys.belong_addr_city',
|
|
|
+ value: {
|
|
|
+ $sum: 1,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $sort: {
|
|
|
+ 'value': - 1,
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ _id: 0,
|
|
|
+ code: '$_id',
|
|
|
+ value: 1
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
];
|
|
|
let cData = await this.fModel.aggregate(cAgg);
|
|
|
let sData = await this.fModel.aggregate(sAgg);
|
|
|
- let tempData = [...cData, ...sData];
|
|
|
+ let iData = await this.intelligentFollowModel.aggregate(iAgg);
|
|
|
+ let tempData = [...cData, ...sData, ...iData];
|
|
|
|
|
|
let regionArray = await this.dModel.find({type:'dz',pcode: '220000'});
|
|
|
let regionTotal = await this.dModel.find({type:'dz',pcode: '220000'}).countDocuments();
|
|
@@ -1201,9 +1502,78 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
|
|
|
];
|
|
|
|
|
|
+ const iAgg = [
|
|
|
+
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ time: {
|
|
|
+ $toLong: '$meta.createdAt'
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ $year: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$meta.createdAt'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ month: {
|
|
|
+ $month: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$meta.createdAt'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ day: {
|
|
|
+ $dayOfMonth: {
|
|
|
+ $toDate: {
|
|
|
+ $add: [{
|
|
|
+ $toLong: '$meta.createdAt'
|
|
|
+ }, 28800000],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match: this.getTimeMatch("10", {startTime, endTime}, payload),
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: this.getTimeGroup("10", dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $sort: this.getTimeSort(dateType)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ _id: 0,
|
|
|
+ value: 1,
|
|
|
+ label: this.getTimeLabel(dateType)
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ ];
|
|
|
+
|
|
|
let cData = await this.cModel.aggregate(cAgg);
|
|
|
let sData = await this.sModel.aggregate(sAgg);
|
|
|
- let tempData = [...cData, ...sData];
|
|
|
+ let iData = await this.intelligentDockingModel.aggregate(iAgg);
|
|
|
+ let tempData = [...cData, ...sData, ...iData];
|
|
|
let data = this.formatTimeData(timeArray, tempData);
|
|
|
return data;
|
|
|
}
|
|
@@ -1470,9 +1840,11 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
let financialProduct = temp1 + temp2 + temp3;
|
|
|
let temp4 = await this.cModel.find({'status':'0'}).countDocuments();
|
|
|
let temp5 = await this.sModel.find({'status':'0'}).countDocuments();
|
|
|
- let demandCount = temp4 + temp5;
|
|
|
+ let tempAdd1 = await this.intelligentDockingModel.find().countDocuments();
|
|
|
+ let demandCount = temp4 + temp5 + tempAdd1;
|
|
|
let temp6 = 0;
|
|
|
let temp7 = 0;
|
|
|
+ let tempAdd2 = 0;
|
|
|
let data6 = await this.cModel.aggregate([
|
|
|
|
|
|
{
|
|
@@ -1561,9 +1933,36 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
if(data7.length > 0){
|
|
|
temp7 = data7[0].value;
|
|
|
}
|
|
|
- let demandMoney = temp6 + temp7;
|
|
|
- let helpCompany = await this.fModel.find({'orcredit':'1'}).countDocuments();
|
|
|
+ let dataAdd2 = await this.intelligentDockingModel.aggregate([
|
|
|
+
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ money: {
|
|
|
+ $toDouble: '$money'
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: {
|
|
|
+ _id: null,
|
|
|
+ value: {
|
|
|
+ $sum: '$money',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ ]);
|
|
|
+ if(dataAdd2.length > 0){
|
|
|
+ tempAdd2 = dataAdd2[0].value;
|
|
|
+ }
|
|
|
+ let demandMoney = temp6 + temp7 + tempAdd2;
|
|
|
+ let tempAdd3 = await this.fModel.find({'orcredit':'1'}).countDocuments();
|
|
|
+ let tempAdd4 = await this.intelligentFollowModel.find({'creditStatus':'1'}).countDocuments();
|
|
|
+ let helpCompany = tempAdd3 + tempAdd4;
|
|
|
let temp8 = 0;
|
|
|
+ let tempAdd5 = 0;
|
|
|
let data8 = await this.fModel.aggregate([
|
|
|
{
|
|
|
$project: {
|
|
@@ -1603,11 +2002,54 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ ]);
|
|
|
+ let dataAdd5 = await this.intelligentFollowModel.aggregate([
|
|
|
+ {
|
|
|
+ $project: {
|
|
|
+ orcredit: '$creditStatus',
|
|
|
+ money: {
|
|
|
+ $toDouble: '$credit_money'
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $match: {
|
|
|
+ $expr:
|
|
|
+ {
|
|
|
+ $and:
|
|
|
+ [
|
|
|
+ {
|
|
|
+ $eq: ['$orcredit', '1'],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $group: {
|
|
|
+ _id: null,
|
|
|
+ value: {
|
|
|
+ $sum: '$money',
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
]);
|
|
|
if(data8.length > 0){
|
|
|
temp8 = data8[0].value;
|
|
|
}
|
|
|
- let solutionFinancing = temp8;
|
|
|
+ if(dataAdd5.length > 0){
|
|
|
+ tempAdd5 = dataAdd5[0].value;
|
|
|
+ }
|
|
|
+ let solutionFinancing = temp8 + tempAdd5;
|
|
|
|
|
|
return {
|
|
|
registerCompany,
|
|
@@ -1905,6 +2347,28 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ };
|
|
|
+ case '10':
|
|
|
+ let matchJ = [];
|
|
|
+ return {
|
|
|
+ $expr:
|
|
|
+ {
|
|
|
+ $and:
|
|
|
+ [
|
|
|
+ {
|
|
|
+ $gte: ['$time', reserve.startTime],
|
|
|
+
|
|
|
+ },
|
|
|
+ {
|
|
|
+ $lt: ['$time', reserve.endTime],
|
|
|
+
|
|
|
+ },
|
|
|
+ ...matchJ,
|
|
|
+
|
|
|
+ ],
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
};
|
|
|
}
|
|
|
}
|
|
@@ -2017,6 +2481,18 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
},
|
|
|
|
|
|
}
|
|
|
+ case '10':
|
|
|
+ return {
|
|
|
+ _id: {
|
|
|
+ year: '$year',
|
|
|
+
|
|
|
+ },
|
|
|
+ value: {
|
|
|
+ $sum: 1,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ };
|
|
|
|
|
|
}
|
|
|
|
|
@@ -2139,6 +2615,19 @@ class TGovernmentStatisticsService extends CrudService {
|
|
|
},
|
|
|
|
|
|
}
|
|
|
+ case '10':
|
|
|
+ return {
|
|
|
+ _id: {
|
|
|
+ year: '$year',
|
|
|
+ month: '$month',
|
|
|
+
|
|
|
+ },
|
|
|
+ value: {
|
|
|
+ $sum: 1,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ };
|
|
|
|
|
|
}
|
|
|
|