Commit e6628d8f by Zllgogo

no message

parent 89c1bb28
No preview for this file type
import { qyszhxTableData } from '../data/table/qyszhxData'; import { fxyjTableData, qyszhxTableData } from '../data/table/qyszhxData';
import { doubleYBarCharPackage, keyValuePackage, onceYBarChartPackage, rankPackage, stringListPackage, tablePackage } from '../dataPackage/inFrontOut'; import { doubleYBarCharPackage, keyValuePackage, onceYBarChartPackage, rankPackage, stringListPackage, tablePackage } from '../dataPackage/inFrontOut';
import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getStringOut, getTableOut } from '../dataPackage/out'; import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getStringOut, getTableOut } from '../dataPackage/out';
import { systemConfig } from '../config/serverConfig'; import { systemConfig } from '../config/serverConfig';
...@@ -12,8 +12,9 @@ export async function getData(req, res) { ...@@ -12,8 +12,9 @@ export async function getData(req, res) {
let dbData = await getQyszhx(eId); let dbData = await getQyszhx(eId);
let excelData = qyszhxTableData(); let excelData = qyszhxTableData();
let fxyjExcelData = fxyjTableData();
let ret:any = {}; let ret: any = {};
let qyjbqkPackageData = keyValuePackage(dbData['企业基本情况'].dataList); let qyjbqkPackageData = keyValuePackage(dbData['企业基本情况'].dataList);
// let qyjbqk = []; // let qyjbqk = [];
...@@ -53,11 +54,10 @@ export async function getData(req, res) { ...@@ -53,11 +54,10 @@ export async function getData(req, res) {
let xjrPackageData = keyValuePackage(dbData['小巨人'].dataList); let xjrPackageData = keyValuePackage(dbData['小巨人'].dataList);
ret['xjr'] = getKeyValueOut('小巨人', xjrPackageData); ret['xjr'] = getKeyValueOut('小巨人', xjrPackageData);
let zzrzPackageData = keyValuePackage(dbData['资质认证'].dataList); let zzrzPackageData = keyValuePackage(dbData['资质认证'].dataList);
ret['zzrz'] = getKeyValueOut('资质认证', zzrzPackageData); ret['zzrz'] = getKeyValueOut('资质认证', zzrzPackageData);
let zzrzbhqsPackageData = onceYBarChartPackage( dbData['资质认证变化趋势'], '','');//新增 let zzrzbhqsPackageData = onceYBarChartPackage(dbData['资质认证变化趋势'], '', '');//新增
ret['zzrzbhqs'] = getOnceYBarChartOut('资质认证变化趋势', zzrzbhqsPackageData); ret['zzrzbhqs'] = getOnceYBarChartOut('资质认证变化趋势', zzrzbhqsPackageData);
let zscqPackageData = keyValuePackage(dbData['知识产权'].dataList); let zscqPackageData = keyValuePackage(dbData['知识产权'].dataList);
...@@ -66,7 +66,7 @@ export async function getData(req, res) { ...@@ -66,7 +66,7 @@ export async function getData(req, res) {
let qyyghxPackageData = keyValuePackage(dbData['企业员工画像'].dataList); let qyyghxPackageData = keyValuePackage(dbData['企业员工画像'].dataList);
ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData); ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData);
let lnrczpqkPackageData = onceYBarChartPackage( dbData['历年人才招聘情况'], '',''); let lnrczpqkPackageData = onceYBarChartPackage(dbData['历年人才招聘情况'], '', '');
ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData); ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData);
let qyhzsjPackageData = keyValuePackage(dbData['企业汇总数据'].dataList); let qyhzsjPackageData = keyValuePackage(dbData['企业汇总数据'].dataList);
...@@ -84,67 +84,53 @@ export async function getData(req, res) { ...@@ -84,67 +84,53 @@ export async function getData(req, res) {
let ysqkPackageData = keyValuePackage(dbData['营收情况'].dataList); let ysqkPackageData = keyValuePackage(dbData['营收情况'].dataList);
ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData); ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData);
let ysbhqsPackageData = onceYBarChartPackage( dbData['营收变化趋势'], '',''); let ysbhqsPackageData = onceYBarChartPackage(dbData['营收变化趋势'], '', '');
ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData); ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData);
let qydtTableData = tablePackage(dbData["企业动态"].headerList[0], dbData["企业动态"].bodyList); let qydtTableData = tablePackage(dbData["企业动态"].headerList[0], dbData["企业动态"].bodyList);
let qydt = {dataList:[], titleList:qydtTableData.titleList}; let qydt = { dataList: [], titleList: qydtTableData.titleList };
// qydtTableData.dataList.forEach(info => { // qydtTableData.dataList.forEach(info => {
// let {A} = info; // let {A} = info;
// let imgUrl = JSON.parse(A); // let imgUrl = JSON.parse(A);
// info["A"] = imgUrl[0]; // info["A"] = imgUrl[0];
// qydt.dataList.push(info); // qydt.dataList.push(info);
// }) // })
ret['qydt'] = getTableOut( '企业动态', qydtTableData); ret['qydt'] = getTableOut('企业动态', qydtTableData);
let fxyjTableData = tablePackage(excelData["风险预警"].headerList[0], excelData["风险预警"].bodyList); let fxyjInfo = {};
ret['fxyj'] = getTableOut( '风险预警', fxyjTableData); fxyjExcelData['风险预警'].dataList.forEach(info => {
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 fwxqPackageData = keyValuePackage(dbData['服务需求'].dataList, "false");
ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData); ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData);
let hdbhqsfxPackageData = onceYBarChartPackage( dbData['活动变化趋势分析'], '',''); let hdbhqsfxPackageData = onceYBarChartPackage(dbData['活动变化趋势分析'], '', '');
ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData); ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData);
// let ryzzPackageData = tablePackage(excelData["荣誉资质"].headerList[0], excelData["荣誉资质"].bodyList); // let ryzzPackageData = keyValuePackage(excelData['荣誉资质'].dataList);
// let ryzz = {dataList:[]};
// yqtzxqTableData.dataList.forEach(info => {
// let {A} = info;
// let imgUrl = `${systemConfig.imgPath}/${A}`;
// info["A"] = imgUrl;
// ryzz.dataList.push(info);
// })
// ret['ryzz'] = getTableOut( '荣誉资质', ryzzPackageData);
let ryzzPackageData = keyValuePackage(excelData['荣誉资质'].dataList);
let ryzz = [];
ryzzPackageData.forEach(info => {
let { key, value } = info;
info.value = `${systemConfig.imgPath}/${value}`;
ryzz.push(info);
})
ret['ryzz'] = getKeyValueOut('荣誉资质', ryzz);
// let ryzzPackageData = keyValuePackage(dbData['荣誉资质'].dataList);
// let ryzz = []; // let ryzz = [];
// ryzzPackageData.forEach( info => { // ryzzPackageData.forEach(info => {
// let {key, value} = info; // let { key, value } = info;
// if (key == "荣誉资质图片") {
// info.value = `${systemConfig.imgPath}/${value}`; // info.value = `${systemConfig.imgPath}/${value}`;
// }
// ryzz.push(info); // ryzz.push(info);
// }) // })
// ret['ryzz'] = getKeyValueOut('荣誉资质', ryzz); // ret['ryzz'] = getKeyValueOut('荣誉资质', ryzz);
let ryzztp = dbData["荣誉资质图片"];
ret['ryzztp'] = { title: "荣誉资质图片", dataList: ryzztp };
let fwjl_kjfwTableData = tablePackage(dbData["服务记录_空间服务"].headerList[0], dbData["服务记录_空间服务"].bodyList); let fwjl_kjfwTableData = tablePackage(dbData["服务记录_空间服务"].headerList[0], dbData["服务记录_空间服务"].bodyList);
ret['fwjl_kjfw'] = getTableOut( '服务记录_空间服务', fwjl_kjfwTableData); ret['fwjl_kjfw'] = getTableOut('服务记录_空间服务', fwjl_kjfwTableData);
let fwjl_gsfwTableData = tablePackage(dbData["服务记录_工商服务"].headerList[0], dbData["服务记录_工商服务"].bodyList); let fwjl_gsfwTableData = tablePackage(dbData["服务记录_工商服务"].headerList[0], dbData["服务记录_工商服务"].bodyList);
ret['fwjl_gsfw'] = getTableOut( '服务记录_工商服务', fwjl_gsfwTableData); ret['fwjl_gsfw'] = getTableOut('服务记录_工商服务', fwjl_gsfwTableData);
let fwjl_rzfwTableData = tablePackage(dbData["服务记录_融资服务"].headerList[0], dbData["服务记录_融资服务"].bodyList); let fwjl_rzfwTableData = tablePackage(dbData["服务记录_融资服务"].headerList[0], dbData["服务记录_融资服务"].bodyList);
ret['fwjl_rzfw'] = getTableOut( '服务记录_融资服务', fwjl_rzfwTableData); ret['fwjl_rzfw'] = getTableOut('服务记录_融资服务', fwjl_rzfwTableData);
let fwjlPackageData = keyValuePackage(dbData['服务记录'].dataList); let fwjlPackageData = keyValuePackage(dbData['服务记录'].dataList);
ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData); ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData);
...@@ -160,13 +146,13 @@ export async function getData(req, res) { ...@@ -160,13 +146,13 @@ export async function getData(req, res) {
// info["A"] = imgUrl; // info["A"] = imgUrl;
// yqtzxq.dataList.push(info); // yqtzxq.dataList.push(info);
// }) // })
ret['yqtzxq'] = getTableOut( '园区通知详情', yqtzxqTableData); ret['yqtzxq'] = getTableOut('园区通知详情', yqtzxqTableData);
let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList); let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList);
ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData); ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData);
let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList); let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList);
ret['yqhdmx'] = getTableOut( '园区活动明细', yqhdmxTableData); ret['yqhdmx'] = getTableOut('园区活动明细', yqhdmxTableData);
res.send(ret); res.send(ret);
...@@ -179,12 +165,12 @@ export async function getData备份(req, res) { ...@@ -179,12 +165,12 @@ export async function getData备份(req, res) {
let excelData = qyszhxTableData(); let excelData = qyszhxTableData();
let ret:any = {}; let ret: any = {};
let qyjbqkPackageData = keyValuePackage(excelData['企业基本情况'].dataList); let qyjbqkPackageData = keyValuePackage(excelData['企业基本情况'].dataList);
let qyjbqk = []; let qyjbqk = [];
qyjbqkPackageData.forEach( info => { qyjbqkPackageData.forEach(info => {
let {key, value} = info; let { key, value } = info;
if (key == "企业图片") { if (key == "企业图片") {
info.value = `${systemConfig.imgPath}/${value}`; info.value = `${systemConfig.imgPath}/${value}`;
} }
...@@ -204,51 +190,51 @@ export async function getData备份(req, res) { ...@@ -204,51 +190,51 @@ export async function getData备份(req, res) {
let qyyghxPackageData = keyValuePackage(excelData['企业员工画像'].dataList); let qyyghxPackageData = keyValuePackage(excelData['企业员工画像'].dataList);
ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData); ret['qyyghx'] = getKeyValueOut('企业员工画像', qyyghxPackageData);
let lnrczpqkPackageData = onceYBarChartPackage( excelData['历年人才招聘情况'], '',''); let lnrczpqkPackageData = onceYBarChartPackage(excelData['历年人才招聘情况'], '', '');
ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData); ret['lnrczpqk'] = getOnceYBarChartOut('历年人才招聘情况', lnrczpqkPackageData);
let qyhzsjPackageData = keyValuePackage(excelData['企业汇总数据'].dataList); let qyhzsjPackageData = keyValuePackage(excelData['企业汇总数据'].dataList);
ret['qyhzsj'] = getKeyValueOut('企业汇总数据', qyhzsjPackageData); ret['qyhzsj'] = getKeyValueOut('企业汇总数据', qyhzsjPackageData);
let xjrTableData = tablePackage(excelData["小巨人"].headerList[0], excelData["小巨人"].bodyList); let xjrTableData = tablePackage(excelData["小巨人"].headerList[0], excelData["小巨人"].bodyList);
ret['xjr'] = getTableOut( '小巨人', xjrTableData); ret['xjr'] = getTableOut('小巨人', xjrTableData);
let gxqyTableData = tablePackage(excelData["高新企业"].headerList[0], excelData["高新企业"].bodyList); let gxqyTableData = tablePackage(excelData["高新企业"].headerList[0], excelData["高新企业"].bodyList);
ret['gxqy'] = getTableOut( '高新企业', gxqyTableData); ret['gxqy'] = getTableOut('高新企业', gxqyTableData);
let zjtxTableData = tablePackage(excelData["专精特新"].headerList[0], excelData["专精特新"].bodyList); let zjtxTableData = tablePackage(excelData["专精特新"].headerList[0], excelData["专精特新"].bodyList);
ret['zjtx'] = getTableOut( '专精特新', zjtxTableData); ret['zjtx'] = getTableOut('专精特新', zjtxTableData);
let ysqkPackageData = keyValuePackage(excelData['营收情况'].dataList); let ysqkPackageData = keyValuePackage(excelData['营收情况'].dataList);
ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData); ret['ysqk'] = getKeyValueOut('营收情况', ysqkPackageData);
let ysbhqsPackageData = onceYBarChartPackage( excelData['营收变化趋势'], '',''); let ysbhqsPackageData = onceYBarChartPackage(excelData['营收变化趋势'], '', '');
ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData); ret['ysbhqs'] = getOnceYBarChartOut('营收变化趋势', ysbhqsPackageData);
let qydtTableData = tablePackage(excelData["企业动态"].headerList[0], excelData["企业动态"].bodyList); let qydtTableData = tablePackage(excelData["企业动态"].headerList[0], excelData["企业动态"].bodyList);
let qydt = {dataList:[], titleList:qydtTableData.titleList}; let qydt = { dataList: [], titleList: qydtTableData.titleList };
qydtTableData.dataList.forEach(info => { qydtTableData.dataList.forEach(info => {
let {A} = info; let { A } = info;
let imgUrl = `${systemConfig.imgPath}/${A}`; let imgUrl = `${systemConfig.imgPath}/${A}`;
info["A"] = imgUrl; info["A"] = imgUrl;
qydt.dataList.push(info); qydt.dataList.push(info);
}) })
ret['qydt'] = getTableOut( '企业动态', qydt); ret['qydt'] = getTableOut('企业动态', qydt);
let fwxqPackageData = keyValuePackage(excelData['服务需求'].dataList, "false"); let fwxqPackageData = keyValuePackage(excelData['服务需求'].dataList, "false");
ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData); ret['fwxq'] = getKeyValueOut('服务需求', fwxqPackageData);
let hdbhqsfxPackageData = onceYBarChartPackage( excelData['活动变化趋势分析'], '',''); let hdbhqsfxPackageData = onceYBarChartPackage(excelData['活动变化趋势分析'], '', '');
ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData); ret['hdbhqsfx'] = getOnceYBarChartOut('活动变化趋势分析', hdbhqsfxPackageData);
let fwjl_kjfwTableData = tablePackage(excelData["服务记录_空间服务"].headerList[0], excelData["服务记录_空间服务"].bodyList); let fwjl_kjfwTableData = tablePackage(excelData["服务记录_空间服务"].headerList[0], excelData["服务记录_空间服务"].bodyList);
ret['fwjl_kjfw'] = getTableOut( '服务记录_空间服务', fwjl_kjfwTableData); ret['fwjl_kjfw'] = getTableOut('服务记录_空间服务', fwjl_kjfwTableData);
let fwjl_gsfwTableData = tablePackage(excelData["服务记录_工商服务"].headerList[0], excelData["服务记录_工商服务"].bodyList); let fwjl_gsfwTableData = tablePackage(excelData["服务记录_工商服务"].headerList[0], excelData["服务记录_工商服务"].bodyList);
ret['fwjl_gsfw'] = getTableOut( '服务记录_工商服务', fwjl_gsfwTableData); ret['fwjl_gsfw'] = getTableOut('服务记录_工商服务', fwjl_gsfwTableData);
let fwjl_rzfwTableData = tablePackage(excelData["服务记录_融资服务"].headerList[0], excelData["服务记录_融资服务"].bodyList); let fwjl_rzfwTableData = tablePackage(excelData["服务记录_融资服务"].headerList[0], excelData["服务记录_融资服务"].bodyList);
ret['fwjl_rzfw'] = getTableOut( '服务记录_融资服务', fwjl_rzfwTableData); ret['fwjl_rzfw'] = getTableOut('服务记录_融资服务', fwjl_rzfwTableData);
let fwjlPackageData = keyValuePackage(excelData['服务记录'].dataList); let fwjlPackageData = keyValuePackage(excelData['服务记录'].dataList);
ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData); ret['fwjl'] = getKeyValueOut('服务记录', fwjlPackageData);
...@@ -257,20 +243,20 @@ export async function getData备份(req, res) { ...@@ -257,20 +243,20 @@ export async function getData备份(req, res) {
ret['yqtz'] = getKeyValueOut('园区通知', yqtzPackageData); ret['yqtz'] = getKeyValueOut('园区通知', yqtzPackageData);
let yqtzxqTableData = tablePackage(excelData["园区通知详情"].headerList[0], excelData["园区通知详情"].bodyList); let yqtzxqTableData = tablePackage(excelData["园区通知详情"].headerList[0], excelData["园区通知详情"].bodyList);
let yqtzxq = {dataList:[], titleList:yqtzxqTableData.titleList}; let yqtzxq = { dataList: [], titleList: yqtzxqTableData.titleList };
yqtzxqTableData.dataList.forEach(info => { yqtzxqTableData.dataList.forEach(info => {
let {A} = info; let { A } = info;
let imgUrl = `${systemConfig.imgPath}/${A}`; let imgUrl = `${systemConfig.imgPath}/${A}`;
info["A"] = imgUrl; info["A"] = imgUrl;
yqtzxq.dataList.push(info); yqtzxq.dataList.push(info);
}) })
ret['yqtzxq'] = getTableOut( '园区通知详情', yqtzxq); ret['yqtzxq'] = getTableOut('园区通知详情', yqtzxq);
let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList); let yqhdPackageData = keyValuePackage(excelData['园区活动'].dataList);
ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData); ret['yqhd'] = getKeyValueOut('园区活动', yqhdPackageData);
let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList); let yqhdmxTableData = tablePackage(excelData["园区活动明细"].headerList[0], excelData["园区活动明细"].bodyList);
ret['yqhdmx'] = getTableOut( '园区活动明细', yqhdmxTableData); ret['yqhdmx'] = getTableOut('园区活动明细', yqhdmxTableData);
res.send(ret); res.send(ret);
} }
\ No newline at end of file
...@@ -46,12 +46,12 @@ export async function getData(req, res) { ...@@ -46,12 +46,12 @@ export async function getData(req, res) {
let ryzzPackageData = keyValuePackage(dbData['荣誉资质'].dataList); let ryzzPackageData = keyValuePackage(dbData['荣誉资质'].dataList);
ret['ryzz'] = getKeyValueOut('荣誉资质', ryzzPackageData); ret['ryzz'] = getKeyValueOut('荣誉资质', ryzzPackageData);
let ryzztp = dbData["荣誉资质图片"]; // let ryzztp = dbData["荣誉资质图片"];
// let ryzztpList = []; // // let ryzztpList = [];
// for (let i = 0; i < ryzztp.length; i++) { // // for (let i = 0; i < ryzztp.length; i++) {
// ryzztpList.push(`${systemConfig.imgPath}/${ryzztp[i][0]}`);//systemConfig.imgFileUrl = imgFileUrl[0]; // // ryzztpList.push(`${systemConfig.imgPath}/${ryzztp[i][0]}`);//systemConfig.imgFileUrl = imgFileUrl[0];
// } // // }
ret['ryzztp'] = { title: "荣誉资质图片", dataList: ryzztp }; // ret['ryzztp'] = { title: "荣誉资质图片", dataList: ryzztp };
let zhyyhzsjPackageData = keyValuePackage(dbData['智慧运营汇总数据'].dataList); let zhyyhzsjPackageData = keyValuePackage(dbData['智慧运营汇总数据'].dataList);
ret['zhyyhzsj'] = getKeyValueOut('智慧运营汇总数据', zhyyhzsjPackageData); ret['zhyyhzsj'] = getKeyValueOut('智慧运营汇总数据', zhyyhzsjPackageData);
...@@ -71,7 +71,6 @@ export async function getData(req, res) { ...@@ -71,7 +71,6 @@ export async function getData(req, res) {
let jyfxPackageData = keyValuePackage(dbData['就业分析'].dataList); let jyfxPackageData = keyValuePackage(dbData['就业分析'].dataList);
ret['jyfx'] = getKeyValueOut('就业分析', jyfxPackageData); ret['jyfx'] = getKeyValueOut('就业分析', jyfxPackageData);
let jdjyrsqsfxPackageData = onceYBarChartPackage(dbData['年度就业人数趋势分析'], '', ''); let jdjyrsqsfxPackageData = onceYBarChartPackage(dbData['年度就业人数趋势分析'], '', '');
ret['jdjyrsqsfx'] = getOnceYBarChartOut('年度就业人数趋势分析', jdjyrsqsfxPackageData); ret['jdjyrsqsfx'] = getOnceYBarChartOut('年度就业人数趋势分析', jdjyrsqsfxPackageData);
......
...@@ -60,12 +60,14 @@ export async function getEnterprise() { ...@@ -60,12 +60,14 @@ export async function getEnterprise() {
let fhdbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {}, fhColumn); let fhdbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {}, fhColumn);
//获取在孵企业 //获取在孵企业
// 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.企业孵化信息, {}, fhColumn); let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {state: { "%ne%": FUHUASTATE.迁出 }}, fhColumn);
//获取毕业企业 //获取毕业企业
// let 毕业dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "moveOutType": MOVEOUTTYPE.毕业迁出 }, fhColumn); // let 毕业dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "moveOutType": MOVEOUTTYPE.毕业迁出 }, fhColumn);
let 毕业dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "moveOutType": EMIGRATIONTYPE.毕业迁出 }, fhColumn); let 毕业dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "moveOutType": EMIGRATIONTYPE.毕业迁出 }, fhColumn);
let 迁出dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {}, fhColumn);
//获取所有企业孵化表联查企业信息表 //获取所有企业孵化表联查企业信息表
let 孵化企业includeConf = {}; let 孵化企业includeConf = {};
let 孵化企业Clumn = ["enterpriseName", "industry"]; let 孵化企业Clumn = ["enterpriseName", "industry"];
...@@ -79,7 +81,7 @@ export async function getEnterprise() { ...@@ -79,7 +81,7 @@ export async function getEnterprise() {
//变化趋势分析 //todo 需要日志表 //变化趋势分析 //todo 需要日志表
// getBhqsfx(fhdbList); // getBhqsfx(fhdbList);
let 在孵企业变化趋势 = getZfqy(在孵dbList); let 在孵企业变化趋势 = getZfqy(在孵dbList, 毕业dbList);
qyfw.变化趋势分析 = getChart(在孵企业变化趋势); qyfw.变化趋势分析 = getChart(在孵企业变化趋势);
//入孵时长分布 //入孵时长分布
...@@ -125,7 +127,7 @@ export async function getEnterprise() { ...@@ -125,7 +127,7 @@ export async function getEnterprise() {
qyfw.企业需求动态详细.bodyList = qyxqdtxx; qyfw.企业需求动态详细.bodyList = qyxqdtxx;
//企业变化情况 //企业变化情况
let qybhqk = getQybhqk(在孵dbList); let qybhqk = getQybhqk(在孵dbList, 迁出dbList);
qyfw.企业变化情况.dataList = getKeyValue(qybhqk); qyfw.企业变化情况.dataList = getKeyValue(qybhqk);
//企业变化情况——变化趋势 //企业变化情况——变化趋势
...@@ -320,7 +322,7 @@ function getBhqsfx(data) { ...@@ -320,7 +322,7 @@ function getBhqsfx(data) {
// return bhqsfx; // return bhqsfx;
// } // }
function getZfqy(data) { function getZfqy(在孵dbList, 毕业dbList) {
let year = getYearList(); let year = getYearList();
let bhqsfx = { let bhqsfx = {
"在孵": [], "在孵": [],
...@@ -333,7 +335,7 @@ function getZfqy(data) { ...@@ -333,7 +335,7 @@ function getZfqy(data) {
bhqsfx.毕业.push({ key: year[i], value: 0 }); bhqsfx.毕业.push({ key: year[i], value: 0 });
} }
data.forEach(info => { 在孵dbList.forEach(info => {
let startTimeYear = moment(info.startTime).year(); // 获取入孵开始时间 let startTimeYear = moment(info.startTime).year(); // 获取入孵开始时间
let endTimeYear = moment(info.endTime).year(); // 获取入孵结束时间 let endTimeYear = moment(info.endTime).year(); // 获取入孵结束时间
let moveOutType = info.moveOutType; let moveOutType = info.moveOutType;
...@@ -346,10 +348,27 @@ function getZfqy(data) { ...@@ -346,10 +348,27 @@ function getZfqy(data) {
} }
} }
// // 统计毕业企业
// if (moveOutType === EMIGRATIONTYPE.毕业迁出) {
// for (let i = 0; i < year.length; i++) {
// if (parseInt(year[i]) === startTimeYear) {
// bhqsfx.毕业[i].value += 1;
// break;
// }
// }
// }
});
毕业dbList.forEach(info => {
let startTimeYear = moment(info.startTime).year(); // 获取入孵开始时间
let endTimeYear = moment(info.endTime).year(); // 获取入孵结束时间
let moveOutType = info.moveOutType;
// 统计毕业企业 // 统计毕业企业
if (moveOutType === EMIGRATIONTYPE.毕业迁出) { if (moveOutType === EMIGRATIONTYPE.毕业迁出) {
for (let i = 0; i < year.length; i++) { for (let i = 0; i < year.length; i++) {
if (parseInt(year[i]) === endTimeYear) { if (parseInt(year[i]) === startTimeYear) {
bhqsfx.毕业[i].value += 1; bhqsfx.毕业[i].value += 1;
break; break;
} }
...@@ -377,9 +396,9 @@ function getRfscfx(data) { ...@@ -377,9 +396,9 @@ function getRfscfx(data) {
let nowTime = moment(); let nowTime = moment();
data.forEach(item => { data.forEach(item => {
let parsedEndTime = moment(item.endTime); //获取入孵结束时间 let parsedEndTime = moment(item.endTime); //获取入孵结束时间
let monthDiff = parsedEndTime.diff(nowTime, 'months'); let monthDiff = parsedEndTime.diff(nowTime, 'months');// 获取月份差值
if (monthDiff >= 0 && monthDiff < 3) rfscfx.即将到期 += 1;
if (monthDiff >= 0 && monthDiff < 3) rfscfx.即将到期 += 1;
else if (monthDiff >= 3 && monthDiff < 12) rfscfx["1年以内"] += 1; else if (monthDiff >= 3 && monthDiff < 12) rfscfx["1年以内"] += 1;
else if (monthDiff >= 12 && monthDiff < 24) rfscfx["1-2年"] += 1; else if (monthDiff >= 12 && monthDiff < 24) rfscfx["1-2年"] += 1;
else if (monthDiff >= 24 && monthDiff < 36) rfscfx["2-3年"] += 1; else if (monthDiff >= 24 && monthDiff < 36) rfscfx["2-3年"] += 1;
...@@ -398,8 +417,8 @@ async function getQyfwhzsj() { ...@@ -398,8 +417,8 @@ async function getQyfwhzsj() {
let qyfwhzsj = { let qyfwhzsj = {
"企业总营收额": 0, "企业总营收额": 0,
"企业纳税": 0, "企业纳税": 0,
"融资企业": 0, "融资企业": "",
"企业专利": 0 "企业专利": 0,
}; };
let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, null); let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, null);
经营信息dbList.forEach(info => { 经营信息dbList.forEach(info => {
...@@ -408,17 +427,28 @@ async function getQyfwhzsj() { ...@@ -408,17 +427,28 @@ async function getQyfwhzsj() {
}) })
let 企业融资dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, null); let 企业融资dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, null);
企业融资dbList.forEach(info => { qyfwhzsj.融资企业 = `${企业融资dbList.length}家`; // 保持原逻辑
// 企业融资dbList.forEach(info => {
// qyfwhzsj.融资企业 += parseInt(info.financingAmount); // qyfwhzsj.融资企业 += parseInt(info.financingAmount);
qyfwhzsj.融资企业 += 1;// 累加融资企业数量 // qyfwhzsj.融资企业 += 1;// 累加融资企业数量
}) // })
let 企业专利dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.知识产权, {}, null); let 企业专利dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.知识产权, {}, null);
企业专利dbList.forEach(info => { 企业专利dbList.forEach(info => {
qyfwhzsj.企业专利 += parseInt(info.number || 0); qyfwhzsj.企业专利 += parseInt(info.number || 0);
}) })
return qyfwhzsj; // return qyfwhzsj;
// 格式化输出(不改变原始数据类型)
return {
...qyfwhzsj,
"企业总营收额": `${qyfwhzsj.企业总营收额}万`, // 添加带单位的字段
"企业纳税": `${qyfwhzsj.企业纳税}万` ,// 添加带单位的字段
"企业专利": `${qyfwhzsj.企业专利}个` // 添加带单位的字段
};
} }
...@@ -474,14 +504,14 @@ async function getQyxqdt(入孵申请dbList, 企业服务Count) { ...@@ -474,14 +504,14 @@ async function getQyxqdt(入孵申请dbList, 企业服务Count) {
// return qybhqk; // return qybhqk;
// } // }
function getQybhqk(data) { function getQybhqk(在孵dbList, 迁出dbList) {
let qybhqk = { let qybhqk = {
新增企业: 0, // 统计当前年份入孵企业 新增企业: 0, // 统计当前年份入孵企业
迁出企业: 0 // 统计当前年份迁出企业 迁出企业: 0 // 统计当前年份迁出企业
} }
let nowTime = moment(); let nowTime = moment();
data.forEach(info => { 在孵dbList.forEach(info => {
let parsedStartTime = moment(info.startTime); // 获取入孵开始时间 let parsedStartTime = moment(info.startTime); // 获取入孵开始时间
let parsedMoveOutTime = moment(info.moveOutTime); // 获取迁出时间 let parsedMoveOutTime = moment(info.moveOutTime); // 获取迁出时间
...@@ -491,11 +521,21 @@ function getQybhqk(data) { ...@@ -491,11 +521,21 @@ function getQybhqk(data) {
} }
// 检查迁出时间的年份是否与当前年份相同 // 检查迁出时间的年份是否与当前年份相同
// if (parsedMoveOutTime.isValid() && parsedMoveOutTime.year() === nowTime.year()) {
// qybhqk.迁出企业 += 1;
// }
})
迁出dbList.forEach(info => {
let parsedMoveOutTime = moment(info.moveOutTime); // 获取迁出时间
// 检查迁出时间的年份是否与当前年份相同
if (parsedMoveOutTime.isValid() && parsedMoveOutTime.year() === nowTime.year()) { if (parsedMoveOutTime.isValid() && parsedMoveOutTime.year() === nowTime.year()) {
qybhqk.迁出企业 += 1; qybhqk.迁出企业 += 1;
} }
}) })
return qybhqk; return qybhqk;
} }
...@@ -547,7 +587,8 @@ async function getJrfw(data, 企业融资dbList) { ...@@ -547,7 +587,8 @@ async function getJrfw(data, 企业融资dbList) {
jrfw.本月融资金额 = Math.round((jrfw.本月融资金额) * 100) / 100; //单位换算成万亿 jrfw.本月融资金额 = Math.round((jrfw.本月融资金额) * 100) / 100; //单位换算成万亿
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
//获取在孵企业经营数据 //获取在孵企业经营数据
let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { eId: data[i].eId }, null); // let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { eId: data[i].eId}, null);
let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, null);
经营信息dbList.forEach(info => { 经营信息dbList.forEach(info => {
jrfw.在孵企业总营收 += parseFloat(info.BI); jrfw.在孵企业总营收 += parseFloat(info.BI);
}) })
...@@ -607,7 +648,8 @@ async function getZfqyzys(data) { ...@@ -607,7 +648,8 @@ async function getZfqyzys(data) {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
//获取在孵企业经营数据 //获取在孵企业经营数据
let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { eId: data[i].eId }, null); // let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { eId: data[i].eId }, null);
let 经营信息dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, {}, null);
经营信息dbList.forEach(info => { //BI(单位万元) 经营信息dbList.forEach(info => { //BI(单位万元)
if (info.BI < 500) zfqyzys["500万以下"] += 1; if (info.BI < 500) zfqyzys["500万以下"] += 1;
else if (info.BI >= 500 && info.BI < 1000) zfqyzys["500万-1000万"] += 1; else if (info.BI >= 500 && info.BI < 1000) zfqyzys["500万-1000万"] += 1;
......
...@@ -5,6 +5,7 @@ import { getChart, getKeyValue, getYearList } from "./out"; ...@@ -5,6 +5,7 @@ import { getChart, getKeyValue, 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";
import { systemConfig } from "../../config/serverConfig";
...@@ -31,6 +32,7 @@ export async function getQyszhx(eId) { ...@@ -31,6 +32,7 @@ export async function getQyszhx(eId) {
// 风险预警:{ bodyList: [], headerList: [['风险预警名称', '风险预警时间', '风险预警类型', '风险预警原因']] }, // 风险预警:{ bodyList: [], headerList: [['风险预警名称', '风险预警时间', '风险预警类型', '风险预警原因']] },
服务需求: { dataList: [], titleList: ['key', 'value'] }, 服务需求: { dataList: [], titleList: ['key', 'value'] },
活动变化趋势分析: [], 活动变化趋势分析: [],
荣誉资质图片: {},
服务记录_空间服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] }, 服务记录_空间服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
服务记录_工商服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] }, 服务记录_工商服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
服务记录_融资服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] }, 服务记录_融资服务: { bodyList: [], headerList: [['服务名称', '服务时间', '服务内容']] },
...@@ -119,7 +121,7 @@ export async function getQyszhx(eId) { ...@@ -119,7 +121,7 @@ export async function getQyszhx(eId) {
首次入孵时间: "-", 首次入孵时间: "-",
}; };
if (企业基础信息.logonTime) qyjbsj.注册时间 = moment(企业基础信息.logonTime).format("YYYY-MM-DD") if (企业基础信息.logonTime) qyjbsj.注册时间 = moment(企业基础信息.logonTime).format("YYYY-MM-DD")
if (企业孵化信息[0].enterprise_fuhuas.startTime) qyjbsj.首次入孵时间 = moment(企业孵化信息[0].enterprise_fuhuas.startTime).format("YYYY-MM-DD") if (企业孵化信息[0].enterprise_fuhuas[0].startTime) qyjbsj.首次入孵时间 = moment(企业孵化信息[0].enterprise_fuhuas[0].startTime).format("YYYY-MM-DD")
qyszhx.企业基本数据.dataList = getKeyValue(qyjbsj); qyszhx.企业基本数据.dataList = getKeyValue(qyjbsj);
//企业标签 todo //企业标签 todo
...@@ -134,11 +136,11 @@ export async function getQyszhx(eId) { ...@@ -134,11 +136,11 @@ export async function getQyszhx(eId) {
/** /**
* 企业自画像 * 企业自画像
*/ */
let qyzp = get企业自画像(企业经营信息, 企业融资信息,企业专利信息 ); let qyzp = get企业自画像(企业经营信息, 企业融资信息, 企业专利信息);
qyszhx.企业自画像.dataList = getKeyValue(qyzp); qyszhx.企业自画像.dataList = getKeyValue(qyzp);
//租房补贴 //租房补贴
let zfbz = get租房补贴(企业资质信息, 企业专利信息, 参保记录信息 ); let zfbz = get租房补贴(企业资质信息, 企业专利信息, 参保记录信息);
qyszhx.租房补贴.dataList = getKeyValue(zfbz); qyszhx.租房补贴.dataList = getKeyValue(zfbz);
// //高新 // //高新
...@@ -194,8 +196,6 @@ export async function getQyszhx(eId) { ...@@ -194,8 +196,6 @@ export async function getQyszhx(eId) {
qyszhx.企业汇总数据.dataList = getKeyValue(qyhzsj); qyszhx.企业汇总数据.dataList = getKeyValue(qyhzsj);
//营收情况 //营收情况
let { ysqk, ysbhqs } = get营收情况(企业经营信息); let { ysqk, ysbhqs } = get营收情况(企业经营信息);
qyszhx.营收情况.dataList = getKeyValue(ysqk); qyszhx.营收情况.dataList = getKeyValue(ysqk);
...@@ -203,7 +203,7 @@ export async function getQyszhx(eId) { ...@@ -203,7 +203,7 @@ export async function getQyszhx(eId) {
//营收变化趋势 //营收变化趋势
qyszhx.营收变化趋势 = ysbhqs; qyszhx.营收变化趋势 = ysbhqs;
//企业动 //企业动
let qydt = get企业动态(企业荣誉信息); let qydt = get企业动态(企业荣誉信息);
qyszhx.企业动态.bodyList = qydt; qyszhx.企业动态.bodyList = qydt;
...@@ -220,6 +220,11 @@ export async function getQyszhx(eId) { ...@@ -220,6 +220,11 @@ export async function getQyszhx(eId) {
let hdbhqsfx = get活动变化趋势分析(企业融资信息); let hdbhqsfx = get活动变化趋势分析(企业融资信息);
qyszhx.活动变化趋势分析 = hdbhqsfx; qyszhx.活动变化趋势分析 = hdbhqsfx;
//荣誉资质
let ryzz = get荣誉资质(企业荣誉信息);
qyszhx.荣誉资质图片 = ryzz;
//服务记录_空间服务 //服务记录_空间服务
let fwjlxx = get服务记录(企业服务信息); let fwjlxx = get服务记录(企业服务信息);
// qyszhx.服务记录_空间服务.bodyList = fwjlxx.空间服务; // qyszhx.服务记录_空间服务.bodyList = fwjlxx.空间服务;
...@@ -276,52 +281,109 @@ export async function getQyszhx(eId) { ...@@ -276,52 +281,109 @@ export async function getQyszhx(eId) {
/** /**
* 计算研发占比的函数 * 计算研发占比的函数
*/ */
// function get研发占比(data) {
// let yfzb = [];
// data.forEach(info => {
// let { enterprise_manages } = info;
// enterprise_manages.forEach(manage => {
// if (parseFloat(manage.BI) > 0) {
// let ratio = parseFloat(manage.RD) / parseFloat(manage.BI);
// let 百分比 = (ratio * 100).toFixed(2) + "%";
// let 达标状态: string;
// // 判断是否已达标
// if(ratio * 100 >= 80.5){
// 达标状态 = "已达标";
// }else{
// 达标状态 = "继续努力";
// }
// yfzb.push({
// 年份: moment(manage.annual).format("YYYY"),
// 研发占比: 百分比,
// 达标状态: 达标状态
// });
// }
// });
// });
// return yfzb;
// }
function get研发占比(data) { function get研发占比(data) {
let yfzb = []; let yfzb = [];
data.forEach(info => { data.forEach(info => {
let { enterprise_manages } = info; let { enterprise_manages } = info;
let quarterlyRD = { [QUARTER.第一季度]: 0, [QUARTER.第二季度]: 0, [QUARTER.第三季度]: 0, [QUARTER.第四季度]: 0 };
let quarterlyBI = { [QUARTER.第一季度]: 0, [QUARTER.第二季度]: 0, [QUARTER.第三季度]: 0, [QUARTER.第四季度]: 0 };
enterprise_manages.forEach(manage => { enterprise_manages.forEach(manage => {
if (parseFloat(manage.BI) > 0) { if (parseFloat(manage.BI) > 0) {
let ratio = parseFloat(manage.RD) / parseFloat(manage.BI); const quarter = getQuarter(manage.annual);
quarterlyRD[quarter] += parseFloat(manage.RD);
quarterlyBI[quarter] += parseFloat(manage.BI);
}
});
// 计算每个季度的研发占比,并生成年份信息
for (let quarter of [QUARTER.第一季度, QUARTER.第二季度, QUARTER.第三季度, QUARTER.第四季度]) {
if (quarterlyBI[quarter] > 0) {
let ratio = quarterlyRD[quarter] / quarterlyBI[quarter];
let 百分比 = (ratio * 100).toFixed(2) + "%"; let 百分比 = (ratio * 100).toFixed(2) + "%";
let 达标状态: string; let 达标状态: string;
// 判断是否已达标
if(ratio * 100 >= 80.5){ if (ratio * 100 >= 80.5) {
达标状态 = "已达标"; 达标状态 = "已达标";
}else{ } else {
达标状态 = "继续努力"; 达标状态 = "继续努力";
} }
// 确保年份信息从 manage 中正确提取
let 年份 = moment(enterprise_manages[0]?.annual).format("YYYY"); // 假设所有季度属于同一年
yfzb.push({ yfzb.push({
年份: moment(manage.annual).format("YYYY"), 年份,
研发占比: 百分比, 研发占比: 百分比,
达标状态: 达标状态 达标状态,
目标值: "80.5%",
}); });
} }
}); }
}); });
return yfzb; return yfzb;
} }
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.第四季度;
}
/** /**
* 企业自画像 * 企业自画像
*/ */
function get企业自画像(企业经营信息, 企业融资信息, 企业专利信息) { function get企业自画像(企业经营信息, 企业融资信息, 企业专利信息) {
// 初始化企业自画像数据 // 初始化企业自画像数据
let qyzp = { let qyzp = {
企业总得分: "良好", 企业总得分: "-",
企业融资: "", 企业融资: "-",
本月融资额: 0, 本月融资额: 0,
短期营收: "", 短期营收: "-",
营收金额: 0, 营收金额: 0,
知识产权: "", 知识产权: "-",
专利个数: 0, 专利个数: 0,
研发投入: "", 研发投入: "-",
投入金额: 0, 投入金额: 0,
研发占比: "", 研发占比: "-",
}; };
// 获取当前月份 // 获取当前月份
...@@ -350,12 +412,17 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -350,12 +412,17 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
qyzp["本月融资额"] = 本月融资总额; // 返回本月融资额 qyzp["本月融资额"] = 本月融资总额; // 返回本月融资额
if (本月融资总额 >= 100000) { // 修改为企业融资:10W及以上为优秀 if (本月融资总额 > 0) {
if (本月融资总额 >= 100000) { // 修改为企业融资:10W及以上为优秀,
qyzp["企业融资"] = "优秀"; qyzp["企业融资"] = "优秀";
优秀维度计数++; 优秀维度计数++;
}else{ } else {
qyzp["企业融资"] = "良好"; qyzp["企业融资"] = "良好";
} }
} else {
qyzp["企业融资"] = "-";
}
// 2. 判断短期营收是否优秀 // 2. 判断短期营收是否优秀
let 短期营收总额 = 0; let 短期营收总额 = 0;
...@@ -368,12 +435,16 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -368,12 +435,16 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
qyzp["营收金额"] = 短期营收总额; // 返回营收金额 qyzp["营收金额"] = 短期营收总额; // 返回营收金额
if (短期营收总额 > 0) {
if (短期营收总额 >= 1000000) { // 修改为营收:100W及以上为优秀 if (短期营收总额 >= 1000000) { // 修改为营收:100W及以上为优秀
qyzp["短期营收"] = "优秀"; qyzp["短期营收"] = "优秀";
优秀维度计数++; 优秀维度计数++;
}else{ } else {
qyzp["短期营收"] = "良好"; qyzp["短期营收"] = "良好";
} }
} else {
qyzp["短期营收"] = "-";
}
// 3. 判断知识产权是否优秀 // 3. 判断知识产权是否优秀
let 专利总数 = 0; let 专利总数 = 0;
...@@ -384,12 +455,17 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -384,12 +455,17 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
qyzp["专利个数"] = 专利总数; // 返回专利个数 qyzp["专利个数"] = 专利总数; // 返回专利个数
if (专利总数 > 0) {
if (专利总数 >= 2) { // 修改为知识产权:两个及以上为优秀 if (专利总数 >= 2) { // 修改为知识产权:两个及以上为优秀
qyzp["知识产权"] = "优秀"; qyzp["知识产权"] = "优秀";
优秀维度计数++; 优秀维度计数++;
} else if (专利总数 === 1) { } else if (专利总数 === 1) {
qyzp["知识产权"] = "良好"; qyzp["知识产权"] = "良好";
} }
} else {
qyzp["知识产权"] = "-";
}
// 4. 判断研发投入是否优秀 // 4. 判断研发投入是否优秀
let 研发投入总额 = 0; let 研发投入总额 = 0;
...@@ -402,27 +478,37 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利 ...@@ -402,27 +478,37 @@ function get企业自画像(企业经营信息, 企业融资信息, 企业专利
}); });
}); });
let 研发占比 =总收入 > 0 ? (研发投入总额 /总收入) : 0; let 研发占比 = 总收入 > 0 ? (研发投入总额 / 总收入) : 0;
qyzp["投入金额"] =研发投入总额; // 返回研发投入金额 qyzp["投入金额"] = 研发投入总额; // 返回研发投入金额
qyzp["研发占比"] = `${(研发占比 * 100).toFixed(2)}%`; qyzp["研发占比"] = `${(研发占比 * 100).toFixed(2)}%`;
if (研发占比 > 0) {
if (研发占比 >= 0.2) { // 修改为研发占比:20%以上为优秀 if (研发占比 >= 0.2) { // 修改为研发占比:20%以上为优秀
qyzp["研发投入"] = "优秀"; qyzp["研发投入"] = "优秀";
优秀维度计数++; 优秀维度计数++;
}else{ } else {
qyzp["研发投入"] = "良好"; qyzp["研发投入"] = "良好";
} }
} else {
qyzp["研发投入"] = "-";
}
// 根据优秀维度计数确定企业总评等级 // 根据优秀维度计数确定企业总评等级
if (优秀维度计数 > 0) {
if (优秀维度计数 >= 2) { if (优秀维度计数 >= 2) {
qyzp["企业总得分"] = "优秀"; qyzp["企业总得分"] = "优秀";
} else { } else {
qyzp["企业总得分"] = "良好"; qyzp["企业总得分"] = "良好";
} }
} else {
qyzp["企业总得分"] = "-";
}
return qyzp; return qyzp;
} }
/** /**
* 租房补贴 * 租房补贴
*/ */
...@@ -559,7 +645,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信 ...@@ -559,7 +645,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
function get资质达标情况(data, key: string) { function get资质达标情况(data, key: string) {
let result = { let result = {
占比: 0, 占比: 0,
是否达标: "未达标", 是否达标: "继续努力",
}; };
data.forEach(info => { data.forEach(info => {
...@@ -568,7 +654,7 @@ function get资质达标情况(data, key: string) { ...@@ -568,7 +654,7 @@ function get资质达标情况(data, key: string) {
if (item[key]) { if (item[key]) {
result.占比 = 100; result.占比 = 100;
result.是否达标 = "已达标"; result.是否达标 = "已达标";
}else{ } else {
result.占比 = 0; result.占比 = 0;
result.是否达标 = "继续努力"; result.是否达标 = "继续努力";
} }
...@@ -766,6 +852,7 @@ function get营收情况(data) { ...@@ -766,6 +852,7 @@ function get营收情况(data) {
}) })
}) })
for (let i = 0; i < year.length; i++) { for (let i = 0; i < year.length; i++) {
let 营业收入 = 0; let 营业收入 = 0;
let 研发投入 = 0; let 研发投入 = 0;
...@@ -783,8 +870,11 @@ function get营收情况(data) { ...@@ -783,8 +870,11 @@ function get营收情况(data) {
}) })
}) })
ysbhqsInfo.营业收入.push({ key: year[i], value: 营业收入 }); // ysbhqsInfo.营业收入.push({ key: year[i], 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: 纳税金额 }); // ysbhqsInfo.纳税金额.push({ key: year[i], value: 纳税金额 });
} }
...@@ -821,7 +911,7 @@ function get企业动态(data) { ...@@ -821,7 +911,7 @@ function get企业动态(data) {
enterprise_honors.forEach(honors => { enterprise_honors.forEach(honors => {
let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel); let awardLevel = changeEnumValue(AWARDLEVEL, honors.awardLevel);
let awardTime = moment(honors.awardTime).format("YYYY-MM-DD"); let awardTime = moment(honors.awardTime).format("YYYY-MM-DD");
qydt.push([honorsCount, honors.awardName, awardTime, honors.awardingUnit, awardLevel ]); qydt.push([honorsCount, honors.awardName, awardTime, honors.awardingUnit, awardLevel]);
}) })
}) })
...@@ -899,6 +989,21 @@ function get活动变化趋势分析(data) { ...@@ -899,6 +989,21 @@ function get活动变化趋势分析(data) {
return hdbhqsfx; 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) { function get服务记录(data) {
let fwjl = { let fwjl = {
...@@ -925,11 +1030,3 @@ function get服务记录(data) { ...@@ -925,11 +1030,3 @@ function get服务记录(data) {
return fwjl; return fwjl;
} }
import moment = require("moment"); import moment = require("moment");
import { AWARDLEVEL, EMIGRATIONTYPE, FOLLOWUPSTATUS, FUHUASTATE, INDUSTRY, MOVEOUTTYPE, NEEDCATEGORY, OPERATIONALDATATYPE, TABLENAME } from "../../config/enum"; import { AWARDLEVEL, EMIGRATIONTYPE, FOLLOWUPSTATUS, FUHUASTATE, INDUSTRY, MOVEOUTTYPE, NEEDCATEGORY, OPERATIONALDATATYPE, QUARTER, TABLENAME } from "../../config/enum";
import { selectData, selectManyTableData } from "./operationalData"; import { selectData, selectManyTableData } from "./operationalData";
import { changeEnumValue } from "../../tools/eccEnum"; import { changeEnumValue } from "../../tools/eccEnum";
import { getChart, getYearList } from "./out"; import { getChart, getYearList } from "./out";
...@@ -18,6 +18,69 @@ function getStartAndEndTimeYearList(startTime, endTime) { ...@@ -18,6 +18,69 @@ function getStartAndEndTimeYearList(startTime, endTime) {
return result; return result;
} }
// 获取当前年份的四个季度
function getQuarterList(year: number) {
const quarters = [];
for (let quarter = 1; quarter <= 4; quarter++) {
const start = moment()
.year(year)
.quarter(quarter)
.startOf('quarter')
.format('YYYY-MM-DD HH:mm:ss');
const end = moment()
.year(year)
.quarter(quarter)
.endOf('quarter')
.format('YYYY-MM-DD HH:mm:ss');
quarters.push({ quarter, start, end });
}
return quarters;
}
/**
* 获取指定季度的起止时间
* @param year 年份
* @param quarter 季度 (1-4)
* @returns 当前季度的起止时间对象 { start, end }
*/
function getQuarterRange(year: number, quarter: number) {
const start = moment()
.year(year)
.quarter(quarter)
.startOf('quarter')
.format('YYYY-MM-DD HH:mm:ss');
const end = moment()
.year(year)
.quarter(quarter)
.endOf('quarter')
.format('YYYY-MM-DD HH:mm:ss');
return { start, end };
}
/**
* 查询指定时间段的企业经营信息并计算总营收
* @param start 开始时间
* @param end 结束时间
* @returns 总营收
*/
async function calculateRevenue(start: string, end: string) {
const data = await selectData(
OPERATIONALDATATYPE.查询多个,
TABLENAME.企业经营信息,
{ annual: { "%between%": [start, end] } },
["BI"] // BI 字段表示营收
);
let totalRevenue = 0;
data.forEach(info => {
if (info.BI) {
totalRevenue += parseFloat(info.BI);
}
});
return totalRevenue;
}
export async function getZhyy() { export async function getZhyy() {
// let zhyy = { // let zhyy = {
// 在孵企业数据:{dataList:[], titleList:['key', 'value']}, // 在孵企业数据:{dataList:[], titleList:['key', 'value']},
...@@ -443,26 +506,19 @@ export async function getZhyy() { ...@@ -443,26 +506,19 @@ export async function getZhyy() {
const currentDate = new Date(); const currentDate = new Date();
// const currentYear = currentDate.getFullYear(); // const currentYear = currentDate.getFullYear();
const currentMonth = currentDate.getMonth() + 1; // JavaScript 的月份从0开始 const currentMonth = currentDate.getMonth() + 1; // JavaScript 的月份从0开始
// 计算当前月份的开始时间和结束时间 // 计算当前月份的开始时间和结束时间
const startOfMonth = new Date(currentYear, currentMonth - 1, 1); const startOfMonth = new Date(currentYear, currentMonth - 1, 1);
const endOfMonth = new Date(currentYear, currentMonth, 0); const endOfMonth = new Date(currentYear, currentMonth, 0);
// 计算去年同期的开始时间和结束时间 // 计算去年同期的开始时间和结束时间
const startOfLastYearMonth = new Date(currentYear - 1, currentMonth - 1, 1); const startOfLastYearMonth = new Date(currentYear - 1, currentMonth - 1, 1);
const endOfLastYearMonth = new Date(currentYear - 1, currentMonth, 0); const endOfLastYearMonth = new Date(currentYear - 1, currentMonth, 0);
// 查询本月新增就业数据 // 查询本月新增就业数据
let currentMonthNewJobs = await selectData( let currentMonthNewJobs = await selectData(OPERATIONALDATATYPE.查询多个,TABLENAME.参保记录,{ annual: { "%between%": [startOfMonth.toISOString(), endOfMonth.toISOString()] } },null);
OPERATIONALDATATYPE.查询多个,
TABLENAME.参保记录,
{ annual: { "%between%": [startOfMonth.toISOString(), endOfMonth.toISOString()] } },
null
);
// 查询去年同期新增就业数据 // 查询去年同期新增就业数据
let lastYearMonthNewJobs = await selectData( let lastYearMonthNewJobs = await selectData(OPERATIONALDATATYPE.查询多个,TABLENAME.参保记录,{ annual: { "%between%": [startOfLastYearMonth.toISOString(), endOfLastYearMonth.toISOString()] } },null);
OPERATIONALDATATYPE.查询多个,
TABLENAME.参保记录,
{ annual: { "%between%": [startOfLastYearMonth.toISOString(), endOfLastYearMonth.toISOString()] } },
null
);
// 计算本月新增就业人数 // 计算本月新增就业人数
let currentMonthJobCount = 0; let currentMonthJobCount = 0;
currentMonthNewJobs.forEach(info => { currentMonthNewJobs.forEach(info => {
...@@ -474,6 +530,7 @@ export async function getZhyy() { ...@@ -474,6 +530,7 @@ export async function getZhyy() {
if (info.boshiyishang) itemCount += parseInt(info.boshiyishang); if (info.boshiyishang) itemCount += parseInt(info.boshiyishang);
currentMonthJobCount += itemCount; currentMonthJobCount += itemCount;
}); });
// 计算去年同期新增就业人数 // 计算去年同期新增就业人数
let lastYearMonthJobCount = 0; let lastYearMonthJobCount = 0;
lastYearMonthNewJobs.forEach(info => { lastYearMonthNewJobs.forEach(info => {
...@@ -485,6 +542,7 @@ export async function getZhyy() { ...@@ -485,6 +542,7 @@ export async function getZhyy() {
if (info.boshiyishang) itemCount += parseInt(info.boshiyishang); if (info.boshiyishang) itemCount += parseInt(info.boshiyishang);
lastYearMonthJobCount += itemCount; lastYearMonthJobCount += itemCount;
}); });
// 计算同比增长率 // 计算同比增长率
let growthRate = 0; let growthRate = 0;
if (lastYearMonthJobCount !== 0) { if (lastYearMonthJobCount !== 0) {
...@@ -496,6 +554,7 @@ export async function getZhyy() { ...@@ -496,6 +554,7 @@ export async function getZhyy() {
* 年度就业人数趋势分析 * 年度就业人数趋势分析
*/ */
let jiuYeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, null); let jiuYeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, null);
let 年度就业人数趋势分析Map = {}; let 年度就业人数趋势分析Map = {};
jiuYeList.forEach(info => { jiuYeList.forEach(info => {
let { eId, annual } = info; let { eId, annual } = info;
...@@ -510,12 +569,11 @@ export async function getZhyy() { ...@@ -510,12 +569,11 @@ export async function getZhyy() {
if (!年度就业人数趋势分析Map[itemYear]) 年度就业人数趋势分析Map[itemYear] = { key: itemYear, value: 0 }; if (!年度就业人数趋势分析Map[itemYear]) 年度就业人数趋势分析Map[itemYear] = { key: itemYear, value: 0 };
年度就业人数趋势分析Map[itemYear].value += itemCount; 年度就业人数趋势分析Map[itemYear].value += itemCount;
}); });
let 年度就业人数趋势分析 = Object.values(年度就业人数趋势分析Map);
let 年度就业人数趋势分析 = Object.values(年度就业人数趋势分析Map);
/** /**
* 产业规模分析todo * 产业规模分析
* 按季度展示quarter季度: 1:第一季度 2:第二季度 3:第三季度 4:第四季度
*/ */
let jingYingThisYear = moment().startOf("year").format("YYYY-MM-DD HH:mm:ss"); let jingYingThisYear = moment().startOf("year").format("YYYY-MM-DD HH:mm:ss");
let jingYingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { annual: jingYingThisYear }, null); let jingYingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { annual: jingYingThisYear }, null);
...@@ -525,6 +583,7 @@ export async function getZhyy() { ...@@ -525,6 +583,7 @@ export async function getZhyy() {
if (!产业规模企业Map[eId]) 产业规模企业Map[eId] = 0; if (!产业规模企业Map[eId]) 产业规模企业Map[eId] = 0;
产业规模企业Map[eId] += parseFloat(BI); 产业规模企业Map[eId] += parseFloat(BI);
}); });
let 产业规模分析List = [ let 产业规模分析List = [
{ num: 400, key: "超400万", value: 0 }, { num: 400, key: "超400万", value: 0 },
{ num: 300, key: "300-400万", value: 0 }, { num: 300, key: "300-400万", value: 0 },
...@@ -548,7 +607,6 @@ export async function getZhyy() { ...@@ -548,7 +607,6 @@ export async function getZhyy() {
在孵企业营收占比.push({ key, value }); 在孵企业营收占比.push({ key, value });
}) })
let zhyy = { let zhyy = {
园区概况: { dataList: 园区概况, title: ["key", "value"] }, 园区概况: { dataList: 园区概况, title: ["key", "value"] },
在孵企业数据: { dataList: 在孵企业数据, titleList: ['key', 'value'] }, 在孵企业数据: { dataList: 在孵企业数据, titleList: ['key', 'value'] },
...@@ -563,14 +621,13 @@ export async function getZhyy() { ...@@ -563,14 +621,13 @@ export async function getZhyy() {
// 企业服务: { dataList: 企业服务, titleList: ['key', 'value'] }, // 企业服务: { dataList: 企业服务, titleList: ['key', 'value'] },
// 企业服务类型: { dataList: fuWuQiYeTypeList, titleList: ['key', 'value'] }, // 企业服务类型: { dataList: fuWuQiYeTypeList, titleList: ['key', 'value'] },
荣誉资质: { dataList: 荣誉资质, titleList: ['key', 'value'] }, 荣誉资质: { dataList: 荣誉资质, titleList: ['key', 'value'] },
荣誉资质图片: 荣誉资质图片, // 荣誉资质图片: 荣誉资质图片,
就业分析: { 就业分析: {
dataList: [ dataList: [
{ key: "本月新增就业", value: `${currentMonthJobCount}人` }, { key: "本月新增就业", value: `${currentMonthJobCount}人` },
{ key: "同比去年", value: `${growthRate.toFixed(2)}%` } { key: "同比去年", value: `${growthRate.toFixed(2)}%` }
], titleList: ['key', 'value'] ], titleList: ['key', 'value']
}, },
年度就业人数趋势分析: [{ name: "年度就业人数趋势分析", data: 年度就业人数趋势分析 }], 年度就业人数趋势分析: [{ name: "年度就业人数趋势分析", data: 年度就业人数趋势分析 }],
在孵企业营收占比: { dataList: 在孵企业营收占比, title: ["key", "value"] }, 在孵企业营收占比: { dataList: 在孵企业营收占比, title: ["key", "value"] },
企业服务: { 企业服务: {
...@@ -601,6 +658,7 @@ export async function getZhyy() { ...@@ -601,6 +658,7 @@ export async function getZhyy() {
} }
} }
return zhyy; return zhyy;
} }
......
...@@ -25,14 +25,29 @@ export function qyszhxTableData() { ...@@ -25,14 +25,29 @@ export function qyszhxTableData() {
let blockDataList = onceSheetBecomeOfblockData('yuyiServer.xlsx', '企业数字画像'); let blockDataList = onceSheetBecomeOfblockData('yuyiServer.xlsx', '企业数字画像');
let keyValueOrTitleList = ["企业基本情况", "企业基本数据", "企业标签", "企业名称", "知识产权", "企业员工画像", "企业汇总数据", "营收情况", "服务需求", "服务记录", "园区通知", "园区活动", "资质认证", "研发占比", "荣誉资质"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["企业基本情况", "企业基本数据", "企业标签", "企业名称", "知识产权", "企业员工画像", "企业汇总数据", "营收情况", "服务需求", "服务记录", "园区通知", "园区活动", "资质认证", "研发占比", "荣誉资质", "风险预警", "风险预警详情"];//适配 饼图 键值以及需要多个key的
let barChartList = ["历年人才招聘情况", "营收变化趋势", "活动变化趋势分析", "资质认证变化趋势"]; //适配 柱状图 折线图 , "资质认证" let barChartList = ["历年人才招聘情况", "营收变化趋势", "活动变化趋势分析", "资质认证变化趋势", "企业面积预警动态"]; //适配 柱状图 折线图
let stringList = []; let stringList = [];
let decollatePlanarList = ["风险预警", "小巨人", "高新企业", "专精特新", "企业动态", "服务记录_空间服务", "服务记录_工商服务", "服务记录_融资服务", "园区通知详情", "园区活动明细"];//适配 表格 let decollatePlanarList = ["小巨人", "高新企业", "专精特新", "企业动态", "服务记录_空间服务", "服务记录_工商服务", "服务记录_融资服务", "园区通知详情", "园区活动明细"];//适配 表格
let titltListConfig = {}; let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList); let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result; return result;
}
export function fxyjTableData() {
let blockDataList = onceSheetBecomeOfblockData('yuyiServer.xlsx', '风险预警');
let keyValueOrTitleList = ["风险预警",];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList = [];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
} }
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