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
e31eb24d
Commit
e31eb24d
authored
Oct 15, 2025
by
tianbo
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop_tzs_new_jyjc' into develop_tzs_register
parents
846aa03a
83d03cac
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
206 additions
and
25 deletions
+206
-25
UserPermissionDto.java
...in/amos/boot/module/common/api/dto/UserPermissionDto.java
+6
-0
EsUserInfo.java
...eejoin/amos/boot/module/common/api/entity/EsUserInfo.java
+6
-0
DataHandlerServiceImpl.java
...ot/module/jg/biz/service/impl/DataHandlerServiceImpl.java
+3
-1
CommonBaseMapper.java
...s/boot/module/statistics/api/mapper/CommonBaseMapper.java
+2
-0
CommonBaseMapper.xml
...istics-api/src/main/resources/mapper/CommonBaseMapper.xml
+4
-0
JYJCStatisticsMapper.xml
...cs-api/src/main/resources/mapper/JYJCStatisticsMapper.xml
+2
-0
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+24
-10
StCommonServiceImpl.java
...odule/statistcs/biz/service/impl/StCommonServiceImpl.java
+4
-0
TzBaseEnterpriseInfoDto.java
...amos/boot/module/tcm/api/dto/TzBaseEnterpriseInfoDto.java
+3
-0
TzBaseEnterpriseInfoMapper.java
...oot/module/tcm/api/mapper/TzBaseEnterpriseInfoMapper.java
+1
-1
TzBaseEnterpriseInfoMapper.xml
.../src/main/resources/mapper/TzBaseEnterpriseInfoMapper.xml
+24
-0
TzsUserInfoMapper.xml
...e-tcm-api/src/main/resources/mapper/TzsUserInfoMapper.xml
+2
-2
EnterpriseRefreshHandler.java
...ule/tcm/biz/refresh/handler/EnterpriseRefreshHandler.java
+1
-0
UserRefreshHandler.java
...ot/module/tcm/biz/refresh/handler/UserRefreshHandler.java
+1
-0
TzBaseEnterpriseInfoServiceImpl.java
...tcm/biz/service/impl/TzBaseEnterpriseInfoServiceImpl.java
+16
-8
TzsUserInfoServiceImpl.java
...t/module/tcm/biz/service/impl/TzsUserInfoServiceImpl.java
+21
-3
EnhancedDynamicQueryBuilder.java
...oot/module/tcm/biz/utils/EnhancedDynamicQueryBuilder.java
+86
-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/dto/UserPermissionDto.java
View file @
e31eb24d
...
...
@@ -107,6 +107,12 @@ public class UserPermissionDto {
private
String
superviseOrgCode
;
/**
* 管辖机构CompanyCode
*/
@JsonIgnore
private
String
superviseCompanyCode
;
/**
* 使用单位统一信用代码
*/
private
String
useCode
;
...
...
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/entity/EsUserInfo.java
View file @
e31eb24d
...
...
@@ -172,6 +172,12 @@ public class EsUserInfo {
private
String
superviseOrgCode
;
/**
* 管辖机构office_region--来源企业表
*/
@Field
(
type
=
FieldType
.
Keyword
)
private
String
officeRegion
;
/**
* 管辖机构名称--来源企业表
*/
@Field
(
type
=
FieldType
.
Text
)
...
...
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/DataHandlerServiceImpl.java
View file @
e31eb24d
...
...
@@ -1506,7 +1506,8 @@ public class DataHandlerServiceImpl {
TzBaseEnterpriseInfo:
:
getUseUnit
,
TzBaseEnterpriseInfo:
:
getUnitType
,
TzBaseEnterpriseInfo:
:
getSuperviseOrgCode
,
TzBaseEnterpriseInfo:
:
getSuperviseOrgName
TzBaseEnterpriseInfo:
:
getSuperviseOrgName
,
TzBaseEnterpriseInfo:
:
getOfficeRegion
).
eq
(
BaseEntity:
:
getIsDelete
,
false
));
Map
<
String
,
TzBaseEnterpriseInfo
>
useCodeEnterpriseMap
=
units
.
stream
().
collect
(
Collectors
.
toMap
(
TzBaseEnterpriseInfo:
:
getUseCode
,
Function
.
identity
(),
(
k1
,
k2
)
->
k2
));
Iterable
<
EsBaseEnterpriseInfo
>
esBaseEnterpriseInfoIterable
=
enterpriseInfoDao
.
findAll
();
...
...
@@ -1535,6 +1536,7 @@ public class DataHandlerServiceImpl {
esUserInfo
.
setUnitType
(
unitType
);
esUserInfo
.
setSuperviseOrgName
(
useCodeEnterpriseMap
.
getOrDefault
(
u
.
getUnitCode
(),
new
TzBaseEnterpriseInfo
()).
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
useCodeEnterpriseMap
.
getOrDefault
(
u
.
getUnitCode
(),
new
TzBaseEnterpriseInfo
()).
getSuperviseOrgCode
());
esUserInfo
.
setOfficeRegion
(
useCodeEnterpriseMap
.
getOrDefault
(
u
.
getUnitCode
(),
new
TzBaseEnterpriseInfo
()).
getOfficeRegion
());
esUserInfo
.
setLicenses
(
this
.
buildUserLicenses
(
u
.
getSequenceNbr
()));
esUserInfo
.
setLicenseMinExpiryDate
(
RefreshCmService
.
getMinDateFromLicensesUser
(
esUserInfo
.
getLicenses
()));
return
esUserInfo
;
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/CommonBaseMapper.java
View file @
e31eb24d
...
...
@@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
public
interface
CommonBaseMapper
{
String
getOrgCodeByCompanyCode
(
String
companyCode
);
String
getCompanyCodeByOrgCode
(
String
orgCode
);
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/CommonBaseMapper.xml
View file @
e31eb24d
...
...
@@ -5,4 +5,8 @@
<select
id=
"getOrgCodeByCompanyCode"
resultType=
"java.lang.String"
>
select org_code from privilege_company where company_code = #{companyCode} limit 1
</select>
<select
id=
"getCompanyCodeByOrgCode"
resultType=
"java.lang.String"
>
select company_code from privilege_company where org_code = #{orgCode} limit 1
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/JYJCStatisticsMapper.xml
View file @
e31eb24d
...
...
@@ -12,6 +12,7 @@
or (b.supervise_org_code = '50' and b.office_region LIKE CONCAT ('%', #{regionCode}, '%')))
AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%')
AND b.unit_type NOT LIKE '%检验检测机构%'
AND b.is_delete = 0
</select>
<select
id=
"countAllRegThirdInspectCompany"
resultType=
"java.lang.Long"
>
SELECT
...
...
@@ -27,6 +28,7 @@
</foreach>
AND (b.unit_type LIKE '%检验机构%' OR b.unit_type LIKE '%检测机构%')
AND b.unit_type NOT LIKE '%检验检测机构%'
AND b.is_delete = 0
</select>
<select
id=
"countAllOpenBizInspectCompany"
resultType=
"java.lang.Long"
>
SELECT
...
...
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 @
e31eb24d
...
...
@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.statistcs.biz.utils.QueryBuilderUtils;
import
com.yeejoin.amos.boot.module.statistcs.factory.DynamicQueryBuilder
;
import
com.yeejoin.amos.boot.module.statistcs.factory.EnhancedDynamicQueryBuilder
;
import
com.yeejoin.amos.boot.module.statistics.api.enums.*
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.CommonBaseMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.TzsCustomFilterMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.CompanyInfoVo
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.EquipInfoVo
;
...
...
@@ -142,6 +143,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private
final
IdxBizJgUseInfoMapper
idxBizJgUseInfoMapper
;
private
final
TzBaseEnterpriseInfoMapper
tzBaseEnterpriseInfoMapper
;
private
final
TzsUserInfoMapper
tzsUserInfoMapper
;
private
final
CommonBaseMapper
commonMapper
;
private
final
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
());
...
...
@@ -301,10 +303,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
trackTotalHits
(
true
);
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
String
orgCode
=
filter
.
getString
(
"orgCode"
);
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
JSONObject
filterParams
=
null
;
String
licensesStatusStr
=
""
;
String
filterType
=
filter
.
getString
(
"filterType"
);
...
...
@@ -321,6 +319,8 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
}
}
// 组装人员过滤条件
String
orgCode
=
filter
.
getString
(
"orgCode"
);
personOrgCodeBoolMust
(
orgCode
,
boolMust
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolMust
,
filterType
);
if
(
"custom"
.
equals
(
filterType
))
{
JSONArray
leftGroup
=
filterParams
.
getJSONArray
(
"group1"
);
...
...
@@ -401,6 +401,20 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return
result
;
}
private
void
personOrgCodeBoolMust
(
String
orgCode
,
BoolQueryBuilder
boolMust
)
{
String
officeRegion
=
commonMapper
.
getCompanyCodeByOrgCode
(
orgCode
);
BoolQueryBuilder
queryBuilder1
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
queryBuilder2
=
QueryBuilders
.
boolQuery
();
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
queryBuilder1
.
must
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"officeRegion"
,
"*"
+
officeRegion
+
"*"
));
queryBuilder2
.
mustNot
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
enhancedDynamicQueryBuilder
.
add
(
queryBuilder1
,
or
);
enhancedDynamicQueryBuilder
.
add
(
queryBuilder2
,
or
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
/**
* 组装人员过滤条件
*/
...
...
@@ -3067,13 +3081,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode.keyword"
,
orgCode
));
data
=
queryDpCompanyStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
if
(
StatisticalAnalysisEnum
.
person
.
getCode
().
equals
(
businessType
))
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
)
);
personOrgCodeBoolMust
(
orgCode
,
boolMust
);
data
=
queryDpPersonStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
if
(
StatisticalAnalysisEnum
.
inspectionCompany
.
getCode
().
equals
(
businessType
))
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode.keyword"
,
orgCode
));
data
=
queryDpInspectionCompanyStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
else
{
boolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
)
);
personOrgCodeBoolMust
(
orgCode
,
boolMust
);
data
=
queryDpInspectionPersonStatistics
(
filter
,
request
,
builder
,
boolMust
,
tabTotalMap
);
}
...
...
@@ -3178,7 +3192,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
companyBoolMust
.
must
(
companyUnitTypeBoolMust
);
BoolQueryBuilder
personBoolMust
=
QueryBuilders
.
boolQuery
();
person
BoolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
)
);
person
OrgCodeBoolMust
(
orgCode
,
personBoolMust
);
personBoolMust
.
must
(
companyUnitTypeBoolMust
);
BoolQueryBuilder
inspectionCompanyBoolMust
=
QueryBuilders
.
boolQuery
();
...
...
@@ -3188,7 +3202,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder
inspectionPersonBoolMust
=
QueryBuilders
.
boolQuery
();
inspectionPersonBoolMust
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
)
);
personOrgCodeBoolMust
(
orgCode
,
inspectionPersonBoolMust
);
inspectionPersonBoolMust
.
must
(
inspectionUnitTypeBoolMust
);
inspectionPersonBoolMust
.
mustNot
(
QueryBuilders
.
wildcardQuery
(
"unitType.keyword"
,
"*检验检测机构*"
));
...
...
@@ -3951,13 +3965,13 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
String
orgCode
=
filter
.
getString
(
"orgCode"
);
boolQuery
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
orgCode
));
//
boolQuery.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode));
JSONObject
filterParams
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
filter
.
get
(
"filterParams"
)));
String
filterType
=
"advanced"
;
// 组装人员过滤条件
personOrgCodeBoolMust
(
orgCode
,
boolQuery
);
this
.
getPersonBoolQueryBuilder
(
filterParams
,
boolQuery
,
filterType
);
// 查询
JSONObject
expiryDateStatus
=
this
.
getExpiryDateStatusGroupStatistics
(
boolQuery
);
JSONObject
personType
=
this
.
getPersonTypeGroupStatistics
(
boolQuery
);
...
...
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/StCommonServiceImpl.java
View file @
e31eb24d
...
...
@@ -152,6 +152,10 @@ public class StCommonServiceImpl {
return
orgCode
;
}
public
String
getCompanyCode
(
String
orgCode
)
{
return
commonMapper
.
getOrgCodeByCompanyCode
(
orgCode
);
}
public
List
<
RegionModel
>
getUserRegionCode
(
ReginParams
selectedOrgInfo
)
{
String
regionCode
=
selectedOrgInfo
.
getCompany
().
getCompanyCode
();
Optional
<
RegionModel
>
op
=
regionModels
.
stream
().
filter
(
e
->
e
.
getRegionCode
().
toString
().
equals
(
regionCode
)).
findFirst
();
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/dto/TzBaseEnterpriseInfoDto.java
View file @
e31eb24d
...
...
@@ -320,6 +320,9 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
@ApiModelProperty
(
value
=
"省内办公地址省#市#区"
)
private
List
<
Integer
>
officeRegion
;
@ApiModelProperty
(
value
=
"省内办公地址省#市#区"
)
private
String
officeRegionStr
;
@ApiModelProperty
(
value
=
"省内详细办公地址"
)
private
String
officeAddress
;
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/java/com/yeejoin/amos/boot/module/tcm/api/mapper/TzBaseEnterpriseInfoMapper.java
View file @
e31eb24d
...
...
@@ -50,7 +50,7 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
IPage
<
TzBaseEnterpriseInfoDto
>
page
(
Page
<
TzBaseEnterpriseInfoDto
>
page
,
TzBaseEnterpriseInfoDto
tzBaseEnterpriseInfoDto
);
IPage
<
TzBaseEnterpriseInfoDto
>
pageList
(
Page
<
TzBaseEnterpriseInfoDto
>
page
,
TzBaseEnterpriseInfoDto
tzBaseEnterpriseInfoDto
,
List
orgCodeList
,
@Param
(
"sort"
)
SortVo
sortMap
);
IPage
<
TzBaseEnterpriseInfoDto
>
pageList
(
Page
<
TzBaseEnterpriseInfoDto
>
page
,
TzBaseEnterpriseInfoDto
tzBaseEnterpriseInfoDto
,
String
orgCode
,
@Param
(
"sort"
)
SortVo
sortMap
,
String
officeRegion
);
/**
* 查询未生成二维码的企业
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/resources/mapper/TzBaseEnterpriseInfoMapper.xml
View file @
e31eb24d
...
...
@@ -107,6 +107,18 @@
<if
test=
"tzBaseEnterpriseInfoDto.unitType!=null and tzBaseEnterpriseInfoDto.unitType!='' "
>
AND unit_type LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.unitType},'%')
</if>
<choose>
<when
test=
"( tzBaseEnterpriseInfoDto.unitType == '检验机构'
or tzBaseEnterpriseInfoDto.unitType == '检测机构'
or tzBaseEnterpriseInfoDto.unitType == ''
or tzBaseEnterpriseInfoDto.unitType == null ) and tzBaseEnterpriseInfoDto.orgCode!= '' "
>
and ((supervise_org_code != '50' and supervise_org_code LIKE CONCAT (#{orgCode}, '%'))
or (supervise_org_code = '50' and office_region LIKE CONCAT ('%', #{regionCode}, '%')))
</when>
<otherwise>
and supervise_org_code LIKE CONCAT(#{orgCode}, '%')
</otherwise>
</choose>
<if
test=
"tzBaseEnterpriseInfoDto.unitTypeList != null and !tzBaseEnterpriseInfoDto.unitTypeList.isEmpty()"
>
AND (
<foreach
collection=
"tzBaseEnterpriseInfoDto.unitTypeList"
item=
"unit"
separator=
" OR "
>
...
...
@@ -139,6 +151,18 @@
AND contact_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.contactPhone},'%')
</if>
<if
test=
"tzBaseEnterpriseInfoDto.superviseOrgCode!=null and tzBaseEnterpriseInfoDto.superviseOrgCode!='' "
>
<choose>
<when
test=
"tzBaseEnterpriseInfoDto.unitType == '检验机构'
or tzBaseEnterpriseInfoDto.unitType == '检测机构'
or tzBaseEnterpriseInfoDto.unitType == ''
or tzBaseEnterpriseInfoDto.unitType == null"
>
and ((supervise_org_code != '50' and supervise_org_code LIKE CONCAT (#{tzBaseEnterpriseInfoDto.superviseOrgCode}, '%'))
or (supervise_org_code = '50' and office_region LIKE CONCAT ('%', #{tzBaseEnterpriseInfoDto.OfficeRegionStr}, '%')))
</when>
<otherwise>
and supervise_org_code LIKE CONCAT(#{orgCode}, '%')
</otherwise>
</choose>
AND supervise_org_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.superviseOrgCode},'%')
</if>
<if
test=
"tzBaseEnterpriseInfoDto.address!=null and tzBaseEnterpriseInfoDto.address!='' "
>
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-api/src/main/resources/mapper/TzsUserInfoMapper.xml
View file @
e31eb24d
...
...
@@ -343,7 +343,6 @@
<foreach
collection=
"postList"
item=
"item"
separator=
","
>
#{item}
</foreach>
]
</if>
<if
test=
"filter.postCode != null and filter.postCode != ''"
>
and u.new_post like concat('%',#{filter.postCode}, '%')
...
...
@@ -352,7 +351,8 @@
and u.sub_post like concat('%',#{filter.subPostCode}, '%')
</if>
<if
test=
"filter.superviseOrgCode != null and filter.superviseOrgCode != ''"
>
and e.supervise_org_code like concat('%',#{filter.superviseOrgCode}, '%')
and ((e.supervise_org_code != '50' and e.supervise_org_code LIKE CONCAT (#{filter.superviseOrgCode}, '%'))
or (e.supervise_org_code = '50' and e.office_region LIKE CONCAT ('%', #{regionCode}, '%')))
</if>
<if
test=
"filter.createDateStart != null and filter.createDateEnd != null"
>
and (u.create_date between #{filter.createDateStart} and #{filter.createDateEnd})
...
...
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/EnterpriseRefreshHandler.java
View file @
e31eb24d
...
...
@@ -98,6 +98,7 @@ public class EnterpriseRefreshHandler implements IDataRefreshHandler {
esUserInfo
.
setUnitType
(
esBaseEnterpriseInfo
.
getUnitType
());
esUserInfo
.
setSuperviseOrgName
(
esBaseEnterpriseInfo
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
esBaseEnterpriseInfo
.
getSuperviseOrgCode
());
esUserInfo
.
setOfficeRegion
(
esBaseEnterpriseInfo
.
getOfficeRegion
());
});
if
(
userInfosEs
.
iterator
().
hasNext
())
{
esUserInfoDao
.
saveAll
(
userInfosEs
);
...
...
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 @
e31eb24d
...
...
@@ -87,6 +87,7 @@ public class UserRefreshHandler implements IDataRefreshHandler {
esUserInfo
.
setUnitType
(
unitType
);
esUserInfo
.
setSuperviseOrgName
(
unit
.
getSuperviseOrgName
());
esUserInfo
.
setSuperviseOrgCode
(
unit
.
getSuperviseOrgCode
());
esUserInfo
.
setOfficeRegion
(
unit
.
getOfficeRegion
());
}
esUserInfo
.
setLicenses
(
commonRefreshService
.
buildUserLicenses
(
userInfo
.
getSequenceNbr
()));
esUserInfo
.
setLicenseMinExpiryDate
(
RefreshCmService
.
getMinDateFromLicensesUser
(
esUserInfo
.
getLicenses
()));
...
...
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/TzBaseEnterpriseInfoServiceImpl.java
View file @
e31eb24d
...
...
@@ -205,26 +205,34 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override
public
IPage
<
TzBaseEnterpriseInfoDto
>
page
(
PageParam
pageParam
,
TzBaseEnterpriseInfoDto
tzBaseEnterpriseInfoDto
,
String
sort
)
{
try
{
List
<
String
>
orgCodeList
=
new
ArrayList
<>();
//
List<String> orgCodeList = new ArrayList<>();
if
(
tzBaseEnterpriseInfoDto
.
getSuperviseKey
()
!=
null
)
{
FeignClientResult
<
CompanyModel
>
result
=
Privilege
.
companyClient
.
seleteOne
(
Long
.
valueOf
(
tzBaseEnterpriseInfoDto
.
getSuperviseKey
()));
if
(
result
.
getResult
()
!=
null
)
{
tzBaseEnterpriseInfoDto
.
setSuperviseOrgCode
(
result
.
getResult
().
getOrgCode
());
tzBaseEnterpriseInfoDto
.
setOfficeRegionStr
(
result
.
getResult
().
getCompanyCode
());
}
}
Page
<
TzBaseEnterpriseInfoDto
>
page
=
new
Page
<>(
pageParam
.
getCurrent
(),
pageParam
.
getSize
());
List
<
JSONObject
>
companyType1
=
equipmentCategoryService
.
getCompanyType
();
String
orgCode
=
null
;
String
officeRegion
=
null
;
if
(!
ValidationUtil
.
isEmpty
(
companyType1
))
{
for
(
JSONObject
jsonObject
:
companyType1
)
{
String
orgCode
=
jsonObject
.
getString
(
"orgCode"
);
if
(!
ValidationUtil
.
isEmpty
(
orgCode
))
{
orgCodeList
.
add
(
orgCode
);
}
}
JSONObject
companyTypeJson
=
companyType1
.
get
(
0
);
orgCode
=
companyTypeJson
.
getString
(
"orgCode"
);
officeRegion
=
companyTypeJson
.
getString
(
"companyCode"
);
}
// if (!ValidationUtil.isEmpty(companyType1)) {
// for (JSONObject jsonObject : companyType1) {
// String orgCode = jsonObject.getString("orgCode");
// if (!ValidationUtil.isEmpty(orgCode)) {
// orgCodeList.add(orgCode);
// }
// }
// }
SortVo
sortMap
=
userInfoService
.
sortFieldConversion
(
sort
);
return
this
.
baseMapper
.
pageList
(
page
,
tzBaseEnterpriseInfoDto
,
orgCode
List
,
sortMap
);
return
this
.
baseMapper
.
pageList
(
page
,
tzBaseEnterpriseInfoDto
,
orgCode
,
sortMap
,
officeRegion
);
}
catch
(
Exception
ex
)
{
String
msg
=
ex
.
getMessage
()
==
null
?
""
:
ex
.
getMessage
();
if
(
msg
.
contains
(
"eyibc decrypt error"
)
...
...
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 @
e31eb24d
...
...
@@ -54,6 +54,7 @@ import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import
com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo
;
import
com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo
;
import
com.yeejoin.amos.boot.module.tcm.biz.refresh.handler.UserRefreshHandler
;
import
com.yeejoin.amos.boot.module.tcm.biz.utils.EnhancedDynamicQueryBuilder
;
import
com.yeejoin.amos.boot.module.tcm.flc.api.entity.RegUnitInfo
;
import
com.yeejoin.amos.boot.module.tcm.flc.biz.service.impl.RegUnitInfoServiceImpl
;
import
com.yeejoin.amos.component.feign.config.InnerInvokException
;
...
...
@@ -1089,6 +1090,12 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
Page
<
UserPermissionDto
>
permissionDtoPage
=
new
Page
<>(
current
,
size
);
List
<
String
>
post
=
this
.
getPostByType
(
type
);
SortVo
sortMap
=
this
.
sortFieldConversion
(
sort
);
if
(!
ObjectUtils
.
isEmpty
(
filter
.
getSuperviseOrgCode
()))
{
HashMap
<
String
,
Object
>
parentMessage
=
(
HashMap
<
String
,
Object
>)
Privilege
.
companyClient
.
queryByOrgcode
(
filter
.
getSuperviseOrgCode
()).
getResult
();
// 目前平台返回key为compnay(存在拼写错误)
CompanyModel
parentModel
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
parentMessage
.
get
(
"compnay"
)),
CompanyModel
.
class
);
filter
.
setSuperviseCompanyCode
(
parentModel
.
getCompanyCode
());
}
Page
<
UserPermissionDto
>
result
=
this
.
getBaseMapper
().
queryUserByPermissionPage
(
permissionDtoPage
,
post
,
filter
,
sortMap
);
result
.
getRecords
().
forEach
(
d
->
{
if
(
StringUtils
.
isNotEmpty
(
d
.
getIdentificationStr
()))
{
...
...
@@ -2835,9 +2842,20 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 属地监管部门
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"superviseOrgCode"
)))
{
String
superviseOrgCode
=
map
.
get
(
"superviseOrgCode"
);
BoolQueryBuilder
meBuilder
=
QueryBuilders
.
boolQuery
();
meBuilder
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
superviseOrgCode
));
boolMust
.
must
(
meBuilder
);
HashMap
<
String
,
Object
>
parentMessage
=
(
HashMap
<
String
,
Object
>)
Privilege
.
companyClient
.
queryByOrgcode
(
superviseOrgCode
).
getResult
();
// 目前平台返回key为compnay(存在拼写错误)
CompanyModel
parentModel
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
parentMessage
.
get
(
"compnay"
)),
CompanyModel
.
class
);
String
companyCode
=
parentModel
.
getCompanyCode
();
BoolQueryBuilder
queryBuilder1
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
queryBuilder2
=
QueryBuilders
.
boolQuery
();
EnhancedDynamicQueryBuilder
enhancedDynamicQueryBuilder
=
new
EnhancedDynamicQueryBuilder
();
queryBuilder1
.
must
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
wildcardQuery
(
"officeRegion"
,
"*"
+
companyCode
+
"*"
));
queryBuilder2
.
mustNot
(
QueryBuilders
.
termQuery
(
"superviseOrgCode"
,
"50"
))
.
must
(
QueryBuilders
.
prefixQuery
(
"superviseOrgCode"
,
superviseOrgCode
));
enhancedDynamicQueryBuilder
.
add
(
queryBuilder1
,
"or"
);
enhancedDynamicQueryBuilder
.
add
(
queryBuilder2
,
"or"
);
boolMust
.
must
(
enhancedDynamicQueryBuilder
.
build
());
}
// 资质状态
...
...
amos-boot-system-tzs/amos-boot-module-tcm/amos-boot-module-tcm-biz/src/main/java/com/yeejoin/amos/boot/module/tcm/biz/utils/EnhancedDynamicQueryBuilder.java
0 → 100644
View file @
e31eb24d
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tcm
.
biz
.
utils
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
EnhancedDynamicQueryBuilder
{
private
final
List
<
QueryBuilder
>
initialClauses
=
new
ArrayList
<>();
private
String
groupLogic
;
// "AND" 或 "OR"
private
final
List
<
QueryBuilder
>
mustClauses
=
new
ArrayList
<>();
private
final
List
<
QueryBuilder
>
shouldClauses
=
new
ArrayList
<>();
private
final
List
<
QueryBuilder
>
mustNotClauses
=
new
ArrayList
<>();
public
EnhancedDynamicQueryBuilder
()
{
this
(
"AND"
);
// 默认组间关系为AND
}
public
EnhancedDynamicQueryBuilder
(
String
groupLogic
)
{
this
.
groupLogic
=
groupLogic
!=
null
?
groupLogic
:
"AND"
;
}
/**
* 添加条件,自动处理第一个条件为null的情况
* @param query 查询条件
* @param logic 逻辑关系 (AND/OR/NOT),第一个条件可为null
*/
public
EnhancedDynamicQueryBuilder
add
(
QueryBuilder
query
,
String
logic
)
{
if
(
logic
==
null
)
{
if
(
isEmpty
())
{
// 第一个条件,默认作为must条件
mustClauses
.
add
(
query
);
}
else
{
// 后续条件未指定逻辑,使用组间默认逻辑
if
(
"OR"
.
equalsIgnoreCase
(
groupLogic
))
{
shouldClauses
.
add
(
query
);
}
else
{
mustClauses
.
add
(
query
);
}
}
}
else
{
switch
(
logic
.
toUpperCase
())
{
case
"AND"
:
mustClauses
.
add
(
query
);
break
;
case
"OR"
:
shouldClauses
.
add
(
query
);
break
;
case
"NOT"
:
mustNotClauses
.
add
(
query
);
break
;
default
:
throw
new
IllegalArgumentException
(
"Unsupported logic: "
+
logic
);
}
}
return
this
;
}
public
BoolQueryBuilder
build
()
{
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
// 处理must条件
mustClauses
.
forEach
(
boolQuery:
:
must
);
// 处理should条件
if
(!
shouldClauses
.
isEmpty
())
{
shouldClauses
.
forEach
(
boolQuery:
:
should
);
// 如果没有must条件,至少满足一个should
if
(
mustClauses
.
isEmpty
())
{
boolQuery
.
minimumShouldMatch
(
1
);
}
}
// 处理mustNot条件
mustNotClauses
.
forEach
(
boolQuery:
:
mustNot
);
return
boolQuery
;
}
private
boolean
isEmpty
()
{
return
mustClauses
.
isEmpty
()
&&
shouldClauses
.
isEmpty
()
&&
mustNotClauses
.
isEmpty
();
}
}
\ No newline at end of file
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