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
b7e5690e
Commit
b7e5690e
authored
May 17, 2023
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
3.0
parent
ecb99a77
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
402 additions
and
115 deletions
+402
-115
企业原始数据-源数据.xlsx
res/企业原始数据-源数据.xlsx
+0
-0
孵化器原始数据-源数据.xlsx
res/孵化器原始数据-源数据.xlsx
+0
-0
孵化器原始数据.xlsx
res/孵化器原始数据.xlsx
+0
-0
serverConfig.xml
serverConfig.xml
+0
-2
enterprise.ts
src/biz/admin/enterprise/enterprise.ts
+7
-7
businessData.ts
src/biz/mobileEnterprise/businessData.ts
+7
-7
dataDeclaration.ts
src/biz/mobileEnterprise/dataDeclaration.ts
+68
-28
enterprise.ts
src/biz/mobileEnterprise/enterprise.ts
+9
-7
toExamine.ts
src/biz/mobileFuHuaQi/enterprise/toExamine.ts
+131
-19
user.ts
src/biz/mobileFuHuaQi/fuHuaQi/user.ts
+1
-1
eccFormParamConfig.ts
src/config/eccFormParamConfig.ts
+29
-0
enum.ts
src/config/enum.ts
+11
-0
errorEnum.ts
src/config/errorEnum.ts
+5
-1
splitResultConfig.ts
src/config/splitResultConfig.ts
+1
-1
businessdata.ts
src/data/enterprise/businessdata.ts
+10
-8
enterprise.ts
src/data/enterprise/enterprise.ts
+2
-1
replenish.ts
src/data/enterprise/replenish.ts
+4
-4
team.ts
src/data/enterprise/team.ts
+18
-10
task.ts
src/data/fuHuaQi/task.ts
+1
-1
dbInit.ts
src/db/mongo/dbInit.ts
+0
-1
tableInit.ts
src/db/mongo/tableInit.ts
+0
-1
main.ts
src/main.ts
+0
-1
enterprise.ts
src/routers/admin/enterprise.ts
+8
-8
base.ts
src/routers/enterpriseMobileClient/base.ts
+18
-1
datadeclaration.ts
src/routers/enterpriseMobileClient/datadeclaration.ts
+4
-3
enterprise.ts
src/routers/mobileClient/enterprise.ts
+67
-2
piecemeal.ts
src/util/piecemeal.ts
+1
-1
No files found.
res/企业原始数据-源数据.xlsx
0 → 100644
View file @
b7e5690e
File added
res/孵化器原始数据-源数据.xlsx
0 → 100644
View file @
b7e5690e
File added
res/孵化器原始数据.xlsx
View file @
b7e5690e
No preview for this file type
serverConfig.xml
View file @
b7e5690e
...
...
@@ -25,4 +25,3 @@
<initPointOut>
1729288
</initPointOut>
</sms>
</config>
\ No newline at end of file
src/biz/admin/enterprise/enterprise.ts
View file @
b7e5690e
...
...
@@ -316,16 +316,16 @@ export async function outPutEnterpriseMoveOutList(name:string, fuHuaQiUscc:strin
* 获取企业经营数据列表
* @param name 企业名称
* @param year 年份
* @param quarter
s
季度
* @param quarter 季度
* @param page 页面
*/
export
async
function
getBusinessDataList
(
name
:
string
,
year
:
number
,
quarter
s
:
number
,
page
:
number
)
{
export
async
function
getBusinessDataList
(
name
:
string
,
year
:
number
,
quarter
:
number
,
page
:
number
)
{
let
selectParam
:
any
=
{};
if
(
name
)
selectParam
.
name
=
{
"$regex"
:
`
${
name
}
`
};
if
(
year
)
{
selectParam
.
year
=
year
;
if
(
quarter
s
)
selectParam
.
quarters
=
quarters
;
if
(
quarter
)
selectParam
.
quarter
=
quarter
;
}
let
dataBaseList
=
await
findBusinessDataByParamsToPage
(
selectParam
,
(
page
-
1
)
*
10
);
...
...
@@ -344,9 +344,9 @@ export async function getBusinessDataList(name:string, year:number, quarters:num
* 导出企业经营数据列表
* @param name 企业名称
* @param year 年份
* @param quarter
s
季度
* @param quarter 季度
*/
export
async
function
outPutBusinessDataList
(
name
:
string
,
year
:
number
,
quarter
s
:
number
,
type
:
number
)
{
export
async
function
outPutBusinessDataList
(
name
:
string
,
year
:
number
,
quarter
:
number
,
type
:
number
)
{
let
fileName
=
"全部"
;
/**拼接查询条件 */
...
...
@@ -357,7 +357,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters:
}
if
(
year
)
{
selectParam
.
year
=
year
;
if
(
quarter
s
)
selectParam
.
quarters
=
quarters
;
if
(
quarter
)
selectParam
.
quarter
=
quarter
;
}
fileName
=
"当前数据"
;
...
...
@@ -365,7 +365,7 @@ export async function outPutBusinessDataList(name:string, year:number, quarters:
let
dataBaseList
=
await
findBusinessDataByParams
(
selectParam
);
let
keyList
=
[
"name"
,
"year"
,
"quarter
s
"
,
"BI"
,
"RD"
,
"TXP"
];
let
keyList
=
[
"name"
,
"year"
,
"quarter"
,
"BI"
,
"RD"
,
"TXP"
];
let
titleList
=
[
"企业名称"
,
" 季度"
,
" 年度"
,
" 营业收入"
,
" 研发投入"
,
" 纳税"
];
let
dataList
=
[
titleList
];
...
...
src/biz/mobileEnterprise/businessData.ts
View file @
b7e5690e
...
...
@@ -98,7 +98,7 @@ function countUnitData(data:number) {
/**
* 补录经营数据
* @param uscc 统一信用代码
* @param quarter
s
补录季度
* @param quarter 补录季度
* @param type 补录类型
* @param value 值
*/
...
...
@@ -110,7 +110,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
let
resultData
=
[
0
,
0
,
0
,
0
];
let
lastYearData
=
await
findBusinessDataByUsccAndYear
(
uscc
,
lastYear
);
lastYearData
.
forEach
(
info
=>
{
let
addIndex
=
info
.
quarter
s
-
1
;
let
addIndex
=
info
.
quarter
-
1
;
if
(
type
==
BUSINESSDATATYPE
.
研发投入
)
resultData
[
addIndex
]
+=
info
.
RD
;
if
(
type
==
BUSINESSDATATYPE
.
纳税
)
resultData
[
addIndex
]
+=
info
.
TXP
;
if
(
type
==
BUSINESSDATATYPE
.
营业收入
)
resultData
[
addIndex
]
+=
info
.
BI
;
...
...
@@ -119,7 +119,7 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
/**获取上一年度补录 */
let
lastYearReplenishData
=
await
findRepleishDataByTypeAndYear
(
uscc
,
type
,
lastYear
);
lastYearReplenishData
.
forEach
(
info
=>
{
let
addIndex
=
info
.
quarter
s
-
1
;
let
addIndex
=
info
.
quarter
-
1
;
resultData
[
addIndex
]
+=
info
.
value
;
});
...
...
@@ -132,9 +132,9 @@ export async function replenishBusinessData(uscc:string, type:number, data) {
});
for
(
let
key
in
checkMap
)
{
let
quarter
s
=
parseInt
(
key
);
let
quarter
=
parseInt
(
key
);
let
value
=
checkMap
[
key
];
await
replenishData
(
uscc
,
lastYear
,
quarter
s
,
type
,
value
);
await
replenishData
(
uscc
,
lastYear
,
quarter
,
type
,
value
);
}
...
...
@@ -153,7 +153,7 @@ export async function lastYearBusinessData(uscc:string, type:number) {
let
lastYearData
=
await
findBusinessDataByUsccAndYear
(
uscc
,
lastYear
);
let
resultData
=
[
0
,
0
,
0
,
0
];
lastYearData
.
forEach
(
info
=>
{
let
addIndex
=
info
.
quarter
s
-
1
;
let
addIndex
=
info
.
quarter
-
1
;
if
(
type
==
BUSINESSDATATYPE
.
研发投入
)
resultData
[
addIndex
]
+=
info
.
RD
;
if
(
type
==
BUSINESSDATATYPE
.
纳税
)
resultData
[
addIndex
]
+=
info
.
TXP
;
if
(
type
==
BUSINESSDATATYPE
.
营业收入
)
resultData
[
addIndex
]
+=
info
.
BI
;
...
...
@@ -162,7 +162,7 @@ export async function lastYearBusinessData(uscc:string, type:number) {
/**获取上一年度补录 */
let
lastYearReplenishData
=
await
findRepleishDataByTypeAndYear
(
uscc
,
type
,
lastYear
);
lastYearReplenishData
.
forEach
(
info
=>
{
let
addIndex
=
info
.
quarter
s
-
1
;
let
addIndex
=
info
.
quarter
-
1
;
resultData
[
addIndex
]
+=
info
.
value
;
});
...
...
src/biz/mobileEnterprise/dataDeclaration.ts
View file @
b7e5690e
...
...
@@ -75,6 +75,18 @@ function getDeclarationChName(quarter:number) {
export
async
function
todoList
(
uscc
:
string
)
{
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
/**算剩余时间 */
let
thisQuarters
=
moment
().
quarter
();
//当月季度
let
distanceEnd
=
`
${
getDeclarationChName
(
thisQuarters
)}
季度填报未开始`
;
//默认提示
if
(
isInTime
())
{
//在填报月份内
let
endTime
=
moment
().
endOf
(
'M'
).
valueOf
();
endTime
=
Math
.
ceil
((
endTime
-
new
Date
().
valueOf
())
/
(
24
*
3600
*
1000
));
distanceEnd
=
`距离本次填报结束还有
${
endTime
}
天`
;
}
else
{
//todo 这里要放开
// return {dataList:[], distanceEnd};
}
let
businessDataInfo
=
await
findNotSubmitBusinessDataByTimeAndUscc
(
uscc
,
declarationYear
,
declarationQuarter
);
let
teamsDataInfo
=
await
findNotSubmitTeamByUsccAndTime
(
uscc
,
declarationYear
,
declarationQuarter
);
...
...
@@ -84,23 +96,16 @@ export async function todoList(uscc:string) {
{
type
:
changeEnumValue
(
ENTERPRISEDECLARATIONTYPE
,
ENTERPRISEDECLARATIONTYPE
.
经营状况
),
title
,
subTitle
:
businessDataInfo
?
`
${
title
}
经营状况填报`
:
''
subTitle
:
businessDataInfo
&&
businessDataInfo
.
isUpdate
?
`
${
title
}
经营状况填报`
:
''
},
{
type
:
changeEnumValue
(
ENTERPRISEDECLARATIONTYPE
,
ENTERPRISEDECLARATIONTYPE
.
团队信息
),
title
,
subTitle
:
teamsDataInfo
?
`
${
title
}
团队信息填报`
:
''
subTitle
:
teamsDataInfo
&&
teamsDataInfo
.
isUpdate
?
`
${
title
}
团队信息填报`
:
''
}
];
/**算剩余时间 */
let
thisQuarters
=
moment
().
quarter
();
//当月季度
let
distanceEnd
=
`第
${
getDeclarationChName
(
thisQuarters
)}
季度填报未开始`
;
//默认提示
if
(
isInTime
())
{
//在填报月份内
let
endTime
=
moment
().
endOf
(
'M'
).
valueOf
();
endTime
=
Math
.
ceil
((
endTime
-
new
Date
().
valueOf
())
/
(
24
*
3600
*
1000
));
distanceEnd
=
`距离本次填报结束还有
${
endTime
}
天`
;
}
return
{
dataList
,
distanceEnd
};
}
...
...
@@ -126,14 +131,14 @@ export async function completedList(uscc:string, year:number, quarter:number) {
let
title
=
getDeclarationChName
(
quarter
);
if
(
businessDataInfo
.
isSubmit
)
{
if
(
businessDataInfo
&&
businessDataInfo
.
isSubmit
)
{
dataList
.
push
({
type
:
changeEnumValue
(
ENTERPRISEDECLARATIONTYPE
,
ENTERPRISEDECLARATIONTYPE
.
经营状况
),
title
,
subTitle
:
`
${
title
}
经营状况填报`
});
}
if
(
teamsDataInfo
.
isSubmit
)
{
if
(
teamsDataInfo
&&
teamsDataInfo
.
isSubmit
)
{
dataList
.
push
(
{
type
:
changeEnumValue
(
ENTERPRISEDECLARATIONTYPE
,
ENTERPRISEDECLARATIONTYPE
.
团队信息
),
...
...
@@ -155,16 +160,19 @@ export async function completedList(uscc:string, year:number, quarter:number) {
* @param TXP 纳税
*/
export
async
function
addBusinessData
(
uscc
:
string
,
BI
:
number
,
RD
:
number
,
TXP
:
number
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
不在时间范围内提交申报`
);
//todo 测试注释 后续要放开
//if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
let
businessDataInfo
=
await
findBusinessDataByTimeAndUscc
(
uscc
,
declarationYear
,
declarationQuarter
);
if
(
businessDataInfo
.
isSubmit
||
businessDataInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
请勿重复提交填报数据
,
`
${
uscc
}
重复的提交了经营数据`
);
if
(
businessDataInfo
.
isSubmit
||
businessDataInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
请勿重复提交填报数据
,
`
${
uscc
}
已经提交了后点击创建企业经营数据`
);
if
(
businessDataInfo
.
isUpdate
)
throw
new
BizError
(
ERRORENUM
.
不能重复创建填报
,
`
${
uscc
}
不能重复创建填报 经营数据`
);
businessDataInfo
.
BI
=
BI
;
businessDataInfo
.
RD
=
RD
;
businessDataInfo
.
TXP
=
TXP
;
businessDataInfo
.
isUpdate
=
true
;
await
businessDataInfo
.
save
();
...
...
@@ -180,12 +188,13 @@ export async function addBusinessData(uscc:string, BI:number, RD:number, TXP:num
* @param TXP 纳税
*/
export
async
function
updateBusinessData
(
uscc
:
string
,
BI
:
number
,
RD
:
number
,
TXP
:
number
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
不在时间范围内提交申报`
);
//todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
let
businessDataInfo
=
await
findBusinessDataByTimeAndUscc
(
uscc
,
declarationYear
,
declarationQuarter
);
if
(
!
businessDataInfo
.
is
Submit
&&
!
businessDataInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
未提交填报数据不能修改
,
`
${
uscc
}
修改
前库里并没有创建数据`
);
if
(
!
businessDataInfo
.
is
Update
)
throw
new
BizError
(
ERRORENUM
.
请先创建填报数据
,
`
${
uscc
}
修改经营数据
前库里并没有创建数据`
);
businessDataInfo
.
BI
=
BI
;
businessDataInfo
.
RD
=
RD
;
...
...
@@ -204,7 +213,8 @@ export async function updateBusinessData(uscc:string, BI:number, RD:number, TXP:
* @param uscc 企业统一信用代码
*/
export
async
function
businessInfo
(
uscc
:
string
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
进行了违规操作`
,
'在非填报时间调用了回显接口'
);
//todo 测试注释 后续要放开
// if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口');
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
...
...
@@ -227,13 +237,15 @@ export async function businessInfo(uscc:string) {
* @param form 表单
*/
export
async
function
addTeamInfo
(
uscc
:
string
,
form
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
不在时间范围内提交申报`
);
//todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
eccFormParam
(
"企业申报团队信息数据"
,
EnterpriseAddTeamDataConfig
,
form
);
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
let
teamInfo
=
await
findTeamByUsccAndTime
(
uscc
,
declarationYear
,
declarationQuarter
);
if
(
teamInfo
.
isSubmit
||
teamInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
请勿重复提交填报数据
,
`
${
uscc
}
重复创建企业申报团队信息`
);
if
(
teamInfo
.
isSubmit
||
teamInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
请勿重复提交填报数据
,
`
${
uscc
}
已经提交了后点击企业申报团队数据`
);
if
(
teamInfo
.
isUpdate
)
throw
new
BizError
(
ERRORENUM
.
不能重复创建填报
,
`
${
uscc
}
不能重复创建填报 团队数据`
);
teamInfo
.
doctor
=
form
.
doctor
||
0
;
teamInfo
.
master
=
form
.
master
||
0
;
...
...
@@ -243,6 +255,7 @@ export async function addTeamInfo(uscc:string, form) {
teamInfo
.
studyAbroad
=
form
.
studyAbroad
||
0
;
teamInfo
.
graduates
=
form
.
graduates
||
0
;
teamInfo
.
createMs
=
new
Date
().
valueOf
();
teamInfo
.
isUpdate
=
true
;
await
teamInfo
.
save
();
...
...
@@ -257,7 +270,8 @@ export async function addTeamInfo(uscc:string, form) {
* @param uscc 企业统一信用代码
*/
export
async
function
getTeamInfo
(
uscc
:
string
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
进行了违规操作`
,
'在非填报时间调用了回显接口'
);
//todo 测试注释 后续要放开
// if (!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}进行了违规操作`, '在非填报时间调用了回显接口');
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
...
...
@@ -271,18 +285,42 @@ export async function getTeamInfo(uscc:string) {
/**
* 点击查看获取团队数据
* @param uscc 企业统一信用代码
*/
export
async
function
showTeamInfo
(
uscc
:
string
)
{
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
let
teamInfo
=
await
findTeamByUsccAndTime
(
uscc
,
declarationYear
,
declarationQuarter
);
if
(
!
teamInfo
||
!
teamInfo
.
year
)
{
teamInfo
=
{
doctor
:
0
,
master
:
0
,
undergraduate
:
0
,
juniorCollege
:
0
,
other
:
0
,
studyAbroad
:
0
,
graduates
:
0
,
}
}
let
result
=
extractData
(
EnterpriseTeamConfig
,
teamInfo
,
false
);
return
result
;
}
/**
* 企业修改团队信息数据
* @param uscc 企业统一信用代码
* @param form 团队信息表单
*/
export
async
function
updateTeamInfo
(
uscc
:
string
,
form
)
{
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
不在时间范围内提交申报`
);
//todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
eccFormParam
(
"企业修改团队信息数据"
,
EnterpriseAddTeamDataConfig
,
form
);
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
let
teamInfo
=
await
findTeamByUsccAndTime
(
uscc
,
declarationYear
,
declarationQuarter
);
if
(
!
teamInfo
.
is
Submit
&&
!
teamInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
未提交填报数据不能修改
,
`
${
uscc
}
修改
前库里并没有创建数据`
);
if
(
!
teamInfo
.
is
Update
)
throw
new
BizError
(
ERRORENUM
.
请先创建填报数据
,
`
${
uscc
}
修改团队信息数据
前库里并没有创建数据`
);
teamInfo
.
doctor
=
form
.
doctor
||
0
;
teamInfo
.
master
=
form
.
master
||
0
;
...
...
@@ -305,7 +343,8 @@ export async function updateTeamInfo(uscc:string, form) {
*/
export
async
function
submit
(
uscc
:
string
,
type
:
number
)
{
eccEnumValue
(
"企业提交数据申报"
,
"type"
,
ENTERPRISEDECLARATIONTYPE
,
type
);
if
(
!
isInTime
())
throw
new
BizError
(
ERRORENUM
.
不在填报范围之内
,
`
${
uscc
}
不在时间范围内提交申报`
);
//todo 测试注释 后续要放开
// if(!isInTime()) throw new BizError(ERRORENUM.不在填报范围之内, `${uscc}不在时间范围内提交申报`);
let
{
declarationQuarter
,
declarationYear
}
=
getDeclarationTime
();
...
...
@@ -336,27 +375,28 @@ export async function dataDeclarationTask() {
if
(
teamDataCount
>
0
&&
businessDataCount
>
0
)
return
;
let
enterpriseList
=
await
findEnterpriseList
({
state
:{
"$n"
:
FUHUASTATE
.
迁出
}
});
let
enterpriseList
=
await
findEnterpriseList
({
state
:{
"$n
e
"
:
FUHUASTATE
.
迁出
}
});
let
businessList
=
[];
let
teamList
=
[];
enterpriseList
.
forEach
(
info
=>
{
let
{
fuHuaQiUscc
,
uscc
,
name
}
=
info
;
let
isSubmit
=
false
;
let
fhqIsSubmit
=
false
;
let
isUpdate
=
false
;
let
businessInfo
=
{
year
:
declarationYear
,
fuHuaQiUscc
,
uscc
,
name
,
quarter
s
:
declarationQuarter
,
quarter
:
declarationQuarter
,
BI
:
0
,
RD
:
0
,
TXP
:
0
,
createTime
:
0
,
isSubmit
,
fhqIsSubmit
isSubmit
,
fhqIsSubmit
,
isUpdate
};
businessList
.
push
(
businessInfo
);
let
teamInfo
=
{
fuHuaQiUscc
,
uscc
,
name
,
year
:
declarationYear
,
quarter
s
:
declarationQuarter
,
year
:
declarationYear
,
quarter
:
declarationQuarter
,
doctor
:
0
,
master
:
0
,
undergraduate
:
0
,
juniorCollege
:
0
,
other
:
0
,
studyAbroad
:
0
,
graduates
:
0
,
createMs
:
0
,
isSubmit
,
fhqIsSubmit
isSubmit
,
fhqIsSubmit
,
isUpdate
};
teamList
.
push
(
teamInfo
);
});
...
...
src/biz/mobileEnterprise/enterprise.ts
View file @
b7e5690e
...
...
@@ -4,11 +4,10 @@
*/
import
{
EnterpriseQualificationUpdateConfig
,
EnterpriseUpdateBaseDataConfig
,
InitialTeamUpdateConfig
}
from
"../../config/eccFormParamConfig"
;
import
{
ENTERPRISETEAM
,
INDUSTRY
,
LISTINGSITUATION
}
from
"../../config/enum"
;
import
{
ENTERPRISETEAM
,
INDUSTRY
,
LISTINGSITUATION
,
STATEENUM
}
from
"../../config/enum"
;
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
EnterpriseBaseConfig
,
EnterpriseInitialTeamConfig
}
from
"../../config/splitResultConfig"
;
import
*
as
enterpriseData
from
"../../data/enterprise/enterprise"
;
import
{
selectFinancingInfo
}
from
"../../data/enterprise/financingInfo"
;
import
{
addMoneyEnterpriseInitialTeam
,
deleteMoneyEnterpriseInitialTeam
,
findEnterpriseInitialTeam
,
updateMoneyEnterpriseInitialTeam
}
from
"../../data/enterprise/initialTeam"
;
import
{
findEnterpriseNewTeamData
}
from
"../../data/enterprise/team"
;
import
{
getInitialTeamMemberId
}
from
"../../tools/system"
;
...
...
@@ -53,7 +52,8 @@ export async function getHomePageHeaderData(uscc:string) {
//团队总数
let
memberCount
=
teamInfo
.
doctor
+
teamInfo
.
master
+
teamInfo
.
undergraduate
+
teamInfo
.
juniorCollege
+
teamInfo
.
other
;
let
initialTeam
=
enterpriseInfo
.
initialTeam
.
length
==
0
;
//创始团队缺失 true=缺失
let
initialTeam
=
enterpriseInfo
.
haveFirstClassTalent
==
STATEENUM
.
未选
||
!
enterpriseInfo
.
haveFirstClassTalent
;
//创始团队缺失 true=缺失
let
qualification
=
!
enterpriseInfo
.
tipsQualification
;
//企业资质缺失 true=缺失 需要标红
let
intellectualProperty
=
!
enterpriseInfo
.
tipsIntellectualProperty
;
//知识产权缺失 true=缺失 需要标红
...
...
@@ -84,9 +84,11 @@ export async function getHomePageHeaderData(uscc:string) {
* @param teams 创始团队信息
* @returns isSuccess
*/
export
async
function
updateInitialTeamInfo
(
uscc
:
string
,
firstClassTalent
:
boolean
,
teams
)
{
export
async
function
updateInitialTeamInfo
(
uscc
:
string
,
firstClassTalent
:
number
,
teams
)
{
eccEnumValue
(
"修改创始团队信息"
,
"firstClassTalent"
,
STATEENUM
,
firstClassTalent
);
if
(
firstClassTalent
==
STATEENUM
.
未选
)
throw
new
BizError
(
ERRORENUM
.
请先选择是否拥有
,
'修改创始团队信息 没有选是和否'
);
/**校验参数 */
if
(
(
firstClassTalent
&&
!
Array
.
isArray
(
teams
))
||
(
firstClassTalent
&&
!
teams
.
length
)
)
{
if
(
(
firstClassTalent
==
STATEENUM
.
是
&&
!
Array
.
isArray
(
teams
))
||
(
firstClassTalent
==
STATEENUM
.
是
&&
!
teams
.
length
)
)
{
throw
new
BizError
(
ERRORENUM
.
参数错误
,
"修改创始团队信息"
,
"缺少参数 teams"
);
}
if
(
!
firstClassTalent
)
teams
=
[];
...
...
@@ -99,7 +101,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea
//是否拥有国际人才这个字段在 企业表中 需要单独做更改
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
uscc
);
enterpriseInfo
.
f
irstClassTalent
=
firstClassTalent
;
enterpriseInfo
.
haveF
irstClassTalent
=
firstClassTalent
;
await
enterpriseInfo
.
save
();
let
enterpriseInitialTeamList
=
await
findEnterpriseInitialTeam
(
uscc
);
...
...
@@ -154,7 +156,7 @@ export async function updateInitialTeamInfo(uscc:string, firstClassTalent:boolea
*/
export
async
function
selectInitialTeamInfo
(
uscc
:
string
)
{
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
uscc
);
let
firstClassTalent
=
enterpriseInfo
.
firstClassTalent
;
let
firstClassTalent
=
enterpriseInfo
.
haveFirstClassTalent
||
STATEENUM
.
未选
;
let
initialTeamList
=
await
findEnterpriseInitialTeam
(
uscc
);
...
...
src/biz/mobileFuHuaQi/enterprise/toExamine.ts
View file @
b7e5690e
...
...
@@ -5,22 +5,20 @@
*/
import
moment
=
require
(
"moment"
);
import
{
findBusinessDataByParams
}
from
"../../../data/enterprise/businessdata"
;
import
{
findBusinessDataByParams
,
findBusinessDataByTimeAndUscc
}
from
"../../../data/enterprise/businessdata"
;
import
{
ENTERPRISEDECLARATIONTYPE
}
from
"../../../config/enum"
;
import
{
findTeamDataByParams
,
findTeamDataByUsccAndTime
}
from
"../../../data/enterprise/team"
;
import
{
eccEnumValue
}
from
"../../../util/verificationEnum"
;
import
{
eccFormParam
}
from
"../../../util/verificationParam"
;
import
{
FuHuaQiReplenishEnterpriseBusinessDataConfig
,
FuHuaQiReplenishEnterpriseTeamDataConfig
}
from
"../../../config/eccFormParamConfig"
;
import
{
BizError
}
from
"../../../util/bizError"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
function
getCycle
(
cycleNumber
:
number
)
{
if
(
!
cycleNumber
)
return
"-"
;
let
nameList
=
[
"一"
,
"二"
,
"三"
,
"四"
];
/**
* 获取当前时间的 填报年度 和 填报季度
* 即:获取上一个季度
* @returns declarationYear:数据填报年 declarationQuarter:数据填报季度
*/
function
getDeclarationTime
()
{
let
thisYear
=
new
Date
().
getFullYear
();
let
thisQuarter
=
moment
().
quarter
();
//当月填报季度
if
(
(
thisQuarter
-
1
)
<
1
)
{
thisYear
=
moment
().
subtract
(
1
,
'years'
).
year
();
thisQuarter
=
4
;
}
else
thisQuarter
=
thisQuarter
-
1
;
return
{
declarationYear
:
thisYear
,
declarationQuarter
:
thisQuarter
};
return
`第
${
nameList
[
cycleNumber
-
1
]}
季度`
;
}
/**
...
...
@@ -28,17 +26,43 @@ function getDeclarationTime() {
* @param uscc 孵化器统一信用代码
*/
export
async
function
unauditedList
(
uscc
:
string
)
{
let
{
declarationYear
,
declarationQuarter
}
=
getDeclarationTime
();
let
query
=
{
fhqIsSubmit
:
false
,
fuHuaQiUscc
:
uscc
,
year
:
declarationYear
,
quarter
:
declarationQuarter
};
let
query
=
{
fhqIsSubmit
:
false
,
fuHuaQiUscc
:
uscc
};
let
businessDataList
=
await
findBusinessDataByParams
(
query
);
let
dataList
=
[];
businessDataList
.
forEach
(
info
=>
{
// extractData();
let
{
name
,
quarter
,
isSubmit
,
year
,
isUpdate
}
=
info
;
dataList
.
push
({
name
,
uscc
:
info
.
uscc
,
typeStr
:
"经营状况"
,
type
:
ENTERPRISEDECLARATIONTYPE
.
经营状况
,
cycle
:
getCycle
(
quarter
),
quarter
,
year
,
enterpriseSubmit
:
isSubmit
?
"是"
:
"否"
,
isUpdate
:
isUpdate
});
});
let
teamDataList
=
await
findTeamDataByParams
(
query
);
teamDataList
.
forEach
(
info
=>
{
let
{
name
,
quarter
,
isSubmit
,
year
,
isUpdate
}
=
info
;
dataList
.
push
({
name
,
uscc
:
info
.
uscc
,
typeStr
:
"团队信息"
,
type
:
ENTERPRISEDECLARATIONTYPE
.
团队信息
,
cycle
:
getCycle
(
quarter
),
quarter
,
year
,
enterpriseSubmit
:
isSubmit
?
"是"
:
"否"
,
isUpdate
:
isUpdate
});
});
return
{
dataList
};
}
...
...
@@ -47,8 +71,95 @@ export async function unauditedList(uscc:string) {
* 已审核列表
* @param uscc 孵化器统一信用代码
* @param year 年度
* @param quarters 季度
* @param quarter 季度
*/
export
async
function
auditCompletedList
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
let
query
=
{
fhqIsSubmit
:
true
,
fuHuaQiUscc
:
uscc
,
year
:
year
,
quarter
:
quarter
};
let
businessDataList
=
await
findBusinessDataByParams
(
query
);
let
dataList
=
[];
businessDataList
.
forEach
(
info
=>
{
let
{
name
,
quarter
}
=
info
;
dataList
.
push
({
name
,
typeStr
:
"经营状况"
,
cycle
:
getCycle
(
quarter
),
});
});
let
teamDataList
=
await
findTeamDataByParams
(
query
);
teamDataList
.
forEach
(
info
=>
{
let
{
name
,
quarter
}
=
info
;
dataList
.
push
({
name
,
typeStr
:
"团队信息"
,
cycle
:
getCycle
(
quarter
),
});
});
return
{
dataList
};
}
/**
* 孵化器补充企业数据
* @param fuHuaQiUscc 孵化器统一信用代码
* @param uscc 企业统一信用代码
* @param type 类型
* @param form 数据表单
*/
export
async
function
fuHuaQiReplenishEnterpriseDataDeclaration
(
fuHuaQiUscc
:
string
,
uscc
:
string
,
type
:
number
,
year
:
number
,
quarter
:
number
,
form
)
{
eccEnumValue
(
"孵化器补充企业数据"
,
"type"
,
ENTERPRISEDECLARATIONTYPE
,
type
);
if
(
type
==
ENTERPRISEDECLARATIONTYPE
.
团队信息
)
{
eccFormParam
(
"孵化器补充企业数据-团队信息"
,
FuHuaQiReplenishEnterpriseTeamDataConfig
,
form
);
let
teamInfo
=
await
findTeamDataByUsccAndTime
(
uscc
,
year
,
quarter
);
if
(
teamInfo
.
fuHuaQiUscc
!=
fuHuaQiUscc
)
{}
for
(
let
key
in
FuHuaQiReplenishEnterpriseTeamDataConfig
)
{
teamInfo
[
key
]
=
form
[
key
];
}
await
teamInfo
.
save
();
}
else
{
eccFormParam
(
"孵化器补充企业数据-经营状况"
,
FuHuaQiReplenishEnterpriseBusinessDataConfig
,
form
);
let
businessInfo
=
await
findBusinessDataByTimeAndUscc
(
uscc
,
year
,
quarter
);
if
(
businessInfo
.
fuHuaQiUscc
!=
fuHuaQiUscc
)
{}
for
(
let
key
in
FuHuaQiReplenishEnterpriseBusinessDataConfig
)
{
businessInfo
[
key
]
=
form
[
key
];
}
await
businessInfo
.
save
();
}
return
{
isSuccess
:
true
};
}
/**
* 通过校验
* @param fuHuaQiUscc
* @param uscc
* @param type
* @param year
* @param quarter
* @returns
*/
export
async
function
auditCompletedList
(
uscc
:
string
,
year
:
number
,
quarters
:
number
)
{
export
async
function
fuHuaQiPass
(
fuHuaQiUscc
:
string
,
uscc
:
string
,
type
:
number
,
year
:
number
,
quarter
:
number
)
{
eccEnumValue
(
"孵化器补充企业数据"
,
"type"
,
ENTERPRISEDECLARATIONTYPE
,
type
);
let
dataInfo
:
any
=
{};
if
(
type
==
ENTERPRISEDECLARATIONTYPE
.
团队信息
)
{
dataInfo
=
await
findTeamDataByUsccAndTime
(
uscc
,
year
,
quarter
);
}
else
{
dataInfo
=
await
findBusinessDataByTimeAndUscc
(
uscc
,
year
,
quarter
);
}
if
(
dataInfo
.
fhqIsSubmit
)
throw
new
BizError
(
ERRORENUM
.
重复通过填报数据
,
`
${
fuHuaQiUscc
}
企业审核 重复通过`
);
dataInfo
.
fhqIsSubmit
=
true
;
await
dataInfo
.
save
();
return
{
isSuccess
:
true
};
}
\ No newline at end of file
src/biz/mobileFuHuaQi/fuHuaQi/user.ts
View file @
b7e5690e
...
...
@@ -242,7 +242,7 @@ async function getOpenId(code:string) {
if
(
weixinRes
.
errcode
==
ERRORCODEENUM
.
频繁操作请稍后再试
)
throw
new
BizError
(
ERRORENUM
.
频繁操作请稍后再试
,
code
);
if
(
weixinRes
.
errcode
==
ERRORCODEENUM
.
高风险等级用户
)
throw
new
BizError
(
ERRORENUM
.
高风险等级用户
,
code
);
if
(
weixinRes
.
errcode
==
-
1
)
throw
new
BizError
(
ERRORENUM
.
系统繁忙
,
code
);
if
(
!
weixinRes
.
openid
)
throw
new
BizError
(
ERRORENUM
.
绑定失败
,
code
);
if
(
!
weixinRes
.
openid
)
throw
new
BizError
(
ERRORENUM
.
绑定失败
,
code
,
JSON
.
stringify
(
weixinRes
)
);
return
weixinRes
.
openid
;
}
...
...
src/config/eccFormParamConfig.ts
View file @
b7e5690e
...
...
@@ -404,4 +404,32 @@ export const EnterpriseQualificationUpdateConfig = {
xjrMs
:{
type
:
"Number"
},
//小巨人
beOnTheMarket
:{
type
:
"[Number]"
,
notMustHave
:
true
},
//上市情况
isBeOnTheMarket
:{
type
:
"Boolean"
}
}
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 孵化器补充企业团队信息
* 备注: 所有参数为必填
*/
export
const
FuHuaQiReplenishEnterpriseTeamDataConfig
=
{
doctor
:{
type
:
"Number"
},
//博士
master
:{
type
:
"Number"
},
//硕士
undergraduate
:{
type
:
"Number"
},
//本科
juniorCollege
:{
type
:
"Number"
},
//专科
other
:{
type
:
"Number"
},
//其他
studyAbroad
:{
type
:
"Number"
},
//留学人数
graduates
:{
type
:
"Number"
},
//应届毕业生
}
/**
* 使用端: 小程序端【孵化器入口】
* 场景: 孵化器补充经营数据
* 备注: 所有参数为必填
*/
export
const
FuHuaQiReplenishEnterpriseBusinessDataConfig
=
{
BI
:{
type
:
"Number"
},
//营业收入
RD
:{
type
:
"Number"
},
//研发投入
TXP
:{
type
:
"Number"
},
//纳税
}
\ No newline at end of file
src/config/enum.ts
View file @
b7e5690e
...
...
@@ -369,4 +369,14 @@ export enum BUSINESSDATATYPE {
营业收入
=
1
,
研发投入
,
纳税
}
/**
* 状态
*/
export
enum
STATEENUM
{
未选
=
1
,
是
,
否
}
\ No newline at end of file
src/config/errorEnum.ts
View file @
b7e5690e
...
...
@@ -53,7 +53,11 @@ export enum ERRORENUM {
不在填报范围之内
,
只能删除本企业信息
,
不能补录已有数据
,
请正确填报数据
请正确填报数据
,
不能重复创建填报
,
请先创建填报数据
,
重复通过填报数据
,
请先选择是否拥有
,
}
export
enum
ERRORCODEENUM
{
...
...
src/config/splitResultConfig.ts
View file @
b7e5690e
...
...
@@ -371,7 +371,7 @@ export const EnterpriseTeamConfig = {
export
const
EnterpriseBusinessDataConfig
=
{
name
:{
key
:
"企业名称"
},
year
:{
key
:
"年份"
},
quarter
s
:{
key
:
"季度"
},
quarter
:{
key
:
"季度"
},
BI
:{
key
:
"营业收入"
},
RD
:{
key
:
"研发投入"
},
TXP
:{
key
:
"纳税"
},
...
...
src/data/enterprise/businessdata.ts
View file @
b7e5690e
...
...
@@ -8,13 +8,14 @@ import { baseDB } from '../../db/mongo/dbInit';
const
businessSchema
=
new
Schema
({
year
:{
type
:
Number
,
index
:
true
},
//年度
fuHuaQiUscc
:{
type
:
String
,
index
:
true
},
quarter
s
:{
type
:
Number
,
index
:
true
},
//季度
quarter
:{
type
:
Number
,
index
:
true
},
//季度
uscc
:{
type
:
String
,
index
:
true
},
name
:{
type
:
String
,
index
:
true
},
//企业名称
BI
:{
type
:
Number
,
default
:
0
},
//营业收入
RD
:{
type
:
Number
,
default
:
0
},
//研发投入
TXP
:{
type
:
Number
,
default
:
0
},
//纳税
createTime
:
Number
,
//填写时间
isUpdate
:{
type
:
Boolean
,
default
:
false
},
//是否修改
isSubmit
:{
type
:
Boolean
,
default
:
false
},
//是否提交
fhqIsSubmit
:{
type
:
Boolean
,
default
:
false
},
//孵化器点了审核通过这里就要改成ture 就不能显示了
});
...
...
@@ -51,12 +52,12 @@ export async function findBusinessDataByUsccAndYear(uscc:string, year:number) {
}
export
async
function
findBusinessDataByTimeAndUscc
(
uscc
:
string
,
year
:
number
,
quarter
s
:
number
)
{
return
await
businessDataModel
.
selectOnceData
({
uscc
,
year
,
quarter
s
});
export
async
function
findBusinessDataByTimeAndUscc
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
return
await
businessDataModel
.
selectOnceData
({
uscc
,
year
,
quarter
});
}
export
async
function
findNotSubmitBusinessDataByTimeAndUscc
(
uscc
:
string
,
year
:
number
,
quarter
s
:
number
)
{
return
await
businessDataModel
.
selectOnceData
({
uscc
,
year
,
quarter
s
,
isSubmit
:
false
,
fhqIsSubmit
:
false
});
export
async
function
findNotSubmitBusinessDataByTimeAndUscc
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
return
await
businessDataModel
.
selectOnceData
({
uscc
,
year
,
quarter
,
isSubmit
:
false
,
fhqIsSubmit
:
false
});
}
...
...
@@ -84,9 +85,9 @@ export async function addManyBusinessData(addList) {
/**
* 查询特定时间的企业经营数据总和
* @param year 年度
* @param quarter
s
季度
* @param quarter 季度
* @returns
*/
export
async
function
findBusinessDataCountByTime
(
year
:
number
,
quarter
s
:
number
)
{
return
await
businessDataModel
.
find
({
year
,
quarter
s
}).
count
();
export
async
function
findBusinessDataCountByTime
(
year
:
number
,
quarter
:
number
)
{
return
await
businessDataModel
.
find
({
year
,
quarter
}).
count
();
}
\ No newline at end of file
src/data/enterprise/enterprise.ts
View file @
b7e5690e
...
...
@@ -83,7 +83,8 @@ const enterpriseSchema = new Schema({
initialTeam
:{
type
:[
initialTeamSchema
],
default
:[]},
//创始团队
qualification
:{
type
:
qualificationSchema
},
//企业资质
intellectualProperty
:{
type
:
intellectualPropertySchema
},
//知识产权
firstClassTalent
:{
type
:
Boolean
,
default
:
false
},
//是否拥有国际一流人才 默认没有
firstClassTalent
:{
type
:
Boolean
,
default
:
false
},
//是否拥有国际一流人才 默认没有 舍弃
haveFirstClassTalent
:{
type
:
Number
,
default
:
1
},
//是否拥有国际一流人才
tipsQualification
:{
type
:
Boolean
,
default
:
false
},
//标识-企业资质
tipsIntellectualProperty
:{
type
:
Boolean
,
default
:
false
},
//标识-知识产权
tipsFinancingInfo
:{
type
:
Boolean
,
default
:
false
},
//标识-企业融资
...
...
src/data/enterprise/replenish.ts
View file @
b7e5690e
...
...
@@ -7,7 +7,7 @@ import { baseDB } from '../../db/mongo/dbInit';
const
replenishSchema
=
new
Schema
({
year
:{
type
:
Number
,
index
:
true
},
//年度
quarter
s
:{
type
:
Number
,
index
:
true
},
//季度
quarter
:{
type
:
Number
,
index
:
true
},
//季度
uscc
:{
type
:
String
,
index
:
true
},
type
:
Number
,
value
:
Number
,
...
...
@@ -40,12 +40,12 @@ export async function save(throwError=false) {
* 补充经营数据
* @param uscc 企业统一信用代码
* @param year 年度
* @param quarter
s
季度
* @param quarter 季度
* @param type 类型
* @param value 值
*/
export
async
function
replenishData
(
uscc
:
string
,
year
:
number
,
quarter
s
:
number
,
type
:
number
,
value
:
number
)
{
let
addInfo
=
{
uscc
,
year
,
quarter
s
,
type
,
value
,
timeMs
:
new
Date
().
valueOf
()
};
export
async
function
replenishData
(
uscc
:
string
,
year
:
number
,
quarter
:
number
,
type
:
number
,
value
:
number
)
{
let
addInfo
=
{
uscc
,
year
,
quarter
,
type
,
value
,
timeMs
:
new
Date
().
valueOf
()
};
await
replenishDataModel
.
create
(
addInfo
);
}
...
...
src/data/enterprise/team.ts
View file @
b7e5690e
...
...
@@ -11,8 +11,8 @@ const teamSchema = new Schema({
uscc
:{
type
:
String
,
index
:
true
},
fuHuaQiUscc
:{
type
:
String
,
index
:
true
},
name
:
String
,
//企业名称
year
:{
t
u
pe
:
Number
,
index
:
true
},
quarter
s
:{
tu
pe
:
Number
,
index
:
true
},
year
:{
t
y
pe
:
Number
,
index
:
true
},
quarter
:{
ty
pe
:
Number
,
index
:
true
},
doctor
:{
type
:
Number
,
default
:
0
},
//博士
master
:{
type
:
Number
,
default
:
0
},
//硕士
undergraduate
:{
type
:
Number
,
default
:
0
},
//本科
...
...
@@ -21,6 +21,7 @@ const teamSchema = new Schema({
studyAbroad
:{
type
:
Number
,
default
:
0
},
//留学人数
graduates
:{
type
:
Number
,
default
:
0
},
//应届毕业生
createMs
:
Number
,
//填报时间
isUpdate
:{
type
:
Boolean
,
default
:
false
},
//是否修改
isSubmit
:{
type
:
Boolean
,
default
:
false
},
//是否提交
fhqIsSubmit
:{
type
:
Boolean
,
default
:
false
},
//孵化器点了审核通过这里就要改成ture 就不能显示了
});
...
...
@@ -50,27 +51,34 @@ export async function save(throwError=false) {
* 查询特定时间的企业团队信息数据
* @param uscc 企业统一信用代码
* @param year 年度
* @param quarter
s
季度
* @param quarter 季度
* @returns
*/
export
async
function
findTeamByUsccAndTime
(
uscc
:
string
,
year
:
number
,
quarter
s
:
number
)
{
return
await
teamModel
.
selectOnceData
({
uscc
,
year
,
quarter
s
});
export
async
function
findTeamByUsccAndTime
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
return
await
teamModel
.
selectOnceData
({
uscc
,
year
,
quarter
});
}
/**
* 查询特定时间的企业团队信息数据总和
* @param year 年度
* @param quarter
s
季度
* @param quarter 季度
* @returns
*/
export
async
function
findTeamDataCountByTime
(
year
:
number
,
quarter
s
:
number
)
{
return
await
teamModel
.
find
({
year
,
quarter
s
}).
count
();
export
async
function
findTeamDataCountByTime
(
year
:
number
,
quarter
:
number
)
{
return
await
teamModel
.
find
({
year
,
quarter
}).
count
();
}
export
async
function
findNotSubmitTeamByUsccAndTime
(
uscc
:
string
,
year
:
number
,
quarter
s
:
number
)
{
return
await
teamModel
.
selectOnceData
({
uscc
,
year
,
quarter
s
,
isSubmit
:
false
,
fhqIsSubmit
:
false
});
export
async
function
findNotSubmitTeamByUsccAndTime
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
return
await
teamModel
.
selectOnceData
({
uscc
,
year
,
quarter
,
isSubmit
:
false
,
fhqIsSubmit
:
false
});
}
export
async
function
findTeamDataByParams
(
param
)
{
return
await
teamModel
.
find
(
param
);
}
export
async
function
findTeamDataByUsccAndTime
(
uscc
:
string
,
year
:
number
,
quarter
:
number
)
{
return
await
teamModel
.
find
({
uscc
,
year
,
quarter
}).
count
();
}
/**
* 获取企业最新的团队数据
...
...
src/data/fuHuaQi/task.ts
View file @
b7e5690e
...
...
@@ -12,7 +12,7 @@ import { baseDB } from '../../db/mongo/dbInit';
const
fuHuaQiTaskSchema
=
new
Schema
({
key
:{
type
:
Number
,
index
:
true
},
//任务标识 格式为:YYYYMM
type
:
{
type
:
Number
,
index
:
true
},
//任务类型
type
:
{
type
:
Number
,
index
:
true
},
//任务类型
taskId
:
String
,
//任务id
fuHuaQiUscc
:
String
,
//任务所属孵化器id
submitTime
:
Number
,
//提交时间
...
...
src/db/mongo/dbInit.ts
View file @
b7e5690e
...
...
@@ -9,7 +9,6 @@ var baseDB;
export
async
function
initDB
()
{
//如果配置了mongoServerConstVal 才会连接mongo
if
(
systemConfig
.
mongodbStr
)
{
console
.
log
(
systemConfig
.
mongodbStr
,
' 连接成功'
)
baseDB
=
await
createDbConnect
(
systemConfig
.
mongodbStr
).
catch
(
err
=>
{
throw
err
});
...
...
src/db/mongo/tableInit.ts
View file @
b7e5690e
...
...
@@ -27,7 +27,6 @@ export async function initTable() {
scoreLogModel
.
initModel
();
codeModel
.
initModel
();
smsPointOutModel
.
initModel
();
businessdataModel
.
initModel
();
financingInfoModel
.
initModel
();
...
...
src/main.ts
View file @
b7e5690e
...
...
@@ -4,7 +4,6 @@ import { initConfig, systemConfig} from "./config/serverConfig";
import
{
initDB
}
from
"./db/mongo/dbInit"
;
import
{
httpServer
}
from
"./net/http_server"
;
import
{
initBasicData
}
from
"./tools/dataInit"
;
import
{
get
}
from
"./util/request"
;
async
function
lanuch
()
{
/**初始化配置解析 */
...
...
src/routers/admin/enterprise.ts
View file @
b7e5690e
...
...
@@ -156,11 +156,11 @@ async function outPutMoveOutList(req, res) {
* @param res
*/
async
function
businessDataList
(
req
,
res
)
{
let
reqConf
=
{
name
:
'String'
,
year
:
'Number'
,
quarter
s
:
'Number'
,
page
:
'Number'
};
const
NotMustHaveKeys
=
[
"name"
,
"year"
,
"quarter
s
"
];
let
{
name
,
year
,
quarter
s
,
page
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
reqConf
=
{
name
:
'String'
,
year
:
'Number'
,
quarter
:
'Number'
,
page
:
'Number'
};
const
NotMustHaveKeys
=
[
"name"
,
"year"
,
"quarter"
];
let
{
name
,
year
,
quarter
,
page
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
restult
=
await
enterpriseAdminBiz
.
getBusinessDataList
(
name
,
year
,
quarter
s
,
page
);
let
restult
=
await
enterpriseAdminBiz
.
getBusinessDataList
(
name
,
year
,
quarter
,
page
);
res
.
success
(
restult
);
}
...
...
@@ -172,11 +172,11 @@ async function businessDataList(req, res) {
* @param res
*/
async
function
outPutBusinessData
(
req
,
res
)
{
let
reqConf
=
{
name
:
'String'
,
year
:
'Number'
,
quarter
s
:
'Number'
,
type
:
'Number'
};
const
NotMustHaveKeys
=
[
"name"
,
"year"
,
"quarter
s
"
];
let
{
name
,
year
,
quarter
s
,
type
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
reqConf
=
{
name
:
'String'
,
year
:
'Number'
,
quarter
:
'Number'
,
type
:
'Number'
};
const
NotMustHaveKeys
=
[
"name"
,
"year"
,
"quarter"
];
let
{
name
,
year
,
quarter
,
type
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
{
dataList
,
fileName
}
=
await
enterpriseAdminBiz
.
outPutBusinessDataList
(
name
,
year
,
quarter
s
,
type
);
let
{
dataList
,
fileName
}
=
await
enterpriseAdminBiz
.
outPutBusinessDataList
(
name
,
year
,
quarter
,
type
);
res
.
success
({
data
:
dataList
,
name
:
`
${
fileName
}
企业经营.xlsx`
});
}
...
...
src/routers/enterpriseMobileClient/base.ts
View file @
b7e5690e
...
...
@@ -6,6 +6,7 @@ import * as asyncHandler from 'express-async-handler';
import
{
checkEnterpriseToken
}
from
'../../middleware/user'
;
import
{
eccReqParamater
}
from
'../../util/verificationParam'
;
import
*
as
enterpriseBiz
from
'../../biz/mobileEnterprise/enterprise'
;
import
*
as
dataDeclarationBiz
from
'../../biz/mobileEnterprise/dataDeclaration'
;
export
function
setRouter
(
httpServer
)
{
...
...
@@ -25,6 +26,8 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/enterprise/qualification/info'
,
checkEnterpriseToken
,
asyncHandler
(
qualificationInfo
));
/**资讯 */
httpServer
.
post
(
'/enterprise/information/list'
,
checkEnterpriseToken
,
asyncHandler
(
informationList
));
/**团队信息 */
httpServer
.
post
(
'/enterprise/team/info'
,
checkEnterpriseToken
,
asyncHandler
(
showTeamInfomation
));
}
...
...
@@ -48,7 +51,7 @@ async function homePageHeaderInfo(req, res) {
async
function
updateTeamsState
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
reqConf
=
{
firstClassTalent
:
'
Boolean
'
,
teams
:
'[Object]'
};
let
reqConf
=
{
firstClassTalent
:
'
Number
'
,
teams
:
'[Object]'
};
let
{
firstClassTalent
,
teams
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
[
"teams"
]);
let
result
=
await
enterpriseBiz
.
updateInitialTeamInfo
(
Uscc
,
firstClassTalent
,
teams
);
...
...
@@ -158,6 +161,20 @@ async function baseInfo(req, res) {
}
/**
* 点击查看团队信息数据
* @param req
* @param res
*/
async
function
showTeamInfomation
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
dataDeclarationBiz
.
showTeamInfo
(
Uscc
);
res
.
success
(
result
);
}
async
function
informationList
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
...
...
src/routers/enterpriseMobileClient/datadeclaration.ts
View file @
b7e5690e
...
...
@@ -20,6 +20,7 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/enterprise/datadeclaration/team/add'
,
checkEnterpriseToken
,
asyncHandler
(
addTeamData
));
httpServer
.
post
(
'/enterprise/datadeclaration/team/info'
,
checkEnterpriseToken
,
asyncHandler
(
teamInfo
));
httpServer
.
post
(
'/enterprise/datadeclaration/team/update'
,
checkEnterpriseToken
,
asyncHandler
(
updateTeamData
));
}
...
...
@@ -41,11 +42,11 @@ async function unsubmitted(req, res) {
* @param res
*/
async
function
completed
(
req
,
res
)
{
let
reqConf
=
{
year
:
'Number'
,
quarter
s
:
'Number'
};
let
{
year
,
quarter
s
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
let
reqConf
=
{
year
:
'Number'
,
quarter
:
'Number'
};
let
{
year
,
quarter
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
dataDeclarationBiz
.
completedList
(
Uscc
,
year
,
quarter
s
);
let
result
=
await
dataDeclarationBiz
.
completedList
(
Uscc
,
year
,
quarter
);
res
.
success
(
result
);
}
...
...
src/routers/mobileClient/enterprise.ts
View file @
b7e5690e
...
...
@@ -4,6 +4,7 @@
import
*
as
asyncHandler
from
'express-async-handler'
;
import
*
as
enterpriseBiz
from
'../../biz/mobileFuHuaQi/enterprise/enterprise'
;
import
*
as
toExamineBiz
from
'../../biz/mobileFuHuaQi/enterprise/toExamine'
;
import
{
checkFuHuaQiToken
}
from
'../../middleware/user'
;
import
{
eccReqParamater
}
from
'../../util/verificationParam'
;
import
{
FUHUASTATE
}
from
'../../config/enum'
;
...
...
@@ -29,6 +30,12 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/fuhuaqi/myenterprise/update/moveout'
,
checkFuHuaQiToken
,
asyncHandler
(
updateMoveOut
));
/**我的企业信息 回显 */
// httpServer.post('/fuhuaqi/myenterprise//moveout', checkFuHuaQiToken, asyncHandler(updateMoveOut));
/**审核企业填报数据 */
httpServer
.
post
(
'/fuhuaqi/enterprise/examine/unaudited'
,
checkFuHuaQiToken
,
asyncHandler
(
unaudited
));
httpServer
.
post
(
'/fuhuaqi/enterprise/examine/auditcompleted'
,
checkFuHuaQiToken
,
asyncHandler
(
auditCompleted
));
httpServer
.
post
(
'/fuhuaqi/enterprise/examine/replenish'
,
checkFuHuaQiToken
,
asyncHandler
(
replenish
));
httpServer
.
post
(
'/fuhuaqi/enterprise/examine/pass'
,
checkFuHuaQiToken
,
asyncHandler
(
passExamine
));
}
...
...
@@ -275,4 +282,63 @@ async function replenishInPut(req, res) {
let
result
=
await
enterpriseBiz
.
replenishMyEnterpriseInPutInfo
(
Uscc
,
form
);
res
.
success
(
result
);
}
\ No newline at end of file
}
/**
* 待审核企业数据
* 3.0
* @param req
* @param res
*/
async
function
unaudited
(
req
,
res
)
{
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
toExamineBiz
.
unauditedList
(
Uscc
);
res
.
success
(
result
);
}
/**
* 已审核企业数据
* 3.0
* @param req
* @param res
*/
async
function
auditCompleted
(
req
,
res
)
{
let
reqConf
=
{
year
:
"Number"
,
quarter
:
"Number"
};
let
{
year
,
quarter
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
Uscc
=
req
.
headers
.
uscc
;
let
result
=
await
toExamineBiz
.
auditCompletedList
(
Uscc
,
year
,
quarter
);
res
.
success
(
result
);
}
/**
* 孵化器修改企业填报的数据
* 3.0
* @param req
* @param res
*/
async
function
replenish
(
req
,
res
)
{
let
reqConf
=
{
year
:
"Number"
,
quarter
:
"Number"
,
uscc
:
"String"
,
type
:
"Number"
,
form
:
"Object"
};
let
{
year
,
quarter
,
uscc
,
type
,
form
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
fuHuaQiUscc
=
req
.
headers
.
uscc
;
let
result
=
await
toExamineBiz
.
fuHuaQiReplenishEnterpriseDataDeclaration
(
fuHuaQiUscc
,
uscc
,
type
,
year
,
quarter
,
form
);
res
.
success
(
result
);
}
/**
* 孵化器通过企业填报的数据
* 3.0
* @param req
* @param res
*/
async
function
passExamine
(
req
,
res
)
{
let
reqConf
=
{
year
:
"Number"
,
quarter
:
"Number"
,
uscc
:
"String"
,
type
:
"Number"
};
let
{
year
,
quarter
,
uscc
,
type
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
fuHuaQiUscc
=
req
.
headers
.
uscc
;
let
result
=
await
toExamineBiz
.
fuHuaQiPass
(
fuHuaQiUscc
,
uscc
,
type
,
year
,
quarter
);
res
.
success
(
result
);
}
src/util/piecemeal.ts
View file @
b7e5690e
...
...
@@ -63,7 +63,7 @@ export function checkDataHaveNull(data:object, sensitive:boolean) {
for
(
let
key
in
data
)
{
if
(
data
[
key
]
==
null
||
data
[
key
]
==
undefined
)
success
=
true
;
if
(
sensitive
)
{
if
(
data
[
key
]
==
0
||
data
[
key
]
==
""
)
success
=
true
;
if
(
data
[
key
]
==
=
0
||
data
[
key
]
=
==
""
)
success
=
true
;
}
}
return
success
;
...
...
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