Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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
项目统一框架
amos-boot-biz
Commits
8cbc699a
Commit
8cbc699a
authored
Jul 18, 2024
by
麻笑宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改大屏代码提交
1.设备状态情况统计 2.各地区业务办理平均时效 3.停用注销报废设备统计 4.维保电梯数量TOP10 5.维保电梯数量
parent
5aed799b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
766 additions
and
4 deletions
+766
-4
DPFilterParamDto.java
...oin/amos/boot/module/common/api/dto/DPFilterParamDto.java
+5
-0
DPStatisticsMapper.java
...in/amos/boot/module/jg/api/mapper/DPStatisticsMapper.java
+39
-0
DPStatisticsMapper.xml
...e-jg-api/src/main/resources/mapper/DPStatisticsMapper.xml
+264
-0
DPStatisticsController.java
...boot/module/jg/biz/controller/DPStatisticsController.java
+76
-0
DPStatisticsServiceImpl.java
...t/module/jg/biz/service/impl/DPStatisticsServiceImpl.java
+382
-4
No files found.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/DPFilterParamDto.java
View file @
8cbc699a
...
...
@@ -26,4 +26,9 @@ public class DPFilterParamDto {
* 数据统计的结束日期
*/
private
String
endDate
;
/**
* 业务类型0告知管理,1使用登记,2变更登记,3停用启用,4注销报废
*/
private
String
businessKey
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/DPStatisticsMapper.java
0 → 100644
View file @
8cbc699a
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
public
interface
DPStatisticsMapper
{
List
<
Map
<
String
,
Object
>>
maintenanceCountTopTen
(
@Param
(
"dpFilterParamDto"
)
DPFilterParamDto
dpFilterParamDto
);
List
<
Map
<
String
,
Object
>>
maintenanceCount
(
@Param
(
"dpFilterParamDto"
)
DPFilterParamDto
dpFilterParamDto
);
List
<
Map
<
String
,
Object
>>
installCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
maintenanceNoticeCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
reformCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
transferCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
useCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
vehicleCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
changeNameCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
changeReformCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
changeTransferCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
changeUnitCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
changeVehicleCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
disableCount
(
@Param
(
"cityCode"
)
String
cityCode
);
List
<
Map
<
String
,
Object
>>
cancelCount
(
@Param
(
"cityCode"
)
String
cityCode
);
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/DPStatisticsMapper.xml
0 → 100644
View file @
8cbc699a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jg.api.mapper.DPStatisticsMapper"
>
<select
id=
"maintenanceCountTopTen"
resultType=
"java.util.Map"
>
SELECT
COUNT(1),
pc.company_name AS companyName,
sr.region_name AS regionName
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{dpFilterParamDto.cityCode} )
GROUP BY
sr.region_code
ORDER BY
COUNT DESC
LIMIT 10;
</select>
<select
id=
"maintenanceCount"
resultType=
"java.util.Map"
>
SELECT
COUNT(1),
pc.company_name AS companyName,
sr.region_name AS regionName
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN ( SELECT DISTINCT record, ME_UNIT_CREDIT_CODE FROM idx_biz_jg_maintenance_record_info ) AS jri ON jri.ME_UNIT_CREDIT_CODE = bi.use_unit_code
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{dpFilterParamDto.cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"installCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code AS regionCode
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_installation_notice T ON T.use_unit_credit_code = bi.use_unit_code and T.notice_status = 6616
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"maintenanceNoticeCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_maintain_notice mn ON mn.use_unit_credit_code = bi.use_unit_code
AND mn.notice_status = 6616
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"reformCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_reform_notice rm ON rm.use_unit_credit_code = bi.use_unit_code
AND rm.notice_status = 6616
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"transferCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_transfer_notice tn ON tn.use_unit_credit_code = bi.use_unit_code
AND tn.notice_status = 6616
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"useCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_use_registration ur ON ur.use_unit_credit_code = bi.use_unit_code
AND ur.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"vehicleCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_vehicle_information vi ON vi.use_unit_credit_code = bi.use_unit_code
AND vi.status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"changeNameCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_change_registration_name crn ON crn.use_unit_credit_code = bi.use_unit_code
AND crn.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"changeReformCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_change_registration_reform t ON t.use_unit_credit_code = bi.use_unit_code
AND t.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"changeTransferCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_change_registration_transfer t ON t.use_unit_credit_code = bi.use_unit_code
AND t.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"changeUnitCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_change_registration_unit t ON t.use_unit_credit_code = bi.use_unit_code
AND t.status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"changeVehicleCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_change_registration_unit t ON t.use_unit_credit_code = bi.use_unit_code
AND t.status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"disableCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_enable_disable t ON t.use_unit_credit_code = bi.use_unit_code
AND t.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
<select
id=
"cancelCount"
resultType=
"java.util.Map"
>
SELECT COUNT
( 1 ),
pc.company_name AS companyName,
sr.region_name AS regionName,
sr.region_code
FROM
privilege_company pc
INNER JOIN tz_base_enterprise_info bi ON bi.supervise_org_code LIKE CONCAT ( pc.org_code, '%' )
INNER JOIN tzs_jg_scrap_cancel t ON t.use_unit_code = bi.use_unit_code
AND t.audit_status = '已完成'
INNER JOIN systemctl_region sr ON pc.company_code = sr.region_code
WHERE
pc.company_code IN ( SELECT region_code :: VARCHAR FROM systemctl_region WHERE parent_region_code = #{cityCode} )
GROUP BY
sr.region_code
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/DPStatisticsController.java
View file @
8cbc699a
...
...
@@ -115,4 +115,80 @@ public class DPStatisticsController {
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
queryBizCycleData
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-左侧设备状态情况统计"
,
notes
=
"监管大屏-左侧设备状态情况统计"
)
@PostMapping
(
value
=
"/equStateCount"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
equStateCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
equStateCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-右侧停用、注销、报废设备状态情况统计"
,
notes
=
"监管大屏-右侧停用、注销、报废设备状态情况统计"
)
@PostMapping
(
value
=
"/equStopStateCount"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
equStopStateCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
equStopStateCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-维保电梯数量TOP10"
,
notes
=
"监管大屏-维保电梯数量TOP10"
)
@PostMapping
(
value
=
"/maintenanceCountTopTen"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
maintenanceCountTopTen
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
maintenanceCountTopTen
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-维保电梯数量"
,
notes
=
"监管大屏-维保电梯数量"
)
@PostMapping
(
value
=
"/maintenanceCount"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
maintenanceCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
maintenanceCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-左侧各地市业务办理平均时效"
,
notes
=
"监管大屏-左侧各地市业务办理平均时效"
)
@PostMapping
(
value
=
"/cityBusinessCount"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
cityBusinessCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
cityBusinessCount
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-左侧获取业务类型"
,
notes
=
"监管大屏-左侧获取业务类型"
)
@PostMapping
(
value
=
"/getBusinessKey"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
getBusinessKey
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
getBusinessKey
(
dpFilterParamDto
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"监管大屏-左侧获取业务类型"
,
notes
=
"监管大屏-左侧获取业务类型"
)
@PostMapping
(
value
=
"/getNoticeEquCount"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
getNoticeEquCount
(
@Validated
@RequestBody
DPFilterParamDto
dpFilterParamDto
,
BindingResult
result
)
{
List
<
FieldError
>
fieldErrors
=
result
.
getFieldErrors
();
if
(!
fieldErrors
.
isEmpty
())
{
throw
new
BadRequest
(
fieldErrors
.
get
(
0
).
getDefaultMessage
());
}
return
ResponseHelper
.
buildResponse
(
statisticsService
.
getNoticeEquCount
(
dpFilterParamDto
));
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/DPStatisticsServiceImpl.java
View file @
8cbc699a
...
...
@@ -10,10 +10,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.FourColorCountDataDto;
import
com.yeejoin.amos.boot.module.jg.api.enums.DPMapStatisticsItemEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.FourColorCountItemEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.FourColorEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.*
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.EquipTechParamPipelineMapper
;
...
...
@@ -36,8 +33,11 @@ import org.elasticsearch.search.aggregations.AggregationBuilders;
import
org.elasticsearch.search.aggregations.bucket.terms.Terms
;
import
org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
...
...
@@ -115,6 +115,9 @@ public class DPStatisticsServiceImpl {
private
static
List
<
RegionModel
>
regionModels
=
new
ArrayList
<>();
@Resource
private
DPStatisticsMapper
dpStatisticsMapper
;
public
DPStatisticsServiceImpl
(
EquipmentCategoryMapper
equipmentCategoryMapper
,
JgUseRegistrationMapper
useRegistrationMapper
,
EquipTechParamPipelineMapper
techParamsPipelineMapper
,
JgEnableDisableMapper
enableDisableMapper
,
JgScrapCancelMapper
scrapCancelMapper
,
RestHighLevelClient
restHighLevelClient
,
TzBaseEnterpriseInfoMapper
enterpriseInfoMapper
,
CommonMapper
commonMapper
,
TzsUserInfoMapper
userInfoMapper
,
RedisUtils
redisUtils
,
RedisUtils
redisUtils1
)
{
this
.
equipmentCategoryMapper
=
equipmentCategoryMapper
;
...
...
@@ -670,4 +673,379 @@ public class DPStatisticsServiceImpl {
}
return
orgCode
;
}
public
List
<
Map
<
String
,
Object
>>
equStateCount
(
DPFilterParamDto
dpFilterParamDto
)
{
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_PLACE_CODE"
,
"*"
+
dpFilterParamDto
.
getCityCode
()
+
"*"
));
// 纳管状态为已纳管
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"IS_INTO_MANAGEMENT"
,
true
));
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
query
(
boolMust
);
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"EQU_STATE_COUNT"
).
field
(
"EQU_STATE"
);
builder
.
aggregation
(
aggregationBuilder
);
request
.
source
(
builder
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
Terms
terms
=
response
.
getAggregations
().
get
(
"EQU_STATE_COUNT"
);
Map
<
String
,
Long
>
dataMap
=
new
HashMap
<>();
Long
total
=
terms
.
getBuckets
().
stream
().
mapToLong
(
Terms
.
Bucket
::
getDocCount
).
sum
();
for
(
Terms
.
Bucket
bucket
:
terms
.
getBuckets
())
{
String
category
=
bucket
.
getKeyAsString
();
// 或者使用 bucket.getKey() 对于非字符串类型
long
docCount
=
bucket
.
getDocCount
();
dataMap
.
put
(
category
,
docCount
);
}
/**
* 3 报废
* 1 在用
* 2 停用
* 4 注销
* 0 未登记
*/
for
(
int
i
=
0
;
i
<
5
;
i
++){
Map
<
String
,
Object
>
map
=
new
HashMap
();
if
(
i
==
0
){
map
.
put
(
"name"
,
"未登记"
);
}
else
if
(
i
==
1
){
map
.
put
(
"name"
,
"在用"
);
}
else
if
(
i
==
2
){
map
.
put
(
"name"
,
"停用"
);
}
else
if
(
i
==
3
){
map
.
put
(
"name"
,
"报废"
);
}
else
if
(
i
==
4
){
map
.
put
(
"name"
,
"注销"
);
}
map
.
put
(
"value"
,
dataMap
.
getOrDefault
(
String
.
valueOf
(
i
),
0L
));
resultList
.
add
(
map
);
}
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
resultList
;
}
public
Map
<
String
,
Object
>
equStopStateCount
(
DPFilterParamDto
dpFilterParamDto
)
{
SearchRequest
request
=
new
SearchRequest
();
request
.
indices
(
"idx_biz_view_jg_all"
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
// 区域信息模糊查询
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
"USE_PLACE_CODE"
,
"*"
+
dpFilterParamDto
.
getCityCode
()
+
"*"
));
// 纳管状态为已纳管
boolMust
.
must
(
QueryBuilders
.
termsQuery
(
"IS_INTO_MANAGEMENT"
,
true
));
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
query
(
boolMust
);
// 设备状态
TermsAggregationBuilder
aggregationBuilder
=
AggregationBuilders
.
terms
(
"EQU_STATE_COUNT"
).
field
(
"EQU_STATE"
)
//设备类型
.
subAggregation
(
AggregationBuilders
.
terms
(
"EQU_LIST_CODE_COUNT"
).
field
(
"EQU_LIST_CODE"
));
builder
.
aggregation
(
aggregationBuilder
);
request
.
source
(
builder
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
Terms
terms
=
response
.
getAggregations
().
get
(
"EQU_STATE_COUNT"
);
Map
<
String
,
Long
>
dataMap
=
new
HashMap
<>();
for
(
Terms
.
Bucket
bucket
:
terms
.
getBuckets
())
{
String
category
=
bucket
.
getKeyAsString
();
// 或者使用 bucket.getKey() 对于非字符串类型
Terms
subTerms
=
bucket
.
getAggregations
().
get
(
"EQU_LIST_CODE_COUNT"
);
for
(
Terms
.
Bucket
subBucket
:
subTerms
.
getBuckets
()){
String
subCategory
=
subBucket
.
getKeyAsString
();
long
docCount
=
subBucket
.
getDocCount
();
dataMap
.
put
(
category
+
"#"
+
subCategory
,
docCount
);
}
}
/**
* 2300 气瓶
* 3000 电梯
* 4000 起重机械
* 2000 压力容器
* 5000 场(厂)内专用机动车辆
* 1000 锅炉
* 8000 压力管道
* F000 安全附件
* 7000 压力管道元件
* 9000 客运索道
* 6000 大型游乐设施
*/
/**
* 2 停用
* 4 注销
* 3 报废
*/
List
<
Map
<
String
,
Object
>>
legendDataList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
3
;
i
++){
Map
<
String
,
Object
>
map
=
new
HashMap
();
if
(
i
==
0
){
map
.
put
(
"dataKey"
,
"stop"
);
map
.
put
(
"name"
,
"停用"
);
}
else
if
(
i
==
1
){
map
.
put
(
"dataKey"
,
"logout"
);
map
.
put
(
"name"
,
"注销"
);
}
else
if
(
i
==
2
){
map
.
put
(
"dataKey"
,
"scrap"
);
map
.
put
(
"name"
,
"报废"
);
}
legendDataList
.
add
(
map
);
}
List
<
String
>
xDataList
=
Arrays
.
asList
(
"气瓶"
,
"电梯"
,
"压力容器"
,
"锅炉"
,
"起重机械"
,
"场(厂)内专用"
,
"大型游乐设施"
,
"压力管道"
,
"客运索道"
);
List
<
Object
>
stop
=
new
ArrayList
<>();
List
<
Object
>
logout
=
new
ArrayList
<>();
List
<
Object
>
scrap
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
9
;
i
++){
if
(
i
==
0
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#2300"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#2300"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#2300"
,
0L
));
}
else
if
(
i
==
1
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#3000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#3000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#3000"
,
0L
));
}
else
if
(
i
==
2
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#2000"
,
0L
)-
dataMap
.
getOrDefault
(
"2#2300"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#2000"
,
0L
)-
dataMap
.
getOrDefault
(
"4#2300"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#2000"
,
0L
)-
dataMap
.
getOrDefault
(
"3#2300"
,
0L
));
}
else
if
(
i
==
3
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#1000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#1000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#1000"
,
0L
));
}
else
if
(
i
==
4
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#4000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#4000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#4000"
,
0L
));
}
else
if
(
i
==
5
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#5000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#5000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#5000"
,
0L
));
}
else
if
(
i
==
6
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#6000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#6000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#6000"
,
0L
));
}
else
if
(
i
==
7
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#8000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#8000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#8000"
,
0L
));
}
else
if
(
i
==
8
){
stop
.
add
(
dataMap
.
getOrDefault
(
"2#9000"
,
0L
));
logout
.
add
(
dataMap
.
getOrDefault
(
"4#9000"
,
0L
));
scrap
.
add
(
dataMap
.
getOrDefault
(
"3#9000"
,
0L
));
}
}
Map
<
String
,
Object
>
returnMap
=
new
HashMap
<>();
returnMap
.
put
(
"legendData"
,
legendDataList
);
returnMap
.
put
(
"xdata"
,
xDataList
);
returnMap
.
put
(
"stop"
,
stop
);
returnMap
.
put
(
"logout"
,
logout
);
returnMap
.
put
(
"scrap"
,
scrap
);
return
returnMap
;
}
catch
(
Exception
e
){
throw
new
RuntimeException
(
e
);
}
}
public
List
<
Map
<
String
,
Object
>>
maintenanceCountTopTen
(
DPFilterParamDto
dpFilterParamDto
)
{
List
<
Map
<
String
,
Object
>>
list
=
dpStatisticsMapper
.
maintenanceCountTopTen
(
dpFilterParamDto
);
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"key"
,
i
);
result
.
put
(
"city"
,
list
.
get
(
i
).
get
(
"regionName"
));
result
.
put
(
"count"
,
list
.
get
(
i
).
get
(
"count"
));
result
.
put
(
"name"
,
list
.
get
(
i
).
get
(
"companyName"
));
resultList
.
add
(
result
);
}
return
resultList
;
}
public
Map
<
String
,
Object
>
maintenanceCount
(
DPFilterParamDto
dpFilterParamDto
)
{
List
<
Map
<
String
,
Object
>>
list
=
dpStatisticsMapper
.
maintenanceCount
(
dpFilterParamDto
);
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
List
xList
=
new
ArrayList
();
List
yList
=
new
ArrayList
();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
xList
.
add
(
list
.
get
(
i
).
get
(
"regionName"
));
yList
.
add
(
list
.
get
(
i
).
get
(
"count"
));
}
resultMap
.
put
(
"xdata"
,
xList
);
resultMap
.
put
(
"ydata"
,
yList
);
return
resultMap
;
}
public
Map
<
String
,
Object
>
cityBusinessCount
(
DPFilterParamDto
dpFilterParamDto
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
/**
* 业务类型0告知管理,1使用登记,2变更登记,3停用启用,4注销报废
*/
if
(
"0"
.
equals
(
dpFilterParamDto
.
getBusinessKey
())){
resultMap
=
noticeCount
(
resultMap
,
dpFilterParamDto
.
getCityCode
());
}
else
if
(
"1"
.
equals
(
dpFilterParamDto
.
getBusinessKey
())){
resultMap
=
useCount
(
resultMap
,
dpFilterParamDto
.
getCityCode
());
}
else
if
(
"2"
.
equals
(
dpFilterParamDto
.
getBusinessKey
())){
resultMap
=
changeCount
(
resultMap
,
dpFilterParamDto
.
getCityCode
());
}
else
if
(
"3"
.
equals
(
dpFilterParamDto
.
getBusinessKey
())){
resultMap
=
disableCount
(
resultMap
,
dpFilterParamDto
.
getCityCode
());
}
else
if
(
"4"
.
equals
(
dpFilterParamDto
.
getBusinessKey
())){
resultMap
=
cancelCount
(
resultMap
,
dpFilterParamDto
.
getCityCode
());
}
return
resultMap
;
}
private
Map
<
String
,
Object
>
cancelCount
(
Map
<
String
,
Object
>
resultMap
,
String
cityCode
)
{
Map
<
String
,
Integer
>
countMap
=
new
HashMap
<>();
//注销报废
List
<
Map
<
String
,
Object
>>
cancelList
=
dpStatisticsMapper
.
cancelCount
(
cityCode
);
countByMap
(
countMap
,
cancelList
);
List
<
Object
>
xDataList
=
new
ArrayList
<>();
List
<
Object
>
yDataList
=
new
ArrayList
<>();
countMap
.
forEach
((
k
,
v
)->{
xDataList
.
add
(
k
);
yDataList
.
add
(
v
);
});
resultMap
.
put
(
"xdata"
,
xDataList
);
resultMap
.
put
(
"ydata"
,
yDataList
);
return
resultMap
;
}
private
Map
<
String
,
Object
>
disableCount
(
Map
<
String
,
Object
>
resultMap
,
String
cityCode
)
{
Map
<
String
,
Integer
>
countMap
=
new
HashMap
<>();
//启用停用
List
<
Map
<
String
,
Object
>>
disableList
=
dpStatisticsMapper
.
disableCount
(
cityCode
);
countByMap
(
countMap
,
disableList
);
List
<
Object
>
xDataList
=
new
ArrayList
<>();
List
<
Object
>
yDataList
=
new
ArrayList
<>();
countMap
.
forEach
((
k
,
v
)->{
xDataList
.
add
(
k
);
yDataList
.
add
(
v
);
});
resultMap
.
put
(
"xdata"
,
xDataList
);
resultMap
.
put
(
"ydata"
,
yDataList
);
return
resultMap
;
}
private
Map
<
String
,
Object
>
changeCount
(
Map
<
String
,
Object
>
resultMap
,
String
cityCode
)
{
Map
<
String
,
Integer
>
countMap
=
new
HashMap
<>();
//更名变更登记
List
<
Map
<
String
,
Object
>>
changeNameList
=
dpStatisticsMapper
.
changeNameCount
(
cityCode
);
countByMap
(
countMap
,
changeNameList
);
//改造变更登记
List
<
Map
<
String
,
Object
>>
reformList
=
dpStatisticsMapper
.
changeReformCount
(
cityCode
);
countByMap
(
countMap
,
reformList
);
//移装变更登记
List
<
Map
<
String
,
Object
>>
transferList
=
dpStatisticsMapper
.
changeTransferCount
(
cityCode
);
countByMap
(
countMap
,
transferList
);
//单位变更登记
List
<
Map
<
String
,
Object
>>
unitList
=
dpStatisticsMapper
.
changeUnitCount
(
cityCode
);
countByMap
(
countMap
,
unitList
);
//单位变更登记
List
<
Map
<
String
,
Object
>>
vehicleList
=
dpStatisticsMapper
.
changeVehicleCount
(
cityCode
);
countByMap
(
countMap
,
vehicleList
);
List
<
Object
>
xDataList
=
new
ArrayList
<>();
List
<
Object
>
yDataList
=
new
ArrayList
<>();
countMap
.
forEach
((
k
,
v
)->{
xDataList
.
add
(
k
);
yDataList
.
add
(
v
);
});
resultMap
.
put
(
"xdata"
,
xDataList
);
resultMap
.
put
(
"ydata"
,
yDataList
);
return
resultMap
;
}
private
Map
<
String
,
Object
>
useCount
(
Map
<
String
,
Object
>
resultMap
,
String
cityCode
)
{
Map
<
String
,
Integer
>
countMap
=
new
HashMap
<>();
//使用登记
List
<
Map
<
String
,
Object
>>
useList
=
dpStatisticsMapper
.
useCount
(
cityCode
);
countByMap
(
countMap
,
useList
);
//气瓶登记
List
<
Map
<
String
,
Object
>>
vehicleList
=
dpStatisticsMapper
.
vehicleCount
(
cityCode
);
countByMap
(
countMap
,
vehicleList
);
List
<
Object
>
xDataList
=
new
ArrayList
<>();
List
<
Object
>
yDataList
=
new
ArrayList
<>();
countMap
.
forEach
((
k
,
v
)->{
xDataList
.
add
(
k
);
yDataList
.
add
(
v
);
});
resultMap
.
put
(
"xdata"
,
xDataList
);
resultMap
.
put
(
"ydata"
,
yDataList
);
return
resultMap
;
}
private
Map
<
String
,
Object
>
noticeCount
(
Map
<
String
,
Object
>
resultMap
,
String
cityCode
)
{
Map
<
String
,
Integer
>
countMap
=
new
HashMap
<>();
//安装告知
List
<
Map
<
String
,
Object
>>
installlist
=
dpStatisticsMapper
.
installCount
(
cityCode
);
countByMap
(
countMap
,
installlist
);
//维修告知
List
<
Map
<
String
,
Object
>>
maintenancelist
=
dpStatisticsMapper
.
maintenanceNoticeCount
(
cityCode
);
countByMap
(
countMap
,
maintenancelist
);
//改造告知
List
<
Map
<
String
,
Object
>>
reformlist
=
dpStatisticsMapper
.
reformCount
(
cityCode
);
countByMap
(
countMap
,
reformlist
);
//移装告知
List
<
Map
<
String
,
Object
>>
transferlist
=
dpStatisticsMapper
.
transferCount
(
cityCode
);
countByMap
(
countMap
,
transferlist
);
List
<
Object
>
xDataList
=
new
ArrayList
<>();
List
<
Object
>
yDataList
=
new
ArrayList
<>();
countMap
.
forEach
((
k
,
v
)->{
xDataList
.
add
(
k
);
yDataList
.
add
(
v
);
});
resultMap
.
put
(
"xdata"
,
xDataList
);
resultMap
.
put
(
"ydata"
,
yDataList
);
return
resultMap
;
}
private
void
countByMap
(
Map
<
String
,
Integer
>
countMap
,
List
<
Map
<
String
,
Object
>>
list
){
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
if
(
null
==
countMap
.
get
(
list
.
get
(
i
).
get
(
"regionName"
))){
countMap
.
put
(
list
.
get
(
i
).
get
(
"regionName"
).
toString
(),
Integer
.
valueOf
(
list
.
get
(
i
).
get
(
"count"
)+
""
));
}
else
{
countMap
.
put
(
list
.
get
(
i
).
get
(
"regionName"
).
toString
(),
countMap
.
get
(
list
.
get
(
i
).
get
(
"regionName"
).
toString
())+
Integer
.
valueOf
(
list
.
get
(
i
).
get
(
"count"
)+
""
));
}
}
}
public
List
<
Map
<
String
,
Object
>>
getBusinessKey
(
DPFilterParamDto
dpFilterParamDto
)
{
List
<
Map
<
String
,
Object
>>
resultList
=
new
ArrayList
<>();
/**
* 告知管理、使用登记、变更登记、停用启用、注销报废
*/
for
(
int
i
=
0
;
i
<
5
;
i
++){
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
if
(
i
==
0
){
result
.
put
(
"key"
,
i
);
result
.
put
(
"name"
,
"告知管理"
);
}
else
if
(
i
==
1
){
result
.
put
(
"key"
,
i
);
result
.
put
(
"name"
,
"使用登记"
);
}
else
if
(
i
==
2
){
result
.
put
(
"key"
,
i
);
result
.
put
(
"name"
,
"变更登记"
);
}
else
if
(
i
==
3
){
result
.
put
(
"key"
,
i
);
result
.
put
(
"name"
,
"停用启用"
);
}
else
if
(
i
==
4
){
result
.
put
(
"key"
,
i
);
result
.
put
(
"name"
,
"注销报废"
);
}
resultList
.
add
(
result
);
}
return
resultList
;
}
public
Map
<
String
,
Object
>
getNoticeEquCount
(
DPFilterParamDto
dpFilterParamDto
)
{
return
null
;
}
}
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