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
050956d8
Commit
050956d8
authored
May 08, 2024
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(tcm):多角色登录选择某个角色后,展示对应角色的资质/许可信息
parent
d4829c2a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
25 deletions
+54
-25
TzBaseEnterpriseInfoServiceImpl.java
...tcm/biz/service/impl/TzBaseEnterpriseInfoServiceImpl.java
+54
-25
No files found.
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 @
050956d8
...
...
@@ -8,10 +8,13 @@ import com.alibaba.fastjson.TypeReference;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.api.R
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.entity.DataDictionary
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.module.tcm.api.dto.BaseUnitLicenceDto
;
import
com.yeejoin.amos.boot.module.tcm.api.dto.EquEnterDto
;
import
com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto
;
...
...
@@ -42,12 +45,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.sql.Array
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.function.Predicate
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -62,7 +68,10 @@ public class TzBaseEnterpriseInfoServiceImpl
implements
ITzBaseEnterpriseInfoService
{
public
static
final
String
HZXM
=
"HZXM"
;
/**
public
static
final
String
INSPECTION_AND_TESTING_INSTITUTIONS
=
"检验检测机构"
;
public
static
final
String
INSPECTION_AGENCY
=
"检验机构"
;
public
static
final
String
TESTING_INSTITUTIONS
=
"检测机构"
;
/**
* 企业管理员变更缓存key前缀
*/
private
final
String
adminChange
=
"ADMIN_CHANGE_"
;
...
...
@@ -97,6 +106,13 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
private
EquipmentCategoryServiceImpl
equipmentCategoryService
;
/**
* 用户选择信心redis获取
**/
protected
ReginParams
getSelectedOrgInfo
()
{
return
JSONObject
.
parseObject
(
redisUtil
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
}
@Override
public
List
<
EquEnterDto
>
getInfo
(
String
sequenceNbr
)
{
return
tzBaseEnterpriseInfoMapper
.
getInfo
(
sequenceNbr
);
...
...
@@ -139,12 +155,29 @@ public class TzBaseEnterpriseInfoServiceImpl
tzBaseEnterpriseInfoDto
.
setUnitExequatur
(
ObjectUtils
.
isEmpty
(
tzBaseEnterpriseInfo
.
getUnitExequatur
())
?
new
ArrayList
()
:
JSON
.
parseArray
(
tzBaseEnterpriseInfo
.
getUnitExequatur
()));
tzBaseEnterpriseInfoDto
.
setEquipCategory
(
ObjectUtils
.
isEmpty
(
tzBaseEnterpriseInfo
.
getEquipCategory
())
?
new
ArrayList
()
:
JSON
.
parseArray
(
tzBaseEnterpriseInfo
.
getEquipCategory
()));
}
// 许可信息
ReginParams
selectedOrgInfo
=
getSelectedOrgInfo
();
String
companyType
=
selectedOrgInfo
.
getCompany
().
getCompanyType
();
// 修改当前登录人选择的单位类型
tzBaseEnterpriseInfoDto
.
setUnitType
(
companyType
);
// 当前用户选择角色的许可信息(使用。。安改维。。检验检测。。)
List
<
BaseUnitLicence
>
unitLicences
=
baseUnitLicenceService
.
list
(
new
LambdaQueryWrapper
<
BaseUnitLicence
>()
.
eq
(
BaseUnitLicence:
:
getUnitCode
,
tzBaseEnterpriseInfo
.
getUseCode
()));
List
<
BaseUnitLicenceDto
>
unitLicenceDtos
=
new
ArrayList
<
BaseUnitLicenceDto
>();
if
(!
ValidationUtil
.
isEmpty
(
unitLicences
))
{
for
(
BaseUnitLicence
baseUnitLicence
:
unitLicences
)
{
List
<
BaseUnitLicenceDto
>
unitLicenceDtos
=
new
ArrayList
<>();
Predicate
<
BaseUnitLicence
>
certTypePredicate
;
if
(
INSPECTION_AND_TESTING_INSTITUTIONS
.
equals
(
companyType
))
{
certTypePredicate
=
baseUnitLicence
->
INSPECTION_AGENCY
.
equals
(
baseUnitLicence
.
getCertType
())
||
TESTING_INSTITUTIONS
.
equals
(
baseUnitLicence
.
getCertType
());
}
else
{
certTypePredicate
=
baseUnitLicence
->
companyType
.
contains
(
baseUnitLicence
.
getCertType
());
}
List
<
BaseUnitLicence
>
unitLicencesCollect
=
unitLicences
.
stream
()
.
filter
(
certTypePredicate
)
.
collect
(
Collectors
.
toList
());
if
(!
ValidationUtil
.
isEmpty
(
unitLicencesCollect
))
{
for
(
BaseUnitLicence
baseUnitLicence
:
unitLicencesCollect
)
{
BaseUnitLicenceDto
baseUnitLicenceDto
=
new
BaseUnitLicenceDto
();
BeanUtils
.
copyProperties
(
baseUnitLicence
,
baseUnitLicenceDto
);
unitLicenceDtos
.
add
(
baseUnitLicenceDto
);
...
...
@@ -536,29 +569,16 @@ public class TzBaseEnterpriseInfoServiceImpl
}
//修改许可信息
// 1、先删除原有许可信息
List
<
BaseUnitLicenceDto
>
baseUnitLicenceDtos
=
baseUnitLicenceService
.
queryForBaseUnitLicenceList
(
tzBaseEnterpriseInfo
.
getUseCode
());
if
(!
ValidationUtil
.
isEmpty
(
baseUnitLicenceDtos
))
{
List
<
Long
>
seqs
=
Lists
.
newArrayList
();
baseUnitLicenceDtos
.
forEach
(
b
->
{
seqs
.
add
(
b
.
getSequenceNbr
());
});
baseUnitLicenceService
.
deleteBatchSeq
(
seqs
);
}
// 2、再保存新许可信息
List
<
BaseUnitLicence
>
licences
=
Lists
.
newArrayList
();
JSON
.
parseArray
(
JSON
.
toJSONString
(
map
.
get
(
"unitLicences"
))).
forEach
(
obj
->
{
BaseUnitLicence
baseUnitLicence
=
JSON
.
toJavaObject
((
JSONObject
)
obj
,
BaseUnitLicence
.
class
);
baseUnitLicence
.
setUnitCode
(
ObjectUtils
.
isEmpty
(
map
.
get
(
"useCode"
))
?
null
:
(
String
)
map
.
get
(
"useCode"
));
baseUnitLicence
.
setUnitName
(
ObjectUtils
.
isEmpty
(
map
.
get
(
"useUnit"
))
?
null
:
(
String
)
map
.
get
(
"useUnit"
));
// 处理许可字典值对应名称
handleDictName
(
baseUnitLicence
);
licences
.
add
(
baseUnitLicence
);
});
baseUnitLicenceService
.
saveBatch
(
licences
);
baseUnitLicenceService
.
saveOrUpdateBatch
(
licences
);
// 企业信息变更-同步修改企业下人员绑定设备类型
ArrayList
<
String
>
newData
=
new
ArrayList
<>();
JSONArray
objects
=
JSON
.
parseArray
(
tzBaseEnterpriseInfo
.
getEquipCategory
());
...
...
@@ -597,14 +617,23 @@ public class TzBaseEnterpriseInfoServiceImpl
private
void
handleDictName
(
BaseUnitLicence
baseUnitLicence
)
{
// 初始化所有数据字典列表
List
<
DataDictionary
>
dictionaries
=
regUnitInfoService
.
initAllDataDictionaryList
();
// 当前登录账户信息
ReginParams
selectedOrgInfo
=
getSelectedOrgInfo
();
String
companyType
=
selectedOrgInfo
.
getCompany
().
getCompanyType
();
// 根据新的单位类型代码查询许可证书类型名称
Optional
<
String
>
certTypeOptional
=
dictionaries
.
stream
()
.
filter
(
d
->
"UNIT_TYPE_NEW"
.
equals
(
d
.
getType
())
&&
baseUnitLicence
.
getCertTypeCode
().
startsWith
(
d
.
getCode
()))
.
map
(
DataDictionary:
:
getName
)
.
findFirst
();
// 设置许可证书类型
certTypeOptional
.
ifPresent
(
baseUnitLicence:
:
setCertType
);
Optional
<
String
>
certTypeOptional
;
if
(
INSPECTION_AND_TESTING_INSTITUTIONS
.
equals
(
companyType
))
{
certTypeOptional
=
Optional
.
of
(
baseUnitLicence
.
getCertType
());
}
else
{
certTypeOptional
=
dictionaries
.
stream
()
.
filter
(
d
->
"UNIT_TYPE_NEW"
.
equals
(
d
.
getType
())
&&
baseUnitLicence
.
getCertTypeCode
().
startsWith
(
d
.
getCode
()))
.
map
(
DataDictionary:
:
getName
)
.
findFirst
();
}
// 设置许可证书类型
certTypeOptional
.
ifPresent
(
baseUnitLicence:
:
setCertType
);
// 查询项目代码对应的名称
Optional
<
String
>
itemCodeOptional
=
dictionaries
.
stream
()
...
...
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