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
5e654dc7
Commit
5e654dc7
authored
Jul 07, 2025
by
tianyiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整综合统计查询
parent
3aab2ad9
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
201 additions
and
89 deletions
+201
-89
DataQualityScoreEnum.java
...oot/module/statistics/api/enums/DataQualityScoreEnum.java
+3
-4
UnitTypeEnum.java
...n/amos/boot/module/statistics/api/enums/UnitTypeEnum.java
+42
-11
ComprehensiveStatisticalAnalysisController.java
...ontroller/ComprehensiveStatisticalAnalysisController.java
+2
-2
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+154
-72
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/enums/DataQualityScoreEnum.java
View file @
5e654dc7
...
@@ -17,10 +17,9 @@ public enum DataQualityScoreEnum {
...
@@ -17,10 +17,9 @@ public enum DataQualityScoreEnum {
* *设备等级
* *设备等级
*/
*/
I
(
"一级"
,
"3"
),
I
(
"一级(只有设备名称其他使用登记证上信息无)"
,
"3"
),
II
(
"二级"
,
"2"
),
II
(
"二级(只有设备名称和使用登记证编号其他使用登记证上信息无)"
,
"2"
),
III
(
"三级"
,
"1"
),
III
(
"三级(使用登记证上信息齐全)"
,
"1"
);
;
private
String
name
;
private
String
name
;
private
String
code
;
private
String
code
;
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/enums/UnitTypeEnum.java
View file @
5e654dc7
...
@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONObject;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Getter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@AllArgsConstructor
@AllArgsConstructor
...
@@ -16,16 +18,17 @@ public enum UnitTypeEnum {
...
@@ -16,16 +18,17 @@ public enum UnitTypeEnum {
* *注册单位类型
* *注册单位类型
*/
*/
sydw
(
"使用单位"
,
"1232"
),
sydw
(
"使用单位"
,
"1232"
,
"use"
),
czdw
(
"充装单位"
,
"1231"
),
czdw
(
"充装单位"
,
"1231"
,
"license"
),
jyjcjg
(
"检验检测机构"
,
"1233"
),
jyjcjg
(
"检验检测机构"
,
"1233"
,
"license"
),
azgzwxdw
(
"安装改造维修单位"
,
"1234"
),
azgzwxdw
(
"安装改造维修单位"
,
"1234"
,
"license"
),
zzdw
(
"制造单位"
,
"1236"
),
zzdw
(
"制造单位"
,
"1236"
,
"license"
),
sjdw
(
"设计单位"
,
"1235"
),
sjdw
(
"设计单位"
,
"1235"
,
"license"
),
grzt
(
"个人主体"
,
"6599"
);
grzt
(
"个人主体"
,
"6599"
,
"use"
);
private
String
name
;
private
String
name
;
private
String
code
;
private
String
code
;
private
String
type
;
public
static
Map
<
String
,
String
>
getName
=
new
HashMap
<>();
public
static
Map
<
String
,
String
>
getName
=
new
HashMap
<>();
public
static
Map
<
String
,
String
>
getCode
=
new
HashMap
<>();
public
static
Map
<
String
,
String
>
getCode
=
new
HashMap
<>();
...
@@ -38,15 +41,43 @@ public enum UnitTypeEnum {
...
@@ -38,15 +41,43 @@ public enum UnitTypeEnum {
}
}
}
}
public
static
JSONArray
getAll
(){
public
static
JSONArray
getAll
()
{
JSONArray
jsonArray
=
new
JSONArray
();
JSONArray
jsonArray
=
new
JSONArray
();
for
(
UnitTypeEnum
e
:
UnitTypeEnum
.
values
())
{
for
(
UnitTypeEnum
e
:
UnitTypeEnum
.
values
())
{
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"label"
,
e
.
name
);
jsonObject
.
put
(
"label"
,
e
.
name
);
jsonObject
.
put
(
"value"
,
e
.
name
);
jsonObject
.
put
(
"value"
,
e
.
name
);
jsonObject
.
put
(
"key"
,
e
.
code
);
jsonObject
.
put
(
"key"
,
e
.
code
);
jsonArray
.
add
(
jsonObject
);
jsonArray
.
add
(
jsonObject
);
}
}
return
jsonArray
;
return
jsonArray
;
}
}
public
static
List
<
Map
<
String
,
Object
>>
getUnitTypeByCategory
(
String
category
)
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
UnitTypeEnum
e
:
UnitTypeEnum
.
values
())
{
if
(
e
.
type
.
equals
(
category
))
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"label"
,
e
.
name
);
map
.
put
(
"value"
,
e
.
name
);
map
.
put
(
"key"
,
e
.
code
);
list
.
add
(
map
);
}
}
return
list
;
}
public
static
JSONArray
getUnitTypeByType
(
String
category
)
{
JSONArray
jsonArray
=
new
JSONArray
();
for
(
UnitTypeEnum
e
:
UnitTypeEnum
.
values
())
{
if
(
e
.
type
.
equals
(
category
))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"label"
,
e
.
name
);
jsonObject
.
put
(
"value"
,
e
.
name
);
jsonObject
.
put
(
"key"
,
e
.
code
);
jsonArray
.
add
(
jsonObject
);
}
}
return
jsonArray
;
}
}
}
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 @
5e654dc7
...
@@ -96,8 +96,8 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
...
@@ -96,8 +96,8 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/select/queryUnitType"
)
@GetMapping
(
value
=
"/select/queryUnitType"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询单位类型"
,
notes
=
"查询单位类型"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询单位类型"
,
notes
=
"查询单位类型"
)
public
ResponseModel
<
JSONArray
>
queryUnitType
()
{
public
ResponseModel
<
JSONArray
>
queryUnitType
(
@RequestParam
(
required
=
false
)
String
type
)
{
return
ResponseHelper
.
buildResponse
(
statisticalAnalysisService
.
queryUnitType
());
return
ResponseHelper
.
buildResponse
(
statisticalAnalysisService
.
queryUnitType
(
type
));
}
}
/**
/**
...
...
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 @
5e654dc7
...
@@ -57,7 +57,6 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
...
@@ -57,7 +57,6 @@ import org.typroject.tyboot.component.emq.EmqKeeper;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.exception.BaseException
;
import
org.typroject.tyboot.core.foundation.exception.BaseException
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
...
@@ -65,6 +64,7 @@ import java.time.LocalDate;
...
@@ -65,6 +64,7 @@ import java.time.LocalDate;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.ChronoUnit
;
import
java.time.temporal.ChronoUnit
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
java.util.stream.Stream
;
import
static
org
.
elasticsearch
.
index
.
query
.
QueryBuilders
.
existsQuery
;
import
static
org
.
elasticsearch
.
index
.
query
.
QueryBuilders
.
existsQuery
;
...
@@ -95,9 +95,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -95,9 +95,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private
final
String
BUCKET_NAME
=
"upload"
;
private
final
String
BUCKET_NAME
=
"upload"
;
private
final
String
UPLOAD_PATH
=
"/tzs/excelTempFile"
;
private
final
String
UPLOAD_PATH
=
"/tzs/excelTempFile"
;
private
final
List
<
String
>
equipHandleOtherFields
=
Arrays
.
asList
(
"techParam"
,
"paramRange"
,
"
NEXT_INSPECT_DATE"
,
"IS_SUPERVISORY_CODE"
,
"USC_DATE"
,
"createDate
"
);
private
final
List
<
String
>
equipHandleOtherFields
=
Arrays
.
asList
(
"techParam"
,
"paramRange"
,
"
JDJY"
,
"DQJY"
,
"SCJY"
,
"DTJY"
,
"QZ_OR_TANK
"
);
private
final
List
<
String
>
companyHandleOtherFields
=
Arrays
.
asList
(
"itemCode"
,
"subItemCode"
,
"permitStatus"
,
"equipCategory"
,
"regulatoryLabels"
,
"unitType"
);
private
final
List
<
String
>
companyHandleOtherFields
=
Arrays
.
asList
(
"itemCode"
,
"subItemCode"
,
"permitStatus"
,
"equipCategory"
,
"regulatoryLabels"
,
"unitType"
);
private
final
List
<
String
>
personHandleOtherFields
=
Arrays
.
asList
(
"newPost"
,
"subPost"
,
"certNo"
,
"expiryDate"
,
"certType"
,
"permissionLevel"
,
"jobItem"
,
"permissionItem"
,
"issueDate"
,
"equipType"
,
"unitType"
);
private
final
List
<
String
>
personHandleOtherFields
=
Arrays
.
asList
(
"newPost"
,
"subPost"
,
"certNo"
,
"expiryDate"
,
"certType"
,
"permissionLevel"
,
"jobItem"
,
"permissionItem"
,
"issueDate"
,
"equipType"
);
private
final
String
or
=
"or"
;
private
final
String
or
=
"or"
;
private
final
String
and
=
"and"
;
private
final
String
and
=
"and"
;
...
@@ -244,13 +244,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -244,13 +244,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
v
instanceof
JSONArray
)
{
if
(
v
instanceof
JSONArray
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
)
&&
((
JSONArray
)
v
).
size
()
>
0
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
)
&&
((
JSONArray
)
v
).
size
()
>
0
)
{
String
field
=
k
;
String
field
=
k
;
if
(
k
.
equals
(
"newPost"
)
||
k
.
equals
(
"subPost"
))
{
if
(
k
.
equals
(
"unitCategory"
))
{
if
(!
ObjectUtils
.
isEmpty
(
v
)
&&
((
JSONArray
)
v
).
size
()
==
1
)
{
String
category
=
((
JSONArray
)
v
).
get
(
0
).
toString
();
JSONArray
unitTypeByType
=
UnitTypeEnum
.
getUnitTypeByType
(
category
);
List
<
String
>
list
=
unitTypeByType
.
stream
().
map
(
e
->
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
e
)).
get
(
"value"
).
toString
()).
collect
(
Collectors
.
toList
());
list
.
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
"unitType.keyword"
,
"*"
+
item
+
"*"
)).
minimumShouldMatch
(
1
));
}
}
else
if
(
k
.
equals
(
"newPost"
)
||
k
.
equals
(
"subPost"
))
{
((
JSONArray
)
v
).
forEach
(
item
->
{
((
JSONArray
)
v
).
forEach
(
item
->
{
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
));
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
));
});
});
}
else
if
(
k
.
equals
(
"equipType"
)
||
k
.
equals
(
"unitType"
)
)
{
}
else
if
(
k
.
equals
(
"equipType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
boolMust
.
must
(
existsQuery
(
field
));
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
k
.
equals
(
"equipType"
)
?
field
:
field
+
".keyword"
,
"*"
+
item
+
"*"
)));
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
must
(
QueryBuilders
.
wildcardQuery
(
field
,
"*"
+
item
+
"*"
)));
}
else
if
(
k
.
equals
(
"education"
))
{
}
else
if
(
k
.
equals
(
"education"
))
{
boolMust
.
must
(
existsQuery
(
field
));
boolMust
.
must
(
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
,
(
JSONArray
)
v
);
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
,
(
JSONArray
)
v
);
...
@@ -349,6 +356,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -349,6 +356,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
filter
(
nestedQuery
);
boolMust
.
filter
(
nestedQuery
);
}
}
}
}
}
else
if
(
v
instanceof
String
)
{
if
(
k
.
equals
(
"fuzzyInput"
))
{
if
(!
"null"
.
equals
(
v
)
&&
!
""
.
equals
(
v
))
{
String
fuzzyValue
=
v
.
toString
();
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"name"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
minimumShouldMatch
(
1
);
boolMust
.
must
(
queryBuilder
);
}
}
}
}
});
});
}
else
{
}
else
{
...
@@ -482,10 +499,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -482,10 +499,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
v
instanceof
JSONArray
)
{
if
(
v
instanceof
JSONArray
)
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
))
{
if
(!((
JSONArray
)
v
).
contains
(
"all"
))
{
String
field
=
k
;
String
field
=
k
;
if
(
k
.
equals
(
"regulatoryLabels"
)
||
k
.
equals
(
"equipCategory"
)
||
k
.
equals
(
"unitType"
))
{
if
(
k
.
equals
(
"unitCategory"
))
{
if
(!
ObjectUtils
.
isEmpty
(
v
)
&&
((
JSONArray
)
v
).
size
()
==
1
)
{
String
category
=
((
JSONArray
)
v
).
get
(
0
).
toString
();
JSONArray
unitTypeByType
=
UnitTypeEnum
.
getUnitTypeByType
(
category
);
List
<
String
>
list
=
unitTypeByType
.
stream
().
map
(
e
->
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
e
)).
get
(
"value"
).
toString
()).
collect
(
Collectors
.
toList
());
list
.
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
"unitType.keyword"
,
"*"
+
item
+
"*"
)).
minimumShouldMatch
(
1
));
}
}
else
if
(
k
.
equals
(
"regulatoryLabels"
)
||
k
.
equals
(
"equipCategory"
)
||
k
.
equals
(
"unitType"
))
{
boolMust
.
must
(
existsQuery
(
field
));
boolMust
.
must
(
existsQuery
(
field
));
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
)));
((
JSONArray
)
v
).
forEach
(
item
->
boolMust
.
should
(
QueryBuilders
.
wildcardQuery
(
field
+
".keyword"
,
"*"
+
item
+
"*"
)).
minimumShouldMatch
(
1
));
boolMust
.
minimumShouldMatch
(
1
);
}
else
if
(
k
.
equals
(
"industrySupervisor"
)
||
k
.
equals
(
"operatingStatus"
))
{
}
else
if
(
k
.
equals
(
"industrySupervisor"
)
||
k
.
equals
(
"operatingStatus"
))
{
boolMust
.
must
(
existsQuery
(
field
));
boolMust
.
must
(
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
+
".keyword"
,
((
JSONArray
)
v
).
get
(
0
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
+
".keyword"
,
((
JSONArray
)
v
).
get
(
0
));
...
@@ -532,6 +555,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -532,6 +555,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
});
});
}
}
}
}
}
else
if
(
v
instanceof
String
)
{
if
(
k
.
equals
(
"fuzzyInput"
))
{
if
(!
"null"
.
equals
(
v
)
&&
!
""
.
equals
(
v
))
{
String
fuzzyValue
=
v
.
toString
();
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"useUnit"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
minimumShouldMatch
(
1
);
boolMust
.
must
(
queryBuilder
);
}
}
}
}
});
});
}
else
{
}
else
{
...
@@ -630,7 +663,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -630,7 +663,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
orgCode
=
filter
.
getString
(
"orgCode"
);
String
orgCode
=
filter
.
getString
(
"orgCode"
);
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"ORG_BRANCH_CODE"
,
orgCode
));
JSONObject
filterParams
;
JSONObject
filterParams
=
null
;
// 筛选
// 筛选
if
(!
ObjectUtils
.
isEmpty
(
filter
.
get
(
"filterParams"
)))
{
if
(!
ObjectUtils
.
isEmpty
(
filter
.
get
(
"filterParams"
)))
{
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
...
@@ -655,14 +688,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -655,14 +688,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Boolean
parseParam
=
getParamAnalysis
(
v
);
Boolean
parseParam
=
getParamAnalysis
(
v
);
if
(
parseParam
)
{
if
(
parseParam
)
{
String
field
=
k
;
String
field
=
k
;
if
(
k
.
equals
(
"unitType"
))
{
if
(
k
.
equals
(
"NEXT_INSPECT_DATE"
))
{
String
finalField
=
field
;
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
queryBuilder
.
add
(
QueryBuilders
.
wildcardQuery
(
finalField
,
"*"
+
item
+
"*"
),
or
);
});
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"NEXT_INSPECT_DATE"
))
{
String
finalField
=
field
;
String
finalField
=
field
;
boolMust
.
must
(
existsQuery
(
finalField
));
boolMust
.
must
(
existsQuery
(
finalField
));
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
...
@@ -679,42 +705,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -679,42 +705,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
});
});
boolMust
.
must
(
queryBuilder
.
build
());
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"USC_DATE"
))
{
}
else
if
(
k
.
equals
(
"PRODUCE_DATE"
)
||
k
.
equals
(
"issueDate"
)
||
k
.
equals
(
"designDate"
)
||
k
.
equals
(
"nextInspectDate"
)
||
k
.
equals
(
"USC_DATE"
))
{
String
finalField
=
field
;
field
=
k
.
equals
(
"nextInspectDate"
)
?
"NEXT_INSPECT_DATE"
:
k
;
boolMust
.
must
(
existsQuery
(
finalField
));
JSONArray
dates
=
(
JSONArray
)
v
;
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
String
startDate
=
dates
.
getString
(
0
);
((
JSONArray
)
v
).
forEach
(
item
->
{
String
endDate
=
dates
.
getString
(
1
);
if
(
item
.
equals
(
"15"
))
{
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
startDate
).
lte
(
endDate
));
// 15年以上:大于当前日期减去15年
}
else
if
(
k
.
equals
(
"EQU_LIST"
)
||
k
.
equals
(
"EQU_CATEGORY"
)
||
k
.
equals
(
"EQU_DEFINE"
)
||
k
.
equals
(
"EQU_STATE"
)
||
k
.
equals
(
"DATA_QUALITY_SCORE"
))
{
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
gt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"10-15"
))
{
// 10-15年:小于当前日期减去15年,大于等于当前日期减去10年
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
15
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"5-10"
))
{
// 5-10年:小于当前日期减去10年,大于等于当前日期减去5年
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
10
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))),
or
);
}
else
if
(
item
.
equals
(
"0-5"
))
{
// 0-5年:小于当前日期减去5年
queryBuilder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
finalField
).
lt
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
))),
or
);
}
});
boolMust
.
must
(
queryBuilder
.
build
());
}
else
if
(
k
.
equals
(
"IS_SUPERVISORY_CODE"
))
{
String
finalField
=
k
;
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(
item
.
equals
(
"1"
))
{
boolMust
.
must
(
existsQuery
(
finalField
));
boolMust
.
mustNot
(
QueryBuilders
.
termQuery
(
finalField
,
"null"
));
}
else
{
boolMust
.
mustNot
(
existsQuery
(
finalField
));
}
});
}
else
if
(
k
.
equals
(
"createDate"
))
{
JSONArray
createDates
=
(
JSONArray
)
v
;
String
startDate
=
DateUtils
.
convertDateToString
(
createDates
.
getDate
(
0
),
DateUtils
.
DATE_TIME_PATTERN
);
String
endDate
=
DateUtils
.
convertDateToString
(
createDates
.
getDate
(
1
),
DateUtils
.
DATE_TIME_PATTERN
);
boolMust
.
filter
(
QueryBuilders
.
rangeQuery
(
"createDate"
).
gte
(
startDate
.
replace
(
" "
,
"T"
)).
lte
(
endDate
.
replace
(
" "
,
"T"
)));
}
else
if
(
k
.
equals
(
"EQU_LIST"
)
||
k
.
equals
(
"EQU_CATEGORY"
)
||
k
.
equals
(
"EQU_DEFINE"
)
||
k
.
equals
(
"EQU_STATE"
)
||
k
.
equals
(
"DATA_QUALITY_SCORE"
)
||
k
.
equals
(
"DATA_SOURCE"
))
{
if
(
k
.
equals
(
"EQU_LIST"
))
{
if
(
k
.
equals
(
"EQU_LIST"
))
{
field
=
"EQU_LIST_CODE"
;
field
=
"EQU_LIST_CODE"
;
}
else
if
(
k
.
equals
(
"EQU_CATEGORY"
))
{
}
else
if
(
k
.
equals
(
"EQU_CATEGORY"
))
{
...
@@ -725,7 +722,55 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -725,7 +722,55 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
must
(
existsQuery
(
field
));
boolMust
.
must
(
existsQuery
(
field
));
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
,
(
JSONArray
)
v
);
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
field
,
(
JSONArray
)
v
);
boolMust
.
must
(
termsQuery
);
boolMust
.
must
(
termsQuery
);
}
else
if
(
k
.
equals
(
"JDJY"
)
||
k
.
equals
(
"DQJY"
)
||
k
.
equals
(
"SCJY"
)
||
k
.
equals
(
"DTJY"
))
{
String
path
=
"inspections"
;
String
typeField
=
path
+
".inspectType"
;
String
dateField
=
path
+
".inspectDate"
;
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
if
(
k
.
equals
(
"JDJY"
))
{
queryBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
typeField
,
"*JDJY*"
));
}
else
{
queryBuilder
.
must
(
QueryBuilders
.
termsQuery
(
typeField
,
k
));
}
}
NestedQueryBuilder
fieldQuery
=
QueryBuilders
.
nestedQuery
(
path
,
queryBuilder
,
ScoreMode
.
Avg
);
JSONArray
dates
=
(
JSONArray
)
v
;
String
startDate
=
dates
.
getString
(
0
);
String
endDate
=
dates
.
getString
(
1
);
NestedQueryBuilder
dateQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
dateField
).
gte
(
startDate
).
lte
(
endDate
),
ScoreMode
.
Avg
);
boolMust
.
must
(
fieldQuery
);
boolMust
.
filter
(
dateQuery
);
}
else
if
(
k
.
equals
(
"QZ_OR_TANK"
))
{
EnhancedDynamicQueryBuilder
queryBuilder
=
new
EnhancedDynamicQueryBuilder
();
((
JSONArray
)
v
).
forEach
(
item
->
{
if
(!
""
.
equals
(
item
))
{
queryBuilder
.
add
(
QueryBuilders
.
matchQuery
(
item
.
toString
(),
"1"
),
or
);
}
});
boolMust
.
must
(
queryBuilder
.
build
());
}
}
}
else
if
(
v
instanceof
String
)
{
if
(
k
.
equals
(
"fuzzyInput"
))
{
if
(!
"null"
.
equals
(
v
)
&&
!
""
.
equals
(
v
))
{
String
fuzzyValue
=
v
.
toString
();
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"EQU_LIST"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"EQU_CATEGORY"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"EQU_DEFINE"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
should
(
QueryBuilders
.
wildcardQuery
(
"PRODUCT_NAME"
,
"*"
+
fuzzyValue
+
"*"
));
queryBuilder
.
minimumShouldMatch
(
1
);
boolMust
.
must
(
queryBuilder
);
}
}
else
if
(
k
.
equals
(
"WHETHER_VEHICLE_CYLINDER"
))
{
boolMust
.
must
(
QueryBuilders
.
matchQuery
(
k
,
v
.
toString
()));
}
}
}
}
}
}
...
@@ -754,8 +799,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -754,8 +799,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
Boolean
isOrGroup
=
or
.
equals
(
filterParams
.
getString
(
"groupAndOr"
))
?
Boolean
.
TRUE
:
Boolean
.
FALSE
;
Boolean
isOrGroup
=
or
.
equals
(
filterParams
.
getString
(
"groupAndOr"
))
?
Boolean
.
TRUE
:
Boolean
.
FALSE
;
handleAdvancedFilter
(
boolMust
,
leftGroup
,
rightGroup
,
isOrGroup
);
handleAdvancedFilter
(
boolMust
,
leftGroup
,
rightGroup
,
isOrGroup
);
}
}
}
else
{
filterParams
=
null
;
}
}
// 排序
// 排序
...
@@ -784,7 +827,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -784,7 +827,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
List
<
JSONObject
>
list
=
new
LinkedList
<>();
List
<
JSONObject
>
list
=
new
LinkedList
<>();
long
totle
=
0
;
long
totle
=
0
;
// double pipeLong = 0;
try
{
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
for
(
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
...
@@ -794,6 +836,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -794,6 +836,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
dto
.
put
(
"equipAddress"
,
dto
.
get
(
"USE_PLACE"
)
+
"/"
+
dto
.
get
(
"ADDRESS"
));
dto
.
put
(
"equipAddress"
,
dto
.
get
(
"USE_PLACE"
)
+
"/"
+
dto
.
get
(
"ADDRESS"
));
String
dataQualityScore
=
ObjectUtils
.
isEmpty
(
dto
.
get
(
"DATA_QUALITY_SCORE"
))
?
null
:
DataQualityScoreEnum
.
getNameByCode
(
dto
.
get
(
"DATA_QUALITY_SCORE"
).
toString
());
String
dataQualityScore
=
ObjectUtils
.
isEmpty
(
dto
.
get
(
"DATA_QUALITY_SCORE"
))
?
null
:
DataQualityScoreEnum
.
getNameByCode
(
dto
.
get
(
"DATA_QUALITY_SCORE"
).
toString
());
dto
.
put
(
"DATA_QUALITY_SCORE"
,
dataQualityScore
);
dto
.
put
(
"DATA_QUALITY_SCORE"
,
dataQualityScore
);
dto
.
put
(
"WHETHER_VEHICLE_CYLINDER"
,
ObjectUtils
.
isEmpty
(
dto
.
get
(
"WHETHER_VEHICLE_CYLINDER"
))
?
""
:
"1"
.
equals
(
dto
.
get
(
"WHETHER_VEHICLE_CYLINDER"
))
?
"是"
:
"否"
);
dto
.
put
(
"WHETHER_SKID_MOUNTED_PRESSURE_VESSEL"
,
ObjectUtils
.
isEmpty
(
dto
.
get
(
"WHETHER_SKID_MOUNTED_PRESSURE_VESSEL"
))
?
""
:
"1"
.
equals
(
dto
.
get
(
"WHETHER_SKID_MOUNTED_PRESSURE_VESSEL"
))
?
"是"
:
"否"
);
dto
.
put
(
"whetherSphericalTank"
,
ObjectUtils
.
isEmpty
(
dto
.
get
(
"whetherSphericalTank"
))
?
""
:
"1"
.
equals
(
dto
.
get
(
"whetherSphericalTank"
))
?
"是"
:
"否"
);
// if (dto.get("EQU_LIST_CODE").equals("8000")) {
// if (dto.get("EQU_LIST_CODE").equals("8000")) {
// JSONArray techParams = (JSONArray) dto.get("techParams");
// JSONArray techParams = (JSONArray) dto.get("techParams");
// if (!ObjectUtils.isEmpty(techParams)) {
// if (!ObjectUtils.isEmpty(techParams)) {
...
@@ -1142,6 +1187,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -1142,6 +1187,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
if
(
equipHandleOtherFields
.
contains
(
field
)
||
companyHandleOtherFields
.
contains
(
field
)
||
personHandleOtherFields
.
contains
(
field
))
{
if
(
equipHandleOtherFields
.
contains
(
field
)
||
companyHandleOtherFields
.
contains
(
field
)
||
personHandleOtherFields
.
contains
(
field
))
{
handleOtherField
(
field
,
itemCondition
,
value
,
isOr
,
builder
);
handleOtherField
(
field
,
itemCondition
,
value
,
isOr
,
builder
);
}
else
{
}
else
{
field
=
field
.
equals
(
"nextInspectDate"
)
?
"NEXT_INSPECT_DATE"
:
field
;
switch
(
itemCondition
)
{
switch
(
itemCondition
)
{
case
"eq"
:
case
"eq"
:
builder
.
add
(
QueryBuilders
.
termQuery
(
field
,
value
),
isOr
);
builder
.
add
(
QueryBuilders
.
termQuery
(
field
,
value
),
isOr
);
...
@@ -1193,7 +1239,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -1193,7 +1239,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
private
void
personFieldHandle
(
String
field
,
String
itemCondition
,
Object
value
,
String
isOr
,
EnhancedDynamicQueryBuilder
builder
)
{
private
void
personFieldHandle
(
String
field
,
String
itemCondition
,
Object
value
,
String
isOr
,
EnhancedDynamicQueryBuilder
builder
)
{
if
(
field
.
equals
(
"newPost"
)
||
field
.
equals
(
"subPost"
)
||
field
.
equals
(
"equipType"
)
||
field
.
equals
(
"unitType"
)
)
{
if
(
field
.
equals
(
"newPost"
)
||
field
.
equals
(
"subPost"
)
||
field
.
equals
(
"equipType"
))
{
if
(
itemCondition
.
equals
(
"eq"
))
{
if
(
itemCondition
.
equals
(
"eq"
))
{
builder
.
add
(
QueryBuilders
.
termQuery
(
field
+
".keyword"
,
value
),
isOr
);
builder
.
add
(
QueryBuilders
.
termQuery
(
field
+
".keyword"
,
value
),
isOr
);
}
else
if
(
itemCondition
.
equals
(
"in"
))
{
}
else
if
(
itemCondition
.
equals
(
"in"
))
{
...
@@ -1450,13 +1496,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -1450,13 +1496,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
field
).
lt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
isOr
);
builder
.
add
(
QueryBuilders
.
boolQuery
().
filter
(
QueryBuilders
.
rangeQuery
(
field
).
lt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
))),
isOr
);
}
}
}
}
}
else
if
(
field
.
equals
(
"IS_SUPERVISORY_CODE"
))
{
String
finalField
=
"SUPERVISORY_CODE"
;
if
(
value
.
equals
(
"1"
))
{
builder
.
add
(
QueryBuilders
.
boolQuery
().
must
(
existsQuery
(
finalField
)).
mustNot
(
QueryBuilders
.
termsQuery
(
finalField
,
"null"
)),
isOr
);
}
else
{
builder
.
add
(
QueryBuilders
.
boolQuery
().
mustNot
(
existsQuery
(
finalField
)),
isOr
);
}
}
else
if
(
field
.
equals
(
"USC_DATE"
))
{
}
else
if
(
field
.
equals
(
"USC_DATE"
))
{
if
(
value
.
equals
(
"15"
))
{
if
(
value
.
equals
(
"15"
))
{
// 15年以上:大于当前日期减去15年
// 15年以上:大于当前日期减去15年
...
@@ -1489,18 +1528,61 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -1489,18 +1528,61 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
builder
.
add
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
)),
isOr
);
builder
.
add
(
QueryBuilders
.
rangeQuery
(
field
).
gte
(
LocalDate
.
now
().
minusYears
(
5
).
format
(
formatter
)),
isOr
);
}
}
}
}
}
else
if
(
field
.
equals
(
"createDate"
))
{
}
else
if
(
field
.
equals
(
"JDJY"
)
||
field
.
equals
(
"DQJY"
)
||
field
.
equals
(
"SCJY"
)
||
field
.
equals
(
"DTJY"
))
{
JSONArray
createDates
=
(
JSONArray
)
value
;
String
path
=
"inspections"
;
String
startDate
=
DateUtils
.
convertDateToString
(
createDates
.
getDate
(
0
),
DateUtils
.
DATE_TIME_PATTERN
);
String
typeField
=
path
+
".inspectType"
;
String
endDate
=
DateUtils
.
convertDateToString
(
createDates
.
getDate
(
1
),
DateUtils
.
DATE_TIME_PATTERN
);
String
dateField
=
path
+
".inspectDate"
;
builder
.
add
(
QueryBuilders
.
rangeQuery
(
"createDate"
).
gte
(
startDate
.
replace
(
" "
,
"T"
)).
lte
(
endDate
.
replace
(
" "
,
"T"
)),
isOr
);
BoolQueryBuilder
queryBuilder
=
QueryBuilders
.
boolQuery
();
if
(
field
.
equals
(
"JDJY"
))
{
queryBuilder
.
must
(
QueryBuilders
.
wildcardQuery
(
typeField
,
"*JDJY*"
));
}
else
{
queryBuilder
.
must
(
QueryBuilders
.
termsQuery
(
typeField
,
field
));
}
NestedQueryBuilder
fieldQuery
=
QueryBuilders
.
nestedQuery
(
path
,
queryBuilder
,
ScoreMode
.
Avg
);
builder
.
add
(
fieldQuery
,
and
);
BoolQueryBuilder
query
=
QueryBuilders
.
boolQuery
();
switch
(
itemCondition
)
{
case
"lt"
:
query
.
must
(
QueryBuilders
.
rangeQuery
(
dateField
).
lt
(
value
));
break
;
case
"lte"
:
query
.
must
(
QueryBuilders
.
rangeQuery
(
dateField
).
lte
(
value
));
break
;
case
"gt"
:
query
.
must
(
QueryBuilders
.
rangeQuery
(
dateField
).
gt
(
value
));
break
;
case
"gte"
:
query
.
must
(
QueryBuilders
.
rangeQuery
(
dateField
).
gte
(
value
));
break
;
}
NestedQueryBuilder
dateQuery
=
QueryBuilders
.
nestedQuery
(
path
,
query
,
ScoreMode
.
Avg
);
builder
.
add
(
dateQuery
,
isOr
);
}
else
if
(
field
.
equals
(
"QZ_OR_TANK"
))
{
if
(!
""
.
equals
(
value
)
&&
value
!=
null
)
{
if
(
itemCondition
.
equals
(
"eq"
)
||
itemCondition
.
equals
(
"in"
))
{
builder
.
add
(
QueryBuilders
.
matchQuery
(
value
.
toString
(),
"1"
),
isOr
);
}
else
{
builder
.
add
(
QueryBuilders
.
matchQuery
(
value
.
toString
(),
"0"
),
isOr
);
}
}
}
}
}
}
public
JSONArray
queryUnitType
()
{
public
JSONArray
queryUnitType
(
String
type
)
{
if
(
ObjectUtils
.
isEmpty
(
type
)){
return
UnitTypeEnum
.
getAll
();
return
UnitTypeEnum
.
getAll
();
}
}
return
UnitTypeEnum
.
getUnitTypeByType
(
type
);
}
public
JSONObject
queryCompanySearchData
()
{
public
JSONObject
queryCompanySearchData
()
{
JSONObject
result
=
new
JSONObject
();
JSONObject
result
=
new
JSONObject
();
...
@@ -1958,7 +2040,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
...
@@ -1958,7 +2040,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
public
JSONArray
queryTechParam
(
String
type
)
{
public
JSONArray
queryTechParam
(
String
type
)
{
if
(
ValidationUtil
.
isEmpty
(
type
))
{
if
(
ValidationUtil
.
isEmpty
(
type
))
{
throw
new
BaseException
(
"需要先选择设备品种,才能选择技术参数"
,
"200"
,
"需要先选择设备品种,才能选择技术参数"
);
throw
new
BaseException
(
"需要先选择设备品种,才能选择技术参数"
,
"200"
,
"需要先选择设备品种,才能选择技术参数"
);
}
}
List
<
TechParamItem
>
paramMetaList
=
TechParamUtil
.
getParamMetaList
(
type
);
List
<
TechParamItem
>
paramMetaList
=
TechParamUtil
.
getParamMetaList
(
type
);
JSONArray
list
=
new
JSONArray
();
JSONArray
list
=
new
JSONArray
();
...
...
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