Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjxcxServer
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
zjxcxServer
Commits
931bfbd0
Commit
931bfbd0
authored
Aug 09, 2023
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
孵化器列表 导出bug
parent
aead318c
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
34 deletions
+48
-34
fuHuaQi.ts
src/biz/admin/fuHuaQi/fuHuaQi.ts
+46
-31
enterprise.ts
src/data/enterprise/enterprise.ts
+2
-3
No files found.
src/biz/admin/fuHuaQi/fuHuaQi.ts
View file @
931bfbd0
...
@@ -62,7 +62,10 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
...
@@ -62,7 +62,10 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
selectParam
.
operationName
=
{
"$regex"
:
`
${
name
}
`
};
selectParam
.
operationName
=
{
"$regex"
:
`
${
name
}
`
};
}
}
let
enterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCount
();
//计算孵化器拥有的累计企业数量
let
enterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
});
//计算孵化器拥有的累计企业数量
let
shiTiEnterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
,
state
:
configEnum
.
FUHUASTATE
.
实体孵化
});
//实体
let
xuNiEnterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
,
state
:
configEnum
.
FUHUASTATE
.
虚拟孵化
});
//虚拟
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiListByPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiListByPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
count
=
await
fuhuaqiData
.
findFuHuaQiCount
(
selectParam
);
let
count
=
await
fuhuaqiData
.
findFuHuaQiCount
(
selectParam
);
...
@@ -73,10 +76,13 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
...
@@ -73,10 +76,13 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
/**截取所需字段 */
/**截取所需字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
const
EnterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业总数
changeData
.
enterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业孵化总数(包括历史)
let
numOfEntities
=
EnterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
//实体企业
changeData
.
virtualEnterpriseNum
=
xuNiEnterpriseMap
[
info
.
uscc
]
||
0
;
//虚拟企业数量
changeData
.
enterpriseTotal
=
EnterpriseTotal
;
//在孵化企业总数
changeData
.
shiTiEnterpriseNum
=
shiTiEnterpriseMap
[
info
.
uscc
]
||
0
;
//实体企业数量
changeData
.
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
changeData
.
zaiFuEnterpriseNum
=
changeData
.
shiTiEnterpriseNum
+
changeData
.
virtualEnterpriseNum
;
let
outEnterpriseNum
=
changeData
.
enterpriseTotal
-
changeData
.
zaiFuEnterpriseNum
;
changeData
.
outEnterpriseNum
=
outEnterpriseNum
<
0
?
0
:
outEnterpriseNum
;
/**备案地址转换 */
/**备案地址转换 */
if
(
changeData
.
hatchingGround
)
{
if
(
changeData
.
hatchingGround
)
{
...
@@ -161,31 +167,39 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -161,31 +167,39 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
}
}
}
}
let
enterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCount
();
//计算所有孵化器拥有的企业总数
let
enterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
});
//计算孵化器拥有的累计企业数量
let
shiTiEnterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
,
state
:
configEnum
.
FUHUASTATE
.
实体孵化
});
//实体
let
xuNiEnterpriseMap
=
await
enterpriseData
.
groupFindEnterpriseCountByParam
({
draftLock
:
true
,
state
:
configEnum
.
FUHUASTATE
.
虚拟孵化
});
//虚拟
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiList
(
selectParam
);
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiList
(
selectParam
);
/**拼接二维数组 */
/**拼接二维数组 */
let
keyList
=
[
let
keyList
=
[
"name"
,
"operationName"
,
"uscc"
,
"enterpriseTotal"
,
"virtualEnterpriseNum"
,
"numOfEntities"
,
"logonTime"
,
"incubatedAcreage"
,
"name"
,
"operationName"
,
"uscc"
,
"enterpriseTotal"
,
"virtualEnterpriseNum"
,
"shiTiEnterpriseNum"
,
"zaiFuEnterpriseNum"
,
"outEnterpriseNum"
,
"acreageTotal"
,
"acreagePersonalUse"
,
"lv"
,
"identificationTime"
,
"industry"
,
"institutionalNature"
,
"logonTime"
,
"incubatedAcreage"
,
"acreageTotal"
,
"acreagePersonalUse"
,
"lv"
,
"identificationTime"
,
"liaison"
,
"liaisonPhone"
,
"personInCharge"
,
"personInChargePhone"
,
"operationModel"
,
"foundingTeamType"
,
"industry"
,
"institutionalNature"
,
"liaison"
,
"liaisonPhone"
,
"personInCharge"
,
"personInChargePhone"
,
"operationModel"
,
"foundingTeamType"
,
];
];
let
titleList
=
[
let
titleList
=
[
"名称"
,
"运营机构名称"
,
"统一信用代码"
,
"
企业总数"
,
"虚拟孵化"
,
"实体孵化
"
,
"名称"
,
"运营机构名称"
,
"统一信用代码"
,
"
累计孵化企业数量"
,
"虚拟孵化"
,
"实体孵化"
,
"在孵企业数"
,
"迁出企业数
"
,
"注册时间"
,
"在孵面积"
,
"孵化器总面积"
,
"孵化器自用面积"
,
"孵化器级别"
,
"认定时间"
,
"注册时间"
,
"在孵面积"
,
"孵化器总面积"
,
"孵化器自用面积"
,
"孵化器级别"
,
"认定时间"
,
"领域"
,
"机构性质"
,
"联系人"
,
"联系电话"
,
"负责人"
,
"负责人联系电话"
"领域"
,
"机构性质"
,
"联系人"
,
"联系电话"
,
"负责人"
,
"负责人联系电话"
,
"运营模式"
,
"孵化器创始团队"
];
];
let
dataList
=
[];
let
dataList
=
[];
let
maxTeamNumber
=
0
;
//最大团队数
let
maxTeamNumber
=
0
;
//最大团队数
let
maxHatching
=
0
;
//最大场地数
let
maxHatching
=
0
;
//最大场地数
dataBaseList
.
forEach
(
info
=>
{
dataBaseList
.
forEach
(
info
=>
{
let
{
uscc
}
=
info
;
/**截取需要的返回字段 */
/**截取需要的返回字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
const
EnterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业总数
changeData
.
enterpriseTotal
=
enterpriseMap
[
uscc
]
||
0
;
//企业孵化总数(包括历史)
let
numOfEntities
=
EnterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
//实体企业
changeData
.
virtualEnterpriseNum
=
xuNiEnterpriseMap
[
uscc
]
||
0
;
//虚拟企业数量
changeData
.
enterpriseTotal
=
EnterpriseTotal
;
changeData
.
shiTiEnterpriseNum
=
shiTiEnterpriseMap
[
uscc
]
||
0
;
//实体企业数量
changeData
.
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
changeData
.
zaiFuEnterpriseNum
=
changeData
.
shiTiEnterpriseNum
+
changeData
.
virtualEnterpriseNum
;
let
outEnterpriseNum
=
changeData
.
enterpriseTotal
-
changeData
.
zaiFuEnterpriseNum
;
changeData
.
outEnterpriseNum
=
outEnterpriseNum
<=
0
?
0
:
outEnterpriseNum
;
/**枚举转换 */
/**枚举转换 */
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
...
@@ -204,25 +218,28 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -204,25 +218,28 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
/**生成除了创始团队和场地之外的 小数组 */
/**生成除了创始团队和场地之外的 小数组 */
let
subList
=
[];
let
subList
=
[];
keyList
.
forEach
(
subInfo
=>
{
keyList
.
forEach
(
key
=>
{
subList
.
push
(
changeData
[
subInfo
]
||
''
);
let
value
=
changeData
[
key
];
if
(
value
==
null
||
value
==
undefined
)
value
=
"-"
;
subList
.
push
(
value
);
});
});
dataList
.
push
(
subList
);
dataList
.
push
(
subList
);
});
});
/**根据最大的创始团队数量 生成标题 */
/**根据最大的创始团队数量 生成标题 */
let
teamKeyList
=
[
"
type"
,
"memberName"
,
"memberSex"
,
"memberAge"
,
"memberDEGREE
"
,
"memberSchool"
,
"des"
];
let
teamKeyList
=
[
"
memberName"
,
"memberSexStr"
,
"memberAge"
,
"memberDEGREEStr
"
,
"memberSchool"
,
"des"
];
let
teamTitleList
=
[
"
人才类型"
,
"
成员姓名"
,
"成员性别"
,
"成员年龄"
,
"成员最高学历"
,
"毕业学校"
,
"履历描述"
];
let
teamTitleList
=
[
"成员姓名"
,
"成员性别"
,
"成员年龄"
,
"成员最高学历"
,
"毕业学校"
,
"履历描述"
];
for
(
let
i
=
0
;
i
<
maxTeamNumber
;
i
++
)
{
//平铺的插入数据
for
(
let
i
=
0
;
i
<
maxTeamNumber
;
i
++
)
{
//平铺的插入数据
let
teamNum
=
i
+
1
;
let
teamNum
=
i
+
1
;
teamTitleList
.
forEach
(
title
=>
{
teamTitleList
.
forEach
(
title
=>
{
titleList
.
push
(
`成员
${
teamNum
}
-
${
title
}
`
);
titleList
.
push
(
`成员
${
teamNum
}
-
${
title
}
`
);
});
});
}
}
let
firstTitleAndTeamTitleIndex
=
titleList
.
length
-
1
;
/**根据最大的场地数量 生成标题 */
/**根据最大的场地数量 生成标题 */
let
hatchingKeyList
=
[
"personInChargeAdd
"
,
"siteAcreage"
,
"leasePrice"
];
// let hatchingKeyList = [ "personInChargeAddress
", "siteAcreage", "leasePrice" ];
let
hatchingTitleList
=
[
"孵化场地地址"
,
"孵化场地面积"
,
"孵化场地出租单价"
];
let
hatchingTitleList
=
[
"孵化场地地址"
,
"孵化场地面积"
,
"孵化场地出租单价"
];
for
(
let
i
=
0
;
i
<
maxHatching
;
i
++
)
{
for
(
let
i
=
0
;
i
<
maxHatching
;
i
++
)
{
let
hatchingNumber
=
i
+
1
;
let
hatchingNumber
=
i
+
1
;
...
@@ -238,27 +255,25 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -238,27 +255,25 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
dataBaseList
.
forEach
((
info
,
index
)
=>
{
dataBaseList
.
forEach
((
info
,
index
)
=>
{
if
(
info
.
foundingTeam
&&
info
.
foundingTeam
.
length
)
{
if
(
info
.
foundingTeam
&&
info
.
foundingTeam
.
length
)
{
info
.
foundingTeam
.
forEach
(
teamInfo
=>
{
info
.
foundingTeam
.
forEach
(
teamInfo
=>
{
teamInfo
.
memberSexStr
=
changeEnumValue
(
configEnum
.
SEX
,
teamInfo
.
memberSex
);
teamInfo
.
type
=
changeEnumValue
(
configEnum
.
TEAM
,
teamInfo
.
type
);
teamInfo
.
memberDEGREEStr
=
changeEnumValue
(
configEnum
.
DEGREE
,
teamInfo
.
memberDEGREE
);
teamInfo
.
memberSex
=
changeEnumValue
(
configEnum
.
SEX
,
teamInfo
.
memberSex
);
teamInfo
.
memberDEGREE
=
changeEnumValue
(
configEnum
.
DEGREE
,
teamInfo
.
memberDEGREE
);
teamKeyList
.
forEach
(
teamKey
=>
{
teamKeyList
.
forEach
(
teamKey
=>
{
dataList
[
index
].
push
(
teamInfo
[
teamKey
]);
dataList
[
index
].
push
(
teamInfo
[
teamKey
]);
});
});
});
});
}
}
if
(
info
.
hatchingGround
&&
info
.
hatchingGround
.
length
)
{
if
(
info
.
hatchingGround
&&
info
.
hatchingGround
.
length
)
{
info
.
hatchingGround
.
forEach
((
hatchingInfo
,
hatchingIndex
)
=>
{
info
.
hatchingGround
.
forEach
((
hatchingInfo
,
hatchingIndex
)
=>
{
1
let
itemStartIndex
=
firstTitleAndTeamTitleIndex
+
(
hatchingIndex
*
3
);
hatchingKeyList
.
forEach
(
(
hatchingKey
,
hatchingKeyIndex
)
=>
{
let
personInChargeAdd
=
hatchingInfo
[
"personInChargeAddress"
]
?
JSON
.
stringify
(
hatchingInfo
[
"personInChargeAddress"
])
:
'-'
;
let
addIndex
=
teamKeyList
.
length
+
(
(
hatchingIndex
*
3
)
+
(
hatchingKeyIndex
)
)
dataList
[
index
][
itemStartIndex
+
1
]
=
personInChargeAdd
;
dataList
[
index
][
addIndex
]
=
hatchingInfo
[
hatchingKey
]
;
dataList
[
index
][
itemStartIndex
+
2
]
=
hatchingInfo
[
"siteAcreage"
]
||
"-"
;
})
;
dataList
[
index
][
itemStartIndex
+
3
]
=
hatchingInfo
[
"leasePrice"
]
||
"-"
;
});
});
}
}
});
});
/**
最后
将标题作数组为二维数组的第一个子数组 */
/**将标题作数组为二维数组的第一个子数组 */
dataList
.
unshift
(
titleList
)
dataList
.
unshift
(
titleList
)
return
dataList
;
return
dataList
;
}
}
...
...
src/data/enterprise/enterprise.ts
View file @
931bfbd0
...
@@ -211,9 +211,8 @@ export async function findEnterpriseTotalByFuHuaQiUscc(fuHuaQiUscc:string) {
...
@@ -211,9 +211,8 @@ export async function findEnterpriseTotalByFuHuaQiUscc(fuHuaQiUscc:string) {
* 聚合查询 孵化器所拥有的企业数量
* 聚合查询 孵化器所拥有的企业数量
* @returns {} key=孵化器统一信用 value=企业数量
* @returns {} key=孵化器统一信用 value=企业数量
*/
*/
export
async
function
groupFindEnterpriseCount
()
{
export
async
function
groupFindEnterpriseCountByParam
(
param
)
{
let
match
=
{
draftLock
:
true
};
//前置条件
let
dataList
=
await
enterpriseModel
.
aggregate
([{
$match
:
param
},{
$group
:{
_id
:
"$fuHuaQiUscc"
,
count
:{
$sum
:
1
}}}]).
exec
();
let
dataList
=
await
enterpriseModel
.
aggregate
([{
$match
:
match
},{
$group
:{
_id
:
"$fuHuaQiUscc"
,
count
:{
$sum
:
1
}}}]).
exec
();
let
result
=
{};
let
result
=
{};
dataList
.
forEach
(
info
=>
{
dataList
.
forEach
(
info
=>
{
let
{
_id
,
count
}
=
info
;
let
{
_id
,
count
}
=
info
;
...
...
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