Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
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
Administrator
dsk-cr20g
Commits
c7500d25
Commit
c7500d25
authored
Aug 10, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev20230707' of
http://192.168.60.201/root/dsk-operate-sys
into dev20230707
parents
7ed7865d
dd3840a0
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
707 additions
and
512 deletions
+707
-512
JskCombineInfoController.java
.../com/dsk/web/controller/dsk/JskCombineInfoController.java
+51
-0
MarketAnalysisController.java
...ontroller/search/controller/MarketAnalysisController.java
+37
-2
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+39
-10
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+1
-0
jsnr.vue
...erate-ui/src/views/project/projectList/component/jsnr.vue
+1
-1
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+3
-3
detail.vue
dsk-operate-ui/src/views/project/projectList/detail.vue
+1
-1
index.vue
...erate-ui/src/views/radar/components/debtProject/index.vue
+1
-1
details.vue
dsk-operate-ui/src/views/radar/debtProject/details.vue
+351
-449
authUser.vue
dsk-operate-ui/src/views/system/role/authUser.vue
+1
-1
index.vue
dsk-operate-ui/src/views/system/user/index.vue
+1
-1
JskCombineSearchDto.java
...va/com/dsk/system/domain/dsk/dto/JskCombineSearchDto.java
+98
-0
EnterpriseService.java
...ain/java/com/dsk/system/dskService/EnterpriseService.java
+19
-7
JskCombineInfoService.java
...java/com/dsk/system/dskService/JskCombineInfoService.java
+62
-0
MarketAnalysisService.java
...a/com/dsk/system/searchService/MarketAnalysisService.java
+27
-2
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+4
-2
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+1
-19
EconomicServiceImpl.java
...java/com/dsk/system/service/impl/EconomicServiceImpl.java
+8
-12
RegionalEnterprisesServiceImpl.java
...k/system/service/impl/RegionalEnterprisesServiceImpl.java
+1
-1
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/dsk/JskCombineInfoController.java
0 → 100644
View file @
c7500d25
package
com
.
dsk
.
web
.
controller
.
dsk
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.dsk.dto.JskCombineSearchDto
;
import
com.dsk.system.dskService.JskCombineInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 集团户相关信息
* @author lcl
* @create 2023/8/7
*/
@Slf4j
@RestController
@RequestMapping
(
value
=
"/combine/info"
)
public
class
JskCombineInfoController
extends
BaseController
{
@Autowired
private
JskCombineInfoService
baseService
;
/**
* 集团成员列表
*/
@GetMapping
(
"/memberList"
)
public
TableDataInfo
memberList
(
JskCombineSearchDto
dto
)
throws
Exception
{
return
baseService
.
memberList
(
dto
);
}
/**
* 分组成员数量
*/
@GetMapping
(
"/group/memberCount"
)
public
R
groupMemberCount
(
JskCombineSearchDto
dto
)
{
return
baseService
.
groupMemberCount
(
dto
);
}
/**
* 集团业绩列表
*/
@GetMapping
(
"/businessList"
)
public
TableDataInfo
businessList
(
JskCombineSearchDto
dto
)
throws
Exception
{
return
baseService
.
businessList
(
dto
);
}
}
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/MarketAnalysisController.java
View file @
c7500d25
...
...
@@ -55,8 +55,6 @@ public class MarketAnalysisController extends BaseController {
return
marketAnalysisService
.
certGroupByMajorProvinceLevel
();
}
/*
* 产业结构-按年份选择 各个项目类型项目总数
*/
...
...
@@ -72,6 +70,14 @@ public class MarketAnalysisController extends BaseController {
return
marketAnalysisService
.
bidMoneyGroupByProjectType
(
object
);
}
//-----------------------------------中标----------------------------------
//全攻中标项目统计
@RequestMapping
(
"/countBidByType"
)
public
AjaxResult
countBidByType
(
@RequestBody
JSONObject
object
)
{
return
marketAnalysisService
.
countBidByType
(
object
);
}
/*
* 全国各地区中标统计TOP10
*/
...
...
@@ -80,7 +86,32 @@ public class MarketAnalysisController extends BaseController {
return
marketAnalysisService
.
countBidGroupByProvince
(
object
);
}
//全国中标金额分析
@RequestMapping
(
"/rangeBidMoney"
)
public
AjaxResult
rangeBidMoney
(
@RequestBody
JSONObject
object
)
{
return
marketAnalysisService
.
rangeBidMoney
(
object
);
}
//全国中标趋势分析
@RequestMapping
(
"/rangeBidFiveYears"
)
public
AjaxResult
rangeBidFiveYears
()
{
return
marketAnalysisService
.
rangeBidFiveYears
();
}
//全国中标下浮率分析
@RequestMapping
(
"/lowerRateByYear"
)
public
AjaxResult
lowerRateByYear
(
@RequestBody
JSONObject
object
)
{
return
marketAnalysisService
.
lowerRateByYear
(
object
);
}
//全国中标业绩项目类型下浮率
@RequestMapping
(
"/lowerRangeTenderType"
)
public
AjaxResult
lowerRangeTenderType
(
@RequestBody
JSONObject
object
)
{
return
marketAnalysisService
.
lowerRangeTenderType
(
object
);
}
//-----------------------------------土地----------------------------------
//央企数字化经营系统 土地交易
@RequestMapping
(
"/countLandMarketByType"
)
public
AjaxResult
countLandMarketByType
(
@RequestBody
JSONObject
object
){
...
...
@@ -99,6 +130,10 @@ public class MarketAnalysisController extends BaseController {
return
marketAnalysisService
.
countLandMarketByYear
();
}
//-----------------------------------招标----------------------------------
//央企数字化经营系统 全国公招项目统计
@RequestMapping
(
"/countNewsBidByYear"
)
public
AjaxResult
countNewsBidByYear
(){
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
c7500d25
...
...
@@ -206,6 +206,7 @@
class=
"popups"
:visible
.
sync=
"dialogVisible"
width=
"534px"
:close-on-click-modal=
"false"
@
close=
"resetForm('ruleForm')"
>
<div
class=
"poptitle"
>
...
...
@@ -214,9 +215,9 @@
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"企业名称:"
class=
"row"
prop=
"companyName"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.companyName"
@
input=
"getCompany"
></el-input>
<div
class=
"resultlist
"
v-if=
"showlist"
id=
"box
"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.nam
e"
></span></div>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.companyName"
@
input=
"getCompany
(1)
"
></el-input>
<div
class=
"resultlist
infinite-list"
v-if=
"showlist"
id=
"box"
v-infinite-scroll=
"load"
style=
"overflow:auto
"
>
<div
class=
"infinite-list-item"
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
:key=
"companypag
e"
></span></div>
</div>
</el-form-item>
<el-form-item
label=
"客户等级:"
class=
"row"
>
...
...
@@ -310,6 +311,8 @@
showlist
:
false
,
keys
:
1
,
isSkeleton
:
true
,
companypage
:
1
,
isscroll
:
false
,
}
},
created
()
{
...
...
@@ -428,22 +431,48 @@
//获取建设库客户
getCompany
(
value
){
this
.
queryParam
.
companyId
=
null
if
(
value
.
length
>=
2
){
if
(
value
==
1
){
this
.
companData
=
[]
this
.
companypage
=
1
}
if
(
this
.
queryParam
.
companyName
.
length
>=
2
){
let
param
=
{
keyword
:
valu
e
,
keyword
:
this
.
queryParam
.
companyNam
e
,
page
:{
limit
:
20
,
page
:
1
page
:
this
.
companypage
}
}
getEnterprise
(
JSON
.
stringify
(
param
)).
then
(
result
=>
{
if
(
result
.
code
!=
200
)
return
this
.
showlist
=
true
this
.
companData
=
result
.
data
.
list
if
(
result
.
code
!=
200
){
return
false
}
if
(
result
.
data
.
list
!=
null
&&
result
.
data
.
list
.
length
>
0
){
this
.
isscroll
=
true
if
(
this
.
companData
.
length
===
0
)
{
this
.
companData
=
result
.
data
.
list
}
else
{
let
arr2
=
result
.
data
.
list
arr2
.
unshift
(
2
,
0
);
Array
.
prototype
.
splice
.
apply
(
this
.
companData
,
arr2
);
}
if
(
this
.
companData
.
length
===
0
)
{
this
.
showlist
=
false
}
else
{
this
.
showlist
=
true
}
this
.
companypage
+=
1
}
else
{
this
.
isscroll
=
false
}
})
}
},
load
(){
if
(
this
.
isscroll
){
this
.
getCompany
(
2
)
}
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
companyName
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
c7500d25
...
...
@@ -3,6 +3,7 @@
class=
"popups"
width=
"534px"
:visible
.
sync=
"isshow"
:close-on-click-modal=
"false"
@
close=
"resetForm('ruleForm')"
>
<div
@
click =
'handleALL'
>
...
...
dsk-operate-ui/src/views/project/projectList/component/jsnr.vue
View file @
c7500d25
...
...
@@ -313,7 +313,7 @@
return
false
editXMNR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
//
this.$message.success('修改成功!')
if
(
param
.
investmentAmount
){
//修改项目阶段
this
.
$emit
(
'Refrehmoney'
)
}
...
...
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
c7500d25
...
...
@@ -276,7 +276,7 @@
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
if
(
!
param
.
projectStage
){
this
.
$message
.
success
(
'修改成功!'
)
//
this.$message.success('修改成功!')
}
}
else
{
this
.
$message
.
error
(
res
.
msg
)
...
...
@@ -314,7 +314,7 @@
}
addLabel
(
JSON
.
stringify
(
param
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
//
this.$message.success('修改成功!')
this
.
tipsvalue
=
""
this
.
getXMSL
()
}
else
{
...
...
@@ -330,7 +330,7 @@
}
removeLabel
(
JSON
.
stringify
(
param
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
//
this.$message.success('修改成功!')
this
.
getXMSL
()
}
else
{
this
.
$message
.
error
(
res
.
msg
)
...
...
dsk-operate-ui/src/views/project/projectList/detail.vue
View file @
c7500d25
...
...
@@ -287,7 +287,7 @@
}
editXMNR
(
JSON
.
stringify
(
params
)).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
'修改成功!'
)
//
this.$message.success('修改成功!')
if
(
this
.
nowedit
==
1
){
let
_this
=
this
setTimeout
(
function
()
{
...
...
dsk-operate-ui/src/views/radar/components/debtProject/index.vue
View file @
c7500d25
...
...
@@ -113,7 +113,7 @@
<ul
class=
"bottomlist-content"
v-if=
"!isSkeleton&&tableData.length>0"
>
<li
class=
"bottomlist-list"
v-for=
"item in tableData"
>
<p
class=
"list-titel"
>
<router-link
:to=
"'/radar/debtProject/details/'+ item.
uu
id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
<router-link
:to=
"'/radar/debtProject/details/'+ item.id"
tag=
"a"
class=
"list-titel-a"
v-html=
"item.projectName"
></router-link>
</p>
<div
class=
"content-label"
v-if=
"item.domicile"
>
...
...
dsk-operate-ui/src/views/radar/debtProject/details.vue
View file @
c7500d25
<
template
>
<div
class=
"app-container qyzx-details"
>
<div
class=
"content main1"
>
<div
class=
"title"
>
<img
src=
"@/assets/images/financing/head_icon.png"
/>
<span>
{{
textList
.
projectName
}}
</span>
<div
class=
"content main1"
>
<div
class=
"cont-title"
><img
src=
"@/assets/images/financing/head_icon.png"
/>
{{
details
.
projectName
}}
</div>
<p>
{{
details
.
projectScale
}}
</p>
</div>
<div
class=
"content main2"
>
<div
class=
"common-title"
>
项目筹资
</div>
<div
class=
"main2-box"
>
<div
class=
"list"
>
<div
class=
"item color1"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
projectTotalInvestment
||
'-'
}}
<span>
{{
details
.
projectTotalInvestment
?
'亿'
:
''
}}
</span></h4>
<p>
项目总投资额
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon1.png"
/>
</div>
<p>
{{
textList
.
projectScale
}}
</p>
</div>
<div
class=
"content main2"
>
<div
class=
"common-title"
>
项目筹资
</div>
<div
class=
"main2-box"
>
<div
class=
"list"
>
<div
class=
"item color1"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.projectTotalInvestment"
>
{{
textList
.
projectTotalInvestment
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
项目总投资额
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon1.png"
/>
</div>
<div
class=
"item color2"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.projectCapital"
>
{{
textList
.
projectCapital
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
项目资本金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon2.png"
/>
</div>
<div
class=
"item color3"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.econData_013"
>
{{
textList
.
econData_013
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
专项债融资
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon3.png"
/>
</div>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.specialBondCapital"
>
{{
textList
.
specialBondCapital
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
专项债用作资本金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon4.png"
/>
</div>
</div>
<div
class=
"list"
>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.otherFunds"
>
{{
textList
.
otherFunds
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
其他资金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon5.png"
/>
</div>
<div
class=
"item color3"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.specialBondIssue_number"
>
{{
textList
.
specialBondIssue_number
}}
<span>
亿元/ 10只
</span></h4>
<h4
v-else
>
--
</h4>
<p>
专项债融资额/专项债只数
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon6.png"
/>
</div>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.otherFinancing"
>
{{
textList
.
otherFinancing
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
其他融资
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon7.png"
/>
</div>
<div
class=
"item color2"
>
<div
class=
"item-left"
>
<h4
v-if=
"textList.govSupportFunds"
>
{{
textList
.
govSupportFunds
}}
<span>
亿元
</span></h4>
<h4
v-else
>
--
</h4>
<p>
政府安排资金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon8.png"
/>
</div>
</div>
<div
class=
"item color2"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
projectCapital
||
'-'
}}
<span>
{{
details
.
projectCapital
?
'亿'
:
''
}}
</span></h4>
<p>
项目资本金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon2.png"
/>
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
项目保障
</div>
<div
class=
"main3-box"
>
<p>
<label
class=
"label"
>
项目总收益/项目总债务融资本息(覆盖倍数)
</label>
<span
v-if=
"textList.econData_007"
>
{{
textList
.
econData_007
}}
倍
</span>
<span
v-else
>
--
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总地方债券融资本息
</label>
<span
v-if=
"textList.econData_008"
>
{{
textList
.
econData_008
}}
倍
</span>
<span
v-else
>
--
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总投资
</label>
<span
v-if=
"textList.econData_009"
>
{{
textList
.
econData_009
}}
倍
</span>
<span
v-else
>
--
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总地方债券融资本金
</label>
<span
v-if=
"textList.econData_010"
>
{{
textList
.
econData_010
}}
倍
</span>
<span
v-else
>
--
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总债务融资本金
</label>
<span
v-if=
"textList.econData_011"
>
{{
textList
.
econData_011
}}
倍
</span>
<span
v-else
>
--
</span>
</p>
<p>
<label
class=
"label"
>
项目预测总收益
</label>
<span
v-if=
"textList.projectForecastTotalRevenue"
>
{{
textList
.
projectForecastTotalRevenue
}}
亿元
</span>
<span
v-else
>
--
</span>
</p>
<div
class=
"item color3"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
specialBondFinancing
||
'-'
}}
<span>
{{
details
.
specialBondFinancing
?
'亿'
:
''
}}
</span></h4>
<p>
专项债融资
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon3.png"
/>
</div>
</div>
<div
class=
"content main4"
>
<div
class=
"common-title"
>
项目当事人
</div>
<div
class=
"main4-box"
>
<label
class=
"label"
>
项目主体
</label>
<span>
<router-link
v-if=
"textList.projectEntity"
:to=
"textList.projectEntityUipId?'/enterprise/' + encodeStr(textList.projectEntityId) :'/company/' + encodeStr(textList.projectEntityId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"textList.projectEntity"
></router-link>
<template
v-else
>
--
</
template
>
</span>
<label
class=
"label"
>
主管部门
</label>
<span>
{{textList.chargeDepartment||'--'}}
</span>
<label
class=
"label"
>
实施单位
</label>
<span>
<router-link
v-if=
"textList.piu"
:to=
"textList.piuUipId?'/enterprise/' +encodeStr(textList.piuId):'/company/' + encodeStr(textList.piuId) "
tag=
"a"
class=
"list-titel-a blue"
v-html=
"textList.piu"
></router-link>
<
template
v-else
>
--
</
template
>
</span>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
specialBondCapital
||
'-'
}}
<span>
{{
details
.
specialBondCapital
?
'亿'
:
''
}}
</span></h4>
<p>
专项债用作资本金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon4.png"
/>
</div>
</div>
<div
class=
"content main5"
>
<div
class=
"common-title"
>
专项债
</div>
<div
class=
"table-item"
>
<el-table
:data=
"tableData"
element-loading-text=
"Loading"
border
fit
highlight-current-row
>
<el-table-column
prop=
"name"
label=
"债券简称"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bondAbbreviation
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"tenderDate"
label=
"招标日期"
width=
"220"
/>
<el-table-column
prop=
"actualBondIssueScale"
label=
"专项债规模(亿)"
width=
"260"
/>
<el-table-column
prop=
"isUsedProjectScale"
label=
"用于项目规模(亿)"
width=
"260"
/>
<el-table-column
label=
"是否资本金"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isUsedCapital==1"
>
是
</span>
<span
v-else-if=
"scope.row.isUsedCapital==2"
>
否
</span>
<span
v-else
>
--
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination clearfix"
v-show=
"total>0"
>
<el-pagination
background
:page-size=
"pageSize"
:current-page=
"pageNum"
@
current-change=
"handleCurrentChange"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</div>
<div
class=
"list"
>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
otherFunds
||
'-'
}}
<span>
{{
details
.
otherFunds
?
'亿'
:
''
}}
</span></h4>
<p>
其他资金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon5.png"
/>
</div>
<div
class=
"item color3"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
specialBondFinancingAmount
||
'-'
}}
<span>
{{
details
.
specialBondFinancingAmount
?
'亿'
:
''
}}
/
{{
details
.
specialBondIssueNumber
||
'-'
}}{{
details
.
specialBondIssueNumber
?
'只'
:
''
}}
</span></h4>
<p>
专项债融资额/专项债只数
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon6.png"
/>
</div>
<div
class=
"item color4"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
otherFinancing
||
'-'
}}
<span>
{{
details
.
otherFinancing
?
'亿'
:
''
}}
</span></h4>
<p>
其他融资
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon7.png"
/>
</div>
<div
class=
"item color2"
>
<div
class=
"item-left"
>
<h4>
{{
details
.
govSupportFunds
||
'-'
}}
<span>
{{
details
.
govSupportFunds
?
'亿'
:
''
}}
</span></h4>
<p>
政府安排资金
</p>
</div>
<img
class=
"img"
src=
"@/assets/images/financing/icon8.png"
/>
</div>
</div>
</div>
</div>
<div
class=
"content main3"
>
<div
class=
"common-title"
>
项目保障
</div>
<div
class=
"main3-box"
>
<p>
<label
class=
"label"
>
项目总收益/项目总债务融资本息(覆盖倍数)
</label>
<span>
{{
details
.
econData007
||
'-'
}}{{
details
.
econData007
?
'倍'
:
''
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总地方债券融资本息
</label>
<span>
{{
details
.
econData008
||
'-'
}}{{
details
.
econData008
?
'倍'
:
''
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总投资
</label>
<span>
{{
details
.
econData009
||
'-'
}}{{
details
.
econData009
?
'倍'
:
''
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总地方债券融资本金
</label>
<span>
{{
details
.
econData010
||
'-'
}}{{
details
.
econData010
?
'倍'
:
''
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目总收益/项目总债务融资本金
</label>
<span>
{{
details
.
econData011
||
'-'
}}{{
details
.
econData011
?
'倍'
:
''
}}
</span>
</p>
<p>
<label
class=
"label"
>
项目预测总收益
</label>
<span>
{{
details
.
projectForecastTotalRevenue
||
'-'
}}{{
details
.
projectForecastTotalRevenue
?
'亿'
:
''
}}
</span>
</p>
</div>
</div>
<div
class=
"content main4"
>
<div
class=
"common-title"
>
项目当事人
</div>
<div
class=
"main4-box"
>
<label
class=
"label"
>
项目主体
</label>
<span>
{{
details
.
projectEntity
||
'-'
}}
</span>
<label
class=
"label"
>
主管部门
</label>
<span>
{{
details
.
chargeDepartment
||
'-'
}}
</span>
<label
class=
"label"
>
实施单位
</label>
<span>
{{
details
.
piu
||
'-'
}}
</span>
</div>
</div>
<div
class=
"content main5"
>
<div
class=
"common-title"
>
专项债
</div>
<div
class=
"table-item"
>
<el-table
:data=
"tableData"
element-loading-text=
"Loading"
border
fit
highlight-current-row
>
<el-table-column
prop=
"bondAbbreviation"
label=
"债券简称"
>
<!--
<template
slot-scope=
"scope"
>
-->
<!--
<router-link
:to=
"'/macro/financing/details/'+ scope.row.id"
tag=
"a"
class=
"a-link"
>
{{
scope
.
row
.
bondAbbreviation
}}
</router-link>
-->
<!--
</
template
>
-->
</el-table-column>
<el-table-column
label=
"招标日期"
width=
"220"
>
<
template
slot-scope=
"scope"
>
{{
formatDate
(
scope
.
row
.
tenderDate
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"actualBondIssueScale"
label=
"专项债规模(亿)"
width=
"260"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"isUsedProjectScale"
label=
"用于项目规模(亿)"
width=
"260"
:formatter=
"formatStatus"
/>
<el-table-column
prop=
"isUsedCapital"
label=
"是否资本金"
width=
"200"
:formatter=
"formatStatus"
/>
</el-table>
</div>
</div>
</div>
</template>
<
script
>
import
{
encodeStr
}
from
"@/assets/js/common.js"
import
api
from
'@/api/radar/radar.js'
;
export
default
{
name
:
'debtProjectDetails'
,
data
()
{
return
{
encodeStr
,
id
:
''
,
tableData
:
[],
"pageNum"
:
1
,
"pageSize"
:
10
,
total
:
0
,
textList
:
{}
}
},
created
()
{
this
.
id
=
this
.
$route
.
params
.
id
;
this
.
specialDebtPage
();
this
.
specialDebtProjectDetail
();
},
methods
:
{
specialDebtProjectDetail
()
{
api
.
specialDebtProjectDetail
({
id
:
this
.
id
}).
then
(
res
=>
{
// console.log(res);
this
.
textList
=
res
.
data
;
console
.
log
(
this
.
textList
);
}).
catch
(
error
=>
{
});
},
handleCurrentChange
(
pageNum
)
{
this
.
pageNum
=
pageNum
;
this
.
search
(
pageNum
,
this
.
pageSize
);
},
specialDebtPage
(
pageNum
,
pageSize
)
{
if
(
!
pageNum
)
{
this
.
pageNum
=
1
;
}
if
(
!
pageSize
)
{
this
.
pageSize
=
20
;
}
var
data
=
{
id
:
this
.
id
,
pageNum
:
this
.
pageNum
,
pageSize
:
this
.
pageSize
}
api
.
specialDebtPage
(
data
).
then
(
res
=>
{
// console.log(res);
this
.
tableData
=
res
.
rows
;
this
.
total
=
res
.
total
;
console
.
log
(
this
.
tableData
);
}).
catch
(
error
=>
{
});
}
}
</template>
<
script
>
import
{
details
,
bondPage
}
from
'@/api/macro/macro'
export
default
{
name
:
'debtProjectDetails'
,
data
()
{
return
{
id
:
''
,
tableData
:[],
details
:{},
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
1
,
}
},
created
()
{
this
.
id
=
this
.
$route
.
params
.
id
;
this
.
getDetails
()
},
methods
:
{
getDetails
(){
details
({
id
:
this
.
id
}).
then
(
res
=>
{
this
.
details
=
res
.
data
;
this
.
getData
()
})
},
getData
(){
// const params = { pageNum: this.pageIndex, pageSize: this.pageSize,specialBondUuid:'2e59fca0-21a6-47db-975d-5481e1c52f45_74'}
const
params
=
{
pageNum
:
this
.
pageIndex
,
pageSize
:
this
.
pageSize
,
specialBondUuid
:
this
.
details
.
specialBondUuid
}
bondPage
(
params
).
then
(
res
=>
{
this
.
tableData
=
res
.
data
.
list
;
this
.
tableDataTotal
=
res
.
data
.
totalCount
;
})
},
formatDate
(
cellValue
)
{
if
(
cellValue
==
null
||
cellValue
==
""
)
return
""
;
var
date
=
new
Date
(
cellValue
)
var
year
=
date
.
getFullYear
()
var
month
=
date
.
getMonth
()
+
1
<
10
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
var
day
=
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
()
// var hours = date.getHours()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
// var minutes = date.getMinutes()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
// var seconds = date.getSeconds()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
// return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
return
year
+
'-'
+
month
+
'-'
+
day
},
formatStatus
:
function
(
row
,
column
,
cellValue
)
{
return
cellValue
?
cellValue
:
'-'
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-container
{
padding
:
0
;
}
</
script
>
<
style
lang=
"scss"
scoped
>
.app-container
{
padding
:
0
;
}
.qyzx-details
{
.tab
{
font-size
:
12px
;
color
:
#A1A1A1
;
span
{
color
:
#232323
;
}
.qyzx-details
{
.tab
{
font-size
:
12px
;
color
:
#A1A1A1
;
span
{
color
:
#232323
;
}
.content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
padding
:
16px
;
border-radius
:
4px
;
}
.content
{
margin-top
:
16px
;
background
:
#FFFFFF
;
padding
:
16px
;
border-radius
:
4px
;
}
.common-title
{
margin-bottom
:
8px
;
}
.main1
{
.cont-title
{
color
:
#232323
;
font-size
:
16px
;
line-height
:
28px
;
font-weight
:
bold
;
margin-bottom
:
8px
;
text-align
:
left
;
img
{
width
:
28px
;
height
:
28px
;
// margin-bottom: -9px;
margin-right
:
17px
;
}
}
.common-title
{
margin-bottom
:
8px
;
p
{
color
:
#3D3D3D
;
font-size
:
14px
;
margin
:
0
;
}
.main1
{
.title
{
display
:
inline-flex
;
color
:
#232323
;
font-size
:
16px
;
line-height
:
28px
;
font-weight
:
bold
;
margin-bottom
:
8px
;
text-align
:
left
;
padding
:
0px
;
border
:
none
;
img
{
width
:
28px
;
height
:
28px
;
margin-bottom
:
-9px
;
margin-right
:
17px
;
}
}
p
{
color
:
#3D3D3D
;
font-size
:
14px
;
margin
:
0
;
}
}
.main2
{
.list
{
display
:
flex
;
margin
:
16px
0
;
}
.main2
{
.list
{
display
:
flex
;
margin
:
16px
0
;
}
.item
{
width
:
24
.5%
;
margin-right
:
16px
;
height
:
100px
;
display
:
flex
;
justify-content
:
space-between
;
border-radius
:
8px
;
.item-left
{
margin-left
:
16px
;
margin-top
:
24px
;
h4
{
color
:
#232323
;
font-size
:
22px
;
line-height
:
22px
;
font-weight
:
bold
;
margin
:
0
;
span
{
font-weight
:
400
;
margin-left
:
4px
;
font-size
:
18px
;
}
}
p
{
margin
:
0
;
color
:
#3D3D3D
;
font-size
:
14px
;
padding-top
:
8px
;
}
}
.img
{
width
:
56px
;
height
:
56px
;
margin-top
:
22px
;
margin-right
:
12px
;
}
}
.color1
{
background
:
rgba
(
246
,
190
,
59
,
0
.08
);
border
:
1px
solid
rgba
(
246
,
190
,
59
,
0
.2
);
}
.color2
{
background
:
rgba
(
148
,
216
,
196
,
0
.102
);
border
:
1px
solid
rgba
(
73
,
187
,
154
,
0
.1
);
.item
{
width
:
24
.5%
;
margin-right
:
16px
;
height
:
100px
;
display
:
flex
;
justify-content
:
space-between
;
border-radius
:
8px
;
.item-left
{
margin-left
:
16px
;
margin-top
:
24px
;
h4
{
color
:
#232323
;
font-size
:
22px
;
line-height
:
22px
;
font-weight
:
bold
;
margin
:
0
;
span
{
font-weight
:
400
;
margin-left
:
4px
;
font-size
:
18px
;
}
}
.color3
{
background
:
rgba
(
57
,
100
,
199
,
0
.06
);
border
:
1px
solid
rgba
(
57
,
100
,
199
,
0
.1
);
}
.color4
{
background
:
rgba
(
0
,
129
,
255
,
0
.04
);
border
:
1px
solid
rgba
(
0
,
129
,
255
,
0
.1
);
p
{
margin
:
0
;
color
:
#3D3D3D
;
font-size
:
14px
;
padding-top
:
8px
;
}
}
.img
{
width
:
56px
;
height
:
56px
;
margin-top
:
22px
;
margin-right
:
12px
;
}
}
.main3
{
.main3-box
{
margin-top
:
22px
;
p
{
margin
:
0
;
display
:
inline-flex
;
width
:
50%
;
border-top
:
1px
solid
#E6E9F0
;
border-left
:
1px
solid
#E6E9F0
;
}
p
:nth-child
(
2n
)
{
border-right
:
1px
solid
#E6E9F0
;
}
p
:nth-child
(
5
)
{
border-bottom
:
1px
solid
#E6E9F0
;
}
p
:last-child
{
border-bottom
:
1px
solid
#E6E9F0
;
}
.label
{
width
:
60%
;
background
:
#F0F3FA
;
display
:
inline-block
;
height
:
40px
;
font-weight
:
400
;
border-right
:
1px
solid
#E6E9F0
;
line-height
:
40px
;
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding-left
:
12px
;
}
span
{
width
:
40%
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
padding-left
:
12px
;
font-size
:
12px
;
}
}
.color1
{
background
:
rgba
(
246
,
190
,
59
,
0
.08
);
border
:
1px
solid
rgba
(
246
,
190
,
59
,
0
.2
);
}
.main4
{
.main4-box
{
margin-top
:
22px
;
display
:
flex
;
.label
{
width
:
14%
;
background
:
#F0F3FA
;
border
:
1px
solid
#E6E9F0
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding-left
:
12px
;
}
span
{
width
:
19%
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
border-top
:
1px
solid
#E6E9F0
;
border-bottom
:
1px
solid
#E6E9F0
;
padding-left
:
12px
;
font-size
:
12px
;
.blue
{
color
:
#0081FF
;
}
}
span
:last-child
{
width
:
20%
;
border-right
:
1px
solid
#E6E9F0
;
}
}
.color2
{
background
:
rgba
(
148
,
216
,
196
,
0
.102
);
border
:
1px
solid
rgba
(
73
,
187
,
154
,
0
.1
);
}
.main5
{
.table-item
{
margin-top
:
22px
;
.pagination
{
padding
:
14px
;
.el-pagination
{
float
:
right
;
}
}
}
.color3
{
background
:
rgba
(
57
,
100
,
199
,
0
.06
);
border
:
1px
solid
rgba
(
57
,
100
,
199
,
0
.1
);
}
.color4
{
background
:
rgba
(
0
,
129
,
255
,
0
.04
);
border
:
1px
solid
rgba
(
0
,
129
,
255
,
0
.1
);
}
}
.main3
{
.main3-box
{
margin-top
:
22px
;
p
{
margin
:
0
;
display
:
inline-block
;
width
:
50%
;
border-top
:
1px
solid
#E6E9F0
;
border-left
:
1px
solid
#E6E9F0
;
}
p
:nth-child
(
2n
)
{
border-right
:
1px
solid
#E6E9F0
;
}
p
:nth-child
(
5
)
{
border-bottom
:
1px
solid
#E6E9F0
;
}
p
:last-child
{
border-bottom
:
1px
solid
#E6E9F0
;
}
.label
{
width
:
60%
;
background
:
#F0F3FA
;
display
:
inline-block
;
height
:
40px
;
font-weight
:
400
;
border-right
:
1px
solid
#E6E9F0
;
line-height
:
40px
;
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding-left
:
12px
;
}
span
{
width
:
40%
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
padding-left
:
12px
;
font-size
:
12px
;
}
}
}
.main4
{
.main4-box
{
margin-top
:
22px
;
.label
{
width
:
14%
;
background
:
#F0F3FA
;
border
:
1px
solid
#E6E9F0
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
font-size
:
12px
;
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
padding-left
:
12px
;
}
span
{
width
:
19%
;
display
:
inline-block
;
height
:
40px
;
line-height
:
40px
;
border-top
:
1px
solid
#E6E9F0
;
border-bottom
:
1px
solid
#E6E9F0
;
padding-left
:
12px
;
font-size
:
12px
;
}
span
:last-child
{
width
:
20%
;
border-right
:
1px
solid
#E6E9F0
;
}
}
}
.main5
{
.table-item
{
margin-top
:
22px
;
}
}
}
</
style
>
\ No newline at end of file
</
style
>
\ No newline at end of file
dsk-operate-ui/src/views/system/role/authUser.vue
View file @
c7500d25
...
...
@@ -196,4 +196,4 @@ export default {
}
}
};
</
script
>
\ No newline at end of file
</
script
>
dsk-operate-ui/src/views/system/user/index.vue
View file @
c7500d25
...
...
@@ -667,4 +667,4 @@ export default {
}
}
};
</
script
>
\ No newline at end of file
</
script
>
dsk-system/src/main/java/com/dsk/system/domain/dsk/dto/JskCombineSearchDto.java
0 → 100644
View file @
c7500d25
package
com
.
dsk
.
system
.
domain
.
dsk
.
dto
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 集团户相关查询条件实体类
*
* @author lcl
* @create 2023/8/7
*/
@Data
public
class
JskCombineSearchDto
implements
Serializable
{
/**
* 集团id
*/
@NotNull
(
message
=
"集团id不能为空!"
)
private
String
combineId
;
/**
* 筛选参数
*/
private
String
searchValue
;
/**
* 集团层级
*/
private
String
combineMemberLevel
;
/**
* 省id
*/
private
List
<
Integer
>
provinceIds
;
/**
* 市id
*/
private
List
<
Integer
>
cityIds
;
/**
* 区id
*/
private
List
<
Integer
>
districtIds
;
/**
* 最大金额
*/
private
Integer
maxAmount
;
/**
* 最小金额
*/
private
Integer
minAmount
;
/**
* 业务类型
*/
private
String
businessType
;
/**
* 科技型企业类型
*/
private
List
<
String
>
companyTypes
;
/**
* 企业类型
*/
private
String
companyType
;
/**
* 最大持股比例
*/
private
Double
maxStockPercent
;
/**
* 最小持股比例
*/
private
Double
minStockPercent
;
/**
* 中标时间(开始)
*/
private
Date
startBidTime
;
/**
* 中标时间(结束)
*/
private
Date
endBidTime
;
/**
* 业绩类型
*/
private
List
<
String
>
boundTypes
;
/**
* 项目类型
*/
private
List
<
String
>
projectTypes
;
/**
* 页码
*/
private
Integer
pageNum
;
/**
* 每页条数
*/
private
Integer
pageSize
;
}
dsk-system/src/main/java/com/dsk/system/dskService/EnterpriseService.java
View file @
c7500d25
...
...
@@ -415,22 +415,34 @@ public class EnterpriseService {
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
result
.
put
(
"companyId"
,
MapUtil
.
getInt
(
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
)),
"jskEid"
));
}
if
(!
ObjectUtil
.
isEmpty
(
result
.
get
(
"companyId"
)))
{
R
res
=
this
.
getUipIdByCid
(
Collections
.
singletonList
(
MapUtils
.
getInteger
(
result
,
"companyId"
)));
result
.
put
(
"uipId"
,
this
.
getUipIdByCompanyNameOrCompanyId
(
companyName
,
MapUtils
.
getInteger
(
result
,
"companyId"
)));
}
catch
(
Exception
e
)
{
log
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
return
result
;
}
//企业uipId
public
String
getUipIdByCompanyNameOrCompanyId
(
String
companyName
,
Integer
companyId
)
{
try
{
String
uipId
=
null
;
if
(!
ObjectUtil
.
isEmpty
(
companyId
))
{
R
res
=
this
.
getUipIdByCid
(
Collections
.
singletonList
(
companyId
));
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
List
<
Map
<
String
,
Object
>>
data
=
(
List
<
Map
<
String
,
Object
>>)
res
.
getData
();
result
.
put
(
"uipId"
,
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
data
.
get
((
0
))),
"uipId"
)
);
uipId
=
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
data
.
get
((
0
))),
"uipId"
);
}
}
if
(
ObjectUtil
.
isEmpty
(
result
.
get
(
"uipId"
)
))
{
if
(
ObjectUtil
.
isEmpty
(
uipId
))
{
R
res
=
this
.
getUipId
(
companyName
);
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
result
.
put
(
"uipId"
,
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
)
);
uipId
=
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
);
}
}
return
uipId
;
}
catch
(
Exception
e
)
{
log
.
debug
(
"获取企业
i
d错误!error:{}"
,
e
.
getMessage
());
log
.
debug
(
"获取企业
uipI
d错误!error:{}"
,
e
.
getMessage
());
}
return
result
;
return
null
;
}
}
dsk-system/src/main/java/com/dsk/system/dskService/JskCombineInfoService.java
0 → 100644
View file @
c7500d25
package
com
.
dsk
.
system
.
dskService
;
import
cn.hutool.core.bean.BeanException
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.system.domain.dsk.dto.JskCombineSearchDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.ibatis.util.MapUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author lcl
* @create 2023/8/7
*/
@Slf4j
@Service
public
class
JskCombineInfoService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
@Autowired
private
EnterpriseService
enterpriseService
;
public
TableDataInfo
memberList
(
JskCombineSearchDto
dto
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/combine/memberList"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
dskOpenApiUtil
.
responsePage
(
map
);
}
public
R
groupMemberCount
(
JskCombineSearchDto
dto
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/combine/group/memberCount"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
return
BeanUtil
.
toBean
(
map
,
R
.
class
);
}
public
TableDataInfo
businessList
(
JskCombineSearchDto
dto
)
throws
Exception
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/operate/combine/businessList"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
Map
<
String
,
Object
>
data
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
if
(!
ObjectUtils
.
isEmpty
(
data
.
get
(
"list"
)))
{
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
data
.
get
(
"list"
);
list
.
parallelStream
().
forEach
(
res
->
{
Integer
companyId
=
MapUtils
.
getInteger
(
res
,
"companyId"
);
String
companyName
=
MapUtils
.
getString
(
res
,
"companyName"
);
res
.
put
(
"uipId"
,
enterpriseService
.
getUipIdByCompanyNameOrCompanyId
(
companyName
,
companyId
));
Integer
projectUnitId
=
MapUtils
.
getInteger
(
res
,
"projectUnitId"
);
String
projectUnit
=
MapUtils
.
getString
(
res
,
"projectUnit"
);
res
.
put
(
"projectUnitUipId"
,
enterpriseService
.
getUipIdByCompanyNameOrCompanyId
(
projectUnit
,
projectUnitId
));
});
}
}
return
dskOpenApiUtil
.
responsePage
(
map
);
}
}
dsk-system/src/main/java/com/dsk/system/searchService/MarketAnalysisService.java
View file @
c7500d25
...
...
@@ -80,13 +80,38 @@ public class MarketAnalysisService {
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countLandMarketByType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countLandMarketByType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countBidGroupByProvince
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countBidGroupByProvince"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countLandMarketByType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countLandMarketByType"
,
object
);
public
AjaxResult
countBidByType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countBidByType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
rangeBidMoney
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/rangeBidMoney"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
rangeBidFiveYears
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/rangeBidFiveYears"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
lowerRateByYear
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/lowerRateByYear"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
lowerRangeTenderType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/lowerRangeTenderType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
c7500d25
...
...
@@ -148,7 +148,9 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
BusinessLikeProjectNameListVo
vo
=
new
BusinessLikeProjectNameListVo
();
vo
.
setProjectName
(
StringUtils
.
markInRed
(
MapUtil
.
getStr
(
map
,
"projectName"
),
dto
.
getProjectName
()));
vo
.
setCompanyName
(
MapUtil
.
getStr
(
map
,
"tenderee"
));
vo
.
setInvestmentAmount
(
Double
.
parseDouble
(
MapUtil
.
getStr
(
map
,
"projectContractAmount"
)));
if
(
null
!=
map
.
get
(
"projectContractAmount"
)&&
ObjectUtil
.
isNotEmpty
(
map
.
get
(
"projectContractAmount"
))){
vo
.
setInvestmentAmount
(
MapUtil
.
getDouble
(
map
,
"projectContractAmount"
));
}
vo
.
setProjectType
(
MapUtil
.
getStr
(
map
,
"projectType"
));
vo
.
setProjectCategory
(
MapUtil
.
getStr
(
map
,
"projectPurposes"
));
vos
.
add
(
vo
);
...
...
@@ -156,7 +158,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"模糊查询项目名称调用失败!"
);
log
.
error
(
"模糊查询项目名称调用失败!"
,
e
);
}
return
vos
;
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
c7500d25
...
...
@@ -83,25 +83,7 @@ public class CustomerServiceImpl implements ICustomerService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
dealWithcustomerData
(
customer
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
try
{
List
<
Integer
>
list
=
new
ArrayList
<>();
list
.
add
(
customer
.
getCompanyId
());
R
res
=
enterpriseService
.
getUipIdByCid
(
list
);
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
List
<
Map
<
String
,
Object
>>
data
=
(
List
<
Map
<
String
,
Object
>>)
res
.
getData
();
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
data
.
get
((
0
))),
"uipId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
if
(!
ObjectUtils
.
isEmpty
(
res
.
getData
()))
{
customer
.
setUipId
(
MapUtil
.
getStr
(
BeanUtil
.
beanToMap
(
res
.
getData
()),
"uipId"
));
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取城投平台企业id错误!error:{}"
,
e
.
getMessage
());
}
}
customer
.
setUipId
(
enterpriseService
.
getUipIdByCompanyNameOrCompanyId
(
customer
.
getCompanyName
(),
customer
.
getCompanyId
()));
Long
userId
=
SecurityUtils
.
getUserId
();
customer
.
setCreateId
(
userId
);
customer
.
setUpdateId
(
userId
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/EconomicServiceImpl.java
View file @
c7500d25
...
...
@@ -40,29 +40,25 @@ public class EconomicServiceImpl implements EconomicService {
*/
private
static
final
Integer
TYPE
=
1
;
/**
* 默认排序
*/
private
static
final
String
FIELD
=
"gdp"
;
private
static
final
String
ORDER
=
"desc"
;
@Override
public
AjaxResult
nationalPage
(
OpRegionalEconomicDataV1PageDto
dto
)
{
if
(
ObjectUtil
.
isEmpty
(
dto
.
getYear
()))
{
dto
.
setYear
(
DateUtils
.
getYear
()
-
1
);
}
String
redisKey
=
CacheConstants
.
DATA_ECONOMIC
+
dto
.
getYear
()
+
dto
.
getProvinceIds
()
+
dto
.
getCityIds
()
+
dto
.
getAreaIds
();
Map
<
String
,
Object
>
cacheMap
=
redisCache
.
getCacheObject
(
redisKey
);
if
(
ObjectUtil
.
isNotEmpty
(
cacheMap
))
{
return
BeanUtil
.
toBean
(
cacheMap
,
AjaxResult
.
class
);
}
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/economic/national/nationalPage"
,
BeanUtil
.
beanToMap
(
dto
,
false
,
false
));
Integer
code
=
MapUtils
.
getInteger
(
map
,
"code"
,
300
);
if
(!
code
.
equals
(
HttpStatus
.
OK
.
value
()))
{
throw
new
RuntimeException
();
}
Map
data
=
MapUtils
.
getMap
(
map
,
"data"
,
null
);
List
<
Object
>
list
=
CommonUtils
.
assertAsArray
(
MapUtils
.
getObject
(
data
,
"list"
,
""
));
if
(
ObjectUtil
.
isNotEmpty
(
list
)
&&
TYPE
.
equals
(
dto
.
getType
()))
{
if
(
ObjectUtil
.
isEmpty
(
dto
.
getProvinceIds
())
&&
ObjectUtil
.
isEmpty
(
dto
.
getCityIds
())
&&
ObjectUtil
.
isEmpty
(
dto
.
getAreaIds
()))
{
redisCache
.
setCacheObject
(
redisKey
,
map
);
}
}
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/RegionalEnterprisesServiceImpl.java
View file @
c7500d25
...
...
@@ -73,7 +73,7 @@ public class RegionalEnterprisesServiceImpl implements RegionalEnterprisesServic
List
<
Map
<
String
,
Object
>>
companyNameList
=
(
List
<
Map
<
String
,
Object
>>)
MapUtils
.
getObject
(
topSupplierMap
,
"data"
,
null
);
for
(
Map
<
String
,
Object
>
comMap
:
companyNameList
)
{
Integer
id
=
MapUtils
.
getInteger
(
comMap
,
"id"
,
0
);
if
(
id
.
equals
(
top
Custom
erId
))
{
if
(
id
.
equals
(
top
Suppli
erId
))
{
String
companyName
=
MapUtils
.
getString
(
comMap
,
"companyName"
,
null
);
companyMap
.
put
(
"topSupplier"
,
companyName
);
}
...
...
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