Commit f28ddecc by chenjinjing

no message

parent d0f5e79b
import { systemConfig } from '../config/serverConfig'; import { systemConfig } from '../config/serverConfig';
import { getEnterprise, getEnterpriseDetails, get入孵企业数量变化趋势 } from '../data/db/qyfw'; import { getEnterprise, getEnterpriseDetails, get入孵企业数量变化趋势 } from '../data/db/qyfw';
import { zhyyTableData } from '../data/table/zhyyData'; import { zhyyTableData } from '../data/table/zhyyData';
import { doubleYBarCharPackage, keyValuePackage, onceYBarChartPackage, rankPackage, tablePackage } from '../dataPackage/inFrontOut'; import { keyValuePackage, tablePackage } from '../dataPackage/inFrontOut';
import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getTableOut } from '../dataPackage/out'; import { getKeyValueOut, getTableOut } from '../dataPackage/out';
/* 企业服务 */ /* 企业服务 */
......
import { fxyjTableData, qyszhxTableData } from '../data/table/qyszhxData'; import { keyValuePackage, stringListPackage, tablePackage } from '../dataPackage/inFrontOut';
import { doubleYBarCharPackage, keyValuePackage, onceYBarChartPackage, rankPackage, stringListPackage, tablePackage } from '../dataPackage/inFrontOut'; import { getKeyValueOut, getStringOut, getTableOut } from '../dataPackage/out';
import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getStringOut, getTableOut } from '../dataPackage/out';
import { systemConfig } from '../config/serverConfig';
import { getQyszhx } from '../data/db/qyszhx'; import { getQyszhx } from '../data/db/qyszhx';
import { selectData } from '../data/db/operationalData';
import { OPERATIONALDATATYPE, TABLENAME } from '../config/enum';
/* 企业数字画像 */ /* 企业数字画像 */
...@@ -11,252 +11,118 @@ export async function getData(req, res) { ...@@ -11,252 +11,118 @@ export async function getData(req, res) {
let eId = req.body.eId; let eId = req.body.eId;
let dbData = await getQyszhx(eId); let dbData = await getQyszhx(eId);
let excelData = qyszhxTableData();
let fxyjExcelData = fxyjTableData();
let ret: any = {}; let ret: any = {};
let qyjbqkPackageData = keyValuePackage(dbData['企业基本情况'].dataList);
// let qyjbqk = [];
// qyjbqkPackageData.forEach( info => {
// let {key, value} = info;
// if (key == "企业图片") {
// info.value = `${systemConfig.imgPath}/${value}`;
// }
// qyjbqk.push(info);
// })
ret['qyjbqk'] = getKeyValueOut('企业基本情况', qyjbqkPackageData);
let qyjbsjPackageData = keyValuePackage(dbData['企业基本数据'].dataList, "false");
ret['qyjbsj'] = getKeyValueOut('企业基本数据', qyjbsjPackageData);
let qymcPackageData = keyValuePackage(dbData['企业名称'].dataList);
ret['qymc'] = getKeyValueOut('企业名称', qymcPackageData);
let qybqPackageData = stringListPackage(dbData['企业标签'].dataList);
ret['qybq'] = getStringOut('企业标签', qybqPackageData);
let yfzbPackageData = keyValuePackage(dbData['研发占比'].dataList);
ret['yfzb'] = getKeyValueOut('研发占比', yfzbPackageData);
let qyzhxPackageData = keyValuePackage(dbData['企业自画像'].dataList); let qyzhxPackageData = keyValuePackage(dbData['企业自画像'].dataList);
ret['qyzhx'] = getKeyValueOut('企业自画像', qyzhxPackageData); ret['qyzhx'] = getKeyValueOut('企业自画像', qyzhxPackageData);
let zfbtPackageData = keyValuePackage(dbData['租房补贴'].dataList);
ret['zfbt'] = getKeyValueOut('租房补贴', zfbtPackageData);
let gxPackageData = keyValuePackage(dbData['高新'].dataList);
ret['gz'] = getKeyValueOut('高新', gxPackageData);
let kxPackageData = keyValuePackage(dbData['科小'].dataList); let kxPackageData = keyValuePackage(dbData['科小'].dataList);
ret['kx'] = getKeyValueOut('科小', kxPackageData); ret['kx'] = getKeyValueOut('科小', kxPackageData);
let xjrPackageData = keyValuePackage(dbData['小巨人'].dataList); let gxPackageData = keyValuePackage(dbData['高新'].dataList);
ret['xjr'] = getKeyValueOut('小巨人', xjrPackageData); ret['gz'] = getKeyValueOut('高新', gxPackageData);
let zzrzPackageData = keyValuePackage(dbData['资质认证'].dataList); let zfbtPackageData = keyValuePackage(dbData['租房补贴'].dataList);
ret['zzrz'] = getKeyValueOut('资质认证', zzrzPackageData); ret['zfbt'] = getKeyValueOut('租房补贴', zfbtPackageData);
let zzrzbhqsPackageData = onceYBarChartPackage(dbData['资质认证变化趋势'], '', '');//新增 let dkbtPackageData = keyValuePackage(dbData['贷款补贴'].dataList);
ret['zzrzbhqs'] = getOnceYBarChartOut('资质认证变化趋势', zzrzbhqsPackageData); ret['dkbt'] = getKeyValueOut('贷款补贴', dkbtPackageData);
let zscqPackageData = keyValuePackage(dbData['知识产权'].dataList); let qyjbqkPackageData = dbData['企业基本情况'].dataList;
ret['zscq'] = getKeyValueOut('知识产权', zscqPackageData); ret['qyjbqk'] = getKeyValueOut('企业基本情况', qyjbqkPackageData);
let qyyghxPackageData = keyValuePackage(dbData['企业员工画像'].dataList); let qybqPackageData = stringListPackage(dbData['企业标签'].dataList);
ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData); ret['qybq'] = getStringOut('企业标签', qybqPackageData);
let lnrczpqkPackageData = onceYBarChartPackage(dbData['历年人才招聘情况'], '', ''); let ssgjejhy = keyValuePackage(dbData['企业科创分'].count);
ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData); ret['ssgjejhy'] = getKeyValueOut('所属国际二级行业', ssgjejhy);
let qyhzsjPackageData = keyValuePackage(dbData['企业汇总数据'].dataList); let qykcfbt = keyValuePackage(dbData['企业科创分'].chartData);
ret['qyhzsj'] = getKeyValueOut('企业汇总数据', qyhzsjPackageData); ret['qykcfbt'] = getKeyValueOut('企业科创分饼图', qykcfbt);
// let xjrTableData = tablePackage(excelData["小巨人"].headerList[0], excelData["小巨人"].bodyList); let qykcf = keyValuePackage(dbData['企业科创分'].dataList);
// ret['xjr'] = getTableOut( '小巨人', xjrTableData); ret['qykcf'] = getKeyValueOut('企业科创分', qykcf);
// let gxqyTableData = tablePackage(excelData["高新企业"].headerList[0], excelData["高新企业"].bodyList); let gqjg = keyValuePackage(dbData['股权结构'].dataList);
// ret['gxqy'] = getTableOut( '高新企业', gxqyTableData); ret['gqjg'] = getKeyValueOut('股权结构', gqjg);
// let zjtxTableData = tablePackage(excelData["专精特新"].headerList[0], excelData["专精特新"].bodyList); let zzrz = keyValuePackage(dbData['资质认证'].count);
// ret['zjtx'] = getTableOut( '专精特新', zjtxTableData); ret['zzrz'] = getKeyValueOut('资质认证', zzrz);
let ysqkPackageData = keyValuePackage(dbData['营收情况'].dataList); let zzrzTableData = tablePackage(dbData["资质认证"].headerList[0], dbData["资质认证"].bodyList);
ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData); ret['zzrzTable'] = getTableOut('资质认证表格', zzrzTableData);
let ysbhqsPackageData = onceYBarChartPackage(dbData['营收变化趋势'], '', ''); let sxhc = keyValuePackage(dbData['失信核查'].count);
ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData); ret['sxhc'] = getKeyValueOut('失信核查', sxhc);
let qydtTableData = tablePackage(dbData["企业动态"].headerList[0], dbData["企业动态"].bodyList); let sxhcxx = keyValuePackage(dbData['失信核查'].dataList);
let qydt = { dataList: [], titleList: qydtTableData.titleList }; ret['sxhcxx'] = getKeyValueOut('风险提示', sxhcxx);
// qydtTableData.dataList.forEach(info => {
// let {A} = info;
// let imgUrl = JSON.parse(A);
// info["A"] = imgUrl[0];
// qydt.dataList.push(info);
// })
ret['qydt'] = getTableOut('企业动态', qydtTableData);
let fxyjInfo = {}; let sxxq = keyValuePackage(dbData['失信详情'].dataList);
fxyjExcelData['风险预警'].dataList.forEach(info => { ret['sxxq'] = getKeyValueOut('失信详情', sxxq);
let { key, value } = info;
fxyjInfo[key] = info;
})
let qymc = dbData['企业名称'].dataList[0].value;
ret['fxyj'] = { title: "风险预警", dataList: fxyjInfo[qymc]? [fxyjInfo[qymc]] : []};
let fwxqPackageData = keyValuePackage(dbData['服务需求'].dataList, "false"); let wfhc = keyValuePackage(dbData['违法核查'].count);
ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData); ret['wfhc'] = getKeyValueOut('违法核查', wfhc);
let hdbhqsfxPackageData = onceYBarChartPackage(dbData['活动变化趋势分析'], '', ''); let wfhcxx = keyValuePackage(dbData['违法核查'].dataList);
ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData); ret['wfhcxx'] = getKeyValueOut('违法核查详细', wfhcxx);
// let ryzzPackageData = keyValuePackage(excelData['荣誉资质'].dataList); let qyfwsqqk = keyValuePackage(dbData['企业服务申请情况'].dataList);
// let ryzz = []; ret['qyfwsqqk'] = getKeyValueOut('企业服务申请情况', qyfwsqqk);
// ryzzPackageData.forEach(info => {
// let { key, value } = info;
// info.value = `${systemConfig.imgPath}/${value}`;
// ryzz.push(info);
// })
// ret['ryzz'] = getKeyValueOut('荣誉资质', ryzz);
let ryzztp = dbData["荣誉资质图片"];
ret['ryzztp'] = { title: "荣誉资质图片", dataList: ryzztp };
let qyfwsqlx = keyValuePackage(dbData['企业服务申请类型'].dataList);
ret['qyfwsqlx'] = getKeyValueOut('企业服务申请类型', qyfwsqlx);
let fwjl_kjfwTableData = tablePackage(dbData["服务记录_空间服务"].headerList[0], dbData["服务记录_空间服务"].bodyList); let zlsl = keyValuePackage(dbData['知识产权'].count);
ret['fwjl_kjfw'] = getTableOut('服务记录_空间服务', fwjl_kjfwTableData); ret['zlsl'] = getKeyValueOut('专利数量', zlsl);
let fwjl_gsfwTableData = tablePackage(dbData["服务记录_工商服务"].headerList[0], dbData["服务记录_工商服务"].bodyList); let zscq = keyValuePackage(dbData['知识产权'].dataList);
ret['fwjl_gsfw'] = getTableOut('服务记录_工商服务', fwjl_gsfwTableData); ret['zscq'] = getKeyValueOut('知识产权', zscq);
let fwjl_rzfwTableData = tablePackage(dbData["服务记录_融资服务"].headerList[0], dbData["服务记录_融资服务"].bodyList); let rzqk = keyValuePackage(dbData['融资情况'].count);
ret['fwjl_rzfw'] = getTableOut('服务记录_融资服务', fwjl_rzfwTableData); ret['rzqk'] = getKeyValueOut('融资情况', rzqk);
let fwjlPackageData = keyValuePackage(dbData['服务记录'].dataList); let rzqsfx = keyValuePackage(dbData['融资情况'].dataList);
ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData); ret['rzqsfx'] = getKeyValueOut('融资趋势分析', rzqsfx);
let yqtzPackageData = keyValuePackage(excelData['园区通知'].dataList); let ysqk = keyValuePackage(dbData['营收情况'].dataList);
ret['yqtz'] = getKeyValueOut('园区通知', yqtzPackageData); ret['ysqk'] = getKeyValueOut('营收情况', ysqk);
let yqtzxqTableData = tablePackage(excelData["园区通知详情"].headerList[0], excelData["园区通知详情"].bodyList); ret['ysqsfx'] = {title:"营收趋势分析", dataList:dbData["营收趋势分析"]};
// let yqtzxq = {dataList:[], titleList:yqtzxqTableData.titleList};
// yqtzxqTableData.dataList.forEach(info => {
// let {A} = info;
// let imgUrl = `${systemConfig.imgPath}/${A}`;
// info["A"] = imgUrl;
// yqtzxq.dataList.push(info);
// })
ret['yqtzxq'] = getTableOut('园区通知详情', yqtzxqTableData);
let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList); let ysmx = tablePackage(dbData["营收明细"].headerList[0], dbData["营收明细"].bodyList);
ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData); ret['ysmx'] = getTableOut('营收明细', ysmx);
let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList); let nssr = tablePackage(dbData["纳税明细"].headerList[0], dbData["纳税明细"].bodyList);
ret['yqhdmx'] = getTableOut('园区活动明细', yqhdmxTableData); ret['nssr'] = getTableOut('纳税明细', nssr);
let yftrmx = tablePackage(dbData["研发投入明细"].headerList[0], dbData["研发投入明细"].bodyList);
ret['yftrmx'] = getTableOut('研发投入明细', yftrmx);
res.send(ret); res.send(ret);
} }
/**
export async function getData备份(req, res) { * 拼音首字母查询
let eId = req.body.eId; * @param req
* @param res
let excelData = qyszhxTableData(); */
export async function getPinyinName(req, res) {
let {pinyinName, page} = req.body;
let ret: any = {}; let ret: any = {};
let qyjbqkPackageData = keyValuePackage(excelData['企业基本情况'].dataList); let dbList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.企业基础信息表, { pinyinName:{"%like%":pinyinName} }, null, page);
let qyjbqk = [];
qyjbqkPackageData.forEach(info => {
let { key, value } = info;
if (key == "企业图片") {
info.value = `${systemConfig.imgPath}/${value}`;
}
qyjbqk.push(info);
})
ret['qyjbqk'] = getKeyValueOut('企业基本情况', qyjbqk);
let qyjbsjPackageData = keyValuePackage(excelData['企业基本数据'].dataList, "false");
ret['qyjbsj'] = getKeyValueOut('企业基本数据', qyjbsjPackageData);
let qybqPackageData = stringListPackage(excelData['企业标签'].dataList);
ret['qybq'] = getStringOut('企业标签', qybqPackageData);
let zscqPackageData = keyValuePackage(excelData['知识产权'].dataList);
ret['zscq'] = getKeyValueOut('知识产权', zscqPackageData);
let qyyghxPackageData = keyValuePackage(excelData['企业员工画像'].dataList);
ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData);
let lnrczpqkPackageData = onceYBarChartPackage(excelData['历年人才招聘情况'], '', '');
ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData);
let qyhzsjPackageData = keyValuePackage(excelData['企业汇总数据'].dataList);
ret['qyhzsj'] = getKeyValueOut('企业汇总数据', qyhzsjPackageData);
let xjrTableData = tablePackage(excelData["小巨人"].headerList[0], excelData["小巨人"].bodyList);
ret['xjr'] = getTableOut('小巨人', xjrTableData);
let gxqyTableData = tablePackage(excelData["高新企业"].headerList[0], excelData["高新企业"].bodyList);
ret['gxqy'] = getTableOut('高新企业', gxqyTableData);
let zjtxTableData = tablePackage(excelData["专精特新"].headerList[0], excelData["专精特新"].bodyList);
ret['zjtx'] = getTableOut('专精特新', zjtxTableData);
let ysqkPackageData = keyValuePackage(excelData['营收情况'].dataList);
ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData);
let ysbhqsPackageData = onceYBarChartPackage(excelData['营收变化趋势'], '', '');
ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData);
let qydtTableData = tablePackage(excelData["企业动态"].headerList[0], excelData["企业动态"].bodyList); let enterpriseNameList = [];
let qydt = { dataList: [], titleList: qydtTableData.titleList }; dbList.forEach( info => {
qydtTableData.dataList.forEach(info => { enterpriseNameList.push(info.enterpriseName);
let { A } = info;
let imgUrl = `${systemConfig.imgPath}/${A}`;
info["A"] = imgUrl;
qydt.dataList.push(info);
}) })
ret['qydt'] = getTableOut('企业动态', qydt);
let fwxqPackageData = keyValuePackage(excelData['服务需求'].dataList, "false");
ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData);
let hdbhqsfxPackageData = onceYBarChartPackage(excelData['活动变化趋势分析'], '', '');
ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData);
let fwjl_kjfwTableData = tablePackage(excelData["服务记录_空间服务"].headerList[0], excelData["服务记录_空间服务"].bodyList);
ret['fwjl_kjfw'] = getTableOut('服务记录_空间服务', fwjl_kjfwTableData);
let fwjl_gsfwTableData = tablePackage(excelData["服务记录_工商服务"].headerList[0], excelData["服务记录_工商服务"].bodyList);
ret['fwjl_gsfw'] = getTableOut('服务记录_工商服务', fwjl_gsfwTableData);
let fwjl_rzfwTableData = tablePackage(excelData["服务记录_融资服务"].headerList[0], excelData["服务记录_融资服务"].bodyList);
ret['fwjl_rzfw'] = getTableOut('服务记录_融资服务', fwjl_rzfwTableData);
let fwjlPackageData = keyValuePackage(excelData['服务记录'].dataList);
ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData);
let yqtzPackageData = keyValuePackage(excelData['园区通知'].dataList);
ret['yqtz'] = getKeyValueOut('园区通知', yqtzPackageData);
let yqtzxqTableData = tablePackage(excelData["园区通知详情"].headerList[0], excelData["园区通知详情"].bodyList);
let yqtzxq = { dataList: [], titleList: yqtzxqTableData.titleList };
yqtzxqTableData.dataList.forEach(info => {
let { A } = info;
let imgUrl = `${systemConfig.imgPath}/${A}`;
info["A"] = imgUrl;
yqtzxq.dataList.push(info);
})
ret['yqtzxq'] = getTableOut('园区通知详情', yqtzxq);
let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList);
ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData);
let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList);
ret['yqhdmx'] = getTableOut('园区活动明细', yqhdmxTableData);
ret['qymcList'] = enterpriseNameList;
ret['dataCount'] = dbList.length;
res.send(ret); res.send(ret);
} }
import { systemConfig } from '../config/serverConfig'; import { systemConfig } from '../config/serverConfig';
import { getZhyy } from '../data/db/zhyy'; import { getZhyy } from '../data/db/zhyy';
import { zhyyTableData } from '../data/table/zhyyData'; import { zhyyTableData } from '../data/table/zhyyData';
import { doubleYBarCharPackage, keyValuePackage, onceYBarChartPackage, rankPackage, tablePackage } from '../dataPackage/inFrontOut'; import { keyValuePackage, tablePackage } from '../dataPackage/inFrontOut';
import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getTableOut } from '../dataPackage/out'; import { getKeyValueOut, getTableOut } from '../dataPackage/out';
import { getChart } from '../data/db/out'; import { getChart } from '../data/db/out';
/* 智慧运营 */ /**智慧运营 */
export async function getData(req, res) { export async function getData(req, res) {
let excelData = zhyyTableData(); let excelData = zhyyTableData();
......
...@@ -40,6 +40,19 @@ export enum TABLENAME { ...@@ -40,6 +40,19 @@ export enum TABLENAME {
企业专利表 = 'enterprise_patent', 企业专利表 = 'enterprise_patent',
企业基础信息表 = 'enterprise', 企业基础信息表 = 'enterprise',
企业服务表 = 'enterprise_service', 企业服务表 = 'enterprise_service',
股权结构 = 'ownership',
行业信息分类 = "enterprise_industry",
主要人员 = "employees",
分支机构 = "branches",
行政许可核查 = "license",
空壳扫描 = "empty",
风险 = "enterprise_risk",
科创分 = "enterprise_stem",
资质证书 = "certification",
失信核查 = "dishonesty",
严重违法犯罪 = "break_the_law",
对外投资 = "overseas_investment",
} }
......
...@@ -72,3 +72,37 @@ export function getYearList() { ...@@ -72,3 +72,37 @@ export function getYearList() {
return years; return years;
} }
/**
* 获取最近的四个季度
* @param count
* @returns
*/
export function getRecentQuarters(count = 4) {
const currentDate = moment();
const currentQuarter = Math.floor(currentDate.month() / 3) + 1;
const result = [];
let year = currentDate.year();
let quarter = currentQuarter;
for (let i = 0; i < count; i++) {
result.push({
year: year,
quarter: quarter
});
// 计算上一个季度
quarter--;
if (quarter === 0) {
quarter = 4;
year--;
}
}
return result;
}
import moment = require("moment"); import moment = require("moment");
import { AWARDLEVEL, DEGREE, FINANCINGROUNDS, IPRALLTYPE, NEEDCATEGORY, OPERATIONALDATATYPE, QUARTER, TABLENAME } from "../../config/enum"; import { AWARDLEVEL, DEGREE, FINANCINGROUNDS, FOLLOWUPSTATUS, 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, getRecentQuarters, getYearList } from "./out";
import { changeEnumValue } from "../../tools/eccEnum"; import { changeEnumValue } from "../../tools/eccEnum";
import { getMySqlMs } from "../../tools/systemTools"; import { getMySqlMs } from "../../tools/systemTools";
import { connectLogger } from "log4js"; import { connectLogger } from "log4js";
...@@ -12,153 +12,169 @@ import { systemConfig } from "../../config/serverConfig"; ...@@ -12,153 +12,169 @@ import { systemConfig } from "../../config/serverConfig";
export async function getQyszhx(eId) { export async function getQyszhx(eId) {
let qyszhx = { let qyszhx = {
企业基本情况: { dataList: [], titleList: ['key', 'value'] }, 企业基本情况: { dataList: [], titleList: ['key', 'value'] },
企业基本数据: { dataList: [], titleList: ['key', 'value'] },
企业标签: { dataList: [], titleList: ['key', 'value'] }, 企业标签: { dataList: [], titleList: ['key', 'value'] },
研发占比: { dataList: [], titleList: ['key', 'value'] }, 企业科创分: { count: [], dataList: [], chartData:[]}, //count:所属国际二级行业,chartData:饼图
股权结构: { dataList: [], titleList: ['key', 'value'] },
资质认证: {count:[], bodyList: [], headerList: [['生效时间', '证书类型', '状态']]}, //count:资质认证总数
失信核查: {count:[], dataList:[]},//todo
失信详情: {count:[], dataList: []},//todo
违法核查: {count:[], dataList: []},//todo
企业服务申请情况: { dataList: [], titleList: ['key', 'value'] },
企业服务申请类型: { dataList: [], titleList: ['key', 'value'] },
知识产权: { count:[], dataList: [], titleList: ['key', 'value'] },
融资情况: {count:[], dataList:[]},
营收情况: { dataList: [], titleList: ['key', 'value'] },
营收趋势分析: {},
营收明细: {bodyList: [], headerList: [['名称', '时间', '金额']]},
纳税明细: {bodyList: [], headerList: [['名称', '时间', '金额']]},
研发投入明细: {bodyList: [], headerList: [['名称', '时间', '金额']]},
/**中间切换 */
企业自画像: { dataList: [], titleList: ['key', 'value'] }, 企业自画像: { dataList: [], titleList: ['key', 'value'] },
租房补贴: { dataList: [], titleList: ['key', 'value'] }, 租房补贴: { dataList: [], titleList: ['key', 'value'] },
高新: { dataList: [], titleList: ['key', 'value'] }, 高新: { dataList: [], titleList: ['key', 'value'] },
科小: { dataList: [], titleList: ['key', 'value'] }, 科小: { dataList: [], titleList: ['key', 'value'] },
小巨人: { dataList: [], titleList: ['key', 'value'] }, 小巨人: { dataList: [], titleList: ['key', 'value'] },
资质认证: { dataList: [], titleList: ['key', 'value'] },//企业资质 贷款补贴: { 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: [], titleList: ['key', 'value'] },
活动变化趋势分析: [],
荣誉资质图片: {},
服务记录_空间服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
服务记录_工商服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
服务记录_融资服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
服务记录: { dataList: [], titleList: ['key', 'value'] },
历年人才招聘情况: [],
} }
/**数据库查询 */ /**数据库查询 */
let 企业基础信息 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, { eId }, null); let 企业基础信息 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, { eId }, null);
if (!Object.keys(企业基础信息).length) console.log('eId:', eId); if (!Object.keys(企业基础信息).length) console.log('eId:', eId);
let 法人信息 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.法人信息表, { eId }, null);
// let column = ["eId", "enterpriseName", "uscc", "", "", "", "", "", "", "", "", "", "", "", ""];
let 孵化Column = ["fId", "eId", "startTime", "endTime", "state", "virtualCause", "virtualCauseDes", "moveOutType", "moveOutTrace", "moveOutCause", "moveOutTime",
"graduationTime", "jiShuHeTongJiaoYi"];
let 企业孵化联查includeConf = {};
企业孵化联查includeConf[TABLENAME.企业孵化信息] = { cloum: 孵化Column, where: {} }
let 企业孵化信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业孵化联查includeConf);
let 资质Column = ["qId", "eId", "kxTime", "zjtxTime", "xjrTime", "xjrPyTime", "goPublicTime", "gaoXinJiShuTime", "goPublicSector"];
let 企业资质联查includeConf = {};
企业资质联查includeConf[TABLENAME.企业资质] = { cloum: 资质Column, where: {} }
let 企业资质信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业资质联查includeConf);
let 专利Column = ["iprId", "eId", "year", "number", "iprType", "selectedValue", "iprName", "iprUrl"];
let 企业专利联查includeConf = {};
企业专利联查includeConf[TABLENAME.知识产权] = { cloum: 专利Column, where: {} }
let 企业专利信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业专利联查includeConf);
let 创业团队Column = ["tId", "eId", "name", "sex", "birth", "degree", "graduationSchool", "talentType", "des"];
let 创业团队联查includeConf = {};
创业团队联查includeConf[TABLENAME.创业团队] = { cloum: 创业团队Column, where: {} }
let 创业团队信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 创业团队联查includeConf);
let 企业经营Column = ["mId", "eId", "annual", "BI", "TXP", "RD", "createTime", "state"];
let 企业经营联查includeConf = {};
企业经营联查includeConf[TABLENAME.企业经营信息] = { cloum: 企业经营Column, where: {} }
let 企业经营信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业经营联查includeConf);
let 企业荣誉Column = ["hId", "eId", "awardName", "awardingUnit", "awardTime", "awardLevel", "awardImg"];
let 企业荣誉联查includeConf = {};
企业荣誉联查includeConf[TABLENAME.企业荣誉] = { cloum: 企业荣誉Column, where: {} }
let 企业荣誉信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业荣誉联查includeConf);
let 企业融资Column = ["rId", "eId", "financingAmount", "financingRounds", "fuHuaQiInvestment", "fuHuaQiInvestmentStyle",
"fuHuaQiInvestmentAmount", "investmentDate", "investmentInstitutionsName", "valuation"];
let 企业融资联查includeConf = {};
企业融资联查includeConf[TABLENAME.企业融资] = { cloum: 企业融资Column, where: {} }
let 企业融资信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业融资联查includeConf);
let 企业服务Column = ["esId", "eId", "needCategory", "needContent", "applyTime", "followUpStatus", "resolveTime", "fangKui",
"shouLiTime", "outcome", "desc"];
let 企业服务联查includeConf = {};
企业服务联查includeConf[TABLENAME.企业服务表] = { cloum: 企业服务Column, where: {} }
let 企业服务信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 企业服务联查includeConf);
let 参保记录Column = ["cId", "eId", "annual", "zhuanKe", "benKe", "shuoshi", "boShi", "boshiyishang", "qiTa"];
let 参保记录联查includeConf = {};
参保记录联查includeConf[TABLENAME.参保记录] = { cloum: 参保记录Column, where: {} }
// let 参保记录信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 参保记录联查includeConf);
let 参保记录信息 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, { eId }, 参保记录Column);
let 租赁信息Column = ["leaseId", "eId", "area", "startTime", "endTime"];
let 租赁信息联查includeConf = {};
租赁信息联查includeConf[TABLENAME.租赁信息] = { cloum: 租赁信息Column, where: {} }
let 租赁信息 = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, { eId }, [], 租赁信息联查includeConf);
//企业基本情况 //企业基本情况
let qyjbqk = { let qyjbqk = {
企业介绍: 企业基础信息.jianJie, 统一社会信用代码: 企业基础信息.uscc,
// 企业图片: "企业照片占位图.png", 法人代表: 法人信息.name,
登记状态: 企业基础信息.RAS,
成立时间: moment(企业基础信息.logonTime).format("YYYY-MM-DD"),
注册资本: 企业基础信息.zhuceziben,
组织机构代码: 企业基础信息.zuZhiJiGouDaiMa,
}; };
//企业基本数据 //企业基本数据
qyszhx.企业基本情况.dataList = getKeyValue(qyjbqk); qyszhx.企业基本情况.dataList = getKeyValue(qyjbqk);
/** //企业标签
* 企业名称 let 企业资质信息 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业资质, {eId}, []);
*/ let qybq = get企业标签(企业资质信息);
let qyName = { qyszhx.企业标签.dataList = qybq;
企业名称: 企业基础信息.enterpriseName
};
qyszhx.企业名称.dataList = getKeyValue(qyName);
//企业科创分
let 企业科创分 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.科创分, {eId}, ["eId", "industry", "subIndustry", "industryRanking", "score"]);
let ssgjejhy = {所属国际二级行业:企业科创分.subIndustry};
qyszhx.企业科创分.count = getKeyValue(ssgjejhy);
//饼图
let qykcfChart = {占比:企业科创分.industryRanking, 等级:"", 星级:0};
let industryRanking = 0;
if (企业科创分.industryRanking) industryRanking = parseInt(企业科创分.industryRanking.split('%')[0]);
if (industryRanking >= 96 && industryRanking <= 100) {
qykcfChart.等级 = '卓越';
qykcfChart.星级 = 5;
} else if (industryRanking >= 86 && industryRanking <= 95) {
qykcfChart.等级 = '优秀';
qykcfChart.星级 = 4;
} else if (industryRanking >= 71 && industryRanking <= 85) {
qykcfChart.等级 = '良好';
qykcfChart.星级 = 3;
} else if (industryRanking >= 51 && industryRanking <= 70) {
qykcfChart.等级 = '普通';
qykcfChart.星级 = 2;
} else if (industryRanking >= 20 && industryRanking <= 50) {
qykcfChart.等级 = '入门';
qykcfChart.星级 = 1;
} else {
qykcfChart.等级 = '未知'; // 处理不在范围内的分数
}
qyszhx.企业科创分.chartData = getKeyValue(qykcfChart);
//表格
let qykcf = {科创分:企业科创分.score, 同行业内科创排名:企业科创分.industryRanking};
qyszhx.企业科创分.dataList = getKeyValue(qykcf);
//股权结构
let 股权结构 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.股权结构, {eId}, ["eId", "name", "stockPercent"]);
let gqjg = [];
股权结构.forEach( info => {
let rate = 0;
if (info.stockPercent) rate = parseInt(info.stockPercent.split('%')[0]);
gqjg.push({key:info.name, value:info.stockPercent, rate});
});
gqjg.sort( (a, b) => {
return b.rate - a.rate;
})
qyszhx.股权结构.dataList = gqjg.slice(0, 3);
let qyjbsj = { //资质认证
注册时间: "-", let 资质证书 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.资质证书, {eId}, ["eId", "name", "type", "startDate", "status"]);
迁入时间: "-", let zzzs = [];
首次入孵时间: "-", 资质证书.forEach( info => {
}; zzzs.push([moment(info.startDate).format("YYYY-MM-DD"), info.type, info.status]);
if (企业基础信息.logonTime) qyjbsj.注册时间 = moment(企业基础信息.logonTime).format("YYYY-MM-DD") })
if (企业孵化信息[0]) { qyszhx.资质认证.count = [{key:"资质认证", value:资质证书.length}];
if (企业孵化信息[0].enterprise_fuhuas[0].startTime) qyjbsj.首次入孵时间 = moment(企业孵化信息[0].enterprise_fuhuas[0].startTime).format("YYYY-MM-DD") qyszhx.资质认证.bodyList = zzzs;
}
if (企业基础信息.firstLoginTime) qyjbsj.迁入时间 = moment(企业基础信息.firstLoginTime).format("YYYY-MM-DD") //企业风险动态:失信核查、失信详情、违法核查
qyszhx.企业基本数据.dataList = getKeyValue(qyjbsj); let 企业风险动态 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.失信核查, {eId}, ["eId", "liandate", "anno", "executegov", "executestatus", "publicdate", "executeno", "actionRemark", "amount"]);
let qyfxdt = {失信核查:[], 失信详情:[], 违法核查:[]};
企业风险动态.forEach( info => {
qyfxdt.失信核查.push(info.actionRemark);
})
qyszhx.失信核查.count = [{key:"失信核查次数", value:企业风险动态.length}];
qyszhx.失信核查.dataList = qyfxdt.失信核查;
//企业标签 todo let 严重违法犯罪 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.严重违法犯罪, {eId}, ["eId", "Type", "AddReason", "AddDate", "AddOffice", "RemoveReason", "RemoveDate", "RemoveOffice"]);
let qybq = get企业标签(企业资质信息); 严重违法犯罪.forEach( info => {
qyszhx.企业标签.dataList = qybq; qyfxdt.违法核查.push(info.AddReason);
})
qyszhx.违法核查.count = [{key:"违法核查次数", value:严重违法犯罪.length}];
qyszhx.违法核查.dataList = qyfxdt.违法核查;
//企业服务申请情况
let 企业服务dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业服务表, {eId}, []); //获取所有企业服务表联查企业信息表
let 未受理企业服务Count = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业服务表, {eId, followUpStatus:FOLLOWUPSTATUS.未受理}, []);
let 已完成企业服务Count = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业服务表, {eId, followUpStatus:FOLLOWUPSTATUS.已完成}, []);
let qyfwsqqk = {
服务次数:企业服务dbList.length,
已完成:已完成企业服务Count,
未受理:未受理企业服务Count
}
qyszhx.企业服务申请情况.dataList = getKeyValue(qyfwsqqk);
let qyfwsqlx = getQyfwsqlx(企业服务dbList);
qyszhx.企业服务申请类型.dataList = qyfwsqlx;
// 计算研发占比 //知识产权
let yfzb = get研发占比(企业经营信息); let 知识产权 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.知识产权, {eId}, []);
// 将研发占比数据添加到 qyszhx 对象中 let zscq = get知识产权(知识产权);
qyszhx.研发占比.dataList = getKeyValue(yfzb); qyszhx.知识产权.count = [{key:"专利数量", value:zscq.count}];
qyszhx.知识产权.dataList = getKeyValue(zscq.zscq);
//融资情况
let 融资情况 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {eId}, []);
let 最新融资情况 = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业融资, {eId, "%orderDesc%":"investmentDate"}, []);
let rzqk = get融资情况(融资情况);
rzqk.count.融资轮次 = changeEnumValue(FINANCINGROUNDS, 最新融资情况.financingRounds);
qyszhx.融资情况.count = getKeyValue(rzqk.count);
qyszhx.融资情况.dataList = rzqk.rzqk;
/** //营收情况
* 企业自画像 let 营收情况 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {eId}, []);
*/ let { ysqk, ysbhqs, ysbhqsTable } = get营收情况(营收情况);
let qyzp = get企业自画像(企业经营信息, 企业融资信息, 企业专利信息); qyszhx.营收情况.dataList = getKeyValue(ysqk);
qyszhx.营收趋势分析 = ysbhqs;
qyszhx.营收明细.bodyList = ysbhqsTable.营收;
qyszhx.纳税明细.bodyList = ysbhqsTable.纳税;
qyszhx.研发投入明细.bodyList = ysbhqsTable.研发投入;
//企业自画像
let qyzp = get企业自画像(营收情况, 融资情况, 知识产权);
qyszhx.企业自画像.dataList = getKeyValue(qyzp); qyszhx.企业自画像.dataList = getKeyValue(qyzp);
//租房补贴 //租房补贴
let zfbz = get租房补贴(企业资质信息, 企业专利信息, 参保记录信息); let 参保记录Column = ["cId", "eId", "annual", "zhuanKe", "benKe", "shuoshi", "boShi", "boshiyishang", "qiTa"];
qyszhx.租房补贴.dataList = getKeyValue(zfbz); let 参保记录信息 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, { eId }, 参保记录Column);
// //高新
// let gx = get高新(企业资质信息);
// qyszhx.高新.dataList = getKeyValue(gx);
// //科小
// let kx = get科小(企业资质信息);
// qyszhx.科小.dataList = getKeyValue(kx);
// //小巨人 let zfbz = get租房补贴(企业资质信息, 知识产权, 参保记录信息);
// let xjt = get小巨人(企业资质信息); qyszhx.租房补贴.dataList = getKeyValue(zfbz);
// qyszhx.小巨人.dataList = getKeyValue(xjt);
// 高新 // 高新
let gx = get资质达标情况(企业资质信息, 'gaoXinJiShuTime'); let gx = get资质达标情况(企业资质信息, 'gaoXinJiShuTime');
...@@ -168,202 +184,46 @@ export async function getQyszhx(eId) { ...@@ -168,202 +184,46 @@ export async function getQyszhx(eId) {
let kx = get资质达标情况(企业资质信息, 'kxTime'); let kx = get资质达标情况(企业资质信息, 'kxTime');
qyszhx.科小.dataList = getKeyValue(kx); qyszhx.科小.dataList = getKeyValue(kx);
// 小巨人 //贷款补贴
let xjrData = get资质达标情况(企业资质信息, 'xjrTime'); // let dkbt = get贷款补贴(企业资质信息);
qyszhx.小巨人.dataList = getKeyValue(xjrData); // qyszhx.贷款补贴.dataList = getKeyValue(dkbt);
//资质认证
let zzrz = get资质认证(企业资质信息);
qyszhx.资质认证.dataList = getKeyValue(zzrz);
//资质认证变化趋势
let zzrzbsqs = get资质认证变化趋势(企业资质信息);
qyszhx.资质认证变化趋势 = zzrzbsqs;
//知识产权
let zscq = get知识产权(企业专利信息);
qyszhx.知识产权.dataList = getKeyValue(zscq);
//企业员工画像
let qyyghx = await get企业员工画像(参保记录信息);
qyszhx.企业员工画像.dataList = getKeyValue(qyyghx);
let 专利总数 = 0;
for (let key in zscq) {
专利总数 += zscq[key];
}
//企业汇总数据
let qyhzsj = {
// 企业认证:0, //todo
资质认证: qybq.length,
专利数: 专利总数,
};
qyszhx.企业汇总数据.dataList = getKeyValue(qyhzsj);
//营收情况
let { ysqk, ysbhqs } = get营收情况(企业经营信息);
qyszhx.营收情况.dataList = getKeyValue(ysqk);
//营收变化趋势
qyszhx.营收变化趋势 = ysbhqs;
//企业动态
let qydt = get企业动态(企业荣誉信息);
qyszhx.企业动态.bodyList = qydt;
//风险预警
// let fxyj = get风险预警(企业融资信息);
// qyszhx.风险预警.bodyList = fxyj;
//服务需求
let fwxq = get服务需求(企业融资信息);
qyszhx.服务需求.dataList = getKeyValue(fwxq);
//活动变化趋势分析
let hdbhqsfx = get活动变化趋势分析(企业融资信息);
qyszhx.活动变化趋势分析 = hdbhqsfx;
//荣誉资质
let ryzz = get荣誉资质(企业荣誉信息);
qyszhx.荣誉资质图片 = ryzz;
//服务记录_空间服务
let fwjlxx = get服务记录(企业服务信息);
// qyszhx.服务记录_空间服务.bodyList = fwjlxx.空间服务;
qyszhx.服务记录_工商服务.bodyList = fwjlxx.工商服务;
qyszhx.服务记录_融资服务.bodyList = fwjlxx.融资服务;
//服务记录
let fwjl = {
// 空间服务次数: fwjlxx.空间服务.length,
工商服务次数: fwjlxx.工商服务.length,
融资服务次数: fwjlxx.融资服务.length,
}
qyszhx.服务记录.dataList = getKeyValue(fwjl);
//就业
let jiuYeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, { eId }, null);
let 年度就业人数趋势分析Map = {};
jiuYeList.forEach(info => {
let { annual } = info;
let itemCount = 0;
let itemYear = new Date(annual).getFullYear();
if (info.zhuanKe) itemCount += parseInt(info.zhuanKe);
if (info.benKe) itemCount += parseInt(info.benKe);
if (info.shuoshi) itemCount += parseInt(info.shuoshi);
if (info.boShi) itemCount += parseInt(info.boShi);
if (info.boshiyishang) itemCount += parseInt(info.boshiyishang);
if (!年度就业人数趋势分析Map[itemYear]) 年度就业人数趋势分析Map[itemYear] = { key: itemYear, value: 0 };
年度就业人数趋势分析Map[itemYear].value += itemCount;
});
qyszhx.历年人才招聘情况 = [{ name: "历年人才招聘情况", data: Object.values(年度就业人数趋势分析Map) }];
return qyszhx; return qyszhx;
} }
/** /**
* 计算研发占比的函数 * 企业服务申请类型
*/ * @param 入孵企业服务dbList
// function get研发占比(data) { */
// let yfzb = []; function getQyfwsqlx(企业服务dbList) {
let fuWuQiYeTypeMap = {};//企业服务类型
// data.forEach(info => { 企业服务dbList.forEach( info => {
// let { enterprise_manages } = info; let needCategoryStr = changeEnumValue(NEEDCATEGORY, info.needCategory)
// enterprise_manages.forEach(manage => { if (!fuWuQiYeTypeMap[needCategoryStr]) {
// if (parseFloat(manage.BI) > 0) { fuWuQiYeTypeMap[needCategoryStr] = 0;
// let ratio = parseFloat(manage.RD) / parseFloat(manage.BI); }
// let 百分比 = (ratio * 100).toFixed(2) + "%"; fuWuQiYeTypeMap[needCategoryStr] += 1;
// let 达标状态: string; })
// // 判断是否已达标
// if(ratio * 100 >= 80.5){
// 达标状态 = "已达标";
// }else{
// 达标状态 = "继续努力";
// }
// yfzb.push({
// 年份: moment(manage.annual).format("YYYY"),
// 研发占比: 百分比,
// 达标状态: 达标状态
// });
// }
// });
// });
// return yfzb;
// }
function get研发占比(data) {
let yfzb = {
研发占比: "0%",
是否达标: "继续努力",
目标值: "20%",
}
data.forEach(info => { let fwlx = [];
let { enterprise_manages } = info; for (let key in NEEDCATEGORY) {
let quarterlyRD = { [QUARTER.第一季度]: 0, [QUARTER.第二季度]: 0, [QUARTER.第三季度]: 0, [QUARTER.第四季度]: 0 }; let enumValue = NEEDCATEGORY[key];
let quarterlyBI = { [QUARTER.第一季度]: 0, [QUARTER.第二季度]: 0, [QUARTER.第三季度]: 0, [QUARTER.第四季度]: 0 }; // 跳过未显式赋值的枚举成员(如果有的话,它们默认为枚举前一个成员的值加1)
if (isNaN(Number(key))) { // 这里检查 key 是否可以被转换为数字,以识别枚举成员名称
enterprise_manages.forEach(manage => { let needCategoryStr = changeEnumValue(NEEDCATEGORY, enumValue);
if (parseFloat(manage.BI) > 0) { let value = fuWuQiYeTypeMap[needCategoryStr] || 0;
const quarter = getQuarter(manage.annual); fwlx.push({
quarterlyRD[quarter] += parseFloat(manage.RD); key: needCategoryStr,
quarterlyBI[quarter] += parseFloat(manage.BI); value: value
}
}); });
// 计算每个季度的研发占比,并生成年份信息
for (let quarter of [QUARTER.第一季度, QUARTER.第二季度, QUARTER.第三季度, QUARTER.第四季度]) {
if (quarterlyBI[quarter] > 0) {
let ratio = quarterlyRD[quarter] / quarterlyBI[quarter];
let 百分比 = (ratio * 100).toFixed(2) + "%";
let 达标状态: string;
if (ratio * 100 >= 20) {
达标状态 = "已达标";
} else {
达标状态 = "继续努力";
}
yfzb.研发占比 = 百分比;
yfzb.是否达标 = 达标状态;
yfzb.目标值 = "20%";
// // 确保年份信息从 manage 中正确提取
// let 年份 = moment(enterprise_manages[0]?.annual).format("YYYY"); // 假设所有季度属于同一年
// yfzb.push({
// 年份,
// 研发占比: 百分比,
// 达标状态,
// 目标值: "20%",
// });
} }
} }
});
return yfzb; return fwlx;
} }
function getQuarter(dateString: string): QUARTER {
const date = moment(dateString);
if (!date.isValid()) {
console.error("无效的日期字符串:", dateString);
return QUARTER.第一季度; // 或者抛出异常,具体取决于业务需求
}
const month = date.month() + 1; // JavaScript 月份从0开始
if (month <= 3) return QUARTER.第一季度;
if (month <= 6) return QUARTER.第二季度;
if (month <= 9) return QUARTER.第三季度;
return QUARTER.第四季度;
}
/** /**
* 企业自画像 * 企业自画像
*/ */
...@@ -373,7 +233,8 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -373,7 +233,8 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
企业总得分: "-", 企业总得分: "-",
企业融资: "-", 企业融资: "-",
// 总融资金额: 0, // 新增总融资金额字段 // 总融资金额: 0, // 新增总融资金额字段
本年融资额: 0, // 本年融资额: 0,
本月融资: 0,
短期营收: "-", 短期营收: "-",
营收金额: 0, 营收金额: 0,
知识产权: "-", 知识产权: "-",
...@@ -383,35 +244,26 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -383,35 +244,26 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
研发占比: "-", 研发占比: "-",
}; };
// 获取当前月份 const 当前月份 = new Date().getMonth() + 1; // JavaScript 月份从0开始
// const 当前月份 = new Date().getMonth() + 1; // JavaScript 月份从0开始 // const 当前年份 = new Date().getFullYear();
const 当前年份 = new Date().getFullYear();
// 计算各维度得分 // 计算各维度得分
let 优秀维度计数 = 0; let 优秀维度计数 = 0;
// 1. 判断企业融资是否优秀 // 1. 判断企业融资是否优秀
let 本年融资总额 = 0; // let 本年融资总额 = 0;
let 本月融资总额 = 0;
let 总融资金额 = 0; let 总融资金额 = 0;
企业融资信息.forEach(info => { 企业融资信息.forEach(financing => {
let { enterprise_financings } = info;
if (Array.isArray(enterprise_financings)) {
enterprise_financings.forEach(financing => {
const 融资日期 = new Date(financing.investmentDate); const 融资日期 = new Date(financing.investmentDate);
if ( if (融资日期.getMonth() + 1 === 当前月份) { // 融资日期.getFullYear() === 当前年份
融资日期.getFullYear() === 当前年份 本月融资总额 += parseFloat(financing.financingAmount || 0);
// 融资日期.getMonth() + 1 === 当前月份
) {
本年融资总额 += parseFloat(financing.financingAmount || 0);
} }
// 累加总融资金额 // 累加总融资金额
总融资金额 += parseFloat(financing.financingAmount || 0); 总融资金额 += parseFloat(financing.financingAmount || 0);
}); });
}
});
qyzp["本年融资额"] = 本年融资总额; // 返回本月融资额 qyzp["本月融资"] = 本月融资总额; // 返回本月融资额
// qyzp["总融资金额"] = 总融资金额; // 返回总融资金额
if (总融资金额 > 0) { if (总融资金额 > 0) {
if (总融资金额 >= 10) { // 修改为企业融资:10W及以上为优秀, if (总融资金额 >= 10) { // 修改为企业融资:10W及以上为优秀,
...@@ -424,15 +276,11 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -424,15 +276,11 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
qyzp["企业融资"] = "-"; qyzp["企业融资"] = "-";
} }
// 2. 判断短期营收是否优秀 // 2. 判断短期营收是否优秀
let 短期营收总额 = 0; let 短期营收总额 = 0;
企业经营信息.forEach(info => { 企业经营信息.forEach(manage => {
let { enterprise_manages } = info;
enterprise_manages.forEach(manage => {
短期营收总额 += parseFloat(manage.BI); 短期营收总额 += parseFloat(manage.BI);
}); });
});
qyzp["营收金额"] = 短期营收总额; // 返回营收金额 qyzp["营收金额"] = 短期营收总额; // 返回营收金额
...@@ -450,8 +298,7 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -450,8 +298,7 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
// 3. 判断知识产权是否优秀 // 3. 判断知识产权是否优秀
let 专利总数 = 0; let 专利总数 = 0;
企业专利信息.forEach(info => { 企业专利信息.forEach(info => {
let { enterprise_iprs } = info; 专利总数 += info.number;
专利总数 += enterprise_iprs.length;
}); });
qyzp["专利个数"] = 专利总数; // 返回专利个数 qyzp["专利个数"] = 专利总数; // 返回专利个数
...@@ -471,13 +318,10 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -471,13 +318,10 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
// 4. 判断研发投入是否优秀 // 4. 判断研发投入是否优秀
let 研发投入总额 = 0; let 研发投入总额 = 0;
let 总收入 = 0; let 总收入 = 0;
企业经营信息.forEach(info => { 企业经营信息.forEach(manage => {
let { enterprise_manages } = info;
enterprise_manages.forEach(manage => {
研发投入总额 += parseFloat(manage.RD); 研发投入总额 += parseFloat(manage.RD);
总收入 += parseFloat(manage.BI); 总收入 += parseFloat(manage.BI);
}); });
});
let 研发占比 = 总收入 > 0 ? (研发投入总额 / 总收入) : 0; let 研发占比 = 总收入 > 0 ? (研发投入总额 / 总收入) : 0;
qyzp["投入金额"] = 研发投入总额; // 返回研发投入金额 qyzp["投入金额"] = 研发投入总额; // 返回研发投入金额
...@@ -508,6 +352,7 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -508,6 +352,7 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
return qyzp; return qyzp;
} }
/** /**
* 租房补贴 * 租房补贴
*/ */
...@@ -523,7 +368,6 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信 ...@@ -523,7 +368,6 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
// 检查社保状态 // 检查社保状态
let shebaoCompleted = false; let shebaoCompleted = false;
if (参保记录信息[0]) { if (参保记录信息[0]) {
if (参保记录信息[0].zhuanKe || 参保记录信息[0].benKe || 参保记录信息[0].shuoshi || 参保记录信息[0].boShi || 参保记录信息[0].boshiyishang || 参保记录信息[0].qiTa ) { if (参保记录信息[0].zhuanKe || 参保记录信息[0].benKe || 参保记录信息[0].shuoshi || 参保记录信息[0].boShi || 参保记录信息[0].boshiyishang || 参保记录信息[0].qiTa ) {
shebaoCompleted = true; shebaoCompleted = true;
} }
...@@ -533,26 +377,20 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信 ...@@ -533,26 +377,20 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
// 检查软著状态 // 检查软著状态
let ruanzhuCompleted = false; let ruanzhuCompleted = false;
企业专利信息.forEach(info => { 企业专利信息.forEach(patent => {
let { enterprise_iprs } = info;
enterprise_iprs.forEach(patent => {
if (patent.iprType === IPRALLTYPE.软件著作权) { if (patent.iprType === IPRALLTYPE.软件著作权) {
ruanzhuCompleted = true; ruanzhuCompleted = true;
} }
}); });
});
zfbt.软著 = ruanzhuCompleted ? "已完成" : "未完成"; zfbt.软著 = ruanzhuCompleted ? "已完成" : "未完成";
// 检查科小状态 // 检查科小状态
let kxCompleted = false; let kxCompleted = false;
企业资质信息.forEach(info => { 企业资质信息.forEach(item => {
let { enterprise_qualifications } = info;
enterprise_qualifications.forEach(item => {
if (item.kxTime) { if (item.kxTime) {
kxCompleted = true; kxCompleted = true;
} }
}); });
});
zfbt.科小 = kxCompleted ? "已完成" : "未完成"; zfbt.科小 = kxCompleted ? "已完成" : "未完成";
// 计算租房补贴占比 // 计算租房补贴占比
...@@ -569,71 +407,6 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信 ...@@ -569,71 +407,6 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
return zfbt; return zfbt;
} }
// /**
// * 高新
// */
// function get高新(data) {
// let gx = {
// 高新占比: 0,
// 是否达标: "未达标",
// };
// data.forEach(info => {
// let { enterprise_qualifications } = info;
// enterprise_qualifications.forEach(item => {
// if (item.gaoXinJiShuTime) {
// gx.高新占比 = 100;
// gx.是否达标 = "已达标";
// }
// });
// });
// return gx;
// }
// /**
// * 科小
// */
// function get科小(data) {
// let kx = {
// 科小占比: 0,
// 是否达标: "未达标",
// };
// data.forEach(info => {
// let { enterprise_qualifications } = info;
// enterprise_qualifications.forEach(item => {
// if (item.kxTime) {
// kx.科小占比 = 100;
// kx.是否达标 = "已达标";
// }
// })
// })
// return kx;
// }
// /**
// * 小巨人
// */
// function get小巨人(data){
// let xjrData = {
// 小巨人占比: 0,
// 是否达标: "未达标",
// };
// data.forEach(info => {
// let { enterprise_qualifications } = info;
// enterprise_qualifications.forEach(item => {
// if (item.xjrTime) {
// xjrData.小巨人占比 = 100;
// xjrData.是否达标 = "已达标";
// }
// })
// })
// return xjrData;
// }
/** /**
* 获取企业资质达标情况的通用函数 * 获取企业资质达标情况的通用函数
...@@ -667,9 +440,7 @@ function get资质达标情况(data, key: string) { ...@@ -667,9 +440,7 @@ function get资质达标情况(data, key: string) {
function get企业标签(data) { function get企业标签(data) {
let qybqData = []; let qybqData = [];
data.forEach(info => { data.forEach(item => {
let { enterprise_qualifications } = info;
enterprise_qualifications.forEach(item => {
if (item.xjrTime) qybqData.push("小巨人"); if (item.xjrTime) qybqData.push("小巨人");
if (item.gaoXinJiShuTime) qybqData.push("高新企业"); if (item.gaoXinJiShuTime) qybqData.push("高新企业");
if (item.zjtxTime) qybqData.push("专精特新"); if (item.zjtxTime) qybqData.push("专精特新");
...@@ -677,7 +448,6 @@ function get企业标签(data) { ...@@ -677,7 +448,6 @@ function get企业标签(data) {
if (item.kxTime) qybqData.push("科小"); if (item.kxTime) qybqData.push("科小");
if (item.goPublicTime) qybqData.push("上市"); if (item.goPublicTime) qybqData.push("上市");
}) })
})
let qybq = []; let qybq = [];
qybqData.forEach(item => { qybqData.forEach(item => {
...@@ -688,384 +458,112 @@ function get企业标签(data) { ...@@ -688,384 +458,112 @@ function get企业标签(data) {
} }
/** 资质认证
* @returns
*/
function get资质认证(data) {
let zzrz = {
资质认证总数: 0,
};
data.forEach(info => {
let { enterprise_qualifications } = info;
let certifications = new Set(); // 使用 Set 来存储不同的资质认证
enterprise_qualifications.forEach(item => {
if (item.kxTime) certifications.add("科小");
if (item.zjtxTime) certifications.add("专精特新");
if (item.xjrTime) certifications.add("小巨人");
if (item.xjrPyTime) certifications.add("小巨人培育");
if (item.gaoXinJiShuTime) certifications.add("高新企业");
if (item.goPublicTime) certifications.add("上市");
});
zzrz.资质认证总数 += certifications.size; // 计算不同资质的数量
});
return zzrz;
}
/**
* 资质认证变化趋势
*/
function get资质认证变化趋势(data) {
let zzrzbhqsInfo = {
资质认证数量: []
};
let yearList = getYearList();
for (let i = 0; i < yearList.length; i++) {
let year = parseInt(yearList[i]);
let 资质认证数量 = 0;
data.forEach(info => {
let { enterprise_qualifications } = info;
enterprise_qualifications.forEach(item => {
const times = [
item.kxTime,
item.zjtxTime,
item.xjrTime,
item.xjrPyTime,
item.gaoXinJiShuTime,
item.goPublicTime
];
times.forEach(time => {
if (time && moment(time).year() === year) {
资质认证数量++;
}
});
});
});
zzrzbhqsInfo.资质认证数量.push({ key: year, value: 资质认证数量 });
}
let zzrzbhqs = getChart(zzrzbhqsInfo);
return zzrzbhqs;
}
function get知识产权(data) { function get知识产权(data) {
let zscq: any = { let zscq: any = {
// 软件著作:0,
软件著作权: 0, 软件著作权: 0,
发明专利: 0, 发明专利: 0,
海外专利: 0, 海外专利: 0,
植物新品种: 0, 植物新品种: 0,
集成电路布图: 0, 集成电路布图: 0,
} }
let count = 0;
data.forEach(info => { data.forEach(patents => {
let { enterprise_iprs } = info;
enterprise_iprs.forEach(patents => {
if (patents.iprType) { if (patents.iprType) {
let iprTypeStr = changeEnumValue(IPRALLTYPE, 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;
} }
count += patents.number;
}) })
}) return {count, zscq};
// data.forEach(info => {
// let { enterprise_patents } = info;
// enterprise_patents.forEach(patents => {
// zscq.一级专利 += patents.classIPatent;
// zscq.二级专利 += patents.secondClassPatent
// zscq.三级专利 += patents.thirdPentent;
// zscq.海外专利 += patents.alienPatent;
// })
// })
return zscq;
} }
async function get企业员工画像(data) { function get融资情况(data) {
let qyyghx = { let year = getYearList();
"专科":0,
"本科":0, let count = {
"硕士":0, 融资金额:0,
"博士":0, 融资轮次:""
"博士以上":0,
"其他":0,
}; };
let rzqk = [];
if (data && data[0]) { for(let i = 0; i < year.length; i++) {
qyyghx["专科"] = data[0].zhuanKe || 0; let 融资金额 = 0;
qyyghx["本科"] = data[0].benKe || 0; data.forEach(info => {
qyyghx["硕士"] = data[0].shuoshi || 0; let 融资日期 = moment(info.investmentDate);
qyyghx["博士"] = data[0].boShi || 0; if (融资日期.isValid() && 融资日期.year() === year[i]) {
qyyghx["博士以上"] = data[0].boshiyishang || 0; 融资金额 += parseFloat(info.financingAmount || 0);
qyyghx["其他"] = data[0].qiTa || 0; }
// 累加总融资金额
count.融资金额 += parseFloat(info.financingAmount || 0);
});
rzqk.push({key:year[i], value:融资金额});
} }
return {count, rzqk}
// for (let key in DEGREE) {
// let anyKey: any = key;
// if (isNaN(anyKey)) {
// let keyStr = key;
// if (!qyyghx[keyStr]) qyyghx[keyStr] = 0;
// let degree = DEGREE[key];
// data.forEach(info => {
// let { enterprise_teams } = info;
// if (enterprise_teams && Array.isArray(enterprise_teams)) {
// enterprise_teams.forEach(team => {
// if (degree == team.degree) {
// qyyghx[keyStr] += 1;
// }
// })
// }
// })
// }
// }
return qyyghx;
} }
function get营收情况(data) { function get营收情况(data) {
let ysqk = { let ysqk = {
// 累计营收: 0, "25年累计营收": 0,
"24年累计营收": 0, 累计纳税: 0,
累计研发投入: 0, 累计研发投入: 0,
// 累计纳税: 0
} }
let ysbhqsInfo = { let ysbhqsInfo = {
营业收入: [], 营收: [],
纳税: [],
研发投入: [], 研发投入: [],
// 纳税金额: [],
} }
let year = getYearList(); let ysbhqsTable = {
营收: [],
纳税: [],
研发投入: [],
}
data.forEach(info => { data.forEach(manage => {
let { enterprise_manages } = info;
enterprise_manages.forEach(manage => {
// ysqk.累计营收 += parseFloat(manage.BI); // ysqk.累计营收 += parseFloat(manage.BI);
let thisAnnual = moment(manage.annual).year(); let thisAnnual = moment(manage.annual).year();
if (thisAnnual === 2024) { if (thisAnnual === 2025) {
ysqk["24年累计营收"] += parseFloat(manage.BI); ysqk["25年累计营收"] += parseFloat(manage.BI);
} }
ysqk.累计研发投入 += parseFloat(manage.RD); ysqk.累计研发投入 += parseFloat(manage.RD);
// ysqk.累计纳税 += parseFloat(manage.TXP); ysqk.累计纳税 += parseFloat(manage.TXP);
}) let dbQuarterStr = `${thisAnnual}${changeEnumValue(QUARTER, manage.quarter)}`;
ysbhqsTable.营收.push(["营收", dbQuarterStr, manage.BI]);
ysbhqsTable.纳税.push(["纳税", dbQuarterStr, manage.TXP]);
ysbhqsTable.研发投入.push(["研发投入", dbQuarterStr, manage.RD]);
}) })
let quarter = getRecentQuarters();
for (let i = 0; i < year.length; i++) { quarter.forEach( info => {
let 业收入 = 0; let = 0;
let 研发投入 = 0; let 研发投入 = 0;
// let 纳税金额 = 0; let 纳税金额 = 0;
data.forEach(info => {
let { enterprise_manages } = info; let quarterStr = `${info.year}${changeEnumValue(QUARTER, info.quarter)}`;
enterprise_manages.forEach(manage => { data.forEach(manage => {
let thisAnnual = moment(manage.annual).year(); let thisAnnual = moment(manage.annual).year();
let thisYear = parseInt(year[i]); let dbQuarterStr = `${thisAnnual}${changeEnumValue(QUARTER, manage.quarter)}`;
if (thisAnnual === thisYear) { if (quarterStr == dbQuarterStr) {
营业收入 += parseFloat(manage.BI); 营收 += parseFloat(manage.BI);
研发投入 += parseFloat(manage.RD); 研发投入 += parseFloat(manage.RD);
// 纳税金额 += parseFloat(manage.TXP); 纳税金额 += parseFloat(manage.TXP);
} }
}) })
ysbhqsInfo.营收.push({ key: quarterStr, value: 营收 });
ysbhqsInfo.纳税.push({ key: quarterStr, value: 纳税金额 });
ysbhqsInfo.研发投入.push({ key: quarterStr, value: 研发投入 });
}) })
// ysbhqsInfo.营业收入.push({ key: year[i], value: 营业收入 });
// ysbhqsInfo.研发投入.push({ key: year[i], value: 研发投入 });
// 将营业收入和研发投入转换为“千万”单位
ysbhqsInfo.营业收入.push({ key: year[i], value: 营业收入 / 1000 });
ysbhqsInfo.研发投入.push({ key: year[i], value: 研发投入 / 1000 });
// ysbhqsInfo.纳税金额.push({ key: year[i], value: 纳税金额 });
}
let ysbhqs = getChart(ysbhqsInfo); let ysbhqs = getChart(ysbhqsInfo);
return { ysqk, ysbhqs }; return { ysqk, ysbhqs, ysbhqsTable };
}
/**
* 企业动态
*/
// function get企业动态(data) {
// let qydt = [];
// data.forEach(info => {
// let { enterprise_honors } = info;
// enterprise_honors.forEach(honors => {
// let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel);
// let awardImg = JSON.parse(honors.awardImg)
// let awardTime = moment(honors.awardTime).format("YYYY-MM-DD");
// qydt.push([awardImg[0], honors.awardName, awardTime, honors.awardingUnit, awardLevel]);
// })
// })
// return qydt;
// }
function get企业动态(data) {
let qydt = [];
let honorsCount = 0;
data.forEach(info => {
let { enterprise_honors } = info;
honorsCount += enterprise_honors.length;
enterprise_honors.forEach(honors => {
let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel);
let awardTime = moment(honors.awardTime).format("YYYY");
qydt.push([honorsCount, honors.awardName, awardTime, honors.awardingUnit, awardLevel]);
})
})
return qydt;
}
/**
*风险预警
*/
function get风险预警(data) {
}
function get服务需求(data) {
let newestFinancing: any = {};
data.forEach(info => {
let { enterprise_financings } = info;
let enterprise_financingsData = [];
enterprise_financings.forEach(financings => {
enterprise_financingsData.push({
financingAmount: financings.financingAmount,
financingRounds: financings.financingRounds,
investmentDate: new Date(financings.investmentDate).valueOf(),
investmentInstitutionsName: financings.investmentInstitutionsName
})
})
//获取最新时间的融资信息
enterprise_financingsData.sort((a, b) => {
return b.investmentDate - a.investmentDate;
})
newestFinancing = enterprise_financingsData[0];
})
// 确保 financingAmount 不为 undefined 或 null,否则设置为 0
const financingAmount = newestFinancing.financingAmount !== undefined && newestFinancing.financingAmount !== null ? newestFinancing.financingAmount : 0;
let fwxq = {
// 融资金额: `${newestFinancing.financingAmount}万元`,
融资金额: `${financingAmount}万元`,
融资轮次: changeEnumValue(FINANCINGROUNDS, newestFinancing.financingRounds),
融资时间: "-",
投资机构: newestFinancing.investmentInstitutionsName
};
if (newestFinancing.investmentDate) fwxq.融资时间 = moment(newestFinancing.investmentDate).format("YYYY-MM-DD");
return fwxq;
}
function get活动变化趋势分析(data) {
let hdbhqsfxInfo = {
融资额: [],
// 融资事件: [],
}
let year = getYearList();
for (let i = 0; i < year.length; i++) {
let 融资额 = 0;
// let 融资事件 = 0;
data.forEach(info => {
let { enterprise_financings } = info;
enterprise_financings.forEach(financings => {
let thisAnnual = moment(financings.investmentDate).year();
let thisYear = parseInt(year[i]);
if (thisAnnual === thisYear) {
融资额 += parseFloat(financings.financingAmount);
// 融资事件 += 1;
}
})
})
hdbhqsfxInfo.融资额.push({ key: year[i], value: 融资额 });
// hdbhqsfxInfo.融资事件.push({ key: year[i], value: 融资事件 });
}
let hdbhqsfx = getChart(hdbhqsfxInfo);
return hdbhqsfx;
}
//荣誉资质
// function get荣誉资质(data) {
// let ryzz = [];
// data.forEach(info => {
// let { enterprise_honors } = info;
// enterprise_honors.forEach(honors => {
// let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel);
// let awardImg = JSON.parse(honors.awardImg)
// let imgPath = `${systemConfig.imgFileUrl}${awardImg[0]}`;
// ryzz.push([imgPath, awardLevel]);
// })
// })
// return ryzz;
// }
// 修改后的荣誉资质函数
function get荣誉资质(data) {
let ryzz = [];
data.forEach(info => {
let { enterprise_honors } = info;
enterprise_honors.forEach(honors => {
let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel);
let awardImg = JSON.parse(honors.awardImg);
// 遍历所有图片
awardImg.forEach(imgName => {
let imgPath = `${systemConfig.imgFileUrl}${imgName}`;
ryzz.push([imgPath, awardLevel]);
});
})
})
return ryzz;
}
function get服务记录(data) {
let fwjl = {
// 空间服务: [],
工商服务: [],
融资服务: []
};
data.forEach(info => {
let { enterprise_services } = info;
enterprise_services.forEach(service => {
let needCategory = changeEnumValue(NEEDCATEGORY, service.needCategory);
// if ( service.needCategory == NEEDCATEGORY.空间服务) {
// fwjl.空间服务.push([needCategory, service.resolveTime, service.needContent])
// } else
if (service.needCategory == NEEDCATEGORY.工商服务) {
fwjl.工商服务.push([needCategory, service.resolveTime, service.needContent])
} else if (service.needCategory == NEEDCATEGORY.融资服务) {
fwjl.融资服务.push([needCategory, service.resolveTime, service.needContent])
}
})
})
return fwjl;
} }
...@@ -80,6 +80,7 @@ async function calculateRevenue(start: string, end: string) { ...@@ -80,6 +80,7 @@ async function calculateRevenue(start: string, end: string) {
return totalRevenue; return totalRevenue;
} }
export async function getZhyy() { export async function getZhyy() {
let zhyy = { let zhyy = {
孵化器概况:[], 孵化器概况:[],
......
import * as asyncHandler from 'express-async-handler' import * as asyncHandler from 'express-async-handler'
import * as wmkqyszhxBiz from '../biz/qyszhx'; import * as qyszhxBiz from '../biz/qyszhx';
import * as jxgljscBiz from '../biz/jxgljsc'; import * as jxgljscBiz from '../biz/jxgljsc';
...@@ -14,8 +14,8 @@ import * as publicBiz from '../biz/public'; ...@@ -14,8 +14,8 @@ import * as publicBiz from '../biz/public';
export function setRouter(httpServer){ export function setRouter(httpServer){
//======post //======post
httpServer.post('/yuyi/viewserver/getnamelist', asyncHandler(qyszhxBiz.getPinyinName))
httpServer.post('/yuyi/viewserver/qyszhx', asyncHandler(wmkqyszhxBiz.getData)); httpServer.post('/yuyi/viewserver/qyszhx', asyncHandler(qyszhxBiz.getData));
httpServer.post('/yuyi/viewserver/jxgljsc', asyncHandler(jxgljscBiz.getData)); httpServer.post('/yuyi/viewserver/jxgljsc', asyncHandler(jxgljscBiz.getData));
httpServer.post('/yuyi/viewserver/qyfw', asyncHandler(qyfwBiz.getData)); httpServer.post('/yuyi/viewserver/qyfw', asyncHandler(qyfwBiz.getData));
httpServer.post('/yuyi/viewserver/qianruqianchutable', asyncHandler(qyfwBiz.getQianRuQianChu)); httpServer.post('/yuyi/viewserver/qianruqianchutable', asyncHandler(qyfwBiz.getQianRuQianChu));
......
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