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
806d4c53
Commit
806d4c53
authored
Jul 17, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
873fa460
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
304 additions
and
112 deletions
+304
-112
serverConfig.xml
serverConfig.xml
+3
-3
jxgljsc.ts
src/biz/jxgljsc.ts
+4
-4
qyszhx.ts
src/biz/qyszhx.ts
+33
-28
user.ts
src/biz/user.ts
+54
-0
zhyy.ts
src/biz/zhyy.ts
+1
-1
enum.ts
src/config/enum.ts
+29
-9
errorEnum.ts
src/config/errorEnum.ts
+3
-1
jxgljsc.ts
src/data/db/jxgljsc.ts
+34
-22
out.ts
src/data/db/out.ts
+73
-15
qyfw.ts
src/data/db/qyfw.ts
+10
-6
qyszhx.ts
src/data/db/qyszhx.ts
+20
-7
zhyy.ts
src/data/db/zhyy.ts
+24
-12
router.ts
src/routers/router.ts
+7
-2
systemTools.ts
src/tools/systemTools.ts
+9
-2
No files found.
serverConfig.xml
View file @
806d4c53
<config>
<port>
40015
</port>
<dbPort>
9096
</dbPort>
<dbHost>
192.168.0.7
2
</dbHost>
<dbHost>
192.168.0.7
1
</dbHost>
<sign>
xxx90909082fsdahfjosadjfpoiwausjorip2hjklrhn1ioud0u124rx0qwejfokasjfolksaujfoas
</sign>
<!-- <imgPath>http://127.0.0.1:4980/yuyi/viewpage</imgPath> -->
<imgPath>
http://192.168.0.7
2
:40015
</imgPath>
<imgFileUrl>
http://192.168.0.7
2
:9097
</imgFileUrl>
<imgPath>
http://192.168.0.7
1
:40015
</imgPath>
<imgFileUrl>
http://192.168.0.7
1
:9097
</imgFileUrl>
</config>
src/biz/jxgljsc.ts
View file @
806d4c53
...
...
@@ -47,11 +47,11 @@ export async function getData(req, res) {
let
fhcg
=
keyValuePackage
(
dbList
[
'孵化成果'
].
dataList
);
ret
[
'fhcg'
]
=
getKeyValueOut
(
'孵化成果'
,
fhcg
);
let
qyfwxqxyl
=
keyValuePackage
(
dbList
[
'企业服务需求
响应率
'
].
dataList
);
ret
[
'qyfwxqxyl'
]
=
getKeyValueOut
(
'企业服务需求
响应率
'
,
qyfwxqxyl
);
let
qyfwxqxyl
=
keyValuePackage
(
dbList
[
'企业服务需求
受理数
'
].
dataList
);
ret
[
'qyfwxqxyl'
]
=
getKeyValueOut
(
'企业服务需求
受理数(本年)
'
,
qyfwxqxyl
);
let
yxyxqcljd
=
keyValuePackage
(
dbList
[
'
已响应需求处理进度
'
].
dataList
);
ret
[
'yxyxqcljd'
]
=
getKeyValueOut
(
'
已响应需求处理进度
'
,
yxyxqcljd
);
let
yxyxqcljd
=
keyValuePackage
(
dbList
[
'
受理需求完结率
'
].
dataList
);
ret
[
'yxyxqcljd'
]
=
getKeyValueOut
(
'
受理需求完结率(本年)
'
,
yxyxqcljd
);
let
qyfwgxqTop5
=
keyValuePackage
(
dbList
[
'企业服务高需求类型排行趋势'
].
dataList
);
ret
[
'qyfwgxqTop5'
]
=
getKeyValueOut
(
'企业服务高需求类型排行趋势'
,
qyfwgxqTop5
);
...
...
src/biz/qyszhx.ts
View file @
806d4c53
...
...
@@ -7,61 +7,66 @@ import { getKeyValueOut, getStringOut, getTableOut } from '../dataPackage/out';
import
{
getQyszhx
}
from
'../data/db/qyszhx'
;
import
{
selectData
,
selectManyTableData
}
from
'../data/db/operationalData'
;
import
{
CHANGESTATE
,
FUHUASTATE
,
INDUSTRY
,
OPERATIONALDATATYPE
,
TABLENAME
}
from
'../config/enum'
;
import
{
BizError
}
from
'../util/bizError'
;
import
{
ERRORENUM
}
from
'../config/errorEnum'
;
export
async
function
getData
(
req
,
res
)
{
let
eId
=
req
.
body
.
eId
;
if
(
!
eId
)
throw
new
BizError
(
ERRORENUM
.
缺少必要参数
_eId
);
let
dbData
=
await
getQyszhx
(
eId
);
let
ret
:
any
=
{};
let
qymc
=
keyValuePackage
(
dbData
[
'企业名称'
]
.
dataList
);
let
qymc
=
keyValuePackage
(
dbData
.
企业名称
.
dataList
);
ret
[
'qymc'
]
=
getKeyValueOut
(
'企业名称'
,
qymc
);
let
qyzhxPackageData
=
keyValuePackage
(
dbData
[
'企业自画像'
]
.
dataList
);
let
qyzhxPackageData
=
keyValuePackage
(
dbData
.
企业自画像
.
dataList
);
ret
[
'qyzhx'
]
=
getKeyValueOut
(
'企业自画像'
,
qyzhxPackageData
);
let
kxPackageData
=
keyValuePackage
(
dbData
[
'科小'
]
.
dataList
);
let
kxPackageData
=
keyValuePackage
(
dbData
.
科小
.
dataList
);
ret
[
'kx'
]
=
getKeyValueOut
(
'科小'
,
kxPackageData
);
let
gxPackageData
=
keyValuePackage
(
dbData
[
'高新'
]
.
dataList
);
let
gxPackageData
=
keyValuePackage
(
dbData
.
高新
.
dataList
);
ret
[
'gz'
]
=
getKeyValueOut
(
'高新'
,
gxPackageData
);
let
zfbtPackageData
=
keyValuePackage
(
dbData
[
'租房补贴'
]
.
dataList
);
let
zfbtPackageData
=
keyValuePackage
(
dbData
.
租房补贴
.
dataList
);
ret
[
'zfbt'
]
=
getKeyValueOut
(
'租房补贴'
,
zfbtPackageData
);
let
dkbtPackageData
=
keyValuePackage
(
dbData
[
'贷款补贴'
]
.
dataList
);
let
dkbtPackageData
=
keyValuePackage
(
dbData
.
贷款补贴
.
dataList
);
ret
[
'dkbt'
]
=
getKeyValueOut
(
'贷款补贴'
,
dkbtPackageData
);
let
qyjbqkPackageData
=
dbData
[
'企业基本情况'
]
.
dataList
;
let
qyjbqkPackageData
=
dbData
.
企业基本情况
.
dataList
;
ret
[
'qyjbqk'
]
=
getKeyValueOut
(
'企业基本情况'
,
qyjbqkPackageData
);
let
qybqPackageData
=
stringListPackage
(
dbData
[
'企业标签'
]
.
dataList
);
let
qybqPackageData
=
stringListPackage
(
dbData
.
企业标签
.
dataList
);
ret
[
'qybq'
]
=
getStringOut
(
'企业标签'
,
qybqPackageData
);
let
ssgjejhy
=
keyValuePackage
(
dbData
[
'企业科创分'
]
.
count
);
let
ssgjejhy
=
keyValuePackage
(
dbData
.
企业科创分
.
count
);
ret
[
'ssgjejhy'
]
=
getKeyValueOut
(
'所属国际二级行业'
,
ssgjejhy
);
let
qykcfbt
=
keyValuePackage
(
dbData
[
'企业科创分'
]
.
chartData
);
let
qykcfbt
=
keyValuePackage
(
dbData
.
企业科创分
.
chartData
);
ret
[
'qykcfbt'
]
=
getKeyValueOut
(
'企业科创分饼图'
,
qykcfbt
);
let
qykcf
=
keyValuePackage
(
dbData
[
'企业科创分'
]
.
dataList
);
let
qykcf
=
keyValuePackage
(
dbData
.
企业科创分
.
dataList
);
ret
[
'qykcf'
]
=
getKeyValueOut
(
'企业科创分'
,
qykcf
);
let
gqjg
=
keyValuePackage
(
dbData
[
'股权结构'
]
.
dataList
);
let
gqjg
=
keyValuePackage
(
dbData
.
股权结构
.
dataList
);
ret
[
'gqjg'
]
=
getKeyValueOut
(
'股权结构'
,
gqjg
);
let
zzrz
=
keyValuePackage
(
dbData
[
'资质认证'
]
.
count
);
let
zzrz
=
keyValuePackage
(
dbData
.
资质认证
.
count
);
ret
[
'zzrz'
]
=
getKeyValueOut
(
'资质认证'
,
zzrz
);
let
zzrzTableData
=
tablePackage
(
dbData
[
"资质认证"
].
headerList
[
0
],
dbData
[
"资质认证"
]
.
bodyList
);
let
zzrzTableData
=
tablePackage
(
dbData
.
资质认证
.
headerList
[
0
],
dbData
.
资质认证
.
bodyList
);
ret
[
'zzrzTable'
]
=
getTableOut
(
'资质认证表格'
,
zzrzTableData
);
ret
[
'sxhc'
]
=
{
title
:
"风险详情"
,
dataList
:
dbData
.
风险详情
};
let
sxhc
=
keyValuePackage
(
dbData
[
'风险详情'
].
count
);
ret
[
'sxhc'
]
=
getKeyValueOut
(
'风险详情'
,
sxhc
);
//
let sxhc = keyValuePackage(dbData['风险详情'].count);
//
ret['sxhc'] = getKeyValueOut('风险详情', sxhc);
ret
[
'sxhcxx'
]
=
{
title
:
'风险详情详细'
,
dataList
:
dbData
[
'风险详情'
].
dataList
};
//
ret['sxhcxx'] = {title:'风险详情详细', dataList:dbData['风险详情'].dataList};
// let sxhc = keyValuePackage(dbData['失信详情'].count);
// ret['sxhc'] = getKeyValueOut('失信详情', sxhc);
...
...
@@ -75,36 +80,36 @@ export async function getData(req, res) {
// let wfhcxx = keyValuePackage(dbData['违法核查'].dataList);
// ret['wfhcxx'] = getKeyValueOut('违法核查详细', wfhcxx);
let
qyfwsqqk
=
keyValuePackage
(
dbData
[
'企业服务申请情况'
]
.
dataList
);
let
qyfwsqqk
=
keyValuePackage
(
dbData
.
企业服务申请情况
.
dataList
);
ret
[
'qyfwsqqk'
]
=
getKeyValueOut
(
'企业服务申请情况'
,
qyfwsqqk
);
let
qyfwsqlx
=
keyValuePackage
(
dbData
[
'企业服务申请类型'
]
.
dataList
);
let
qyfwsqlx
=
keyValuePackage
(
dbData
.
企业服务申请类型
.
dataList
);
ret
[
'qyfwsqlx'
]
=
getKeyValueOut
(
'企业服务申请类型'
,
qyfwsqlx
);
let
zlsl
=
keyValuePackage
(
dbData
[
'知识产权'
]
.
count
);
let
zlsl
=
keyValuePackage
(
dbData
.
知识产权
.
count
);
ret
[
'zlsl'
]
=
getKeyValueOut
(
'专利数量'
,
zlsl
);
let
zscq
=
keyValuePackage
(
dbData
[
'知识产权'
]
.
dataList
);
let
zscq
=
keyValuePackage
(
dbData
.
知识产权
.
dataList
);
ret
[
'zscq'
]
=
getKeyValueOut
(
'知识产权'
,
zscq
);
let
rzqk
=
keyValuePackage
(
dbData
[
'融资情况'
]
.
count
);
let
rzqk
=
keyValuePackage
(
dbData
.
融资情况
.
count
);
ret
[
'rzqk'
]
=
getKeyValueOut
(
'融资情况'
,
rzqk
);
let
rzqsfx
=
keyValuePackage
(
dbData
[
'融资情况'
]
.
dataList
);
let
rzqsfx
=
keyValuePackage
(
dbData
.
融资情况
.
dataList
);
ret
[
'rzqsfx'
]
=
getKeyValueOut
(
'融资趋势分析'
,
rzqsfx
);
let
ysqk
=
keyValuePackage
(
dbData
[
'营收情况'
]
.
dataList
);
let
ysqk
=
keyValuePackage
(
dbData
.
营收情况
.
dataList
);
ret
[
'ysqk'
]
=
getKeyValueOut
(
'营收情况'
,
ysqk
);
ret
[
'ysqsfx'
]
=
{
title
:
"营收趋势分析"
,
dataList
:
dbData
[
"营收趋势分析"
]
};
ret
[
'ysqsfx'
]
=
{
title
:
"营收趋势分析"
,
dataList
:
dbData
.
营收趋势分析
};
let
ysmx
=
tablePackage
(
dbData
[
"营收明细"
].
headerList
[
0
],
dbData
[
"营收明细"
]
.
bodyList
);
let
ysmx
=
tablePackage
(
dbData
.
营收明细
.
headerList
[
0
],
dbData
.
营收明细
.
bodyList
);
ret
[
'ysmx'
]
=
getTableOut
(
'营收明细'
,
ysmx
);
let
nssr
=
tablePackage
(
dbData
[
"纳税明细"
].
headerList
[
0
],
dbData
[
"纳税明细"
]
.
bodyList
);
let
nssr
=
tablePackage
(
dbData
.
纳税明细
.
headerList
[
0
],
dbData
.
纳税明细
.
bodyList
);
ret
[
'nssr'
]
=
getTableOut
(
'纳税明细'
,
nssr
);
let
yftrmx
=
tablePackage
(
dbData
[
"研发投入明细"
].
headerList
[
0
],
dbData
[
"研发投入明细"
]
.
bodyList
);
let
yftrmx
=
tablePackage
(
dbData
.
研发投入明细
.
headerList
[
0
],
dbData
.
研发投入明细
.
bodyList
);
ret
[
'yftrmx'
]
=
getTableOut
(
'研发投入明细'
,
yftrmx
);
res
.
send
(
ret
);
...
...
src/biz/user.ts
0 → 100644
View file @
806d4c53
/**
* 企业登录
*/
import
{
OPERATIONALDATATYPE
,
TABLENAME
}
from
"../config/enum"
;
import
*
as
enumConfig
from
"../config/enum"
;
import
{
ERRORENUM
}
from
"../config/errorEnum"
;
import
{
selectManyTableData
}
from
"../data/db/operationalData"
;
import
{
BizError
}
from
"../util/bizError"
;
/**
* 登录
* @param phone
* @param pwd
* @returns
*/
export
async
function
enterpriseLogin
(
req
,
res
)
{
let
{
phone
,
pwd
}
=
req
.
body
let
ret
:
any
=
{};
let
filesList
=
[
"userName"
,
"eId"
,
"pwd"
,
"uId"
,
"phone"
];
let
includeConf
=
{};
includeConf
[
TABLENAME
.
企业孵化信息
]
=
{
colum
:[
"state"
,
"startTime"
,
"endTime"
],
where
:{
state
:{
"%ne%"
:
enumConfig
.
FUHUASTATE
.
迁出
}}
};
includeConf
[
TABLENAME
.
企业用户表
]
=
{
colum
:
filesList
,
where
:{
phone
}
};
let
enterpriseInfo
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表单个
,
TABLENAME
.
企业基础信息表
,
{
state
:
enumConfig
.
CHANGESTATE
.
已通过
},
[
"eId"
,
"enterpriseName"
],
includeConf
);
if
(
!
enterpriseInfo
||
!
enterpriseInfo
.
eId
)
{
throw
new
BizError
(
ERRORENUM
.
账号或密码错误
);
}
let
{
enterprise_users
}
=
enterpriseInfo
;
let
enterpriseUserInfo
=
enterprise_users
[
0
];
if
(
!
enterpriseUserInfo
||
!
enterpriseUserInfo
.
phone
)
{
throw
new
BizError
(
ERRORENUM
.
账号或密码错误
);
}
if
(
enterpriseUserInfo
.
pwd
!=
pwd
)
{
throw
new
BizError
(
ERRORENUM
.
账号或密码错误
);
}
let
userInfo
=
{
userId
:
enterpriseUserInfo
.
uId
,
userName
:
enterpriseUserInfo
.
userName
,
eId
:
enterpriseInfo
.
eId
};
ret
[
'dataInfo'
]
=
userInfo
;
res
.
send
(
ret
);
}
src/biz/zhyy.ts
View file @
806d4c53
...
...
@@ -41,7 +41,7 @@ export async function getData(req, res) {
ret
[
'dt'
]
=
{
title
:
"地图"
,
dataList
:
dt
};
let
byqk
=
keyValuePackage
(
excelData
[
'毕业情况'
].
dataList
);
let
byqk
=
keyValuePackage
(
dbData
.
毕业情况
);
ret
[
'byqk'
]
=
getKeyValueOut
(
'毕业情况'
,
byqk
);
let
qymyd
=
keyValuePackage
(
excelData
[
'服务成果'
].
dataList
);
...
...
src/config/enum.ts
View file @
806d4c53
...
...
@@ -193,16 +193,24 @@ export enum LV {
* 行业领域
*/
export
enum
INDUSTRY
{
集成电路
=
1
,
生物医药
,
人工智能及智能制造
,
航空航天
,
汽车产业
,
软件和信息服务业
,
低碳环保及新材料
,
综合
,
文化创意
"信息传输、软件和信息技术服务业"
=
1
,
科学研究和技术服务业
,
制造业
,
建筑业
,
租赁和商务服务业
,
批发和零售业
}
// 集成电路 = 1,
// 生物医药,
// 人工智能及智能制造,
// 航空航天,
// 汽车产业,
// 软件和信息服务业,
// 低碳环保及新材料,
// 综合,
// 文化创意
/**
* 最高学历
...
...
@@ -249,10 +257,22 @@ export enum FUHUASTATE {
*/
export
enum
EMIGRATIONTYPE
{
毕业迁出
=
1
,
毕业未迁出
,
//新加状态
到期退租
,
违约退租
}
/**
* 风险类别
*/
export
enum
RISKTYPE
{
法律风险
=
1
,
经营稳定性风险
,
关联企业风险
}
/**
* 上市情况
*/
...
...
src/config/errorEnum.ts
View file @
806d4c53
...
...
@@ -16,7 +16,9 @@ export enum ERRORENUM {
数据联合查询失败
,
文件不存在
,
请完善信息
,
地址数据不完整
地址数据不完整
,
账号或密码错误
,
缺少必要参数
_eId
}
...
...
src/data/db/jxgljsc.ts
View file @
806d4c53
...
...
@@ -21,8 +21,8 @@ export async function getJxgljsc() {
预警
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//预警
企业预警
:
{
bodyList
:
[],
headerList
:
[[
'企业名称'
,
'风险等级'
]]
},
孵化成果
:
{
count
:[],
dataList
:[]},
//孵化成果
企业服务需求
响应率
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
已响应需求处理进度
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
企业服务需求
受理数
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
受理需求完结率
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
企业服务高需求类型排行趋势
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
金融服务
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//金融服务累计信息
融资金额变化趋势
:
{
name
:
"融资金额变化趋势"
,
data
:
[]
},
...
...
@@ -92,7 +92,7 @@ export async function getJxgljsc() {
* 孵化成果
*/
// let 资质Column = ["qId", "eId", "kxTime", "zjtxTime", "xjrTime", "xjrPyTime", "goPublicTime", "gaoXinJiShuTime", "goPublicSector"];
let
资质
Column
=
[
"qId"
,
"eId"
,
"
xjr
State"
,
"kxState"
,
"gxjsState"
,
"zjtxState"
];
let
资质
Column
=
[
"qId"
,
"eId"
,
"
cx
State"
,
"kxState"
,
"gxjsState"
,
"zjtxState"
];
let
企业资质联查
includeConf
=
{};
企业资质联查
includeConf
[
TABLENAME
.
企业资质
]
=
{
cloum
:
资质
Column
,
where
:
{}
}
let
企业资质信息
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{},
[],
企业资质联查
includeConf
);
...
...
@@ -129,18 +129,20 @@ export async function getJxgljsc() {
* 企业服务分析
*/
//获取所有企业服务表联查企业信息表
let
企业服务
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业服务表
,
{},
[]);
let
startYear
=
moment
().
format
(
"YYYY-01-01"
);
let
endYear
=
moment
().
format
(
"YYYY-12-31"
);
let
企业服务
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业服务表
,
{
shouLiTime
:{
"%between%"
:[
startYear
,
endYear
]}},
[]);
//已受理企业服务
let
已受理企业服务
Count
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业服务表
,
{
followUpStatus
:{
"%ne%"
:
FOLLOWUPSTATUS
.
未受理
}},
[]);
let
已完成企业服务
Count
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业服务表
,
{
followUpStatus
:
FOLLOWUPSTATUS
.
已完成
},
[]);
let
已受理企业服务
Count
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业服务表
,
{
followUpStatus
:{
"%ne%"
:
FOLLOWUPSTATUS
.
未受理
}
,
shouLiTime
:{
"%between%"
:[
startYear
,
endYear
]}
},
[]);
let
已完成企业服务
Count
=
await
selectData
(
OPERATIONALDATATYPE
.
查询数据量
,
TABLENAME
.
企业服务表
,
{
followUpStatus
:
FOLLOWUPSTATUS
.
已完成
,
shouLiTime
:{
"%between%"
:[
startYear
,
endYear
]}
},
[]);
let
企业服务需求
响应率
=
"0%"
;
if
(
企业服务
dbList
.
length
)
企业服务需求响应率
=
((
已受理企业服务
Count
/
企业服务
dbList
.
length
)
*
100
).
toFixed
(
2
)
+
"%"
;
jxgljsc
.
企业服务需求
响应率
.
dataList
=
[{
key
:
"企业服务需求响应率"
,
value
:
企业服务需求响应率
}];
let
企业服务需求
受理数
=
0
;
if
(
已受理企业服务
Count
)
企业服务需求受理数
=
已受理企业服务
Count
;
jxgljsc
.
企业服务需求
受理数
.
dataList
=
[{
key
:
"企业服务需求受理数"
,
value
:
企业服务需求受理数
}];
let
已响应需求处理进度
=
"0%"
;
if
(
已受理企业服务
Count
)
已响应需求处理进度
=
((
已完成企业服务
Count
/
已受理企业服务
Count
)
*
100
).
toFixed
(
2
)
+
"%"
;
jxgljsc
.
已响应需求处理进度
.
dataList
=
[{
key
:
"已响应需求处理进度"
,
value
:
已响应需求处理进度
}];
let
受理需求完结率
=
"0%"
;
if
(
已受理企业服务
Count
)
受理需求完结率
=
((
已完成企业服务
Count
/
企业服务
dbList
.
length
)
*
100
).
toFixed
(
2
)
+
"%"
;
jxgljsc
.
受理需求完结率
.
dataList
=
[{
key
:
"受理需求完结率"
,
value
:
受理需求完结率
}];
jxgljsc
.
企业服务高需求类型排行趋势
.
dataList
=
await
getRfqyfwqk
(
企业服务
dbList
);
...
...
@@ -341,17 +343,20 @@ async function getyj() {
中低风险
:
0
,
关注
:
0
}
let
riskEnterprises
:
any
[]
=
[];
let
riskEnterprises
:
any
[]
=
[];
let
fhColumn
=
[
"enterpriseName"
,
"industry"
,
"eId"
,
"shijiaoziben"
];
//获取所有企业孵化信息
let
manyTableInfo
:
any
=
{}
let
manyTableInfo
:
any
=
{};
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: { state: FUHUASTATE.实体孵化 } };
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"moveOutTime"
,
"moveOutType"
],
where
:
{}
};
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"moveOutTime"
,
"moveOutType"
,
"state"
],
where
:
{}
};
// manyTableInfo[TABLENAME.企业经营信息] = { column: ["annual"], where: {} };
let
fhdbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
state
:
CHANGESTATE
.
已通过
},
fhColumn
,
manyTableInfo
);
let
manageList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{},
[
"annual"
,
"eId"
]);
// let jymanyTableInfo:any = {};
// jymanyTableInfo[TABLENAME.企业基础信息表] = { column: ["eId"], where: {state: CHANGESTATE.已通过} };
// let manageList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业经营信息, {}, ["annual", "eId"], jymanyTableInfo);
let
manageList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{
isSubmit
:
STATE
.
是
},
[
"annual"
,
"eId"
]);
let
map
=
{};
manageList
.
forEach
(
info
=>
{
...
...
@@ -362,11 +367,16 @@ async function getyj() {
fhdbList
.
forEach
(
info
=>
{
let
riskLevel
=
""
;
if
(
info
.
enterprise_fuhuas
[
0
].
moveOutType
==
EMIGRATIONTYPE
.
违约退租
||
info
.
enterprise_fuhuas
[
0
].
moveOutType
==
EMIGRATIONTYPE
.
到期退租
)
{
// if (info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.违约退租 || info.enterprise_fuhuas[0].moveOutType == EMIGRATIONTYPE.到期退租) {
if
(
info
.
enterprise_fuhuas
[
0
].
moveOutType
==
EMIGRATIONTYPE
.
违约退租
)
{
yj
.
高风险
+=
1
;
riskLevel
=
"高风险"
;
riskEnterprises
.
push
([
info
.
enterpriseName
,
riskLevel
]);
}
else
if
(
!
map
[
info
.
eId
])
{
}
else
if
(
info
.
enterprise_fuhuas
[
0
].
moveOutType
==
EMIGRATIONTYPE
.
到期退租
)
{
yj
.
关注
+=
1
;
riskLevel
=
"关注"
;
riskEnterprises
.
push
([
info
.
enterpriseName
,
riskLevel
]);
}
else
if
(
info
.
enterprise_fuhuas
[
0
].
state
!=
FUHUASTATE
.
迁出
&&
!
map
[
info
.
eId
])
{
yj
.
中低风险
+=
1
;
riskLevel
=
"中低风险"
;
riskEnterprises
.
push
([
info
.
enterpriseName
,
riskLevel
]);
...
...
@@ -387,10 +397,10 @@ async function getyj() {
async
function
qyfhs
(
data
)
{
//获取企业孵化数
let
qyfhs
=
{
"科技小巨人"
:
0
,
"科技型中小企业"
:
0
,
//新增"科小"
"高新技术"
:
0
,
"专精特新"
:
0
,
"高新技术"
:
0
,
"科技型中小企业"
:
0
,
//新增"科小"
"创新性中小企业"
:
0
,
// "小巨人培育": 0,
};
...
...
@@ -398,9 +408,9 @@ async function qyfhs(data) {
let
{
enterprise_qualifications
}
=
info
;
enterprise_qualifications
.
forEach
(
item
=>
{
if
(
item
.
kxState
==
STATE
.
是
)
qyfhs
.
科技型中小企业
+=
1
;
//新增"科小"
if
(
item
.
xjrState
==
STATE
.
是
)
qyfhs
.
科技小巨人
+=
1
;
if
(
item
.
gxjsState
==
STATE
.
是
)
qyfhs
.
高新技术
+=
1
;
if
(
item
.
zjtxState
==
STATE
.
是
)
qyfhs
.
专精特新
+=
1
;
if
(
item
.
cxState
==
STATE
.
是
)
qyfhs
.
创新性中小企业
+=
1
;
// if (item.xjrPyState == STATE.是) qyfhs.小巨人培育 += 1;
})
})
...
...
@@ -438,3 +448,5 @@ async function get融资金额变化趋势(融资dbData) {
}
src/data/db/out.ts
View file @
806d4c53
...
...
@@ -6,21 +6,35 @@ import { changeEnumValue } from "../../tools/eccEnum";
export
async
function
get
在孵企业面积
()
{
// 获取当前时间
let
nowTime
=
moment
().
format
(
'YYYY-MM-DD HH:mm:ss'
);
// let nowTime = new Date( moment().format("YYYY-01-01") ).valueOf();
let
nowTime
=
new
Date
().
valueOf
();
let
zlColumn
=
[
"eId"
,
"area"
,
"unitPrice"
,
"isDeposit"
,
"startTime"
,
"endTime"
,
"rentFreeStart"
,
"rentFreeEnd"
,
"roomNumber"
,
"rent"
,
"notes"
,
"leaseContract"
,
"entryPlan"
,
"businessLicense"
,
"agreement"
];
"rent"
,
"notes"
,
"sanFangXieYi"
,
"fuHuaXieYi"
,
"fangWuZuLing"
,
"fuHuaXieYiBuChong"
,
"chengXinChengNuoHan"
,
"yingYeZhiZhao"
,
"ruFuZiLiao"
,
"ruZhuJiHua"
,
"yaJinZhiFu"
,
"cardCopy"
];
// "rent", "notes", "leaseContract", "entryPlan", "businessLicense", "agreement"];
// let manyTableInfo: any = {}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {state: { "%between%": [FUHUASTATE.实体孵化, FUHUASTATE.虚拟孵化] }} };
// manyTableInfo[TABLENAME.租赁信息] = { column: zlColumn, where: {"startTime": {"%lt%": nowTime}, "endTime": { "%gt%": nowTime }} }; //租赁开始时间小于当前时间、租赁结束时间大于当前时间
// let zldbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, ["industry", "eId"], manyTableInfo);
/**2025.06.05 罗总开会确认去掉租赁时间,在孵面积计算只用判断是否在孵企业 */
let
manyTableInfo
:
any
=
{}
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"startTime"
,
"endTime"
,
"state"
],
where
:
{
state
:
{
"%between%"
:
[
FUHUASTATE
.
实体孵化
,
FUHUASTATE
.
虚拟孵化
]
}}
};
manyTableInfo
[
TABLENAME
.
租赁信息
]
=
{
column
:
zlColumn
,
where
:
{
"startTime"
:
{
"%lt%"
:
nowTime
},
"endTime"
:
{
"%gt%"
:
nowTime
}}
};
let
zldbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{},
[
"industry"
,
"eId"
],
manyTableInfo
);
manyTableInfo
[
TABLENAME
.
租赁信息
]
=
{
column
:
zlColumn
,
where
:
{
}
};
//租赁开始时间小于当前时间、租赁结束时间大于当前时间
let
zldbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
state
:
CHANGESTATE
.
已通过
},
[
"industry"
,
"eId"
],
manyTableInfo
);
let
在孵企业面积
=
0
;
let
在孵企业面积变化趋势
=
[];
zldbList
.
forEach
(
info
=>
{
let
{
enterprise_fuhuas
,
enterprise_leases
}
=
info
;
// if (nowTime <= new Date(enterprise_fuhuas[0].endTime).valueOf()) {
// enterprise_leases.forEach( leases => {
// if (leases.area) 在孵企业面积 += parseFloat(leases.area);
// })
// }
enterprise_leases
.
forEach
(
leases
=>
{
在孵企业面积
+=
parseFloat
(
leases
.
area
);
if
(
leases
.
area
)
在孵企业面积
+=
parseFloat
(
leases
.
area
);
})
});
...
...
@@ -37,14 +51,31 @@ export async function get在孵企业面积() {
export
async
function
get
在孵企业面积变化趋势
()
{
// 获取当前时间
// let nowTime = moment().format('YYYY-MM-DD HH:mm:ss');
// let zlColumn = ["eId", "area", "unitPrice", "isDeposit", "startTime", "endTime", "rentFreeStart", "rentFreeEnd", "roomNumber",
// "rent", "notes", "leaseContract", "entryPlan", "businessLicense", "agreement"];
// let manyTableInfo: any = {}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {state: { "%between%": [FUHUASTATE.实体孵化, FUHUASTATE.虚拟孵化] }} };
// manyTableInfo[TABLENAME.租赁信息] = { column: zlColumn, where: {"startTime": {"%lt%": nowTime}, "endTime": { "%gt%": nowTime }} }; //租赁开始时间小于当前时间、租赁结束时间大于当前时间
// let zldbList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {}, ["industry", "eId"], manyTableInfo);
let
manyTableInfo
:
any
=
{}
// manyTableInfo[TABLENAME.企业孵化信息] = { column: ["fId", "eId", "startTime", "endTime", "state"], where: {state: { "%between%": [FUHUASTATE.实体孵化, FUHUASTATE.虚拟孵化] }} };
manyTableInfo
[
TABLENAME
.
企业孵化信息
]
=
{
column
:
[
"fId"
,
"eId"
,
"startTime"
,
"endTime"
,
"state"
],
where
:
{}
};
manyTableInfo
[
TABLENAME
.
租赁信息
]
=
{
column
:
[
"area"
,
"startTime"
,
"endTime"
],
where
:
{}
};
let
fhdbList
=
await
selectManyTableData
(
OPERATIONALDATATYPE
.
多表联查
,
TABLENAME
.
企业基础信息表
,
{
state
:
CHANGESTATE
.
已通过
},
[
"industry"
,
"eId"
],
manyTableInfo
);
let
areaCount
=
0
;
let
面积变化
Map
=
{};
//孵化面积变化
let
thisYear
=
new
Date
().
getFullYear
();
let
thisMonthList
=
getMonthList
();
for
(
let
i
=
0
;
i
<
thisMonthList
.
length
;
i
++
)
{
面积变化
Map
[
thisMonthList
[
i
]]
=
{
key
:
thisMonthList
[
i
],
value
:
0
};
}
// let thisMonth = new Date().getMonth();
let
thisMonth
=
moment
(
new
Date
()).
format
(
"YY/MM"
);
let
industryMap
=
{};
fhdbList
.
forEach
(
info
=>
{
...
...
@@ -58,12 +89,12 @@ export async function get在孵企业面积变化趋势() {
if
(
area
)
{
areaCount
+=
parseFloat
(
area
);
//租赁面积累加
if
(
enterprise_
leases
[
0
].
startTime
&&
enterprise_lease
s
[
0
].
endTime
)
{
let
leases
YearList
=
getStartAndEndTimeYearList
(
enterprise_leases
[
0
].
startTime
,
enterprise_lease
s
[
0
].
endTime
);
leases
YearList
.
forEach
(
itemYear
=>
{
if
(
itemYear
>
thisYear
)
return
;
if
(
!
面积变化
Map
[
item
Year
])
面积变化
Map
[
itemYear
]
=
{
key
:
itemYear
,
value
:
0
}
;
面积变化
Map
[
item
Year
].
value
+=
parseFloat
(
area
);
if
(
enterprise_
fuhuas
[
0
].
startTime
&&
enterprise_fuhua
s
[
0
].
endTime
)
{
let
leases
MonthList
=
getStartAndEndTimeMonthList
(
enterprise_fuhuas
[
0
].
startTime
,
enterprise_fuhua
s
[
0
].
endTime
);
leases
MonthList
.
forEach
(
itemMonth
=>
{
// if (itemMonth > thisMonth
) return;
if
(
!
面积变化
Map
[
item
Month
])
return
;
面积变化
Map
[
item
Month
].
value
+=
parseFloat
(
area
);
});
}
}
...
...
@@ -158,7 +189,6 @@ export async function getById知识产权(eId) {
}
function
getStartAndEndTimeYearList
(
startTime
,
endTime
)
{
let
startYear
=
new
Date
(
startTime
).
getFullYear
();
let
endYear
=
new
Date
(
endTime
).
getFullYear
();
...
...
@@ -170,10 +200,38 @@ function getStartAndEndTimeYearList(startTime, endTime) {
}
function
getStartAndEndTimeMonthList
(
startTime
,
endTime
)
{
let
startMonth
=
moment
(
startTime
);
let
endMonth
=
moment
(
endTime
);
let
result
=
[];
// 如果开始日期晚于结束日期,返回空数组
if
(
startMonth
.
isAfter
(
endMonth
))
{
return
[];
}
let
current
=
moment
(
startMonth
);
// 设置日期为月份第一天
current
.
startOf
(
'month'
);
while
(
current
.
isSameOrBefore
(
endMonth
))
{
// 使用 moment 的 format 方法直接格式化
result
.
push
(
current
.
format
(
'YY/MM'
));
// 增加一个月
current
.
add
(
1
,
'month'
);
}
return
result
;
}
export
function
getKeyValue
(
data
)
{
let
result
=
[];
for
(
let
key
in
data
)
{
result
.
push
({
key
,
value
:
data
[
key
]});
let
value
=
data
[
key
];
if
(
!
isNaN
(
data
[
key
])
&&
data
[
key
])
value
=
value
.
toFixed
(
2
);
result
.
push
({
key
,
value
});
}
return
result
;
...
...
src/data/db/qyfw.ts
View file @
806d4c53
...
...
@@ -23,7 +23,7 @@ export async function getEnterprise() {
入驻率入驻企业
:{},
企业基本情况
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
// 在孵企业面积,在孵企业,毕业企业
入孵企业数量变化趋势
:
[],
// 入孵企业按月、按年的迁入、迁出数量
入孵时长分布
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
入孵时长分布
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//在孵企业孵化时长分布
拟毕业企业情况
:
{
count
:[],
dataList
:
{
bodyList
:
[],
headerList
:
[[
'企业名称'
,
'预计毕业时间'
]]
}},
// count:即将到期企业数(小于3个月)
入孵企业行业分布
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//行业领域分布
企业服务汇总数据
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
//中间汇总数据
...
...
@@ -93,7 +93,7 @@ export async function getEnterprise() {
qyfw
.
入孵时长分布
.
dataList
=
getKeyValue
(
rfscfb
);
//拟毕业企业情况
qyfw
.
拟毕业企业情况
.
count
=
[{
key
:
"
即将到期
企业数"
,
value
:
nbyqyqk
.
count
}];
qyfw
.
拟毕业企业情况
.
count
=
[{
key
:
"
3个月内即将毕业
企业数"
,
value
:
nbyqyqk
.
count
}];
qyfw
.
拟毕业企业情况
.
dataList
.
bodyList
=
nbyqyqk
.
dataList
;
//入孵企业行业分布
...
...
@@ -294,10 +294,14 @@ function getRfqyslbhqsMonth(在孵dbList, 迁出dbList) {
if
(
monthDiff
>=
0
&&
monthDiff
<
3
)
{
nbyqyqk
.
count
+=
1
;
nbyqyqk
.
dataList
.
push
([
enterprise
.
enterpriseName
,
moment
(
item
.
endTime
).
format
(
"YYYY-MM-DD"
)]);
}
else
if
(
monthDiff
>=
3
&&
monthDiff
<
12
)
rfscfb
[
"1年以内"
]
+=
1
;
else
if
(
monthDiff
>=
12
&&
monthDiff
<
24
)
rfscfb
[
"1-2年"
]
+=
1
;
else
if
(
monthDiff
>=
24
&&
monthDiff
<
36
)
rfscfb
[
"2-3年"
]
+=
1
;
else
if
(
monthDiff
>=
36
&&
monthDiff
<
48
)
rfscfb
[
"3-4年"
]
+=
1
;
}
let
parsedStartTime
=
moment
(
item
.
startTime
);
//获取入孵结束时间
let
monthStartDiff
=
nowTime
.
diff
(
parsedStartTime
,
'months'
);
// 获取月份差值
if
(
monthStartDiff
>=
3
&&
monthStartDiff
<
12
)
rfscfb
[
"1年以内"
]
+=
1
;
else
if
(
monthStartDiff
>=
12
&&
monthStartDiff
<
24
)
rfscfb
[
"1-2年"
]
+=
1
;
else
if
(
monthStartDiff
>=
24
&&
monthStartDiff
<
36
)
rfscfb
[
"2-3年"
]
+=
1
;
else
if
(
monthStartDiff
>=
36
&&
monthStartDiff
<
48
)
rfscfb
[
"3-4年"
]
+=
1
;
})
return
{
rfscfb
,
nbyqyqk
};
...
...
src/data/db/qyszhx.ts
View file @
806d4c53
import
moment
=
require
(
"moment"
);
import
{
FINANCINGROUNDS
,
FOLLOWUPSTATUS
,
IPRALLTYPE
,
NEEDCATEGORY
,
OPERATIONALDATATYPE
,
QUARTER
,
TABLENAME
}
from
"../../config/enum"
;
import
{
FINANCINGROUNDS
,
FOLLOWUPSTATUS
,
IPRALLTYPE
,
NEEDCATEGORY
,
OPERATIONALDATATYPE
,
QUARTER
,
RISKTYPE
,
TABLENAME
}
from
"../../config/enum"
;
import
{
selectData
}
from
"./operationalData"
;
import
{
getAll
知识产权
,
getById
知识产权
,
getChart
,
getKeyValue
,
getRecentQuarters
,
getYearList
}
from
"./out"
;
import
{
changeEnumValue
}
from
"../../tools/eccEnum"
;
...
...
@@ -13,7 +13,7 @@ export async function getQyszhx(eId) {
企业科创分
:
{
count
:
[],
dataList
:
[],
chartData
:[]},
//count:所属国际二级行业,chartData:饼图
股权结构
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
资质认证
:
{
count
:[],
bodyList
:
[],
headerList
:
[[
'生效时间'
,
'证书名称'
,
'状态'
]]},
//count:资质认证总数
风险详情
:
{
count
:[],
dataList
:[]},
风险详情
:
{
},
//法律风险、经营稳定性风险、关联企业风险
// 失信详情: {count:[], dataList:[]},//todo
// 违法核查: {count:[], dataList: []},//todo
企业服务申请情况
:
{
dataList
:
[],
titleList
:
[
'key'
,
'value'
]
},
...
...
@@ -118,12 +118,25 @@ export async function getQyszhx(eId) {
//企业风险动态:失信核查、失信详情、违法核查 --改为风险数据
let
企业风险动态
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
风险
,
{
eId
},
[
"eId"
,
"title"
,
"description"
,
"passage"
,
"riskType"
,
"typeCode"
]);
let
qyfxdt
=
{
风险详情
:[]};
let
qyfxdt
=
{
法律风险
:{
count
:
0
,
dataList
:[]},
经营稳定性风险
:{
count
:
0
,
dataList
:[]},
关联企业风险
:{
count
:
0
,
dataList
:[]}
};
企业风险动态
.
forEach
(
info
=>
{
qyfxdt
.
风险详情
.
push
(
info
.
description
);
if
(
info
.
riskType
==
"法律风险"
)
{
qyfxdt
.
法律风险
.
count
+=
1
;
qyfxdt
.
法律风险
.
dataList
.
push
(
info
.
description
);
}
else
if
(
info
.
riskType
==
"经营稳定性风险"
)
{
qyfxdt
.
经营稳定性风险
.
count
+=
1
;
qyfxdt
.
经营稳定性风险
.
dataList
.
push
(
info
.
description
);
}
else
if
(
info
.
riskType
==
"关联企业风险"
)
{
qyfxdt
.
关联企业风险
.
count
+=
1
;
qyfxdt
.
关联企业风险
.
dataList
.
push
(
info
.
description
);
}
})
qyszhx
.
风险详情
.
count
=
[{
key
:
"风险统计次数"
,
value
:
企业风险动态
.
length
}]
;
qyszhx
.
风险详情
.
dataList
=
qyfxdt
.
风险详情
;
qyszhx
.
风险详情
=
qyfxdt
;
// let 企业风险动态 = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.失信核查, {eId}, ["eId", "liandate", "anno", "executegov", "executestatus", "publicdate", "executeno", "actionRemark", "amount"]);
// let qyfxdt = {失信详情:[], 违法核查:[]};
// 企业风险动态.forEach( info => {
...
...
@@ -442,7 +455,7 @@ function get租房补贴(企业资质信息, 企业专利信息, 参保记录信
/**
* 获取企业资质达标情况的通用函数
* @param data 企业资质数据
* @param key 判断依据的字段名(如 'gxjsState', 'kxState', '
xjr
State')
* @param key 判断依据的字段名(如 'gxjsState', 'kxState', '
cx
State')
* @returns 达标情况对象
*/
function
get
资质达标情况
(
data
,
key
:
string
)
{
...
...
src/data/db/zhyy.ts
View file @
806d4c53
import
moment
=
require
(
"moment"
);
import
{
BUILDING
,
CHANGESTATE
,
FOLLOWUPSTATUS
,
FUHUASTATE
,
INDUSTRY
,
NEEDCATEGORY
,
OFFLINEPROMOTION
,
ONLINEPROMOTION
,
OPERATIONALDATATYPE
,
POLICYTYPE
,
PROMOTIONTYP
E
,
TABLENAME
}
from
"../../config/enum"
;
import
{
BUILDING
,
CHANGESTATE
,
EMIGRATIONTYPE
,
FOLLOWUPSTATUS
,
FUHUASTATE
,
INDUSTRY
,
NEEDCATEGORY
,
OFFLINEPROMOTION
,
ONLINEPROMOTION
,
OPERATIONALDATATYPE
,
POLICYTYPE
,
PROMOTIONTYPE
,
STAT
E
,
TABLENAME
}
from
"../../config/enum"
;
import
{
selectData
,
selectManyTableData
}
from
"./operationalData"
;
import
{
changeEnumValue
}
from
"../../tools/eccEnum"
;
import
{
getAll
知识产权
,
getRecentQuarters
,
get
在孵企业面积
,
get
在孵企业面积变化趋势
,
get
明星企业列表
}
from
"./out"
;
...
...
@@ -63,6 +63,7 @@ export async function getZhyy() {
孵化器概况
:[],
在孵企业面积占比
:[],
孵化运营
:{
count
:[],
dataList
:[]
},
毕业情况
:[],
//毕业未迁出、毕业已迁出
运营推广
:{
线上推广
:{
count
:
""
,
dataList
:[]},
线下推广
:{
count
:
""
,
dataList
:[]}},
汇总数据
:[],
本年新增就业
:[],
...
...
@@ -120,6 +121,15 @@ export async function getZhyy() {
let
{
在孵企业面积变化趋势
,
行业领域分布
}
=
await
get
在孵企业面积变化趋势
();
zhyy
.
孵化运营
.
dataList
=
在孵企业面积变化趋势
;
//毕业情况
let
毕业未迁出
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业孵化信息
,
{
moveOutType
:
EMIGRATIONTYPE
.
毕业未迁出
},
{});
let
毕业已迁出
dbList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业孵化信息
,
{
moveOutType
:
EMIGRATIONTYPE
.
毕业迁出
},
{});
let
byqk
=
{
毕业未迁出
:
毕业未迁出
dbList
.
length
||
0
,
毕业已迁出
:
毕业已迁出
dbList
.
length
||
0
};
zhyy
.
毕业情况
=
getKeyValue
(
byqk
);
//运营推广
let
promotionList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
运营推广信息表
,{},
[
"opId"
,
"promotionType"
,
"promotionApp"
,
"promotionNum"
]);
let
线上推广
=
{
total
:
0
,
apps
:{}
};
...
...
@@ -177,7 +187,7 @@ export async function getZhyy() {
})
}
let
营收情况
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{},
[]);
let
营收情况
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{
isSubmit
:
STATE
.
是
},
[]);
营收情况
.
forEach
(
info
=>
{
let
{
BI
,
TXP
}
=
info
;
hzsj
.
企业总营收额
+=
parseFloat
(
BI
);
...
...
@@ -190,15 +200,15 @@ export async function getZhyy() {
let
{
bnjyxz
,
rfqyjyrsph
,
xlqkfx
}
=
await
get
就业情况
();
zhyy
.
本年新增就业
=
getKeyValue
(
bnjyxz
);
zhyy
.
入孵企业就业人数排行
=
rfqyjyrsph
;
zhyy
.
学历情况分析
=
getKeyValue
(
xlqkfx
);
zhyy
.
学历情况分析
=
getKeyValue
(
xlqkfx
);
//本季度新增规模
let
bjdxzgm
=
await
get
本季度新增规模
();
zhyy
.
本季度新增规模
=
getKeyValue
(
bjdxzgm
);
//在孵企业营收占比
let
jingYingThisYear
=
moment
().
startOf
(
"year"
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
let
jingYingList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{
annual
:
jingYingThisYear
},
null
);
let
jingYingList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业经营信息
,
{
isSubmit
:
STATE
.
是
,
annual
:
jingYingThisYear
},
null
);
let
产业规模企业
Map
=
{};
jingYingList
.
forEach
(
info
=>
{
let
{
BI
,
TXP
,
eId
}
=
info
;
...
...
@@ -293,22 +303,24 @@ export async function getZhyy() {
let
policyType
=
changeEnumValue
(
POLICYTYPE
,
info
.
policyType
);
政策类型次数
[
policyType
]
+=
1
;
政策速递详情
.
push
(
info
.
title
);
})
})
;
zhyy
.
政策速递
=
getKeyValue
(
政策类型次数
);
zhyy
.
政策速递详情
=
政策速递详情
;
zhyy
.
明星企业列表
=
await
get
明星企业列表
();
let
拟入驻企业
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业基础信息表
,
{},
[]);
let
nrzqy
=
[];
拟入驻企业
.
forEach
(
info
=>
{
if
(
info
.
state
==
CHANGESTATE
.
未审核
&&
(
info
.
register
==
CHANGESTATE
.
未审核
||
info
.
register
==
CHANGESTATE
.
已驳回
))
{
zhyy
.
拟入驻企业
.
push
(
info
.
enterpriseName
);
}
if
(
info
.
register
==
CHANGESTATE
.
已通过
&&
(
info
.
state
==
CHANGESTATE
.
未审核
||
info
.
state
==
CHANGESTATE
.
已驳回
))
{
zhyy
.
拟入驻企业
.
push
(
info
.
enterpriseName
);
nrzqy
.
push
(
info
.
enterpriseName
);
}
else
if
(
info
.
register
==
CHANGESTATE
.
已通过
&&
(
info
.
state
==
CHANGESTATE
.
未审核
||
info
.
state
==
CHANGESTATE
.
已驳回
))
{
nrzqy
.
push
(
info
.
enterpriseName
);
}
})
});
// zhyy.拟入驻企业 = nrzqy;
zhyy
.
拟入驻企业
=
nrzqy
.
filter
((
item
,
index
)
=>
nrzqy
.
indexOf
(
item
)
===
index
);
return
zhyy
;
}
...
...
src/routers/router.ts
View file @
806d4c53
...
...
@@ -10,6 +10,9 @@ import * as qyfwBiz from '../biz/qyfw';
import
*
as
zhyyBiz
from
'../biz/zhyy'
;
import
*
as
publicBiz
from
'../biz/public'
;
import
*
as
userInfoBiz
from
'../biz/user'
;
export
function
setRouter
(
httpServer
){
...
...
@@ -25,5 +28,8 @@ export function setRouter(httpServer){
httpServer
.
post
(
'/yuyi/viewserver/zhyy'
,
asyncHandler
(
zhyyBiz
.
getData
));
//智慧运营
httpServer
.
post
(
'/yuyi/viewserver/public/selectparam'
,
asyncHandler
(
publicBiz
.
publicRouter
));
//登录登出
httpServer
.
post
(
'/yuyi/viewserver/login'
,
asyncHandler
(
userInfoBiz
.
enterpriseLogin
));
}
\ No newline at end of file
src/tools/systemTools.ts
View file @
806d4c53
...
...
@@ -16,6 +16,14 @@ export function generateSystemId(tableName:string, userId:string) {
}
/**
* 获取token
* @param uscc 统一信用代码
*/
export
function
getToken
(
uscc
:
string
)
{
return
md5
(
`
${
uscc
}${
new
Date
().
valueOf
()}${
Math
.
ceil
(
Math
.
random
()
*
100
)}
`
);
}
/**
* 生成token
* @param userId
* @returns
...
...
@@ -64,8 +72,7 @@ export function getUserToken(loginId:string) {
}
export
function
getMySqlMs
(
time
?)
{
time
=
time
||
new
Date
().
valueOf
();
// time += (8*3600*1000);
time
=
new
Date
(
time
).
valueOf
()
||
new
Date
().
valueOf
();
return
moment
(
time
).
format
(
"YYYY-MM-DD HH:mm:ss"
);
}
...
...
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