Commit 9b923304 by lixinming

no message

parent 80641fa6
......@@ -10,28 +10,25 @@ import { getDoubleYBarChartOut, getKeyValueOut, getOnceYBarChartOut, getTableOut
export async function getData(req, res) {
let excelData = zhyyTableData();
let dbData = await getZhyy();
for (let key in dbData) {
excelData[key] = dbData[key];
}
let ret:any = {};
let yqgkPackageData = keyValuePackage(excelData['园区概况'].dataList);
let yqgkPackageData = keyValuePackage(dbData['园区概况'].dataList);
ret['yqgk'] = getKeyValueOut('园区概况', yqgkPackageData);
let zfqysjPackageData = keyValuePackage(excelData['在孵企业数据'].dataList);
let zfqysjPackageData = keyValuePackage(dbData['在孵企业数据'].dataList);
ret['zfqysj'] = getKeyValueOut('在孵企业数据', zfqysjPackageData);
let rzqybhqsPackageData = onceYBarChartPackage( excelData['入驻企业变化趋势'], '','');
let rzqybhqsPackageData = onceYBarChartPackage( dbData['入驻企业变化趋势'], '','');
ret['rzqybhqs'] = getOnceYBarChartOut('入驻企业变化趋势', rzqybhqsPackageData);
let rzqyhylxPackageData = keyValuePackage(excelData['入驻企业行业类型'].dataList);
let rzqyhylxPackageData = keyValuePackage(dbData['入驻企业行业类型'].dataList);
ret['rzqyhylx'] = getKeyValueOut('入驻企业行业类型', rzqyhylxPackageData);
let fhyyPackageData = keyValuePackage(excelData['孵化运营'].dataList);
let fhyyPackageData = keyValuePackage(dbData['孵化运营'].dataList);
ret['fhyy'] = getKeyValueOut('孵化运营', fhyyPackageData);
let fhmjbhqsPackageData = onceYBarChartPackage( excelData['孵化面积变化趋势'], '','');
let fhmjbhqsPackageData = onceYBarChartPackage( dbData['孵化面积变化趋势'], '','');
ret['fhmjbhqs'] = getOnceYBarChartOut('孵化面积变化趋势', fhmjbhqsPackageData);
// let zfqybhqsPackageData = onceYBarChartPackage( excelData['在孵企业变化趋势'], '','');
......@@ -41,13 +38,13 @@ export async function getData(req, res) {
let byqybhqsPackageData = onceYBarChartPackage( excelData['毕业企业变化趋势'], '','');
ret['byqybhqs'] = getOnceYBarChartOut('毕业企业变化趋势', byqybhqsPackageData);
let rzqyPackageData = onceYBarChartPackage( excelData['融资企业变化趋势'], '','');
let rzqyPackageData = onceYBarChartPackage( dbData['融资企业变化趋势'], '','');
ret['rzqy'] = getOnceYBarChartOut('融资企业变化趋势', rzqyPackageData);
let ryzzPackageData = keyValuePackage(excelData['荣誉资质'].dataList);
let ryzzPackageData = keyValuePackage(dbData['荣誉资质'].dataList);
ret['ryzz'] = getKeyValueOut('荣誉资质', ryzzPackageData);
let zhyyhzsjPackageData = keyValuePackage(excelData['智慧运营汇总数据'].dataList);
let zhyyhzsjPackageData = keyValuePackage(dbData['智慧运营汇总数据'].dataList);
ret['zhyyhzsj'] = getKeyValueOut('智慧运营汇总数据', zhyyhzsjPackageData);
let dtTableData = tablePackage(excelData["地图"].headerList[0], excelData["地图"].bodyList);
......@@ -63,22 +60,22 @@ export async function getData(req, res) {
let jyfxPackageData = keyValuePackage(excelData['就业分析'].dataList);
ret['jyfx'] = getKeyValueOut('就业分析', jyfxPackageData);
let jdjyrsqsfxPackageData = onceYBarChartPackage( excelData['季度就业人数趋势分析'], '','');
ret['jdjyrsqsfx'] = getOnceYBarChartOut('度就业人数趋势分析', jdjyrsqsfxPackageData);
let jdjyrsqsfxPackageData = onceYBarChartPackage( dbData['年度就业人数趋势分析'], '','');
ret['jdjyrsqsfx'] = getOnceYBarChartOut('度就业人数趋势分析', jdjyrsqsfxPackageData);
let cygmfxPackageData = keyValuePackage(excelData['产业规模分析'].dataList);
ret['cygmfx'] = getKeyValueOut('产业规模分析', cygmfxPackageData);
let zfqyyszbPackageData = keyValuePackage(excelData['在孵企业营收占比'].dataList);
let zfqyyszbPackageData = keyValuePackage(dbData['在孵企业营收占比'].dataList);
ret['zfqyyszb'] = getKeyValueOut('在孵企业营收占比', zfqyyszbPackageData);
let qyfwPackageData = keyValuePackage(excelData['企业服务'].dataList);
let qyfwPackageData = keyValuePackage(dbData['企业服务'].dataList);
ret['qyfw'] = getKeyValueOut('企业服务', qyfwPackageData);
let qyfwlxPackageData = keyValuePackage(excelData['企业服务类型'].dataList);
let qyfwlxPackageData = keyValuePackage(dbData['企业服务类型'].dataList);
ret['qyfwlx'] = getKeyValueOut('企业服务类型', qyfwlxPackageData);
let fwzlTableData = tablePackage(excelData["服务质量"].headerList[0], excelData["服务质量"].bodyList);
let fwzlTableData = tablePackage(excelData["服务质量"].headerList[0], excelData["服务质量"].bodyList);//todo111
ret['fwzl'] = getTableOut( '服务质量', fwzlTableData);
let yysrqsPackageData = onceYBarChartPackage( excelData['运营收入趋势'], '','');
......
......@@ -5,6 +5,16 @@ import { changeEnumValue } from "../../tools/eccEnum";
import { getChart, getYearList } from "./out";
function getStartAndEndTimeYearList(startTime, endTime) {
let startYear = new Date(startTime).getFullYear();
let endYear = new Date(endTime).getFullYear();
let result = [];
for (let i = endYear; i <= endYear; i++) {
result.push(i);
}
return result;
}
export async function getZhyy() {
// let zhyy = {
......@@ -23,7 +33,7 @@ export async function getZhyy() {
let manyTableInfo: any = {}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } };
manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area"], where: {} };
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime"], where: {} };
let fhdbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, fhColumn, manyTableInfo);
let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, {}, ["fId", "eId", "startTime", "endTime", "state", "virtualCause",
"virtualCauseDes", "moveOutType", "moveOutTrace", "moveOutCause", "moveOutTime", "graduationTime"]);
......@@ -34,6 +44,7 @@ export async function getZhyy() {
let ruZhuCount = 0;
let areaCount = 0;
let enterpriseCount = 0;
let 面积变化Map = {};
let firstDayMsOfMonth = moment().startOf('month').valueOf();
let checlTimeMs = moment(firstDayMsOfMonth).subtract(8, 'months').valueOf();
......@@ -59,7 +70,17 @@ export async function getZhyy() {
}
let area = enterprise_leases[0].area || 0;
if (area) areaCount += parseFloat(area);
if (area) {
areaCount += parseFloat(area);
if (enterprise_leases[0].startTime && enterprise_leases[0].endTime ) {
let leasesYearList = getStartAndEndTimeYearList(enterprise_leases[0].startTime , enterprise_leases[0].endTime);
leasesYearList.forEach(itemYear => {
if (!面积变化Map[itemYear] ) 面积变化Map[itemYear] = {key:itemYear, value:0};
面积变化Map[itemYear].value += parseFloat(area);
});
}
}
enterpriseCount += 1;
......@@ -86,13 +107,26 @@ export async function getZhyy() {
let qianChuCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.企业孵化信息, { state: FUHUASTATE.迁出 }, null);
let rongZiList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业融资, {}, null);
let rongZiMap = {};
let 融资企业变化趋势Map = {};
rongZiList.forEach(info => {
let { eId } = info;
let { eId, investmentDate } = info;
if (!rongZiMap[eId]) rongZiMap[eId] = 0;
rongZiMap[eId] += 1;
let itemYear = new Date(investmentDate).getFullYear();
if (!融资企业变化趋势Map[itemYear]) 融资企业变化趋势Map[itemYear] = {};
融资企业变化趋势Map[itemYear][eId] = 1;
});
let rongZiQiYeCount = Object.keys(rongZiMap).length;
let 融资企业变化趋势 = [];
for (let key in 融资企业变化趋势Map) {
融资企业变化趋势.push({
key,
value:Object.keys(融资企业变化趋势Map[key]).length
});
}
let fuWuCount = 0;//服务数
let fuWuQiYeCountMap = {};//服务覆盖企业
let fuWuQiYeTypeMap = {};//
......@@ -147,6 +181,7 @@ export async function getZhyy() {
});
}
}
// for (let key in NEEDCATEGORY) {
// let keyAny:any = NEEDCATEGORY[key];
// if (isNaN(keyAny)) {
......@@ -177,12 +212,18 @@ export async function getZhyy() {
}
});
let 园区概况 = [
{ key: "园区面积", value: "0㎡" },
{ key: "产值规模", value: "0亿元" },
{ key: "企业数量", value: `${在孵dbList.length}家` },
{ key: "企业数量", value: `0人` },
];
let 在孵企业数据 = [
{ key: "在孵企业面积占比", value: "3%" },
{ key: "在孵企业面积占比", value: "0%" },
{ key: "入驻", value: `${ruZhuCount}家` },
{ key: "迁出", value: `${qianChuCount}家` },
{ key: "到期退租", value: "3家" },
{ key: "违约退租", value: "10家" }
{ key: "到期退租", value: "0家" },
{ key: "违约退租", value: "0家" }
];
let 孵化运营 = [
{ key: "孵化面积", value: `${areaCount}㎡` },
......@@ -192,8 +233,8 @@ export async function getZhyy() {
];
let 智慧运营汇总数据 = [
{ key: "配套服务", value: `3项` },
{ key: "第三方供应商", value: `3家` },
{ key: "配套服务", value: `0项` },
{ key: "第三方供应商", value: `0家` },
{ key: "累计服务企业", value: `${fuWuQiYeCount}次` },
];
let 企业服务 = [
......@@ -211,16 +252,75 @@ export async function getZhyy() {
let 在孵企业变化趋势 = getZfqy(在孵dbList);
//就业
let jiuYeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.参保记录, {}, null);
let 年度就业人数趋势分析Map = {};
jiuYeList.forEach(info => {
let {eId, annual} = info;
let itemCount = 0;
if (info.zhuanKe) itemCount += info.zhuanKe;
if (info.benKe) itemCount += info.benKe;
if (info.shuoshi) itemCount += info.shuoshi;
if (info.boShi) itemCount += info.boShi;
if (info.boshiyishang) itemCount += info.boshiyishang;
if (!年度就业人数趋势分析Map[annual]) 年度就业人数趋势分析Map[annual] = 0;
年度就业人数趋势分析Map[annual] += itemCount;
});
let 年度就业人数趋势分析 = Object.values(年度就业人数趋势分析Map);
//产业规模分析
let jingYingList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业经营信息, { annual:new Date().getFullYear() }, null);
let 产业规模企业Map = {};
jingYingList.forEach(info => {
let {BI, eId} = info;
if (!产业规模企业Map[eId]) 产业规模企业Map[eId] = 0;
产业规模企业Map[eId] += BI;
});
let 产业规模分析List = [
{num:400, key:"超400万", value:0},
{num:300, key:"300-400万", value:0},
{num:200, key:"200-300万", value:0},
{num:100, key:"100-200万", value:0},
{num:1, key:"<100万", value:0},
];
for (let key in 产业规模企业Map) {
let itemCount = 产业规模企业Map[key];
for (let i = 0; i < 产业规模分析List.length; i++) {
let {num} = 产业规模分析List[i];
if (itemCount > num) {
产业规模分析List[i] += itemCount;
break;
}
}
}
let 产业规模分析 = [];
产业规模分析List.forEach(info => {
let {key, value} = info;
产业规模分析.push({key, value});
})
let zhyy = {
园区概况:{dataList:园区概况, title:["key", "value"]},
在孵企业数据: { dataList: 在孵企业数据, titleList: ['key', 'value'] },
在孵企业变化趋势: 在孵企业变化趋势,
融资企业变化趋势:[{name:"融资企业变化趋势", data:融资企业变化趋势}],
入驻企业变化趋势: [{ name: "入驻企业变化趋势", data: 入驻企业变化趋势 }],
孵化面积变化趋势 :[{ name: "孵化面积变化趋势", data: Object.values(面积变化Map) }],
入驻企业行业类型: { dataList: 行业领域, titleList: ['key', 'value'] },
孵化运营: { dataList: 孵化运营, titleList: ['key', 'value'] },
智慧运营汇总数据: { dataList: 智慧运营汇总数据, titleList: ['key', 'value'] },
企业服务: { dataList: 企业服务, titleList: ['key', 'value'] },
企业服务类型: { dataList: fuWuQiYeTypeList, titleList: ['key', 'value'] },
荣誉资质:{ dataList:荣誉资质, titleList: ['key', 'value'] }
荣誉资质:{ dataList:荣誉资质, titleList: ['key', 'value'] },
年度就业人数趋势分析:[{name:"年度就业人数趋势分析", data:年度就业人数趋势分析}],
产业规模分析:{dataList:产业规模分析, title:["key", "value"]}
}
return zhyy;
......
......@@ -16,14 +16,10 @@ export function setRouter(httpServer){
//======post
httpServer.post('/yuyi/viewserver/qyszhx', asyncHandler(wmkqyszhxBiz.getData));
httpServer.post('/yuyi/viewserver/jxgljsc', asyncHandler(jxgljscBiz.getData));
httpServer.post('/yuyi/viewserver/qyfw', asyncHandler(qyfwBiz.getData));
httpServer.post('/yuyi/viewserver/qyfwbyname', asyncHandler(qyfwBiz.getEnterpriseByName));
httpServer.post('/yuyi/viewserver/zhyy', asyncHandler(zhyyBiz.getData));
httpServer.post('/yuyi/viewserver/zhyy', asyncHandler(zhyyBiz.getData));//智慧运营
httpServer.post('/yuyi/viewserver/public/selectparam', asyncHandler(publicBiz.publicRouter));
}
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