Commit 840531c3 by 孙香冬

Merge branch 'master' of http://123.207.147.179:8888/node_server/shenDianYun

# Conflicts:
#	src/data/table/jszhpt/tzgkData.ts
parents 0a0b31b5 6a5ac394
......@@ -6,9 +6,6 @@ const asyncHandler = require("express-async-handler");
const qqglBiz = require("../biz/jszhpt/qqgl");
const xxjdBiz = require("../biz/jszhpt/xxjd");
const lcbjdwcqkBiz = require("../biz/jszhpt/lcbjdwcqk");
const zmxfxfbBiz = require("../biz/jszhpt/zmxfxfb");
const dqfxjdBiz = require("../biz/jszhpt/dqfxjd");
const gcaqztBiz = require("../biz/jszhpt/gcaqzt");
const xlBiz = require("../biz/jszhpt/xl");
const jszhptBiz = require("../biz/jszhpt/jszhptdt");
const nfBiz = require("../biz/jszhpt/nf");
......@@ -26,6 +23,10 @@ const jjcyBiz = require("../biz/ztjsgl/jjcy");
const lscxBiz = require("../biz/ztjsgl/lscx");
const ylghBiz = require("../biz/ztjsgl/ylgh");
const ztjsglBiz = require("../biz/ztjsgl/map");
/**计划进度 */
const jhjdBiz = require("../newBiz/jhjd");
const ycrhBiz = require("../newBiz/ycrh");
const zlaqBiz = require("../newBiz/zlaq");
function setRouter(httpServer) {
/**
* 建设指挥平台
......@@ -35,14 +36,6 @@ function setRouter(httpServer) {
httpServer.get('/jszhpt', asyncHandler(jszhptBiz.getData)); //地图
httpServer.get('/qqgl', asyncHandler(qqglBiz.getData)); //前期管理
httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData)); //形象进度
httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData)); //致命性风险分布
httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData)); //当前风险节点
httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData)); //工程安全状态
httpServer.get('/nf', asyncHandler(nfBiz.getData)); //工程安全状态
//投资管控指标面板
httpServer.get('/gszs', asyncHandler(gszsBiz.getData)); //概算总数
httpServer.get('/tkjs', asyncHandler(tkjsBiz.getData)); //投控建设
httpServer.get('/jstj', asyncHandler(jstjBiz.getData)); //决算统计
//业财融合指标面板
httpServer.get('/tzwcqk', asyncHandler(tzwcqkBiz.getData)); //投资完成情况
httpServer.get('/htjeyjzl', asyncHandler(htjeyizlBiz.getData)); //合同金额预警总览
......@@ -55,6 +48,29 @@ function setRouter(httpServer) {
httpServer.get('/lscx', asyncHandler(lscxBiz.getData)); //绿色出行
httpServer.get('/ylgh', asyncHandler(ylghBiz.getData)); //引领/规划
httpServer.get('/map', asyncHandler(ztjsglBiz.getData)); //地图
/**建设指挥大屏 */
/** 质量安全 */
httpServer.get('/zmxfxfb', asyncHandler(zlaqBiz.zmxfx)); //致命性风险分布 6.1改
httpServer.get('/dqfxjd', asyncHandler(zlaqBiz.dqfxjd)); //当前风险节点 6.1改
httpServer.get('/gcaqzt', asyncHandler(zlaqBiz.gcaqzt)); //工程安全状态 6.1改
httpServer.get('/nf', asyncHandler(nfBiz.getData)); //年份
//投资管控指标面板
httpServer.get('/gszs', asyncHandler(gszsBiz.getData)); //概算总数
httpServer.get('/tkjs', asyncHandler(tkjsBiz.getData)); //投控建设
httpServer.get('/jstj', asyncHandler(jstjBiz.getData)); //决算统计
/**新的 */
httpServer.get('/construct/plannedprogress/qqgl', asyncHandler(jhjdBiz.getQqzz));
httpServer.get('/construct/plannedprogress/dxtd', asyncHandler(jhjdBiz.getDqtd));
httpServer.get('/construct/plannedprogress/xxjd', asyncHandler(jhjdBiz.getXxjd));
httpServer.get('/construct/plannedprogress/lcbjd', asyncHandler(jhjdBiz.getLcbjd));
/**业财融合 */
httpServer.get('/construct/integrationofbusinessandfinance/tzwcqk', asyncHandler(ycrhBiz.getTzwcqk));
httpServer.get('/construct/integrationofbusinessandfinance/htjeyjzl', asyncHandler(ycrhBiz.getHtjeyjzl));
httpServer.get('/construct/integrationofbusinessandfinance/detailed', asyncHandler(ycrhBiz.getDetailedData));
/**地图线路坐标 */
httpServer.get('/construct/zlaq/zmxfx', asyncHandler(zlaqBiz.zmxfx));
httpServer.get('/construct/zlaq/dqfxjd', asyncHandler(zlaqBiz.dqfxjd));
httpServer.get('/construct/zlaq/gcaqzt', asyncHandler(zlaqBiz.gcaqzt));
}
exports.setRouter = setRouter;
//# sourceMappingURL=router.js.map
\ No newline at end of file
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routers/router.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/routers/router.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
......@@ -20,8 +20,1063 @@ export function getData(req, res) {
dtDataList.push({name: A, value: B, img});
})
ret['dt'] = {title: '线路列表', dataList: dtDataList};
ret['dt'] = {title: '线路列表', dataList: [
{
name: '18号线二期', value: 35, key:"18号线",
ygLine:"yg_line18",
lineLocation:{
lng: -2173.224,
lat: -1970.453,
height: 11287.685,
heading: 0.03386971261171112,
pitch: -0.6624057821119615,
roll: 6.394884621840902e-14
},
lineList:[
{
line: '大康路站',
location: {
lng: -5009.113,
lat: 11230.428,
height: 40.848,
heading: 0.033869712611719116,
pitch: -0.662405782111958,
roll: 6.039613253960852e-14
}
},
{
line: '呼兰路站',
location: {
lng: -3425.366,
lat: 11330.769,
height: 337.665,
heading: 0.03386971261170757,
pitch: -0.6624057821119642,
roll: 8.970602038971265e-14
}
},
{
line: '爱辉路站',
location: {
lng: -2147.80,
lat: 12127.198,
height: 101.281,
heading: 0.03386971261168359,
pitch: -0.6624057821118234,
roll: 1.1812772982011666e-13
}
},
{
line: '江杨南路站',
location: {
lng: -519.502,
lat: 12769.877,
height: 125.112,
heading: 0.03386971261165428,
pitch: -0.6624057821117382,
roll: 1.2523315717771766e-13
}
},
{
line: '长江西路站',
location: {
lng: 336.266,
lat: 12141.313,
height: 226.682,
heading: 0.03386971261164895,
pitch: -0.6624057821117257,
roll: 1.2878587085651816e-13
}
},
{
line: '通南路站',
location: {
lng: 764.066,
lat: 11262.093,
height: 222.821,
heading: 0.033869712611650726,
pitch: -0.662405782111716,
roll: 1.2967404927621828e-13
}
},
{
line: '长江南路站',
location: {
lng: 1734.032,
lat: 10662.784,
height: 187.047,
heading: 0.0338697126116525,
pitch: -0.6624057821117257,
roll: 1.305622276959184e-13
}
}
]
},
{
name: '19号线', value: 35, key:"19号线",
ygLine:"",
lineLocation:{
lng: -1549.759,
lat: -108646.927,
height: 87338.106,
heading: 0.03386971261170313,
pitch: -0.6624057821120357,
roll: 7.72715225139109e-14
},
lineList:[
{
line: '虹建路站',
location: {
lng: -2594.739,
lat: -17635.331,
height: 743.591,
heading: 0.04640137739189143,
pitch: -0.5795598363240959,
roll: 7.815970093361102e-14
}
},
{
line: '联曹路站',
location: {
lng: -2757.216,
lat: -16114.364,
height: 651.092,
heading: 0.04640137739188699,
pitch: -0.5795598363240924,
roll: 8.43769498715119e-14
}
},
{
line: '华泾西站',
location: {
lng: -2954.063,
lat: -14113.684,
height: 394.751,
heading: 0.04640137739188788,
pitch: -0.5795598363240821,
roll: 8.43769498715119e-14
}
},
{
line: '华泾路站',
location: {
lng: -1579.158,
lat: -13014.855,
height: 300.572,
heading: 0.04640137739189232,
pitch: -0.579559836324083,
roll: 8.171241461241152e-14
}
},
{
line: '三林南站',
location: {
lng: 1528.711,
lat: -13070.450,
height: 801.476,
heading: 0.04640137739188077,
pitch: -0.5795598363240835,
roll: 8.348877145181177e-14
}
},
{
line: '凌兆新村站',
location: {
lng: 1436.576,
lat: -10923.304,
height: 426.674,
heading: 0.04640137739187988,
pitch: -0.5795598363240879,
roll: 8.43769498715119e-14
}
},
{
line: '东方体育中心站',
location: {
lng: 886.653,
lat: -9060.376,
height: 335.937,
heading: 0.04640137739187544,
pitch: -0.5795598363240879,
roll: 8.970602038971265e-14
}
},
{
line: '德州路站',
location: {
lng: 569.163,
lat: -8569.366,
height: 608.84,
heading: 0.04640137739187189,
pitch: -0.5795598363240875,
roll: 9.237055564881302e-14
}
},
{
line: '后滩站',
location: {
lng: 185.793,
lat: -7116.977,
height: 385.845,
heading: 0.04640137739186834,
pitch: -0.5795598363240906,
roll: 8.615330671091215e-14
}
},
{
line: '世博大道站',
location: {
lng: 944.969,
lat: -6214.413,
height: 279.277,
heading: 0.04640137739184702,
pitch: -0.5795598363240915,
roll: 8.79296635503124e-14
}
},
{
line: '世博站',
location: {
lng: 2367.252,
lat: -6120.130,
height: 380.038,
heading: 0.04640137739185057,
pitch: -0.5795598363240941,
roll: 8.704148513061227e-14
}
},
{
line: '华丰路站',
location: {
lng: 3251.686,
lat: -5278.735,
height: 379.6,
heading: 0.04640137739184702,
pitch: -0.579559836324091,
roll: 9.592326932761353e-14
}
},
{
line: '南码头路站',
location: {
lng: 3595.207,
lat: -4657.705,
height: 392.442,
heading: 0.04640137739184258,
pitch: -0.5795598363240879,
roll: 1.0391687510491465e-13
}
},
{
line: '塘桥站',
location: {
lng: 4362.110,
lat: -2986.490,
height: 368.676,
heading: 0.04640137739184169,
pitch: -0.5795598363240875,
roll: 1.056932319443149e-13
}
},
{
line: '潍坊路站',
location: {
lng: 4403.872,
lat: -1840.547,
height: 394.765,
heading: 0.04640137739184702,
pitch: -0.5795598363240941,
roll: 1.0480505352461478e-13
}
},
{
line: '商城路站',
location: {
lng: 4099.358,
lat: -829.877,
height: 372.842,
heading: 0.04640137739184702,
pitch: -0.5795598363240781,
roll: 1.0480505352461478e-13
}
},
{
line: '浦东南路站',
location: {
lng: 3864.472,
lat: -233.069,
height: 323.757,
heading: 0.0464013773918337,
pitch: -0.579559836324028,
roll: 1.199040866595169e-13
}
},
{
line: '提篮桥站',
location: {
lng: 3174.986,
lat: 1837.713,
height: 305.718,
heading: 0.046401377391831033,
pitch: -0.5795598363240333,
roll: 1.270095140171179e-13
}
},
{
line: '周家嘴路站',
location: {
lng: 2768.648,
lat: 2337.886,
height: 305.718,
heading: 0.04640137739183636,
pitch: -0.5795598363240342,
roll: 1.2434497875801753e-13
}
},
{
line: '海伦路站',
location: {
lng: 1812.266,
lat: 2482.180,
height: 305.718,
heading: 0.04640137739184258,
pitch: -0.5795598363240386,
roll: 1.127986593019159e-13
}
},
{
line: '甜爱路站',
location: {
lng: 1143.224,
lat: 2919.123,
height: 305.718,
heading: 0.046401377391831033,
pitch: -0.5795598363240448,
roll: 1.1546319456101628e-13
}
},
{
line: '上海外国语大学站',
location: {
lng: 1064.675,
lat: 4041.572,
height: 305.718,
heading: 0.04640137739168626,
pitch: -0.5795598363240471,
roll: 2.282618538629322e-13
}
},
{
line: '凉城路站',
location: {
lng: -111.283,
lat: 4606.201,
height: 305.718,
heading: 0.046401377391688925,
pitch: -0.5795598363240471,
roll: 2.291500322826323e-13
}
},
{
line: '广灵四路站',
location: {
lng: -545.693,
lat: 5479.628,
height: 305.718,
heading: 0.046401377391683596,
pitch: -0.5795598363240417,
roll: 2.3092638912203256e-13
}
},
{
line: '车站北路站',
location: {
lng: -415.920,
lat: 6444.601,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240404,
roll: 2.318145675417327e-13
}
},
{
line: '虹湾路站',
location: {
lng: -338.162,
lat: 8221.843,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240386,
roll: 2.3092638912203256e-13
}
},
{
line: '一二八纪念路站',
location: {
lng: -398.679,
lat: 10228.410,
height: 305.718,
heading: 0.04640137739167738,
pitch: -0.5795598363240413,
roll: 2.327027459614328e-13
}
},
{
line: '呼玛路站',
location: {
lng: -767.814,
lat: 11712.309,
height: 305.718,
heading: 0.046401377391674714,
pitch: -0.5795598363240391,
roll: 2.3359092438113294e-13
}
},
{
line: '江杨南路站',
location: {
lng: -527.813,
lat: 12442.271,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240408,
roll: 2.327027459614328e-13
}
},
{
line: '泰和路站',
location: {
lng: -380.245,
lat: 13835.754,
height: 305.718,
heading: 0.0464013773916756,
pitch: -0.5795598363240355,
roll: 2.3003821070233244e-13
}
},
{
line: '兰岗路站',
location: {
lng: -971.114,
lat: 15359.383,
height: 305.718,
heading: 0.046401377391673826,
pitch: -0.5795598363240253,
roll: 2.3003821070233244e-13
}
},
{
line: '铁山路站',
location: {
lng: -1465.804,
lat: 16350.035,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240249,
roll: 2.318145675417327e-13
}
},
{
line: '铁通路站',
location: {
lng: -1845.008,
lat: 17157.820,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240284,
roll: 2.318145675417327e-13
}
},
{
line: '宝山站',
location: {
lng: -2388.031,
lat: 18267.018,
height: 305.718,
heading: 0.04640137739167294,
pitch: -0.5795598363240346,
roll: 2.318145675417327e-13
}
}
]
},
{
name: '21号线', value: 35, key:"21号线",
ygLine:"yg_line21e",
lineLocation:{
lng: 15023.944,
lat: -57623.063,
height: 44620.419,
heading: 0.033869712611886094,
pitch: -0.6659651373168334,
roll: 6.283185307179476
},
lineList:[
{
line: '东靖路站',
location: {
lng: 11378.419,
lat: 5830.048,
height: 515.255,
heading: 0.03386971261189409,
pitch: -0.6659651373168538,
roll: 6.28318530717946
}
},
{
line: '杨高北路站',
location: {
lng: 12605.082,
lat: 2030.929,
height: 2727.862,
heading: 0.03386971261190652,
pitch: -0.6659651373168294,
roll: 6.283185307179441
}
},
{
line: '凌河路站',
location: {
lng: 12650.177,
lat: 2842.546,
height: 1164.631,
heading: 0.033869712611886094,
pitch: -0.6659651373168178,
roll: 6.283185307179471
}
},
{
line: '金桥站',
location: {
lng: 13058.654,
lat: 2312.861,
height: 349.114,
heading: 0.03386971261188165,
pitch: -0.6659651373168254,
roll: 6.28318530717948
}
},
{
line: '云桥路站',
location: {
lng: 13602.066,
lat: 1430.256,
height: 393.736,
heading: 0.033869712611880765,
pitch: -0.6659651373168236,
roll: 6.283185307179481
}
},
{
line: '浦东足球场站',
location: {
lng: 13856.413,
lat: 306.555,
height: 378.793,
heading: 0.033869712611886094,
pitch: -0.6659651373168769,
roll: 6.283185307179476
}
},
{
line: '龙东大道站',
location: {
lng: 13853.283,
lat: -1990.648,
height: 350.021,
heading: 0.03386971261189231,
pitch: -0.6659651373169657,
roll: 6.283185307179474
}
},
{
line: '广兰路站',
location: {
lng: 14015.807,
lat: -2952.085,
height: 269.949,
heading: 0.033869712611894975,
pitch: -0.6659651373170337,
roll: 6.283185307179474
}
},
{
line: '高斯路站',
location: {
lng: 13619.528,
lat: -3978.974,
height: 324.412,
heading: 0.03386971261188698,
pitch: -0.6659651373169444,
roll: 6.283185307179474
}
},
{
line: '张衡路站',
location: {
lng: 13430.626,
lat: -4981.887,
height: 310.796,
heading: 0.033869712611880765,
pitch: -0.6659651373168667,
roll: 6.2831853071794725
}
},
{
line: '学林路站',
location: {
lng: 13499.148,
lat: -5816.989,
height: 294.501,
heading: 0.0338697126118781,
pitch: -0.6659651373168596,
roll: 6.283185307179476
}
},
{
line: '军民路站',
location: {
lng: 13704.491,
lat: -6757.594,
height: 180.854,
heading: 0.03386971261187721,
pitch: -0.6659651373168649,
roll: 6.28318530717948
}
},
{
line: '康南路站',
location: {
lng: 13986.729,
lat: -7782.359,
height: 233.033,
heading: 0.06962781176883936,
pitch: -0.6649421293218261,
roll: 6.28318530717948
}
},
{
line: '张江站',
location: {
lng: 13875.018,
lat: -9973.339,
height: 298.076,
heading: 0.01875210426426044,
pitch: -0.6623663341352106,
roll: 6.28318530717948
}
},
{
line: '申江南路站',
location: {
lng: 14729.709,
lat: -10958.738,
height: 381.03,
heading: 0.018752104264261327,
pitch: -0.6623663341352106,
roll: 6.283185307179476
}
},
{
line: '迪士尼站',
location: {
lng: 18454.054,
lat: -10684.988,
height: 305.824,
heading: 0.018752104264263103,
pitch: -0.662366334135216,
roll: 6.283185307179476
}
},
{
line: '唐黄路站',
location: {
lng: 20362.443,
lat: -10351.414,
height: 359.852,
heading: 0.018752104264261327,
pitch: -0.6623663341352253,
roll: 6.28318530717948
}
},
{
line: '六陈路站',
location: {
lng: 22763.696,
lat: -9480.458,
height: 263.255,
heading: 0.01875210426426044,
pitch: -0.6623663341352115,
roll: 6.28318530717948
}
}
]
},
{
name: '23号线', value: 35, key:"23号线",
ygLine: 'yg_line23',
lineLocation:{
lng: -5147.915,
lat: -81794.987,
height: 52423.589,
heading: 0.03386971261176264,
pitch: -0.6624057821120344,
roll: 6.283185307179561
},
lineList:[
{
line: '上海体育场站',
location: {
lng: -2652.881,
lat: -6360.968,
height: 565.133,
heading: 6.207395672247364,
pitch: -0.601460807606359,
roll: 6.28318530717957
}
},
{
line: '龙漕路站',
location: {
lng: -2396.105,
lat: -7760.377,
height: 565.133,
heading: 6.040587725776135,
pitch: -0.7028156139112909,
roll: 6.28318530717957
}
},
{
line: '龙启路站',
location: {
lng: -2028.808,
lat: -8854.863,
height: 648.704,
heading: 6.0393951548709675,
pitch: -0.7069339417349498,
roll: 6.28318530717957
}
},
{
line: '上海植物园站',
location: {
lng: -1966.055,
lat: -9488.007,
height: 396.398,
heading: 5.938249164216664,
pitch: -0.93574615162375,
roll: 6.28318530717956
}
},
{
line: '龙瑞路站',
location: {
lng: -1737.597,
lat: -10995.498,
height: 396.398,
heading: 5.925243017052928,
pitch: -0.9633044811382274,
roll: 6.28318530717954
}
},
{
line: '徐浦大桥站',
location: {
lng: -1363.140,
lat: -12001.395,
height: 396.398,
heading: 5.934174837634418,
pitch: -1.0568243985255017,
roll: 6.283185307179512
}
},
{
line: '华泾路站',
location: {
lng: -1442.302,
lat: -12716.213,
height: 391.267,
heading: 5.569871791901576,
pitch: -1.551278961980088,
roll: 0
}
},
{
line: '景联路站',
location: {
lng: -1727.267,
lat: -14893.737,
height: 343.535,
heading: 0.03386971261175997,
pitch: -0.6624057821120246,
roll: 6.283185307179558
}
},
{
line: '龙吴路站',
location: {
lng: -1360.273,
lat: -16300.951,
height: 338.384,
heading: 0.03451401757414008,
pitch: -0.6637851160621473,
roll: 6.283185307179551
}
},
{
line: '澄江路站',
location: {
lng: -1177.746,
lat: -17130.075,
height: 338.384,
heading: 0.03410493635393763,
pitch: -0.6652223354488793,
roll: 6.283185307179551
}
},
{
line: '墨江路站',
location: {
lng: -1182.565,
lat: -18609.338,
height: 497.341,
heading: 0.04457320395223974,
pitch: -0.7136471289524446,
roll: 6.283185307179565
}
},
{
line: '吴泾北站',
location: {
lng: -906.992,
lat: -19538.285,
height: 494.64,
heading: 0.028514095563914488,
pitch: -0.7509243352681678,
roll: 6.283185307179565
}
},
{
line: '放鹤路站',
location: {
lng: -497.746,
lat: -21093.353,
height: 494.64,
heading: 0.043974155116834446,
pitch: -0.8048461925877088,
roll: 6.283185307179567
}
},
{
line: '紫龙路站',
location: {
lng: -267.546,
lat: -22446.938,
height: 494.64,
heading: 0.10600983526914742,
pitch: -0.9628875387511071,
roll: 6.2831853071795685
}
},
{
line: '江川东路站',
location: {
lng: -743.613,
lat: -23074.683,
height: 371.451,
heading: 6.18706998752768,
pitch: -1.0558827209170412,
roll: 6.2831853071795685
}
},
{
line: '紫竹高新区站',
location: {
lng: -1848.762,
lat: -23432.984,
height: 379.062,
heading: 6.187069987527683,
pitch: -1.055882720917043,
roll: 6.2831853071795685
}
},
{
line: '沪金高速站',
location: {
lng: -3335.081,
lat: -23957.943,
height: 370.35,
heading: 6.187069987527696,
pitch: -1.0558827209170407,
roll: 6.283185307179567
}
},
{
line: '东川路站',
location: {
lng: -4611.395,
lat: -24611.018,
height: 637.884,
heading: 6.187069987527702,
pitch: -1.0558827209170385,
roll: 6.283185307179565
}
},
{
line: '金平路站',
location: {
lng: -5327.277,
lat: -24689.566,
height: 403.636,
heading: 6.187069987527703,
pitch: -1.0558827209170358,
roll: 6.283185307179565
}
},
{
line: '华宁路站',
location: {
lng: -7477.029,
lat: -25264.480,
height: 303.56,
heading: 6.187069987527697,
pitch: -1.0558827209170372,
roll: 6.283185307179565
}
},
{
line: '文井路站',
location: {
lng: -8487.830,
lat: -25623.442,
height: 408.806,
heading: 6.187069987527697,
pitch: -1.0558827209170376,
roll: 6.283185307179563
}
},
{
line: '闵行开发区站',
location: {
lng: -10345.075,
lat: -26222.104,
height: 386.776,
heading: 6.1870699875277015,
pitch: -1.0558827209170207,
roll: 6.283185307179558
}
},
]},
{
name: '崇明线', value: 35, key:"崇明线",
ygLine:"",
lineLocation:{ // 崇明线
lng: 17738.680,
lat: -38520.332,
height: 39000.184,
heading: 0.03386971261176974,
pitch: -0.6624057821120326,
roll: 6.28318530717956
},
lineList:[
{
line: '金吉路站',
location: {
lng: 14667.133,
lat: 2636.624,
height: 815.309,
heading: 0.03386971261176264,
pitch: -0.6624057821120259,
roll: 6.283185307179565
},
},
{
line: '申江路站',
location: {
lng: 14634.786,
lat: 4672.239,
height: 528.489,
heading: 0.03386971261176086,
pitch: -0.6624057821120259,
roll: 6.28318530717957
}
},
{
line: '高宝路站',
location: {
lng: 14728.157,
lat: 5917.741,
height: 413.4,
heading: 0.03386971261176086,
pitch: -0.662405782112025,
roll: 6.283185307179572
}
},
{
line: '凌空北路站',
location: {
lng: 19285.023,
lat: 6192.229,
height: 439.499,
heading: 0.03386971261175997,
pitch: -0.6624057821120166,
roll: 6.283185307179572
}
},
{
line: '浦东大小盾构转换段',
location: {
lng: 20383.787,
lat: 7913.254,
height: 298.659,
heading: 0.03386971261176264,
pitch: -0.6624057821120064,
roll: 6.2831853071795685
}
},
{
line: '1#大小盾构转换段',
location: {
lng: 23194.319,
lat: 15204.968,
height: 324.227,
heading: 0.033869712611758196,
pitch: -0.6624057821119864,
roll: 6.283185307179572
}
},
{
line: '长兴岛站',
location: {
lng: 23867.358,
lat: 17291.925,
height: 230.018,
heading: 0.03386971261175553,
pitch: -0.66240578211199,
roll: 6.283185307179572
}
},
{
line: '长兴岛主变电所',
location: {
lng: 23998.129,
lat: 17587.735,
height: 229.783,
heading: 0.03386971261175553,
pitch: -0.6624057821119878,
roll: 6.283185307179572
}
}
]
},
]};
ret['dt'].dataList.forEach((info, index) => {
ret['dt'].dataList[index].value = info.lineList.length;
})
let zbTableDataList = tablePackage(excelData["线路坐标"].headerList[0], excelData["线路坐标"].bodyList);
let zbTableData = [];
......
......@@ -14,6 +14,7 @@ export function getData(req, res) {
let dtPackageData = keyValuePackage(excelData['历年建设里程列表'].dataList);
ret['lnjslc'] = getKeyValueOut('历年建设里程列表', dtPackageData);
res.send(ret);
}
\ No newline at end of file
......@@ -54,7 +54,11 @@ export function jstjTableData() {
let blockDataList = onceSheetBecomeOfblockData('投资管控面板.xlsx', '决算统计');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
<<<<<<< HEAD
let barChartList = ["2021合同数据", "2022合同数据", "2023合同数据", "2021合同决算统计", "2022合同决算统计", "2023合同决算统计", "2021业务系统数", "2022业务系统数", "2023业务系统数"]; //适配 柱状图 折线图
=======
let barChartList = ["2021合同数据", "2022合同数据","2023合同数据", "2021合同决算统计", "2022合同决算统计","2023合同决算统计", "2021业务系统数", "2022业务系统数","2023业务系统数"]; //适配 柱状图 折线图
>>>>>>> 6a5ac394bc42d4b98d1c64e50a15345f8fbbe43a
let stringList = [];
let decollatePlanarList =[];//适配 表格
let titltListConfig = {};
......
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 getQqzzTableData() {
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 getDqtdTableData() {
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
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 getTzwcqkTableData() {
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 getJstj() {
let blockDataList = onceSheetBecomeOfblockData('业财融合_新.xlsx', '合同金额预警总览');
let keyValueOrTitleList = [];//适配 饼图 键值以及需要多个key的
let barChartList = []; //适配 柱状图 折线图
let stringList = [];
let decollatePlanarList =["崇明线", "19号线", "18号线二期", "23号线", "21号线"];//适配 表格
let titltListConfig = {};
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
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 getZmxfx() {
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 getDqfxjd() {
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
......@@ -32,5 +32,4 @@ export function dtTableData() {
let result = packageDataProcess(blockDataList, titltListConfig, keyValueOrTitleList, barChartList, stringList, decollatePlanarList);
return result;
}
\ No newline at end of file
import { getDqtdTableData, getQqzzTableData } from "../data/table/newConstruct/jhjd";
import { lcbsjTableData } from "../data/table/ztjsgl/lcbsjData";
import { tablePackage } from "../dataPackage/inFrontOut";
export async function getQqzz(req, res) {
let line = req.query.line || "全部";
let type = req.query.type || "专项规划";
let excelData = getQqzzTableData();
let result:any = {};
/**
* "线":{
* yearCount:0,
* data:{
* "单体规划建设方案":{
* plan:0,
* complete:0
* }
*
* }
* }
*/
let dataMap = {"undefined":{
total:0,
data:{
"单体规划建设方案":{plan:0, complete:0},
"单体建设用地规划许可证":{plan:0, complete:0},
"单体建设工程规划许可证":{plan:0, complete:0},
"单体施工许可证":{plan:0, complete:0}
}
}};
let conf = {
"单体规划建设方案":[4,5],
"单体建设用地规划许可证":[6,7],
"单体建设工程规划许可证":[8,9],
"单体施工许可证":[10,11]
};
excelData["前期管理数据"].bodyList.forEach(subList => {
let dataLine = subList[0];
let dataYear = subList[1];
if (!dataMap[dataLine]) dataMap[dataLine] = {data:{} };
dataMap[dataLine]["total"] = subList[2];
for (let name in conf) {
let plan = subList[conf[name][0]];
let complete = subList[conf[name][1]];
if (!dataMap[dataLine]["data"][name]) dataMap[dataLine]["data"][name] = {plan:0, complete:0};
dataMap[dataLine]["data"][name]["plan"] += plan;
dataMap[dataLine]["data"][name]["complete"] += complete;
}
});
result["completionStatus"] = {
"total":0,
"complete":0,//完成
"incomplete":0,//未完成
};
if (line == "全部") {
let scheduleMap = {};
let planCount = 0;
let completeCount = 0;
for (let key in dataMap) {
let {data, total} = dataMap[key];
result["completionStatus"].total += total || 0;
for (let name in data) {
let {plan, complete} = data[name];
if (!scheduleMap[name]) scheduleMap[name] = {plan:0, complete:0}
scheduleMap[name].plan += plan;
scheduleMap[name].complete += complete;
planCount += plan;
completeCount += complete;
}
}
result["completionStatus"].complete = completeCount;
result["completionStatus"].incomplete = planCount-completeCount;
let scheduleList = [];
for (let key in scheduleMap) {
let subComplete = scheduleMap[key].complete;
let subPlan = scheduleMap[key].plan;
scheduleList.push({
name:key,
total:subPlan,
complete:subComplete,
incomplete:subPlan-subComplete
});
}
result["scheduleList"] = scheduleList;
} else {
let onceLineData = dataMap[line] || dataMap["undefined"];
result["completionStatus"].total = onceLineData.total;
let complete = 0;
let scheduleList = [];
for (let key in onceLineData.data) {
let subComplete = onceLineData.data[key].complete;
let subPlan = onceLineData.data[key].plan;
complete += subComplete;
scheduleList.push({
name:key,
total:subPlan,
complete:subComplete,
incomplete:subPlan-subComplete
});
}
result["completionStatus"].complete = complete;
result["completionStatus"].incomplete = onceLineData.total - complete;
result["scheduleList"] = scheduleList;
}
res.send(result);
}
export async function getDqtd(req, res) {
let line = req.query.line || "总数";
let type = req.query.type || "专项规划";
let year = req.query.type || 2023;
let excelData = getDqtdTableData();
let dataMap = {};
excelData["概览数据"].bodyList.forEach(info => {
dataMap[info[0]] = {
"total":info[1],
"complete":info[2],
"incomplete":info[3],
}
});
let result:any = {};
result["completionStatus"] = dataMap[line];
result["detailedList"] = [
{
"name":"居民",
"total":100,
"complete":10,
"incomplete":90,
},
{
"name":"单位",
"total":100,
"complete":10,
"incomplete":90,
},
{
"name":"绿地",
"total":100,
"complete":10,
"incomplete":90,
},
]
// result["scheduleList"] = [
// {
// "name":"单体规划设计方案",
// "total":100,
// "complete":10,
// "incomplete":90,
// },
// {
// "name":"单体建设用地规划许可证",
// "total":100,
// "complete":10,
// "incomplete":90,
// }
// ]
res.send(result);
}
export async function getXxjd(req, res) {
let line = req.query.line || "全部";
let result:any = {};
result["scheduleList"] = [
{
"name":"车站",
"total":0,
"complete":0,
"inProgress":0,
"notStarted":0
},
{
"name":"车辆基地",
"total":0,
"complete":0,
"inProgress":0,
"notStarted":0
},
{
"name":"高架区间",
"total":0,
"complete":0,
"inProgress":0,
"notStarted":0
}
];
res.send(result);
}
export async function getLcbjd(req, res) {
let result:any = {};
result["detailedList"] = [
{
title:"23号线首座车站开工",
time:"2022-09-19",
desc:"23号线江川东路站于2022-9-19首幅低下连续墙开工。",
img:"http://192.168.0.71:40001/2005_01.jpg"
},
{
title:"23号线首座车站开工",
time:"2022-09-19",
desc:"23号线江川东路站于2022-9-19首幅低下连续墙开工。",
img:"http://192.168.0.71:40001/2005_01.jpg"
},
];
res.send(result);
}
\ No newline at end of file
export async function getData(req, res) {
const flyToLine = [
{ // 2号线西延伸
lng: -17428.174,
lat: -9858.669,
height: 3520.564,
heading: 0.03386971261178928,
pitch: -0.6624057821120379,
roll: 6.283185307179565
},
{ // 13号线西延伸
lng: -16697.725,
lat: -22543.279,
height: 16389.083,
heading: 0.0338697126117351,
pitch: -0.6624057821120397,
roll: 5.062616992290714e-14
},
{ // 17号线
lng: -46787.422,
lat: -28797.762,
height: 9928.764,
heading: 0.03386971261170757,
pitch: -0.6624057821120424,
roll: 7.194245199571014e-14
},
{ // 18号线二期
lng: -2173.224,
lat: -1970.453,
height: 11287.685,
heading: 0.03386971261171112,
pitch: -0.6624057821119615,
roll: 6.394884621840902e-14
},
{ // 19号线
lng: -1549.759,
lat: -108646.927,
height: 87338.106,
heading: 0.03386971261170313,
pitch: -0.6624057821120357,
roll: 7.72715225139109e-14
},
{ // 21号线
lng: 15023.944,
lat: -57623.063,
height: 44620.419,
heading: 0.033869712611886094,
pitch: -0.6659651373168334,
roll: 6.283185307179476
},
{ // 23号线
lng: -5147.915,
lat: -81794.987,
height: 52423.589,
heading: 0.03386971261176264,
pitch: -0.6624057821120344,
roll: 6.283185307179561
},
];
this.lineListData = [
// 二号线熙延伸
// {
// line: '潘祥路站',
// location: {
// lng: -17798.682,
// lat: -6326.961,
// height: 414.915,
// heading: 0.03386971261177152,
// pitch: -0.6624057821120575,
// roll: 6.283185307179565
// },
// ygLine: 'yg_line2x'
// }
// 13号线西延申
// {
// line: '诸光路站',
// location: {
// lng: -16845.226,
// lat: -5722.914,
// height: 870.578,
// heading: 0.033869712611734215,
// pitch: -0.6624057821120481,
// roll: 4.618527782440651e-14
// },
// ygLine: 'yg_line2x'
// },
// {
// line: '季乐路站',
// location: {
// lng: -18511.257,
// lat: -2629.480,
// height: 232.677,
// heading: 0.0356271497691143,
// pitch: -0.6680507282546122,
// roll: 4.973799150320701e-14
// }
// },
// {
// line: '纪翟路站',
// location: {
// lng: -18391.418,
// lat: -749.489,
// height: 311.815,
// heading: 0.03562714976911341,
// pitch: -0.668050728254598,
// roll: 4.796163466380676e-14
// }
// },
// {
// line: '红卫河中间风井',
// location: {
// lng: -17643.895,
// lat: -194.015,
// height: 161.968,
// heading: 0.03562714976911252,
// pitch: -0.6680507282546015,
// roll: 4.707345624410664e-14
// }
// },
// {
// line: '封浜中间风井',
// location: {
// lng: -16084.460,
// lat: 555.331,
// height: 266.062,
// heading: 0.0356271497691143,
// pitch: -0.6680507282545882,
// roll: 4.1744385725905886e-14
// }
// }
// 17号线
// {
// line: '西岑站',
// location: {
// lng: -48442.743,
// lat: -18969.986,
// height: 866.211,
// heading: 0.043056449962152854,
// pitch: -0.6649790172211736,
// roll: 7.638334409421077e-14
// },
// ygLine: 'yg_line17'
// }
// 18号线二期
// 19号线
// 21号线
// 23号线
// 崇明线
]
}
\ No newline at end of file
import { getJstj, getTzwcqkTableData } from "../data/table/newConstruct/ycrh";
export async function getTzwcqk(req, res) {
let line = req.query.line || "全部";
let year = req.query.year || 2023;
let tableData = getTzwcqkTableData();
let dataMap = {};
tableData["投资完成情况"].bodyList.forEach(sbuList => {
let name = sbuList[0];
let yearCount = sbuList[2];//年度完成
let yearCountRelocation = sbuList[4];//年度完成动迁
let yearExpected = sbuList[1];//计划投资额
let yearExpectedRelocation = sbuList[3];//年度计划动迁
let yearProportion = yearExpected == 0 ? 0 : Math.ceil((yearCount / yearExpected)*100)/100;
let overCount = sbuList[6];//累计完成
let overCountRelocation = sbuList[8];//年度完成动迁
let overExpected = sbuList[5];//计划投资额
let overExpectedRelocation = sbuList[7];//年度计划动迁
let overProportion = overExpected == 0 ? 0 : Math.ceil((overCount / overExpected)*100 )/100;
dataMap[name] = {
"year":{
count:yearCount,
countRelocation:yearCountRelocation,
expected:yearExpected,
expectedRelocation:yearExpectedRelocation,
proportion:yearProportion
},
"overall":{
count:overCount,
countRelocation:overCountRelocation,
expected:overExpected,
expectedRelocation:overExpectedRelocation,
proportion:overProportion
}
}
});
let result:any = {};
if (line == "全部") {
let data:any = {"year":{}, "overall":{} }
for (let key in dataMap) {
let {year, overall} = dataMap[key];
for (let subKey in year) {
if (!data["year"][subKey]) data["year"][subKey] = 0;
data["year"][subKey] += year[subKey];
}
for (let subKey in overall) {
if (!data["overall"][subKey]) data["overall"][subKey] = 0;
data["overall"][subKey] += overall[subKey];
}
}
result["annualAccumulation"] = {
"completionAmount": 0,//年度完成额
"proportion": data["year"].proportion == 0 ? 0 : Math.ceil((data["year"].count / data["year"].expected)* 100 )/100,
"count": Math.ceil(data["year"].count/100),//年度累计投资额
"countRelocation":Math.ceil( data["year"].countRelocation/100),//年度累计动迁
"expected":Math.ceil( data["year"].expected/100),//计划投资额
"expectedRelocation":Math.ceil( data["year"].expectedRelocation/100),//年度计划动迁
};
result["overall"] = {
"completionAmount":0,//累计完成额
"proportion": data["overall"].expected == 0 ? 0 : Math.ceil((data["overall"].count / data["overall"].expected)*100 )/ 100,
"count": Math.ceil(data["overall"].count/100),//年度累计投资额
"countRelocation": Math.ceil(data["overall"].countRelocation/100),//年度累计动迁
"expected": Math.ceil(data["overall"].expected/100),//计划投资额
"expectedRelocation": Math.ceil(data["overall"].expectedRelocation/100),//年度计划动迁
};
console.log();
} else {
let defalut = {
year:{
count:0, countRelocation:0, expected:0, expectedRelocation:0, proportion:0,
},
overall:{
count:0, countRelocation:0, expected:0, expectedRelocation:0, proportion:0,
}
}
let data = dataMap[line] || defalut;
result["annualAccumulation"] = {
"completionAmount": 0,//年度完成额
"proportion": data["year"].proportion,//完成比
"count":Math.ceil( data["year"].count/100),//年度累计投资额
"countRelocation":Math.ceil( data["year"].countRelocation/100),//年度累计动迁
"expected":Math.ceil( data["year"].expected/100),//计划投资额
"expectedRelocation":Math.ceil( data["year"].expectedRelocation/100),//年度计划动迁
};
result["overall"] = {
"completionAmount":0,//累计完成额
"proportion": data["overall"].proportion,//完成比
"count": Math.ceil(data["overall"].count/100),//年度累计投资额
"countRelocation": Math.ceil(data["overall"].countRelocation/100),//年度累计动迁
"expected": Math.ceil(data["overall"].expected/100),//计划投资额
"expectedRelocation": Math.ceil(data["overall"].expectedRelocation/100),//年度计划动迁
};
}
res.send(result);
}
export async function getHtjeyjzl(req, res) {
let line = req.query.line || "全部";
let excelData = getJstj();
let result:any = {};
result["base"] = {
"accumulatedContractAmountSigned":0,//累计签合同金额
"estimatedTotalValue":0,//概算总值
"totalTargetCost":0,//目标成本总值
};
let titleList = ["车站", "区间", "轨道", "通讯", "信号", "供电", "综合监控"];
result["detailedList"] = [];
if (line == "全部") {
let map = {};
for (let key in excelData) {
let dataList = excelData[key].bodyList[excelData[key].bodyList.length -1];
result["base"].accumulatedContractAmountSigned = dataList[1];
result["base"].estimatedTotalValue = dataList[2];
result["base"].totalTargetCost = dataList[3];
excelData[key].bodyList.forEach(subList => {
let title = subList[0];
if (title == "总数") return;
if (!map[title]) map[title] = {ht:0, gs:0, cb:0};
map[title].ht += subList[1];
map[title].gs += subList[2];
map[title].cb += subList[3];
});
}
titleList.forEach(str => {
let item = map[str];
result["detailedList"].push({
type:str,
estimated:item.gs,//概算
targetCost:item.cb,//目标成本
accumulatedContractAmountSigned:item.ht,//累计签合同金额
});
});
} else {
let checkList = excelData[line]? excelData[line].bodyList : [0,0,0,0];
let allList = checkList[checkList.length-1];
result["base"].accumulatedContractAmountSigned = allList[1];
result["base"].estimatedTotalValue = allList[2];
result["base"].totalTargetCost = allList[3];
let map = {};
checkList.forEach(subList => {
let title = subList[0];
if (title == "总数") return;
if (!map[title]) map[title] = {ht:0, gs:0, cb:0};
map[title].ht = subList[1];
map[title].gs = subList[2];
map[title].cb = subList[3];
});
titleList.forEach(str => {
let item = map[str];
result["detailedList"].push({
type:str,
estimated:item.gs,//概算
targetCost:item.cb,//目标成本
accumulatedContractAmountSigned:item.ht,//累计签合同金额
});
});
}
result["title"] = ["累计签合同值(含变更)", "概算值", "目标成本"]
res.send(result);
}
export async function getDetailedData(req, res) {
let line = req.query.line || "";
let result:any = {};
result["data"] = {
"车站":[
{
name:"高架区间",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
},
{
name:"通道区间",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
},
{
name:"出入场线",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
}
],
"区间":[
{
name:"高架区间",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
},
{
name:"高架区间",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
},
{
name:"高架区间",//费用名称
accumulatedSignedContractValue:15.11,//累计签约合同值
estimated:200,//概算值
budgetDifference:122,//概算差额
targetCost:1000,//目标成本
}
]
}
res.send(result);
}
import { getDqfxjd, getZmxfx } from "../data/table/newConstruct/zlaq";
import { keyValuePackage } from "../dataPackage/inFrontOut";
import { getOnceYBarChartOut } from "../dataPackage/out";
export function zmxfx(req, res) {
let line = req.query.line || "全部";
let table = getZmxfx();
let 全网 = [];
let 致命性风险 = [];
for (let key in table) {
let {bodyList} = table[key];
let {count, thisLineCount} = countData(bodyList, line);
全网.push({key, value:count, unit:""});
let thisCount = line == "全部" ? count : thisLineCount;
致命性风险.push({key, value:thisCount, unit:""})
}
let zmxfxfbPackageData = {dataInfo: {"全网": 全网, "致命性风险": 致命性风险}, xUnit: "", yUnit: ""};
let ret = {};
ret['zmxfxfb'] = getOnceYBarChartOut('致命性风险分布', zmxfxfbPackageData);
res.send(ret);
}
export function dqfxjd(req, res) {
let line = req.query.line || "全线网";
if (line == "全部 ") line == "全线网";
let table = getDqfxjd();
let dataIndex = table["风险详细"].headerList.indexOf(line);
let 基坑变形 = dataIndex == -1 ? 0 : table["风险详细"].bodyList[0][dataIndex];
let 地层损失率 = dataIndex == -1 ? 0 : table["风险详细"].bodyList[1][dataIndex];
let 旁通道地表沉降 = dataIndex == -1 ? 0 : table["风险详细"].bodyList[2][dataIndex];
let ret = {};
ret['jkbx'] = {title: '基坑变形', dataList: {key:"基坑变形", value:基坑变形}};
ret['dcssl'] = {title: '地层损失率', dataList: {key:"地层损失率", value:地层损失率}};
ret['ptddbcx'] = {title: '旁通道地表沉降', dataList: {key:"旁通道地表沉降", value:旁通道地表沉降}};
table = getZmxfx();
for (let key in table ) {
let {allCount, allRisks, count, risks} = descData(table[key].bodyList, line);
let keyStr = key == "盾构区间" ? "区间" : key;
let onceList = [
{key:`${keyStr}总数`, value:line == "全线网" ? allCount : count },
{key:`当前数量`, value:line == "全线网" ? allRisks : risks },
];
let oncePackage = keyValuePackage(onceList);
let packageData = {title: `${keyStr}详细数据`, dataList: oncePackage};
switch(key) {
case "基坑":ret["jkxxsj"] = packageData;break;
case "盾构区间":ret["qjxxsj"] = packageData;break;
case "旁通道":ret["ptdxxsj"] = packageData;break;
}
}
res.send(ret);
}
export function gcaqzt(req, res) {
let line = req.query.line || "全线网";
if (line == "全部 ")line == "全线网";
let table = getZmxfx();
let ret = {};
for (let key in table ) {
let {allCount, allRisks, count, risks} = descData(table[key].bodyList, line);
let value = line == "全线网" ? allRisks : risks;
let title = `${key}风险期数量`;
let packageData = {title, dataList: {key:`风险期数量`, value} };
switch(key) {
case "基坑":ret["jkfxqsl"] = packageData;break;
case "盾构区间":ret["dgqjfxqsl"] = packageData;break;
case "旁通道":ret["ptdfxqsl"] = packageData;break;
}
let {allControl, allFocus, allSecure, control, focus, secure } = getFXQData(table[key].bodyList, line);
let onceList = [
{rate:100, key:`安全`, value:line == "全线网" ? allSecure : secure },
{rate:100, key:`风险可控`, value:line == "全线网" ? allControl : control },
{rate:100, key:`重点关注`, value:line == "全线网" ? allFocus : focus },
];
let oncePackage = keyValuePackage(onceList);
let descPackageData = {title: `${key}详细数据`, dataList: oncePackage};
descPackageData.dataList.forEach(info => {
info["num"] = info.value;
})
switch(key) {
case "基坑":ret["jkxxsj"] = descPackageData;break;
case "盾构区间":ret["dgqjxxsj"] = descPackageData;break;
case "旁通道":ret["ptdxxsj"] = descPackageData;break;
}
}
res.send(ret);
}
function countData(dataList, name) {
let count = 0;
let thisLineCount = 0;
dataList.forEach(subList => {
let thisCount = 0;
for (let i = 6; i <= 9; i++) {
thisCount += subList[i] || 0;
}
count += thisCount;
if (subList[0] == name) thisLineCount = thisCount;
});
return {count, thisLineCount};
}
function descData(dataList, name) {
let allCount = 0;
let allRisks = 0;
let count = 0;
let risks = 0;
dataList.forEach(subList => {
allCount += subList[1];
allRisks += subList[2];
if (subList[0] == name) {
count += subList[1];
risks += subList[2];
}
});
return { allCount, allRisks, count, risks};
}
function getFXQData(dataList, name) {
let allControl = 0;
let allFocus = 0;
let allSecure = 0;
let control = 0;
let focus = 0;
let secure = 0;
dataList.forEach(subList => {
allSecure += subList[3];
allControl += subList[4];
allFocus += subList[5];
if (subList[0] == name) {
secure += subList[3];
control += subList[4];
focus += subList[5];
}
});
return { allControl, allFocus, allSecure, control, focus, secure };
}
\ No newline at end of file
......@@ -26,6 +26,10 @@ import * as jjcyBiz from '../biz/ztjsgl/jjcy';
import * as lscxBiz from '../biz/ztjsgl/lscx';
import * as ylghBiz from '../biz/ztjsgl/ylgh';
import * as ztjsglBiz from '../biz/ztjsgl/map';
/**计划进度 */
import * as jhjdBiz from '../newBiz/jhjd';
import * as ycrhBiz from '../newBiz/ycrh';
import * as zlaqBiz from '../newBiz/zlaq';
export function setRouter(httpServer){
/**
......@@ -36,15 +40,7 @@ export function setRouter(httpServer){
httpServer.get('/jszhpt', asyncHandler(jszhptBiz.getData));//地图
httpServer.get('/qqgl', asyncHandler(qqglBiz.getData));//前期管理
httpServer.get('/xxjd', asyncHandler(xxjdBiz.getData));//形象进度
httpServer.get('/zmxfxfb', asyncHandler(zmxfxfbBiz.getData));//致命性风险分布
httpServer.get('/dqfxjd', asyncHandler(dqfxjdBiz.getData));//当前风险节点
httpServer.get('/gcaqzt', asyncHandler(gcaqztBiz.getData));//工程安全状态
httpServer.get('/nf', asyncHandler(nfBiz.getData));//工程安全状态
//投资管控指标面板
httpServer.get('/gszs', asyncHandler(gszsBiz.getData)); //概算总数
httpServer.get('/tkjs', asyncHandler(tkjsBiz.getData)); //投控建设
httpServer.get('/jstj', asyncHandler(jstjBiz.getData)); //决算统计
//业财融合指标面板
httpServer.get('/tzwcqk', asyncHandler(tzwcqkBiz.getData)) //投资完成情况
......@@ -60,4 +56,32 @@ export function setRouter(httpServer){
httpServer.get('/ylgh', asyncHandler(ylghBiz.getData));//引领/规划
httpServer.get('/map', asyncHandler(ztjsglBiz.getData));//地图
/**建设指挥大屏 */
/** 质量安全 */
httpServer.get('/zmxfxfb', asyncHandler(zlaqBiz.zmxfx));//致命性风险分布 6.1改
httpServer.get('/dqfxjd', asyncHandler(zlaqBiz.dqfxjd));//当前风险节点 6.1改
httpServer.get('/gcaqzt', asyncHandler(zlaqBiz.gcaqzt));//工程安全状态 6.1改
httpServer.get('/nf', asyncHandler(nfBiz.getData));//年份
//投资管控指标面板
httpServer.get('/gszs', asyncHandler(gszsBiz.getData)); //概算总数
httpServer.get('/tkjs', asyncHandler(tkjsBiz.getData)); //投控建设
httpServer.get('/jstj', asyncHandler(jstjBiz.getData)); //决算统计
/**新的 */
httpServer.get('/construct/plannedprogress/qqgl', asyncHandler(jhjdBiz.getQqzz) );
httpServer.get('/construct/plannedprogress/dxtd', asyncHandler(jhjdBiz.getDqtd) );
httpServer.get('/construct/plannedprogress/xxjd', asyncHandler(jhjdBiz.getXxjd) );
httpServer.get('/construct/plannedprogress/lcbjd', asyncHandler(jhjdBiz.getLcbjd) );
/**业财融合 */
httpServer.get('/construct/integrationofbusinessandfinance/tzwcqk', asyncHandler(ycrhBiz.getTzwcqk) );
httpServer.get('/construct/integrationofbusinessandfinance/htjeyjzl', asyncHandler(ycrhBiz.getHtjeyjzl) );
httpServer.get('/construct/integrationofbusinessandfinance/detailed', asyncHandler(ycrhBiz.getDetailedData) );
/**地图线路坐标 */
httpServer.get('/construct/zlaq/zmxfx', asyncHandler(zlaqBiz.zmxfx));
httpServer.get('/construct/zlaq/dqfxjd', asyncHandler(zlaqBiz.dqfxjd));
httpServer.get('/construct/zlaq/gcaqzt', asyncHandler(zlaqBiz.gcaqzt));
}
\ 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