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
5fb13fdf
Commit
5fb13fdf
authored
Oct 16, 2025
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
889bcfb6
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
329 additions
and
45 deletions
+329
-45
checkMonthData.ts
src/biz/admin/checkData/checkMonthData.ts
+319
-36
enterpriseBase.ts
src/biz/admin/stats/guanWeiHui/enterpriseBase.ts
+2
-2
myEnterprise.ts
src/biz/mobileFuHuaQi/enterprise/myEnterprise.ts
+1
-0
stats.ts
src/routers/admin/stats.ts
+7
-7
No files found.
src/biz/admin/checkData/checkMonthData.ts
View file @
5fb13fdf
...
@@ -14,6 +14,8 @@ import { changeAddToString } from "../../../tools/system";
...
@@ -14,6 +14,8 @@ import { changeAddToString } from "../../../tools/system";
import
{
outPutMonthTableList
}
from
"../fuHuaQi/month"
;
import
{
outPutMonthTableList
}
from
"../fuHuaQi/month"
;
import
{
addressIsInZJ
,
latLngInZJ
}
from
"../../../tools/transCode"
;
import
{
addressIsInZJ
,
latLngInZJ
}
from
"../../../tools/transCode"
;
import
{
outPutFinancingList
}
from
"../enterprise/financing"
;
import
{
outPutFinancingList
}
from
"../enterprise/financing"
;
import
*
as
enterpriseData
from
"../../../data/enterprise/enterprise"
;
import
*
as
transCodeTools
from
"../../../tools/transCode"
function
changeTimeStr
(
dataCycle
)
{
function
changeTimeStr
(
dataCycle
)
{
let
dataCycleStr
=
`
${
dataCycle
}
`
;
let
dataCycleStr
=
`
${
dataCycle
}
`
;
...
@@ -342,17 +344,18 @@ export async function monthData() {
...
@@ -342,17 +344,18 @@ export async function monthData() {
let
year
=
new
Date
(
changeTimeStr
(
dataMonthInfo
.
dataCycle
)).
getFullYear
();
let
year
=
new
Date
(
changeTimeStr
(
dataMonthInfo
.
dataCycle
)).
getFullYear
();
let
month
=
new
Date
(
changeTimeStr
(
dataMonthInfo
.
dataCycle
)).
getMonth
()
+
1
;
let
month
=
new
Date
(
changeTimeStr
(
dataMonthInfo
.
dataCycle
)).
getMonth
()
+
1
;
/
/ /
**月度任务 */
/**月度任务 */
//
let monthDataList = await outPutMonthTableList(0, year, month, OUTPUTTYPE.当前数据 );
let
monthDataList
=
await
outPutMonthTableList
(
0
,
year
,
month
,
OUTPUTTYPE
.
当前数据
);
/
/ /
**新入孵数据 */
/**新入孵数据 */
//
let ruFuData = await dwEnterpriseDataList();
let
ruFuData
=
await
dwEnterpriseDataList
();
/
/ /
**新注册新迁入 */
/**新注册新迁入 */
//
let {qianRuList, createList} = await monthEnterpriseStats();
let
{
qianRuList
,
createList
}
=
await
monthEnterpriseStats
();
/
/ /
** 融资*/
/** 融资*/
//
let financingDataStr = moment(changeTimeStr(dataMonthInfo.dataCycle)).add(1, 'M').format("YYYY-MM-DD");
let
financingDataStr
=
moment
(
changeTimeStr
(
dataMonthInfo
.
dataCycle
)).
add
(
1
,
'M'
).
format
(
"YYYY-MM-DD"
);
//
let financingList = await outPutFinancingList(`${financingDataStr} 00:00:00`, "", [], 1, OUTPUTTYPE.当前数据, false);
let
financingList
=
await
outPutFinancingList
(
`
${
financingDataStr
}
00:00:00`
,
""
,
[],
1
,
OUTPUTTYPE
.
当前数据
,
false
);
let
{
thisYearDataList
,
thisYearQianRuList
}
=
await
t1
();
let
t1Res
=
await
t1
();
let
thisYearFinancingList
=
[];
let
thisYearFinancingList
=
[];
...
@@ -361,40 +364,49 @@ export async function monthData() {
...
@@ -361,40 +364,49 @@ export async function monthData() {
thisYearFinancingList
=
thisYearFinancingList
.
concat
(
thisYearFinancingList
,
itemList
)
thisYearFinancingList
=
thisYearFinancingList
.
concat
(
thisYearFinancingList
,
itemList
)
}
}
/**本年度累计 */
let
{
thisYearDataList
,
thisYearQianRuList
}
=
await
accumulate
();
let
currentEnterpriseList
=
await
currentEnterprise
();
return
{
return
{
title
:
"月报数据下载"
,
title
:
"月报数据下载"
,
dataList
:[
dataList
:[
//
{
{
//
sheetName:"孵化器基本情况",
sheetName
:
"孵化器基本情况"
,
//
data:monthDataList
data
:
monthDataList
//
},
},
//
{
{
//
sheetName:"新入孵数据情况源数据",
sheetName
:
"新入孵数据情况源数据"
,
//
data:ruFuData.dataList
data
:
ruFuData
.
dataList
//
},
},
//
{
{
//
sheetName:"新注册",
sheetName
:
"新注册"
,
//
data:createList
data
:
createList
//
},
},
//
{
{
//
sheetName:"新迁入",
sheetName
:
"新迁入"
,
//
data:qianRuList
data
:
qianRuList
//
},
},
//
{
{
//
sheetName:"融资",
sheetName
:
"融资"
,
//
data:financingList
data
:
financingList
//
},
},
//
{
{
// sheetName:`${2024}年1-${7
}月累计融资企业汇总统计`,
sheetName
:
`
${
2025
}
年1-
${
10
}
月累计融资企业汇总统计`
,
//
data:thisYearFinancingList
data
:
thisYearFinancingList
//
},
},
{
{
sheetName
:
`
${
year
}
年1-
${
month
}
月累计新迁入企业汇总统计`
,
sheetName
:
`
${
year
}
年1-
${
month
}
月累计新迁入企业汇总统计`
,
data
:
thisYearQianRuList
,
data
:
t
1Res
.
t
hisYearQianRuList
,
},
},
{
{
sheetName
:
`
${
year
}
年1-
${
month
}
月累计新注册企业汇总统计`
,
sheetName
:
`
${
year
}
年1-
${
month
}
月累计新注册企业汇总统计`
,
data
:
thisYearDataList
,
data
:
t1Res
.
thisYearDataList
,
},
{
sheetName
:
`截至
${
year
}
年1-
${
month
}
月在孵企业汇总统计`
,
data
:
currentEnterpriseList
,
}
}
]
]
...
@@ -687,3 +699,273 @@ async function t1() {
...
@@ -687,3 +699,273 @@ async function t1() {
thisYearQianRuList
.
sort
((
a
:
any
,
b
:
any
)
=>
{
return
a
[
0
]
-
b
[
0
]});
thisYearQianRuList
.
sort
((
a
:
any
,
b
:
any
)
=>
{
return
a
[
0
]
-
b
[
0
]});
return
{
thisYearDataList
,
thisYearQianRuList
}
return
{
thisYearDataList
,
thisYearQianRuList
}
}
}
async
function
currentEnterprise
()
{
let
list
=
await
enterpriseData
.
findEnterpriseList
({
state
:
FUHUASTATE
.
实体孵化
});
let
enterpriseList
=
[];
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
{
logonTime
,
industry
,
logonAddress
,
state
,
lng
,
lat
}
=
list
[
i
];
// continue;
let
zaiFuQiYeSuccess
=
false
;
let
logonAddressSuccess
=
false
;
if
(
logonTime
)
{
let
yearLong
=
moment
().
diff
(
logonTime
,
'years'
);
if
(
industry
.
indexOf
(
INDUSTRY
.
人工智能及智能制造
)
!=
-
1
||
industry
.
indexOf
(
INDUSTRY
.
生物医药
)
!=
-
1
||
industry
.
indexOf
(
INDUSTRY
.
集成电路
)
!=
-
1
)
{
if
(
yearLong
<
5
)
zaiFuQiYeSuccess
=
true
;
}
else
{
//其他领域
if
(
yearLong
<
4
)
zaiFuQiYeSuccess
=
true
;
}
}
if
(
logonAddress
&&
logonAddress
.
length
&&
logonAddress
[
1
]
&&
state
==
FUHUASTATE
.
实体孵化
)
{
if
(
lat
&&
lng
)
{
let
isInZJ
=
await
transCodeTools
.
latLngInZJ
(
parseFloat
(
lat
),
parseFloat
(
lng
));
if
(
isInZJ
)
{
logonAddressSuccess
=
true
;
}
}
}
if
(
logonAddressSuccess
&&
zaiFuQiYeSuccess
)
{
enterpriseList
.
push
(
list
[
i
]);
console
.
log
(
i
);
}
}
let
usccMap
=
await
findFuHuaQiOperationNameMapByParam
({});
//用于将孵化器uscc变成孵化器名称
/**组合二维数组 titleList 与 keyList 要一一对应 */
const
TitleList
=
[
"企业名称"
,
"入库时间"
,
"所属孵化器"
,
"新注册/新迁入"
,
"孵化状态"
,
"虚拟孵化服务模式"
,
"统一信用代码"
,
"行业领域"
,
"主营业务"
,
"注册时间"
,
"首次入孵时间"
,
"迁入时间"
,
"是否自然人控股"
,
"迁入前注册地址"
,
"注册地址"
,
"经营地址"
,
"租赁面积(平方米)"
,
"创业创新方向"
,
"创业创始人背景"
,
"海外专利"
,
"一类专利"
,
"二类专利"
,
"是否上市"
,
"高新技术"
,
"专精特新"
,
"小巨人培育"
,
"小巨人"
,
"参保人数"
,
"面积"
];
//表头顺序 如果这里修改了 下面的keyList也要修改
const
KeyList
=
[
"name"
,
"createTime"
,
"fuhuaqiUscc"
,
"isCreate"
,
"state"
,
"virtualCause"
,
"uscc"
,
"industry"
,
"mainBusiness"
,
"logonTime"
,
"firstIncubationTime"
,
"timeOfImmigration"
,
"isNaturalPersonHolding"
,
"oldLogonAddress"
,
"logonAddress"
,
"operatingAddress"
,
"leasedArea"
,
"cycxfx"
,
"cycsrbj"
,
"alienPatent"
,
"classIPatent"
,
"secondClassPatent"
,
"beOnTheMarket"
,
"highTechMs"
,
"zjtxMs"
,
"xjrpyMs"
,
"xjrMs"
,
"canBaoRenShu"
,
"leasedArea"
];
//表头对应的字段顺序
let
checkEnterpriseItemKey
=
Object
.
assign
({
canBaoRenShu
:
{
key
:
"参保人数"
}
},
EnterpriseListConfig
);
let
dataList
=
[
TitleList
];
let
deleFHQMap
=
{
"91310115MA1K49J04M"
:
1
,
"91310115MA1K3DT2XP"
:
1
,
"91310000755007083Q"
:
1
,
"91310115MA1K4JHY79"
:
1
,
"91310115MACFNHYE5A"
:
1
,
"91310000MA1K382LX1"
:
1
,
"91310115MA1HA8LK83"
:
1
,
"91310115342032571U"
:
1
,
"91310115342086027G"
:
1
,
"913100005997953048"
:
1
,
};
for
(
let
i
=
0
;
i
<
enterpriseList
.
length
;
i
++
)
{
let
info
=
enterpriseList
[
i
];
if
(
deleFHQMap
[
info
.
fuhuaqiUscc
])
continue
;
/**截取返回结果 */
let
changeData
:
any
=
extractData
(
checkEnterpriseItemKey
,
info
,
true
);
/**匹配所属孵化器名称 匹配不上时这里显示空字符串 */
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
if
(
!
info
.
taskId
||
info
.
enterpriseIsInPut
)
{
if
(
info
.
enterpriseIsInPut
)
changeData
.
isCreate
=
"底库数据"
;
else
{
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"补录新注册"
:
"补录新迁入"
;
}
}
else
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"新注册"
:
"新迁入"
;
if
(
!
changeAddToString
(
info
.
oldLogonAddress
))
{
changeData
.
oldLogonAddress
=
"-"
;
}
if
(
!
changeAddToString
(
info
.
logonAddress
))
{
changeData
.
logonAddress
=
"-"
;
}
if
(
!
changeAddToString
(
info
.
operatingAddress
))
{
changeData
.
operatingAddress
=
"-"
;
}
changeData
.
cycxfx
=
changeEnumValue
(
CYCXFX
,
changeData
.
cycxfx
)
||
"未选择"
;
changeData
.
cycsrbj
=
changeEnumValue
(
CYCSRBJ
,
changeData
.
cycsrbj
)
||
"未选择"
;
changeData
.
isNaturalPersonHolding
=
changeData
.
isNaturalPersonHolding
?
"是"
:
"否"
;
/**修改枚举值 */
changeData
.
industry
=
changeEnumValue
(
INDUSTRY
,
changeData
.
industry
);
changeData
.
state
=
changeEnumValue
(
FUHUASTATE
,
changeData
.
state
);
changeData
.
virtualCause
=
changeEnumValue
(
VIRTUALCAUSE
,
changeData
.
virtualCause
);
/**- */
let
intellectualProperty
=
changeData
.
intellectualProperty
||
{};
changeData
.
alienPatent
=
intellectualProperty
.
alienPatent
||
0
;
changeData
.
classIPatent
=
intellectualProperty
.
classIPatent
||
0
;
changeData
.
secondClassPatent
=
intellectualProperty
.
secondClassPatent
||
0
;
if
(
changeData
.
qualification
)
{
let
onceData
=
changeData
.
qualification
;
let
beOnTheMarket
=
"无上市"
;
if
(
onceData
.
beOnTheMarket
)
{
beOnTheMarket
=
changeEnumValue
(
FINANCINGROUNDS
,
onceData
.
beOnTheMarket
)
||
"无上市"
;
}
changeData
.
beOnTheMarket
=
beOnTheMarket
;
changeData
.
highTechMs
=
onceData
.
highTechMs
?
new
Date
(
onceData
.
highTechMs
).
getFullYear
()
:
'未认证'
;
//高新技术
changeData
.
zjtxMs
=
onceData
.
zjtxMs
?
new
Date
(
onceData
.
zjtxMs
).
getFullYear
()
:
'未认证'
;
//专精特新
changeData
.
xjrpyMs
=
onceData
.
xjrpyMs
?
new
Date
(
onceData
.
xjrpyMs
).
getFullYear
()
:
'未认证'
;
//小巨人培育
changeData
.
xjrMs
=
onceData
.
xjrMs
?
new
Date
(
onceData
.
xjrMs
).
getFullYear
()
:
'未认证'
;
//小巨人
}
else
{
changeData
.
beOnTheMarket
=
"无上市"
;
//是否上市
changeData
.
highTechMs
=
'未认证'
;
//高新技术
changeData
.
zjtxMs
=
'未认证'
;
//专精特新
changeData
.
xjrpyMs
=
'未认证'
;
//小巨人培育
changeData
.
xjrMs
=
'未认证'
;
//小巨人
}
/**根据表头与key的顺序 生成小数组 */
let
subList
=
[];
KeyList
.
forEach
(
keyStr
=>
{
let
value
=
changeData
[
keyStr
];
if
(
value
==
null
||
value
==
undefined
)
value
=
"-"
;
subList
.
push
(
value
);
});
dataList
.
push
(
subList
);
}
return
dataList
;
}
/**
* 本年度累计
* @returns
*/
async
function
accumulate
()
{
/** */
let
thisYearStartMs
=
new
Date
(
`
${
new
Date
().
getFullYear
()}
-01-01 00:00:00`
).
valueOf
();
const
TitleList
=
[
"月份"
,
"企业名称"
,
"入库时间"
,
"所属孵化器"
,
"新注册/新迁入"
,
"孵化状态"
,
"虚拟孵化服务模式"
,
"统一信用代码"
,
"行业领域"
,
"主营业务"
,
"注册时间"
,
"首次入孵时间"
,
"迁入时间"
,
"是否自然人控股"
,
"迁入前注册地址"
,
"注册地址"
,
"经营地址"
,
"租赁面积(平方米)"
,
"创业创新方向"
,
"创业创始人背景"
,
"海外专利"
,
"一类专利"
,
"二类专利"
,
"是否上市"
,
"高新技术"
,
"专精特新"
,
"小巨人培育"
,
"小巨人"
,
"参保人数"
];
//表头顺序 如果这里修改了 下面的keyList也要修改
let
thisYearDataList
=
[
TitleList
];
let
thisYearQianRuList
=
[
TitleList
];
let
usccMap
=
await
findFuHuaQiOperationNameMapByParam
({});
//用于将孵化器uscc变成孵化器名称
/**找目标月入库的数据 */
let
param
=
{
createTime
:
{
"$gt"
:
new
Date
(
"2024-01-01 00:00:00"
).
valueOf
()
},
"$or"
:
[{
"$and"
:
[{
"draftLock"
:
true
},
{
"taskId"
:
{
"$ne"
:
null
}
}]
},
{
"$and"
:
[{
"draftLock"
:
false
},
{
"taskId"
:
null
}]
}]
//未提交的企业不能查看
};
let
enterpriseList
=
await
findEnterpriseList
(
param
);
/**组合二维数组 titleList 与 keyList 要一一对应 */
const
KeyList
=
[
"name"
,
"createTime"
,
"fuhuaqiUscc"
,
"isCreate"
,
"state"
,
"virtualCause"
,
"uscc"
,
"industry"
,
"mainBusiness"
,
"logonTime"
,
"firstIncubationTime"
,
"timeOfImmigration"
,
"isNaturalPersonHolding"
,
"oldLogonAddress"
,
"logonAddress"
,
"operatingAddress"
,
"leasedArea"
,
"cycxfx"
,
"cycsrbj"
,
"alienPatent"
,
"classIPatent"
,
"secondClassPatent"
,
"beOnTheMarket"
,
"highTechMs"
,
"zjtxMs"
,
"xjrpyMs"
,
"xjrMs"
,
"canBaoRenShu"
];
//表头对应的字段顺序
let
checkEnterpriseItemKey
=
Object
.
assign
({
canBaoRenShu
:
{
key
:
"参保人数"
}
},
EnterpriseListConfig
);
for
(
let
i
=
0
;
i
<
enterpriseList
.
length
;
i
++
)
{
let
info
=
enterpriseList
[
i
];
let
logonTimeIsThisYear
=
false
;
if
(
info
.
logonAddress
)
{
}
if
(
info
.
logonTime
>
thisYearStartMs
)
{
logonTimeIsThisYear
=
true
;
}
let
isCreate
=
false
;
let
isQianRu
=
false
;
//迁入
if
(
info
.
oldLogonAddress
&&
info
.
oldLogonAddress
.
length
&&
info
.
oldLogonAddress
[
0
])
{
let
qianRuIsZJ
=
await
latLngInZJ
(
parseFloat
(
info
.
oldLat
),
parseFloat
(
info
.
oldLng
));
if
(
!
qianRuIsZJ
)
{
//非张江
let
logonAddressSuccess
=
await
latLngInZJ
(
parseFloat
(
info
.
lat
),
parseFloat
(
info
.
lng
));
if
(
logonAddressSuccess
)
isQianRu
=
true
;
}
else
{
//张江
if
(
logonTimeIsThisYear
)
{
let
logonAddressSuccess
=
await
latLngInZJ
(
parseFloat
(
info
.
lat
),
parseFloat
(
info
.
lng
));
if
(
logonAddressSuccess
)
isCreate
=
true
;
}
}
}
//新注册
if
(
info
.
isCreate
)
{
if
(
logonTimeIsThisYear
)
{
isCreate
=
await
latLngInZJ
(
parseFloat
(
info
.
lat
),
parseFloat
(
info
.
lng
));
}
}
/**截取返回结果 */
let
changeData
:
any
=
extractData
(
checkEnterpriseItemKey
,
info
,
true
);
/**匹配所属孵化器名称 匹配不上时这里显示空字符串 */
changeData
.
fuhuaqiUscc
=
usccMap
[
info
.
fuHuaQiUscc
]
||
""
;
if
(
!
info
.
taskId
||
info
.
enterpriseIsInPut
)
{
if
(
info
.
enterpriseIsInPut
)
changeData
.
isCreate
=
"底库数据"
;
else
{
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"补录新注册"
:
"补录新迁入"
;
}
}
else
changeData
.
isCreate
=
(
changeData
.
isCreate
)
?
"新注册"
:
"新迁入"
;
if
(
!
changeAddToString
(
info
.
oldLogonAddress
))
{
changeData
.
oldLogonAddress
=
"-"
;
}
if
(
!
changeAddToString
(
info
.
logonAddress
))
{
changeData
.
logonAddress
=
"-"
;
}
if
(
!
changeAddToString
(
info
.
operatingAddress
))
{
changeData
.
operatingAddress
=
"-"
;
}
changeData
.
cycxfx
=
changeEnumValue
(
CYCXFX
,
changeData
.
cycxfx
)
||
"未选择"
;
changeData
.
cycsrbj
=
changeEnumValue
(
CYCSRBJ
,
changeData
.
cycsrbj
)
||
"未选择"
;
changeData
.
isNaturalPersonHolding
=
changeData
.
isNaturalPersonHolding
?
"是"
:
"否"
;
/**修改枚举值 */
changeData
.
industry
=
changeEnumValue
(
INDUSTRY
,
changeData
.
industry
);
changeData
.
state
=
changeEnumValue
(
FUHUASTATE
,
changeData
.
state
);
changeData
.
virtualCause
=
changeEnumValue
(
VIRTUALCAUSE
,
changeData
.
virtualCause
);
/**- */
let
intellectualProperty
=
changeData
.
intellectualProperty
||
{};
changeData
.
alienPatent
=
intellectualProperty
.
alienPatent
||
0
;
changeData
.
classIPatent
=
intellectualProperty
.
classIPatent
||
0
;
changeData
.
secondClassPatent
=
intellectualProperty
.
secondClassPatent
||
0
;
if
(
changeData
.
qualification
)
{
let
onceData
=
changeData
.
qualification
;
let
beOnTheMarket
=
"无上市"
;
if
(
onceData
.
beOnTheMarket
)
{
beOnTheMarket
=
changeEnumValue
(
FINANCINGROUNDS
,
onceData
.
beOnTheMarket
)
||
"无上市"
;
}
changeData
.
beOnTheMarket
=
beOnTheMarket
;
changeData
.
highTechMs
=
onceData
.
highTechMs
?
new
Date
(
onceData
.
highTechMs
).
getFullYear
()
:
'未认证'
;
//高新技术
changeData
.
zjtxMs
=
onceData
.
zjtxMs
?
new
Date
(
onceData
.
zjtxMs
).
getFullYear
()
:
'未认证'
;
//专精特新
changeData
.
xjrpyMs
=
onceData
.
xjrpyMs
?
new
Date
(
onceData
.
xjrpyMs
).
getFullYear
()
:
'未认证'
;
//小巨人培育
changeData
.
xjrMs
=
onceData
.
xjrMs
?
new
Date
(
onceData
.
xjrMs
).
getFullYear
()
:
'未认证'
;
//小巨人
}
else
{
changeData
.
beOnTheMarket
=
"无上市"
;
//是否上市
changeData
.
highTechMs
=
'未认证'
;
//高新技术
changeData
.
zjtxMs
=
'未认证'
;
//专精特新
changeData
.
xjrpyMs
=
'未认证'
;
//小巨人培育
changeData
.
xjrMs
=
'未认证'
;
//小巨人
}
/**根据表头与key的顺序 生成小数组 */
let
subList
=
[];
subList
.
push
(
new
Date
(
info
.
createTime
).
getMonth
()
+
1
);
KeyList
.
forEach
(
keyStr
=>
{
let
value
=
changeData
[
keyStr
];
if
(
value
==
null
||
value
==
undefined
)
value
=
"-"
;
subList
.
push
(
value
);
});
if
(
isQianRu
)
thisYearDataList
.
push
(
subList
);
if
(
isCreate
)
thisYearQianRuList
.
push
(
subList
);
}
thisYearDataList
.
sort
((
a
:
any
,
b
:
any
)
=>
{
return
a
[
0
]
-
b
[
0
];
});
thisYearQianRuList
.
sort
((
a
:
any
,
b
:
any
)
=>
{
return
a
[
0
]
-
b
[
0
];
});
return
{
thisYearDataList
,
thisYearQianRuList
};
}
\ No newline at end of file
src/biz/admin/stats/guanWeiHui/enterpriseBase.ts
View file @
5fb13fdf
...
@@ -94,7 +94,7 @@ function getDeclarationTime() {
...
@@ -94,7 +94,7 @@ function getDeclarationTime() {
export
async
function
enterpriseNumberChnageInfo
(
year
)
{
export
async
function
enterpriseNumberChnageInfo
(
year
)
{
let
param
=
{
let
param
=
{
taskId
:{
"$regex"
:
/^
\
d
{
18
}
2024
\
d
{
1
,
2
}
$
/
},
taskId
:{
"$regex"
:
`/^\d{18}
${
year
}
\d{1,2}$/`
},
draftLock
:
true
,
draftLock
:
true
,
};
};
let
dbList
=
await
findEnterpriseList
(
param
);
let
dbList
=
await
findEnterpriseList
(
param
);
...
@@ -134,7 +134,7 @@ export async function valueAnalysisStatis(uscc) {
...
@@ -134,7 +134,7 @@ export async function valueAnalysisStatis(uscc) {
let
param
=
{
uscc
};
let
param
=
{
uscc
};
let
i18dbList
=
await
findI18nRegisterListByParam
(
param
);
let
i18dbList
=
await
findI18nRegisterListByParam
(
param
);
let
partnersCount
=
i18dbList
.
length
()
;
let
partnersCount
=
i18dbList
.
length
;
let
cooperateCount
=
await
getIcrCountByParam
(
param
);
let
cooperateCount
=
await
getIcrCountByParam
(
param
);
let
dbList
=
await
findFinancingList
({
fuHuaQiUscc
:
uscc
});
let
dbList
=
await
findFinancingList
({
fuHuaQiUscc
:
uscc
});
...
...
src/biz/mobileFuHuaQi/enterprise/myEnterprise.ts
View file @
5fb13fdf
...
@@ -510,6 +510,7 @@ export async function replenishMyEnterpriseInPutInfo(fuHuaQiUscc:string, param)
...
@@ -510,6 +510,7 @@ export async function replenishMyEnterpriseInPutInfo(fuHuaQiUscc:string, param)
await
enterpriseData
.
replenishEnterpriseData
(
fuHuaQiUscc
,
param
);
await
enterpriseData
.
replenishEnterpriseData
(
fuHuaQiUscc
,
param
);
}
}
await
dataBaseInfo
.
save
();
addFuHuaQiPoint
(
fuHuaQiUscc
,
FUHUAQINODEENUM
.
我的企业
_
补录企业
,
param
.
uscc
,
'新迁入'
);
addFuHuaQiPoint
(
fuHuaQiUscc
,
FUHUAQINODEENUM
.
我的企业
_
补录企业
,
param
.
uscc
,
'新迁入'
);
...
...
src/routers/admin/stats.ts
View file @
5fb13fdf
...
@@ -43,16 +43,16 @@ export function setRouter(httpServer) {
...
@@ -43,16 +43,16 @@ export function setRouter(httpServer) {
httpServer
.
post
(
'/admin/stats/guanweih/fuhuaqi/valueanalysis'
,
checkGuanWeiHuiToken
,
asyncHandler
(
valueAnalysis
));
//价值分析
httpServer
.
post
(
'/admin/stats/guanweih/fuhuaqi/valueanalysis'
,
checkGuanWeiHuiToken
,
asyncHandler
(
valueAnalysis
));
//价值分析
//企业自画像
//企业自画像
httpServer
.
post
(
'/admin/stats/enterprise/portrait'
,
checkGuanWeiHuiToken
,
asyncHandler
(
enterprisportrait
));
//价值分析
//
httpServer.post('/admin/stats/enterprise/portrait',checkGuanWeiHuiToken, asyncHandler(enterprisportrait));//价值分析
}
}
async
function
enterprisportrait
(
req
,
res
)
{
//
async function enterprisportrait(req, res) {
// d
}
//
}
...
@@ -87,11 +87,11 @@ async function enterpriseChange(req, res) {
...
@@ -87,11 +87,11 @@ async function enterpriseChange(req, res) {
async
function
valueAnalysis
(
req
,
res
)
{
async
function
valueAnalysis
(
req
,
res
)
{
let
reqConf
=
{
year
:
'Number
'
};
let
reqConf
=
{
uscc
:
'String
'
};
const
NotMustHaveKeys
=
[];
const
NotMustHaveKeys
=
[];
let
{
year
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
{
uscc
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
result
=
await
enterpriseBaseBiz
.
valueAnalysisStatis
(
year
);
let
result
=
await
enterpriseBaseBiz
.
valueAnalysisStatis
(
uscc
);
res
.
success
(
result
);
res
.
success
(
result
);
}
}
...
...
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