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
5596eda7
Commit
5596eda7
authored
Oct 20, 2025
by
刘林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:(jg) :获取数据库与ES数据差异:找出ES比数据库多的记录ID
parent
cfa77872
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
79 additions
and
11 deletions
+79
-11
StatisticalAnalysisEnum.java
...boot/module/common/api/enums/StatisticalAnalysisEnum.java
+3
-7
ComprehensiveStatisticalAnalysisController.java
...ontroller/ComprehensiveStatisticalAnalysisController.java
+9
-3
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+59
-1
IdxBizJgUseInfoMapper.java
...mos/boot/module/ymt/api/mapper/IdxBizJgUseInfoMapper.java
+2
-0
IdxBizJgUseInfoMapper.xml
...t-api/src/main/resources/mapper/IdxBizJgUseInfoMapper.xml
+6
-0
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/enums/StatisticalAnalysisEnum.java
View file @
5596eda7
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.common.api.enums;
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.common.api.enums;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Getter
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -13,18 +12,15 @@ public enum StatisticalAnalysisEnum {
...
@@ -13,18 +12,15 @@ public enum StatisticalAnalysisEnum {
/**
/**
* 综合统计分析列表查询设备、企业、人员ES索引
* 综合统计分析列表查询设备、企业、人员ES索引
*/
*/
company
(
"企业"
,
"company"
,
"idx_biz_enterprise_info"
),
company
(
"企业"
,
"company"
,
"idx_biz_enterprise_info"
),
inspectionCompany
(
"检验检测机构"
,
"inspectionCompany"
,
"idx_biz_enterprise_info"
),
inspectionCompany
(
"检验检测机构"
,
"inspectionCompany"
,
"idx_biz_enterprise_info"
),
person
(
"人员"
,
"person"
,
"idx_biz_user_info"
),
person
(
"人员"
,
"person"
,
"idx_biz_user_info"
),
inspectionPerson
(
"检验检测人员"
,
"inspectionPerson"
,
"idx_biz_user_info"
),
inspectionPerson
(
"检验检测人员"
,
"inspectionPerson"
,
"idx_biz_user_info"
),
equip
(
"设备"
,
"equip"
,
"idx_biz_equipment_info"
);
equip
(
"设备"
,
"equip"
,
"idx_biz_equipment_info"
);
private
String
name
;
private
final
String
name
;
private
final
String
code
;
private
String
code
;
private
final
String
key
;
private
String
key
;
private
static
final
Map
<
String
,
StatisticalAnalysisEnum
>
CODE_MAP
=
new
HashMap
<>();
private
static
final
Map
<
String
,
StatisticalAnalysisEnum
>
CODE_MAP
=
new
HashMap
<>();
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/ComprehensiveStatisticalAnalysisController.java
View file @
5596eda7
...
@@ -521,7 +521,13 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
...
@@ -521,7 +521,13 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
return
ResponseHelper
.
buildResponse
(
statisticalAnalysisService
.
getDataDifference
(
code
));
return
ResponseHelper
.
buildResponse
(
statisticalAnalysisService
.
getDataDifference
(
code
));
}
}
/**
* 获取es和数据库中设备数据差异V2
* @return Object
*/
@GetMapping
(
value
=
"/getDataDifferenceV2"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取es和数据库数据差异V2"
,
notes
=
"获取es和数据库数据差异V2"
)
public
ResponseModel
<
Object
>
getDataDifferenceV2
()
{
return
ResponseHelper
.
buildResponse
(
statisticalAnalysisService
.
getDataDifferenceV2
());
}
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
View file @
5596eda7
...
@@ -18,10 +18,12 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
...
@@ -18,10 +18,12 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RequestContextWrapper
;
import
com.yeejoin.amos.boot.biz.common.utils.RequestContextWrapper
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsEquipmentDao
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsEquipmentDao
;
import
com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.TechParamItem
;
import
com.yeejoin.amos.boot.module.common.api.dto.TechParamItem
;
import
com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo
;
import
com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo
;
import
com.yeejoin.amos.boot.module.common.api.enums.StatisticalAnalysisEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.StatisticalAnalysisEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.UnitTypeNewEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.UnitTypeNewEnum
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.EsSearchServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl
;
import
com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil
;
import
com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil
;
import
com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils
;
import
com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils
;
...
@@ -144,7 +146,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -144,7 +146,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private
final
TzsUserInfoMapper
tzsUserInfoMapper
;
private
final
TzsUserInfoMapper
tzsUserInfoMapper
;
private
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
());
private
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
());
private
final
EsSearchServiceImpl
esSearchService
;
@Autowired
@Autowired
EquipmentCategoryMapper
equipmentCategoryMapper
;
EquipmentCategoryMapper
equipmentCategoryMapper
;
...
@@ -4551,4 +4553,59 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -4551,4 +4553,59 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
.
filter
(
element
->
!
bSet
.
contains
(
element
))
.
filter
(
element
->
!
bSet
.
contains
(
element
))
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
}
}
/**
* 获取数据库与ES数据差异:找出ES比数据库多的记录ID
*/
public
Object
getDataDifferenceV2
()
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
List
<
String
>
extraInEs
;
// 获取索引
String
index
=
"idx_biz_view_jg_all"
;
// 1. 查询数据库中所有设备 record
List
<
String
>
dbRecords
=
idxBizJgUseInfoMapper
.
selectEquipsClaimStatus
();
log
.
info
(
"数据库设备记录数: {}"
,
dbRecords
.
size
());
// 2. 从ES中查询对应记录
List
<
String
>
esRecords
=
getEsDataV2
(
index
);
log
.
info
(
"ES设备记录数: {}"
,
esRecords
.
size
());
// 3. 对比差异(ES比DB多的记录)
extraInEs
=
findElementsInANotInB
(
esRecords
,
dbRecords
);
log
.
info
(
"ES比数据库多的记录数: {}"
,
extraInEs
.
size
());
result
.
put
(
"extraInEs"
,
extraInEs
);
return
result
;
}
/**
* 从 ES 中拉取索引中所有的 SEQUENCE_NBR(match_all)
*/
private
List
<
String
>
getEsDataV2
(
String
index
)
{
// 使用 match_all 查询,拉取所有文档(通过 scroll 分批)
log
.
info
(
"ES 全量查询开始, index={}, 时间={}"
,
index
,
System
.
currentTimeMillis
());
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
()
.
must
(
QueryBuilders
.
termsQuery
(
"STATUS"
,
Collections
.
singletonList
(
"已认领"
)));
// 线程安全的结果容器
List
<
String
>
esIds
=
Collections
.
synchronizedList
(
new
ArrayList
<>());
try
{
esSearchService
.
searchResponseInBatch
(
index
,
boolQuery
,
2000
,
searchHits
->
{
// 每个批次只解析需要的字段
List
<
String
>
batchIds
=
searchHits
.
stream
()
.
map
(
hit
->
{
ESEquipmentCategoryDto
dto
=
JSONObject
.
parseObject
(
hit
.
getSourceAsString
(),
ESEquipmentCategoryDto
.
class
);
return
dto
==
null
?
null
:
dto
.
getSEQUENCE_NBR
();
})
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
());
esIds
.
addAll
(
batchIds
);
});
}
catch
(
Exception
ex
)
{
log
.
error
(
"ES 全量查询异常, index={}, 错误={}"
,
index
,
ex
.
getMessage
(),
ex
);
throw
new
RuntimeException
(
"ES 查询失败: "
+
ex
.
getMessage
(),
ex
);
}
// 去重并返回
return
esIds
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/mapper/IdxBizJgUseInfoMapper.java
View file @
5596eda7
...
@@ -45,4 +45,6 @@ public interface IdxBizJgUseInfoMapper extends CustomBaseMapper<IdxBizJgUseInfo>
...
@@ -45,4 +45,6 @@ public interface IdxBizJgUseInfoMapper extends CustomBaseMapper<IdxBizJgUseInfo>
Page
<
String
>
selectPiPeRecords
(
Page
<
String
>
page
);
Page
<
String
>
selectPiPeRecords
(
Page
<
String
>
page
);
JSONObject
getUsePlaceAndCodeByRecord
(
@Param
(
"record"
)
String
record
);
JSONObject
getUsePlaceAndCodeByRecord
(
@Param
(
"record"
)
String
record
);
List
<
String
>
selectEquipsClaimStatus
();
}
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/resources/mapper/IdxBizJgUseInfoMapper.xml
View file @
5596eda7
...
@@ -191,4 +191,10 @@
...
@@ -191,4 +191,10 @@
order by ibjui."RECORD" desc
order by ibjui."RECORD" desc
</select>
</select>
<select
id=
"selectEquipsClaimStatus"
resultType=
"java.lang.String"
>
SELECT ibjui."RECORD"
FROM idx_biz_jg_use_info ibjui
JOIN idx_biz_jg_other_info joi ON ibjui."RECORD" = joi."RECORD"
WHERE joi.claim_status = '已认领'
</select>
</mapper>
</mapper>
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