Commit 7ad89fdf by lixinming

no message

parent 5fef50f9
[2025-03-28T15:51:35.910] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:51:37.087] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:51:38.199] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:09.409] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:10.544] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:11.696] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:12.802] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:13.911] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:15.019] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:54.257] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:55.357] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:56.481] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:57.594] [ERROR] errorLogger - errorInfo => undefined |
[2025-04-22T14:07:27.222] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:05.470] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:29.206] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:06.582] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:31.200] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:07.685] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:33.213] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:09.345] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:35.211] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:29.679] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:35.332] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:30.776] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:37.201] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:31.874] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T14:07:37.294] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:33.006] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T19:24:07.177] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:34.117] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T19:24:08.278] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined | [2025-04-22T21:02:35.223] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:54.208] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:55.332] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:29.681] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:30.797] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:31.897] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:33.025] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:34.134] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:35.253] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:02:03.257] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:02:04.362] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:29.682] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:30.780] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:31.888] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:33.012] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:34.265] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:36.289] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:49.778] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:50.879] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:51.989] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:53.105] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
...@@ -14,10 +14,10 @@ export async function getData(req, res) { ...@@ -14,10 +14,10 @@ export async function getData(req, res) {
let ret: any = {}; let ret: any = {};
let zfqymjqkfxPackageData = keyValuePackage(excelData['在孵企业面积情况分析'].dataList); let zfqymjqkfxPackageData = keyValuePackage(dbList.在孵企业面积情况分析.dataList);
ret['zfqymjqkfx'] = getKeyValueOut('在孵企业面积情况分析', zfqymjqkfxPackageData); ret['zfqymjqkfx'] = getKeyValueOut('在孵企业面积情况分析', zfqymjqkfxPackageData);
let zfqymjbhqsPackageData = onceYBarChartPackage(excelData['在孵企业面积变化趋势'], '', ''); let zfqymjbhqsPackageData = onceYBarChartPackage([dbList.在孵企业面积变化趋势], '', '');
ret['zfqymjbhqs'] = getOnceYBarChartOut('在孵企业面积变化趋势', zfqymjbhqsPackageData); ret['zfqymjbhqs'] = getOnceYBarChartOut('在孵企业面积变化趋势', zfqymjbhqsPackageData);
......
...@@ -351,36 +351,14 @@ export enum SELECTPARAM { ...@@ -351,36 +351,14 @@ export enum SELECTPARAM {
} }
/** /**
* 知识产权类型 * 知识产权类型
*/ */
export enum INTELLECTUALPROPERTYRIGHT { export enum IPRALLTYPE {
// 软件著作 = 1,
软件著作权 = 1, 软件著作权 = 1,
发明专利, 专利 = 100,
海外专利, 发明专利 = 101,
专利, 海外专利 = 102,
其他 其他 = 200,
// 植物新品种, 植物新品种 = 201,
// 集成电路布图, 集成电路布图 =202
} }
/**
* 知识产权类型 前端用
*/
export enum IPRTYPECLIENT {
// 软件著作 = 1,
软件著作权 = 1,
发明专利,
海外专利,
植物新品种,
集成电路布图,
}
/**
* 知识产权类型专利 前端用
*/
export enum IPRTYPECLIENTZL {
发明专利 = 2,
海外专利,
}
\ No newline at end of file
...@@ -12,6 +12,16 @@ import { get } from "http"; ...@@ -12,6 +12,16 @@ import { get } from "http";
import { changeEnumValue } from "../../tools/eccEnum"; import { changeEnumValue } from "../../tools/eccEnum";
function getStartAndEndTimeYearList(startTime, endTime) {
let startYear = new Date(startTime).getFullYear();
let endYear = new Date(endTime).getFullYear();
let result = [];
for (let i = startYear; i <= endYear; i++) {
result.push(i);
}
return result;
}
export async function getJxgljsc() { export async function getJxgljsc() {
let jxgljsc = { let jxgljsc = {
产业结构: { dataList: [], titleList: ['key', 'value'] },//产业结构 产业结构: { dataList: [], titleList: ['key', 'value'] },//产业结构
...@@ -29,9 +39,88 @@ export async function getJxgljsc() { ...@@ -29,9 +39,88 @@ export async function getJxgljsc() {
企业孵化数: { dataList: [], titleList: ['key', 'value'] },//企业孵化数 企业孵化数: { dataList: [], titleList: ['key', 'value'] },//企业孵化数
金融服务: { dataList: [], titleList: ['key', 'value'] },//新增后台填报 金融服务: { dataList: [], titleList: ['key', 'value'] },//新增后台填报
预警: { dataList: [], titleList: ['key', 'value'] },//预警 预警: { dataList: [], titleList: ['key', 'value'] },//预警
企业预警: { bodyList: [], headerList: [['企业名称', '风险等级']] } 企业预警: { bodyList: [], headerList: [['企业名称', '风险等级']] },
在孵企业面积情况分析:{ dataList: []}, //在孵企业面积情况分析
在孵企业面积变化趋势:{name:"在孵企业面积", data:[]}
}; };
//在孵企业面积情况分析
//获取所有企业孵化信息
let manyTableInfo: any = {}
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {state:1}, ["industry", "eId"], manyTableInfo);
let areaCount = 0;
let 面积变化Map = {};//孵化面积变化
let thisYear = new Date().getFullYear();
let industryMap = {};
let 在孵企业变化趋势map = {};
fhdbList.forEach(info => {
let { industry, enterprise_fuhuas, enterprise_leases } = info;
let startTime = enterprise_fuhuas[0].startTime;
if (!startTime) return;
let area = enterprise_leases[0].area || 0;
if (area) {
areaCount += parseFloat(area);//租赁面积累加
if (enterprise_leases[0].startTime && enterprise_leases[0].endTime) {
let leasesYearList = getStartAndEndTimeYearList(enterprise_leases[0].startTime, enterprise_leases[0].endTime);
leasesYearList.forEach(itemYear => {
if (itemYear > thisYear) return;
if (!面积变化Map[itemYear]) 面积变化Map[itemYear] = { key: itemYear, value: 0 };
面积变化Map[itemYear].value += parseFloat(area);
if (!在孵企业变化趋势map[itemYear]) 在孵企业变化趋势map[itemYear] = 0;
在孵企业变化趋势map[itemYear] += 1;
});
}
}
//行业领域分布
if (industry) {
let industryStr = changeEnumValue(INDUSTRY, JSON.parse(industry)[0]);
if (!industryMap[industryStr]) industryMap[industryStr] = 0;
industryMap[industryStr] += 1;
}
});
let 在孵企业变化趋势 = [];
for (let key in 在孵企业变化趋势map) {
在孵企业变化趋势.push({ key, value: 在孵企业变化趋势map[key] });
}
在孵企业变化趋势.sort((a, b) => { return parseInt(a.key) - parseInt(b.key) });
jxgljsc.在孵企业变化趋势 = getChart({"在孵企业": 在孵企业变化趋势});//在孵企业变化趋势
//行业领域----按照企业选择的类型呈现
for (let key in INDUSTRY) {
let anyKey: any = key;
if (isNaN(anyKey)) {
let keyStr = key;
jxgljsc.产业结构.dataList.push({ key: keyStr, value: industryMap[keyStr] });
}
}
jxgljsc.在孵企业面积变化趋势.data = Object.values(面积变化Map);
let 孵化器信息数据 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.羽翼孵化器, {}, null);
/**
* 计算在孵企业面积占比:在孵企业总面积/孵化器或者园区总面积 x 100%
*/
let zaifuAreaRatio = "0";
if (!isNaN(孵化器信息数据.totalArea) && parseFloat(孵化器信息数据.totalArea) && areaCount) {
let zaifuAreaRatioNum = 100 * (areaCount / parseFloat(孵化器信息数据.totalArea));
zaifuAreaRatio = zaifuAreaRatioNum > 100 ? "100" : zaifuAreaRatioNum.toFixed(2);
}
jxgljsc.在孵企业面积情况分析.dataList.push({key:"在孵面积占比", value:zaifuAreaRatio});
// 获取当前时间 // 获取当前时间
let nowTime = moment().format('YYYY-MM-DD HH:mm:ss'); let nowTime = moment().format('YYYY-MM-DD HH:mm:ss');
let fhColumn = ["fId", "eId", "startTime", "endTime", "state", "virtualCause", "virtualCauseDes", "moveOutType", let fhColumn = ["fId", "eId", "startTime", "endTime", "state", "virtualCause", "virtualCauseDes", "moveOutType",
...@@ -39,7 +128,8 @@ export async function getJxgljsc() { ...@@ -39,7 +128,8 @@ export async function getJxgljsc() {
//获取在孵企业 //获取在孵企业
// let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "endTime": { "%gt%": nowTime } }, fhColumn); // let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "endTime": { "%gt%": nowTime } }, fhColumn);
let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { state: { "%ne%": FUHUASTATE.迁出 } }, fhColumn); let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { state: { "%ne%": FUHUASTATE.迁出 } }, fhColumn);
//获取在孵企业租赁信息 //获取在孵企业租赁信息
let 租赁Column = ["eId", "year", "alienPatent", "classIPatent", "secondClassPatent", "thirdPentent"]; let 租赁Column = ["eId", "year", "alienPatent", "classIPatent", "secondClassPatent", "thirdPentent"];
let 在孵租赁联查includeConf = {}; let 在孵租赁联查includeConf = {};
...@@ -50,7 +140,7 @@ export async function getJxgljsc() { ...@@ -50,7 +140,7 @@ export async function getJxgljsc() {
//获取羽翼孵化器 //获取羽翼孵化器
let 羽翼孵化器dbList = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.羽翼孵化器, {}, []); let 羽翼孵化器dbList = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.羽翼孵化器, {}, []);
jxgljsc.产业结构.dataList = await cyjg();//产业结构 // jxgljsc.产业结构.dataList = await cyjg();//产业结构
jxgljsc.人才引进.dataList = await rcyj();//人才引进 jxgljsc.人才引进.dataList = await rcyj();//人才引进
...@@ -62,8 +152,6 @@ export async function getJxgljsc() { ...@@ -62,8 +152,6 @@ export async function getJxgljsc() {
//科技型中小企业认定情况详细列表 //科技型中小企业认定情况详细列表
jxgljsc.科技型中小企业认定情况详细.bodyList = kjxzxqyrdqkxx; jxgljsc.科技型中小企业认定情况详细.bodyList = kjxzxqyrdqkxx;
let fhqhzsjInfo = await fhqhzsj(羽翼孵化器dbList, 在孵dbList); let fhqhzsjInfo = await fhqhzsj(羽翼孵化器dbList, 在孵dbList);
jxgljsc.孵化器汇总数据.dataList = getKeyValue(fhqhzsjInfo);//孵化器汇总数据 jxgljsc.孵化器汇总数据.dataList = getKeyValue(fhqhzsjInfo);//孵化器汇总数据
...@@ -78,7 +166,8 @@ export async function getJxgljsc() { ...@@ -78,7 +166,8 @@ export async function getJxgljsc() {
let qydtInfo = await qydt(在孵dbList); let qydtInfo = await qydt(在孵dbList);
jxgljsc.企业动态.dataList = getKeyValue(qydtInfo);//企业动态 jxgljsc.企业动态.dataList = getKeyValue(qydtInfo);//企业动态
jxgljsc.在孵企业变化趋势 = await zfqybhqs(在孵dbList);//在孵企业变化趋势
/** /**
* 金融服务 * 金融服务
...@@ -239,14 +328,24 @@ async function getyj() { ...@@ -239,14 +328,24 @@ async function getyj() {
let manyTableInfo: any = {} let manyTableInfo: any = {}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } }; // manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } };
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "moveOutTime"], where: {} }; manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "moveOutTime"], where: {} };
// manyTableInfo[TABLENAME.企业经营信息] = { column: ["annual"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, fhColumn, manyTableInfo); let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, fhColumn, manyTableInfo);
let manageList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { }, ["annual", "eId"]);
let map = {};
manageList.forEach(info => {
map[info.eId] = 1;
});
fhdbList.forEach(info => { fhdbList.forEach(info => {
let riskLevel: string; let riskLevel = "";
if (info.enterprise_fuhuas[0].moveOutTime) { if (info.enterprise_fuhuas[0].moveOutType == MOVEOUTTYPE.非毕业迁出) {
yj.高风险++; yj.高风险 += 1;
riskLevel = "高风险"; riskLevel = "高风险";
} else if (info.shijiaoziben == "-" || info.shijiaoziben == null) { } else if (!map[info.eId]) {
yj.中低风险++; yj.中低风险 += 1;
riskLevel = "中低风险"; riskLevel = "中低风险";
} }
...@@ -289,26 +388,22 @@ async function qydt(data) { ...@@ -289,26 +388,22 @@ async function qydt(data) {
let monthAgo2 = moment().subtract(1, 'month').format('YYYY-MM-01 00:00:00'); let monthAgo2 = moment().subtract(1, 'month').format('YYYY-MM-01 00:00:00');
let monthAgo2End = moment().subtract(1, 'month').endOf('month').format('YYYY-MM-DD 00:00:00'); let monthAgo2End = moment().subtract(1, 'month').endOf('month').format('YYYY-MM-DD 00:00:00');
//环比去年 //环比去年
let thisYear = moment().format('YYYY-01-01 00:00:00'); let lastYearThieMonthAgo = moment().startOf("M").subtract(1, 'year').format('YYYY-MM-DD 00:00:00');
let yearAgo = moment().subtract(1, 'year').format('YYYY-01-01 00:00:00'); let lastYearThieMonthAgoEnd = moment().endOf("M").subtract(1, 'year').format('YYYY-MM-DD 00:00:00');
let yearAgoEnd = moment().subtract(1, 'year').format('YYYY-12-31 00:00:00');
let 上月 = 0; let 上月 = 0;
let 今年 = 0; let 去年本月 = 0;
let 去年 = 0;
data.forEach(info => { data.forEach(info => {
if (moment(info.startTime) > moment(monthAgo) && moment(info.startTime) < moment(nowTime)) { let {startTime} = info;
if (moment(startTime) > moment(monthAgo) && moment(startTime) < moment(nowTime)) {
qydt.本月新加入在孵企业 += 1; qydt.本月新加入在孵企业 += 1;
} }
if (moment(info.startTime) > moment(monthAgo2) && moment(info.startTime) < moment(monthAgo2End)) { if (moment(startTime) > moment(monthAgo2) && moment(startTime) < moment(monthAgo2End)) {
上月 += 1; 上月 += 1;
} }
if (moment(info.startTime) > moment(thisYear) && moment(info.startTime) < moment(nowTime)) { if (moment(startTime) > moment(lastYearThieMonthAgo) && moment(startTime) < moment(lastYearThieMonthAgoEnd)) {
今年 += 1; 去年本月 += 1;
}
if (moment(info.startTime) > moment(yearAgo) && moment(info.startTime) < moment(yearAgoEnd)) {
去年 += 1;
} }
}) })
...@@ -316,20 +411,17 @@ async function qydt(data) { ...@@ -316,20 +411,17 @@ async function qydt(data) {
// qydt.同比上月 = 同比.toFixed(2) + "%" || "0%"; // qydt.同比上月 = 同比.toFixed(2) + "%" || "0%";
// let 环比 = ((今年 - 去年) / 去年) * 100; // let 环比 = ((今年 - 去年) / 去年) * 100;
// qydt.环比去年 = 环比.toFixed(2) + "%"; // qydt.环比去年 = 环比.toFixed(2) + "%";
if (上月 !== 0) { qydt.同比上月 = "0%";
if (上月) {
let 同比 = ((qydt.本月新加入在孵企业 - 上月) / 上月) * 100; let 同比 = ((qydt.本月新加入在孵企业 - 上月) / 上月) * 100;
qydt.同比上月 = 同比.toFixed(2) + "%"; qydt.同比上月 = 同比.toFixed(2) + "%";
} else {
qydt.同比上月 = "0%";
} }
if (去年 !== 0) { qydt.环比去年 = "0%";
let 环比 = ((今年 - 去年) / 去年) * 100; if (去年本月 && qydt.本月新加入在孵企业) {
let 环比 = ((qydt.本月新加入在孵企业 - 去年本月) / 去年本月) * 100;
qydt.环比去年 = 环比.toFixed(2) + "%"; qydt.环比去年 = 环比.toFixed(2) + "%";
} else {
qydt.环比去年 = "0%";
} }
// result.push(qydt); // 将 qydt 对象添加到 result 数组中 // result.push(qydt); // 将 qydt 对象添加到 result 数组中
return qydt; return qydt;
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { FUHUASTATE, INDUSTRY, OPERATIONALDATATYPE, STATE, TABLENAME, IPRTYPECLIENT, EMIGRATIONTYPE } from "../../config/enum"; import { FUHUASTATE, INDUSTRY, OPERATIONALDATATYPE, STATE, TABLENAME, IPRALLTYPE, EMIGRATIONTYPE } from "../../config/enum";
import { selectData, selectManyTableData } from "./operationalData"; import { selectData, selectManyTableData } from "./operationalData";
import { getChart, getKeyValue, getMonthList, getYearList } from "./out"; import { getChart, getKeyValue, getMonthList, getYearList } from "./out";
import { getMySqlMs } from "../../tools/systemTools"; import { getMySqlMs } from "../../tools/systemTools";
...@@ -123,7 +123,7 @@ export async function getEnterprise() { ...@@ -123,7 +123,7 @@ export async function getEnterprise() {
//变化趋势分析 //todo 需要日志表 //变化趋势分析 //todo 需要日志表
// getBhqsfx(fhdbList); // getBhqsfx(fhdbList);
let 在孵企业变化趋势 = getZfqy(在孵dbList, 毕业dbList); let 在孵企业变化趋势 = getZfqy(在孵企业变化趋势map, 毕业dbList);
qyfw.变化趋势分析 = getChart(在孵企业变化趋势); qyfw.变化趋势分析 = getChart(在孵企业变化趋势);
//入孵时长分布 //入孵时长分布
...@@ -135,10 +135,7 @@ export async function getEnterprise() { ...@@ -135,10 +135,7 @@ export async function getEnterprise() {
if (isNaN(anyKey)) { if (isNaN(anyKey)) {
let keyStr = key; let keyStr = key;
// 只有当count大于0时才添加到dataList中 qyfw.孵化企业行业领域占比.dataList.push({ key: keyStr, value: industryMap[keyStr] });
if (industryMap[keyStr] ) {
qyfw.孵化企业行业领域占比.dataList.push({ key: keyStr, value: industryMap[keyStr] });
}
} }
} }
...@@ -167,8 +164,8 @@ export async function getEnterprise() { ...@@ -167,8 +164,8 @@ export async function getEnterprise() {
} }
hbqs.sort((a, b) => { return parseInt(a.key) - parseInt(b.key) }); hbqs.sort((a, b) => { return parseInt(a.key) - parseInt(b.key) });
qyfw.企业变化情况变化趋势 = getChart({"企业数": hbqs}); qyfw.企业变化情况变化趋势 = getChart({"企业数": hbqs});
let 企业融资dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, null);
let 企业融资dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, null);
//金融服务 //金融服务
let jrfw = await getJrfw(在孵dbList, 企业融资dbList); let jrfw = await getJrfw(在孵dbList, 企业融资dbList);
qyfw.金融服务.dataList = getKeyValue(jrfw); qyfw.金融服务.dataList = getKeyValue(jrfw);
...@@ -329,58 +326,23 @@ function getBhqsfx(data) { ...@@ -329,58 +326,23 @@ function getBhqsfx(data) {
}) })
} }
function getZfqy(在孵dbList, 毕业dbList) { function getZfqy(在孵企业变化趋势map, 毕业dbList) {
let year = getYearList(); let year = getYearList();
let bhqsfx = { let bhqsfx = {
"在孵": [], "在孵": [],
"毕业": [] "毕业": []
}; };
// 初始化每年的在孵和毕业企业数量为0 let moveOutMap = {}
for (let i = 0; i < year.length; i++) { 毕业dbList.forEach(info => {
bhqsfx.在孵.push({ key: year[i], value: 0 }); let moveOutTimeYear = moment(info.moveOutTime).year(); // 获取入孵开始时间
bhqsfx.毕业.push({ key: year[i], value: 0 }); if (!moveOutMap[moveOutTimeYear]) moveOutMap[moveOutTimeYear] = 0;
} moveOutMap[moveOutTimeYear] += 1;
在孵dbList.forEach(info => {
let startTimeYear = moment(info.startTime).year(); // 获取入孵开始时间
let endTimeYear = moment(info.endTime).year(); // 获取入孵结束时间
let moveOutType = info.moveOutType;
// 统计在孵企业
for (let i = 0; i < year.length; i++) {
if (parseInt(year[i]) === startTimeYear) {
bhqsfx.在孵[i].value += 1;
break;
}
}
// // 统计毕业企业
// if (moveOutType === EMIGRATIONTYPE.毕业迁出) {
// for (let i = 0; i < year.length; i++) {
// if (parseInt(year[i]) === startTimeYear) {
// bhqsfx.毕业[i].value += 1;
// break;
// }
// }
// }
}); });
毕业dbList.forEach(info => { year.forEach(year => {
let startTimeYear = moment(info.startTime).year(); // 获取入孵开始时间 bhqsfx.在孵.push({key:year, value:在孵企业变化趋势map[year] || 0});
let endTimeYear = moment(info.endTime).year(); // 获取入孵结束时间 bhqsfx.毕业.push({key:year, value:moveOutMap[year] || 0});
let moveOutType = info.moveOutType;
// 统计毕业企业
if (moveOutType === EMIGRATIONTYPE.毕业迁出) {
for (let i = 0; i < year.length; i++) {
if (parseInt(year[i]) === startTimeYear) {
bhqsfx.毕业[i].value += 1;
break;
}
}
}
}); });
return bhqsfx; return bhqsfx;
...@@ -690,17 +652,17 @@ function getZscq(data) { ...@@ -690,17 +652,17 @@ function getZscq(data) {
data.forEach(info => { data.forEach(info => {
switch (info.iprType) { switch (info.iprType) {
case IPRTYPECLIENT.软件著作权: case IPRALLTYPE.软件著作权:
zscqbt.软件著作权 += info.number; zscqbt.软件著作权 += info.number;
break; break;
case IPRTYPECLIENT.发明专利: case IPRALLTYPE.发明专利:
zscqbt.发明专利 += info.number; zscqbt.发明专利 += info.number;
break; break;
case IPRTYPECLIENT.海外专利: case IPRALLTYPE.海外专利:
zscqbt.海外专利 += info.number; zscqbt.海外专利 += info.number;
break; break;
case IPRTYPECLIENT.植物新品种: case IPRALLTYPE.植物新品种:
case IPRTYPECLIENT.集成电路布图: case IPRALLTYPE.集成电路布图:
zscqbt.其他 += info.number; zscqbt.其他 += info.number;
break; break;
} }
...@@ -737,7 +699,11 @@ function getZscqxq(data) { ...@@ -737,7 +699,11 @@ function getZscqxq(data) {
let dataList = []; let dataList = [];
data.forEach(info => { data.forEach(info => {
let { enterprise_iprs, enterpriseName } = info; let { enterprise_iprs, enterpriseName } = info;
let iprsCount = enterprise_iprs.length; let iprsCount = 0;
enterprise_iprs.forEach(item => {
let {number} = item;
iprsCount += parseInt(number);
});
dataList.push([enterpriseName, iprsCount]); dataList.push([enterpriseName, iprsCount]);
}); });
...@@ -750,16 +716,16 @@ function getZscqxq(data) { ...@@ -750,16 +716,16 @@ function getZscqxq(data) {
*/ */
function getQyzzfl(data) { function getQyzzfl(data) {
let qyzzfl = { let qyzzfl = {
专精特新: 0,
小巨人: 0, 小巨人: 0,
高新企业: 0, 高新企业: 0,
专精特新: 0,
小巨人培育: 0, 小巨人培育: 0,
} }
let qyzzflTable = { let qyzzflTable = {
专精特新: [],
小巨人: [], 小巨人: [],
高新企业: [], 高新企业: [],
专精特新: [],
小巨人培育: [], 小巨人培育: [],
}; };
......
import moment = require("moment"); import moment = require("moment");
import { AWARDLEVEL, DEGREE, FINANCINGROUNDS, IPRTYPECLIENT, NEEDCATEGORY, OPERATIONALDATATYPE, QUARTER, TABLENAME } from "../../config/enum"; import { AWARDLEVEL, DEGREE, FINANCINGROUNDS, IPRALLTYPE, NEEDCATEGORY, OPERATIONALDATATYPE, QUARTER, TABLENAME } from "../../config/enum";
import { selectData, selectManyTableData } from "./operationalData"; import { selectData, selectManyTableData } from "./operationalData";
import { getChart, getKeyValue, getYearList } from "./out"; import { getChart, getKeyValue, getYearList } from "./out";
import { changeEnumValue } from "../../tools/eccEnum"; import { changeEnumValue } from "../../tools/eccEnum";
...@@ -536,7 +536,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信 ...@@ -536,7 +536,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
企业专利信息.forEach(info => { 企业专利信息.forEach(info => {
let { enterprise_iprs } = info; let { enterprise_iprs } = info;
enterprise_iprs.forEach(patent => { enterprise_iprs.forEach(patent => {
if (patent.iprType === IPRTYPECLIENT.软件著作权) { if (patent.iprType === IPRALLTYPE.软件著作权) {
ruanzhuCompleted = true; ruanzhuCompleted = true;
} }
}); });
...@@ -772,7 +772,7 @@ function get知识产权(data) { ...@@ -772,7 +772,7 @@ function get知识产权(data) {
let { enterprise_iprs } = info; let { enterprise_iprs } = info;
enterprise_iprs.forEach(patents => { enterprise_iprs.forEach(patents => {
if (patents.iprType) { if (patents.iprType) {
let iprTypeStr = changeEnumValue(IPRTYPECLIENT, patents.iprType); let iprTypeStr = changeEnumValue(IPRALLTYPE, patents.iprType);
if (!zscq[iprTypeStr]) zscq[iprTypeStr] = 0; if (!zscq[iprTypeStr]) zscq[iprTypeStr] = 0;
zscq[iprTypeStr] += patents.number; zscq[iprTypeStr] += patents.number;
} }
......
...@@ -81,9 +81,8 @@ async function calculateRevenue(start: string, end: string) { ...@@ -81,9 +81,8 @@ async function calculateRevenue(start: string, end: string) {
} }
export async function getZhyy() { export async function getZhyy() {
let fhColumn = ["industry", "eId"];
//获取所有企业孵化信息 //获取所有企业孵化信息
let fhColumn = ["industry", "eId"];
let manyTableInfo: any = {} let manyTableInfo: any = {}
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} }; manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} }; manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} };
...@@ -150,17 +149,12 @@ export async function getZhyy() { ...@@ -150,17 +149,12 @@ export async function getZhyy() {
let wytzCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业孵化信息, { state: FUHUASTATE.迁出, moveOutType: EMIGRATIONTYPE.违约退租 }, null); let wytzCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业孵化信息, { state: FUHUASTATE.迁出, moveOutType: EMIGRATIONTYPE.违约退租 }, null);
let dqtzCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业孵化信息, { state: FUHUASTATE.迁出, moveOutType: EMIGRATIONTYPE.到期退租 }, null); let dqtzCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业孵化信息, { state: FUHUASTATE.迁出, moveOutType: EMIGRATIONTYPE.到期退租 }, null);
let 入驻企业变化趋势 = []; let 入驻企业变化趋势 = [];
for (let key in ruZhuMap) { for (let i = 6; i >= 0; i-- ) {
入驻企业变化趋势.push({ key, value: ruZhuMap[key] }); let key = moment().subtract(i, 'M').format('YY/MM');
入驻企业变化趋势.push({ key, value: ruZhuMap[key] || 0 });
} }
// 入驻企业变化趋势.sort((a, b) => { return parseInt(a.key) - parseInt(b.key) });
入驻企业变化趋势.sort((a, b) => {
const dateA = moment(a.key, "YY/MM");
const dateB = moment(b.key, "YY/MM");
return dateA.diff(dateB);
});
let 在孵企业变化趋势 = []; let 在孵企业变化趋势 = [];
...@@ -232,7 +226,7 @@ export async function getZhyy() { ...@@ -232,7 +226,7 @@ export async function getZhyy() {
} }
/** /**
* 企业服务todo * 企业服务
*/ */
let fuWuCount = 0;//服务数 let fuWuCount = 0;//服务数
let fuWuQiYeCountMap = {};//服务覆盖企业 let fuWuQiYeCountMap = {};//服务覆盖企业
...@@ -521,10 +515,7 @@ export async function getZhyy() { ...@@ -521,10 +515,7 @@ export async function getZhyy() {
if (isNaN(anyKey)) { if (isNaN(anyKey)) {
let keyStr = key; let keyStr = key;
// 只有当count大于0时才添加到dataList中 zhyy.入驻企业行业类型.dataList.push({ key: keyStr, value: industryMap[keyStr] });
if (industryMap[keyStr] ) {
zhyy.入驻企业行业类型.dataList.push({ key: keyStr, value: industryMap[keyStr] });
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment