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
a4f60e0a
Commit
a4f60e0a
authored
Feb 11, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
af096383
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
412 additions
and
74 deletions
+412
-74
serverConfig.xml
serverConfig.xml
+2
-1
qyszhx.ts
src/biz/qyszhx.ts
+106
-3
enum.ts
src/config/enum.ts
+2
-1
out.ts
src/data/db/out.ts
+68
-0
qyfw.ts
src/data/db/qyfw.ts
+3
-53
qyszhx.ts
src/data/db/qyszhx.ts
+231
-16
No files found.
serverConfig.xml
View file @
a4f60e0a
...
@@ -3,5 +3,6 @@
...
@@ -3,5 +3,6 @@
<dbPort>
40012
</dbPort>
<dbPort>
40012
</dbPort>
<dbHost>
192.168.0.105
</dbHost>
<dbHost>
192.168.0.105
</dbHost>
<sign>
xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas
</sign>
<sign>
xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas
</sign>
<imgPath>
http://127.0.0.1:4980/yuyi/viewpage
</imgPath>
<!-- <imgPath>http://127.0.0.1:4980/yuyi/viewpage</imgPath> -->
<imgPath>
http://127.0.0.1:40015
</imgPath>
</config>
</config>
src/biz/qyszhx.ts
View file @
a4f60e0a
...
@@ -9,12 +9,115 @@ import { getQyszhx } from '../data/db/qyszhx';
...
@@ -9,12 +9,115 @@ import { getQyszhx } from '../data/db/qyszhx';
export
async
function
getData
(
req
,
res
)
{
export
async
function
getData
(
req
,
res
)
{
let
eId
=
req
.
body
.
eId
;
let
eId
=
req
.
body
.
eId
;
let
dbData
=
await
getQyszhx
(
eId
);
let
dbData
=
await
getQyszhx
(
eId
);
let
excelData
=
qyszhxTableData
();
let
excelData
=
qyszhxTableData
();
let
ret
:
any
=
{};
let
ret
:
any
=
{};
let
qyjbqkPackageData
=
keyValuePackage
(
dbData
[
'企业基本情况'
].
dataList
);
let
qyjbqk
=
[];
qyjbqkPackageData
.
forEach
(
info
=>
{
let
{
key
,
value
}
=
info
;
if
(
key
==
"企业图片"
)
{
info
.
value
=
`
${
systemConfig
.
imgPath
}
/
${
value
}
`
;
}
qyjbqk
.
push
(
info
);
})
ret
[
'qyjbqk'
]
=
getKeyValueOut
(
'企业基本情况'
,
qyjbqk
);
let
qyjbsjPackageData
=
keyValuePackage
(
dbData
[
'企业基本数据'
].
dataList
,
"false"
);
ret
[
'qyjbsj'
]
=
getKeyValueOut
(
'企业基本数据'
,
qyjbsjPackageData
);
let
qybqPackageData
=
stringListPackage
(
dbData
[
'企业标签'
].
dataList
);
ret
[
'qybq'
]
=
getStringOut
(
'企业标签'
,
qybqPackageData
);
let
zscqPackageData
=
keyValuePackage
(
dbData
[
'知识产权'
].
dataList
);
ret
[
'zscq'
]
=
getKeyValueOut
(
'知识产权'
,
zscqPackageData
);
let
qyyghxPackageData
=
keyValuePackage
(
dbData
[
'企业员工画像'
].
dataList
);
ret
[
'qyyghx'
]
=
getKeyValueOut
(
'企业员工画像'
,
qyyghxPackageData
);
let
lnrczpqkPackageData
=
onceYBarChartPackage
(
excelData
[
'历年人才招聘情况'
],
''
,
''
);
ret
[
'lnrczpqk'
]
=
getOnceYBarChartOut
(
'历年人才招聘情况'
,
lnrczpqkPackageData
);
let
qyhzsjPackageData
=
keyValuePackage
(
dbData
[
'企业汇总数据'
].
dataList
);
ret
[
'qyhzsj'
]
=
getKeyValueOut
(
'企业汇总数据'
,
qyhzsjPackageData
);
let
xjrTableData
=
tablePackage
(
excelData
[
"小巨人"
].
headerList
[
0
],
excelData
[
"小巨人"
].
bodyList
);
ret
[
'xjr'
]
=
getTableOut
(
'小巨人'
,
xjrTableData
);
let
gxqyTableData
=
tablePackage
(
excelData
[
"高新企业"
].
headerList
[
0
],
excelData
[
"高新企业"
].
bodyList
);
ret
[
'gxqy'
]
=
getTableOut
(
'高新企业'
,
gxqyTableData
);
let
zjtxTableData
=
tablePackage
(
excelData
[
"专精特新"
].
headerList
[
0
],
excelData
[
"专精特新"
].
bodyList
);
ret
[
'zjtx'
]
=
getTableOut
(
'专精特新'
,
zjtxTableData
);
let
ysqkPackageData
=
keyValuePackage
(
dbData
[
'营收情况'
].
dataList
);
ret
[
'ysqk'
]
=
getKeyValueOut
(
'营收情况'
,
ysqkPackageData
);
let
ysbhqsPackageData
=
onceYBarChartPackage
(
dbData
[
'营收变化趋势'
],
''
,
''
);
ret
[
'ysbhqs'
]
=
getOnceYBarChartOut
(
'营收变化趋势'
,
ysbhqsPackageData
);
let
qydtTableData
=
tablePackage
(
dbData
[
"企业动态"
].
headerList
[
0
],
dbData
[
"企业动态"
].
bodyList
);
// let qydt = {dataList:[], titleList:qydtTableData.titleList};
// qydtTableData.dataList.forEach(info => {
// let {A} = info;
// let imgUrl = ;
// info["A"] = imgUrl;
// qydt.dataList.push(info);
// })
ret
[
'qydt'
]
=
getTableOut
(
'企业动态'
,
qydtTableData
);
let
fwxqPackageData
=
keyValuePackage
(
dbData
[
'服务需求'
].
dataList
,
"false"
);
ret
[
'fwxq'
]
=
getKeyValueOut
(
'服务需求'
,
fwxqPackageData
);
let
hdbhqsfxPackageData
=
onceYBarChartPackage
(
dbData
[
'活动变化趋势分析'
],
''
,
''
);
ret
[
'hdbhqsfx'
]
=
getOnceYBarChartOut
(
'活动变化趋势分析'
,
hdbhqsfxPackageData
);
let
fwjl_kjfwTableData
=
tablePackage
(
dbData
[
"服务记录_空间服务"
].
headerList
[
0
],
dbData
[
"服务记录_空间服务"
].
bodyList
);
ret
[
'fwjl_kjfw'
]
=
getTableOut
(
'服务记录_空间服务'
,
fwjl_kjfwTableData
);
let
fwjl_gsfwTableData
=
tablePackage
(
dbData
[
"服务记录_工商服务"
].
headerList
[
0
],
dbData
[
"服务记录_工商服务"
].
bodyList
);
ret
[
'fwjl_gsfw'
]
=
getTableOut
(
'服务记录_工商服务'
,
fwjl_gsfwTableData
);
let
fwjl_rzfwTableData
=
tablePackage
(
dbData
[
"服务记录_融资服务"
].
headerList
[
0
],
dbData
[
"服务记录_融资服务"
].
bodyList
);
ret
[
'fwjl_rzfw'
]
=
getTableOut
(
'服务记录_融资服务'
,
fwjl_rzfwTableData
);
let
fwjlPackageData
=
keyValuePackage
(
dbData
[
'服务记录'
].
dataList
);
ret
[
'fwjl'
]
=
getKeyValueOut
(
'服务记录'
,
fwjlPackageData
);
let
yqtzPackageData
=
keyValuePackage
(
excelData
[
'园区通知'
].
dataList
);
ret
[
'yqtz'
]
=
getKeyValueOut
(
'园区通知'
,
yqtzPackageData
);
let
yqtzxqTableData
=
tablePackage
(
excelData
[
"园区通知详情"
].
headerList
[
0
],
excelData
[
"园区通知详情"
].
bodyList
);
let
yqtzxq
=
{
dataList
:[],
titleList
:
yqtzxqTableData
.
titleList
};
yqtzxqTableData
.
dataList
.
forEach
(
info
=>
{
let
{
A
}
=
info
;
let
imgUrl
=
`
${
systemConfig
.
imgPath
}
/
${
A
}
`
;
info
[
"A"
]
=
imgUrl
;
yqtzxq
.
dataList
.
push
(
info
);
})
ret
[
'yqtzxq'
]
=
getTableOut
(
'园区通知详情'
,
yqtzxq
);
let
yqhdPackageData
=
keyValuePackage
(
excelData
[
'园区活动'
].
dataList
);
ret
[
'yqhd'
]
=
getKeyValueOut
(
'园区活动'
,
yqhdPackageData
);
let
yqhdmxTableData
=
tablePackage
(
excelData
[
"园区活动明细"
].
headerList
[
0
],
excelData
[
"园区活动明细"
].
bodyList
);
ret
[
'yqhdmx'
]
=
getTableOut
(
'园区活动明细'
,
yqhdmxTableData
);
res
.
send
(
ret
);
}
export
async
function
getData
备份
(
req
,
res
)
{
let
eId
=
req
.
body
.
eId
;
let
excelData
=
qyszhxTableData
();
let
ret
:
any
=
{};
let
qyjbqkPackageData
=
keyValuePackage
(
excelData
[
'企业基本情况'
].
dataList
);
let
qyjbqkPackageData
=
keyValuePackage
(
excelData
[
'企业基本情况'
].
dataList
);
let
qyjbqk
=
[];
let
qyjbqk
=
[];
qyjbqkPackageData
.
forEach
(
info
=>
{
qyjbqkPackageData
.
forEach
(
info
=>
{
...
@@ -107,4 +210,4 @@ export async function getData(req, res) {
...
@@ -107,4 +210,4 @@ export async function getData(req, res) {
ret
[
'yqhdmx'
]
=
getTableOut
(
'园区活动明细'
,
yqhdmxTableData
);
ret
[
'yqhdmx'
]
=
getTableOut
(
'园区活动明细'
,
yqhdmxTableData
);
res
.
send
(
ret
);
res
.
send
(
ret
);
}
}
\ No newline at end of file
\ No newline at end of file
src/config/enum.ts
View file @
a4f60e0a
...
@@ -297,7 +297,8 @@ export enum NEEDCATEGORY {
...
@@ -297,7 +297,8 @@ export enum NEEDCATEGORY {
法律服务
,
法律服务
,
知识产权
,
知识产权
,
工商服务
,
工商服务
,
融资服务
融资服务
,
空间服务
}
}
...
...
src/data/db/out.ts
0 → 100644
View file @
a4f60e0a
import
moment
=
require
(
"moment"
);
export
function
getKeyValue
(
data
)
{
let
result
=
[];
for
(
let
key
in
data
)
{
result
.
push
({
key
,
value
:
data
[
key
]});
}
return
result
;
}
export
function
getChart
(
data
)
{
let
result
=
[];
for
(
let
key
in
data
)
{
result
.
push
({
name
:
key
,
data
:
data
[
key
]})
}
return
result
;
}
export
function
getMonthList
()
{
// 获取当前时间
const
currentTime
=
moment
();
// 获取6个月前的时间
const
sixMonthsAgo
=
currentTime
.
clone
().
subtract
(
6
,
'months'
);
// 创建一个数组来存储每个月份的第一天
const
monthsArray
=
[];
// 使用moment的range函数(如果可用)或者手动循环来遍历月份
// 注意:moment.js的官方库中并没有直接的range函数用于月份遍历,
// 但我们可以使用.month()和.date(1)结合循环来实现。
// 由于moment没有内置的range函数用于月份,我们需要手动处理
let
currentMonth
=
sixMonthsAgo
.
clone
();
while
(
currentMonth
.
isBefore
(
currentTime
)
||
currentMonth
.
isSame
(
currentTime
,
'month'
))
{
// 获取当前循环月份的第一天
const
firstDayOfMonth
=
currentMonth
.
clone
().
date
(
1
);
// 将月份添加到数组中
monthsArray
.
push
(
moment
(
firstDayOfMonth
.
clone
().
toDate
()).
format
(
"YYYY-MM"
));
// 如果你需要Date对象
// monthsArray.push(firstDayOfMonth.format('YYYY-MM-DD')); // 如果你需要格式化字符串
// 移动到下一个月
currentMonth
.
add
(
1
,
'months'
);
}
return
monthsArray
;
}
export
function
getYearList
()
{
// 获取当前年份
const
currentYear
=
new
Date
().
getFullYear
();
// 初始化一个空数组来存储年份
const
years
=
[];
// 使用一个循环来添加当前年份到6年后的每一个年份到数组中
for
(
let
i
=
0
;
i
<=
6
;
i
++
)
{
years
.
push
(
currentYear
+
i
);
}
return
years
;
}
src/data/db/qyfw.ts
View file @
a4f60e0a
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
import
moment
=
require
(
"moment"
);
import
moment
=
require
(
"moment"
);
import
{
FUHUASTATE
,
INDUSTRY
,
MOVEOUTTYPE
,
OPERATIONALDATATYPE
,
STATE
,
TABLENAME
}
from
"../../config/enum"
;
import
{
FUHUASTATE
,
INDUSTRY
,
MOVEOUTTYPE
,
OPERATIONALDATATYPE
,
STATE
,
TABLENAME
}
from
"../../config/enum"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
getChart
,
getKeyValue
,
getMonthList
,
getYearList
}
from
"./out"
;
export
async
function
getEnterprise
()
{
export
async
function
getEnterprise
()
{
...
@@ -301,7 +302,7 @@ function getQybhqk(data) {
...
@@ -301,7 +302,7 @@ function getQybhqk(data) {
* 企业变化情况——变化趋势
* 企业变化情况——变化趋势
*/
*/
function
getQybhqkbhqs
(
data
){
function
getQybhqkbhqs
(
data
){
let
year
=
[
"2019"
,
"2020"
,
"2021"
,
"2022"
,
"2023"
,
"2024"
]
;
let
year
=
getYearList
()
;
let
hbqs
=
{
let
hbqs
=
{
"企业数"
:[]
"企业数"
:[]
}
}
...
@@ -491,7 +492,7 @@ function getQyzzfl() {
...
@@ -491,7 +492,7 @@ function getQyzzfl() {
* 企业人才
* 企业人才
*/
*/
async
function
getQyrc
()
{
async
function
getQyrc
()
{
let
year
=
[
"2019"
,
"2020"
,
"2021"
,
"2022"
,
"2023"
,
"2024"
]
;
let
year
=
getYearList
()
;
let
qyrc
=
{
let
qyrc
=
{
"就业人数"
:[],
"就业人数"
:[],
"创业团队分布"
:[]
"创业团队分布"
:[]
...
@@ -514,56 +515,5 @@ async function getQyrc() {
...
@@ -514,56 +515,5 @@ async function getQyrc() {
}
}
function
getKeyValue
(
data
)
{
let
result
=
[];
for
(
let
key
in
data
)
{
result
.
push
({
key
,
value
:
data
[
key
]});
}
return
result
;
}
function
getChart
(
data
)
{
let
result
=
[];
for
(
let
key
in
data
)
{
result
.
push
({
name
:
key
,
data
:
data
[
key
]})
}
return
result
;
}
function
getMonthList
()
{
// 获取当前时间
const
currentTime
=
moment
();
// 获取6个月前的时间
const
sixMonthsAgo
=
currentTime
.
clone
().
subtract
(
6
,
'months'
);
// 创建一个数组来存储每个月份的第一天
const
monthsArray
=
[];
// 使用moment的range函数(如果可用)或者手动循环来遍历月份
// 注意:moment.js的官方库中并没有直接的range函数用于月份遍历,
// 但我们可以使用.month()和.date(1)结合循环来实现。
// 由于moment没有内置的range函数用于月份,我们需要手动处理
let
currentMonth
=
sixMonthsAgo
.
clone
();
while
(
currentMonth
.
isBefore
(
currentTime
)
||
currentMonth
.
isSame
(
currentTime
,
'month'
))
{
// 获取当前循环月份的第一天
const
firstDayOfMonth
=
currentMonth
.
clone
().
date
(
1
);
// 将月份添加到数组中
monthsArray
.
push
(
moment
(
firstDayOfMonth
.
clone
().
toDate
()).
format
(
"YYYY-MM"
));
// 如果你需要Date对象
// monthsArray.push(firstDayOfMonth.format('YYYY-MM-DD')); // 如果你需要格式化字符串
// 移动到下一个月
currentMonth
.
add
(
1
,
'months'
);
}
return
monthsArray
;
}
src/data/db/qyszhx.ts
View file @
a4f60e0a
import
{
DEGREE
,
OPERATIONALDATATYPE
,
TABLENAME
}
from
"../../config/enum"
;
import
moment
=
require
(
"moment"
);
import
{
AWARDLEVEL
,
DEGREE
,
FINANCINGROUNDS
,
NEEDCATEGORY
,
OPERATIONALDATATYPE
,
TABLENAME
}
from
"../../config/enum"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
getChart
,
getKeyValue
,
getYearList
}
from
"./out"
;
import
{
changeEnumValue
}
from
"../../tools/eccEnum"
;
...
@@ -22,8 +25,6 @@ export async function getQyszhx(eId) {
...
@@ -22,8 +25,6 @@ export async function getQyszhx(eId) {
服务记录
:{
dataList
:[],
titleList
:[
'key'
,
'value'
]},
服务记录
:{
dataList
:[],
titleList
:[
'key'
,
'value'
]},
}
}
let
nowTime
=
new
Date
().
valueOf
();
/**数据库查询 */
/**数据库查询 */
let
企业基础信息
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
eId
},
null
);
let
企业基础信息
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
eId
},
null
);
...
@@ -49,6 +50,28 @@ export async function getQyszhx(eId) {
...
@@ -49,6 +50,28 @@ export async function getQyszhx(eId) {
let
创业团队联查
includeConf
=
{};
let
创业团队联查
includeConf
=
{};
创业团队联查
includeConf
[
TABLENAME
.
创业团队
]
=
{
cloum
:
创业团队
Column
,
where
:{}}
创业团队联查
includeConf
[
TABLENAME
.
创业团队
]
=
{
cloum
:
创业团队
Column
,
where
:{}}
let
创业团队信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
创业团队联查
includeConf
);
let
创业团队信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
创业团队联查
includeConf
);
let
企业经营
Column
=
[
"mId"
,
"eId"
,
"annual"
,
"BI"
,
"TXP"
,
"RD"
,
"createTime"
,
"state"
];
let
企业经营联查
includeConf
=
{};
企业经营联查
includeConf
[
TABLENAME
.
企业经营信息
]
=
{
cloum
:
企业经营
Column
,
where
:{}}
let
企业经营信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
企业经营联查
includeConf
);
let
企业荣誉
Column
=
[
"hId"
,
"eId"
,
"awardName"
,
"awardingUnit"
,
"awardTime"
,
"awardLevel"
,
"awardImg"
];
let
企业荣誉联查
includeConf
=
{};
企业荣誉联查
includeConf
[
TABLENAME
.
企业荣誉
]
=
{
cloum
:
企业荣誉
Column
,
where
:{}}
let
企业荣誉信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
企业荣誉联查
includeConf
);
let
企业融资
Column
=
[
"rId"
,
"eId"
,
"financingAmount"
,
"financingRounds"
,
"fuHuaQiInvestment"
,
"fuHuaQiInvestmentStyle"
,
"fuHuaQiInvestmentAmount"
,
"investmentDate"
,
"investmentInstitutionsName"
,
"valuation"
];
let
企业融资联查
includeConf
=
{};
企业融资联查
includeConf
[
TABLENAME
.
企业融资
]
=
{
cloum
:
企业融资
Column
,
where
:{}}
let
企业融资信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
企业融资联查
includeConf
);
let
企业服务
Column
=
[
"esId"
,
"eId"
,
"needCategory"
,
"needContent"
,
"applyTime"
,
"followUpStatus"
,
"resolveTime"
,
"fangKui"
,
"shouLiTime"
,
"outcome"
,
"desc"
];
let
企业服务联查
includeConf
=
{};
企业服务联查
includeConf
[
TABLENAME
.
企业服务表
]
=
{
cloum
:
企业服务
Column
,
where
:{}}
let
企业服务信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
eId
},
[],
企业服务联查
includeConf
);
//企业基本情况
//企业基本情况
let
qyjbqk
=
{
let
qyjbqk
=
{
...
@@ -59,13 +82,13 @@ export async function getQyszhx(eId) {
...
@@ -59,13 +82,13 @@ export async function getQyszhx(eId) {
//企业基本数据
//企业基本数据
let
qyjbsj
=
{
let
qyjbsj
=
{
注册时间
:
企业基础信息
.
logonTime
,
注册时间
:
moment
(
企业基础信息
.
logonTime
).
format
(
"YYYY-MM-DD"
)
,
迁入时间
:
""
,
迁入时间
:
"
-
"
,
首次入孵时间
:
企业孵化信息
[
0
].
enterprise_fuhuas
.
startTime
首次入孵时间
:
moment
(
企业孵化信息
[
0
].
enterprise_fuhuas
.
startTime
).
format
(
"YYYY-MM-DD"
)
};
};
qyszhx
.
企业基本数据
.
dataList
=
getKeyValue
(
qyjbsj
);
qyszhx
.
企业基本数据
.
dataList
=
getKeyValue
(
qyjbsj
);
//企业标签
//企业标签
todo
let
qybq
=
{
let
qybq
=
{
}
}
...
@@ -78,6 +101,45 @@ export async function getQyszhx(eId) {
...
@@ -78,6 +101,45 @@ export async function getQyszhx(eId) {
let
qyyghx
=
get
企业员工画像
(
创业团队信息
);
let
qyyghx
=
get
企业员工画像
(
创业团队信息
);
qyszhx
.
企业员工画像
.
dataList
=
getKeyValue
(
qyyghx
);
qyszhx
.
企业员工画像
.
dataList
=
getKeyValue
(
qyyghx
);
//企业汇总数据
let
qyhzsj
=
{
企业认证
:
0
,
//todo
一级专利
:
zscq
.
一级专利
,
}
qyszhx
.
企业汇总数据
.
dataList
=
getKeyValue
(
qyhzsj
);
//营收情况
let
{
ysqk
,
ysbhqs
}
=
get
营收情况
(
企业经营信息
);
qyszhx
.
营收情况
.
dataList
=
getKeyValue
(
ysqk
);
//营收变化趋势
qyszhx
.
营收变化趋势
=
ysbhqs
;
//企业动态
let
qydt
=
get
企业动态
(
企业荣誉信息
);
qyszhx
.
企业动态
.
bodyList
=
qydt
;
//服务需求
let
fwxq
=
get
服务需求
(
企业融资信息
);
qyszhx
.
服务需求
.
dataList
=
getKeyValue
(
fwxq
);
//活动变化趋势分析
let
hdbhqsfx
=
get
活动变化趋势分析
(
企业融资信息
);
qyszhx
.
活动变化趋势分析
=
hdbhqsfx
;
//服务记录_空间服务
let
fwjlxx
=
get
服务记录
(
企业服务信息
);
qyszhx
.
服务记录
_
空间服务
.
bodyList
=
fwjlxx
.
空间服务
;
qyszhx
.
服务记录
_
工商服务
.
bodyList
=
fwjlxx
.
工商服务
;
qyszhx
.
服务记录
_
融资服务
.
bodyList
=
fwjlxx
.
融资服务
;
//服务记录
let
fwjl
=
{
空间服务次数
:
fwjlxx
.
空间服务
.
length
,
工商服务次数
:
fwjlxx
.
工商服务
.
length
,
融资服务次数
:
fwjlxx
.
融资服务
.
length
,
}
qyszhx
.
服务记录
.
dataList
=
getKeyValue
(
fwjl
);
return
qyszhx
;
return
qyszhx
;
}
}
...
@@ -92,10 +154,13 @@ function get知识产权(data) {
...
@@ -92,10 +154,13 @@ function get知识产权(data) {
}
}
data
.
forEach
(
info
=>
{
data
.
forEach
(
info
=>
{
zscq
.
一级专利
+=
info
.
classIPatent
;
let
{
enterprise_patents
}
=
info
;
zscq
.
二级专利
+=
info
.
secondClassPatent
enterprise_patents
.
forEach
(
patents
=>
{
zscq
.
三级专利
+=
info
.
thirdPentent
;
zscq
.
一级专利
+=
patents
.
classIPatent
;
zscq
.
海外专利
+=
info
.
alienPatent
;
zscq
.
二级专利
+=
patents
.
secondClassPatent
zscq
.
三级专利
+=
patents
.
thirdPentent
;
zscq
.
海外专利
+=
patents
.
alienPatent
;
})
})
})
return
zscq
;
return
zscq
;
...
@@ -127,17 +192,167 @@ async function get企业员工画像(data) {
...
@@ -127,17 +192,167 @@ async function get企业员工画像(data) {
}
}
function
get
营收情况
(
data
)
{
let
ysqk
=
{
累计营收
:
0
,
累计研发投入
:
0
,
累计纳税
:
0
}
let
ysbhqsInfo
=
{
营业收入
:[],
研发投入
:[],
纳税金额
:[],
}
let
year
=
getYearList
();
data
.
forEach
(
info
=>
{
let
{
enterprise_manages
}
=
info
;
enterprise_manages
.
forEach
(
manage
=>
{
ysqk
.
累计营收
+=
parseFloat
(
manage
.
BI
);
ysqk
.
累计研发投入
+=
parseFloat
(
manage
.
RD
);
ysqk
.
累计纳税
+=
parseFloat
(
manage
.
TXP
);
})
})
for
(
let
i
=
0
;
i
<
year
.
length
;
i
++
)
{
let
营业收入
=
0
;
let
研发投入
=
0
;
let
纳税金额
=
0
;
data
.
forEach
(
info
=>
{
let
{
enterprise_manages
}
=
info
;
enterprise_manages
.
forEach
(
manage
=>
{
let
thisAnnual
=
moment
(
manage
.
annual
).
year
();
let
thisYear
=
parseInt
(
year
[
i
]);
if
(
thisAnnual
===
thisYear
)
{
营业收入
+=
parseFloat
(
manage
.
BI
);
研发投入
+=
parseFloat
(
manage
.
RD
);
纳税金额
+=
parseFloat
(
manage
.
TXP
);
}
})
})
ysbhqsInfo
.
营业收入
.
push
({
key
:
year
[
i
],
value
:
营业收入
});
ysbhqsInfo
.
研发投入
.
push
({
key
:
year
[
i
],
value
:
研发投入
});
ysbhqsInfo
.
纳税金额
.
push
({
key
:
year
[
i
],
value
:
纳税金额
});
}
let
ysbhqs
=
getChart
(
ysbhqsInfo
);
return
{
ysqk
,
ysbhqs
};
}
function
get
企业动态
(
data
)
{
let
qydt
=
[];
data
.
forEach
(
info
=>
{
let
{
enterprise_honors
}
=
info
;
enterprise_honors
.
forEach
(
honors
=>
{
let
awardLevel
=
changeEnumValue
(
AWARDLEVEL
,
honors
.
awardLevel
);
let
awardImg
=
JSON
.
parse
(
honors
.
awardImg
);
qydt
.
push
([
awardImg
[
0
],
honors
.
awardName
,
honors
.
awardTime
,
honors
.
awardingUnit
,
awardLevel
]);
})
})
return
qydt
;
}
function
get
服务需求
(
data
)
{
let
newestFinancing
:
any
=
{};
data
.
forEach
(
info
=>
{
let
{
enterprise_financings
}
=
info
;
let
enterprise_financingsData
=
[];
enterprise_financings
.
forEach
(
financings
=>
{
enterprise_financingsData
.
push
({
financingAmount
:
financings
.
financingAmount
,
financingRounds
:
financings
.
financingRounds
,
investmentDate
:
new
Date
(
financings
.
investmentDate
).
valueOf
(),
investmentInstitutionsName
:
financings
.
investmentInstitutionsName
})
})
//获取最新时间的融资信息
enterprise_financingsData
.
sort
(
(
a
,
b
)
=>
{
return
b
.
investmentDate
-
a
.
investmentDate
;
})
newestFinancing
=
enterprise_financingsData
[
0
];
})
let
fwxq
=
{
融资金额
:
newestFinancing
.
financingAmount
,
融资轮次
:
changeEnumValue
(
FINANCINGROUNDS
,
newestFinancing
.
financingRounds
),
融资时间
:
moment
(
newestFinancing
.
investmentDate
).
format
(
"YYYY-MM-DD"
),
投资机构
:
newestFinancing
.
investmentInstitutionsName
};
return
fwxq
;
}
function
get
KeyValue
(
data
)
{
function
get
活动变化趋势分析
(
data
)
{
let
result
=
[];
let
hdbhqsfxInfo
=
{
for
(
let
key
in
data
)
{
融资额
:[],
result
.
push
({
key
,
value
:
data
[
key
]});
融资事件
:[],
}
}
let
year
=
getYearList
();
for
(
let
i
=
0
;
i
<
year
.
length
;
i
++
)
{
let
融资额
=
0
;
let
融资事件
=
0
;
data
.
forEach
(
info
=>
{
let
{
enterprise_financings
}
=
info
;
enterprise_financings
.
forEach
(
financings
=>
{
let
thisAnnual
=
moment
(
financings
.
investmentDate
).
year
();
let
thisYear
=
parseInt
(
year
[
i
]);
if
(
thisAnnual
===
thisYear
)
{
融资额
+=
parseFloat
(
financings
.
financingAmount
);
融资事件
+=
1
;
}
})
})
hdbhqsfxInfo
.
融资额
.
push
({
key
:
year
[
i
],
value
:
融资额
});
hdbhqsfxInfo
.
融资事件
.
push
({
key
:
year
[
i
],
value
:
融资事件
});
}
let
hdbhqsfx
=
getChart
(
hdbhqsfxInfo
);
return
hdbhqsfx
;
}
function
get
服务记录
(
data
)
{
let
fwjl
=
{
空间服务
:[],
工商服务
:[],
融资服务
:[]
};
data
.
forEach
(
info
=>
{
let
{
enterprise_services
}
=
info
;
enterprise_services
.
forEach
(
service
=>
{
let
needCategory
=
changeEnumValue
(
NEEDCATEGORY
,
service
.
needCategory
);
if
(
service
.
needCategory
==
NEEDCATEGORY
.
空间服务
)
{
fwjl
.
空间服务
.
push
([
needCategory
,
service
.
resolveTime
,
service
.
needContent
])
}
else
if
(
service
.
needCategory
==
NEEDCATEGORY
.
工商服务
)
{
fwjl
.
工商服务
.
push
([
needCategory
,
service
.
resolveTime
,
service
.
needContent
])
}
else
if
(
service
.
needCategory
==
NEEDCATEGORY
.
融资服务
)
{
fwjl
.
融资服务
.
push
([
needCategory
,
service
.
resolveTime
,
service
.
needContent
])
}
})
})
return
result
;
return
fwjl
;
}
}
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