Commit 24d87868 by chenjinjing

建设指挥大屏

parent 227a3b87
<config> <config>
<port>40005</port> <port>40006</port>
</config> </config>
\ No newline at end of file
import { gszsTableData, jstjTableData, nfTableData, tkjsTableData } from "../../data/table/constructData"; import { financialestimatesTableData, finalaccountsTableData, investmentcontrolTableData } from "../../data/table/constructData";
import { keyValuePackage, onceYBarChartPackage, stringListPackage } from "../../dataPackage/inFrontOut"; import { keyValuePackage, onceYBarChartPackage } from "../../dataPackage/inFrontOut";
import { getKeyValueOut, getOnceYBarChartOut, getStringOut } from "../../dataPackage/out"; import { getKeyValueOut, getOnceYBarChartOut } from "../../dataPackage/out";
import * as defaultConfig from "../../config/defaultConfig";
/**年份 */ /**
export function getYear(req, res) { * 概算总数
let excelData = nfTableData(); * @param req
* @param res
let ret:any = {}; */
let nfPackageData = stringListPackage(excelData['下拉年份'].dataList);
ret['nf'] = getStringOut('下拉年份', nfPackageData);
res.send(ret);
}
/**概算总数 */
export function getFinancialestimates(req, res) { export function getFinancialestimates(req, res) {
let year = req.query.year || 2023; //年份 let year = req.query.year || 2023; //年份
let excelData = gszsTableData(); let excelData = financialestimatesTableData();
let ret:any = {}; let ret:any = {};
...@@ -36,10 +28,14 @@ export function getFinancialestimates(req, res) { ...@@ -36,10 +28,14 @@ export function getFinancialestimates(req, res) {
} }
/**投控建设 */ /**
* 投控建设
* @param req
* @param res
*/
export function getInvestmentcontrol(req, res) { export function getInvestmentcontrol(req, res) {
let year = req.query.year || 2023; //年份 let year = req.query.year || 2023; //年份
let excelData = tkjsTableData(); let excelData = investmentcontrolTableData();
let ret:any = {}; let ret:any = {};
...@@ -56,32 +52,49 @@ export function getInvestmentcontrol(req, res) { ...@@ -56,32 +52,49 @@ export function getInvestmentcontrol(req, res) {
} }
/**决算统计 */ /**
* 决算统计
* @param req
* @param res
*/
export function getFinalaccounts(req, res) { export function getFinalaccounts(req, res) {
let year = req.query.year || 2023; //年份 let year = req.query.year || 2023; //年份
let line = req.query.line || "全部"; //线路 let line = req.query.line || "全部"; //线路
let excelData = jstjTableData(); let excelData = finalaccountsTableData();
let ret:any = {}; let ret:any = {};
let tkjsExcelData:any = {};
let index = 1; let index = 1;
for (let key in excelData) { for (let key in excelData) {
let tkjsExcelData:any = {};
if (key.search(year) > -1) { //匹配年份 if (key.search(year) > -1) { //匹配年份
let lineData = excelData[key]; let lineData = excelData[key];
lineData.forEach( info => { lineData.forEach( info => {
let {name, data} = info; let {name, data} = info;
if (name == line) { //判断线路 if (line == name) { //判断线路
tkjsExcelData = info; tkjsExcelData = info;
} }
}) })
if (JSON.stringify(tkjsExcelData) === "{}") {
switch (index) {
case 1:
tkjsExcelData = defaultConfig.FinalaccountsDefault;
break;
case 2:
tkjsExcelData = defaultConfig.ContractTypeDefault;
break;
case 3:
tkjsExcelData = defaultConfig.BusinessDefault;
break;
}
}
ret["api" + index] = tkjsExcelData; ret["api" + index] = tkjsExcelData;
if (index == 2) { if (index == 2) {
let itemTotal = 0; let itemTotal = 0;
tkjsExcelData.data.forEach(item => { tkjsExcelData.data.forEach(item => {
itemTotal += item.value || 0; itemTotal += Math.ceil(item.value) || 0;
}); });
ret["api" + index].total = itemTotal; ret["api" + index].total = itemTotal;
} }
......
import { mapLineTableData, mapSiteTableData, mapTableData } from '../../data/table/constructData';
import { keyValuePackage, tablePackage } from '../../dataPackage/inFrontOut';
import { getKeyValueOut } from '../../dataPackage/out';
import { change } from '../../dataPackage/inBackOut';
import { onceSheetBecomeOfblockData } from '../../util/analysisExcel';
/*地图*/
export function getMap(req, res) {
let mapTable = mapTableData();
let mapLineTable = mapLineTableData();
let lineCoordinateTable = onceSheetBecomeOfblockData('建设指挥平台/建设指挥平台地图.xlsx', '线路坐标');
let mapSiteTable = mapSiteTableData();
let ret:any = {};
let jcsjPackageData = keyValuePackage(mapTable['基础数据'].dataList);
ret['jcsj'] = getKeyValueOut('基础数据', jcsjPackageData);
let mapLineData = change(["name", "value", "key", "ygLine"], mapLineTable["地图线路"].bodyList);
mapLineData.forEach( item => {
let mapLineLocation = {};
let {name, value, key, ygLine} = item;
lineCoordinateTable.forEach( lineItem => {
let {blockTitle, blockData} = lineItem;
if (name == blockTitle) {
for (let i = 1; i < blockData.length; i++) {
let key = blockData[i][0];
let value = blockData[i][1];
mapLineLocation[key] = value;
}
item["lineLocation"] = mapLineLocation;
}
})
for (let siteKey in mapSiteTable) {
let mapLineList = [];
let siteCoordinate = {};
let mapSiteData = change(["line", "lng", "lat", "height", "heading", "pitch", "roll"], mapSiteTable[siteKey].bodyList);
mapSiteData.forEach( siteItem => {
let {line, lng, lat, height, heading, pitch, roll} = siteItem;
siteCoordinate = {lng, lat, height, heading, pitch, roll};
mapLineList.push({line, location: siteCoordinate});
})
if (name == siteKey) {
item["lineList"] = mapLineList;
}
}
})
mapLineData.forEach( data => {
data.value = data.lineList.length;
})
// ret['dt'] = defaultConfig.mapDefault;
ret['dt'] = {title: "线路列表", dataList: mapLineData};
res.send(ret);
}
\ No newline at end of file
...@@ -3,15 +3,19 @@ ...@@ -3,15 +3,19 @@
* 处理数据 * 处理数据
*/ */
import { getDqfxjd, getZmxfx } from "../../data/table/constructData"; import { riskTableData, fatalityTableData } from "../../data/table/constructData";
import { keyValuePackage } from "../../dataPackage/inFrontOut"; import { keyValuePackage } from "../../dataPackage/inFrontOut";
import { getOnceYBarChartOut } from "../../dataPackage/out"; import { getOnceYBarChartOut } from "../../dataPackage/out";
/**
* 致命性风险分布
* @param req
* @param res
*/
export function getFatality(req, res) { export function getFatality(req, res) {
let line = req.query.line || "全部"; let line = req.query.line || "全部";
let table = getZmxfx(); let table = fatalityTableData();
let 全网 = []; let 全网 = [];
let 致命性风险 = []; let 致命性风险 = [];
...@@ -26,20 +30,25 @@ import { getOnceYBarChartOut } from "../../dataPackage/out"; ...@@ -26,20 +30,25 @@ import { getOnceYBarChartOut } from "../../dataPackage/out";
致命性风险.push({key, value:thisCount, unit:""}) 致命性风险.push({key, value:thisCount, unit:""})
} }
let zmxfxfbPackageData = {dataInfo: {"全网": 全网, "致命性风险": 致命性风险}, xUnit: "", yUnit: ""}; let fatalityPackageData = {dataInfo: {"全网": 全网, "致命性风险": 致命性风险}, xUnit: "", yUnit: ""};
let ret = {}; let ret = {};
ret['zmxfxfb'] = getOnceYBarChartOut('致命性风险分布', zmxfxfbPackageData); ret['fatality'] = getOnceYBarChartOut('致命性风险分布', fatalityPackageData);
res.send(ret); res.send(ret);
} }
/**
* 当前风险节点
* @param req
* @param res
*/
export function getRisk(req, res) { export function getRisk(req, res) {
let line = req.query.line || "全线网"; let line = req.query.line || "全线网";
if (line == "全部 ") line == "全线网"; if (line == "全部 ") line == "全线网";
let table = getDqfxjd(); let table = riskTableData();
let dataIndex = table["风险详细"].headerList.indexOf(line); let dataIndex = table["风险详细"].headerList.indexOf(line);
...@@ -52,7 +61,7 @@ export function getRisk(req, res) { ...@@ -52,7 +61,7 @@ export function getRisk(req, res) {
ret['dcssl'] = {title: '地层损失率', dataList: {key:"地层损失率", value:地层损失率}}; ret['dcssl'] = {title: '地层损失率', dataList: {key:"地层损失率", value:地层损失率}};
ret['ptddbcx'] = {title: '旁通道地表沉降', dataList: {key:"旁通道地表沉降", value:旁通道地表沉降}}; ret['ptddbcx'] = {title: '旁通道地表沉降', dataList: {key:"旁通道地表沉降", value:旁通道地表沉降}};
table = getZmxfx(); table = fatalityTableData();
for (let key in table ) { for (let key in table ) {
let {allCount, allRisks, count, risks} = descData(table[key].bodyList, line); let {allCount, allRisks, count, risks} = descData(table[key].bodyList, line);
...@@ -73,11 +82,17 @@ export function getRisk(req, res) { ...@@ -73,11 +82,17 @@ export function getRisk(req, res) {
res.send(ret); res.send(ret);
} }
/**
* 工程安全状态
* @param req
* @param res
*/
export function getEngineering(req, res) { export function getEngineering(req, res) {
let line = req.query.line || "全线网"; let line = req.query.line || "全线网";
if (line == "全部 ")line == "全线网"; if (line == "全部 ")line == "全线网";
let table = getZmxfx(); let table = fatalityTableData();
let ret = {}; let ret = {};
for (let key in table ) { for (let key in table ) {
...@@ -87,9 +102,9 @@ export function getEngineering(req, res) { ...@@ -87,9 +102,9 @@ export function getEngineering(req, res) {
let packageData = {title, dataList: {key:`风险期数量`, value} }; let packageData = {title, dataList: {key:`风险期数量`, value} };
switch(key) { switch(key) {
case "基坑":ret["jkfxqsl"] = packageData;break; case "基坑":ret["jkRiskNum"] = packageData;break;
case "盾构区间":ret["dgqjfxqsl"] = packageData;break; case "盾构区间":ret["dgqjRiskNum"] = packageData;break;
case "旁通道":ret["ptdfxqsl"] = packageData;break; case "旁通道":ret["ptdRiskNum"] = packageData;break;
} }
let {allControl, allFocus, allSecure, control, focus, secure } = getFXQData(table[key].bodyList, line); let {allControl, allFocus, allSecure, control, focus, secure } = getFXQData(table[key].bodyList, line);
...@@ -102,13 +117,13 @@ export function getEngineering(req, res) { ...@@ -102,13 +117,13 @@ export function getEngineering(req, res) {
let oncePackage = keyValuePackage(onceList); let oncePackage = keyValuePackage(onceList);
let descPackageData = {title: `${key}详细数据`, dataList: oncePackage}; let descPackageData = {title: `${key}详细数据`, dataList: oncePackage};
descPackageData.dataList.forEach(info => { // descPackageData.dataList.forEach(info => {
info["num"] = info.value; // info["num"] = info.value;
}) // })
switch(key) { switch(key) {
case "基坑":ret["jkxxsj"] = descPackageData;break; case "基坑":ret["jkDetailedData"] = descPackageData;break;
case "盾构区间":ret["dgqjxxsj"] = descPackageData;break; case "盾构区间":ret["dgqjDetailedData"] = descPackageData;break;
case "旁通道":ret["ptdxxsj"] = descPackageData;break; case "旁通道":ret["ptdDetailedData"] = descPackageData;break;
} }
} }
res.send(ret); res.send(ret);
...@@ -132,6 +147,7 @@ function countData(dataList, name) { ...@@ -132,6 +147,7 @@ function countData(dataList, name) {
return {count, thisLineCount}; return {count, thisLineCount};
} }
function descData(dataList, name) { function descData(dataList, name) {
let allCount = 0; let allCount = 0;
let allRisks = 0; let allRisks = 0;
......
import { lineTableData, yearTableData } from "../data/table/publicData";
import { stringListPackage } from "../dataPackage/inFrontOut";
import { getStringOut } from "../dataPackage/out";
export function getLine(req, res) {
let excelData = lineTableData();
let ret:any = {};
ret['line'] = getStringOut("线路", excelData['选择线路'].dataList);
res.send(ret);
}
/**年份 */
export function getYear(req, res) {
let excelData = yearTableData();
let ret:any = {};
let nfPackageData = stringListPackage(excelData['下拉年份'].dataList);
ret['year'] = getStringOut('下拉年份', nfPackageData);
res.send(ret);
}
\ No newline at end of file
/**
* 建设指挥平台
*/
import { planarArrDecollateForIndex, planarArrDeconstruct, planarArrForObjectList } from "../../dataPackage/planaryArrayAnalysis"; import { planarArrDecollateForIndex, planarArrDeconstruct, planarArrForObjectList } from "../../dataPackage/planaryArrayAnalysis";
import { onceSheetBecomeOfblockData } from "../../util/analysisExcel"; import { onceSheetBecomeOfblockData } from "../../util/analysisExcel";
...@@ -21,9 +25,9 @@ function packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, ...@@ -21,9 +25,9 @@ function packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList,
} }
export function getQqzzTableData() { export function prophaseTableData() {
let blockDataList = onceSheetBecomeOfblockData('计划进度.xlsx', '前期管理'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/计划进度.xlsx', '前期管理');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -35,9 +39,10 @@ export function getQqzzTableData() { ...@@ -35,9 +39,10 @@ export function getQqzzTableData() {
return result; return result;
} }
export function getDqtdTableData() {
export function relocationTableData() {
let blockDataList = onceSheetBecomeOfblockData('计划进度.xlsx', '动迁腾地'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/计划进度.xlsx', '动迁腾地');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -50,9 +55,9 @@ export function getDqtdTableData() { ...@@ -50,9 +55,9 @@ export function getDqtdTableData() {
} }
export function xxjdTableData() { export function scheduleTableData() {
let blockDataList = onceSheetBecomeOfblockData('计划进度.xlsx', '形象进度'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/计划进度.xlsx', '形象进度');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -65,27 +70,30 @@ export function xxjdTableData() { ...@@ -65,27 +70,30 @@ export function xxjdTableData() {
} }
export function getZmxfx() { export function milestoneTableData() {
let blockDataList = onceSheetBecomeOfblockData('质量安全.xlsx', '质量安全'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/计划进度.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 getDqfxjd() {
let blockDataList = onceSheetBecomeOfblockData('质量安全.xlsx', '质量安全'); export function fatalityTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/质量安全.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);
...@@ -93,25 +101,23 @@ export function getDqfxjd() { ...@@ -93,25 +101,23 @@ export function getDqfxjd() {
} }
export function nfTableData() { export function riskTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/质量安全.xlsx', '质量安全');
let blockDataList = onceSheetBecomeOfblockData('投资管控面板.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 gszsTableData() { export function financialestimatesTableData() {
let blockDataList = onceSheetBecomeOfblockData('投资管控面板.xlsx', '概算总数'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/投资管控.xlsx', '概算总数');
let keyValueOrTitleList = ["2021总线路", "2022总线路", "2023总线路", "2021各线路概算金额", "2022各线路概算金额", "2023各线路概算金额"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["2021总线路", "2022总线路", "2023总线路", "2021各线路概算金额", "2022各线路概算金额", "2023各线路概算金额"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -123,9 +129,10 @@ export function gszsTableData() { ...@@ -123,9 +129,10 @@ export function gszsTableData() {
return result; return result;
} }
export function tkjsTableData() {
export function investmentcontrolTableData() {
let blockDataList = onceSheetBecomeOfblockData('投资管控面板.xlsx', '投控建设'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/投资管控.xlsx', '投控建设');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = ["2021投控建设", "2022投控建设", "2023投控建设"]; //适配 柱状图 折线图 let barChartList = ["2021投控建设", "2022投控建设", "2023投控建设"]; //适配 柱状图 折线图
...@@ -137,9 +144,10 @@ export function tkjsTableData() { ...@@ -137,9 +144,10 @@ export function tkjsTableData() {
return result; return result;
} }
export function jstjTableData() {
export function finalaccountsTableData() {
let blockDataList = onceSheetBecomeOfblockData('投资管控面板.xlsx', '决算统计'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/投资管控.xlsx', '决算统计');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
...@@ -155,10 +163,9 @@ export function jstjTableData() { ...@@ -155,10 +163,9 @@ export function jstjTableData() {
} }
export function investTableData() {
export function getTzwcqkTableData() {
let blockDataList = onceSheetBecomeOfblockData('业财融合.xlsx', '投资完成情况'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/业财融合.xlsx', '投资完成情况');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -170,9 +177,10 @@ export function getTzwcqkTableData() { ...@@ -170,9 +177,10 @@ export function getTzwcqkTableData() {
return result; return result;
} }
export function getJstj() {
export function earlywarningTableData() {
let blockDataList = onceSheetBecomeOfblockData('业财融合.xlsx', '合同金额预警总览'); let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/业财融合.xlsx', '合同金额预警总览');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -183,3 +191,62 @@ export function getJstj() { ...@@ -183,3 +191,62 @@ export function getJstj() {
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList); let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result; return result;
} }
export function earlywarningDetailTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/业财融合.xlsx', '合同金额预警总览浮窗数据');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =["车站", "区间", "轨道", "通讯", "信号", "供电", "综合监控"];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
export function mapTableData() {
let blockDataList = onceSheetBecomeOfblockData(`建设指挥平台/建设指挥平台地图.xlsx`, '地图');
let keyValueOrTitleList = ["基础数据"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =["线路列表"];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
export function mapLineTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/建设指挥平台地图.xlsx', '地图线路');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =["地图线路"];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
export function mapSiteTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/建设指挥平台地图.xlsx', '站点坐标');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =["18号线二期", "19号线", "21号线", "23号线", "崇明线"];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
/**
* 整体建设概览
*/
import { planarArrDecollateForIndex, planarArrDeconstruct, planarArrForObjectList } from "../../dataPackage/planaryArrayAnalysis"; import { planarArrDecollateForIndex, planarArrDeconstruct, planarArrForObjectList } from "../../dataPackage/planaryArrayAnalysis";
import { onceSheetBecomeOfblockData } from "../../util/analysisExcel"; import { onceSheetBecomeOfblockData } from "../../util/analysisExcel";
...@@ -22,7 +25,7 @@ function packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, ...@@ -22,7 +25,7 @@ function packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList,
} }
export function jsyyTableData() { export function jsyyTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '建设运营'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '建设运营');
let keyValueOrTitleList = ["基础数据","工程建设","全面创优","专业设施设备","建设进度","建设进度占比","质量","质量合格率","各项目验收达标情况","安全","风险分布","安全处置数据","监测数据异常超标", "各线路建设进度汇总目标值"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["基础数据","工程建设","全面创优","专业设施设备","建设进度","建设进度占比","质量","质量合格率","各项目验收达标情况","安全","风险分布","安全处置数据","监测数据异常超标", "各线路建设进度汇总目标值"];//适配 饼图 键值以及需要多个key的
let barChartList = ["各线路建设进度汇总"]; //适配 柱状图 折线图 let barChartList = ["各线路建设进度汇总"]; //适配 柱状图 折线图
...@@ -36,7 +39,7 @@ export function jsyyTableData() { ...@@ -36,7 +39,7 @@ export function jsyyTableData() {
export function lcbsjTableData() { export function lcbsjTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '里程碑事件荣誉成果'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '里程碑事件荣誉成果');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -50,7 +53,7 @@ export function lcbsjTableData() { ...@@ -50,7 +53,7 @@ export function lcbsjTableData() {
export function jjcyTableData() { export function jjcyTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '经济产业'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '经济产业');
let keyValueOrTitleList = ["基础数据", "全国GDP", "上海GDP"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["基础数据", "全国GDP", "上海GDP"];//适配 饼图 键值以及需要多个key的
let barChartList = ["上海地铁投资建设占上海GDP变化趋势", "地铁开通前后区域价格变化趋势"]; //适配 柱状图 折线图 let barChartList = ["上海地铁投资建设占上海GDP变化趋势", "地铁开通前后区域价格变化趋势"]; //适配 柱状图 折线图
...@@ -64,7 +67,7 @@ export function jjcyTableData() { ...@@ -64,7 +67,7 @@ export function jjcyTableData() {
export function lscxTableData() { export function lscxTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '绿色出行'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '绿色出行');
let keyValueOrTitleList = ["出行方式占比", "绿色节能", "地铁节能减排趋势"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["出行方式占比", "绿色节能", "地铁节能减排趋势"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
...@@ -78,7 +81,7 @@ export function lscxTableData() { ...@@ -78,7 +81,7 @@ export function lscxTableData() {
export function ylghTableData() { export function ylghTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '引领规划'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '引领规划');
let keyValueOrTitleList = ["城市规划", "轮播图"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["城市规划", "轮播图"];//适配 饼图 键值以及需要多个key的
let barChartList = ["未来规划"]; //适配 柱状图 折线图 let barChartList = ["未来规划"]; //适配 柱状图 折线图
...@@ -92,7 +95,7 @@ export function ylghTableData() { ...@@ -92,7 +95,7 @@ export function ylghTableData() {
export function dtTableData() { export function dtTableData() {
let blockDataList = onceSheetBecomeOfblockData('整体建设概览.xlsx', '地图'); let blockDataList = onceSheetBecomeOfblockData('整体建设概览/整体建设概览.xlsx', '地图');
let keyValueOrTitleList = ["基础数据", "历年建设里程列表"];//适配 饼图 键值以及需要多个key的 let keyValueOrTitleList = ["基础数据", "历年建设里程列表"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图 let barChartList = []; //适配 柱状图 折线图
......
/**
* 公共数据
*/
import { planarArrDecollateForIndex, planarArrDeconstruct, planarArrForObjectList } from "../../dataPackage/planaryArrayAnalysis";
import { onceSheetBecomeOfblockData } from "../../util/analysisExcel";
function packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList) {
let result = {};
for (let i = 0; i < blockDataList.length; i++) {
let {blockData, blockTitle} = blockDataList[i];
if (keyValueOrTitleList.indexOf(blockTitle) > -1) {
let titleList = titltListConfig[blockTitle] || [];
result[blockTitle] = planarArrForObjectList(blockData, 0, titleList);
}
else if (barChartList.indexOf(blockTitle) > -1) {
result[blockTitle] = planarArrDeconstruct(blockData);
}
else if (stringList.indexOf(blockTitle) > -1) result[blockTitle] = planarArrForObjectList(blockData);
else if (decollatePlanarList.indexOf(blockTitle) > -1) result[blockTitle] = planarArrDecollateForIndex(blockData);
}
return result;
}
export function lineTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/计划进度.xlsx', '线路');
let keyValueOrTitleList = ["选择线路"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =[];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
export function yearTableData() {
let blockDataList = onceSheetBecomeOfblockData('建设指挥平台/投资管控.xlsx', '年份');
let keyValueOrTitleList = ["下拉年份"];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =[];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
\ No newline at end of file
...@@ -37,3 +37,23 @@ ...@@ -37,3 +37,23 @@
return dataList; return dataList;
} }
/**
*
* @param titleList
* @param dataList
* @returns
*/
export function change(titleList, dataList) {
let data = [];
dataList.forEach(subList => {
let onceData:any = {};
subList.forEach( (item, index)=> {
let key = titleList[index];
onceData[key] = item;
} );
data.push(onceData);
});
return data;
}
...@@ -7,6 +7,7 @@ import * as plannedprogressBiz from '../biz/construct/plannedprogress'; ...@@ -7,6 +7,7 @@ import * as plannedprogressBiz from '../biz/construct/plannedprogress';
import * as qualityBiz from '../biz/construct/quality'; import * as qualityBiz from '../biz/construct/quality';
import * as investBiz from '../biz/construct/invest'; import * as investBiz from '../biz/construct/invest';
import * as businessfinanceBiz from '../biz/construct/businessFinance'; import * as businessfinanceBiz from '../biz/construct/businessFinance';
import * as mapBiz from '../biz/construct/map'
export function setRouter(httpServer) { export function setRouter(httpServer) {
/**计划进度指标面板 */ /**计划进度指标面板 */
...@@ -21,15 +22,17 @@ export function setRouter(httpServer) { ...@@ -21,15 +22,17 @@ export function setRouter(httpServer) {
httpServer.get('/construct/quality/engineering', asyncHandler(qualityBiz.getEngineering) );//工程安全状态 httpServer.get('/construct/quality/engineering', asyncHandler(qualityBiz.getEngineering) );//工程安全状态
/**投资管控指标面板 */ /**投资管控指标面板 */
httpServer.get('/construct/invest/year', asyncHandler(investBiz.getYear) );//下拉框选择年份
httpServer.get('/construct/invest/financialestimates', asyncHandler(investBiz.getFinancialestimates) ); //概算总数 httpServer.get('/construct/invest/financialestimates', asyncHandler(investBiz.getFinancialestimates) ); //概算总数
httpServer.get('/construct/invest/investmentcontrol', asyncHandler(investBiz.getInvestmentcontrol) ); //投控建设 httpServer.get('/construct/invest/investmentcontrol', asyncHandler(investBiz.getInvestmentcontrol) ); //投控建设
httpServer.get('/construct/invest/finalaccounts', asyncHandler(investBiz.getFinalaccounts) ); //决算统计 httpServer.get('/construct/invest/finalaccounts', asyncHandler(investBiz.getFinalaccounts) ); //决算统计
/**业财融合指标面板 */ /**业财融合指标面板 */
httpServer.get('/construct/businessfinance/invest', asyncHandler(businessfinanceBiz.getTzwcqk) );//投资完成情况 httpServer.get('/construct/businessfinance/invest', asyncHandler(businessfinanceBiz.getInvest) );//投资完成情况
httpServer.get('/construct/businessfinance/earlywarning', asyncHandler(businessfinanceBiz.getHtjeyjzl) );//合同金额预警总览 httpServer.get('/construct/businessfinance/earlywarning', asyncHandler(businessfinanceBiz.getEarlywarning) );//合同金额预警总览
httpServer.get('/construct/businessfinance/detailed', asyncHandler(businessfinanceBiz.getDetailedData) );//合同金额预警总览详细浮窗 httpServer.get('/construct/businessfinance/detailed', asyncHandler(businessfinanceBiz.getDetailedData) );//合同金额预警总览详细浮窗
/**地图 */
httpServer.get('/construct/map', asyncHandler(mapBiz.getMap) );
} }
/**
* 公共接口路由
*/
import * as asyncHandler from 'express-async-handler';
import * as publicBiz from '../biz/public';
export function setRouter(httpServer) {
httpServer.get('/public/line', asyncHandler(publicBiz.getLine));//线路
httpServer.get('/public/year', asyncHandler(publicBiz.getYear) );//下拉框选择年份
}
\ No newline at end of file
...@@ -2,8 +2,13 @@ ...@@ -2,8 +2,13 @@
* 总路由入口 * 总路由入口
*/ */
import * as publicRouters from './public';
import * as constructRouters from './construct'; import * as constructRouters from './construct';
import * as stationPopupRouters from './stationPopup';
export function setRouter(httpServer){ export function setRouter(httpServer){
publicRouters.setRouter(httpServer);
constructRouters.setRouter(httpServer); constructRouters.setRouter(httpServer);
stationPopupRouters.setRouter(httpServer);
} }
\ No newline at end of file
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