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
f206fb0c
Commit
f206fb0c
authored
Aug 06, 2025
by
hcing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(tzs): 风险报送人员调整
parent
ac0a35f2
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
314 additions
and
154 deletions
+314
-154
IDataDictionaryService.java
.../amos/boot/biz/common/service/IDataDictionaryService.java
+0
-2
DataDictionaryServiceImpl.java
...ot/biz/common/service/impl/DataDictionaryServiceImpl.java
+0
-8
unitTypeLimitUserType.json
...on-api/src/main/resources/json/unitTypeLimitUserType.json
+47
-19
TZSCommonServiceImpl.java
.../module/common/biz/service/impl/TZSCommonServiceImpl.java
+124
-2
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+13
-81
TzsUserInfoDto.java
.../yeejoin/amos/boot/module/tcm/api/dto/TzsUserInfoDto.java
+3
-0
TzsUserInfo.java
.../yeejoin/amos/boot/module/tcm/api/entity/TzsUserInfo.java
+6
-0
TzsUserInfoMapper.java
...in/amos/boot/module/tcm/api/mapper/TzsUserInfoMapper.java
+3
-0
ITzsUserInfoService.java
...amos/boot/module/tcm/api/service/ITzsUserInfoService.java
+1
-1
TzsUserInfoMapper.xml
...e-tcm-api/src/main/resources/mapper/TzsUserInfoMapper.xml
+8
-0
TzsUserInfoController.java
...boot/module/tcm/biz/controller/TzsUserInfoController.java
+4
-2
UserRefreshHandler.java
...ot/module/tcm/biz/refresh/handler/UserRefreshHandler.java
+17
-6
TzsUserInfoServiceImpl.java
...t/module/tcm/biz/service/impl/TzsUserInfoServiceImpl.java
+88
-33
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/service/IDataDictionaryService.java
View file @
f206fb0c
...
...
@@ -28,7 +28,5 @@ public interface IDataDictionaryService {
List
<
DataDictionary
>
getByParent
(
String
parent
);
List
<
DataDictionary
>
getByTypeAndDesc
(
String
type
,
String
group
);
DataDictionary
getByExtend
(
String
groupId
,
String
type
);
}
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/service/impl/DataDictionaryServiceImpl.java
View file @
f206fb0c
...
...
@@ -180,14 +180,6 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da
}
@Override
public
List
<
DataDictionary
>
getByTypeAndDesc
(
String
type
,
String
typeDesc
)
{
LambdaQueryWrapper
<
DataDictionary
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
likeRight
(
DataDictionary:
:
getType
,
type
);
wrapper
.
likeRight
(
DataDictionary:
:
getTypeDesc
,
typeDesc
);
return
this
.
list
(
wrapper
);
}
@Override
public
DataDictionary
getByExtend
(
String
groupId
,
String
type
)
{
LambdaQueryWrapper
<
DataDictionary
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
DataDictionary:
:
getExtend
,
groupId
);
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/resources/json/unitTypeLimitUserType.json
View file @
f206fb0c
{
"检验
检测
机构"
:
{
"检验机构"
:
{
"6660"
:
[],
"6667"
:
[],
"66151"
:
[],
...
...
@@ -7,21 +7,34 @@
"6546"
:
[],
"6616"
:
[],
"6761"
:
[],
"6762"
:
[]
"6762"
:
[],
"6766"
:
[]
},
"检测机构"
:
{
"6660"
:
[],
"6667"
:
[],
"66151"
:
[],
"66152"
:
[],
"6546"
:
[],
"6616"
:
[],
"6761"
:
[],
"6762"
:
[],
"6766"
:
[]
},
"设计单位"
:
{
"6660"
:
[],
"6661"
:
[],
"6662"
:
[],
"6619"
:
[],
"6552"
:
[],
"66151"
:
[],
"66152"
:
[],
"6546"
:
[],
"6548"
:
[],
"6550"
:
[],
"6551"
:
[],
"6616"
:
[]
"6660"
:
[],
"6661"
:
[],
"6662"
:
[],
"6619"
:
[],
"6552"
:
[],
"66151"
:
[],
"66152"
:
[],
"6546"
:
[],
"6548"
:
[],
"6550"
:
[],
"6551"
:
[],
"6616"
:
[],
"6766"
:
[]
},
"制造单位"
:
{
"6660"
:
[],
...
...
@@ -35,7 +48,8 @@
"6548"
:
[],
"6550"
:
[],
"6551"
:
[],
"6616"
:
[]
"6616"
:
[],
"6766"
:
[]
},
"充装单位"
:
{
"6660"
:
[],
...
...
@@ -46,7 +60,8 @@
"6548"
:
[],
"6616"
:
[],
"6763"
:
[],
"6549"
:
[]
"6549"
:
[],
"6766"
:
[]
},
"安装改造维修单位"
:
{
"6660"
:
[],
...
...
@@ -58,12 +73,14 @@
"6552"
:
[],
"66151"
:
[],
"66152"
:
[],
"6667"
:
[],
"6546"
:
[],
"6548"
:
[],
"6550"
:
[],
"6551"
:
[],
"6616"
:
[],
"6553"
:
[]
"6553"
:
[],
"6766"
:
[]
},
"使用单位"
:
{
"6552"
:
[
"6713"
],
...
...
@@ -72,7 +89,11 @@
"6548"
:
[],
"6616"
:
[],
"6617"
:
[],
"6549"
:
[]
"6549"
:
[],
"66151"
:
[],
"66152"
:
[],
"6667"
:
[],
"6766"
:
[]
},
"个人主体"
:
{
"6552"
:
[
"6713"
],
...
...
@@ -81,6 +102,13 @@
"6548"
:
[],
"6616"
:
[],
"6617"
:
[],
"6549"
:
[]
"6549"
:
[],
"66151"
:
[],
"66152"
:
[],
"6667"
:
[],
"6766"
:
[]
},
"监管机构"
:
{
"6766"
:
[]
}
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/TZSCommonServiceImpl.java
View file @
f206fb0c
...
...
@@ -3,6 +3,10 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.lucene.search.join.ScoreMode
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.NestedQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -15,6 +19,8 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
elasticsearch
.
index
.
query
.
QueryBuilders
.
existsQuery
;
@Slf4j
@Service
public
class
TZSCommonServiceImpl
{
...
...
@@ -62,11 +68,11 @@ public class TZSCommonServiceImpl {
String
licensesStatus
=
null
;
if
(
esUserInfoJson
.
containsKey
(
"licenses"
))
{
// 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152
// 人员类型(newPost):检验人员:66151、检测人员:66152
,检验检测区域负责人 :6667
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
String
newPost
=
ObjectUtils
.
isEmpty
(
esUserInfoJson
.
getString
(
"newPost"
))
?
""
:
esUserInfoJson
.
getString
(
"newPost"
);
String
subPost
=
ObjectUtils
.
isEmpty
(
esUserInfoJson
.
getString
(
"subPost"
))
?
""
:
esUserInfoJson
.
getString
(
"subPost"
);
if
(
newPost
.
contains
(
"66151"
)
||
newPost
.
contains
(
"66152"
)
||
subPost
.
contains
(
"6713"
)
||
subPost
.
contains
(
"6764"
)
||
subPost
.
contains
(
"6765"
))
{
if
(
newPost
.
contains
(
"66151"
)
||
newPost
.
contains
(
"66152"
)
||
newPost
.
contains
(
"6667"
)
||
subPost
.
contains
(
"6713"
)
||
subPost
.
contains
(
"6764"
)
||
subPost
.
contains
(
"6765"
))
{
JSONArray
licenses
=
esUserInfoJson
.
getJSONArray
(
"licenses"
);
String
overdueStr
=
licensesStatusMap
.
get
(
overdue
);
String
nearStr
=
licensesStatusMap
.
get
(
near
);
...
...
@@ -119,4 +125,119 @@ public class TZSCommonServiceImpl {
}
return
licensesStatus
;
}
/**
* 需要资质的人员查询构造条件
* 无资质:需要资质但是没有填写
*
* @return
*/
public
BoolQueryBuilder
getNotLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6667*"
))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
)
.
minimumShouldMatch
(
1
);
}
/**
* 无资质要求的人员查询构造条件
* 无资质要求:不需要资质
*
* @return
*/
public
BoolQueryBuilder
getNotNeedLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6667*"
))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
);
}
/**
* 人员资质状态查询构造条件
*
* @param boolMust
* @param licensesStatus
* @param path
* @param nestedField
*/
public
void
buildExpiryDateQueryBuilder
(
BoolQueryBuilder
boolMust
,
String
licensesStatus
,
String
path
,
String
nestedField
)
{
if
(
licensesStatus
.
equals
(
overdue
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
// 超期:小于当前日期
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
lt
(
LocalDate
.
now
().
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
licensesStatus
.
equals
(
near
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
// 临期:小于等于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
licensesStatus
.
equals
(
normal
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
// 正常:大于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
licensesStatus
.
equals
(
none
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
// 无有效期
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
boolQuery
().
mustNot
(
existsQuery
(
nestedField
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
// 只在人员列表处用到
// 综合统计处未用到下面的条件,理论上走不到下面俩条件
else
if
(
licensesStatus
.
equals
(
noLicense
))
{
// 无资质
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
existsQuery
(
path
+
"."
+
"certNo"
),
ScoreMode
.
None
);
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
this
.
getNotLicencesBuilderWithPerson
());
meBuilder
.
must
(
QueryBuilders
.
boolQuery
().
mustNot
(
nestedQuery
));
boolMust
.
must
(
meBuilder
);
}
else
if
(
licensesStatus
.
equals
(
noLicenseReq
))
{
// 无资质要求
boolMust
.
must
(
this
.
getNotNeedLicencesBuilderWithPerson
());
}
}
}
\ No newline at end of file
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 @
f206fb0c
...
...
@@ -411,57 +411,28 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
existsQuery
(
nestedField
),
ScoreMode
.
None
);
// ***********************************************************************************************************************************
// 注意 : 若要修改下面的【无资质】和【无资质要求】逻辑,请同步修改 tzsCommonService.buildExpiryDateQueryBuilder()方法中的后半部分 ***************
// ***********************************************************************************************************************************
// 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
// 人员类型(newPost):检验人员:66151、检测人员:66152、作业人员:6552、检查人员:6763
、检验检测区域负责人:6667
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
if
(
item
.
equals
(
"1"
))
{
licencesQueryBuilder
.
add
(
nestedQuery
,
or
);
}
else
if
(
item
.
equals
(
"0"
))
{
// 无资质
DynamicQueryBuilder
queryBuilder
=
new
DynamicQueryBuilder
();
queryBuilder
.
and
(
t
his
.
getNotLicencesBuilderWithPerson
());
queryBuilder
.
and
(
t
zsCommonService
.
getNotLicencesBuilderWithPerson
());
queryBuilder
.
and
(
QueryBuilders
.
boolQuery
().
mustNot
(
nestedQuery
));
licencesQueryBuilder
.
add
(
queryBuilder
.
build
(),
or
);
}
else
{
// 无资质要求
licencesQueryBuilder
.
add
(
t
his
.
getNotNeedLicencesBuilderWithPerson
(),
or
);
licencesQueryBuilder
.
add
(
t
zsCommonService
.
getNotNeedLicencesBuilderWithPerson
(),
or
);
}
}
else
if
(
k
.
equals
(
"expiryDate"
))
{
// 不需要资质的人员查询构造条件
BoolQueryBuilder
notNeedLicensesQueryBuilder
=
this
.
getNotLicencesBuilderWithPerson
();
boolMust
.
must
(
notNeedLicensesQueryBuilder
);
if
(
item
.
equals
(
overdue
))
{
// 超期:小于当前日期
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
lt
(
LocalDate
.
now
().
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
item
.
equals
(
near
))
{
// 临期:小于等于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
lte
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)).
gte
(
LocalDate
.
now
().
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
item
.
equals
(
normal
))
{
// 正常:大于当前日期加上30天
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
rangeQuery
(
nestedField
).
gt
(
LocalDate
.
now
().
plusDays
(
30
).
format
(
formatter
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
else
if
(
item
.
equals
(
none
))
{
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
QueryBuilders
.
boolQuery
().
mustNot
(
existsQuery
(
nestedField
)),
ScoreMode
.
None
);
boolMust
.
must
(
nestedQuery
);
}
// 无有效期 / 资质正常 / 资质临期 / 资质超期
tzsCommonService
.
buildExpiryDateQueryBuilder
(
boolMust
,
item
.
toString
(),
path
,
nestedField
);
}
else
if
(
k
.
equals
(
"certType"
)
||
k
.
equals
(
"permissionLevel"
))
{
NestedQueryBuilder
nestedQuery
=
QueryBuilders
.
nestedQuery
(
path
,
...
...
@@ -1700,9 +1671,9 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
ScoreMode
.
None
);
// 无资质查询
BoolQueryBuilder
noCertQuery
=
t
his
.
getNotLicencesBuilderWithPerson
();
BoolQueryBuilder
noCertQuery
=
t
zsCommonService
.
getNotLicencesBuilderWithPerson
();
// 无资质要求查询
BoolQueryBuilder
noCertRequestQuery
=
t
his
.
getNotNeedLicencesBuilderWithPerson
();
BoolQueryBuilder
noCertRequestQuery
=
t
zsCommonService
.
getNotNeedLicencesBuilderWithPerson
();
if
(
value
.
equals
(
"1"
))
{
if
(
itemCondition
.
equals
(
"eq"
)
||
itemCondition
.
equals
(
"in"
))
{
...
...
@@ -1858,45 +1829,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
/**
* 需要资质的人员查询构造条件
* 无资质:需要资质但是没有填写
*
* @return
*/
private
BoolQueryBuilder
getNotLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
should
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
)
.
minimumShouldMatch
(
1
);
}
/**
* 无资质要求的人员查询构造条件
* 无资质要求:不需要资质
*
* @return
*/
private
BoolQueryBuilder
getNotNeedLicencesBuilderWithPerson
()
{
return
QueryBuilders
.
boolQuery
()
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66151*"
))
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*66152*"
))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6552*"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6713*"
)))
.
mustNot
(
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
wildcardQuery
(
"newPost"
,
"*6763*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6764*"
))
.
should
(
QueryBuilders
.
wildcardQuery
(
"subPost"
,
"*6765*"
))
.
minimumShouldMatch
(
1
)
);
}
private
void
companyFieldHandle
(
String
field
,
String
itemCondition
,
Object
value
,
String
isOr
,
EnhancedDynamicQueryBuilder
builder
)
{
if
(
field
.
equals
(
"itemCode"
)
||
field
.
equals
(
"subItemCode"
)
||
field
.
equals
(
"permitStatus"
)
||
field
.
equals
(
"expiryDate"
))
{
String
path
=
"licenses"
;
...
...
@@ -3627,7 +3559,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
String
path
=
"licenses"
;
String
nestedField
=
path
+
".expiryDate"
;
// 需要资质的人员必须条件
BoolQueryBuilder
needLicensesQueryBuilder
=
t
his
.
getNotLicencesBuilderWithPerson
();
BoolQueryBuilder
needLicensesQueryBuilder
=
t
zsCommonService
.
getNotLicencesBuilderWithPerson
();
// 资质正常
BoolQueryBuilder
normalBoolQuery
=
QueryBuilderUtils
.
copyBoolQuery
(
boolQuery
);
NestedQueryBuilder
normalNestedQuery
=
QueryBuilders
.
nestedQuery
(
...
...
@@ -3700,7 +3632,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
// 无资质要求查询
// BoolQueryBuilder notNeedLicensesBoolQuery = QueryBuilderUtils.copyBoolQuery(boolQuery);
// // 不需要资质的人员查询构造条件
// BoolQueryBuilder notNeedLicensesQueryBuilder = t
his
.getNotNeedLicencesBuilderWithPerson();
// BoolQueryBuilder notNeedLicensesQueryBuilder = t
zsCommonService
.getNotNeedLicencesBuilderWithPerson();
// DynamicQueryBuilder mainBuilderNotNeed = new DynamicQueryBuilder();
// EnhancedDynamicQueryBuilder dynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
//
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/dto/TzsUserInfoDto.java
View file @
f206fb0c
...
...
@@ -145,4 +145,7 @@ public class TzsUserInfoDto extends BaseDto {
@ApiModelProperty
(
value
=
"创建时间"
)
protected
Date
createDate
;
@ApiModelProperty
(
value
=
"人员所在企业类型:监管/行政审批局supervision;企业:company"
)
protected
String
companyType
;
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/entity/TzsUserInfo.java
View file @
f206fb0c
...
...
@@ -242,4 +242,10 @@ public class TzsUserInfo extends BaseEntity {
*/
@TableField
(
value
=
"create_date"
)
protected
Date
createDate
;
/**
* 人员所在企业类型:监管/行政审批局supervision;企业:company
*/
@TableField
(
value
=
"company_type"
)
protected
String
companyType
;
}
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/mapper/TzsUserInfoMapper.java
View file @
f206fb0c
...
...
@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
import
com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo
;
import
com.yeejoin.amos.boot.module.tcm.api.vo.SortVo
;
import
com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
...
...
@@ -44,6 +45,8 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
String
selectCompanyTypeById
(
Long
companySeq
);
CompanyModel
selectPrivilegeCompanyByCompanyCode
(
@Param
(
"companyCode"
)
String
companyCode
);
/**
* 已资质为维度查询人
* @param page 分页对象
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/service/ITzsUserInfoService.java
View file @
f206fb0c
...
...
@@ -96,7 +96,7 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
String
deletePersonSubtypeHistoricalData
();
List
<
DataDictionary
>
postByUnitType
(
CompanyBo
company
);
List
<
DataDictionary
>
postByUnitType
(
CompanyBo
company
,
String
formType
);
List
<
DataDictionary
>
subPostByUnitType
(
CompanyBo
company
,
String
parentCode
);
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/resources/mapper/TzsUserInfoMapper.xml
View file @
f206fb0c
...
...
@@ -261,6 +261,14 @@
<select
id=
"selectCompanyTypeById"
resultType=
"java.lang.String"
>
select company_type from privilege_company where sequence_nbr = #{companySeq}
</select>
<select
id=
"selectPrivilegeCompanyByCompanyCode"
resultType=
"com.yeejoin.amos.feign.privilege.model.CompanyModel"
>
select *
from privilege_company
where company_code = #{companyCode}
</select>
<select
id=
"queryUserByPermissionOfOneCompany"
resultType=
"com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto"
>
SELECT
COALESCE (p.sequence_nbr, u.sequence_nbr) as sequence_nbr,
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/controller/TzsUserInfoController.java
View file @
f206fb0c
...
...
@@ -29,6 +29,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl;
import
com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
...
...
@@ -464,9 +465,10 @@ public class TzsUserInfoController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/postByUnitType"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据单位类型查询对应的人员类型"
,
notes
=
"根据单位类型查询对应的人员类型"
)
public
ResponseModel
<
List
<
DataDictionary
>>
postByUnitType
()
{
public
ResponseModel
<
List
<
DataDictionary
>>
postByUnitType
(
@ApiParam
(
value
=
"表单类型:add/edit/detail,用于过滤监管单位查询人员类型,详情页面查询所有(可能是查看其他单位的人员详情),新增编辑页面只过滤自己类型下的,限制添加的人员类型"
,
required
=
true
,
defaultValue
=
"detail"
)
@RequestParam
(
value
=
"formType"
,
defaultValue
=
""
)
String
formType
)
{
CompanyBo
company
=
getSelectedOrgInfo
().
getCompany
();
return
ResponseHelper
.
buildResponse
(
tzsUserInfoService
.
postByUnitType
(
company
));
return
ResponseHelper
.
buildResponse
(
tzsUserInfoService
.
postByUnitType
(
company
,
formType
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/refresh/handler/UserRefreshHandler.java
View file @
f206fb0c
...
...
@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.biz.refresh.handler;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsBaseEnterpriseInfoDao
;
import
com.yeejoin.amos.boot.module.common.api.dao.EsUserInfoDao
;
...
...
@@ -17,6 +18,7 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper
;
import
com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper
;
import
com.yeejoin.amos.boot.module.tcm.biz.refresh.CommonRefreshService
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
...
...
@@ -71,12 +73,21 @@ public class UserRefreshHandler implements IDataRefreshHandler {
esUserInfo
.
setEquipTypeName
(
RefreshDataUtils
.
castEquCategory2Name
(
esUserInfo
.
getEquipType
()));
// 绑定设备状态
esUserInfo
.
setBindEquStatus
(
commonRefreshService
.
queryUserBindEquStatus
(
userInfo
.
getSequenceNbr
()));
Optional
<
EsBaseEnterpriseInfo
>
esBaseEnterpriseInfo
=
esBaseEnterpriseInfoDao
.
findById
(
unit
.
getSequenceNbr
()
+
""
);
// 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:unit.getUnitType()
String
unitType
=
esBaseEnterpriseInfo
.
map
(
EsBaseEnterpriseInfo:
:
getUnitType
).
orElse
(
unit
.
getUnitType
());
esUserInfo
.
setUnitType
(
unitType
);
esUserInfo
.
setSuperviseOrgName
(
unit
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
unit
.
getSuperviseOrgCode
());
// 监管机构
if
(
userInfo
.
getCompanyType
().
equals
(
BaseController
.
COMPANY_TYPE_SUPERVISION
))
{
CompanyModel
result
=
userInfoMapper
.
selectPrivilegeCompanyByCompanyCode
(
userInfo
.
getUnitCode
());
esUserInfo
.
setUnitType
(
result
.
getCompanyType
());
esUserInfo
.
setSuperviseOrgName
(
result
.
getCompanyName
());
esUserInfo
.
setSuperviseOrgCode
(
result
.
getOrgCode
());
}
else
{
// 企业
Optional
<
EsBaseEnterpriseInfo
>
esBaseEnterpriseInfo
=
esBaseEnterpriseInfoDao
.
findById
(
unit
.
getSequenceNbr
()
+
""
);
// 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:unit.getUnitType()
String
unitType
=
esBaseEnterpriseInfo
.
map
(
EsBaseEnterpriseInfo:
:
getUnitType
).
orElse
(
unit
.
getUnitType
());
esUserInfo
.
setUnitType
(
unitType
);
esUserInfo
.
setSuperviseOrgName
(
unit
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
unit
.
getSuperviseOrgCode
());
}
esUserInfo
.
setLicenses
(
commonRefreshService
.
buildUserLicenses
(
userInfo
.
getSequenceNbr
()));
esUserInfo
.
setLicenseMinExpiryDate
(
RefreshCmService
.
getMinDateFromLicensesUser
(
esUserInfo
.
getLicenses
()));
esUserInfoDao
.
save
(
esUserInfo
);
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/service/impl/TzsUserInfoServiceImpl.java
View file @
f206fb0c
...
...
@@ -124,6 +124,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
private
final
String
UNLOCK
=
"UNLOCK"
;
private
final
String
LOCK
=
"LOCK"
;
private
final
String
TOTALTYPESTEMPLATE
=
"{\"records\":[{\"name\":\"人员总数(人)\",\"value\":%s}]}"
;
// 详情表单类型的集合
private
final
List
<
String
>
FROM_TYPES_DETAIL
=
Arrays
.
asList
(
"detail"
,
"look"
);
@Autowired
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
...
...
@@ -281,10 +283,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if
(
dictIds
==
null
||
dictIds
.
isEmpty
())
{
return
""
;
}
L
ambdaQueryWrapper
<
DataDictionary
>
lambda
=
new
QueryWrapper
<
DataDictionary
>().
lambda
();
lambda
.
in
(
DataDictionary:
:
getSequenceNbr
,
dictIds
);
List
<
DataDictionary
>
dataDictionaries
=
iDataDictionaryService
.
getByTypeAndDesc
(
QYRYGW
,
QYRYGW_NAME
);
List
<
DataDictionary
>
postDataList
=
dataDictionaries
.
stream
().
filter
(
d
->
dictIds
.
stream
().
anyMatch
(
id
->
id
.
toString
().
equals
(
d
.
getCode
())))
.
collect
(
Collectors
.
toList
());
L
ist
<
DataDictionary
>
dataDictionaries
=
this
.
getAllUserType
();
List
<
DataDictionary
>
postDataList
=
dataDictionaries
.
stream
()
.
filter
(
d
->
dictIds
.
stream
().
anyMatch
(
id
->
id
.
toString
().
equals
(
d
.
getCode
())))
.
collect
(
Collectors
.
toList
());
return
postDataList
.
stream
().
map
(
DataDictionary:
:
getName
).
collect
(
Collectors
.
joining
(
","
));
}
...
...
@@ -373,8 +375,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 2:多种单位类型的企业编辑另一种单位类型下的人员
// 监管机构查看所有
List
<
String
>
unitTypeAllPostCode
;
if
(!
reginParams
.
getCompany
().
getCompanyType
().
equals
(
"监管机构"
))
{
unitTypeAllPostCode
=
this
.
postByUnitType
(
reginParams
.
getCompany
()).
stream
().
map
(
DataDictionary:
:
getCode
).
collect
(
Collectors
.
toList
());
String
companyType
=
this
.
getLoginCompanyType
();
if
(
companyType
.
equals
(
BaseController
.
COMPANY_TYPE_COMPANY
))
{
unitTypeAllPostCode
=
this
.
postByUnitType
(
reginParams
.
getCompany
(),
""
).
stream
().
map
(
DataDictionary:
:
getCode
).
collect
(
Collectors
.
toList
());
}
else
{
unitTypeAllPostCode
=
this
.
getAllUserType
().
stream
().
map
(
DataDictionary:
:
getCode
).
collect
(
Collectors
.
toList
());
}
...
...
@@ -420,8 +423,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
tzsUserInfoVo
.
setPracticeRegistration
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getPracticeRegistration
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getPracticeRegistration
()));
tzsUserInfoVo
.
setLaborContract
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getLaborContract
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getLaborContract
()));
tzsUserInfoVo
.
setOtherAccessories
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getOtherAccessories
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getOtherAccessories
()));
String
company
Type
=
getUnitType
();
tzsUserInfoVo
.
setCompanyType
(
company
Type
.
contains
(
"个人主体"
)
?
"individual"
:
"no-individual"
);
String
unit
Type
=
getUnitType
();
tzsUserInfoVo
.
setCompanyType
(
unit
Type
.
contains
(
"个人主体"
)
?
"individual"
:
"no-individual"
);
Map
<
String
,
Object
>
userInfoMap
=
BeanUtil
.
beanToMap
(
tzsUserInfoVo
);
// userInfoMap.putAll(this.getPermissionDataJson(tzsUserInfo.getPermissionData()));
// 填充资质信息
...
...
@@ -1159,6 +1162,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
tzsUserInfo
.
setSubPostName
(
subPostNames
);
}
tzsUserInfo
.
setCreateDate
(
new
Date
());
tzsUserInfo
.
setCompanyType
(
this
.
getLoginCompanyType
());
tzsUserInfo
=
this
.
createWithModel
(
tzsUserInfo
);
// 保存资质
tzsUserPermissionServiceImpl
.
savePermissionData
(
tzsUserInfo
);
...
...
@@ -1309,9 +1313,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 更新资质
tzsUserPermissionServiceImpl
.
updatePermissionData
(
tzsUserInfoDto
);
tzsUserInfoDto
.
setQrCodeState
(
"1"
);
tzsUserInfoDto
.
setCompanyType
(
this
.
getLoginCompanyType
());
this
.
updateWithModel
(
tzsUserInfoDto
);
// 更新人员信息同步平台
syncNewPost
(
tzsUserInfoDto
);
publisher
.
publish
(
new
DataRefreshEvent
(
this
,
Collections
.
singletonList
(
tzsUserInfoDto
.
getSequenceNbr
()
+
""
),
DataRefreshEvent
.
DataType
.
user
.
name
(),
DataRefreshEvent
.
Operation
.
UPDATE
));
return
tzsUserInfoDto
;
}
...
...
@@ -1324,10 +1330,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
"QYRYGW-INSPECTION"
));
return
iDataDictionaryService
.
lambdaQuery
()
.
select
(
DataDictionary:
:
getName
,
DataDictionary:
:
getCode
)
.
eq
(
DataDictionary:
:
getIsDelete
,
false
)
.
isNull
(
DataDictionary:
:
getParent
)
.
in
(
DataDictionary:
:
getType
,
type
)
.
orderByAsc
(
DataDictionary:
:
getSortNum
)
.
list
();
}
...
...
@@ -1617,7 +1623,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
certificateNumOnly
.
put
(
userItems
.
getCertificateNum
(),
userItems
.
getName
());
}
// 4.登录账号的单位类型和人员类型校验
Map
<
String
,
String
>
allPostNames
=
this
.
postByUnitType
(
company
).
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getName
,
DataDictionary:
:
getCode
));
Map
<
String
,
String
>
allPostNames
=
this
.
postByUnitType
(
company
,
""
).
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getName
,
DataDictionary:
:
getCode
));
String
postNameStr
=
userItems
.
getPost
();
if
(!
ValidationUtil
.
isEmpty
(
postNameStr
))
{
List
<
String
>
postNameList
=
Arrays
.
asList
(
postNameStr
.
replace
(
","
,
","
).
replace
(
"-"
,
","
).
replace
(
"\n"
,
""
).
split
(
","
));
...
...
@@ -1642,7 +1648,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if
(!
ValidationUtil
.
isEmpty
(
subPost
))
{
String
subPostStr
=
subPost
.
replace
(
","
,
","
).
replace
(
"-"
,
","
).
replace
(
"\n"
,
""
);
List
<
String
>
subPostList
=
Arrays
.
asList
(
subPostStr
.
split
(
","
));
String
postCode
=
this
.
postByUnitType
(
company
).
stream
().
filter
(
item
->
item
.
getName
().
equals
(
postName
)).
map
(
DataDictionary:
:
getCode
).
findFirst
().
orElse
(
""
);
String
postCode
=
this
.
postByUnitType
(
company
,
""
).
stream
().
filter
(
item
->
item
.
getName
().
equals
(
postName
)).
map
(
DataDictionary:
:
getCode
).
findFirst
().
orElse
(
""
);
Map
<
String
,
String
>
allSubPostNames
=
this
.
subPostByUnitType
(
company
,
postCode
).
stream
().
collect
(
Collectors
.
toMap
(
DataDictionary:
:
getName
,
DataDictionary:
:
getCode
));
if
(
ValidationUtil
.
isEmpty
(
allSubPostNames
))
{
return
;
...
...
@@ -2185,17 +2191,32 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
}
// 接口用于人员详情界面 企业 + 监管
单位
都会看到
// 接口用于人员详情界面 企业 + 监管
机构
都会看到
@Override
public
List
<
DataDictionary
>
postByUnitType
(
CompanyBo
company
)
{
public
List
<
DataDictionary
>
postByUnitType
(
CompanyBo
company
,
String
formType
)
{
List
<
String
>
unitTypes
=
new
ArrayList
<>();
ArrayList
<
String
>
postDictCodeList
=
new
ArrayList
<>();
if
(
company
.
getCompanyType
().
equals
(
"监管机构"
))
{
return
this
.
getAllUserType
();
String
companyType
=
this
.
getLoginCompanyType
();
// 监管机构
if
(
companyType
.
equals
(
BaseController
.
COMPANY_TYPE_SUPERVISION
))
{
if
(!
FROM_TYPES_DETAIL
.
contains
(
formType
))
{
// 新增/编辑 限制人员类型
unitTypes
=
Collections
.
singletonList
(
"监管机构"
);
}
else
{
// 详情 / 默认 返回所有岗位
return
this
.
getAllUserType
();
}
}
TzBaseEnterpriseInfo
enterpriseInfo
=
baseEnterpriseInfoService
.
lambdaQuery
()
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
company
.
getCompanyCode
())
.
one
();
List
<
String
>
unitTypes
=
Arrays
.
asList
(
enterpriseInfo
.
getUnitType
().
split
(
"#"
));
// 企业
if
(
companyType
.
equals
(
BaseController
.
COMPANY_TYPE_COMPANY
))
{
TzBaseEnterpriseInfo
enterpriseInfo
=
baseEnterpriseInfoService
.
lambdaQuery
()
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
company
.
getCompanyCode
())
.
one
();
unitTypes
=
Arrays
.
asList
(
enterpriseInfo
.
getUnitType
().
split
(
"#"
));
}
unitTypes
.
forEach
(
unitType
->
{
JsonNode
companyTypeNode
=
postData
.
get
(
unitType
);
if
(
companyTypeNode
!=
null
&&
companyTypeNode
.
isObject
())
{
...
...
@@ -2207,6 +2228,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
}
});
return
this
.
getAllUserType
().
stream
()
.
filter
(
item
->
postDictCodeList
.
contains
(
item
.
getCode
()))
.
collect
(
Collectors
.
toList
());
...
...
@@ -2224,8 +2246,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
public
List
<
DataDictionary
>
subPostByUnitType
(
CompanyBo
company
,
String
parentCode
)
{
ArrayList
<
String
>
parentCodeList
=
new
ArrayList
<>(
Arrays
.
asList
(
parentCode
.
split
(
","
)));
if
(
company
.
getCompanyType
().
equals
(
"监管机构"
))
{
String
companyType
=
this
.
getLoginCompanyType
();
if
(
company
Type
.
equals
(
BaseController
.
COMPANY_TYPE_SUPERVISION
))
{
return
iDataDictionaryService
.
lambdaQuery
()
.
in
(
DataDictionary:
:
getParent
,
parentCodeList
)
.
like
(
DataDictionary:
:
getType
,
"QYRYGW"
)
...
...
@@ -2521,7 +2543,6 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
}
@Override
public
IPage
<
JSONObject
>
queryESForPage
(
ReginParams
reginParams
,
String
current
,
String
size
,
String
sort
,
Map
<
String
,
String
>
map
)
{
...
...
@@ -2540,11 +2561,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
CompanyBo
company
=
reginParams
.
getCompany
();
String
companyType
=
company
.
getCompanyType
();
String
companyLevel
=
company
.
getLevel
();
String
companyType
=
this
.
getLoginCompanyType
();
// 监管查询自己单位下 + 管辖辖区下的数据
if
(
company
Level
.
equals
(
BaseController
.
COMPANY_TYPE_SUPERVISION
))
{
if
(
company
Type
.
equals
(
BaseController
.
COMPANY_TYPE_SUPERVISION
))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
should
(
QueryBuilders
.
termQuery
(
"unitCode"
,
company
.
getCompanyCode
()));
meBuilder
.
should
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
company
.
getOrgCode
()));
...
...
@@ -2553,7 +2573,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
// 企业只查询自己单位下的
if
(
company
Level
.
equals
(
BaseController
.
COMPANY_TYPE_COMPANY
))
{
if
(
company
Type
.
equals
(
BaseController
.
COMPANY_TYPE_COMPANY
))
{
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
termQuery
(
"unitCode"
,
company
.
getCompanyCode
()));
boolMust
.
must
(
meBuilder
);
...
...
@@ -2623,8 +2643,30 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
boolMust
.
must
(
meBuilder
);
}
// 属地监管部门
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"superviseOrgCode"
)))
{
String
superviseOrgCode
=
map
.
get
(
"superviseOrgCode"
);
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
superviseOrgCode
));
boolMust
.
must
(
meBuilder
);
}
// 资质状态
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"licensesStatus"
)))
{
String
licensesStatus
=
licensesStatusStr
=
map
.
get
(
"licensesStatus"
);
String
path
=
"licenses"
;
String
nestedField
=
path
+
"."
+
"expiryDate"
;
tzsCommonService
.
buildExpiryDateQueryBuilder
(
boolMust
,
licensesStatus
,
path
,
nestedField
);
}
// 排序
if
(
StringUtils
.
isNotEmpty
(
sort
))
{
String
[]
sortSplit
=
sort
.
split
(
","
);
builder
.
sort
(
sortSplit
[
0
],
sortSplit
[
1
].
startsWith
(
"asc"
)
?
SortOrder
.
ASC
:
SortOrder
.
DESC
);
}
else
{
builder
.
sort
(
"createDate"
,
SortOrder
.
DESC
);
}
builder
.
query
(
boolMust
);
builder
.
sort
(
"createDate"
,
SortOrder
.
DESC
);
builder
.
from
((
pageNumber
-
1
)
*
pageSize
);
builder
.
size
(
pageSize
);
request
.
source
(
builder
);
...
...
@@ -2634,16 +2676,18 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
JSONObject
esUserInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
hit
.
getSourceAsMap
()));
// 个人照片
Optional
.
ofNullable
(
esUserInfo
.
getString
(
"identification"
)).
filter
(
StringUtils:
:
isNotEmpty
).
map
(
jsonString
->
JSON
.
parseArray
(
jsonString
,
CommonFile
.
class
)).
filter
(
list
->
!
ObjectUtils
.
isEmpty
(
list
)).
map
(
list
->
list
.
get
(
0
)).
map
(
CommonFile:
:
getUrl
).
ifPresent
(
photoUrl
->
esUserInfo
.
put
(
"photoUrl"
,
photoUrl
));
// 设备绑定状态
esUserInfo
.
put
(
"bindEquStatus"
,
Optional
.
ofNullable
(
esUserInfo
.
get
(
"bindEquStatus"
))
.
map
(
String:
:
valueOf
)
.
map
(
"1"
::
equals
)
.
map
(
b
->
b
?
"是"
:
"否"
)
.
orElse
(
"否"
));
esUserInfo
.
put
(
"bindEquStatus"
,
Optional
.
ofNullable
(
esUserInfo
.
get
(
"bindEquStatus"
)).
map
(
String:
:
valueOf
).
map
(
"1"
::
equals
).
map
(
b
->
b
?
"是"
:
"否"
).
orElse
(
"否"
));
// 创建时间格式转化
esUserInfo
.
put
(
"createDate"
,
LocalDateTime
.
parse
(
esUserInfo
.
getString
(
"createDate"
),
DateTimeFormatter
.
ISO_LOCAL_DATE_TIME
).
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
// 资质状态
esUserInfo
.
put
(
"licensesStatus"
,
tzsCommonService
.
getLicensesStatusWithEsUserInfo
(
esUserInfo
,
""
));
esUserInfo
.
put
(
"licensesStatus"
,
tzsCommonService
.
getLicensesStatusWithEsUserInfo
(
esUserInfo
,
licensesStatusStr
));
// 单位类型 supervision/company
esUserInfo
.
put
(
"companyType"
,
companyType
);
// 当前登录人的单位code
esUserInfo
.
put
(
"loginCompanyCode"
,
company
.
getCompanyCode
());
esUserInfoList
.
add
(
esUserInfo
);
}
result
.
setTotal
(
Objects
.
requireNonNull
(
response
.
getHits
().
getTotalHits
()).
value
);
...
...
@@ -2654,4 +2698,15 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return
result
;
}
/**
* 获取当前登录人的单位类型
*
* @return supervision / company
*/
private
String
getLoginCompanyType
()
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
return
BaseController
.
COMPANY_TYPE_COMPANY
.
equals
(
reginParams
.
getCompany
().
getLevel
())
?
BaseController
.
COMPANY_TYPE_COMPANY
:
BaseController
.
COMPANY_TYPE_SUPERVISION
;
}
}
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