Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yuyiViewServer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
yuyiViewServer
Commits
7ad89fdf
Commit
7ad89fdf
authored
Apr 23, 2025
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
5fef50f9
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
198 additions
and
165 deletions
+198
-165
error.2025-03-28.log.1
logs/error/error.2025-03-28.log.1
+0
-13
error.2025-04-22.log.1
logs/error/error.2025-04-22.log.1
+10
-10
error.2025-04-22.log.2
logs/error/error.2025-04-22.log.2
+10
-0
error.2025-04-22.log.3
logs/error/error.2025-04-22.log.3
+10
-0
jxgljsc.ts
src/biz/jxgljsc.ts
+2
-2
enum.ts
src/config/enum.ts
+8
-31
jxgljsc.ts
src/data/db/jxgljsc.ts
+123
-31
qyfw.ts
src/data/db/qyfw.ts
+25
-59
qyszhx.ts
src/data/db/qyszhx.ts
+3
-3
zhyy.ts
src/data/db/zhyy.ts
+7
-16
No files found.
logs/error/error.2025-03-28.log.1
deleted
100644 → 0
View file @
5fef50f9
[2025-03-28T15:51:35.910] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:51:37.087] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:51:38.199] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:09.409] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:10.544] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:11.696] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:12.802] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:13.911] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:15.019] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:54.257] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:55.357] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:56.481] [ERROR] errorLogger - errorInfo => undefined |
[2025-03-28T15:56:57.594] [ERROR] errorLogger - errorInfo => undefined |
logs/error/error.2025-04-22.log.1
View file @
7ad89fdf
[2025-04-22T
14:07:27.222
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:29.206
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:31.200
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:33.213
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:35.211
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:35.332
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:37.201
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
14:07:37.294
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
19:24:07.17
7] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
19:24:08.278
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:05.470
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:06.582
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:07.685
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:09.345
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:29.679
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:30.776
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:31.874
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:33.006
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:34.11
7] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T
21:02:35.223
] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
logs/error/error.2025-04-22.log.2
0 → 100644
View file @
7ad89fdf
[2025-04-22T21:00:54.208] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:55.332] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:29.681] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:30.797] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:31.897] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:33.025] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:34.134] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:01:35.253] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:02:03.257] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:02:04.362] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
logs/error/error.2025-04-22.log.3
0 → 100644
View file @
7ad89fdf
[2025-04-22T21:00:29.682] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:30.780] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:31.888] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:33.012] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:34.265] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:36.289] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:49.778] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:50.879] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:51.989] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
[2025-04-22T21:00:53.105] [ERROR] errorLogger - errorInfo => 数据联合查询失败 | undefined |
src/biz/jxgljsc.ts
View file @
7ad89fdf
...
...
@@ -14,10 +14,10 @@ export async function getData(req, res) {
let
ret
:
any
=
{};
let
zfqymjqkfxPackageData
=
keyValuePackage
(
excelData
[
'在孵企业面积情况分析'
]
.
dataList
);
let
zfqymjqkfxPackageData
=
keyValuePackage
(
dbList
.
在孵企业面积情况分析
.
dataList
);
ret
[
'zfqymjqkfx'
]
=
getKeyValueOut
(
'在孵企业面积情况分析'
,
zfqymjqkfxPackageData
);
let
zfqymjbhqsPackageData
=
onceYBarChartPackage
(
excelData
[
'在孵企业面积变化趋势'
],
''
,
''
);
let
zfqymjbhqsPackageData
=
onceYBarChartPackage
(
[
dbList
.
在孵企业面积变化趋势
],
''
,
''
);
ret
[
'zfqymjbhqs'
]
=
getOnceYBarChartOut
(
'在孵企业面积变化趋势'
,
zfqymjbhqsPackageData
);
...
...
src/config/enum.ts
View file @
7ad89fdf
...
...
@@ -351,36 +351,14 @@ export enum SELECTPARAM {
}
/**
* 知识产权类型
* 知识产权
全
类型
*/
export
enum
INTELLECTUALPROPERTYRIGHT
{
// 软件著作 = 1,
export
enum
IPRALLTYPE
{
软件著作权
=
1
,
发明专利
,
海外专利
,
专利
,
其他
// 植物新品种
,
// 集成电路布图,
专利
=
100
,
发明专利
=
101
,
海外专利
=
102
,
其他
=
200
,
植物新品种
=
201
,
集成电路布图
=
202
}
/**
* 知识产权类型 前端用
*/
export
enum
IPRTYPECLIENT
{
// 软件著作 = 1,
软件著作权
=
1
,
发明专利
,
海外专利
,
植物新品种
,
集成电路布图
,
}
/**
* 知识产权类型专利 前端用
*/
export
enum
IPRTYPECLIENTZL
{
发明专利
=
2
,
海外专利
,
}
\ No newline at end of file
src/data/db/jxgljsc.ts
View file @
7ad89fdf
...
...
@@ -12,6 +12,16 @@ import { get } from "http";
import
{
changeEnumValue
}
from
"../../tools/eccEnum"
;
function
getStartAndEndTimeYearList
(
startTime
,
endTime
)
{
let
startYear
=
new
Date
(
startTime
).
getFullYear
();
let
endYear
=
new
Date
(
endTime
).
getFullYear
();
let
result
=
[];
for
(
let
i
=
startYear
;
i
<=
endYear
;
i
++
)
{
result
.
push
(
i
);
}
return
result
;
}
export
async
function
getJxgljsc
()
{
let
jxgljsc
=
{
产业结构
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//产业结构
...
...
@@ -29,9 +39,88 @@ export async function getJxgljsc() {
企业孵化数
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//企业孵化数
金融服务
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//新增后台填报
预警
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//预警
企业预警
:
{
bodyList
:
[],
headerList
:
[[
'企业名称'
,
'风险等级'
]]
}
企业预警
:
{
bodyList
:
[],
headerList
:
[[
'企业名称'
,
'风险等级'
]]
},
在孵企业面积情况分析
:{
dataList
:
[]},
//在孵企业面积情况分析
在孵企业面积变化趋势
:{
name
:
"在孵企业面积"
,
data
:[]}
};
//在孵企业面积情况分析
//获取所有企业孵化信息
let
manyTableInfo
:
any
=
{}
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"startTime"
,
"endTime"
,
"state"
],
where
:
{}
};
manyTableInfo
[
TABLENAME
.
租赁信息
]
=
{
column
:
[
"area"
,
"startTime"
,
"endTime"
],
where
:
{}
};
let
fhdbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
state
:
1
},
[
"industry"
,
"eId"
],
manyTableInfo
);
let
areaCount
=
0
;
let
面积变化
Map
=
{};
//孵化面积变化
let
thisYear
=
new
Date
().
getFullYear
();
let
industryMap
=
{};
let
在孵企业变化趋势
map
=
{};
fhdbList
.
forEach
(
info
=>
{
let
{
industry
,
enterprise_fuhuas
,
enterprise_leases
}
=
info
;
let
startTime
=
enterprise_fuhuas
[
0
].
startTime
;
if
(
!
startTime
)
return
;
let
area
=
enterprise_leases
[
0
].
area
||
0
;
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
(
itemYear
>
thisYear
)
return
;
if
(
!
面积变化
Map
[
itemYear
])
面积变化
Map
[
itemYear
]
=
{
key
:
itemYear
,
value
:
0
};
面积变化
Map
[
itemYear
].
value
+=
parseFloat
(
area
);
if
(
!
在孵企业变化趋势
map
[
itemYear
])
在孵企业变化趋势
map
[
itemYear
]
=
0
;
在孵企业变化趋势
map
[
itemYear
]
+=
1
;
});
}
}
//行业领域分布
if
(
industry
)
{
let
industryStr
=
changeEnumValue
(
INDUSTRY
,
JSON
.
parse
(
industry
)[
0
]);
if
(
!
industryMap
[
industryStr
])
industryMap
[
industryStr
]
=
0
;
industryMap
[
industryStr
]
+=
1
;
}
});
let
在孵企业变化趋势
=
[];
for
(
let
key
in
在孵企业变化趋势
map
)
{
在孵企业变化趋势
.
push
({
key
,
value
:
在孵企业变化趋势
map
[
key
]
});
}
在孵企业变化趋势
.
sort
((
a
,
b
)
=>
{
return
parseInt
(
a
.
key
)
-
parseInt
(
b
.
key
)
});
jxgljsc
.
在孵企业变化趋势
=
getChart
({
"在孵企业"
:
在孵企业变化趋势
});
//在孵企业变化趋势
//行业领域----按照企业选择的类型呈现
for
(
let
key
in
INDUSTRY
)
{
let
anyKey
:
any
=
key
;
if
(
isNaN
(
anyKey
))
{
let
keyStr
=
key
;
jxgljsc
.
产业结构
.
dataList
.
push
({
key
:
keyStr
,
value
:
industryMap
[
keyStr
]
});
}
}
jxgljsc
.
在孵企业面积变化趋势
.
data
=
Object
.
values
(
面积变化
Map
);
let
孵化器信息数据
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
羽翼孵化器
,
{},
null
);
/**
* 计算在孵企业面积占比:在孵企业总面积/孵化器或者园区总面积 x 100%
*/
let
zaifuAreaRatio
=
"0"
;
if
(
!
isNaN
(
孵化器信息数据
.
totalArea
)
&&
parseFloat
(
孵化器信息数据
.
totalArea
)
&&
areaCount
)
{
let
zaifuAreaRatioNum
=
100
*
(
areaCount
/
parseFloat
(
孵化器信息数据
.
totalArea
));
zaifuAreaRatio
=
zaifuAreaRatioNum
>
100
?
"100"
:
zaifuAreaRatioNum
.
toFixed
(
2
);
}
jxgljsc
.
在孵企业面积情况分析
.
dataList
.
push
({
key
:
"在孵面积占比"
,
value
:
zaifuAreaRatio
});
// 获取当前时间
let
nowTime
=
moment
().
format
(
'YYYY-MM-DD HH:mm:ss'
);
let
fhColumn
=
[
"fId"
,
"eId"
,
"startTime"
,
"endTime"
,
"state"
,
"virtualCause"
,
"virtualCauseDes"
,
"moveOutType"
,
...
...
@@ -39,7 +128,8 @@ export async function getJxgljsc() {
//获取在孵企业
// let 在孵dbList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.企业孵化信息, { "endTime": { "%gt%": nowTime } }, fhColumn);
let
在孵
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业孵化信息
,
{
state
:
{
"%ne%"
:
FUHUASTATE
.
迁出
}
},
fhColumn
);
//获取在孵企业租赁信息
let
租赁
Column
=
[
"eId"
,
"year"
,
"alienPatent"
,
"classIPatent"
,
"secondClassPatent"
,
"thirdPentent"
];
let
在孵租赁联查
includeConf
=
{};
...
...
@@ -50,7 +140,7 @@ export async function getJxgljsc() {
//获取羽翼孵化器
let
羽翼孵化器
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
羽翼孵化器
,
{},
[]);
jxgljsc
.
产业结构
.
dataList
=
await
cyjg
();
//产业结构
//
jxgljsc.产业结构.dataList = await cyjg();//产业结构
jxgljsc
.
人才引进
.
dataList
=
await
rcyj
();
//人才引进
...
...
@@ -62,8 +152,6 @@ export async function getJxgljsc() {
//科技型中小企业认定情况详细列表
jxgljsc
.
科技型中小企业认定情况详细
.
bodyList
=
kjxzxqyrdqkxx
;
let
fhqhzsjInfo
=
await
fhqhzsj
(
羽翼孵化器
dbList
,
在孵
dbList
);
jxgljsc
.
孵化器汇总数据
.
dataList
=
getKeyValue
(
fhqhzsjInfo
);
//孵化器汇总数据
...
...
@@ -78,7 +166,8 @@ export async function getJxgljsc() {
let
qydtInfo
=
await
qydt
(
在孵
dbList
);
jxgljsc
.
企业动态
.
dataList
=
getKeyValue
(
qydtInfo
);
//企业动态
jxgljsc
.
在孵企业变化趋势
=
await
zfqybhqs
(
在孵
dbList
);
//在孵企业变化趋势
/**
* 金融服务
...
...
@@ -239,14 +328,24 @@ async function getyj() {
let
manyTableInfo
:
any
=
{}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } };
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"moveOutTime"
],
where
:
{}
};
// manyTableInfo[TABLENAME.企业经营信息] = { column: ["annual"], where: {} };
let
fhdbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{},
fhColumn
,
manyTableInfo
);
let
manageList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{
},
[
"annual"
,
"eId"
]);
let
map
=
{};
manageList
.
forEach
(
info
=>
{
map
[
info
.
eId
]
=
1
;
});
fhdbList
.
forEach
(
info
=>
{
let
riskLevel
:
string
;
if
(
info
.
enterprise_fuhuas
[
0
].
moveOutT
ime
)
{
yj
.
高风险
++
;
let
riskLevel
=
""
;
if
(
info
.
enterprise_fuhuas
[
0
].
moveOutT
ype
==
MOVEOUTTYPE
.
非毕业迁出
)
{
yj
.
高风险
+=
1
;
riskLevel
=
"高风险"
;
}
else
if
(
info
.
shijiaoziben
==
"-"
||
info
.
shijiaoziben
==
null
)
{
yj
.
中低风险
++
;
}
else
if
(
!
map
[
info
.
eId
]
)
{
yj
.
中低风险
+=
1
;
riskLevel
=
"中低风险"
;
}
...
...
@@ -289,26 +388,22 @@ async function qydt(data) {
let
monthAgo2
=
moment
().
subtract
(
1
,
'month'
).
format
(
'YYYY-MM-01 00:00:00'
);
let
monthAgo2End
=
moment
().
subtract
(
1
,
'month'
).
endOf
(
'month'
).
format
(
'YYYY-MM-DD 00:00:00'
);
//环比去年
let
thisYear
=
moment
().
format
(
'YYYY-01-01 00:00:00'
);
let
yearAgo
=
moment
().
subtract
(
1
,
'year'
).
format
(
'YYYY-01-01 00:00:00'
);
let
yearAgoEnd
=
moment
().
subtract
(
1
,
'year'
).
format
(
'YYYY-12-31 00:00:00'
);
let
lastYearThieMonthAgo
=
moment
().
startOf
(
"M"
).
subtract
(
1
,
'year'
).
format
(
'YYYY-MM-DD 00:00:00'
);
let
lastYearThieMonthAgoEnd
=
moment
().
endOf
(
"M"
).
subtract
(
1
,
'year'
).
format
(
'YYYY-MM-DD 00:00:00'
);
let
上月
=
0
;
let
今年
=
0
;
let
去年
=
0
;
let
去年本月
=
0
;
data
.
forEach
(
info
=>
{
if
(
moment
(
info
.
startTime
)
>
moment
(
monthAgo
)
&&
moment
(
info
.
startTime
)
<
moment
(
nowTime
))
{
let
{
startTime
}
=
info
;
if
(
moment
(
startTime
)
>
moment
(
monthAgo
)
&&
moment
(
startTime
)
<
moment
(
nowTime
))
{
qydt
.
本月新加入在孵企业
+=
1
;
}
if
(
moment
(
info
.
startTime
)
>
moment
(
monthAgo2
)
&&
moment
(
info
.
startTime
)
<
moment
(
monthAgo2End
))
{
if
(
moment
(
startTime
)
>
moment
(
monthAgo2
)
&&
moment
(
startTime
)
<
moment
(
monthAgo2End
))
{
上月
+=
1
;
}
if
(
moment
(
info
.
startTime
)
>
moment
(
thisYear
)
&&
moment
(
info
.
startTime
)
<
moment
(
nowTime
))
{
今年
+=
1
;
}
if
(
moment
(
info
.
startTime
)
>
moment
(
yearAgo
)
&&
moment
(
info
.
startTime
)
<
moment
(
yearAgoEnd
))
{
去年
+=
1
;
if
(
moment
(
startTime
)
>
moment
(
lastYearThieMonthAgo
)
&&
moment
(
startTime
)
<
moment
(
lastYearThieMonthAgoEnd
))
{
去年本月
+=
1
;
}
})
...
...
@@ -316,20 +411,17 @@ async function qydt(data) {
// qydt.同比上月 = 同比.toFixed(2) + "%" || "0%";
// let 环比 = ((今年 - 去年) / 去年) * 100;
// qydt.环比去年 = 环比.toFixed(2) + "%";
if
(
上月
!==
0
)
{
qydt
.
同比上月
=
"0%"
;
if
(
上月
)
{
let
同比
=
((
qydt
.
本月新加入在孵企业
-
上月
)
/
上月
)
*
100
;
qydt
.
同比上月
=
同比
.
toFixed
(
2
)
+
"%"
;
}
else
{
qydt
.
同比上月
=
"0%"
;
}
if
(
去年
!==
0
)
{
let
环比
=
((
今年
-
去年
)
/
去年
)
*
100
;
qydt
.
环比去年
=
"0%"
;
if
(
去年本月
&&
qydt
.
本月新加入在孵企业
)
{
let
环比
=
((
qydt
.
本月新加入在孵企业
-
去年本月
)
/
去年本月
)
*
100
;
qydt
.
环比去年
=
环比
.
toFixed
(
2
)
+
"%"
;
}
else
{
qydt
.
环比去年
=
"0%"
;
}
// result.push(qydt); // 将 qydt 对象添加到 result 数组中
return
qydt
;
}
...
...
src/data/db/qyfw.ts
View file @
7ad89fdf
...
...
@@ -3,7 +3,7 @@
*/
import
moment
=
require
(
"moment"
);
import
{
FUHUASTATE
,
INDUSTRY
,
OPERATIONALDATATYPE
,
STATE
,
TABLENAME
,
IPR
TYPECLIENT
,
EMIGRATIONTYPE
}
from
"../../config/enum"
;
import
{
FUHUASTATE
,
INDUSTRY
,
OPERATIONALDATATYPE
,
STATE
,
TABLENAME
,
IPR
ALLTYPE
,
EMIGRATIONTYPE
}
from
"../../config/enum"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
getChart
,
getKeyValue
,
getMonthList
,
getYearList
}
from
"./out"
;
import
{
getMySqlMs
}
from
"../../tools/systemTools"
;
...
...
@@ -123,7 +123,7 @@ export async function getEnterprise() {
//变化趋势分析 //todo 需要日志表
// getBhqsfx(fhdbList);
let
在孵企业变化趋势
=
getZfqy
(
在孵
dbList
,
毕业
dbList
);
let
在孵企业变化趋势
=
getZfqy
(
在孵
企业变化趋势
map
,
毕业
dbList
);
qyfw
.
变化趋势分析
=
getChart
(
在孵企业变化趋势
);
//入孵时长分布
...
...
@@ -135,10 +135,7 @@ export async function getEnterprise() {
if
(
isNaN
(
anyKey
))
{
let
keyStr
=
key
;
// 只有当count大于0时才添加到dataList中
if
(
industryMap
[
keyStr
]
)
{
qyfw
.
孵化企业行业领域占比
.
dataList
.
push
({
key
:
keyStr
,
value
:
industryMap
[
keyStr
]
});
}
qyfw
.
孵化企业行业领域占比
.
dataList
.
push
({
key
:
keyStr
,
value
:
industryMap
[
keyStr
]
});
}
}
...
...
@@ -167,8 +164,8 @@ export async function getEnterprise() {
}
hbqs
.
sort
((
a
,
b
)
=>
{
return
parseInt
(
a
.
key
)
-
parseInt
(
b
.
key
)
});
qyfw
.
企业变化情况变化趋势
=
getChart
({
"企业数"
:
hbqs
});
let
企业融资
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业融资
,
{},
null
);
let
企业融资
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业融资
,
{},
null
);
//金融服务
let
jrfw
=
await
getJrfw
(
在孵
dbList
,
企业融资
dbList
);
qyfw
.
金融服务
.
dataList
=
getKeyValue
(
jrfw
);
...
...
@@ -329,58 +326,23 @@ function getBhqsfx(data) {
})
}
function
getZfqy
(
在孵
dbList
,
毕业
dbList
)
{
function
getZfqy
(
在孵
企业变化趋势
map
,
毕业
dbList
)
{
let
year
=
getYearList
();
let
bhqsfx
=
{
"在孵"
:
[],
"毕业"
:
[]
};
// 初始化每年的在孵和毕业企业数量为0
for
(
let
i
=
0
;
i
<
year
.
length
;
i
++
)
{
bhqsfx
.
在孵
.
push
({
key
:
year
[
i
],
value
:
0
});
bhqsfx
.
毕业
.
push
({
key
:
year
[
i
],
value
:
0
});
}
在孵
dbList
.
forEach
(
info
=>
{
let
startTimeYear
=
moment
(
info
.
startTime
).
year
();
// 获取入孵开始时间
let
endTimeYear
=
moment
(
info
.
endTime
).
year
();
// 获取入孵结束时间
let
moveOutType
=
info
.
moveOutType
;
// 统计在孵企业
for
(
let
i
=
0
;
i
<
year
.
length
;
i
++
)
{
if
(
parseInt
(
year
[
i
])
===
startTimeYear
)
{
bhqsfx
.
在孵
[
i
].
value
+=
1
;
break
;
}
}
// // 统计毕业企业
// if (moveOutType === EMIGRATIONTYPE.毕业迁出) {
// for (let i = 0; i < year.length; i++) {
// if (parseInt(year[i]) === startTimeYear) {
// bhqsfx.毕业[i].value += 1;
// break;
// }
// }
// }
let
moveOutMap
=
{}
毕业
dbList
.
forEach
(
info
=>
{
let
moveOutTimeYear
=
moment
(
info
.
moveOutTime
).
year
();
// 获取入孵开始时间
if
(
!
moveOutMap
[
moveOutTimeYear
])
moveOutMap
[
moveOutTimeYear
]
=
0
;
moveOutMap
[
moveOutTimeYear
]
+=
1
;
});
毕业
dbList
.
forEach
(
info
=>
{
let
startTimeYear
=
moment
(
info
.
startTime
).
year
();
// 获取入孵开始时间
let
endTimeYear
=
moment
(
info
.
endTime
).
year
();
// 获取入孵结束时间
let
moveOutType
=
info
.
moveOutType
;
// 统计毕业企业
if
(
moveOutType
===
EMIGRATIONTYPE
.
毕业迁出
)
{
for
(
let
i
=
0
;
i
<
year
.
length
;
i
++
)
{
if
(
parseInt
(
year
[
i
])
===
startTimeYear
)
{
bhqsfx
.
毕业
[
i
].
value
+=
1
;
break
;
}
}
}
year
.
forEach
(
year
=>
{
bhqsfx
.
在孵
.
push
({
key
:
year
,
value
:
在孵企业变化趋势
map
[
year
]
||
0
});
bhqsfx
.
毕业
.
push
({
key
:
year
,
value
:
moveOutMap
[
year
]
||
0
});
});
return
bhqsfx
;
...
...
@@ -690,17 +652,17 @@ function getZscq(data) {
data
.
forEach
(
info
=>
{
switch
(
info
.
iprType
)
{
case
IPR
TYPECLIENT
.
软件著作权
:
case
IPR
ALLTYPE
.
软件著作权
:
zscqbt
.
软件著作权
+=
info
.
number
;
break
;
case
IPR
TYPECLIENT
.
发明专利
:
case
IPR
ALLTYPE
.
发明专利
:
zscqbt
.
发明专利
+=
info
.
number
;
break
;
case
IPR
TYPECLIENT
.
海外专利
:
case
IPR
ALLTYPE
.
海外专利
:
zscqbt
.
海外专利
+=
info
.
number
;
break
;
case
IPR
TYPECLIENT
.
植物新品种
:
case
IPR
TYPECLIENT
.
集成电路布图
:
case
IPR
ALLTYPE
.
植物新品种
:
case
IPR
ALLTYPE
.
集成电路布图
:
zscqbt
.
其他
+=
info
.
number
;
break
;
}
...
...
@@ -737,7 +699,11 @@ function getZscqxq(data) {
let
dataList
=
[];
data
.
forEach
(
info
=>
{
let
{
enterprise_iprs
,
enterpriseName
}
=
info
;
let
iprsCount
=
enterprise_iprs
.
length
;
let
iprsCount
=
0
;
enterprise_iprs
.
forEach
(
item
=>
{
let
{
number
}
=
item
;
iprsCount
+=
parseInt
(
number
);
});
dataList
.
push
([
enterpriseName
,
iprsCount
]);
});
...
...
@@ -750,16 +716,16 @@ function getZscqxq(data) {
*/
function
getQyzzfl
(
data
)
{
let
qyzzfl
=
{
专精特新
:
0
,
小巨人
:
0
,
高新企业
:
0
,
专精特新
:
0
,
小巨人培育
:
0
,
}
let
qyzzflTable
=
{
专精特新
:
[],
小巨人
:
[],
高新企业
:
[],
专精特新
:
[],
小巨人培育
:
[],
};
...
...
src/data/db/qyszhx.ts
View file @
7ad89fdf
import
moment
=
require
(
"moment"
);
import
{
AWARDLEVEL
,
DEGREE
,
FINANCINGROUNDS
,
IPR
TYPECLIENT
,
NEEDCATEGORY
,
OPERATIONALDATATYPE
,
QUARTER
,
TABLENAME
}
from
"../../config/enum"
;
import
{
AWARDLEVEL
,
DEGREE
,
FINANCINGROUNDS
,
IPR
ALLTYPE
,
NEEDCATEGORY
,
OPERATIONALDATATYPE
,
QUARTER
,
TABLENAME
}
from
"../../config/enum"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
getChart
,
getKeyValue
,
getYearList
}
from
"./out"
;
import
{
changeEnumValue
}
from
"../../tools/eccEnum"
;
...
...
@@ -536,7 +536,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
企业专利信息
.
forEach
(
info
=>
{
let
{
enterprise_iprs
}
=
info
;
enterprise_iprs
.
forEach
(
patent
=>
{
if
(
patent
.
iprType
===
IPR
TYPECLIENT
.
软件著作权
)
{
if
(
patent
.
iprType
===
IPR
ALLTYPE
.
软件著作权
)
{
ruanzhuCompleted
=
true
;
}
});
...
...
@@ -772,7 +772,7 @@ function get知识产权(data) {
let
{
enterprise_iprs
}
=
info
;
enterprise_iprs
.
forEach
(
patents
=>
{
if
(
patents
.
iprType
)
{
let
iprTypeStr
=
changeEnumValue
(
IPR
TYPECLIENT
,
patents
.
iprType
);
let
iprTypeStr
=
changeEnumValue
(
IPR
ALLTYPE
,
patents
.
iprType
);
if
(
!
zscq
[
iprTypeStr
])
zscq
[
iprTypeStr
]
=
0
;
zscq
[
iprTypeStr
]
+=
patents
.
number
;
}
...
...
src/data/db/zhyy.ts
View file @
7ad89fdf
...
...
@@ -81,9 +81,8 @@ async function calculateRevenue(start: string, end: string) {
}
export
async
function
getZhyy
()
{
let
fhColumn
=
[
"industry"
,
"eId"
];
//获取所有企业孵化信息
let
fhColumn
=
[
"industry"
,
"eId"
];
let
manyTableInfo
:
any
=
{}
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"startTime"
,
"endTime"
,
"state"
],
where
:
{}
};
manyTableInfo
[
TABLENAME
.
租赁信息
]
=
{
column
:
[
"area"
,
"startTime"
,
"endTime"
],
where
:
{}
};
...
...
@@ -150,17 +149,12 @@ export async function getZhyy() {
let
wytzCount
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业孵化信息
,
{
state
:
FUHUASTATE
.
迁出
,
moveOutType
:
EMIGRATIONTYPE
.
违约退租
},
null
);
let
dqtzCount
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业孵化信息
,
{
state
:
FUHUASTATE
.
迁出
,
moveOutType
:
EMIGRATIONTYPE
.
到期退租
},
null
);
let
入驻企业变化趋势
=
[];
for
(
let
key
in
ruZhuMap
)
{
入驻企业变化趋势
.
push
({
key
,
value
:
ruZhuMap
[
key
]
});
for
(
let
i
=
6
;
i
>=
0
;
i
--
)
{
let
key
=
moment
().
subtract
(
i
,
'M'
).
format
(
'YY/MM'
);
入驻企业变化趋势
.
push
({
key
,
value
:
ruZhuMap
[
key
]
||
0
});
}
// 入驻企业变化趋势.sort((a, b) => { return parseInt(a.key) - parseInt(b.key) });
入驻企业变化趋势
.
sort
((
a
,
b
)
=>
{
const
dateA
=
moment
(
a
.
key
,
"YY/MM"
);
const
dateB
=
moment
(
b
.
key
,
"YY/MM"
);
return
dateA
.
diff
(
dateB
);
});
let
在孵企业变化趋势
=
[];
...
...
@@ -232,7 +226,7 @@ export async function getZhyy() {
}
/**
* 企业服务
todo
* 企业服务
*/
let
fuWuCount
=
0
;
//服务数
let
fuWuQiYeCountMap
=
{};
//服务覆盖企业
...
...
@@ -521,10 +515,7 @@ export async function getZhyy() {
if
(
isNaN
(
anyKey
))
{
let
keyStr
=
key
;
// 只有当count大于0时才添加到dataList中
if
(
industryMap
[
keyStr
]
)
{
zhyy
.
入驻企业行业类型
.
dataList
.
push
({
key
:
keyStr
,
value
:
industryMap
[
keyStr
]
});
}
zhyy
.
入驻企业行业类型
.
dataList
.
push
({
key
:
keyStr
,
value
:
industryMap
[
keyStr
]
});
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment