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
bdeeeda7
Commit
bdeeeda7
authored
Feb 22, 2023
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
逻辑优化和注释
parent
b15f8d54
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
382 additions
and
280 deletions
+382
-280
enterprise.ts
src/biz/enterprise/enterprise.ts
+104
-72
financing.ts
src/biz/enterprise/financing.ts
+53
-38
base.ts
src/biz/fuHuqQi/base.ts
+73
-80
task.ts
src/biz/fuHuqQi/task.ts
+55
-60
eccFormParamConfig.ts
src/config/eccFormParamConfig.ts
+34
-1
errorEnum.ts
src/config/errorEnum.ts
+3
-0
enterprise.ts
src/data/enterprise/enterprise.ts
+22
-6
fuhuaqi.ts
src/data/fuHuaQi/fuhuaqi.ts
+8
-11
task.ts
src/data/fuHuaQi/task.ts
+2
-2
enterprise.ts
src/routers/mobileClient/enterprise.ts
+2
-2
system.ts
src/tools/system.ts
+14
-0
verificationEnum.ts
src/util/verificationEnum.ts
+12
-8
No files found.
src/biz/enterprise/enterprise.ts
View file @
bdeeeda7
...
@@ -13,29 +13,31 @@ import * as splitResultConfig from "../../config/splitResultConfig";
...
@@ -13,29 +13,31 @@ import * as splitResultConfig from "../../config/splitResultConfig";
import
*
as
fuHuaQiData
from
"../../data/fuHuaQi/fuhuaqi"
;
import
*
as
fuHuaQiData
from
"../../data/fuHuaQi/fuhuaqi"
;
import
*
as
configEnum
from
"../../config/enum"
;
import
*
as
configEnum
from
"../../config/enum"
;
import
{
eccFormParam
}
from
"../../util/verificationParam"
;
import
{
eccFormParam
}
from
"../../util/verificationParam"
;
import
{
changeEnumValue
}
from
"../../util/verificationEnum"
;
import
*
as
verificationEnumTools
from
"../../util/verificationEnum"
;
import
{
checkChange
,
extractData
}
from
"../../util/piecemeal"
;
import
{
checkChange
,
extractData
}
from
"../../util/piecemeal"
;
/**
/**
* 新注册企业
*
添加
新注册企业
* 小程序端
* 小程序端
* @param uscc 孵化器统一信用代码
* @param uscc 孵化器统一信用代码
* @param param 表单参数
* @param param 表单参数
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
registerEnterprise
(
uscc
:
string
,
param
)
{
export
async
function
registerEnterprise
(
uscc
:
string
,
param
)
{
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
/**校验表单参数 */
eccFormParam
(
"新注册企业"
,
eccFormParamConfig
.
RegisterEnterpriseParamConfig
,
param
);
eccFormParam
(
"新注册企业"
,
eccFormParamConfig
.
RegisterEnterpriseParamConfig
,
param
);
//校验表单参数
verificationEnumTools
.
eccEnumValue
(
'添加新注册企业'
,
'industry'
,
configEnum
.
INDUSTRY
,
param
.
industry
);
if
(
!
sysTools
.
eccUscc
(
param
.
uscc
)
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码不合法
);
/**不能出现重复的统一社会信用代码 草稿的也不行 */
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
param
.
uscc
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
param
.
uscc
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
/**添加新注册企业标识 */
param
.
draftId
=
sysTools
.
getDraftId
(
uscc
);
//草稿箱id
param
.
draftId
=
sysTools
.
getDraftId
(
uscc
);
//草稿箱id
param
.
isCreate
=
true
;
//标识此次操作是否是新注册企业并不是迁入企业
param
.
isCreate
=
true
;
//标识此次操作是否是新注册企业并不是迁入企业
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
await
enterpriseData
.
createEnterprise
(
uscc
,
TaskId
,
param
);
await
enterpriseData
.
createEnterprise
(
uscc
,
TaskId
,
param
);
return
{
isSuccess
:
true
};
return
{
isSuccess
:
true
};
...
@@ -50,21 +52,21 @@ export async function registerEnterprise(uscc:string, param) {
...
@@ -50,21 +52,21 @@ export async function registerEnterprise(uscc:string, param) {
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
updateRegisterEnterprise
(
uscc
:
string
,
param
)
{
export
async
function
updateRegisterEnterprise
(
uscc
:
string
,
param
)
{
/**校验表单参数 */
eccFormParam
(
"新注册企业表单修改"
,
eccFormParamConfig
.
EnterpriseParamFormConfig
,
param
);
eccFormParam
(
"新注册企业表单修改"
,
eccFormParamConfig
.
EnterpriseParamFormConfig
,
param
);
verificationEnumTools
.
eccEnumValue
(
'修改新注册企业'
,
'industry'
,
configEnum
.
INDUSTRY
,
param
.
industry
);
if
(
!
sysTools
.
eccUscc
(
param
.
uscc
)
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码不合法
);
let
usccSelectDataBaseList
=
await
enterpriseData
.
findEnterpriseList
({
uscc
:
param
.
uscc
});
usccSelectDataBaseList
.
forEach
(
info
=>
{
if
(
info
.
draftId
!=
param
.
draftId
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在 不可以修改`
);
});
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
param
.
draftId
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
param
.
draftId
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
//比对修改字段
/**修改时校验uscc是否重复 */
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
let
selectInfo
=
await
enterpriseData
.
selectOneEnterpriseByParam
({
uscc
:
param
.
uscc
,
draftId
:{
"$ne"
:
param
.
draftId
}
});
if
(
selectInfo
&&
selectInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码重复
,
`
${
param
.
uscc
}
已经在库中存在 不可以修改为这个统一信用代码`
);
/**修改字段 */
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
changeList
.
forEach
(
key
=>
{
dataBaseInfo
[
key
]
=
param
[
key
];
dataBaseInfo
[
key
]
=
param
[
key
];
});
});
...
@@ -76,21 +78,26 @@ export async function updateRegisterEnterprise(uscc:string, param) {
...
@@ -76,21 +78,26 @@ export async function updateRegisterEnterprise(uscc:string, param) {
/**
/**
* 迁入企业登记
*
添加
迁入企业登记
* 小程序端
* 小程序端
* @param uscc 孵化器统一信用代码
* @param uscc 孵化器统一信用代码
* @param param 表单参数
* @param param 表单参数
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
moveInEnterprise
(
uscc
:
string
,
param
)
{
export
async
function
moveInEnterprise
(
uscc
:
string
,
param
)
{
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
/**校验表单参数 */
eccFormParam
(
"迁入企业登记"
,
eccFormParamConfig
.
MoveInEnterpriseParamConfig
,
param
);
eccFormParam
(
"迁入企业登记"
,
eccFormParamConfig
.
MoveInEnterpriseParamConfig
,
param
);
verificationEnumTools
.
eccEnumValue
(
'添加迁入企业'
,
'industry'
,
configEnum
.
INDUSTRY
,
param
.
industry
);
if
(
!
sysTools
.
eccUscc
(
param
.
uscc
)
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码不合法
);
/**不能出现重复的统一社会信用代码 草稿的也不行 */
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
param
.
uscc
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
param
.
uscc
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
if
(
dataBaseInfo
&&
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
该企业已存在
,
`
${
param
.
uscc
}
已经在库中存在`
);
/**添加新注册企业标识 */
param
.
draftId
=
sysTools
.
getDraftId
(
uscc
);
//草稿箱id
param
.
draftId
=
sysTools
.
getDraftId
(
uscc
);
//草稿箱id
param
.
isCreate
=
false
;
//标识此次操作是否是迁入企业并不是新注册企业
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
await
enterpriseData
.
createEnterprise
(
uscc
,
TaskId
,
param
);
await
enterpriseData
.
createEnterprise
(
uscc
,
TaskId
,
param
);
return
{
isSuccess
:
true
};
return
{
isSuccess
:
true
};
...
@@ -105,19 +112,25 @@ export async function moveInEnterprise(uscc:string, param) {
...
@@ -105,19 +112,25 @@ export async function moveInEnterprise(uscc:string, param) {
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
updateMoveInEnterprise
(
uscc
:
string
,
param
)
{
export
async
function
updateMoveInEnterprise
(
uscc
:
string
,
param
)
{
/**校验表单参数 */
eccFormParam
(
"修改迁入企业登记信息"
,
eccFormParamConfig
.
EnterpriseInPutParamFormConfig
,
param
);
verificationEnumTools
.
eccEnumValue
(
'修改迁入企业'
,
'industry'
,
configEnum
.
INDUSTRY
,
param
.
industry
);
if
(
!
sysTools
.
eccUscc
(
param
.
uscc
)
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码不合法
);
eccFormParam
(
"修改迁入企业登记信息"
,
eccFormParamConfig
.
EnterpriseInPutParamFormConfig
,
param
);
//校验表单参数
/**企业库中是否存在记录 */
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
param
.
draftId
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
param
.
draftId
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
param
.
uscc
}
这个企业`
);
/**修改时校验uscc是否重复 */
let
selectInfo
=
await
enterpriseData
.
selectOneEnterpriseByParam
({
uscc
:
param
.
uscc
,
draftId
:{
"$ne"
:
param
.
draftId
}
});
if
(
selectInfo
&&
selectInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
统一社会信用代码重复
,
`
${
param
.
uscc
}
已经在库中存在 不可以修改为这个统一信用代码`
);
/**修改数据 */
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
changeList
.
forEach
(
key
=>
{
dataBaseInfo
[
key
]
=
param
[
key
];
dataBaseInfo
[
key
]
=
param
[
key
];
});
});
await
dataBaseInfo
.
save
();
await
dataBaseInfo
.
save
();
return
{
isSuccess
:
true
};
return
{
isSuccess
:
true
};
...
@@ -126,13 +139,17 @@ export async function updateMoveInEnterprise(uscc:string, param) {
...
@@ -126,13 +139,17 @@ export async function updateMoveInEnterprise(uscc:string, param) {
/**
/**
* 根据企业id查询企业信息
* 根据企业id查询企业信息
* 包括新迁入企业和新注册企业的回显
* 小程序端 回显
* 小程序端 回显
* @param uscc 企业统一信用代码
* @param uscc 企业统一信用代码
* @param draftId 草稿id
* @returns {data} data 返回表单
*/
*/
export
async
function
getEnterpriseByDraftId
(
draftId
:
string
)
{
export
async
function
getEnterpriseByDraftId
(
draftId
:
string
)
{
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
draftId
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
draftId
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在draftId=
${
draftId
}
这个企业`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在draftId=
${
draftId
}
这个企业`
);
/**新注册企业和迁入企业回显信息不一样 */
let
data
:
any
=
{};
let
data
:
any
=
{};
if
(
dataBaseInfo
.
isCreate
)
extractData
(
splitResultConfig
.
EnterpriseInfoConfig
,
dataBaseInfo
,
false
);
if
(
dataBaseInfo
.
isCreate
)
extractData
(
splitResultConfig
.
EnterpriseInfoConfig
,
dataBaseInfo
,
false
);
else
data
=
extractData
(
splitResultConfig
.
EnterpriseMoveInInfoConfig
,
dataBaseInfo
,
false
);
else
data
=
extractData
(
splitResultConfig
.
EnterpriseMoveInInfoConfig
,
dataBaseInfo
,
false
);
...
@@ -145,11 +162,13 @@ export async function getEnterpriseByDraftId(draftId:string) {
...
@@ -145,11 +162,13 @@ export async function getEnterpriseByDraftId(draftId:string) {
* 根据企业id删除草稿企业
* 根据企业id删除草稿企业
* 小程序端
* 小程序端
* @param uscc 企业统一信用代码
* @param uscc 企业统一信用代码
* @param draftId 草稿id
* @returns {isSuccess:true/false}
*/
*/
export
async
function
deleteEnterpriseByDraftId
(
draftId
:
string
)
{
export
async
function
deleteEnterpriseByDraftId
(
draftId
:
string
)
{
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
draftId
);
let
dataBaseInfo
=
await
enterpriseData
.
findEnterpriseByDraftId
(
draftId
);
/**删除限制 */
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在draftId=
${
draftId
}
这个企业`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在draftId=
${
draftId
}
这个企业`
);
if
(
dataBaseInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
已入库的数据不能删除
,
draftId
);
if
(
dataBaseInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
已入库的数据不能删除
,
draftId
);
await
enterpriseData
.
deleteEnterprise
(
draftId
);
await
enterpriseData
.
deleteEnterprise
(
draftId
);
...
@@ -169,8 +188,8 @@ export async function deleteEnterpriseByDraftId(draftId:string) {
...
@@ -169,8 +188,8 @@ export async function deleteEnterpriseByDraftId(draftId:string) {
* @returns {dataList:[], count:0} dataList=数据列表 count:条件筛选下的数据总数
* @returns {dataList:[], count:0} dataList=数据列表 count:条件筛选下的数据总数
*/
*/
export
async
function
enterpriseList
(
createType
:
number
,
fuHuaQiUscc
:
string
,
industry
,
isNaturalPersonHolding
:
number
,
page
:
number
)
{
export
async
function
enterpriseList
(
createType
:
number
,
fuHuaQiUscc
:
string
,
industry
,
isNaturalPersonHolding
:
number
,
page
:
number
)
{
/**拼接查询条件 */
let
selectParam
:
any
=
{};
let
selectParam
:
any
=
{};
if
(
createType
==
2
||
createType
==
3
)
{
if
(
createType
==
2
||
createType
==
3
)
{
selectParam
.
isCreate
=
createType
==
2
?
true
:
false
;
selectParam
.
isCreate
=
createType
==
2
?
true
:
false
;
}
}
...
@@ -179,23 +198,28 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
...
@@ -179,23 +198,28 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
if
(
isNaturalPersonHolding
==
2
||
isNaturalPersonHolding
==
3
)
{
if
(
isNaturalPersonHolding
==
2
||
isNaturalPersonHolding
==
3
)
{
selectParam
.
isNaturalPersonHolding
=
isNaturalPersonHolding
==
2
?
true
:
false
;
selectParam
.
isNaturalPersonHolding
=
isNaturalPersonHolding
==
2
?
true
:
false
;
}
}
selectParam
.
draftLock
=
true
;
//未提交的企业不能查看
selectParam
.
draftLock
=
true
;
/**需要用到的查询数据 */
let
usccMap
=
await
fuHuaQiData
.
findAllFuHuaQiOperationNameMap
();
let
usccMap
=
await
fuHuaQiData
.
findAllFuHuaQiOperationNameMap
();
//用于将孵化器uscc变成孵化器名称
let
dataBaseList
=
await
enterpriseData
.
findEnterpriseListToPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
dataBaseList
=
await
enterpriseData
.
findEnterpriseListToPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
count
=
await
enterpriseData
.
findEnterpriseCount
(
selectParam
);
let
count
=
await
enterpriseData
.
findEnterpriseCount
(
selectParam
);
//符合查询条件的数据总数
let
dataList
=
[];
/**组合返回结果 */
let
dataList
=
[];
dataBaseList
.
forEach
(
info
=>
{
dataBaseList
.
forEach
(
info
=>
{
/**截取返回数据 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
EnterpriseListConfig
,
info
,
true
);
let
changeData
:
any
=
extractData
(
splitResultConfig
.
EnterpriseListConfig
,
info
,
true
);
/**匹配所属孵化器名称 匹配不上时这里显示空字符串 */
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
if
(
info
.
enterpriseIsInPut
)
{
/** 返回的isCreate字段为字符串 当为导入数据时这里显示为空字符 */
changeData
.
isCreate
=
""
;
if
(
info
.
enterpriseIsInPut
)
changeData
.
isCreate
=
""
;
}
else
{
else
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"新注册"
:
"新迁入"
;
(
changeData
.
isCreate
)
?
changeData
.
isCreate
=
"新注册"
:
changeData
.
isCreate
=
"新迁入"
;
}
/**将枚举值转为字符 */
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
changeData
.
industry
);
changeData
.
industry
=
verificationEnumTools
.
changeEnumValue
(
configEnum
.
INDUSTRY
,
changeData
.
industry
);
dataList
.
push
(
changeData
);
dataList
.
push
(
changeData
);
});
});
...
@@ -214,8 +238,8 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
...
@@ -214,8 +238,8 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
* @returns 二维数组
* @returns 二维数组
*/
*/
export
async
function
outPutEnterpriseData
(
createType
:
number
,
fuHuaQiUscc
:
string
,
industry
,
isNaturalPersonHolding
:
number
,
type
:
Number
)
{
export
async
function
outPutEnterpriseData
(
createType
:
number
,
fuHuaQiUscc
:
string
,
industry
,
isNaturalPersonHolding
:
number
,
type
:
Number
)
{
/**拼接查询条件 */
let
selectParam
:
any
=
{};
//查询参数
let
selectParam
:
any
=
{};
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
if
(
createType
==
2
||
createType
==
3
)
{
if
(
createType
==
2
||
createType
==
3
)
{
selectParam
.
isCreate
=
createType
==
2
?
true
:
false
;
selectParam
.
isCreate
=
createType
==
2
?
true
:
false
;
...
@@ -228,57 +252,67 @@ export async function outPutEnterpriseData(createType:number, fuHuaQiUscc:string
...
@@ -228,57 +252,67 @@ export async function outPutEnterpriseData(createType:number, fuHuaQiUscc:string
}
}
selectParam
.
draftLock
=
true
;
//匹配已经提交入库的企业
selectParam
.
draftLock
=
true
;
//匹配已经提交入库的企业
let
usccMap
=
await
fuHuaQiData
.
findAllFuHuaQiOperationNameMap
();
/**查询内容 */
let
usccMap
=
await
fuHuaQiData
.
findAllFuHuaQiOperationNameMap
();
//用于将孵化器uscc变成孵化器名称
let
dataBaseList
=
await
enterpriseData
.
findEnterpriseList
(
selectParam
);
let
dataBaseList
=
await
enterpriseData
.
findEnterpriseList
(
selectParam
);
let
dataList
=
[];
dataBaseList
.
forEach
(
info
=>
{
let
changeData
:
any
=
extractData
(
splitResultConfig
.
EnterpriseListConfig
,
info
,
true
);
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
if
(
info
.
enterpriseIsInPut
)
{
changeData
.
isCreate
=
""
;
}
else
{
(
changeData
.
isCreate
)
?
changeData
.
isCreate
=
"新注册"
:
changeData
.
isCreate
=
"新迁入"
;
}
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
changeData
.
industry
);
dataList
.
push
(
changeData
);
});
let
keyList
=
[
/**组合二维数组 titleList 与 keyList 要一一对应 */
"name"
,
"createTime"
,
"fuhuaqiUscc"
,
"uscc"
,
"industry"
,
"logonTime"
,
const
TitleList
=
[
"firstIncubationTime"
,
"timeOfImmigration"
,
"isNaturalPersonHolding"
,
"oldLogonAdd"
,
"logonAdd"
,
"operatingAdd"
,
"leasedArea"
];
let
titleList
=
[
"企业名称"
,
"入库时间"
,
"所属孵化器"
,
"统一信用代码"
,
"行业领域"
,
"企业名称"
,
"入库时间"
,
"所属孵化器"
,
"统一信用代码"
,
"行业领域"
,
"注册时间"
,
"首次入孵时间"
,
"迁入时间"
,
"是否自然人控股"
,
"迁入前注册地址"
,
"注册时间"
,
"首次入孵时间"
,
"迁入时间"
,
"是否自然人控股"
,
"迁入前注册地址"
,
"注册地址"
,
"经营地址"
,
"租赁面积(平方米)"
"注册地址"
,
"经营地址"
,
"租赁面积(平方米)"
];
];
//表头顺序 如果这里修改了 下面的keyList也要修改
let
result
=
[
titleList
];
const
KeyList
=
[
dataList
.
forEach
(
info
=>
{
"name"
,
"createTime"
,
"fuhuaqiUscc"
,
"uscc"
,
"industry"
,
"logonTime"
,
"firstIncubationTime"
,
"timeOfImmigration"
,
"isNaturalPersonHolding"
,
"oldLogonAdd"
,
"logonAdd"
,
"operatingAdd"
,
"leasedArea"
];
//表头对应的字段顺序
let
dataList
=
[
TitleList
];
dataBaseList
.
forEach
(
info
=>
{
/**截取返回结果 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
EnterpriseListConfig
,
info
,
true
);
/**匹配所属孵化器名称 匹配不上时这里显示空字符串 */
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
if
(
info
.
enterpriseIsInPut
)
changeData
.
isCreate
=
""
;
else
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"新注册"
:
"新迁入"
;
/**修改枚举值 */
changeData
.
industry
=
verificationEnumTools
.
changeEnumValue
(
configEnum
.
INDUSTRY
,
changeData
.
industry
);
// dataList.push(changeData);
/**根据表头与key的顺序 生成小数组 */
let
subList
=
[];
let
subList
=
[];
keyList
.
forEach
(
subInfo
=>
{
KeyList
.
forEach
(
keyStr
=>
{
subList
.
push
(
info
[
subInfo
]
||
''
);
subList
.
push
(
info
[
keyStr
]
||
''
);
});
});
resul
t
.
push
(
subList
);
dataLis
t
.
push
(
subList
);
});
});
return
resul
t
;
return
dataLis
t
;
}
}
/**
* 在孵企业页面的所属孵化器 下拉框
* 管理后台端
* 只返回有入孵企业的孵化器
* @returns result result类型为数组对象 对象内容为{name, uscc}
*/
export
async
function
getAffiliationFuHuaQi
()
{
export
async
function
getAffiliationFuHuaQi
()
{
let
dataList
=
[];
/**获取已有入孵企业的孵化器统一信用代码列表 */
let
list
=
await
enterpriseData
.
findAllBindFuHuaQi
();
let
bindList
=
await
enterpriseData
.
findAllBindFuHuaQiUsccList
();
/**限制为 非禁用状态下的孵化器 */
let
notDisabledList
=
await
fuHuaQiData
.
findAllNotDisabledFuHuaQi
();
let
allList
=
await
fuHuaQiData
.
findAllFuHuaQi
();
let
distinctMap
=
{};
//去重用的map对象 格式为:{uscc:name}
let
distinctMap
=
{};
// {uscc:name}
notDisabledList
.
forEach
(
info
=>
{
allList
.
forEach
(
info
=>
{
distinctMap
[
info
.
uscc
]
=
info
.
name
;
distinctMap
[
info
.
uscc
]
=
info
.
name
;
});
});
let
result
=
[];
let
result
=
[];
l
ist
.
forEach
(
fuHuaQiUscc
=>
{
bindL
ist
.
forEach
(
fuHuaQiUscc
=>
{
let
fuHuaQiName
=
distinctMap
[
fuHuaQiUscc
];
let
fuHuaQiName
=
distinctMap
[
fuHuaQiUscc
];
if
(
fuHuaQiName
)
{
if
(
fuHuaQiName
)
{
result
.
push
({
result
.
push
({
...
@@ -288,6 +322,5 @@ export async function getAffiliationFuHuaQi() {
...
@@ -288,6 +322,5 @@ export async function getAffiliationFuHuaQi() {
}
}
});
});
return
{
result
}
return
{
result
}
}
}
\ No newline at end of file
src/biz/enterprise/financing.ts
View file @
bdeeeda7
...
@@ -15,7 +15,7 @@ import * as fuhuaqiData from "../../data/fuHuaQi/fuhuaqi";
...
@@ -15,7 +15,7 @@ import * as fuhuaqiData from "../../data/fuHuaQi/fuhuaqi";
import
moment
=
require
(
"moment"
);
import
moment
=
require
(
"moment"
);
import
*
as
configEnum
from
"../../config/enum"
;
import
*
as
configEnum
from
"../../config/enum"
;
import
{
eccFormParam
}
from
"../../util/verificationParam"
;
import
{
eccFormParam
}
from
"../../util/verificationParam"
;
import
{
changeEnumValue
}
from
"../../util/verificationEnum"
;
import
{
changeEnumValue
,
eccEnumValue
}
from
"../../util/verificationEnum"
;
import
{
checkChange
,
extractData
}
from
"../../util/piecemeal"
;
import
{
checkChange
,
extractData
}
from
"../../util/piecemeal"
;
...
@@ -27,25 +27,30 @@ import { checkChange, extractData } from "../../util/piecemeal";
...
@@ -27,25 +27,30 @@ import { checkChange, extractData } from "../../util/piecemeal";
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
createFinancingInfo
(
uscc
:
string
,
param
)
{
export
async
function
createFinancingInfo
(
uscc
:
string
,
param
)
{
/**校验表单参数*/
eccFormParam
(
"录入企业融资信息"
,
eccFormParamConfig
.
FinancingParamConfig
,
param
);
eccFormParam
(
"录入企业融资信息"
,
eccFormParamConfig
.
FinancingParamConfig
,
param
);
if
(
param
.
fuHuaQiInvestment
)
{
if
(
param
.
fuHuaQiInvestment
)
{
/**如果当孵化器是否投资填了true 则校验 fuHuaQiInvestmentAmount, fuHuaQiInvestmentStyle 两个字段 */
let
subCheckName
=
"录入企业融资信息_孵化器是否参与"
;
let
subCheckName
=
"录入企业融资信息_孵化器是否参与"
;
let
subCheckData
=
{
let
subCheckData
=
{
fuHuaQiInvestmentAmount
:
param
.
fuHuaQiInvestmentAmount
,
fuHuaQiInvestmentAmount
:
param
.
fuHuaQiInvestmentAmount
,
fuHuaQiInvestmentStyle
:
param
.
fuHuaQiInvestmentStyle
,
fuHuaQiInvestmentStyle
:
param
.
fuHuaQiInvestmentStyle
,
};
};
eccFormParam
(
subCheckName
,
{
fuHuaQiInvestmentAmount
:
"Number"
,
fuHuaQiInvestmentStyle
:
"Number"
},
subCheckData
);
eccFormParam
(
subCheckName
,
eccFormParamConfig
.
FinancingParamSubConfig
,
subCheckData
);
/**校验投资方式是否符合枚举规则 */
eccEnumValue
(
"添加企业融资信息"
,
"fuHuaQiInvestmentStyle"
,
configEnum
.
FUHUAQILNVESTMENTSTYLE
,
param
.
fuHuaQiInvestmentStyle
);
}
else
{
}
else
{
/**如果 没有填这里给默认数据*/
param
.
fuHuaQiInvestmentAmount
=
0
;
param
.
fuHuaQiInvestmentAmount
=
0
;
param
.
fuHuaQiInvestmentStyle
=
0
;
param
.
fuHuaQiInvestmentStyle
=
0
;
}
}
/**校验企业是否存在 */
/**校验企业是否存在 */
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseInfoByName
(
param
.
name
);
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseInfoByName
(
param
.
name
);
if
(
!
enterpriseInfo
)
throw
new
BizError
(
ERRORENUM
.
该企业不存在
,
uscc
,
param
.
name
);
if
(
!
enterpriseInfo
)
throw
new
BizError
(
ERRORENUM
.
该企业不存在
,
uscc
,
param
.
name
);
param
.
uscc
=
enterpriseInfo
.
uscc
;
//前端无需传入企业的uscc 库中需要企业的uscc
/** 前端无需传入企业的uscc 库中需要企业的uscc*/
param
.
uscc
=
enterpriseInfo
.
uscc
;
//
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
/**一个企业一个月只能填报一次融资信息 */
/**一个企业一个月只能填报一次融资信息 */
...
@@ -67,24 +72,30 @@ export async function createFinancingInfo(uscc:string, param) {
...
@@ -67,24 +72,30 @@ export async function createFinancingInfo(uscc:string, param) {
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
updateFinancingInfo
(
uscc
:
string
,
param
)
{
export
async
function
updateFinancingInfo
(
uscc
:
string
,
param
)
{
/**校验表单参数 */
eccFormParam
(
"更新融资企业信息"
,
eccFormParamConfig
.
FinancingParamUpdateConfig
,
param
);
eccFormParam
(
"更新融资企业信息"
,
eccFormParamConfig
.
FinancingParamUpdateConfig
,
param
);
if
(
param
.
fuHuaQiInvestment
)
{
if
(
param
.
fuHuaQiInvestment
)
{
/**如果当孵化器是否投资填了true 则校验 fuHuaQiInvestmentAmount, fuHuaQiInvestmentStyle 两个字段 */
let
subCheckName
=
"录入企业融资信息_孵化器是否参与"
;
let
subCheckName
=
"录入企业融资信息_孵化器是否参与"
;
let
subCheckData
=
{
let
subCheckData
=
{
fuHuaQiInvestmentAmount
:
param
.
fuHuaQiInvestmentAmount
,
fuHuaQiInvestmentAmount
:
param
.
fuHuaQiInvestmentAmount
,
fuHuaQiInvestmentStyle
:
param
.
fuHuaQiInvestmentStyle
,
fuHuaQiInvestmentStyle
:
param
.
fuHuaQiInvestmentStyle
,
};
};
eccFormParam
(
subCheckName
,
{
fuHuaQiInvestmentAmount
:
"Number"
,
fuHuaQiInvestmentStyle
:
"Number"
},
subCheckData
);
eccFormParam
(
subCheckName
,
eccFormParamConfig
.
FinancingParamSubConfig
,
subCheckData
);
/**校验投资方式是否符合枚举规则 */
eccEnumValue
(
"修改企业融资信息"
,
"fuHuaQiInvestmentStyle"
,
configEnum
.
FUHUAQILNVESTMENTSTYLE
,
param
.
fuHuaQiInvestmentStyle
);
}
else
{
}
else
{
/**如果 没有填这里给默认数据*/
param
.
fuHuaQiInvestmentAmount
=
0
;
param
.
fuHuaQiInvestmentAmount
=
0
;
param
.
fuHuaQiInvestmentStyle
=
0
;
param
.
fuHuaQiInvestmentStyle
=
0
;
}
}
/**找到该企业的本月融资数据 */
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
const
TaskId
=
sysTools
.
getTaskId
(
uscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
param
.
uscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
param
.
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
TaskId
}
的任务`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
TaskId
}
的任务`
);
/**匹配修改 */
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
let
changeList
=
checkChange
(
param
,
dataBaseInfo
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
if
(
!
changeList
.
length
)
throw
new
BizError
(
ERRORENUM
.
数据无更新
,
`
${
param
.
uscc
}
数据无更新`
);
changeList
.
forEach
(
key
=>
{
changeList
.
forEach
(
key
=>
{
...
@@ -99,17 +110,18 @@ export async function updateFinancingInfo(uscc:string, param) {
...
@@ -99,17 +110,18 @@ export async function updateFinancingInfo(uscc:string, param) {
/**
/**
* 查询本月提交的企业融资信息
* 查询本月提交的企业融资信息
* 小程序端
* 小程序端
回显
* @param fuHuaQiUscc 孵化器统一信用代码
* @param fuHuaQiUscc 孵化器统一信用代码
* @param uscc 企业统一信用代码
* @param uscc 企业统一信用代码
* @returns {data:{}} 表单
* @returns {data:{}} 表单
*/
*/
export
async
function
getEnterpriseFinancingByUscc
(
fuHuaQiUscc
:
string
,
uscc
:
string
)
{
export
async
function
getEnterpriseFinancingByUscc
(
fuHuaQiUscc
:
string
,
uscc
:
string
)
{
/**找到该企业的本月融资数据 */
const
TaskId
=
sysTools
.
getTaskId
(
fuHuaQiUscc
);
const
TaskId
=
sysTools
.
getTaskId
(
fuHuaQiUscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
uscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
uscc
}
这个企业的本次融资数据`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
uscc
}
这个企业的本次融资数据`
);
/**截取返回字段 */
let
data
=
extractData
(
splitResultConfig
.
EnterpriseFinancingInfoConfig
,
dataBaseInfo
,
false
);
let
data
=
extractData
(
splitResultConfig
.
EnterpriseFinancingInfoConfig
,
dataBaseInfo
,
false
);
return
{
data
};
return
{
data
};
...
@@ -124,11 +136,12 @@ export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:stri
...
@@ -124,11 +136,12 @@ export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:stri
* @returns {isSuccess:true/false}
* @returns {isSuccess:true/false}
*/
*/
export
async
function
deleteEnterpriseFinancingByUscc
(
fuHuaQiUscc
:
string
,
uscc
:
string
)
{
export
async
function
deleteEnterpriseFinancingByUscc
(
fuHuaQiUscc
:
string
,
uscc
:
string
)
{
/**找到该企业的本月融资数据 */
const
TaskId
=
sysTools
.
getTaskId
(
fuHuaQiUscc
);
const
TaskId
=
sysTools
.
getTaskId
(
fuHuaQiUscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
uscc
);
let
dataBaseInfo
=
await
financingData
.
findFinancingInfoByTaskIdAndSucc
(
TaskId
,
uscc
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
uscc
}
这个企业`
);
if
(
!
dataBaseInfo
||
!
dataBaseInfo
.
uscc
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`库中不存在
${
uscc
}
这个企业`
);
/**删除限制 */
if
(
dataBaseInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
已入库的数据不能删除
,
uscc
);
if
(
dataBaseInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
已入库的数据不能删除
,
uscc
);
await
financingData
.
deleteEnterpriseFinancing
(
uscc
,
TaskId
);
await
financingData
.
deleteEnterpriseFinancing
(
uscc
,
TaskId
);
...
@@ -144,8 +157,10 @@ export async function deleteEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:s
...
@@ -144,8 +157,10 @@ export async function deleteEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:s
* @returns [] name:企业名称, logonAdd:注册地址, operatingAdd:经营地址
* @returns [] name:企业名称, logonAdd:注册地址, operatingAdd:经营地址
*/
*/
export
async
function
getFuHuaQiEnterpriseForSelect
(
uscc
:
string
)
{
export
async
function
getFuHuaQiEnterpriseForSelect
(
uscc
:
string
)
{
let
enterpriseList
=
await
enterpriseData
.
findEnterpriseListByFuHuaQiUsccName
(
uscc
);
/**找到该孵化器下已经提交入库的企业列表 */
let
enterpriseList
=
await
enterpriseData
.
findSubmittedEnterpriseListByFuHuaQiUscc
(
uscc
);
/**拼接返回 */
let
dataList
=
[];
let
dataList
=
[];
enterpriseList
.
forEach
(
info
=>
{
enterpriseList
.
forEach
(
info
=>
{
dataList
.
push
({
dataList
.
push
({
...
@@ -163,41 +178,42 @@ export async function getFuHuaQiEnterpriseForSelect(uscc:string) {
...
@@ -163,41 +178,42 @@ export async function getFuHuaQiEnterpriseForSelect(uscc:string) {
* 融资企业信息列表
* 融资企业信息列表
* 管理后台端
* 管理后台端
* @param monthData 数据月份 目前数据库没有该字段
* @param monthData 数据月份 目前数据库没有该字段
* @param fuHuaQiName 所属孵化器
* @param fuHuaQiName 所属孵化器
这里前端传的是孵化器的统一信用代码
* @param industry 行业领域
* @param industry 行业领域
* @param fuHuaQiInvestment 孵化器是否参与投资
* @param fuHuaQiInvestment 孵化器是否参与投资
* @param page 页数
* @param page 页数
* @returns
* @returns
{data, count} data:数据列表 count:符合条件的数据量
*/
*/
export
async
function
financingList
(
monthData
:
string
,
fuHuaQiName
:
string
,
industry
,
fuHuaQiInvestment
:
number
,
page
:
number
)
{
export
async
function
financingList
(
monthData
:
string
,
fuHuaQiName
:
string
,
industry
,
fuHuaQiInvestment
:
number
,
page
:
number
)
{
/**拼接查询条件 */
let
fuHuaQiUscc
=
""
;
let
selectParam
:
any
=
{}
;
if
(
fuHuaQiName
.
length
>
0
)
{
if
(
fuHuaQiName
.
length
>
0
)
{
let
fuHuaQiInfo
=
await
fuhuaqiData
.
findFuHuaQiByName
(
fuHuaQiName
);
let
fuHuaQiInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
fuHuaQiName
);
if
(
fuHuaQiInfo
)
fuHuaQiUscc
=
fuHuaQiInfo
.
uscc
;
if
(
!
fuHuaQiInfo
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`管理后台查询融资列表时
${
fuHuaQiName
}
不存在`
);
selectParam
.
fuHuaQiUscc
=
fuHuaQiInfo
.
uscc
;
}
}
let
selectParam
:
any
=
{};
if
(
monthData
.
length
>
0
)
{
if
(
monthData
.
length
>
0
)
{
let
startT
=
moment
(
monthData
).
startOf
(
'month'
).
valueOf
();
let
startT
=
moment
(
monthData
).
startOf
(
'month'
).
valueOf
();
let
endT
=
moment
(
monthData
).
endOf
(
'month'
).
valueOf
();
let
endT
=
moment
(
monthData
).
endOf
(
'month'
).
valueOf
();
selectParam
.
createTime
=
{
'$gt'
:
startT
,
'$lt'
:
endT
};
selectParam
.
createTime
=
{
'$gt'
:
startT
,
'$lt'
:
endT
};
}
}
if
(
industry
.
length
>
0
)
selectParam
.
industry
=
industry
;
if
(
industry
.
length
>
0
)
selectParam
.
industry
=
industry
;
if
(
fuHuaQiUscc
.
length
>
0
)
selectParam
.
fuHuaQiUscc
=
fuHuaQiUscc
;
if
(
fuHuaQiInvestment
==
2
||
fuHuaQiInvestment
==
3
)
{
if
(
fuHuaQiInvestment
==
2
||
fuHuaQiInvestment
==
3
)
{
selectParam
.
fuHuaQiInvestment
=
fuHuaQiInvestment
==
2
?
true
:
false
;
selectParam
.
fuHuaQiInvestment
=
fuHuaQiInvestment
==
2
?
true
:
false
;
}
}
/**查数据 */
let
dataBaseList
=
await
financingData
.
findFinancingListToPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
dataBaseList
=
await
financingData
.
findFinancingListToPage
(
selectParam
,
(
page
-
1
)
*
10
);
let
count
=
await
financingData
.
findFinancingCount
(
selectParam
);
let
count
=
await
financingData
.
findFinancingCount
(
selectParam
);
let
usccMap
=
await
fuhuaqiData
.
findAllFuHuaQiOperationNameMap
();
let
usccMap
=
await
fuhuaqiData
.
findAllFuHuaQiOperationNameMap
();
//用于转换所属孵化器名称
/**拼接返回值 */
let
dataList
=
[];
let
dataList
=
[];
dataBaseList
.
forEach
(
info
=>
{
dataBaseList
.
forEach
(
info
=>
{
/**截取返回字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FinancingListConfig
,
info
,
true
);
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FinancingListConfig
,
info
,
true
);
/** 字段的特化处理 */
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
info
.
industry
);
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
info
.
industry
);
changeData
.
financingRounds
=
changeEnumValue
(
configEnum
.
FINANCINGROUNDS
,
info
.
financingRounds
);
changeData
.
financingRounds
=
changeEnumValue
(
configEnum
.
FINANCINGROUNDS
,
info
.
financingRounds
);
...
@@ -217,17 +233,17 @@ export async function financingList(monthData:string, fuHuaQiName:string, indust
...
@@ -217,17 +233,17 @@ export async function financingList(monthData:string, fuHuaQiName:string, indust
* @param fuHuaQiName 所属孵化器
* @param fuHuaQiName 所属孵化器
* @param industry 行业领域
* @param industry 行业领域
* @param fuHuaQiInvestment 孵化器是否参与投资
* @param fuHuaQiInvestment 孵化器是否参与投资
* @param
pag
e 页数
* @param
typ
e 页数
* @returns
* @returns
*/
*/
export
async
function
outPutFinancingList
(
monthData
:
string
,
fuHuaQiName
:
string
,
industry
,
fuHuaQiInvestment
:
number
,
type
:
number
)
{
export
async
function
outPutFinancingList
(
monthData
:
string
,
fuHuaQiName
:
string
,
industry
,
fuHuaQiInvestment
:
number
,
type
:
number
)
{
let
selectParam
:
any
=
{};
let
selectParam
:
any
=
{};
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
let
fuHuaQiUscc
=
""
;
/**如果选择当前数据 则拼接查询条件 */
if
(
fuHuaQiName
.
length
>
0
)
{
if
(
fuHuaQiName
.
length
>
0
)
{
let
fuHuaQiInfo
=
await
fuhuaqiData
.
findFuHuaQiByName
(
fuHuaQiName
);
let
fuHuaQiInfo
=
await
fuhuaqiData
.
findFuHuaQiByName
(
fuHuaQiName
);
if
(
fuHuaQiInfo
)
fuHuaQiUscc
=
fuHuaQiInfo
.
uscc
;
if
(
!
fuHuaQiInfo
)
throw
new
BizError
(
ERRORENUM
.
未找到数据
,
`管理后台查询融资列表时
${
fuHuaQiName
}
不存在`
);
selectParam
.
fuHuaQiUscc
=
fuHuaQiInfo
.
uscc
;
}
}
if
(
monthData
.
length
>
0
)
{
if
(
monthData
.
length
>
0
)
{
...
@@ -236,23 +252,16 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
...
@@ -236,23 +252,16 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
selectParam
.
createTime
=
{
'$gt'
:
startT
,
'$lt'
:
endT
};
selectParam
.
createTime
=
{
'$gt'
:
startT
,
'$lt'
:
endT
};
}
}
if
(
industry
.
length
>
0
)
selectParam
.
industry
=
industry
;
if
(
industry
.
length
>
0
)
selectParam
.
industry
=
industry
;
if
(
fuHuaQiUscc
.
length
>
0
)
selectParam
.
fuHuaQiUscc
=
fuHuaQiUscc
;
if
(
fuHuaQiInvestment
==
2
||
fuHuaQiInvestment
==
3
)
{
if
(
fuHuaQiInvestment
==
2
||
fuHuaQiInvestment
==
3
)
{
selectParam
.
fuHuaQiInvestment
=
fuHuaQiInvestment
==
2
?
true
:
false
;
selectParam
.
fuHuaQiInvestment
=
fuHuaQiInvestment
==
2
?
true
:
false
;
}
}
}
}
/**主要查询 */
let
dataBaseList
=
await
financingData
.
findFinancingList
(
selectParam
);
let
dataBaseList
=
await
financingData
.
findFinancingList
(
selectParam
);
let
dataList
=
[];
let
usccMap
=
await
fuhuaqiData
.
findAllFuHuaQiOperationNameMap
();
let
usccMap
=
await
fuhuaqiData
.
findAllFuHuaQiOperationNameMap
();
dataBaseList
.
forEach
(
info
=>
{
/**拼接返回 需要注意的是 keyList要和titleList一一对应 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FinancingListConfig
,
info
,
true
);
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
info
.
industry
);
dataList
.
push
(
changeData
);
});
let
keyList
=
[
let
keyList
=
[
"name"
,
"logonAdd"
,
"operatingAdd"
,
"financingAmount"
,
"investmentInstitutionsName"
,
"name"
,
"logonAdd"
,
"operatingAdd"
,
"financingAmount"
,
"investmentInstitutionsName"
,
"timeToObtainInvestment"
,
"fuHuaQiInvestment"
,
"fuHuaQiInvestmentAmount"
,
"fuHuaQiInvestmentStyle"
,
"createTime"
"timeToObtainInvestment"
,
"fuHuaQiInvestment"
,
"fuHuaQiInvestmentAmount"
,
"fuHuaQiInvestmentStyle"
,
"createTime"
...
@@ -262,10 +271,16 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
...
@@ -262,10 +271,16 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
"孵化器是否投资"
,
"孵化器投资金额(万元)"
,
"孵化器投资方式"
,
"录入时间"
,
"孵化器是否投资"
,
"孵化器投资金额(万元)"
,
"孵化器投资方式"
,
"录入时间"
,
];
];
let
result
=
[
titleList
];
let
result
=
[
titleList
];
dataList
.
forEach
(
info
=>
{
dataBaseList
.
forEach
(
info
=>
{
/**截取返回字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FinancingListConfig
,
info
,
true
);
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
changeData
.
industry
=
changeEnumValue
(
configEnum
.
INDUSTRY
,
info
.
industry
);
/**根据keyList的顺序生成小数组 */
let
subList
=
[];
let
subList
=
[];
keyList
.
forEach
(
subInfo
=>
{
keyList
.
forEach
(
keyStr
=>
{
subList
.
push
(
info
[
subInfo
]
||
''
);
subList
.
push
(
changeData
[
keyStr
]
||
''
);
});
});
result
.
push
(
subList
);
result
.
push
(
subList
);
});
});
...
...
src/biz/fuHuqQi/base.ts
View file @
bdeeeda7
/**
/**
* 孵化器基础数据相关逻辑
* 孵化器基础数据相关逻辑
* 作者: 李
某
* 作者: 李
欣鸣
* 孵化器相关逻辑 包括孵化器的增删改查
* 孵化器相关逻辑 包括孵化器的增删改查
*
*
*/
*/
...
@@ -24,10 +24,11 @@ import { changeEnumValue } from "../../util/verificationEnum";
...
@@ -24,10 +24,11 @@ import { changeEnumValue } from "../../util/verificationEnum";
* @returns {} "incubatedAcreage", "acreageTotal", "acreagePersonalUse", "name", "lv", "institutionalNature"
* @returns {} "incubatedAcreage", "acreageTotal", "acreagePersonalUse", "name", "lv", "institutionalNature"
*/
*/
export
async
function
homeData
(
uscc
:
string
)
{
export
async
function
homeData
(
uscc
:
string
)
{
/** 这里中间件已经验证过uscc的可靠性了,不需要做多余的验证*/
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
/**根据配置截取返回的字段 */
let
data
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiHomeDataConfig
,
dataBaseInfo
,
false
);
let
data
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiHomeDataConfig
,
dataBaseInfo
,
false
);
data
.
enterpriseCount
=
await
findEnterpriseCountByFuHuaQiUscc
(
uscc
)
||
0
;
data
.
enterpriseCount
=
await
findEnterpriseCountByFuHuaQiUscc
(
uscc
)
||
0
;
data
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
dataBaseInfo
.
lv
);
data
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
dataBaseInfo
.
lv
);
data
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
dataBaseInfo
.
institutionalNature
);
data
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
dataBaseInfo
.
institutionalNature
);
...
@@ -43,13 +44,13 @@ export async function homeData(uscc:string) {
...
@@ -43,13 +44,13 @@ export async function homeData(uscc:string) {
* @returns data 基础数据字段
* @returns data 基础数据字段
*/
*/
export
async
function
selectFuHuaQiBaseData
(
uscc
:
string
)
{
export
async
function
selectFuHuaQiBaseData
(
uscc
:
string
)
{
/** 这里中间件已经验证过uscc的可靠性了,不需要做多余的验证*/
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
let
enterpriseTotal
=
await
findEnterpriseCountByFuHuaQiUscc
(
uscc
);
//企业总数
/**截取返回 */
let
data
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseDataConfig
,
dataBaseInfo
,
false
);
let
data
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseDataConfig
,
dataBaseInfo
,
false
);
data
.
enterpriseTotal
=
enterpriseTotal
;
data
.
enterpriseTotal
=
await
findEnterpriseCountByFuHuaQiUscc
(
uscc
);
//企业总数
data
.
numOfEntities
=
enterpriseTotal
-
dataBaseInfo
.
virtualEnterpriseNum
;
//
企业总数 - 虚拟企业数量
data
.
numOfEntities
=
data
.
enterpriseTotal
-
dataBaseInfo
.
virtualEnterpriseNum
;
//实体企业总数 = 虚拟
企业总数 - 虚拟企业数量
return
data
;
return
data
;
}
}
...
@@ -62,8 +63,10 @@ export async function selectFuHuaQiBaseData(uscc:string) {
...
@@ -62,8 +63,10 @@ export async function selectFuHuaQiBaseData(uscc:string) {
* @returns data 基础数据字段
* @returns data 基础数据字段
*/
*/
export
async
function
selectOrganizationInfo
(
uscc
:
string
)
{
export
async
function
selectOrganizationInfo
(
uscc
:
string
)
{
/** 这里中间件已经验证过uscc的可靠性了,不需要做多余的验证*/
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
let
dataBaseInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
/** 根据配置截取返回 */
let
data
:
any
=
extractData
(
splitResultConfig
.
OrganizationBaseDataConfig
,
dataBaseInfo
,
false
);
let
data
:
any
=
extractData
(
splitResultConfig
.
OrganizationBaseDataConfig
,
dataBaseInfo
,
false
);
return
data
;
return
data
;
...
@@ -71,28 +74,22 @@ export async function selectOrganizationInfo(uscc:string) {
...
@@ -71,28 +74,22 @@ export async function selectOrganizationInfo(uscc:string) {
/**
/**
*
更新孵化器基础数据
*
修改孵化器中我的数据信息
* 小程序端
* 小程序端
* @param uscc 孵化器统一信用代码
* @param uscc 孵化器统一信用代码
* @param param 表单内容
* @param param 表单内容
* @returns {isSuccess:true/false};
* @returns {isSuccess:true/false};
*/
*/
export
async
function
updateFuHuaQiBaseData
(
uscc
:
string
,
param
)
{
export
async
function
updateFuHuaQiBaseData
(
uscc
:
string
,
param
)
{
/**表单校验 */
eccFormParam
(
"更新孵化器基础数据"
,
eccFormParamConfig
.
BaseParamUpdateConfig
,
param
);
eccFormParam
(
"更新孵化器基础数据"
,
eccFormParamConfig
.
BaseParamUpdateConfig
,
param
);
if
(
param
.
hatchingGround
&&
param
.
hatchingGround
.
length
)
{
let
baseDataInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
param
.
hatchingGround
.
forEach
(
hatchingGroundInfo
=>
{
for
(
let
key
in
param
)
{
eccFormParam
(
"更新孵化器基础数据 经备案孵化场地"
,
eccFormParamConfig
.
BaseParamUpdateHatchingGroundConfig
,
hatchingGroundInfo
);
if
(
key
==
"hatchingGround"
)
{
});
param
[
key
].
forEach
(
info
=>
{
let
{
personInChargeAdd
,
siteAcreage
,
leasePrice
}
=
info
;
if
(
typeof
personInChargeAdd
!=
'string'
&&
personInChargeAdd
)
throw
new
BizError
(
ERRORENUM
.
参数错误
,
`personInChargeAdd应是string型 而不是
${
typeof
personInChargeAdd
}
`
);
if
(
typeof
siteAcreage
!=
'number'
&&
siteAcreage
)
throw
new
BizError
(
ERRORENUM
.
参数错误
,
`siteAcreage应是number型 而不是
${
typeof
personInChargeAdd
}
`
);
if
(
typeof
leasePrice
!=
'number'
&&
leasePrice
)
throw
new
BizError
(
ERRORENUM
.
参数错误
,
`leasePrice应是number型 而不是
${
typeof
personInChargeAdd
}
`
);
})
}
}
}
let
baseDataInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
/**这里无法判断数组里面的内容是否有变化 所以 hatchingGround 直接赋值 */
/**这里无法判断数组里面的内容是否有变化 所以 hatchingGround 直接赋值 */
let
changeList
=
checkChange
(
param
,
baseDataInfo
);
let
changeList
=
checkChange
(
param
,
baseDataInfo
);
for
(
let
i
=
0
;
i
<
changeList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
changeList
.
length
;
i
++
)
{
...
@@ -115,11 +112,20 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
...
@@ -115,11 +112,20 @@ export async function updateFuHuaQiBaseData(uscc:string, param) {
* @returns {isSuccess:true/false};
* @returns {isSuccess:true/false};
*/
*/
export
async
function
updateOrganizationData
(
uscc
:
string
,
param
)
{
export
async
function
updateOrganizationData
(
uscc
:
string
,
param
)
{
eccFormParam
(
"更新孵化器基础数据"
,
eccFormParamConfig
.
OrganizationParamUpdateConfig
,
param
);
/**校验表单内容 */
eccFormParam
(
"更新孵化器机构信息数据"
,
eccFormParamConfig
.
OrganizationParamUpdateConfig
,
param
);
if
(
param
.
foundingTeam
&&
param
.
foundingTeam
.
length
)
{
param
.
foundingTeam
.
forEach
((
subInfo
,
subIndex
)
=>
{
eccFormParam
(
`更新孵化器机构信息数据 创始团队
${
subIndex
}
`
,
eccFormParamConfig
.
OrganizationParamFoundingTeamUpdateConfig
,
subInfo
);
});
}
if
(
param
.
operationModel
&&
param
.
operationModel
.
length
)
{
if
(
!
param
.
operationModelDes
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
`缺失运营模式描述`
);
}
let
baseDataInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
let
baseDataInfo
=
await
fuhuaqiData
.
findFuHuaQiByUSCC
(
uscc
);
/**这里无法判断数组里面的内容是否有变化 所以
hatchingGround
直接赋值 */
/**这里无法判断数组里面的内容是否有变化 所以
foundingTeam
直接赋值 */
let
changeList
=
checkChange
(
param
,
baseDataInfo
);
let
changeList
=
checkChange
(
param
,
baseDataInfo
);
for
(
let
i
=
0
;
i
<
changeList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
changeList
.
length
;
i
++
)
{
let
key
=
changeList
[
i
];
let
key
=
changeList
[
i
];
...
@@ -128,6 +134,8 @@ export async function updateOrganizationData(uscc:string, param) {
...
@@ -128,6 +134,8 @@ export async function updateOrganizationData(uscc:string, param) {
baseDataInfo
[
key
]
=
param
[
key
];
baseDataInfo
[
key
]
=
param
[
key
];
}
}
baseDataInfo
[
"foundingTeam"
]
=
param
.
foundingTeam
;
baseDataInfo
[
"foundingTeam"
]
=
param
.
foundingTeam
;
/**由于前端的创始团队是在foundingTeam里面传的 所以这里要截出来赋值给foundingTeamType */
if
(
param
.
foundingTeam
&&
param
.
foundingTeam
.
length
>
0
)
{
if
(
param
.
foundingTeam
&&
param
.
foundingTeam
.
length
>
0
)
{
baseDataInfo
.
foundingTeamType
=
param
.
foundingTeam
[
0
].
type
;
baseDataInfo
.
foundingTeamType
=
param
.
foundingTeam
[
0
].
type
;
}
else
baseDataInfo
.
foundingTeamType
=
0
;
}
else
baseDataInfo
.
foundingTeamType
=
0
;
...
@@ -150,6 +158,7 @@ export async function updateOrganizationData(uscc:string, param) {
...
@@ -150,6 +158,7 @@ export async function updateOrganizationData(uscc:string, param) {
* @returns
* @returns
*/
*/
export
async
function
fuHuaQiBaseList
(
lv
:
number
,
institutionalNature
:
number
,
industry
:
number
,
operationModel
:
number
,
foundingTeam
:
number
,
page
:
number
)
{
export
async
function
fuHuaQiBaseList
(
lv
:
number
,
institutionalNature
:
number
,
industry
:
number
,
operationModel
:
number
,
foundingTeam
:
number
,
page
:
number
)
{
/**拼接查询条件 */
let
selectParam
:
any
=
{};
let
selectParam
:
any
=
{};
if
(
lv
)
selectParam
.
lv
=
lv
;
if
(
lv
)
selectParam
.
lv
=
lv
;
if
(
institutionalNature
)
selectParam
.
institutionalNature
=
institutionalNature
;
if
(
institutionalNature
)
selectParam
.
institutionalNature
=
institutionalNature
;
...
@@ -157,35 +166,30 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
...
@@ -157,35 +166,30 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
if
(
operationModel
)
selectParam
.
operationModel
=
operationModel
;
if
(
operationModel
)
selectParam
.
operationModel
=
operationModel
;
if
(
foundingTeam
)
selectParam
.
foundingTeamType
=
foundingTeam
;
if
(
foundingTeam
)
selectParam
.
foundingTeamType
=
foundingTeam
;
let
enterpriseMap
=
await
groupFindEnterpriseCount
();
//企业总数
let
enterpriseMap
=
await
groupFindEnterpriseCount
();
//
计算孵化器拥有的
企业总数
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
);
let
dataList
=
[];
/**拼接返回结果 */
let
dataList
=
[];
dataBaseList
.
forEach
(
info
=>
{
dataBaseList
.
forEach
(
info
=>
{
/**截取所需字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
// let hatchingGround = info.hatchingGround;
// hatchingGround.forEach (info => {
// let {personInChargeAdd, siteAcreage, leasePrice} = info;
// changeData.personInChargeAdd = personInChargeAdd;
// changeData.siteAcreage = siteAcreage;
// changeData.leasePrice = leasePrice;
// })
let
enterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
let
numOfEntities
=
enterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
changeData
.
enterpriseTotal
=
enterpriseTotal
;
changeData
.
numOfEntities
=
numOfEntities
;
const
EnterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业总数
let
numOfEntities
=
EnterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
//实体企业
changeData
.
enterpriseTotal
=
EnterpriseTotal
;
changeData
.
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
/**枚举转换 */
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
changeData
.
industry
=
changeEnumValue
(
configEnum
.
FUHUAINDUSTRY
,
changeData
.
industry
);
changeData
.
industry
=
changeEnumValue
(
configEnum
.
FUHUAINDUSTRY
,
changeData
.
industry
);
changeData
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
changeData
.
institutionalNature
);
changeData
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
changeData
.
institutionalNature
);
changeData
.
operationModel
=
changeEnumValue
(
configEnum
.
OPERATIONMODEL
,
changeData
.
operationModel
);
changeData
.
operationModel
=
changeEnumValue
(
configEnum
.
OPERATIONMODEL
,
changeData
.
operationModel
);
changeData
.
foundingTeamStr
=
"无"
;
changeData
.
foundingTeamStr
=
changeData
.
foundingTeamStr
?
changeEnumValue
(
configEnum
.
TEAM
,
changeData
.
foundingTeamStr
)
:
"无"
;
//创始团队文字
let
foundingTeam
=
[];
let
foundingTeam
=
[];
if
(
changeData
.
foundingTeam
&&
changeData
.
foundingTeam
.
length
)
{
if
(
changeData
.
foundingTeam
&&
changeData
.
foundingTeam
.
length
)
{
changeData
.
foundingTeam
.
forEach
(
item
=>
{
changeData
.
foundingTeam
.
forEach
(
item
=>
{
...
@@ -196,9 +200,7 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
...
@@ -196,9 +200,7 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
memberSex
:
changeEnumValue
(
configEnum
.
SEX
,
item
.
memberSex
),
//成员性别
memberSex
:
changeEnumValue
(
configEnum
.
SEX
,
item
.
memberSex
),
//成员性别
memberDEGREE
:
changeEnumValue
(
configEnum
.
DEGREE
,
item
.
memberDEGREE
),
//成员最高学历
memberDEGREE
:
changeEnumValue
(
configEnum
.
DEGREE
,
item
.
memberDEGREE
),
//成员最高学历
});
});
// item.memberDEGREE = changeEnumValue(configEnum.DEGREE, item.foundingTeamStr);//成员最高学历
/* 这里兼容了一下,团队类型数据库里存到了每一个人的信息里 以防后续要修改 */
changeData
.
foundingTeamStr
=
type
;
});
});
changeData
.
foundingTeam
=
foundingTeam
;
changeData
.
foundingTeam
=
foundingTeam
;
}
}
...
@@ -223,8 +225,8 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
...
@@ -223,8 +225,8 @@ export async function fuHuaQiBaseList(lv:number, institutionalNature:number, ind
*/
*/
export
async
function
outPutFuHuaQiBaseData
(
lv
:
number
,
institutionalNature
:
number
,
industry
:
number
,
operationModel
:
number
,
foundingTeam
:
number
,
type
:
Number
)
{
export
async
function
outPutFuHuaQiBaseData
(
lv
:
number
,
institutionalNature
:
number
,
industry
:
number
,
operationModel
:
number
,
foundingTeam
:
number
,
type
:
Number
)
{
let
selectParam
:
any
=
{};
let
selectParam
:
any
=
{};
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
if
(
type
==
configEnum
.
OUTPUTTYPE
.
当前数据
)
{
/**当选择了当前数据时 拼接查询条件 */
if
(
lv
)
selectParam
.
lv
=
lv
;
if
(
lv
)
selectParam
.
lv
=
lv
;
if
(
operationModel
)
selectParam
.
operationModel
=
operationModel
;
if
(
operationModel
)
selectParam
.
operationModel
=
operationModel
;
if
(
institutionalNature
)
selectParam
.
institutionalNature
=
institutionalNature
;
if
(
institutionalNature
)
selectParam
.
institutionalNature
=
institutionalNature
;
...
@@ -232,56 +234,40 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -232,56 +234,40 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
if
(
foundingTeam
)
selectParam
.
foundingTeamType
=
foundingTeam
;
if
(
foundingTeam
)
selectParam
.
foundingTeamType
=
foundingTeam
;
}
}
let
enterpriseMap
=
await
groupFindEnterpriseCount
();
//
拥有的企业
let
enterpriseMap
=
await
groupFindEnterpriseCount
();
//
计算所有孵化器拥有的企业总数
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiList
(
selectParam
);
let
dataBaseList
=
await
fuhuaqiData
.
findFuHuaQiList
(
selectParam
);
/**拼接二维数组 */
let
keyList
=
[
let
keyList
=
[
"name"
,
//名称
"name"
,
"operationName"
,
"uscc"
,
"enterpriseTotal"
,
"virtualEnterpriseNum"
,
"numOfEntities"
,
"logonTime"
,
"incubatedAcreage"
,
"operationName"
,
//运营机构名称
"acreageTotal"
,
"acreagePersonalUse"
,
"lv"
,
"identificationTime"
,
"industry"
,
"institutionalNature"
,
"uscc"
,
//统一信用代码
"liaison"
,
"liaisonPhone"
,
"personInCharge"
,
"personInChargePhone"
,
"operationModel"
,
"foundingTeamType"
,
"enterpriseTotal"
,
//企业总数
"virtualEnterpriseNum"
,
//虚拟孵化
"numOfEntities"
,
//实体孵化
"logonTime"
,
//注册时间
"incubatedAcreage"
,
//在孵面积
"acreageTotal"
,
//孵化器总面积
"acreagePersonalUse"
,
//孵化器自用面积
"lv"
,
//孵化器级别
"identificationTime"
,
//认定时间
"industry"
,
//领域
"institutionalNature"
,
//机构性质
"liaison"
,
//联系人
"liaisonPhone"
,
//联系电话
"personInCharge"
,
//负责人
"personInChargePhone"
,
//负责人联系电话
"operationModel"
,
//运营模式
"foundingTeamType"
,
//创业团队类型
// "hatchingGround",//经备案孵化场地
// "foundingTeam",//创业团队
];
];
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
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
//截取特定的字段
/**截取需要的返回字段 */
let
changeData
:
any
=
extractData
(
splitResultConfig
.
FuHuaQiBaseListConfig
,
info
,
true
);
const
EnterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业总数
const
EnterpriseTotal
=
enterpriseMap
[
info
.
uscc
]
||
0
;
//企业总数
let
numOfEntities
=
EnterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
//实体企业
let
numOfEntities
=
EnterpriseTotal
-
(
info
.
virtualEnterpriseNum
||
0
);
//实体企业
changeData
.
enterpriseTotal
=
EnterpriseTotal
;
changeData
.
enterpriseTotal
=
EnterpriseTotal
;
changeData
.
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
changeData
.
numOfEntities
=
numOfEntities
<
0
?
0
:
numOfEntities
;
/**枚举转换 */
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
changeData
.
lv
=
changeEnumValue
(
configEnum
.
FUHUAQILV
,
changeData
.
lv
);
changeData
.
industry
=
changeEnumValue
(
configEnum
.
FUHUAINDUSTRY
,
changeData
.
industry
);
changeData
.
industry
=
changeEnumValue
(
configEnum
.
FUHUAINDUSTRY
,
changeData
.
industry
);
changeData
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
changeData
.
institutionalNature
);
changeData
.
institutionalNature
=
changeEnumValue
(
configEnum
.
INSTITUTIONALNATURE
,
changeData
.
institutionalNature
);
changeData
.
operationModel
=
changeEnumValue
(
configEnum
.
OPERATIONMODEL
,
changeData
.
operationModel
);
changeData
.
operationModel
=
changeEnumValue
(
configEnum
.
OPERATIONMODEL
,
changeData
.
operationModel
);
changeData
.
foundingTeamType
=
changeEnumValue
(
configEnum
.
TEAM
,
changeData
.
foundingTeamType
)
||
"无"
;
changeData
.
foundingTeamType
=
changeEnumValue
(
configEnum
.
TEAM
,
changeData
.
foundingTeamType
)
||
"无"
;
/**算出最大的创始团队和场地 用于计算x轴下标 */
if
(
changeData
.
foundingTeam
&&
changeData
.
foundingTeam
.
length
)
{
if
(
changeData
.
foundingTeam
&&
changeData
.
foundingTeam
.
length
)
{
maxTeamNumber
=
Math
.
max
(
changeData
.
foundingTeam
.
length
,
maxTeamNumber
);
maxTeamNumber
=
Math
.
max
(
changeData
.
foundingTeam
.
length
,
maxTeamNumber
);
}
}
...
@@ -289,6 +275,7 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -289,6 +275,7 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
maxHatching
=
Math
.
max
(
changeData
.
hatchingGround
.
length
,
maxHatching
);
maxHatching
=
Math
.
max
(
changeData
.
hatchingGround
.
length
,
maxHatching
);
}
}
/**生成除了创始团队和场地之外的 小数组 */
let
subList
=
[];
let
subList
=
[];
keyList
.
forEach
(
subInfo
=>
{
keyList
.
forEach
(
subInfo
=>
{
subList
.
push
(
info
[
subInfo
]
||
''
);
subList
.
push
(
info
[
subInfo
]
||
''
);
...
@@ -297,35 +284,39 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -297,35 +284,39 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
dataList
.
push
(
subList
);
dataList
.
push
(
subList
);
});
});
/**根据最大的创始团队数量 生成标题 */
let
teamKeyList
=
[
"type"
,
"memberName"
,
"memberSex"
,
"memberAge"
,
"memberDEGREE"
,
"memberSchool"
,
"des"
];
let
teamKeyList
=
[
"type"
,
"memberName"
,
"memberSex"
,
"memberAge"
,
"memberDEGREE"
,
"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
hatchingStartIndex
=
teamKeyList
.
length
;
/**
得到最大值之后生成下标
*/
/**
根据最大的场地数量 生成标题
*/
let
hatchingKeyList
=
[
"personInChargeAdd"
,
"siteAcreage"
,
"leasePrice"
];
let
hatchingKeyList
=
[
"personInChargeAdd"
,
"siteAcreage"
,
"leasePrice"
];
let
hatchingTitleList
=
[
"孵化场地地址"
,
"孵化场地面积"
,
"孵化场地出租单价"
];
let
hatchingTitleList
=
[
"孵化场地地址"
,
"孵化场地面积"
,
"孵化场地出租单价"
];
for
(
let
i
=
0
;
i
<
max
TeamNumber
;
i
++
)
{
for
(
let
i
=
0
;
i
<
max
Hatching
;
i
++
)
{
let
teamNum
=
i
+
1
;
let
hatchingNumber
=
i
+
1
;
hatchingTitleList
.
forEach
(
title
=>
{
hatchingTitleList
.
forEach
(
title
=>
{
titleList
.
push
(
`场地
${
teamNum
}
-
${
title
}
`
);
titleList
.
push
(
`场地
${
hatchingNumber
}
-
${
title
}
`
);
});
});
}
}
/**创始团队初始插入数据的x轴下标 = titleList的长度
* 场地初始插入数据的x轴下标 = titleList的长度+(创始团队长度*标题个数)
* 按照这个规则依次插入数据即可
*/
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
.
type
=
changeEnumValue
(
configEnum
.
TEAM
,
teamInfo
.
type
);
teamInfo
.
memberSex
=
changeEnumValue
(
configEnum
.
SEX
,
teamInfo
.
memberSex
);
teamInfo
.
memberDEGREE
=
changeEnumValue
(
configEnum
.
DEGREE
,
teamInfo
.
memberDEGREE
);
teamKeyList
.
forEach
(
teamKey
=>
{
teamKeyList
.
forEach
(
teamKey
=>
{
let
addValue
=
teamInfo
[
teamKey
];
dataList
[
index
].
push
(
teamInfo
[
teamKey
]);
if
(
teamKey
==
"type"
)
addValue
=
changeEnumValue
(
configEnum
.
TEAM
,
addValue
);
if
(
teamKey
==
"memberSex"
)
addValue
=
changeEnumValue
(
configEnum
.
SEX
,
addValue
);
if
(
teamKey
==
"memberDEGREE"
)
addValue
=
changeEnumValue
(
configEnum
.
DEGREE
,
addValue
);
dataList
[
index
].
push
(
addValue
);
});
});
});
});
}
}
...
@@ -333,13 +324,15 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
...
@@ -333,13 +324,15 @@ export async function outPutFuHuaQiBaseData(lv:number, institutionalNature:numbe
info
.
hatchingGround
.
forEach
((
hatchingInfo
,
hatchingIndex
)
=>
{
1
info
.
hatchingGround
.
forEach
((
hatchingInfo
,
hatchingIndex
)
=>
{
1
hatchingKeyList
.
forEach
(
(
hatchingKey
,
hatchingKeyIndex
)
=>
{
hatchingKeyList
.
forEach
(
(
hatchingKey
,
hatchingKeyIndex
)
=>
{
let
addIndex
=
hatchingStartIndex
+
(
(
hatchingIndex
*
3
)
+
(
hatchingKeyIndex
)
)
let
addIndex
=
teamKeyList
.
length
+
(
(
hatchingIndex
*
3
)
+
(
hatchingKeyIndex
)
)
dataList
[
index
][
addIndex
]
=
hatchingInfo
[
hatchingKey
];
dataList
[
index
][
addIndex
]
=
hatchingInfo
[
hatchingKey
];
});
});
});
});
}
}
});
});
/**最后将标题作数组为二维数组的第一个子数组 */
dataList
.
unshift
(
titleList
)
dataList
.
unshift
(
titleList
)
return
dataList
;
return
dataList
;
}
}
src/biz/fuHuqQi/task.ts
View file @
bdeeeda7
/**
/**
* 孵化器任务相关逻辑
* 孵化器任务相关逻辑
* 作者: 李
某
* 作者: 李
欣鸣
* 任务相关逻辑 包括任务的增删改查 管理后台的任务列表逻辑
* 任务相关逻辑 包括任务的增删改查 管理后台的任务列表逻辑
*
* 需求说明 1.任务一个月只下一次 不填次月失效
* 2.任务提交之后不可以修改
* 3.月度出租率的任务为必填 其他两个可以为空
* 4.完成的任务将不再列表中显示
* 5.每月1日0时0分,将任务下发至孵化器表中未被禁用的孵化器中
* 实现 1.每个月月初系统生成任务列表在task表中 由isSubmit字段控制是否提交
* 2.任务对应的数据存在各表中 当提交任务时 将draftLock 字段置为true
* 3.任务相关的id统一使用 /tools/system 中的 getTaskId() 获取
*/
*/
import
moment
=
require
(
"moment"
);
import
moment
=
require
(
"moment"
);
...
@@ -10,7 +17,7 @@ import { TASKTYPEENUM } from "../../config/enum";
...
@@ -10,7 +17,7 @@ import { TASKTYPEENUM } from "../../config/enum";
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
findEnterpriseListByTaskId
,
updateEnterpriseDraftLock
}
from
"../../data/enterprise/enterprise"
;
import
{
findEnterpriseListByTaskId
,
updateEnterpriseDraftLock
}
from
"../../data/enterprise/enterprise"
;
import
{
findFinancingListByTaskId
,
updateFinancingDraftLock
}
from
"../../data/enterprise/financing"
;
import
{
findFinancingListByTaskId
,
updateFinancingDraftLock
}
from
"../../data/enterprise/financing"
;
import
{
findAllFuHuaQi
}
from
"../../data/fuHuaQi/fuhuaqi"
;
import
{
findAll
NotDisabled
FuHuaQi
}
from
"../../data/fuHuaQi/fuhuaqi"
;
import
*
as
monthTableData
from
"../../data/fuHuaQi/monthTable"
;
import
*
as
monthTableData
from
"../../data/fuHuaQi/monthTable"
;
import
*
as
taskData
from
"../../data/fuHuaQi/task"
;
import
*
as
taskData
from
"../../data/fuHuaQi/task"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
BizError
}
from
"../../util/bizError"
;
...
@@ -19,40 +26,49 @@ import { getTaskId, getTimeKey } from "../../tools/system";
...
@@ -19,40 +26,49 @@ import { getTaskId, getTimeKey } from "../../tools/system";
/**
/**
*
获取
孵化器的任务列表
* 孵化器的任务列表
* 小程序端
* 小程序端
* @param uscc 孵化器统一信用
* @param uscc 孵化器统一信用
* @returns [{type:1, title:'', enterpriseList:[] }]
* @returns [{type:1, title:'', enterpriseList:[] }]
*/
*/
export
async
function
fuHuaQiTaskList
(
uscc
:
string
)
{
export
async
function
fuHuaQiTaskList
(
uscc
:
string
)
{
let
result
=
[];
/**得到这个月的任务map taskMap格式为{type:{isSubmit}} */
const
TaskId
=
getTaskId
(
uscc
);
const
TaskId
=
getTaskId
(
uscc
);
let
taskMap
=
await
taskData
.
findFuHuaQiTaskByTaskId
(
TaskId
);
let
taskMap
=
await
taskData
.
findFuHuaQiTaskByTaskId
(
TaskId
);
// let taskTypeMapConf = {}
;
let
result
=
[]
;
for
(
let
key
in
TASKTYPEENUM
)
{
for
(
let
key
in
TASKTYPEENUM
)
{
let
k
:
any
=
key
;
let
anyKey
:
any
=
key
;
if
(
isNaN
(
k
))
{
/** 当key是枚举的键的时候 进入到逻辑 */
const
Value
=
k
;
if
(
isNaN
(
anyKey
))
{
const
KeyStr
=
TASKTYPEENUM
[
key
]
const
ValueStr
=
TASKTYPEENUM
[
key
];
//字符型的枚举值 也就是 "1"或者"2"或者"3"
let
keyNumber
=
parseInt
(
KeyStr
);
const
ValueNumber
=
parseInt
(
ValueStr
);
//number型的枚举值 也就是 1或者2或者3
let
onceObj
=
{
key
:
keyNumber
,
title
:
Value
,
enterpriseList
:[]};
let
onceObj
=
{
key
:
ValueNumber
,
let
onceTaskInfo
=
taskMap
[
KeyStr
];
title
:
anyKey
,
//标题
enterpriseList
:[]
//相关的列表 这里不应该用这个字段名称 当时不能修改前端 沿用了这个字段名称
if
(
!
onceTaskInfo
.
isSubmit
)
{
//没有提交任务
};
/**没有提交任务 则获取本月提交的任务相关信息 */
if
(
!
taskMap
[
ValueStr
].
isSubmit
)
{
let
dataList
=
[];
let
dataList
=
[];
switch
(
keyNumber
)
{
switch
(
ValueNumber
)
{
case
TASKTYPEENUM
.
孵化器月度填报
:
dataList
=
await
monthTableData
.
findmonthTableListByTaskId
(
TaskId
);
break
;
case
TASKTYPEENUM
.
孵化器月度填报
:
/** 这里加限制 在月度任务中 isUpdate=true代表已经修改 isUpdate=false表示没有这个任务 详细说明看./month.ts注释*/
dataList
=
await
monthTableData
.
findmonthTableListByTaskId
(
TaskId
);
break
;
case
TASKTYPEENUM
.
新注册或迁入企业登记
:
case
TASKTYPEENUM
.
新注册或迁入企业登记
:
/**限制 draftLock = false 即草稿数据 这里可以不用这个限制 */
dataList
=
await
findEnterpriseListByTaskId
(
TaskId
);
dataList
=
await
findEnterpriseListByTaskId
(
TaskId
);
dataList
.
forEach
(
item
=>
{
dataList
.
forEach
(
item
=>
{
item
.
uscc
=
item
.
draftId
;
//这里转换一下,为了不改前端代码 使用uscc这个名称,但是实际是draftId
item
.
uscc
=
item
.
draftId
;
//这里转换一下,为了不改前端代码 使用uscc这个名称,但是实际是draftId
});
});
break
;
break
;
case
TASKTYPEENUM
.
融资企业填报
:
dataList
=
await
findFinancingListByTaskId
(
TaskId
);
break
;
case
TASKTYPEENUM
.
融资企业填报
:
/**限制 draftLock = false 即草稿数据 这里可以不用这个限制 */
dataList
=
await
findFinancingListByTaskId
(
TaskId
);
break
;
}
}
dataList
.
forEach
(
info
=>
{
dataList
.
forEach
(
info
=>
{
...
@@ -79,11 +95,13 @@ export async function checkTask(uscc:string, taskType:number) {
...
@@ -79,11 +95,13 @@ export async function checkTask(uscc:string, taskType:number) {
const
TaskId
=
getTaskId
(
uscc
);
const
TaskId
=
getTaskId
(
uscc
);
let
taskInfo
=
await
taskData
.
findEnterpriseByTaskIdAndType
(
TaskId
,
taskType
);
let
taskInfo
=
await
taskData
.
findEnterpriseByTaskIdAndType
(
TaskId
,
taskType
);
/**提交限制 */
if
(
!
taskInfo
)
throw
new
BizError
(
ERRORENUM
.
任务不存在
,
uscc
,
TaskId
);
if
(
!
taskInfo
)
throw
new
BizError
(
ERRORENUM
.
任务不存在
,
uscc
,
TaskId
);
if
(
taskInfo
.
isSubmit
)
throw
new
BizError
(
ERRORENUM
.
不能重复提交任务
,
uscc
,
taskType
);
if
(
taskInfo
.
isSubmit
)
throw
new
BizError
(
ERRORENUM
.
不能重复提交任务
,
uscc
,
taskType
);
switch
(
taskType
)
{
switch
(
taskType
)
{
case
TASKTYPEENUM
.
孵化器月度填报
:
case
TASKTYPEENUM
.
孵化器月度填报
:
/**月度报表每个月初和任务数据一起初始化 所以只需要修改状态 */
let
monthTableInfo
=
await
monthTableData
.
findMonthTableByTaskId
(
TaskId
);
let
monthTableInfo
=
await
monthTableData
.
findMonthTableByTaskId
(
TaskId
);
if
(
!
monthTableInfo
.
isUpdate
)
throw
new
BizError
(
ERRORENUM
.
该报表需要填写本月内容后提交
,
uscc
,
taskType
);
if
(
!
monthTableInfo
.
isUpdate
)
throw
new
BizError
(
ERRORENUM
.
该报表需要填写本月内容后提交
,
uscc
,
taskType
);
if
(
monthTableInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
不能重复提交任务
,
uscc
,
taskType
,
'月度表lock = true'
);
if
(
monthTableInfo
.
draftLock
)
throw
new
BizError
(
ERRORENUM
.
不能重复提交任务
,
uscc
,
taskType
,
'月度表lock = true'
);
...
@@ -92,14 +110,16 @@ export async function checkTask(uscc:string, taskType:number) {
...
@@ -92,14 +110,16 @@ export async function checkTask(uscc:string, taskType:number) {
await
monthTableInfo
.
save
();
await
monthTableInfo
.
save
();
break
;
break
;
case
TASKTYPEENUM
.
新注册或迁入企业登记
:
case
TASKTYPEENUM
.
新注册或迁入企业登记
:
/**将录入的企业数据 draftLock 改为 true 表示不再是草稿状态 */
await
updateEnterpriseDraftLock
(
TaskId
);
await
updateEnterpriseDraftLock
(
TaskId
);
break
;
break
;
case
TASKTYPEENUM
.
融资企业填报
:
case
TASKTYPEENUM
.
融资企业填报
:
/**将录入的融资数据 draftLock 改为 true 表示不再是草稿状态 */
await
updateFinancingDraftLock
(
TaskId
);
await
updateFinancingDraftLock
(
TaskId
);
break
;
break
;
}
}
/
/添加一条任务
/
** 修改任务状态标识 和相关信息 */
taskInfo
.
isSubmit
=
true
;
taskInfo
.
isSubmit
=
true
;
taskInfo
.
submitTime
=
new
Date
().
valueOf
();
taskInfo
.
submitTime
=
new
Date
().
valueOf
();
...
@@ -112,18 +132,16 @@ export async function checkTask(uscc:string, taskType:number) {
...
@@ -112,18 +132,16 @@ export async function checkTask(uscc:string, taskType:number) {
/**
/**
* 发放任务
* 发放任务
* 系统自发
* 系统自发
* 需求说明:
* 下发任务的同时初始化月度报表数据
* 每月1日0时0分,将任务下发至孵化器表中未被禁用的孵化器中
*
*/
*/
export
async
function
provideTask
()
{
export
async
function
provideTask
()
{
const
TimeKey
=
getTimeKey
();
const
TimeKey
=
getTimeKey
();
let
taskCount
=
await
taskData
.
findTaskCountByKey
(
TimeKey
);
let
taskCount
=
await
taskData
.
findTaskCountByKey
(
TimeKey
);
if
(
taskCount
)
{}
//todo 重复创建了任务
if
(
taskCount
)
{
new
BizError
(
ERRORENUM
.
系统错误
,
'重复创建了任务'
);
let
fuHuaQiList
=
await
findAllFuHuaQi
();
return
;
}
const
Month
=
new
Date
().
getMonth
()
+
1
;
let
addList
=
[];
//任务列表
let
addList
=
[];
//任务列表
let
monthList
=
[];
//月度填报列表
let
monthList
=
[];
//月度填报列表
...
@@ -131,48 +149,25 @@ export async function provideTask() {
...
@@ -131,48 +149,25 @@ export async function provideTask() {
const
YearNumber
=
new
Date
().
getFullYear
();
const
YearNumber
=
new
Date
().
getFullYear
();
const
MonthTableName
=
`
${
MonthNumber
}
月孵化器月度填报`
;
const
MonthTableName
=
`
${
MonthNumber
}
月孵化器月度填报`
;
let
fuHuaQiList
=
await
findAllNotDisabledFuHuaQi
();
fuHuaQiList
.
forEach
(
info
=>
{
fuHuaQiList
.
forEach
(
info
=>
{
let
{
uscc
}
=
info
;
let
{
uscc
}
=
info
;
let
taskId
=
getTaskId
(
uscc
);
let
taskId
=
getTaskId
(
uscc
);
addList
.
push
({
addList
.
push
(
{
key
:
TimeKey
,
type
:
TASKTYPEENUM
.
孵化器月度填报
,
taskId
,
fuHuaQiUscc
:
uscc
,
isSubmit
:
false
},
key
:
TimeKey
,
{
key
:
TimeKey
,
type
:
TASKTYPEENUM
.
新注册或迁入企业登记
,
taskId
,
fuHuaQiUscc
:
uscc
,
isSubmit
:
false
},
type
:
TASKTYPEENUM
.
孵化器月度填报
,
{
key
:
TimeKey
,
type
:
TASKTYPEENUM
.
融资企业填报
,
taskId
,
fuHuaQiUscc
:
uscc
,
isSubmit
:
false
});
taskId
,
/**任务报表的初始状态为 草稿(draftLock=fals) 未被编辑(isUpdate=false) */
fuHuaQiUscc
:
uscc
,
monthList
.
push
({
taskId
,
name
:
MonthTableName
,
fuHuaQiUscc
:
uscc
,
month
:
MonthNumber
,
year
:
YearNumber
,
draftLock
:
false
,
isUpdate
:
false
});
isSubmit
:
false
},{
key
:
TimeKey
,
type
:
TASKTYPEENUM
.
新注册或迁入企业登记
,
taskId
,
fuHuaQiUscc
:
uscc
,
isSubmit
:
false
},{
key
:
TimeKey
,
type
:
TASKTYPEENUM
.
融资企业填报
,
taskId
,
fuHuaQiUscc
:
uscc
,
isSubmit
:
false
});
monthList
.
push
({
taskId
,
name
:
MonthTableName
,
fuHuaQiUscc
:
uscc
,
month
:
MonthNumber
,
year
:
YearNumber
,
draftLock
:
false
});
});
});
try
{
try
{
/**初始化 任务 */
await
taskData
.
createTaskToList
(
addList
);
await
taskData
.
createTaskToList
(
addList
);
/**初始化 月度填报表 */
/**添加月度填报表 */
await
monthTableData
.
createMonthTableToList
(
monthList
);
await
monthTableData
.
createMonthTableToList
(
monthList
);
logHandle
(
`添加了
${
addList
.
length
}
`
);
logHandle
(
`添加了
${
addList
.
length
}
`
);
}
catch
(
err
)
{
}
catch
(
err
)
{
//todo添加异常了
new
BizError
(
ERRORENUM
.
系统错误
,
'添加任务和月度报表的时候 出现了异常 请检查数据库 '
,
err
);
}
}
}
}
src/config/eccFormParamConfig.ts
View file @
bdeeeda7
...
@@ -19,6 +19,16 @@ export const BaseParamUpdateConfig = {
...
@@ -19,6 +19,16 @@ export const BaseParamUpdateConfig = {
acreagePersonalUse
:{
type
:
"Number"
,
notMustHave
:
true
},
//孵化器自用面积(㎡)
acreagePersonalUse
:{
type
:
"Number"
,
notMustHave
:
true
},
//孵化器自用面积(㎡)
hatchingGround
:{
type
:
"[Object]"
,
notMustHave
:
true
},
//经备案孵化场地
hatchingGround
:{
type
:
"[Object]"
,
notMustHave
:
true
},
//经备案孵化场地
};
};
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 验证经备案孵化场地
* 备注: 当填了案孵化场地数据 验证经备案孵化场地
*/
export
const
BaseParamUpdateHatchingGroundConfig
=
{
personInChargeAdd
:{
type
:
"String"
},
//孵化场地地址
siteAcreage
:{
type
:
"Number"
},
//孵化场地面积(㎡)
leasePrice
:{
type
:
"Number"
},
//孵化场地出租单价
};
/**
/**
...
@@ -43,6 +53,21 @@ export const OrganizationParamUpdateConfig = {
...
@@ -43,6 +53,21 @@ export const OrganizationParamUpdateConfig = {
personInChargePhone
:{
type
:
"String"
,
notMustHave
:
true
},
// {key:"负责人联系电话"},
personInChargePhone
:{
type
:
"String"
,
notMustHave
:
true
},
// {key:"负责人联系电话"},
operationModelDes
:{
type
:
"String"
,
notMustHave
:
true
},
//{key:"运营模式描述"},
operationModelDes
:{
type
:
"String"
,
notMustHave
:
true
},
//{key:"运营模式描述"},
};
};
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 机构信息中的创始团队
* 备注: 更新机构信息时 当选择了创始团队
*/
export
const
OrganizationParamFoundingTeamUpdateConfig
=
{
type
:{
type
:
"Number"
},
//人才类型
memberName
:{
type
:
"String"
},
//成员姓名
memberSex
:{
type
:
"Number"
},
//成员性别
memberAge
:{
type
:
"Number"
},
//成员年龄
memberDEGREE
:{
type
:
"Number"
},
//成员最高学历
memberSchool
:{
type
:
"String"
},
//毕业学校
des
:{
type
:
"String"
},
//履历描述
};
/**
/**
...
@@ -164,7 +189,15 @@ export const FinancingParamUpdateConfig = {
...
@@ -164,7 +189,15 @@ export const FinancingParamUpdateConfig = {
fuHuaQiInvestmentStyle
:{
type
:
"Number"
,
notMustHave
:
true
},
//孵化器投资方式
fuHuaQiInvestmentStyle
:{
type
:
"Number"
,
notMustHave
:
true
},
//孵化器投资方式
financingRounds
:{
type
:
"Number"
},
//融资轮次
financingRounds
:{
type
:
"Number"
},
//融资轮次
};
};
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 创建融资企业登记选择了孵化器投资
* 备注:
*/
export
const
FinancingParamSubConfig
=
{
fuHuaQiInvestmentAmount
:{
type
:
"Number"
},
fuHuaQiInvestmentStyle
:{
type
:
"Number"
}
}
/**
/**
* 使用端: 管理后台
* 使用端: 管理后台
...
...
src/config/errorEnum.ts
View file @
bdeeeda7
...
@@ -23,6 +23,9 @@ export enum ERRORENUM {
...
@@ -23,6 +23,9 @@ export enum ERRORENUM {
该孵化器账号信息已存在
,
该孵化器账号信息已存在
,
密码不一致
,
密码不一致
,
密码只能由
6
至
18
位字符和数字组成
,
密码只能由
6
至
18
位字符和数字组成
,
统一社会信用代码不合法
,
统一社会信用代码重复
,
系统错误
}
}
export
enum
ERRORCODEENUM
{
export
enum
ERRORCODEENUM
{
...
...
src/data/enterprise/enterprise.ts
View file @
bdeeeda7
...
@@ -61,6 +61,7 @@ export async function findEnterpriseByUscc(uscc:string) {
...
@@ -61,6 +61,7 @@ export async function findEnterpriseByUscc(uscc:string) {
return
await
enterpriseModel
.
selectOnceData
({
uscc
});
return
await
enterpriseModel
.
selectOnceData
({
uscc
});
}
}
/**
/**
* 通过草稿箱id获取企业信息
* 通过草稿箱id获取企业信息
* 支持.save方法保存对象修改
* 支持.save方法保存对象修改
...
@@ -73,12 +74,24 @@ export async function findEnterpriseByDraftId(draftId:string) {
...
@@ -73,12 +74,24 @@ export async function findEnterpriseByDraftId(draftId:string) {
/**
/**
* 根据参数查询单个企业信息
* @param param
* @returns
*/
export
async
function
selectOneEnterpriseByParam
(
param
:
object
)
{
return
await
enterpriseModel
.
findOne
(
param
);
}
/**
* 通过taskId 获取此次任务添加的企业列表
* 通过taskId 获取此次任务添加的企业列表
* @param taskId 任务id 格式遵循tool中getTaskId
* @param taskId 任务id 格式遵循tool中getTaskId
* @returns [{}]
* 限制返回 draftId name isCreate uscc 字段
* @returns [{draftId}]
*/
*/
export
async
function
findEnterpriseListByTaskId
(
taskId
:
string
)
{
export
async
function
findEnterpriseListByTaskId
(
taskId
:
string
)
{
return
await
enterpriseModel
.
find
({
taskId
,
draftLock
:
false
});
return
await
enterpriseModel
.
find
({
taskId
,
draftLock
:
false
}
,
'draftId name isCreate uscc'
);
}
}
...
@@ -181,12 +194,15 @@ export async function findEnterpriseInfoByName(name:string) {
...
@@ -181,12 +194,15 @@ export async function findEnterpriseInfoByName(name:string) {
/**
/**
* 获取孵化器下的所有企业信息
* 获取孵化器下的所有已经提交的企业信息
* 限制返回 name
logonAdd
operatingAdd
* @param fuHuaQiUscc 孵化器统一信用代码
* @param fuHuaQiUscc 孵化器统一信用代码
* @returns []
* @returns []
*/
*/
export
async
function
find
EnterpriseListByFuHuaQiUsccName
(
fuHuaQiUscc
:
string
)
{
export
async
function
find
SubmittedEnterpriseListByFuHuaQiUscc
(
fuHuaQiUscc
:
string
)
{
return
await
enterpriseModel
.
find
({
fuHuaQiUscc
,
draftLock
:
true
});
return
await
enterpriseModel
.
find
({
fuHuaQiUscc
,
draftLock
:
true
}
,
'name logonAdd operatingAdd'
);
}
}
...
@@ -194,7 +210,7 @@ export async function findEnterpriseListByFuHuaQiUsccName(fuHuaQiUscc:string) {
...
@@ -194,7 +210,7 @@ export async function findEnterpriseListByFuHuaQiUsccName(fuHuaQiUscc:string) {
* 查询所有已绑定过的孵化器id
* 查询所有已绑定过的孵化器id
* @returns [孵化器id]
* @returns [孵化器id]
*/
*/
export
async
function
findAllBindFuHuaQi
()
{
export
async
function
findAllBindFuHuaQi
UsccList
()
{
return
await
enterpriseModel
.
distinct
(
'fuHuaQiUscc'
);
return
await
enterpriseModel
.
distinct
(
'fuHuaQiUscc'
);
}
}
...
...
src/data/fuHuaQi/fuhuaqi.ts
View file @
bdeeeda7
...
@@ -98,15 +98,6 @@ export async function findFuHuaQiByName(name:string) {
...
@@ -98,15 +98,6 @@ export async function findFuHuaQiByName(name:string) {
return
await
fuHuaQiModel
.
findOne
({
name
});
return
await
fuHuaQiModel
.
findOne
({
name
});
}
}
/**
* 通过信用代码获取孵化器信息
* @param uscc 信用代码
* @returns 信用代码为uscc的孵化器信息
*/
export
async
function
findFuHuaQiByUscc
(
uscc
:
string
)
{
return
await
fuHuaQiModel
.
findOne
({
uscc
});
}
/**
/**
* 通过token获取孵化器信息 弃用
* 通过token获取孵化器信息 弃用
...
@@ -212,8 +203,14 @@ export async function findAllFuHuaQiOperationUsccMap() {
...
@@ -212,8 +203,14 @@ export async function findAllFuHuaQiOperationUsccMap() {
}
}
export
async
function
findAllFuHuaQi
()
{
/**
return
await
fuHuaQiModel
.
find
({
userState
:
false
});
* 查询所有非禁用状态下的孵化器
* 限制返回字段 uscc
* operationName
* @returns []
*/
export
async
function
findAllNotDisabledFuHuaQi
()
{
return
await
fuHuaQiModel
.
find
({
userState
:
false
},
'uscc operationName'
);
}
}
...
...
src/data/fuHuaQi/task.ts
View file @
bdeeeda7
...
@@ -44,13 +44,13 @@ export async function save(throwError=false) {
...
@@ -44,13 +44,13 @@ export async function save(throwError=false) {
/**
/**
* 通过任务id 查询孵化器任务
* 通过任务id 查询孵化器任务
* @param taskId 任务id
* @param taskId 任务id
* @returns {
1:{}, 2:{}
}
* @returns {
} 格式: key=type value={isSubmit
}
*/
*/
export
async
function
findFuHuaQiTaskByTaskId
(
taskId
:
string
)
{
export
async
function
findFuHuaQiTaskByTaskId
(
taskId
:
string
)
{
let
findList
=
await
fuHuaQiTaskModel
.
find
({
taskId
}).
exec
()
||
[];
let
findList
=
await
fuHuaQiTaskModel
.
find
({
taskId
}).
exec
()
||
[];
let
taskMap
=
{};
let
taskMap
=
{};
findList
.
forEach
(
item
=>
{
findList
.
forEach
(
item
=>
{
taskMap
[
item
.
type
]
=
item
;
taskMap
[
item
.
type
]
=
{
isSubmit
:
item
.
isSubmit
}
;
});
});
return
taskMap
;
return
taskMap
;
}
}
...
...
src/routers/mobileClient/enterprise.ts
View file @
bdeeeda7
...
@@ -84,7 +84,7 @@ async function updateMoveInEnterprise(req, res) {
...
@@ -84,7 +84,7 @@ async function updateMoveInEnterprise(req, res) {
* @param res
* @param res
*/
*/
async
function
selectEnterpriseInfo
(
req
,
res
)
{
async
function
selectEnterpriseInfo
(
req
,
res
)
{
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数
名称
*/
let
reqConf
=
{
uscc
:
'String'
};
let
reqConf
=
{
uscc
:
'String'
};
let
{
uscc
}
=
eccReqMustHaveParam
(
reqConf
,
req
.
body
);
let
{
uscc
}
=
eccReqMustHaveParam
(
reqConf
,
req
.
body
);
...
@@ -99,7 +99,7 @@ async function updateMoveInEnterprise(req, res) {
...
@@ -99,7 +99,7 @@ async function updateMoveInEnterprise(req, res) {
* @param res
* @param res
*/
*/
async
function
delEnterpriseInfo
(
req
,
res
)
{
async
function
delEnterpriseInfo
(
req
,
res
)
{
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数
名称
*/
let
reqConf
=
{
uscc
:
'String'
};
let
reqConf
=
{
uscc
:
'String'
};
let
{
uscc
}
=
eccReqMustHaveParam
(
reqConf
,
req
.
body
);
let
{
uscc
}
=
eccReqMustHaveParam
(
reqConf
,
req
.
body
);
...
...
src/tools/system.ts
View file @
bdeeeda7
...
@@ -63,3 +63,16 @@ export function md5PwdStr(pwd:string) {
...
@@ -63,3 +63,16 @@ export function md5PwdStr(pwd:string) {
export
function
getToken
(
uscc
:
string
)
{
export
function
getToken
(
uscc
:
string
)
{
return
md5
(
`
${
uscc
}${
new
Date
().
valueOf
()}${
Math
.
ceil
(
Math
.
random
()
*
100
)}
`
);
return
md5
(
`
${
uscc
}${
new
Date
().
valueOf
()}${
Math
.
ceil
(
Math
.
random
()
*
100
)}
`
);
}
}
/**
* 校验uscc是否合法
* @param uscc
* @returns true/false
*/
export
function
eccUscc
(
uscc
:
string
)
{
let
isSuccess
=
false
;
if
(
uscc
.
search
(
/^
[
A-Za-z0-9
]{16}
$/
)
>
-
1
)
isSuccess
=
true
;
else
if
(
uscc
.
search
(
/^
[
A-Za-z0-9
]{16}
$/
)
>
-
1
)
isSuccess
=
true
;
return
isSuccess
;
}
\ No newline at end of file
src/util/verificationEnum.ts
View file @
bdeeeda7
...
@@ -3,23 +3,27 @@
...
@@ -3,23 +3,27 @@
*
*
*/
*/
import
{
ERRORENUM
}
from
"../config/errorEnum"
;
import
{
BizError
}
from
"./bizError"
;
/**
/**
* 校验value是否符合传入的枚举
* 校验value是否符合传入的枚举
* @param enumConf 目标枚举
* @param enumConf 目标枚举
* @param value 目标值
* @param value 目标值
*
@returns true/false 是否通过校验
*
无返回 有异常直接报错
*/
*/
export
function
checkEnumValue
(
enumConf
,
value
:
any
)
{
export
function
eccEnumValue
(
name
:
string
,
key
:
string
,
enumConf
,
value
:
any
)
{
if
(
typeof
value
==
'number'
)
{
let
eccSuccess
=
true
;
return
enumConf
[
value
]
?
true
:
false
;
if
(
typeof
value
==
'number'
&&
!
enumConf
[
value
]
)
{
}
eccSuccess
=
false
;
let
checkSuccess
=
true
;
}
else
{
value
.
forEach
(
item
=>
{
value
.
forEach
(
item
=>
{
if
(
!
enumConf
[
item
]
)
check
Success
=
false
;
if
(
!
enumConf
[
item
]
)
ecc
Success
=
false
;
});
});
}
return
checkSuccess
;
if
(
!
eccSuccess
)
throw
new
BizError
(
ERRORENUM
.
表单校验失败
,
`
${
name
}
下的
${
key
}
字段值为
${
value
}
不满足枚举范围`
)
;
}
}
...
...
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