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
a2995816
Commit
a2995816
authored
Dec 23, 2021
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.维保公司修改
parent
1cd43584
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
772 additions
and
756 deletions
+772
-756
IMaintenanceCompanyService.java
...module/common/api/service/IMaintenanceCompanyService.java
+4
-0
IOrgUsrService.java
...n/amos/boot/module/common/api/service/IOrgUsrService.java
+12
-9
MaintenanceCompanyServiceImpl.java
...ommon/biz/service/impl/MaintenanceCompanyServiceImpl.java
+756
-747
OrgUsrServiceImpl.java
...oot/module/common/biz/service/impl/OrgUsrServiceImpl.java
+0
-0
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/IMaintenanceCompanyService.java
View file @
a2995816
...
...
@@ -166,4 +166,8 @@ public interface IMaintenanceCompanyService {
List
<
MaintenanceCompany
>
findByInstanceIdAndType
(
Long
instanceId
,
String
type
);
List
<
MaintenanceCompany
>
findByCodeAndType
(
String
code
,
String
type
);
List
<
MaintenanceCompany
>
findPersonByAmosOrgId
(
String
code
,
String
userId
);
MaintenanceCompany
getOne
(
Long
parentId
);
}
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/service/IOrgUsrService.java
View file @
a2995816
...
...
@@ -108,8 +108,8 @@ public interface IOrgUsrService {
* @throws Exception
*/
Map
<
String
,
Object
>
selectForShowById
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
;
Map
<
String
,
Object
>
selectForShowByIduser
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
;
Map
<
String
,
Object
>
selectForShowByIduser
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
;
List
<
OrgUsr
>
selectCompanyDepartmentMsg
();
...
...
@@ -145,7 +145,9 @@ public interface IOrgUsrService {
OrgDepartmentFormDto
selectDepartmentById
(
Long
id
)
throws
Exception
;
List
<
Map
<
String
,
Object
>>
selectForShowByListId
(
List
<
Long
>
ids
)
throws
Exception
;
List
<
Map
<
String
,
Object
>>
selectForShowByListIdUser
(
List
<
Long
>
ids
)
throws
Exception
;
/**
* * @param null
*
...
...
@@ -185,7 +187,7 @@ public interface IOrgUsrService {
List
<
Map
<
String
,
Object
>>
getparent
();
List
<
OrgUsrExcelDto
>
exportToExcel
(
Map
par
);
List
<
OrgUsrExcelDto
>
exportToExcel
(
Map
par
);
UserUnitDto
getUserUnit
(
String
userId
);
...
...
@@ -226,7 +228,7 @@ public interface IOrgUsrService {
*
* @param orgUserId
* @return
* @
exception
* @
throws
*/
AgencyUserModel
getAmosIdByOrgUserId
(
String
orgUserId
)
throws
Exception
;
...
...
@@ -235,12 +237,13 @@ public interface IOrgUsrService {
*
* @param orgUserIds
* @return
* @
exception
* @
throws
*/
List
<
String
>
getAmosIdListByOrgUserId
(
String
orgUserIds
)
throws
Exception
;
/**
* 查询目标公司下所有人员的简要信息,数据包含:所在公司id和name ,人员id和name,岗位id和name
*
* @param ids
* @return
*/
...
...
@@ -252,12 +255,12 @@ public interface IOrgUsrService {
OrgUsr
selectByAmosOrgId
(
Long
id
);
public
List
<
OrgUsr
>
getPersonListByParentIds
(
List
<
String
>
ids
)
;
List
<
OrgUsr
>
getPersonListByParentIds
(
List
<
String
>
ids
);
List
<
OrgUsrFormDto
>
getUnSyncOrgCompanyList
(
List
<
Long
>
companyIdList
);
public
OrgUsr
getDetailById
(
Long
id
);
OrgUsr
getDetailById
(
Long
id
);
/**
...
...
@@ -275,7 +278,7 @@ public interface IOrgUsrService {
* @throws Exception
*/
List
<
OrgMenuDto
>
getTreeFlc
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
OrgUsrDto
saveOrgPersonFlc
(
OrgPersonDto
OrgPersonDto
)
throws
Exception
;
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/MaintenanceCompanyServiceImpl.java
View file @
a2995816
...
...
@@ -33,14 +33,7 @@ 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.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.Map.Entry
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
...
...
@@ -53,627 +46,642 @@ import java.util.stream.Collectors;
*/
@Service
public
class
MaintenanceCompanyServiceImpl
extends
BaseService
<
MaintenanceCompanyDto
,
MaintenanceCompany
,
MaintenanceCompanyMapper
>
implements
IMaintenanceCompanyService
{
private
static
final
String
MAINTENANCE_COMPANY
=
"maintenanceCompany"
;
private
static
final
String
MAINTENANCE_PERSON
=
"maintenancePerson"
;
private
static
final
String
MAINTENANCE_DEPARTMENT
=
"maintenanceDepartment"
;
private
static
final
String
PERSON
=
"PERSON"
;
private
static
final
String
COMPANY
=
"COMPANY"
;
private
static
final
String
DEPARTMENT
=
"DEPARTMENT"
;
@Autowired
DynamicFormInstanceServiceImpl
dynamicFormInstanceService
;
@Autowired
DynamicFormColumnServiceImpl
dynamicFormColumnServiceImpl
;
@Autowired
Sequence
sequence
;
@Autowired
MaintenanceCompanyMapper
maintenanceCompanyMapper
;
@Autowired
IOrgUsrService
iOrgUsrService
;
@Autowired
DynamicFormInstanceMapper
dynamicFormInstanceMapper
;
@Autowired
SourceFileServiceImpl
sourceFileService
;
/**
* 分页查询
*/
public
Page
<
MaintenanceCompanyDto
>
queryForMaintenanceCompanyPage
(
Page
<
MaintenanceCompanyDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
MaintenanceCompanyDto
>
queryForMaintenanceCompanyList
()
{
return
this
.
queryForList
(
""
,
false
);
}
/**
* 添加维保单位基本信息
*
* @param maintenanceCompany
* @return
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
MaintenanceCompany
saveCompanyDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
// 设置单位code
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setType
(
maintenanceCompany
.
getType
().
toUpperCase
());
maintenanceCompany
.
setIsDelete
(
false
);
this
.
save
(
maintenanceCompany
);
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
())
{
extends
BaseService
<
MaintenanceCompanyDto
,
MaintenanceCompany
,
MaintenanceCompanyMapper
>
implements
IMaintenanceCompanyService
{
private
static
final
String
MAINTENANCE_COMPANY
=
"maintenanceCompany"
;
private
static
final
String
MAINTENANCE_PERSON
=
"maintenancePerson"
;
private
static
final
String
MAINTENANCE_DEPARTMENT
=
"maintenanceDepartment"
;
private
static
final
String
PERSON
=
"PERSON"
;
private
static
final
String
COMPANY
=
"COMPANY"
;
private
static
final
String
DEPARTMENT
=
"DEPARTMENT"
;
@Autowired
DynamicFormInstanceServiceImpl
dynamicFormInstanceService
;
@Autowired
DynamicFormColumnServiceImpl
dynamicFormColumnServiceImpl
;
@Autowired
Sequence
sequence
;
@Autowired
MaintenanceCompanyMapper
maintenanceCompanyMapper
;
@Autowired
IOrgUsrService
iOrgUsrService
;
@Autowired
DynamicFormInstanceMapper
dynamicFormInstanceMapper
;
@Autowired
SourceFileServiceImpl
sourceFileService
;
/**
* 分页查询
*/
public
Page
<
MaintenanceCompanyDto
>
queryForMaintenanceCompanyPage
(
Page
<
MaintenanceCompanyDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
MaintenanceCompanyDto
>
queryForMaintenanceCompanyList
()
{
return
this
.
queryForList
(
""
,
false
);
}
/**
* 添加维保单位基本信息
*
* @param maintenanceCompany
* @return
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
MaintenanceCompany
saveCompanyDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
// 设置单位code
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setType
(
maintenanceCompany
.
getType
().
toUpperCase
());
maintenanceCompany
.
setIsDelete
(
false
);
this
.
save
(
maintenanceCompany
);
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
())
{
sourceFileService
.
saveAttachments
(
maintenanceCompany
.
getSequenceNbr
(),
maintenanceCompany
.
getAttachments
());
}
return
maintenanceCompany
;
}
/**
* 设置单位code
*
* @param targetObj
*/
private
void
setTargetObjCode
(
MaintenanceCompany
targetObj
)
{
MaintenanceCompany
parent
=
getById
(
targetObj
.
getParentId
());
if
(!
ValidationUtil
.
isEmpty
(
parent
))
{
// 当前的code为上级单位code+6位随机数
targetObj
.
setCode
(
parent
.
getCode
()
+
TreeParser
.
genTreeCode
());
}
else
{
targetObj
.
setCode
(
TreeParser
.
genTreeCode
());
}
}
@Override
public
MaintenanceCompany
savePersonDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
Long
parentId
=
maintenanceCompany
.
getParentId
();
// 设置人员code
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
if
(
ValidationUtil
.
isEmpty
(
maintenanceCompany
.
getBizCode
()))
{
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
}
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setParentId
(
parentId
);
maintenanceCompany
.
setIsDelete
(
false
);
return
maintenanceCompany
;
}
/**
* 设置单位code
*
* @param targetObj
*/
private
void
setTargetObjCode
(
MaintenanceCompany
targetObj
)
{
MaintenanceCompany
parent
=
getById
(
targetObj
.
getParentId
());
if
(!
ValidationUtil
.
isEmpty
(
parent
))
{
// 当前的code为上级单位code+6位随机数
targetObj
.
setCode
(
parent
.
getCode
()
+
TreeParser
.
genTreeCode
());
}
else
{
targetObj
.
setCode
(
TreeParser
.
genTreeCode
());
}
}
@Override
public
MaintenanceCompany
savePersonDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
Long
parentId
=
maintenanceCompany
.
getParentId
();
// 设置人员code
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
if
(
ValidationUtil
.
isEmpty
(
maintenanceCompany
.
getBizCode
()))
{
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
}
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setParentId
(
parentId
);
maintenanceCompany
.
setIsDelete
(
false
);
this
.
save
(
maintenanceCompany
);
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
()){
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
())
{
sourceFileService
.
saveAttachments
(
maintenanceCompany
.
getSequenceNbr
(),
maintenanceCompany
.
getAttachments
());
}
return
maintenanceCompany
;
}
/**
* 添加动态表单信息
*
* @param maintenanceCompany
* @return
*/
public
Long
saveDynamicFormList
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
sequence
.
nextId
();
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
maintenanceCompany
.
getDynamicFormValue
();
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
dynamicFormInstance
.
setInstanceId
(
instanceId
);
dynamicFormInstanceService
.
save
(
dynamicFormInstance
);
}
return
instanceId
;
}
@Override
public
MaintenanceCompany
saveDepartmentDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
Long
parentId
=
maintenanceCompany
.
getParentId
();
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setType
(
maintenanceCompany
.
getType
().
toUpperCase
());
maintenanceCompany
.
setParentId
(
parentId
);
maintenanceCompany
.
setIsDelete
(
false
);
}
/**
* 添加动态表单信息
*
* @param maintenanceCompany
* @return
*/
public
Long
saveDynamicFormList
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
sequence
.
nextId
();
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
maintenanceCompany
.
getDynamicFormValue
();
for
(
DynamicFormInstance
dynamicFormInstance
:
dynamicFormInstanceList
)
{
dynamicFormInstance
.
setInstanceId
(
instanceId
);
dynamicFormInstanceService
.
save
(
dynamicFormInstance
);
}
return
instanceId
;
}
@Override
public
MaintenanceCompany
saveDepartmentDetail
(
MaintenanceCompany
maintenanceCompany
)
{
Long
instanceId
=
saveDynamicFormList
(
maintenanceCompany
);
Long
parentId
=
maintenanceCompany
.
getParentId
();
setTargetObjCode
(
maintenanceCompany
);
maintenanceCompany
.
setOrgCode
(
null
);
maintenanceCompany
.
setBizCode
(
sequence
.
nextId
()
+
""
);
maintenanceCompany
.
setInstanceId
(
instanceId
);
maintenanceCompany
.
setType
(
maintenanceCompany
.
getType
().
toUpperCase
());
maintenanceCompany
.
setParentId
(
parentId
);
maintenanceCompany
.
setIsDelete
(
false
);
this
.
save
(
maintenanceCompany
);
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
()){
if
(
maintenanceCompany
.
getAttachments
().
isEmpty
())
{
sourceFileService
.
saveAttachments
(
maintenanceCompany
.
getSequenceNbr
(),
maintenanceCompany
.
getAttachments
());
}
return
maintenanceCompany
;
}
@Override
public
boolean
deleteById
(
Long
sequenceNbr
)
{
MaintenanceCompany
maintenanceCompany
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
if
(
ObjectUtils
.
isEmpty
(
maintenanceCompany
))
{
return
false
;
}
// 新增删除维保单位逻辑,BUG 2500 单位下有子单位或者人员时应无法直接删除. by litw satrt
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapperCompany
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapperCompany
.
eq
(
MaintenanceCompany:
:
getParentId
,
sequenceNbr
);
wrapperCompany
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
int
count
=
maintenanceCompanyMapper
.
selectCount
(
wrapperCompany
);
if
(
count
>
0
)
{
throw
new
BadRequest
(
"单位下有子单位或者人员,无法删除"
);
}
// 新增删除维保单位逻辑,BUG 2500 单位下有子单位或者人员时应无法直接删除. by litw end
maintenanceCompany
.
setIsDelete
(
true
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
sequenceNbr
);
int
number
=
maintenanceCompanyMapper
.
update
(
maintenanceCompany
,
wrapper
);
if
(
number
>
0
)
{
// 更新动态表单字段为删除状态
List
<
DynamicFormInstance
>
dyInstance
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>().
eq
(
DynamicFormInstance:
:
getInstanceId
,
maintenanceCompany
.
getInstanceId
()));
dyInstance
.
forEach
(
i
->
i
.
setIsDelete
(
true
));
dynamicFormInstanceService
.
updateBatchById
(
dyInstance
);
return
true
;
}
return
false
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getMaintenanceCompanyDropDownList
()
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getSequenceNbr
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
COMPANY
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
return
maintenanceCompanyMapper
.
selectMaps
(
wrapper
);
}
@Override
public
boolean
checkPersonCodeExists
(
String
code
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getBizCode
,
code
);
MaintenanceCompany
detail
=
maintenanceCompanyMapper
.
selectOne
(
wrapper
);
if
(
ObjectUtils
.
isEmpty
(
detail
))
{
return
true
;
}
return
false
;
}
}
@Override
public
List
<
Map
<
String
,
Object
>>
getAllMaintenanceList
(
String
maintenanceType
)
{
String
type
=
null
;
switch
(
maintenanceType
.
toUpperCase
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
List
<
Map
<
String
,
Object
>>
dynamicFormList
=
dynamicFormInstanceService
.
listAll
(
type
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
List
<
MaintenanceCompany
>
maintenanceCompany
=
this
.
list
(
wrapper
);
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
maintenanceCompany
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
dynamicFormList
.
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
if
(
detail
.
getParentId
()!=
null
)
{
MaintenanceCompany
map
=
maintenanceCompanyMapper
.
selectById
(
detail
.
getParentId
());
r
.
put
(
"parentName"
,
map
.
getName
());
}
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
});
return
dynamicFormList
;
}
public
List
<
Map
<
String
,
Object
>>
getAllMaintenanceEexcleList
(
String
maintenanceType
,
Map
parms
)
{
String
type
=
null
;
switch
(
maintenanceType
.
toUpperCase
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
List
<
Map
<
String
,
Object
>>
dynamicFormList
=
dynamicFormInstanceService
.
listAll
(
type
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
if
(
parms
!=
null
&&
parms
.
size
()>
0
)
{
String
name
=
parms
.
containsKey
(
"name"
)?
parms
.
get
(
"name"
).
toString
():
null
;
String
parentId
=
parms
.
containsKey
(
"parentId"
)?
parms
.
get
(
"parentId"
).
toString
():
null
;
if
(
name
!=
null
)
{
wrapper
.
like
(
MaintenanceCompany:
:
getName
,
name
);
}
if
(
parentId
!=
null
)
{
wrapper
.
eq
(
MaintenanceCompany:
:
getParentId
,
parentId
);
}
}
List
<
MaintenanceCompany
>
maintenanceCompany
=
this
.
list
(
wrapper
);
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
maintenanceCompany
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
dynamicFormList
.
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
if
(
detail
.
getParentId
()!=
null
&&
detail
.
getName
()!=
null
)
{
MaintenanceCompany
map
=
maintenanceCompanyMapper
.
selectById
(
detail
.
getParentId
());
r
.
put
(
"parentName"
,
map
.
getName
());
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
}
});
return
dynamicFormList
.
stream
().
filter
(
i
->
i
.
containsKey
(
"name"
)).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
MaintenancePersonExcleDto
>
exportToMaintenancePersonExcel
(
Map
map
)
{
List
<
Map
<
String
,
Object
>>
list
=
this
.
getAllMaintenanceEexcleList
(
PERSON
,
map
);
return
JSONArray
.
parseArray
(
JSONArray
.
toJSONString
(
list
),
MaintenancePersonExcleDto
.
class
);
}
@Override
public
List
<
MaintenanceCompany
>
findByInstanceIdAndType
(
Long
instanceId
,
String
type
)
{
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
findByInstanceIdAndType
(
instanceId
,
type
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
return
list
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
MaintenanceCompany
>
findByCodeAndType
(
String
code
,
String
type
)
{
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
findByCodeAndType
(
code
,
type
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
return
list
;
}
return
Lists
.
newArrayList
();
}
/**
* 维保单位人员信息分頁信息显示时的字段过滤
*
* @param current
* @param size
* @param list
* @param arrayType
* @return
*/
public
IPage
<
Map
<
String
,
Object
>>
getLegalList
(
int
current
,
int
size
,
IPage
<
Map
<
String
,
Object
>>
list
,
String
[]
arrayType
)
{
List
<
Map
<
String
,
Object
>>
returnlist
=
new
ArrayList
<
Map
<
String
,
Object
>>();
Map
<
String
,
Object
>
legalMap
=
null
;
for
(
Map
<
String
,
Object
>
map
:
list
.
getRecords
())
{
legalMap
=
new
HashMap
<
String
,
Object
>();
for
(
Entry
<
String
,
Object
>
m
:
map
.
entrySet
())
{
if
(
Arrays
.
asList
(
arrayType
).
contains
(
m
.
getKey
()))
{
legalMap
.
putAll
(
map
);
}
}
returnlist
.
add
(
legalMap
);
}
Page
<
Map
<
String
,
Object
>>
pegaIPage
=
new
Page
<
Map
<
String
,
Object
>>();
pegaIPage
.
setCurrent
(
current
);
pegaIPage
.
setSize
(
size
);
pegaIPage
.
setRecords
(
returnlist
);
return
pegaIPage
;
}
@Override
public
boolean
deleteById
(
Long
sequenceNbr
)
{
MaintenanceCompany
maintenanceCompany
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
if
(
ObjectUtils
.
isEmpty
(
maintenanceCompany
))
{
return
false
;
}
// 新增删除维保单位逻辑,BUG 2500 单位下有子单位或者人员时应无法直接删除. by litw satrt
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapperCompany
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapperCompany
.
eq
(
MaintenanceCompany:
:
getParentId
,
sequenceNbr
);
wrapperCompany
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
int
count
=
maintenanceCompanyMapper
.
selectCount
(
wrapperCompany
);
if
(
count
>
0
)
{
throw
new
BadRequest
(
"单位下有子单位或者人员,无法删除"
);
}
@Override
public
IPage
<
Map
<
String
,
Object
>>
getPageMaintenanceList
(
Map
<
String
,
Object
>
paramsMap
)
{
if
(!
paramsMap
.
containsKey
(
"current"
)
&&
!
paramsMap
.
containsKey
(
"size"
))
{
return
null
;
}
if
(!
paramsMap
.
containsKey
(
"maintenanceType"
))
{
return
null
;
}
int
current
=
Integer
.
parseInt
(
paramsMap
.
get
(
"current"
).
toString
());
int
size
=
Integer
.
parseInt
(
paramsMap
.
get
(
"size"
).
toString
());
String
maintenanceType
=
paramsMap
.
get
(
"maintenanceType"
).
toString
().
toUpperCase
();
Map
<
String
,
String
>
filedParamsMap
=
Maps
.
newHashMap
();
List
<
MaintenanceCompany
>
mainTableList
;
String
type
;
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
switch
(
maintenanceType
)
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
filedParamsMap
=
new
HashMap
<>();
if
(
paramsMap
.
containsKey
(
"status"
))
{
filedParamsMap
.
put
(
"status"
,
paramsMap
.
get
(
"status"
).
toString
());
}
mainTableList
=
this
.
checkMaintenanceCompanyList
(
wrapper
,
paramsMap
);
/*BUG 2503 人员头像存在附件中,获取附件信息返回前端 start*/
for
(
MaintenanceCompany
m:
mainTableList
)
{
m
.
setAttachments
(
sourceFileService
.
getAttachments
(
m
.
getSequenceNbr
()));
}
/* *BUG 2503 end*/
List
<
Long
>
instanceIds
=
Lists
.
transform
(
mainTableList
,
MaintenanceCompany:
:
getInstanceId
);
filedParamsMap
.
put
(
"instanceIds"
,
Joiner
.
on
(
","
).
join
(
instanceIds
));
break
;
case
COMPANY:
type
=
MAINTENANCE_COMPANY
;
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
mainTableList
=
this
.
list
(
wrapper
);
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
mainTableList
=
this
.
list
(
wrapper
);
break
;
default
:
throw
new
IllegalStateException
(
"Unexpected maintenanceType: "
+
maintenanceType
);
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
IPage
<
Map
<
String
,
Object
>>
page
=
dynamicFormInstanceService
.
pageList
(
current
,
size
,
type
,
filedParamsMap
);
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
mainTableList
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
page
.
getRecords
().
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
});
return
page
;
}
// 新增删除维保单位逻辑,BUG 2500 单位下有子单位或者人员时应无法直接删除. by litw end
maintenanceCompany
.
setIsDelete
(
true
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
sequenceNbr
);
int
number
=
maintenanceCompanyMapper
.
update
(
maintenanceCompany
,
wrapper
);
if
(
number
>
0
)
{
// 更新动态表单字段为删除状态
List
<
DynamicFormInstance
>
dyInstance
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>().
eq
(
DynamicFormInstance:
:
getInstanceId
,
maintenanceCompany
.
getInstanceId
()));
dyInstance
.
forEach
(
i
->
i
.
setIsDelete
(
true
));
dynamicFormInstanceService
.
updateBatchById
(
dyInstance
);
return
true
;
}
return
false
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getMaintenanceCompanyDropDownList
()
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getSequenceNbr
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
COMPANY
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
return
maintenanceCompanyMapper
.
selectMaps
(
wrapper
);
}
@Override
public
boolean
checkPersonCodeExists
(
String
code
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getBizCode
,
code
);
MaintenanceCompany
detail
=
maintenanceCompanyMapper
.
selectOne
(
wrapper
);
if
(
ObjectUtils
.
isEmpty
(
detail
))
{
return
true
;
}
return
false
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getAllMaintenanceList
(
String
maintenanceType
)
{
String
type
=
null
;
switch
(
maintenanceType
.
toUpperCase
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
List
<
Map
<
String
,
Object
>>
dynamicFormList
=
dynamicFormInstanceService
.
listAll
(
type
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
List
<
MaintenanceCompany
>
maintenanceCompany
=
this
.
list
(
wrapper
);
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
maintenanceCompany
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
dynamicFormList
.
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
if
(
detail
.
getParentId
()
!=
null
)
{
MaintenanceCompany
map
=
maintenanceCompanyMapper
.
selectById
(
detail
.
getParentId
());
r
.
put
(
"parentName"
,
map
.
getName
());
}
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
});
return
dynamicFormList
;
}
public
List
<
Map
<
String
,
Object
>>
getAllMaintenanceEexcleList
(
String
maintenanceType
,
Map
parms
)
{
String
type
=
null
;
switch
(
maintenanceType
.
toUpperCase
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
List
<
Map
<
String
,
Object
>>
dynamicFormList
=
dynamicFormInstanceService
.
listAll
(
type
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
if
(
parms
!=
null
&&
parms
.
size
()
>
0
)
{
String
name
=
parms
.
containsKey
(
"name"
)
?
parms
.
get
(
"name"
).
toString
()
:
null
;
String
parentId
=
parms
.
containsKey
(
"parentId"
)
?
parms
.
get
(
"parentId"
).
toString
()
:
null
;
if
(
name
!=
null
)
{
wrapper
.
like
(
MaintenanceCompany:
:
getName
,
name
);
}
if
(
parentId
!=
null
)
{
wrapper
.
eq
(
MaintenanceCompany:
:
getParentId
,
parentId
);
}
public
List
<
MaintenanceCompany
>
checkMaintenanceCompanyList
(
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
,
Map
<
String
,
Object
>
paramsMap
)
{
if
(
paramsMap
.
containsKey
(
"name"
))
{
wrapper
.
like
(
MaintenanceCompany:
:
getName
,
paramsMap
.
get
(
"name"
).
toString
());
}
if
(
paramsMap
.
containsKey
(
"parentId"
)
&&
!
"-1"
.
equals
(
paramsMap
.
get
(
"parentId"
)))
{
Long
parentId
=
Long
.
parseLong
(
paramsMap
.
get
(
"parentId"
).
toString
());
MaintenanceCompany
company
=
getOne
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>().
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
parentId
));
wrapper
.
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
());
}
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
PERSON
);
return
maintenanceCompanyMapper
.
selectList
(
wrapper
);
}
}
List
<
MaintenanceCompany
>
maintenanceCompany
=
this
.
list
(
wrapper
);
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
maintenanceCompany
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
dynamicFormList
.
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
if
(
detail
.
getParentId
()
!=
null
&&
detail
.
getName
()
!=
null
)
{
MaintenanceCompany
map
=
maintenanceCompanyMapper
.
selectById
(
detail
.
getParentId
());
r
.
put
(
"parentName"
,
map
.
getName
());
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
}
});
return
dynamicFormList
.
stream
().
filter
(
i
->
i
.
containsKey
(
"name"
)).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
MaintenancePersonExcleDto
>
exportToMaintenancePersonExcel
(
Map
map
)
{
List
<
Map
<
String
,
Object
>>
list
=
this
.
getAllMaintenanceEexcleList
(
PERSON
,
map
);
return
JSONArray
.
parseArray
(
JSONArray
.
toJSONString
(
list
),
MaintenancePersonExcleDto
.
class
);
}
@Override
public
List
<
MaintenanceCompany
>
findByInstanceIdAndType
(
Long
instanceId
,
String
type
)
{
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
findByInstanceIdAndType
(
instanceId
,
type
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
return
list
;
}
return
Lists
.
newArrayList
();
}
@Override
public
List
<
MaintenanceCompany
>
findByCodeAndType
(
String
code
,
String
type
)
{
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
findByCodeAndType
(
code
,
type
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
return
list
;
}
return
Lists
.
newArrayList
();
}
@Override
public
Map
<
String
,
Object
>
findBySequenceNbr
(
Long
sequenceNbr
)
{
MaintenanceCompany
maintenanceCompany
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
String
type
;
switch
(
maintenanceCompany
.
getType
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
Map
<
String
,
Object
>
mainMap
=
Bean
.
BeantoMap
(
maintenanceCompany
);
Map
<
String
,
Object
>
dynamicMap
=
dynamicFormInstanceService
.
getOneMap
(
maintenanceCompany
.
getInstanceId
(),
type
);
mainMap
.
put
(
"attachments"
,
sourceFileService
.
getAttachments
(
maintenanceCompany
.
getSequenceNbr
()));
mainMap
.
put
(
"dynamicFormValue"
,
dynamicMap
);
return
mainMap
;
}
@Override
public
List
<
MaintenanceCompany
>
findPersonByAmosOrgId
(
String
code
,
String
userId
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
MaintenanceCompany:
:
getType
,
code
);
queryWrapper
.
eq
(
MaintenanceCompany:
:
getAmosId
,
userId
);
return
this
.
baseMapper
.
selectList
(
queryWrapper
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenanceCompanyDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
COMPANY
);
}
public
boolean
updateMaintenanceDetail
(
MaintenanceCompany
model
,
String
type
)
throws
Exception
{
return
updateDetail
(
model
,
type
);
}
public
boolean
updateDetail
(
MaintenanceCompany
model
,
String
type
)
throws
Exception
{
// 1、更新动态表单数据
iOrgUsrService
.
updateDynamicFormInstance
(
model
.
getInstanceId
(),
model
.
getDynamicFormValue
());
// 2、更新单位及子单位code
updateCode
(
model
);
// 3、更新主表数据
model
.
setType
(
type
);
this
.
updateById
(
model
);
if
(
ValidationUtil
.
isEmpty
(
model
.
getParentId
()))
{
update
(
new
LambdaUpdateWrapper
<
MaintenanceCompany
>().
set
(
MaintenanceCompany:
:
getParentId
,
null
).
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
model
.
getSequenceNbr
()));
}
// 4、更新附件
sourceFileService
.
saveAttachments
(
model
.
getSequenceNbr
(),
model
.
getAttachments
());
return
true
;
public
MaintenanceCompany
getOne
(
Long
parentId
)
{
return
this
.
getById
(
parentId
);
}
/**
* 更新单位及子单位code
*
* @return company 维保单位/部门/人员
*/
public
void
updateCode
(
MaintenanceCompany
company
)
{
MaintenanceCompany
parent
=
getById
(
company
.
getParentId
());
// 新父节点的code
String
parentCode
=
""
;
// 父节点不为空
if
(!
ValidationUtil
.
isEmpty
(
parent
))
{
parentCode
=
parent
.
getCode
();
}
// 旧父节点的code
if
(
company
.
getCode
()
!=
null
){
String
oldParentCode
=
company
.
getCode
().
substring
(
0
,
company
.
getCode
().
length
()
-
TreeParser
.
CODE_LENGTH
);
List
<
MaintenanceCompany
>
children
=
list
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>().
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
).
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
()).
ne
(
MaintenanceCompany:
:
getSequenceNbr
,
company
.
getSequenceNbr
()));
if
(!
ValidationUtil
.
isEmpty
(
children
))
{
String
finalParentCode
=
parentCode
;
children
.
forEach
(
i
->
{
i
.
setCode
(
i
.
getCode
().
replaceFirst
(
oldParentCode
,
finalParentCode
));
});
updateBatchById
(
children
);
}
company
.
setCode
(
company
.
getCode
().
replaceFirst
(
oldParentCode
,
parentCode
));
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenancePersonDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
PERSON
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenanceDepartmentDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
DEPARTMENT
);
}
@Override
public
List
<
MaintenanceCompany
>
getCompanyAndDepartmentTree
()
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
0
);
wrapper
.
in
(
MaintenanceCompany:
:
getType
,
Arrays
.
asList
(
COMPANY
,
DEPARTMENT
));
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
if
(
list
==
null
)
{
return
new
ArrayList
<>();
}
list
=
list
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
return
list
;
}
@Override
public
List
<
MaintenanceCompany
>
getDepartmentAndPersonTree
(
long
sequenceNbr
)
{
List
<
MaintenanceCompany
>
departmentList
=
getDepartmentList
(
sequenceNbr
);
if
(
departmentList
==
null
)
{
return
new
ArrayList
<>();
}
return
departmentList
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
MaintenanceCompany
>
getDepartmentList
(
long
sequenceNbr
)
{
MaintenanceCompany
companyDetail
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
in
(
MaintenanceCompany:
:
getType
,
Arrays
.
asList
(
PERSON
,
DEPARTMENT
));
wrapper
.
likeRight
(
MaintenanceCompany:
:
getCode
,
companyDetail
.
getCode
());
List
<
MaintenanceCompany
>
maintenanceCompanyList
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
return
maintenanceCompanyList
;
}
* 维保单位人员信息分頁信息显示时的字段过滤
*
* @param current
* @param size
* @param list
* @param arrayType
* @return
*/
public
IPage
<
Map
<
String
,
Object
>>
getLegalList
(
int
current
,
int
size
,
IPage
<
Map
<
String
,
Object
>>
list
,
String
[]
arrayType
)
{
List
<
Map
<
String
,
Object
>>
returnlist
=
new
ArrayList
<
Map
<
String
,
Object
>>();
Map
<
String
,
Object
>
legalMap
=
null
;
for
(
Map
<
String
,
Object
>
map
:
list
.
getRecords
())
{
legalMap
=
new
HashMap
<
String
,
Object
>();
for
(
Entry
<
String
,
Object
>
m
:
map
.
entrySet
())
{
if
(
Arrays
.
asList
(
arrayType
).
contains
(
m
.
getKey
()))
{
legalMap
.
putAll
(
map
);
}
}
returnlist
.
add
(
legalMap
);
}
Page
<
Map
<
String
,
Object
>>
pegaIPage
=
new
Page
<
Map
<
String
,
Object
>>();
pegaIPage
.
setCurrent
(
current
);
pegaIPage
.
setSize
(
size
);
pegaIPage
.
setRecords
(
returnlist
);
return
pegaIPage
;
}
@Override
public
IPage
<
Map
<
String
,
Object
>>
getPageMaintenanceList
(
Map
<
String
,
Object
>
paramsMap
)
{
if
(!
paramsMap
.
containsKey
(
"current"
)
&&
!
paramsMap
.
containsKey
(
"size"
))
{
return
null
;
}
if
(!
paramsMap
.
containsKey
(
"maintenanceType"
))
{
return
null
;
}
int
current
=
Integer
.
parseInt
(
paramsMap
.
get
(
"current"
).
toString
());
int
size
=
Integer
.
parseInt
(
paramsMap
.
get
(
"size"
).
toString
());
String
maintenanceType
=
paramsMap
.
get
(
"maintenanceType"
).
toString
().
toUpperCase
();
Map
<
String
,
String
>
filedParamsMap
=
Maps
.
newHashMap
();
List
<
MaintenanceCompany
>
mainTableList
;
String
type
;
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
switch
(
maintenanceType
)
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
filedParamsMap
=
new
HashMap
<>();
if
(
paramsMap
.
containsKey
(
"status"
))
{
filedParamsMap
.
put
(
"status"
,
paramsMap
.
get
(
"status"
).
toString
());
}
mainTableList
=
this
.
checkMaintenanceCompanyList
(
wrapper
,
paramsMap
);
/*BUG 2503 人员头像存在附件中,获取附件信息返回前端 start*/
for
(
MaintenanceCompany
m
:
mainTableList
)
{
m
.
setAttachments
(
sourceFileService
.
getAttachments
(
m
.
getSequenceNbr
()));
}
/* *BUG 2503 end*/
List
<
Long
>
instanceIds
=
Lists
.
transform
(
mainTableList
,
MaintenanceCompany:
:
getInstanceId
);
filedParamsMap
.
put
(
"instanceIds"
,
Joiner
.
on
(
","
).
join
(
instanceIds
));
break
;
case
COMPANY:
type
=
MAINTENANCE_COMPANY
;
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
mainTableList
=
this
.
list
(
wrapper
);
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
maintenanceType
.
toUpperCase
());
mainTableList
=
this
.
list
(
wrapper
);
break
;
default
:
throw
new
IllegalStateException
(
"Unexpected maintenanceType: "
+
maintenanceType
);
}
if
(
StringUtils
.
isBlank
(
type
))
{
return
null
;
}
IPage
<
Map
<
String
,
Object
>>
page
=
dynamicFormInstanceService
.
pageList
(
current
,
size
,
type
,
filedParamsMap
);
public
List
<
MaintenanceCompany
>
getPersonList
(
long
sequenceNbr
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
PERSON
);
wrapper
.
eq
(
MaintenanceCompany:
:
getParentId
,
sequenceNbr
);
return
maintenanceCompanyMapper
.
selectList
(
wrapper
);
}
Map
<
Long
,
MaintenanceCompany
>
maintenanceCompanyMap
=
mainTableList
.
stream
()
.
collect
(
Collectors
.
toMap
(
MaintenanceCompany:
:
getInstanceId
,
Function
.
identity
()));
/**
* 根据维保单位查询所有机场单位(返回List<Map>类型) 不带分页
*
* @param seq
* @return
*/
public
List
<
Map
<
String
,
Object
>>
queryOrgUsrMsg
(
Long
seq
)
{
if
(
ValidationUtil
.
isEmpty
(
this
.
queryBySeq
(
seq
)))
{
throw
new
BadRequest
(
"参数校验失败."
);
}
else
{
List
<
Map
<
String
,
Object
>>
companys
=
new
ArrayList
<>();
// 机场单位列表基本信息
List
<
OrgUsrDto
>
orgUsrDtos
=
this
.
baseMapper
.
selectOrgUsrList
(
seq
);
// 机场组装单位动态表单数据
orgUsrDtos
.
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
orgUsrDto
);
mapCopy
(
dynamicFormInstanceService
.
getOneMap
(
orgUsrDto
.
getSequenceNbr
(),
OrgPersonEnum
.
公司
.
getKey
()),
map
);
companys
.
add
(
map
);
});
return
companys
;
}
}
page
.
getRecords
().
forEach
(
r
->
{
MaintenanceCompany
detail
=
maintenanceCompanyMap
.
get
(
Long
.
parseLong
(
r
.
get
(
"instanceId"
).
toString
()));
if
(!
ObjectUtils
.
isEmpty
(
detail
))
{
r
.
putAll
(
Bean
.
BeantoMap
(
detail
));
}
/**
* 根据维保单位查询所有机场单位(返回List<Map>类型) 带分页
*
* @param pageNum
* @param pageSize
* @param seq
* @param amosUserId
* @return
*/
public
Page
<
Map
<
String
,
Object
>>
queryOrgUsrMsgPage
(
int
pageNum
,
int
pageSize
,
Long
seq
,
String
amosUserId
)
{
MaintenanceCompany
maintenanceCompany
=
new
MaintenanceCompany
();
if
(
ValidationUtil
.
isEmpty
(
seq
))
{
maintenanceCompany
=
getMaintenanceCompany
(
amosUserId
);
seq
=
maintenanceCompany
.
getSequenceNbr
();
}
// 机场单位列表基本信息
if
(
pageNum
==
-
1
||
pageSize
==
-
1
)
{
pageSize
=
Integer
.
MAX_VALUE
;
}
Page
page
=
new
Page
(
pageNum
,
pageSize
);
Page
<
Map
<
String
,
Object
>>
companys
=
new
Page
<>(
pageNum
,
pageSize
);
Page
<
OrgUsrDto
>
pageResult
=
this
.
baseMapper
.
selectOrgUsrPageList
(
page
,
seq
);
List
<
Map
<
String
,
Object
>>
finalResultMap
=
Lists
.
newArrayList
();
// 机场组装单位动态表单数据
pageResult
.
getRecords
().
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
orgUsrDto
);
mapCopy
(
dynamicFormInstanceService
.
getOneMap
(
orgUsrDto
.
getSequenceNbr
(),
OrgPersonEnum
.
公司
.
getKey
()),
map
);
finalResultMap
.
add
(
map
);
});
companys
.
setRecords
(
finalResultMap
);
companys
.
setTotal
(
pageResult
.
getTotal
());
companys
.
setPages
(
pageResult
.
getPages
());
return
companys
;
}
});
return
page
;
}
/**
* 根据平台用户id查询登陆人所属维保单位
*
* @param amosUserId
* @return
*/
public
MaintenanceCompany
getMaintenanceCompany
(
String
amosUserId
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getAmosId
,
amosUserId
);
MaintenanceCompany
maintenanceCompany
=
this
.
baseMapper
.
selectOne
(
wrapper
);
public
List
<
MaintenanceCompany
>
checkMaintenanceCompanyList
(
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
,
Map
<
String
,
Object
>
paramsMap
)
{
if
(
paramsMap
.
containsKey
(
"name"
))
{
wrapper
.
like
(
MaintenanceCompany:
:
getName
,
paramsMap
.
get
(
"name"
).
toString
());
}
if
(
paramsMap
.
containsKey
(
"parentId"
)
&&
!
"-1"
.
equals
(
paramsMap
.
get
(
"parentId"
)))
{
Long
parentId
=
Long
.
parseLong
(
paramsMap
.
get
(
"parentId"
).
toString
());
MaintenanceCompany
company
=
getOne
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>().
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
parentId
));
wrapper
.
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
());
}
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
PERSON
);
return
maintenanceCompanyMapper
.
selectList
(
wrapper
);
}
@Override
public
Map
<
String
,
Object
>
findBySequenceNbr
(
Long
sequenceNbr
)
{
MaintenanceCompany
maintenanceCompany
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
String
type
;
switch
(
maintenanceCompany
.
getType
())
{
case
PERSON:
type
=
MAINTENANCE_PERSON
;
break
;
case
DEPARTMENT:
type
=
MAINTENANCE_DEPARTMENT
;
break
;
default
:
type
=
MAINTENANCE_COMPANY
;
}
Map
<
String
,
Object
>
mainMap
=
Bean
.
BeantoMap
(
maintenanceCompany
);
Map
<
String
,
Object
>
dynamicMap
=
dynamicFormInstanceService
.
getOneMap
(
maintenanceCompany
.
getInstanceId
(),
type
);
mainMap
.
put
(
"attachments"
,
sourceFileService
.
getAttachments
(
maintenanceCompany
.
getSequenceNbr
()));
mainMap
.
put
(
"dynamicFormValue"
,
dynamicMap
);
return
mainMap
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenanceCompanyDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
COMPANY
);
}
public
boolean
updateMaintenanceDetail
(
MaintenanceCompany
model
,
String
type
)
throws
Exception
{
return
updateDetail
(
model
,
type
);
}
public
boolean
updateDetail
(
MaintenanceCompany
model
,
String
type
)
throws
Exception
{
// 1、更新动态表单数据
iOrgUsrService
.
updateDynamicFormInstance
(
model
.
getInstanceId
(),
model
.
getDynamicFormValue
());
// 2、更新单位及子单位code
updateCode
(
model
);
// 3、更新主表数据
model
.
setType
(
type
);
this
.
updateById
(
model
);
if
(
ValidationUtil
.
isEmpty
(
model
.
getParentId
()))
{
update
(
new
LambdaUpdateWrapper
<
MaintenanceCompany
>().
set
(
MaintenanceCompany:
:
getParentId
,
null
).
eq
(
MaintenanceCompany:
:
getSequenceNbr
,
model
.
getSequenceNbr
()));
}
// 4、更新附件
sourceFileService
.
saveAttachments
(
model
.
getSequenceNbr
(),
model
.
getAttachments
());
return
true
;
}
/**
* 更新单位及子单位code
*
* @return company 维保单位/部门/人员
*/
public
void
updateCode
(
MaintenanceCompany
company
)
{
MaintenanceCompany
parent
=
getById
(
company
.
getParentId
());
// 新父节点的code
String
parentCode
=
""
;
// 父节点不为空
if
(!
ValidationUtil
.
isEmpty
(
parent
))
{
parentCode
=
parent
.
getCode
();
}
// 旧父节点的code
if
(
company
.
getCode
()
!=
null
)
{
String
oldParentCode
=
company
.
getCode
().
substring
(
0
,
company
.
getCode
().
length
()
-
TreeParser
.
CODE_LENGTH
);
List
<
MaintenanceCompany
>
children
=
list
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>().
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
).
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
()).
ne
(
MaintenanceCompany:
:
getSequenceNbr
,
company
.
getSequenceNbr
()));
if
(!
ValidationUtil
.
isEmpty
(
children
))
{
String
finalParentCode
=
parentCode
;
children
.
forEach
(
i
->
{
i
.
setCode
(
i
.
getCode
().
replaceFirst
(
oldParentCode
,
finalParentCode
));
});
updateBatchById
(
children
);
}
company
.
setCode
(
company
.
getCode
().
replaceFirst
(
oldParentCode
,
parentCode
));
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenancePersonDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
PERSON
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateMaintenanceDepartmentDetail
(
MaintenanceCompany
model
)
throws
Exception
{
return
updateMaintenanceDetail
(
model
,
DEPARTMENT
);
}
@Override
public
List
<
MaintenanceCompany
>
getCompanyAndDepartmentTree
()
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
0
);
wrapper
.
in
(
MaintenanceCompany:
:
getType
,
Arrays
.
asList
(
COMPANY
,
DEPARTMENT
));
List
<
MaintenanceCompany
>
list
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
if
(
list
==
null
)
{
return
new
ArrayList
<>();
}
list
=
list
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
return
list
;
}
@Override
public
List
<
MaintenanceCompany
>
getDepartmentAndPersonTree
(
long
sequenceNbr
)
{
List
<
MaintenanceCompany
>
departmentList
=
getDepartmentList
(
sequenceNbr
);
if
(
departmentList
==
null
)
{
return
new
ArrayList
<>();
}
return
departmentList
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
MaintenanceCompany
>
getDepartmentList
(
long
sequenceNbr
)
{
MaintenanceCompany
companyDetail
=
maintenanceCompanyMapper
.
selectById
(
sequenceNbr
);
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
in
(
MaintenanceCompany:
:
getType
,
Arrays
.
asList
(
PERSON
,
DEPARTMENT
));
wrapper
.
likeRight
(
MaintenanceCompany:
:
getCode
,
companyDetail
.
getCode
());
List
<
MaintenanceCompany
>
maintenanceCompanyList
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
return
maintenanceCompanyList
;
}
public
List
<
MaintenanceCompany
>
getPersonList
(
long
sequenceNbr
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
select
(
MaintenanceCompany:
:
getSequenceNbr
,
MaintenanceCompany:
:
getName
,
MaintenanceCompany:
:
getCode
,
MaintenanceCompany:
:
getType
,
MaintenanceCompany:
:
getBizCode
,
MaintenanceCompany:
:
getParentId
);
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
PERSON
);
wrapper
.
eq
(
MaintenanceCompany:
:
getParentId
,
sequenceNbr
);
return
maintenanceCompanyMapper
.
selectList
(
wrapper
);
}
/**
* 根据维保单位查询所有机场单位(返回List<Map>类型) 不带分页
*
* @param seq
* @return
*/
public
List
<
Map
<
String
,
Object
>>
queryOrgUsrMsg
(
Long
seq
)
{
if
(
ValidationUtil
.
isEmpty
(
this
.
queryBySeq
(
seq
)))
{
throw
new
BadRequest
(
"参数校验失败."
);
}
else
{
List
<
Map
<
String
,
Object
>>
companys
=
new
ArrayList
<>();
// 机场单位列表基本信息
List
<
OrgUsrDto
>
orgUsrDtos
=
this
.
baseMapper
.
selectOrgUsrList
(
seq
);
// 机场组装单位动态表单数据
orgUsrDtos
.
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
orgUsrDto
);
mapCopy
(
dynamicFormInstanceService
.
getOneMap
(
orgUsrDto
.
getSequenceNbr
(),
OrgPersonEnum
.
公司
.
getKey
()),
map
);
companys
.
add
(
map
);
});
return
companys
;
}
}
/**
* 根据维保单位查询所有机场单位(返回List<Map>类型) 带分页
*
* @param pageNum
* @param pageSize
* @param seq
* @param amosUserId
* @return
*/
public
Page
<
Map
<
String
,
Object
>>
queryOrgUsrMsgPage
(
int
pageNum
,
int
pageSize
,
Long
seq
,
String
amosUserId
)
{
MaintenanceCompany
maintenanceCompany
=
new
MaintenanceCompany
();
if
(
ValidationUtil
.
isEmpty
(
seq
))
{
maintenanceCompany
=
getMaintenanceCompany
(
amosUserId
);
seq
=
maintenanceCompany
.
getSequenceNbr
();
}
// 机场单位列表基本信息
if
(
pageNum
==
-
1
||
pageSize
==
-
1
)
{
pageSize
=
Integer
.
MAX_VALUE
;
}
Page
page
=
new
Page
(
pageNum
,
pageSize
);
Page
<
Map
<
String
,
Object
>>
companys
=
new
Page
<>(
pageNum
,
pageSize
);
Page
<
OrgUsrDto
>
pageResult
=
this
.
baseMapper
.
selectOrgUsrPageList
(
page
,
seq
);
List
<
Map
<
String
,
Object
>>
finalResultMap
=
Lists
.
newArrayList
();
// 机场组装单位动态表单数据
pageResult
.
getRecords
().
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
orgUsrDto
);
mapCopy
(
dynamicFormInstanceService
.
getOneMap
(
orgUsrDto
.
getSequenceNbr
(),
OrgPersonEnum
.
公司
.
getKey
()),
map
);
finalResultMap
.
add
(
map
);
});
companys
.
setRecords
(
finalResultMap
);
companys
.
setTotal
(
pageResult
.
getTotal
());
companys
.
setPages
(
pageResult
.
getPages
());
return
companys
;
}
/**
* 根据平台用户id查询登陆人所属维保单位
*
* @param amosUserId
* @return
*/
public
MaintenanceCompany
getMaintenanceCompany
(
String
amosUserId
)
{
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getAmosId
,
amosUserId
);
MaintenanceCompany
maintenanceCompany
=
this
.
baseMapper
.
selectOne
(
wrapper
);
// DynamicFormInstance dyFormInstance = dynamicFormInstanceService.getOne(
// new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getFieldCode, "amosAccount")
// .eq(DynamicFormInstance::getFieldValue, amosUserId));
if
(
ValidationUtil
.
isEmpty
(
maintenanceCompany
))
{
throw
new
BadRequest
(
"维保账号不存在或未关联系统账号."
);
}
if
(
ValidationUtil
.
isEmpty
(
maintenanceCompany
))
{
throw
new
BadRequest
(
"维保账号不存在或未关联系统账号."
);
}
// MaintenanceCompany person = this.getOne(new LambdaQueryWrapper<MaintenanceCompany>()
// .eq(MaintenanceCompany::getInstanceId, dyFormInstance.getInstanceId()));
// if (ValidationUtil.isEmpty(person)) {
...
...
@@ -684,148 +692,148 @@ public class MaintenanceCompanyServiceImpl
// if (ValidationUtil.isEmpty(maintenanceCompany)) {
// throw new BadRequest("维保账号不存在或未关联系统账号.");
// }
return
maintenanceCompany
;
}
public
List
<
Map
<
String
,
Object
>>
queryCompanyMsg
()
{
List
<
Map
<
String
,
Object
>>
companysMsg
=
new
ArrayList
<>();
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
COMPANY
);
// 查询所有维保单位信息
List
<
MaintenanceCompany
>
lists
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
//List<MaintenanceCompany> lists = this.list();
lists
.
forEach
(
list
->
{
Map
<
String
,
Object
>
maintenanceCompany
=
new
HashMap
<>();
maintenanceCompany
.
put
(
"id"
,
list
.
getSequenceNbr
());
maintenanceCompany
.
put
(
"code"
,
list
.
getCode
());
maintenanceCompany
.
put
(
"name"
,
list
.
getName
());
maintenanceCompany
.
put
(
"type"
,
1
);
maintenanceCompany
.
put
(
"parentId"
,
0
);
// 查询该维保单位下的业主信息
List
<
OrgUsrDto
>
orgUsrDtos
=
this
.
baseMapper
.
selectOrgUsrList
(
list
.
getSequenceNbr
());
orgUsrDtos
.
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
airCompany
=
new
HashMap
<>();
airCompany
.
put
(
"id"
,
orgUsrDto
.
getSequenceNbr
());
airCompany
.
put
(
"code"
,
orgUsrDto
.
getBizOrgCode
());
airCompany
.
put
(
"name"
,
orgUsrDto
.
getBizOrgName
());
airCompany
.
put
(
"type"
,
2
);
airCompany
.
put
(
"parentId"
,
list
.
getSequenceNbr
());
companysMsg
.
add
(
airCompany
);
});
companysMsg
.
add
(
maintenanceCompany
);
});
return
companysMsg
;
}
/**
* 复制map对象
*
* @explain 将paramsMap中的键值对全部拷贝到resultMap中;
* @param paramsMap 被拷贝
对象
* @param resultMap 拷贝后的对象
*/
private
static
void
mapCopy
(
Map
paramsMap
,
Map
resultMap
)
{
if
(
resultMap
==
null
)
{
return
;
}
if
(
paramsMap
==
null
)
{
return
;
}
Iterator
it
=
paramsMap
.
entrySet
().
iterator
();
while
(
it
.
hasNext
())
{
Map
.
Entry
entry
=
(
Map
.
Entry
)
it
.
next
();
Object
key
=
entry
.
getKey
();
resultMap
.
put
(
key
,
paramsMap
.
get
(
key
)
!=
null
?
paramsMap
.
get
(
key
)
:
""
);
}
}
@Override
public
List
<
DynamicFormInstance
>
maintenancePersonExcleDtoToDynamicFormInstanceList
(
List
<
DynamicFormColumn
>
columns
,
MaintenancePersonExcleDto
maintenancePersonExcleDto
,
long
instanceId
,
List
<
DynamicFormInstance
>
list
)
{
Map
<
String
,
Object
>
maintenancePersonExcleDtoMap
=
Bean
.
BeantoMap
(
maintenancePersonExcleDto
);
// 填充动态表单的属性
columns
.
stream
().
forEach
(
item
->
{
if
(
maintenancePersonExcleDtoMap
.
containsKey
(
item
.
getFieldCode
()))
{
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
String
valueString
=
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
()).
toString
();
Bean
.
copyExistPropertis
(
item
,
dynamicFormInstance
);
dynamicFormInstance
.
setAppKey
(
RequestContext
.
getAppKey
());
dynamicFormInstance
.
setInstanceId
(
instanceId
);
dynamicFormInstance
.
setSequenceNbr
(
sequence
.
nextId
());
dynamicFormInstance
.
setFormColumnId
(
item
.
getSequenceNbr
());
dynamicFormInstance
.
setFieldValue
(
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
())
!=
null
?
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
()).
toString
()
:
""
);
if
(
valueString
.
contains
(
"@"
))
{
String
[]
mapDetailArray
=
valueString
.
split
(
"@"
);
dynamicFormInstance
.
setFieldValue
(
mapDetailArray
[
0
]);
if
(
mapDetailArray
.
length
>
1
)
{
dynamicFormInstance
.
setFieldValueLabel
(
mapDetailArray
[
1
]);
}
}
if
(
dynamicFormInstance
!=
null
&&
dynamicFormInstance
.
getSequenceNbr
().
longValue
()
>
0
)
{
list
.
add
(
dynamicFormInstance
);
}
}
});
return
list
;
}
public
boolean
saveDynamicFormInstanceBatch
(
List
<
DynamicFormInstance
>
list
)
{
dynamicFormInstanceService
.
saveBatch
(
list
);
return
false
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
saveMaintenanceCompanyBatch
(
List
<
MaintenanceCompany
>
companyList
,
List
<
DynamicFormInstance
>
list
)
{
saveDynamicFormInstanceBatch
(
list
);
this
.
saveBatch
(
companyList
);
return
false
;
}
/**
* 查询当前登陆用户所在维保单位下的维保人员列表部门列表,不分页
*
* @param companyId
* @param userId
* @return
*/
public
List
<
Map
<
String
,
Object
>>
getPersonListByCompanyId
(
Long
companyId
,
String
userId
)
{
MaintenanceCompany
company
;
if
(
ValidationUtil
.
isEmpty
(
companyId
))
{
company
=
getMaintenanceCompany
(
userId
);
if
(
ValidationUtil
.
isEmpty
(
company
))
{
throw
new
BadRequest
(
"用户不存在"
);
}
}
else
{
company
=
this
.
getById
(
companyId
);
}
// 查询公司下人列表
List
<
MaintenanceCompany
>
personList
=
list
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>()
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
).
eq
(
MaintenanceCompany:
:
getType
,
PERSON
)
.
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
()));
List
<
Long
>
instanceIdList
=
Lists
.
transform
(
personList
,
MaintenanceCompany:
:
getInstanceId
);
// 查询手机号
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>().
eq
(
DynamicFormInstance:
:
getFieldCode
,
"tel"
)
.
in
(
DynamicFormInstance:
:
getInstanceId
,
instanceIdList
));
Map
<
Long
,
List
<
DynamicFormInstance
>>
dyMap
=
dynamicFormInstanceList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
DynamicFormInstance:
:
getInstanceId
));
List
<
Map
<
String
,
Object
>>
resultList
=
Lists
.
newArrayList
();
personList
.
forEach
(
person
->
{
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"sequenceNbr"
,
person
.
getSequenceNbr
());
map
.
put
(
"name"
,
person
.
getName
());
map
.
put
(
"tel"
,
dyMap
.
get
(
person
.
getInstanceId
()).
get
(
0
).
getFieldValue
());
resultList
.
add
(
map
);
});
return
resultList
;
}
return
maintenanceCompany
;
}
public
List
<
Map
<
String
,
Object
>>
queryCompanyMsg
()
{
List
<
Map
<
String
,
Object
>>
companysMsg
=
new
ArrayList
<>();
LambdaQueryWrapper
<
MaintenanceCompany
>
wrapper
=
new
LambdaQueryWrapper
<
MaintenanceCompany
>();
wrapper
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
);
wrapper
.
eq
(
MaintenanceCompany:
:
getType
,
COMPANY
);
// 查询所有维保单位信息
List
<
MaintenanceCompany
>
lists
=
maintenanceCompanyMapper
.
selectList
(
wrapper
);
//List<MaintenanceCompany> lists = this.list();
lists
.
forEach
(
list
->
{
Map
<
String
,
Object
>
maintenanceCompany
=
new
HashMap
<>();
maintenanceCompany
.
put
(
"id"
,
list
.
getSequenceNbr
());
maintenanceCompany
.
put
(
"code"
,
list
.
getCode
());
maintenanceCompany
.
put
(
"name"
,
list
.
getName
());
maintenanceCompany
.
put
(
"type"
,
1
);
maintenanceCompany
.
put
(
"parentId"
,
0
);
// 查询该维保单位下的业主信息
List
<
OrgUsrDto
>
orgUsrDtos
=
this
.
baseMapper
.
selectOrgUsrList
(
list
.
getSequenceNbr
());
orgUsrDtos
.
forEach
(
orgUsrDto
->
{
Map
<
String
,
Object
>
airCompany
=
new
HashMap
<>();
airCompany
.
put
(
"id"
,
orgUsrDto
.
getSequenceNbr
());
airCompany
.
put
(
"code"
,
orgUsrDto
.
getBizOrgCode
());
airCompany
.
put
(
"name"
,
orgUsrDto
.
getBizOrgName
());
airCompany
.
put
(
"type"
,
2
);
airCompany
.
put
(
"parentId"
,
list
.
getSequenceNbr
());
companysMsg
.
add
(
airCompany
);
});
companysMsg
.
add
(
maintenanceCompany
);
});
return
companysMsg
;
}
/**
* 复制map对象
*
* @param paramsMap 被拷贝对象
* @param resultMap 拷贝后的
对象
* @explain 将paramsMap中的键值对全部拷贝到resultMap中;
*/
private
static
void
mapCopy
(
Map
paramsMap
,
Map
resultMap
)
{
if
(
resultMap
==
null
)
{
return
;
}
if
(
paramsMap
==
null
)
{
return
;
}
Iterator
it
=
paramsMap
.
entrySet
().
iterator
();
while
(
it
.
hasNext
())
{
Map
.
Entry
entry
=
(
Map
.
Entry
)
it
.
next
();
Object
key
=
entry
.
getKey
();
resultMap
.
put
(
key
,
paramsMap
.
get
(
key
)
!=
null
?
paramsMap
.
get
(
key
)
:
""
);
}
}
@Override
public
List
<
DynamicFormInstance
>
maintenancePersonExcleDtoToDynamicFormInstanceList
(
List
<
DynamicFormColumn
>
columns
,
MaintenancePersonExcleDto
maintenancePersonExcleDto
,
long
instanceId
,
List
<
DynamicFormInstance
>
list
)
{
Map
<
String
,
Object
>
maintenancePersonExcleDtoMap
=
Bean
.
BeantoMap
(
maintenancePersonExcleDto
);
// 填充动态表单的属性
columns
.
stream
().
forEach
(
item
->
{
if
(
maintenancePersonExcleDtoMap
.
containsKey
(
item
.
getFieldCode
()))
{
DynamicFormInstance
dynamicFormInstance
=
new
DynamicFormInstance
();
String
valueString
=
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
()).
toString
();
Bean
.
copyExistPropertis
(
item
,
dynamicFormInstance
);
dynamicFormInstance
.
setAppKey
(
RequestContext
.
getAppKey
());
dynamicFormInstance
.
setInstanceId
(
instanceId
);
dynamicFormInstance
.
setSequenceNbr
(
sequence
.
nextId
());
dynamicFormInstance
.
setFormColumnId
(
item
.
getSequenceNbr
());
dynamicFormInstance
.
setFieldValue
(
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
())
!=
null
?
maintenancePersonExcleDtoMap
.
get
(
item
.
getFieldCode
()).
toString
()
:
""
);
if
(
valueString
.
contains
(
"@"
))
{
String
[]
mapDetailArray
=
valueString
.
split
(
"@"
);
dynamicFormInstance
.
setFieldValue
(
mapDetailArray
[
0
]);
if
(
mapDetailArray
.
length
>
1
)
{
dynamicFormInstance
.
setFieldValueLabel
(
mapDetailArray
[
1
]);
}
}
if
(
dynamicFormInstance
!=
null
&&
dynamicFormInstance
.
getSequenceNbr
().
longValue
()
>
0
)
{
list
.
add
(
dynamicFormInstance
);
}
}
});
return
list
;
}
public
boolean
saveDynamicFormInstanceBatch
(
List
<
DynamicFormInstance
>
list
)
{
dynamicFormInstanceService
.
saveBatch
(
list
);
return
false
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
saveMaintenanceCompanyBatch
(
List
<
MaintenanceCompany
>
companyList
,
List
<
DynamicFormInstance
>
list
)
{
saveDynamicFormInstanceBatch
(
list
);
this
.
saveBatch
(
companyList
);
return
false
;
}
/**
* 查询当前登陆用户所在维保单位下的维保人员列表部门列表,不分页
*
* @param companyId
* @param userId
* @return
*/
public
List
<
Map
<
String
,
Object
>>
getPersonListByCompanyId
(
Long
companyId
,
String
userId
)
{
MaintenanceCompany
company
;
if
(
ValidationUtil
.
isEmpty
(
companyId
))
{
company
=
getMaintenanceCompany
(
userId
);
if
(
ValidationUtil
.
isEmpty
(
company
))
{
throw
new
BadRequest
(
"用户不存在"
);
}
}
else
{
company
=
this
.
getById
(
companyId
);
}
// 查询公司下人列表
List
<
MaintenanceCompany
>
personList
=
list
(
new
LambdaQueryWrapper
<
MaintenanceCompany
>()
.
eq
(
MaintenanceCompany:
:
getIsDelete
,
false
).
eq
(
MaintenanceCompany:
:
getType
,
PERSON
)
.
likeRight
(
MaintenanceCompany:
:
getCode
,
company
.
getCode
()));
List
<
Long
>
instanceIdList
=
Lists
.
transform
(
personList
,
MaintenanceCompany:
:
getInstanceId
);
// 查询手机号
List
<
DynamicFormInstance
>
dynamicFormInstanceList
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>().
eq
(
DynamicFormInstance:
:
getFieldCode
,
"tel"
)
.
in
(
DynamicFormInstance:
:
getInstanceId
,
instanceIdList
));
Map
<
Long
,
List
<
DynamicFormInstance
>>
dyMap
=
dynamicFormInstanceList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
DynamicFormInstance:
:
getInstanceId
));
List
<
Map
<
String
,
Object
>>
resultList
=
Lists
.
newArrayList
();
personList
.
forEach
(
person
->
{
Map
<
String
,
Object
>
map
=
Maps
.
newHashMap
();
map
.
put
(
"sequenceNbr"
,
person
.
getSequenceNbr
());
map
.
put
(
"name"
,
person
.
getName
());
map
.
put
(
"tel"
,
dyMap
.
get
(
person
.
getInstanceId
()).
get
(
0
).
getFieldValue
());
resultList
.
add
(
map
);
});
return
resultList
;
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/OrgUsrServiceImpl.java
View file @
a2995816
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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