Commit 9b923304 by lixinming

no message

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