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
31987463
Commit
31987463
authored
Dec 23, 2021
by
helinlin
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/developer' into developer
parents
0b9995e5
a550ce2d
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
930 additions
and
785 deletions
+930
-785
DataAuth.java
...om/yeejoin/amos/boot/biz/common/annotations/DataAuth.java
+3
-2
PermissionInterceptor.java
...s/boot/biz/common/interceptors/PermissionInterceptor.java
+15
-5
PermissionInterceptorContext.java
...biz/common/interceptors/PermissionInterceptorContext.java
+30
-0
PermissionInterceptorContextModel.java
...ommon/interceptors/PermissionInterceptorContextModel.java
+30
-0
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
LatentDangerServiceImpl.java
...danger/business/service/impl/LatentDangerServiceImpl.java
+2
-1
EnumFillAop.java
...a/com/yeejoin/amos/latentdanger/core/aop/EnumFillAop.java
+21
-9
LatentDangerServiceImpl.java
...patrol/business/service/impl/LatentDangerServiceImpl.java
+57
-12
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/annotations/DataAuth.java
View file @
31987463
...
...
@@ -9,7 +9,8 @@ import java.lang.annotation.Target;
/**
* @author DELL
*
* 注解在mapper方法上
* 注解需要数据权限过滤的mapper。
* interfacePath对应为平台菜单管理中菜单组件(全局唯一)。
*/
@Target
(
ElementType
.
METHOD
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
...
...
@@ -20,6 +21,6 @@ public @interface DataAuth {
* 菜单组件
* @return
*/
String
interfacePath
()
default
""
;
String
interfacePath
();
}
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/interceptors/PermissionInterceptor.java
View file @
31987463
...
...
@@ -61,30 +61,39 @@ public class PermissionInterceptor implements Interceptor {
MetaObject
metaObject
=
SystemMetaObject
.
forObject
(
statementHandler
);
MappedStatement
mappedStatement
=
(
MappedStatement
)
metaObject
.
getValue
(
"delegate.mappedStatement"
);
// TODO 处理mybatis plus
String
dataAuthRule
=
PermissionInterceptorContext
.
getDataAuthRule
();
// 被拦截方法
Method
method
=
getTargetDataAuthMethod
(
mappedStatement
);
DataAuth
dataAuth
=
getTargetDataAuthAnnotation
(
mappedStatement
);
// 没有DataAuth定义注解的跳过
if
(
null
==
dataAuth
)
{
// 没有DataAuth定义注解的跳过及没有手动指定使用数据规则的跳过
if
(
null
==
dataAuth
&&
ValidationUtil
.
isEmpty
(
dataAuthRule
))
{
PermissionInterceptorContext
.
clean
();
return
invocation
.
proceed
();
}
//
接口
地址为空返回空数据
if
(
ValidationUtil
.
isEmpty
(
dataAuth
.
interfacePath
()))
{
//
数据权限
地址为空返回空数据
if
(
ValidationUtil
.
isEmpty
(
dataAuth
.
interfacePath
())
&&
ValidationUtil
.
isEmpty
(
dataAuthRule
)
)
{
// method.getReturnType().isPrimitive() = true 是count语句
PermissionInterceptorContext
.
clean
();
return
method
.
getReturnType
().
isPrimitive
()
?
invocation
.
proceed
()
:
null
;
}
dataAuthRule
=
ValidationUtil
.
isEmpty
(
dataAuth
.
interfacePath
())
?
dataAuthRule
:
dataAuth
.
interfacePath
();
ReginParams
reginParam
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
()
,
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
if
(
ValidationUtil
.
isEmpty
(
reginParam
)
||
ValidationUtil
.
isEmpty
(
reginParam
.
getUserModel
()))
{
// method.getReturnType().isPrimitive() = true 是count语句
PermissionInterceptorContext
.
clean
();
return
method
.
getReturnType
().
isPrimitive
()
?
invocation
.
proceed
()
:
null
;
}
// 用户数据权限配置信息
Map
<
String
,
List
<
PermissionDataruleModel
>>
dataAuthorization
=
Privilege
.
permissionDataruleClient
.
queryByUser
(
reginParam
.
getUserModel
().
getUserId
(),
dataAuth
.
interfacePath
()
).
getResult
();
dataAuth
Rule
).
getResult
();
// 没有数据权限直接返回空数据
if
(
ValidationUtil
.
isEmpty
(
dataAuthorization
))
{
PermissionInterceptorContext
.
clean
();
return
method
.
getReturnType
().
isPrimitive
()
?
invocation
.
proceed
()
:
null
;
}
...
...
@@ -93,6 +102,7 @@ public class PermissionInterceptor implements Interceptor {
// 将权限规则拼接到原始sql
sql
=
processSelectSql
(
sql
,
dataAuthorization
,
reginParam
,
boundSql
);
metaObject
.
setValue
(
"delegate.boundSql.sql"
,
sql
);
PermissionInterceptorContext
.
clean
();
return
invocation
.
proceed
();
}
...
...
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/interceptors/PermissionInterceptorContext.java
0 → 100644
View file @
31987463
package
com
.
yeejoin
.
amos
.
boot
.
biz
.
common
.
interceptors
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
public
class
PermissionInterceptorContext
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
PermissionInterceptorContext
.
class
);
private
static
ThreadLocal
<
PermissionInterceptorContextModel
>
requestContext
=
ThreadLocal
.
withInitial
(
PermissionInterceptorContextModel:
:
new
);
private
static
PermissionInterceptorContextModel
getPermissionInterceptorContext
()
{
return
requestContext
.
get
();
}
public
static
String
getDataAuthRule
()
{
return
getPermissionInterceptorContext
().
getDataAuthRule
();
}
public
static
void
setDataAuthRule
(
String
dataAuthRule
)
{
getPermissionInterceptorContext
().
setDataAuthRule
(
dataAuthRule
);
}
public
static
void
clean
()
{
if
(
requestContext
!=
null
)
{
logger
.
info
(
"clean RestThreadLocal......Begin"
);
requestContext
.
remove
();
logger
.
info
(
"clean RestThreadLocal......Done"
);
}
}
}
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/interceptors/PermissionInterceptorContextModel.java
0 → 100644
View file @
31987463
package
com
.
yeejoin
.
amos
.
boot
.
biz
.
common
.
interceptors
;
import
org.typroject.tyboot.core.foundation.context.RequestContextEntityType
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
java.io.Serializable
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
*
*/
public
class
PermissionInterceptorContextModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
dataAuthRule
;
public
String
getDataAuthRule
()
{
return
dataAuthRule
;
}
public
void
setDataAuthRule
(
String
dataAuthRule
)
{
this
.
dataAuthRule
=
dataAuthRule
;
}
public
void
clean
()
{
this
.
dataAuthRule
=
null
;
}
}
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 @
31987463
...
...
@@ -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 @
31987463
...
...
@@ -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 @
31987463
...
...
@@ -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 @
31987463
This source diff could not be displayed because it is too large. You can
view the blob
instead.
amos-boot-module/amos-boot-module-biz/amos-boot-module-latentdanger-biz/src/main/java/com/yeejoin/amos/latentdanger/business/service/impl/LatentDangerServiceImpl.java
View file @
31987463
...
...
@@ -1312,7 +1312,8 @@ public class LatentDangerServiceImpl extends BaseService<LatentDangerBo, LatentD
return
executeSubmitDto
;
}
AgencyUserModel
checkLeader
=
jcsFeignClient
.
getAmosIdByUserId
(
param
.
getReformLeaderId
()).
getResult
();
JSONObject
reformJson
=
new
JSONObject
();
JSONObject
reformJson
=
ValidationUtil
.
isEmpty
(
latentDanger
.
getReformJson
())
?
new
JSONObject
()
:
latentDanger
.
getReformJson
();
reformJson
.
put
(
"reformLeaderId"
,
param
.
getReformLeaderId
());
latentDanger
.
setReformJson
(
reformJson
);
Object
result
=
workflowExecuteService
.
setTaskAssign
(
processInstanceId
,
checkLeader
.
getUserName
());
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-latentdanger-biz/src/main/java/com/yeejoin/amos/latentdanger/core/aop/EnumFillAop.java
View file @
31987463
...
...
@@ -9,6 +9,8 @@ import org.aspectj.lang.JoinPoint;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Before
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
...
...
@@ -25,6 +27,8 @@ import java.util.List;
@Component
public
class
EnumFillAop
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
EnumFillAop
.
class
);
@Autowired
RedisUtils
redisUtils
;
...
...
@@ -39,19 +43,27 @@ public class EnumFillAop {
@Before
(
"fillEnum()"
)
public
void
doBefore
(
JoinPoint
joinPoint
)
{
ServletRequestAttributes
attributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
// 获取隐患等级枚举
synchronized
(
this
)
{
// 获取隐患等级枚举
if
(
ValidationUtil
.
isEmpty
(
LatentDangerLevelEnum
.
supervisionDangerLevelEnumMap
))
{
List
<
DictionarieValueModel
>
dicResult
=
Systemctl
.
dictionarieClient
.
dictValues
(
bizType
+
LatentDangerLevelEnum
.
dictCode
).
getResult
();
dicResult
.
forEach
(
dic
->
LatentDangerLevelEnum
.
addEnumDynamic
(
dic
.
getDictDataDesc
(),
dic
.
getDictDataValue
(),
dic
.
getDictDataKey
(),
""
,
dic
.
getOrderNum
()));
try
{
List
<
DictionarieValueModel
>
dicResult
=
Systemctl
.
dictionarieClient
.
dictValues
(
bizType
+
LatentDangerLevelEnum
.
dictCode
).
getResult
();
dicResult
.
forEach
(
dic
->
LatentDangerLevelEnum
.
addEnumDynamic
(
dic
.
getDictDataDesc
(),
dic
.
getDictDataValue
(),
dic
.
getDictDataKey
(),
""
,
dic
.
getOrderNum
()));
}
catch
(
Exception
e
)
{
logger
.
debug
(
e
.
getMessage
());
}
}
// 获取治理方式枚举
if
(
ValidationUtil
.
isEmpty
(
LatentDangerReformTypeEnum
.
supervisionReformTypeEnumMap
))
{
List
<
DictionarieValueModel
>
dicResult
=
Systemctl
.
dictionarieClient
.
dictValues
(
bizType
+
LatentDangerReformTypeEnum
.
dictCode
).
getResult
();
dicResult
.
forEach
(
dic
->
LatentDangerReformTypeEnum
.
addEnumDynamic
(
dic
.
getDictDataDesc
(),
dic
.
getDictDataValue
(),
dic
.
getDictDataKey
()));
try
{
if
(
ValidationUtil
.
isEmpty
(
LatentDangerReformTypeEnum
.
supervisionReformTypeEnumMap
))
{
List
<
DictionarieValueModel
>
dicResult
=
Systemctl
.
dictionarieClient
.
dictValues
(
bizType
+
LatentDangerReformTypeEnum
.
dictCode
).
getResult
();
dicResult
.
forEach
(
dic
->
LatentDangerReformTypeEnum
.
addEnumDynamic
(
dic
.
getDictDataDesc
(),
dic
.
getDictDataValue
(),
dic
.
getDictDataKey
()));
}
}
catch
(
Exception
e
)
{
logger
.
debug
(
e
.
getMessage
());
}
}
// 获取治理状态枚举
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-patrol-biz/src/main/java/com/yeejoin/amos/patrol/business/service/impl/LatentDangerServiceImpl.java
View file @
31987463
...
...
@@ -7,7 +7,6 @@ import com.google.common.base.Joiner;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Sets
;
import
com.google.gson.JsonObject
;
import
com.yeejoin.amos.boot.biz.common.bo.DepartmentBo
;
import
com.yeejoin.amos.boot.biz.common.bo.RoleBo
;
import
com.yeejoin.amos.boot.biz.common.service.impl.WorkflowExcuteServiceImpl
;
...
...
@@ -328,7 +327,7 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
riskSourceId
=
Long
.
parseLong
(
inputCheckDto
.
getRiskSourceId
());
}
LatentDangerBo
latentDangerBo
=
saveLatentDanger
(
""
,
param
.
getRemark
()
,
remark
,
userId
,
departmentId
,
LatentDangerBo
latentDangerBo
=
saveLatentDanger
(
""
,
""
,
remark
,
userId
,
departmentId
,
businessKey
,
orgCode
,
dangerName
,
levelEnum
.
getCode
(),
null
,
dangerTypeEnum
,
photoUrls
,
inputCheckDto
.
getCheckInputId
(),
riskSourceId
,
position
.
get
(
inputCheckDto
.
getRiskSourceId
())==
null
?
""
:
position
.
get
(
inputCheckDto
.
getRiskSourceId
()).
toString
(),
InstanceKeyEnum
.
PATROL
.
getCode
());
...
...
@@ -1234,7 +1233,7 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
executeParam
.
getFlowJson
(),
executeParam
.
getDangerId
(),
role
,
executeTypeEnum
.
getName
(),
executeParam
.
getRemark
());
}
else
{
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患评审通过
))
{
// 将
制
定的治理人保存在日志记录
// 将
指
定的治理人保存在日志记录
executeParam
.
getFlowJson
().
put
(
"governUserId"
,
governUserId
);
}
LatentDangerFlowRecordBo
flowRecord
=
saveFlowRecord
(
executeJson
.
getString
(
"id"
),
data
.
getString
(
"name"
),
userId
,
departmentId
,
...
...
@@ -1243,9 +1242,16 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
latentDangerBo
.
setDangerState
(
executeTypeEnum
.
getNextState
().
getCode
().
toString
());
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患常规治理
))
{
latentDangerBo
.
setReformType
(
LatentDangerReformTypeEnum
.
常规整改
.
getCode
().
toString
());
latentDangerBo
.
setReformJson
(
executeParam
.
getFlowJson
().
toJSONString
());
JSONObject
reformJsonObj
=
JSONObject
.
parseObject
(
latentDangerBo
.
getReformJson
());
if
(
ValidationUtil
.
isEmpty
(
reformJsonObj
))
{
reformJsonObj
=
executeParam
.
getFlowJson
();
}
else
{
reformJsonObj
.
putAll
(
executeParam
.
getFlowJson
());
}
latentDangerBo
.
setReformJson
(
reformJsonObj
.
toJSONString
());
latentDangerBo
.
setInferOtherThings
(
executeParam
.
getInferOtherThings
());
latentDangerBo
.
setProblemDescription
(
executeParam
.
getRemark
());
latentDangerBo
.
setProblemDescription
(
ValidationUtil
.
isEmpty
(
executeParam
.
getProblemDescription
())
?
executeParam
.
getRemark
()
:
executeParam
.
getProblemDescription
());
latentDangerBo
.
setReasonAnalysis
(
executeParam
.
getReasonAnalysis
());
}
else
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患延期治理
))
{
latentDangerBo
.
setReformType
(
LatentDangerReformTypeEnum
.
延期治理
.
getCode
().
toString
());
...
...
@@ -1258,10 +1264,21 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患评审通过
))
{
latentDangerBo
.
setReformLimitDate
(
DateUtil
.
str2Date
(
executeParam
.
getReformLimitDate
(),
DateUtil
.
DATETIME_DEFAULT_FORMAT
));
latentDangerBo
.
setDangerLevel
(
executeParam
.
getDangerLevel
().
toString
());
JSONObject
reformJsonObject
=
JSONObject
.
parseObject
(
latentDangerBo
.
getReformJson
());
if
(
ValidationUtil
.
isEmpty
(
reformJsonObject
))
{
reformJsonObject
=
new
JSONObject
();
}
reformJsonObject
.
put
(
"governUserId"
,
governUserId
);
latentDangerBo
.
setReformJson
(
reformJsonObject
.
toJSONString
());
// 消防巡查需求:评审通过后
制
定治理人
// 消防巡查需求:评审通过后
指
定治理人
// 2.指定治理执行人
workflowExecuteService
.
setTaskAssign
(
latentDangerBo
.
getInstanceId
(),
governUserId
);
Object
result
=
workflowExecuteService
.
setTaskAssign
(
latentDangerBo
.
getInstanceId
(),
governUserId
);
if
(!(
Boolean
)
result
)
{
executeSubmitDto
.
setIsOk
(
false
);
executeSubmitDto
.
setMsg
(
"设置治理行人失败"
);
return
executeSubmitDto
;
}
}
}
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患延期治理车间部门审核通过
))
{
...
...
@@ -1269,6 +1286,10 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
if
(
executeParam
.
getNeedCompanyVerify
()
==
0
)
{
latentDangerBo
.
setDangerState
(
LatentDangerStateEnum
.
延期治理申请
.
getCode
().
toString
());
latentDangerBo
.
setReformLimitDate
(
latentDangerBo
.
getDelayLimitDate
());
if
(!
assignGovernUser
(
latentDangerBo
,
executeSubmitDto
))
{
return
executeSubmitDto
;
}
}
else
{
// 延期治理评审通过且 需要 公司审核
latentDangerBo
.
setDangerState
(
LatentDangerStateEnum
.
延期治理申请待公司审核
.
getCode
().
toString
());
LatentDangerFlowRecordBo
recordBo
=
...
...
@@ -1283,15 +1304,16 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
||
LatentDangerExcuteTypeEnum
.
隐患延期治理公司审核拒绝
.
equals
(
executeTypeEnum
)
||
LatentDangerExcuteTypeEnum
.
隐患验证拒绝
.
equals
(
executeTypeEnum
))
{
latentDangerBo
.
setDangerState
(
LatentDangerStateEnum
.
待治理
.
getCode
().
toString
());
// 获取第一次评审时选择的治理人
LatentDangerFlowRecordBo
record
=
latentDangerFlowRecordMapper
.
getByDangerIdAndActionFlag
(
latentDangerBo
.
getId
(),
"隐患评审"
);
JSONObject
recordObj
=
JSONObject
.
parseObject
(
record
.
getFlowJson
());
if
(!
ValidationUtil
.
isEmpty
(
recordObj
.
get
(
"governUserId"
)))
{
workflowExecuteService
.
setTaskAssign
(
latentDangerBo
.
getInstanceId
(),
(
String
)
recordObj
.
get
(
"governUserId"
));
if
(!
assignGovernUser
(
latentDangerBo
,
executeSubmitDto
))
{
return
executeSubmitDto
;
}
}
else
if
(
executeTypeEnum
.
equals
(
LatentDangerExcuteTypeEnum
.
隐患延期治理公司审核通过
))
{
latentDangerBo
.
setDangerState
(
LatentDangerStateEnum
.
延期治理申请
.
getCode
().
toString
());
latentDangerBo
.
setReformLimitDate
(
latentDangerBo
.
getDelayLimitDate
());
if
(!
assignGovernUser
(
latentDangerBo
,
executeSubmitDto
))
{
return
executeSubmitDto
;
}
}
/**else if (executeTypeEnum.equals(LatentDangerExcuteTypeEnum.隐患延期治理公司审核拒绝)) {
// TODO 待需求确认是回到部门审核还是回到隐患治理节点
latentDangerBo.setDangerState(LatentDangerStateEnum.延期治理申请待车间部门审核.getCode().toString());
...
...
@@ -1310,6 +1332,29 @@ public class LatentDangerServiceImpl implements ILatentDangerService {
return
executeSubmitDto
;
}
/**
* 设置治理人到流程执行节点(平台人员用户名)
*
* @param latentDangerBo
* @param executeSubmitDto
* @return
*/
public
boolean
assignGovernUser
(
LatentDangerBo
latentDangerBo
,
DangerExecuteSubmitDto
executeSubmitDto
)
{
// 获取最后一次评审时选择的治理人
LatentDangerFlowRecordBo
record
=
latentDangerFlowRecordMapper
.
getByDangerIdAndActionFlag
(
latentDangerBo
.
getId
(),
"隐患评审"
);
JSONObject
recordObj
=
JSONObject
.
parseObject
(
record
.
getFlowJson
());
if
(!
ValidationUtil
.
isEmpty
(
recordObj
.
get
(
"governUserId"
)))
{
Object
result
=
workflowExecuteService
.
setTaskAssign
(
latentDangerBo
.
getInstanceId
(),
(
String
)
recordObj
.
get
(
"governUserId"
));
if
(!(
Boolean
)
result
)
{
executeSubmitDto
.
setIsOk
(
false
);
executeSubmitDto
.
setMsg
(
"指定治理人失败"
);
return
false
;
}
}
return
true
;
}
private
void
sendMessage
(
LatentDangerBo
latentDangerBo
,
LatentDangerExcuteTypeEnum
excuteTypeEnum
,
LatentDangerPatrolBo
patrolBo
,
String
flowTaskName
,
String
informerList
,
String
userRealName
,
String
departmentName
)
{
...
...
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