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
42e451f6
Commit
42e451f6
authored
Aug 19, 2021
by
高建强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
item:新增获取用户单位归属接口
parent
192065d7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1482 additions
and
1394 deletions
+1482
-1394
UserUnitDto.java
.../yeejoin/amos/boot/module/common/api/dto/UserUnitDto.java
+29
-0
UserUnitTypeEnum.java
...n/amos/boot/module/common/api/enums/UserUnitTypeEnum.java
+15
-0
OrgUsrMapper.java
...join/amos/boot/module/common/api/mapper/OrgUsrMapper.java
+2
-0
IOrgUsrService.java
...n/amos/boot/module/common/api/service/IOrgUsrService.java
+160
-153
OrgUsrMapper.xml
...ule-common-api/src/main/resources/mapper/OrgUsrMapper.xml
+22
-2
OrgUsrController.java
...s/boot/module/common/biz/controller/OrgUsrController.java
+83
-82
OrgUsrServiceImpl.java
...oot/module/common/biz/service/impl/OrgUsrServiceImpl.java
+1171
-1157
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/dto/UserUnitDto.java
0 → 100644
View file @
42e451f6
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 单位归属
*
* @author gaojianqiang
* @date 2021-08-19
*/
@Data
@ApiModel
(
value
=
"UserUnitDto"
,
description
=
"用户单位归属"
)
public
class
UserUnitDto
{
@ApiModelProperty
(
value
=
"人员类型1-维保公司;2-业主单位"
)
private
String
identityType
;
@ApiModelProperty
(
value
=
"人员id"
)
private
String
personSeq
;
@ApiModelProperty
(
value
=
"人员名称"
)
private
String
personName
;
@ApiModelProperty
(
value
=
"公司id"
)
private
String
companyId
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/enums/UserUnitTypeEnum.java
0 → 100644
View file @
42e451f6
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
UserUnitTypeEnum
{
MAINTENANCE_COMPANY
(
"1"
,
"维保公司"
),
OWNER_UNIT
(
"2"
,
"业主单位"
);
private
String
value
;
private
String
name
;
}
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/mapper/OrgUsrMapper.java
View file @
42e451f6
...
...
@@ -68,4 +68,6 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
* 查询单位基本信息列表和单位下所有的重点部位数量。
*/
List
<
OrgUsrTreeDto
>
getCompanyAndKeySite
(
Long
companyId
);
List
<
UserUnitDto
>
getUserUnit
(
String
id
,
String
type
,
String
code
);
}
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 @
42e451f6
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
service
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yeejoin.amos.boot.module.common.api.dto.*
;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance
;
import
com.yeejoin.amos.boot.module.common.api.entity.OrgUsr
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
/**
* 机构/部门/人员表 服务类
...
...
@@ -18,163 +16,172 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
* @date 2021-06-18
*/
public
interface
IOrgUsrService
{
/**
* 查询上级单位
* @param parent_id
* @return
*/
/**
* 查询上级单位
*
* @param parent_id
* @return
*/
String
selectUpUnitByParam
(
String
parent_id
);
/**
* 获取父级
* @param topId
* @param entityList
* @param packageURL
* @param IDMethodName
* @param IDHierarchy
* @param NAMEMethodName
* @param PARENTIDMethodName
* @param OrgTypeMethodName
* @return
* @throws Exception
*/
List
<
OrgMenuDto
>
getTree
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
/**
* 获取父级
*
* @param topId
* @param entityList
* @param packageURL
* @param IDMethodName
* @param IDHierarchy
* @param NAMEMethodName
* @param PARENTIDMethodName
* @param OrgTypeMethodName
* @return
* @throws Exception
*/
List
<
OrgMenuDto
>
getTree
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
/**
* 获取子数据集合
*
* @param topId
* @param entityList
* @param packageURL
* @param IDMethodName
* @param IDHierarchy
* @param NAMEMethodName
* @param PARENTIDMethodName
* @param OrgTypeMethodName
* @return
* @throws Exception
*/
List
<
OrgMenuDto
>
getSub
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
/**
* 组装融合调度单位人员信息
*
* @param ids
* @return
* @throws Exception
*/
List
<
Map
<
String
,
Object
>>
returnCompanyPersonMsg
(
List
<
Long
>
ids
)
throws
Exception
;
/**
* 获取动态表单数据
*
* @param id
* @return
* @throws Exception
*/
List
<
FormValue
>
getFormValue
(
Long
id
)
throws
Exception
;
/**
* 保存 机构/部门/人员基本信息
*
* @param
* @throws Exception
*/
void
saveOrgUsr
(
OrgUsr
orgUsr
,
OrgUsr
oriOrgUsr
)
throws
Exception
;
/**
* 新增机构/部门/人员基本信息和动态表单数据
*
* @param orgUsr
* @param alertFromValuelist
*/
void
saveOrgUsrDynamicFormInstance
(
OrgUsr
orgUsr
,
List
<
DynamicFormInstance
>
alertFromValuelist
)
throws
Exception
;
/**
* 更新机构/部门/人员基本信息和动态表单数据
*
* @param instanceId 实例id
* @param fromValueList 动态表单数据列表
* @throws Exception
*/
void
updateDynamicFormInstance
(
Long
instanceId
,
List
<
DynamicFormInstance
>
fromValueList
)
throws
Exception
;
/**
* @param id
* @throws Exception
*/
Map
<
String
,
Object
>
selectForShowById
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
;
List
<
OrgUsr
>
selectCompanyDepartmentMsg
();
void
saveOrgUsr
(
OrgUsrDto
OrgUsrDto
)
throws
Exception
;
void
saveOrgPerson
(
OrgPersonDto
OrgPersonDto
)
throws
Exception
;
void
updateByIdOrgUsr
(
OrgUsrDto
OrgUsrDto
,
Long
id
)
throws
Exception
;
void
updateByIdOrgPerson
(
OrgPersonDto
OrgPersonDto
,
Long
id
)
throws
Exception
;
OrgUsrFormDto
selectCompanyById
(
Long
id
)
throws
Exception
;
IPage
bizOrgTypeListPage
(
String
pageNum
,
String
pageSize
,
String
bizOrgType
)
throws
Exception
;
void
saveDepartment
(
List
<
OrgDepartmentDto
>
OrgDepartmentDto
,
Long
id
)
throws
Exception
;
void
saveCompany
(
List
<
OrgUsrDto
>
OrgUsrDto
)
throws
Exception
;
OrgPersonFormDto
selectPersonById
(
Long
id
)
throws
Exception
;
OrgPersonFormDto
selectPersonByIdDetail
(
Long
id
)
throws
Exception
;
List
<
OrgMenuDto
>
selectPersonTree
()
throws
Exception
;
void
savePersonList
(
List
<
OrgPersonDto
>
OrgPersonDto
)
throws
Exception
;
void
saveOrgDepartment
(
OrgDepartmentDto
OrgDepartmentDto
)
throws
Exception
;
void
updateByIdOrgDepartment
(
OrgDepartmentDto
OrgDepartmentDto
,
Long
id
)
throws
Exception
;
OrgDepartmentFormDto
selectDepartmentById
(
Long
id
)
throws
Exception
;
List
<
Map
<
String
,
Object
>>
selectForShowByListId
(
List
<
Long
>
ids
)
throws
Exception
;
/**
* * @param null
*
* @return <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 列表
*/
List
<
CompanyDto
>
listContractDto
(
Integer
pageNum
,
Integer
pageSize
,
RequestData
requestData
);
/**
* 获取子数据集合
* @param topId
* @param entityList
* @param packageURL
* @param IDMethodName
* @param IDHierarchy
* @param NAMEMethodName
* @param PARENTIDMethodName
* @param OrgTypeMethodName
* @return
* @throws Exception
*/
List
<
OrgMenuDto
>
getSub
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
;
/**
* * @param null
*
* @return <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 统计
*/
Integer
listContractDtoCount
(
RequestData
par
);
/**
* 组装融合调度单位人员信息
* @param ids
* @return
* @throws Exception
*/
List
<
Map
<
String
,
Object
>>
returnCompanyPersonMsg
(
List
<
Long
>
ids
)
throws
Exception
;
/**
* * @param null
*
* @return <PRE>
* author tw
* date 2021/7/26
* </PRE>
*/
/**
* 获取动态表单数据
* @param id
* @return
* @throws Exception
*/
List
<
FormValue
>
getFormValue
(
Long
id
)
throws
Exception
;
List
<
OrgUsrzhDto
>
getOrgUsrzhDto
(
String
name
);
/**
* 保存 机构/部门/人员基本信息
* @param
* @throws Exception
*/
void
saveOrgUsr
(
OrgUsr
orgUsr
,
OrgUsr
oriOrgUsr
)
throws
Exception
;
List
<
ESOrgUsrDto
>
selectByIddata
(
String
name
);
/**
* 新增机构/部门/人员基本信息和动态表单数据
* @param orgUsr
* @param alertFromValuelist
*/
void
saveOrgUsrDynamicFormInstance
(
OrgUsr
orgUsr
,
List
<
DynamicFormInstance
>
alertFromValuelist
)
throws
Exception
;
List
<
Map
<
String
,
Object
>>
getparent
();
/**
* 更新机构/部门/人员基本信息和动态表单数据
*
* @param instanceId 实例id
* @param fromValueList 动态表单数据列表
* @throws Exception
*/
void
updateDynamicFormInstance
(
Long
instanceId
,
List
<
DynamicFormInstance
>
fromValueList
)
throws
Exception
;
List
<
OrgUsrExcelDto
>
exportToExcel
();
/**
*
* @param id
* @throws Exception
*/
Map
<
String
,
Object
>
selectForShowById
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
;
List
<
OrgUsr
>
selectCompanyDepartmentMsg
();
void
saveOrgUsr
(
OrgUsrDto
OrgUsrDto
)
throws
Exception
;
void
saveOrgPerson
(
OrgPersonDto
OrgPersonDto
)
throws
Exception
;
void
updateByIdOrgUsr
(
OrgUsrDto
OrgUsrDto
,
Long
id
)
throws
Exception
;
void
updateByIdOrgPerson
(
OrgPersonDto
OrgPersonDto
,
Long
id
)
throws
Exception
;
OrgUsrFormDto
selectCompanyById
(
Long
id
)
throws
Exception
;
IPage
bizOrgTypeListPage
(
String
pageNum
,
String
pageSize
,
String
bizOrgType
)
throws
Exception
;
void
saveDepartment
(
List
<
OrgDepartmentDto
>
OrgDepartmentDto
,
Long
id
)
throws
Exception
;
void
saveCompany
(
List
<
OrgUsrDto
>
OrgUsrDto
)
throws
Exception
;
OrgPersonFormDto
selectPersonById
(
Long
id
)
throws
Exception
;
OrgPersonFormDto
selectPersonByIdDetail
(
Long
id
)
throws
Exception
;
List
<
OrgMenuDto
>
selectPersonTree
()
throws
Exception
;
void
savePersonList
(
List
<
OrgPersonDto
>
OrgPersonDto
)
throws
Exception
;
void
saveOrgDepartment
(
OrgDepartmentDto
OrgDepartmentDto
)
throws
Exception
;
void
updateByIdOrgDepartment
(
OrgDepartmentDto
OrgDepartmentDto
,
Long
id
)
throws
Exception
;
OrgDepartmentFormDto
selectDepartmentById
(
Long
id
)
throws
Exception
;
List
<
Map
<
String
,
Object
>>
selectForShowByListId
(
List
<
Long
>
ids
)
throws
Exception
;
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 列表
*/
List
<
CompanyDto
>
listContractDto
(
Integer
pageNum
,
Integer
pageSize
,
RequestData
requestData
);
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/20
* </PRE>
* 统计
*/
Integer
listContractDtoCount
(
RequestData
par
);
/**
* * @param null
* @return
* <PRE>
* author tw
* date 2021/7/26
* </PRE>
*/
List
<
OrgUsrzhDto
>
getOrgUsrzhDto
(
String
name
);
List
<
ESOrgUsrDto
>
selectByIddata
(
String
name
);
List
<
Map
<
String
,
Object
>>
getparent
();
List
<
OrgUsrExcelDto
>
exportToExcel
();
UserUnitDto
getUserUnit
(
String
id
,
String
type
,
String
code
);
/**
* 根据登陆人获取公司部门人员树
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/resources/mapper/OrgUsrMapper.xml
View file @
42e451f6
...
...
@@ -307,8 +307,28 @@ LEFT JOIN (
FROM important_companys
</select>
<select
id=
"getUserUnit"
resultType=
"com.yeejoin.amos.boot.module.common.api.dto.UserUnitDto"
>
SELECT
u.sequence_nbr AS personSeq,
u.biz_org_name AS personName,
'2' AS identityType,
IFNULL( LEFT ( u.biz_org_code, 6 ), '' ) AS companyId
FROM
`cb_org_usr` u
<where>
<if
test=
"id != null and id != ''"
>
u.amos_org_id = #{id}
</if>
<if
test=
"type != null and type != ''"
>
AND u.biz_org_type = #{type}
</if>
<if
test=
"code != null and code != ''"
>
AND u.biz_org_code LIKE CONCAT(#{code}, '%')
</if>
</where>
ORDER BY
u.sequence_nbr DESC
</select>
<select
id=
"exportToExcel"
resultType=
"com.yeejoin.amos.boot.module.common.api.dto.OrgUsrExcelDto"
>
select
a.biz_org_name bizOrgName,
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/controller/OrgUsrController.java
View file @
42e451f6
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
biz
.
controller
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
com.yeejoin.amos.boot.module.common.api.dto.*
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.elasticsearch.core.SearchHits
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -29,18 +8,25 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.yeejoin.amos.boot.biz.common.constants.CommonConstant
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.biz.common.utils.NameUtils
;
import
com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson
;
import
com.yeejoin.amos.boot.module.common.api.dto.ESOrgUsrDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.OrgDepartmentDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.OrgUsrFormDto
;
import
com.yeejoin.amos.boot.module.common.api.dto.*
;
import
com.yeejoin.amos.boot.module.common.api.entity.OrgUsr
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
/**
...
...
@@ -52,14 +38,14 @@ import io.swagger.annotations.ApiOperation;
@RestController
@Api
(
tags
=
"单位Api"
)
@RequestMapping
(
value
=
"/org-usr"
)
public
class
OrgUsrController
extends
BaseController
{
public
class
OrgUsrController
extends
BaseController
{
@Autowired
OrgUsrServiceImpl
iOrgUsrService
;
@Autowired
ESOrgUsrService
eSOrgUsrService
;
/**
* 新增单位信息
*
...
...
@@ -69,8 +55,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/save"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增单位信息"
,
notes
=
"新增单位信息"
)
public
ResponseModel
<?>
saveOrgUsr
(
HttpServletRequest
request
,
@RequestBody
OrgUsrDto
OrgUsrVo
)
throws
Exception
{
OrgUsrVo
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
iOrgUsrService
.
saveOrgUsr
(
OrgUsrVo
);
OrgUsrVo
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
iOrgUsrService
.
saveOrgUsr
(
OrgUsrVo
);
return
ResponseHelper
.
buildResponse
(
null
);
}
...
...
@@ -87,13 +73,13 @@ public class OrgUsrController extends BaseController {
// 删除时,只作逻辑删除
iOrgUsrService
.
update
(
new
UpdateWrapper
<
OrgUsr
>().
eq
(
"sequence_nbr"
,
id
).
set
(
"is_delete"
,
CommonConstant
.
IS_DELETE_01
));
try
{
eSOrgUsrService
.
deleteById
(
id
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
();
}
eSOrgUsrService
.
deleteById
(
id
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
RuntimeException
();
}
return
ResponseHelper
.
buildResponse
(
null
);
}
...
...
@@ -107,8 +93,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
PUT
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"更新单位数据"
,
notes
=
"更新单位数据"
)
public
ResponseModel
<?>
updateByIdOrgUsr
(
HttpServletRequest
request
,
@RequestBody
OrgUsrDto
OrgUsrVo
,
@PathVariable
Long
id
)
throws
Exception
{
OrgUsrVo
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
iOrgUsrService
.
updateByIdOrgUsr
(
OrgUsrVo
,
id
);
OrgUsrVo
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
iOrgUsrService
.
updateByIdOrgUsr
(
OrgUsrVo
,
id
);
return
ResponseHelper
.
buildResponse
(
null
);
}
...
...
@@ -123,7 +109,7 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/{id}"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单位详情"
,
notes
=
"获取单位详情"
)
public
ResponseModel
<
OrgUsrFormDto
>
selectById
(
HttpServletRequest
request
,
@PathVariable
Long
id
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
selectCompanyById
(
id
));
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
selectCompanyById
(
id
));
}
...
...
@@ -137,48 +123,48 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/selectByBizOrgType/{bizOrgType}"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据bizOrgType分页查询"
,
notes
=
"根据bizOrgType分页查询"
)
public
ResponseModel
<
IPage
<
OrgUsr
>>
bizOrgTypeListPage
(
String
pageNum
,
String
pageSize
,
@PathVariable
String
bizOrgType
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
page
(
iOrgUsrService
.
bizOrgTypeListPage
(
pageNum
,
pageSize
,
bizOrgType
)));
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
page
(
iOrgUsrService
.
bizOrgTypeListPage
(
pageNum
,
pageSize
,
bizOrgType
)));
}
/**
*
* 获取单位部门树
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/companyTree"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单位部门树(key为物理主键)"
,
notes
=
"获取单位部门树(key为物理主键)\""
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTree
()
throws
Exception
{
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTree
()
throws
Exception
{
List
<
OrgMenuDto
>
menus
=
iOrgUsrService
.
getTree
(
null
,
iOrgUsrService
.
selectCompanyDepartmentMsg
(),
OrgUsr
.
class
.
getName
(),
"getSequenceNbr"
,
2
,
"getBizOrgName"
,
"getParentId"
,
"getBizOrgType"
);
return
ResponseHelper
.
buildResponse
(
menus
);
}
/**
*
* 获取单位部门树
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/orgTree"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单位部门树(bizOrgCode为物理主键)"
,
notes
=
"获取单位部门树(bizOrgCode为物理主键)\""
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTreeCode
()
throws
Exception
{
List
<
OrgMenuDto
>
menus
=
OrgUsrServiceImpl
.
buildTreeParallel
(
iOrgUsrService
.
selectCompanyDepartmentMsg
());
return
ResponseHelper
.
buildResponse
(
menus
);
}
/**
* 获取单位部门树
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/orgTree"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单位部门树(bizOrgCode为物理主键)"
,
notes
=
"获取单位部门树(bizOrgCode为物理主键)\""
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTreeCode
()
throws
Exception
{
List
<
OrgMenuDto
>
menus
=
OrgUsrServiceImpl
.
buildTreeParallel
(
iOrgUsrService
.
selectCompanyDepartmentMsg
());
return
ResponseHelper
.
buildResponse
(
menus
);
}
/**
* 获取单位部门树
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/org/company/tree"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单位树(bizOrgCode为物理主键)"
,
notes
=
"获取单位树(bizOrgCode为物理主键)"
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
getCompanyTree
()
{
public
ResponseModel
<
List
<
OrgMenuDto
>>
getCompanyTree
()
{
List
<
OrgMenuDto
>
menus
=
OrgUsrServiceImpl
.
buildTreeParallel
(
iOrgUsrService
.
selectCompanyList
());
return
ResponseHelper
.
buildResponse
(
menus
);
}
...
...
@@ -239,7 +225,7 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/saveDepartment"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"导入部门信息"
,
notes
=
"导入部门信息"
)
public
ResponseModel
<?>
saveDepartment
(
HttpServletRequest
request
,
@RequestBody
List
<
OrgDepartmentDto
>
OrgDepartmentVo
,
@PathVariable
Long
id
)
throws
Exception
{
iOrgUsrService
.
saveDepartment
(
OrgDepartmentVo
,
id
);
iOrgUsrService
.
saveDepartment
(
OrgDepartmentVo
,
id
);
return
ResponseHelper
.
buildResponse
(
null
);
}
...
...
@@ -252,8 +238,8 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/saveCompany"
,
method
=
RequestMethod
.
POST
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"导入单位信息"
,
notes
=
"导入单位信息"
)
public
ResponseModel
<?>
saveCompany
(
HttpServletRequest
request
,
@RequestBody
List
<
OrgUsrDto
>
OrgUsrVo
)
throws
Exception
{
iOrgUsrService
.
saveCompany
(
OrgUsrVo
);
return
ResponseHelper
.
buildResponse
(
null
);
iOrgUsrService
.
saveCompany
(
OrgUsrVo
);
return
ResponseHelper
.
buildResponse
(
null
);
}
/**
...
...
@@ -265,10 +251,10 @@ public class OrgUsrController extends BaseController {
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/{ids}/users"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取单位人员列表"
,
notes
=
"根据id获取单位人员列表"
)
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>
>
selectUsersByOrgCode
(
HttpServletRequest
request
,
@PathVariable
List
<
Long
>
ids
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
returnCompanyPersonMsg
(
ids
))
;
public
ResponseModel
<
List
<
Map
<
String
,
Object
>>>
selectUsersByOrgCode
(
HttpServletRequest
request
,
@PathVariable
List
<
Long
>
ids
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
returnCompanyPersonMsg
(
ids
));
}
/**
* 根据id获取单位人员列表
*
...
...
@@ -279,13 +265,13 @@ public class OrgUsrController extends BaseController {
@RequestMapping
(
value
=
"/company/{ids}/person"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据id获取单位人员列表"
,
notes
=
"根据id获取单位人员列表"
)
public
ResponseModel
<
List
<
CompanyPerson
>>
selectCompanyPerson
(
@PathVariable
List
<
Long
>
ids
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
returnCompanyPerson
(
ids
))
;
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
returnCompanyPerson
(
ids
));
}
/**
* 根据id获取单位人员列表
*
* @param
ids
* @param
amosUserId
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
...
...
@@ -294,44 +280,44 @@ public class OrgUsrController extends BaseController {
public
ResponseModel
<
OrgUsrDto
>
selectCompany
(
@PathVariable
String
amosUserId
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
getOrg
(
amosUserId
));
}
/**
* 根据名称模糊匹配
*
* @param
id
* @param
name
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/getList"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据名称模糊匹配"
,
notes
=
"根据名称模糊匹配"
)
public
ResponseModel
<
List
<
ESOrgUsrDto
>>
selectById
(
HttpServletRequest
request
,
String
name
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
eSOrgUsrService
.
queryByKeys
(
name
));
return
ResponseHelper
.
buildResponse
(
eSOrgUsrService
.
queryByKeys
(
name
));
}
/**
* 根据名称模糊匹配
*
* @param
id
* @param
name
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/getListdata"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据名称模糊匹配单位"
,
notes
=
"根据名称模糊匹配单位"
)
public
ResponseModel
<
List
<
ESOrgUsrDto
>>
selectByIddata
(
HttpServletRequest
request
,
String
name
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
eSOrgUsrService
.
queryByKeys
(
name
));
return
ResponseHelper
.
buildResponse
(
eSOrgUsrService
.
queryByKeys
(
name
));
}
/**
*
* 获取单位部门树
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/companyTreeByUser"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据登陆人获取单位部门树"
,
notes
=
"根据登陆人获取单位部门树"
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTreeByUser
()
throws
Exception
{
public
ResponseModel
<
List
<
OrgMenuDto
>>
selectCompanyTreeByUser
()
throws
Exception
{
// 获取登陆人角色
AgencyUserModel
user
=
getUserInfo
();
List
<
OrgMenuDto
>
menus
=
iOrgUsrService
.
companyTreeByUser
(
user
);
...
...
@@ -339,15 +325,15 @@ public class OrgUsrController extends BaseController {
}
/**
*
* 获取单位部门树
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/companyUserTreeByUser"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据登陆人获取单位部门用户树"
,
notes
=
"根据登陆人获取单位部门用户树"
)
public
ResponseModel
<
List
<
OrgMenuDto
>>
companyUserTreeByUser
()
{
public
ResponseModel
<
List
<
OrgMenuDto
>>
companyUserTreeByUser
()
{
// 获取登陆人角色
AgencyUserModel
user
=
getUserInfo
();
List
<
OrgMenuDto
>
menus
=
iOrgUsrService
.
companyUserTreeByUser
(
user
);
...
...
@@ -355,19 +341,33 @@ public class OrgUsrController extends BaseController {
}
/**
*
* 获取单位列表
*
* @param
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/companyListByUser"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据登陆人获取单位列表"
,
notes
=
"根据登陆人获取单位列表"
)
public
ResponseModel
<
List
<
OrgUsrTreeDto
>>
companyListByUser
()
{
public
ResponseModel
<
List
<
OrgUsrTreeDto
>>
companyListByUser
()
{
// 获取登陆人角色
AgencyUserModel
user
=
getUserInfo
();
List
<
OrgUsrTreeDto
>
menus
=
iOrgUsrService
.
companyListByUser
(
user
);
return
ResponseHelper
.
buildResponse
(
menus
);
}
/**
* 获取用户单位归属
*
* @param id
* @return
*/
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/getUserUnit"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取用户单位归属"
,
notes
=
"获取用户单位归属"
)
public
ResponseModel
<
UserUnitDto
>
getUserUnit
(
@RequestParam
String
id
,
@RequestParam
String
type
,
@RequestParam
String
code
)
throws
Exception
{
return
ResponseHelper
.
buildResponse
(
iOrgUsrService
.
getUserUnit
(
id
,
type
,
code
));
}
}
\ 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 @
42e451f6
...
...
@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -41,468 +42,468 @@ import java.util.stream.Collectors;
@Service
public
class
OrgUsrServiceImpl
extends
BaseService
<
OrgUsrDto
,
OrgUsr
,
OrgUsrMapper
>
implements
IOrgUsrService
{
@Autowired
DynamicFormInstanceServiceImpl
alertFormValueServiceImpl
;
@Autowired
DynamicFormColumnServiceImpl
alertFormServiceImpl
;
@Resource
OrgUsrMapper
orgUsrMapper
;
@Autowired
SupervisionFeign
supervisionFeign
;
@Autowired
ESOrgUsrService
eSOrgUsrService
;
@Override
public
String
selectUpUnitByParam
(
String
id
)
{
return
this
.
baseMapper
.
selectUpUnitByParam
(
id
);
}
public
static
List
<
OrgMenuDto
>
buildTreeParallel
(
List
<
OrgUsr
>
list
)
{
List
<
OrgMenuDto
>
menuList
=
list
.
stream
().
map
(
o
->
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
o
.
getSequenceNbr
(),
o
.
getBizOrgName
(),
ObjectUtils
.
isEmpty
(
o
.
getParentId
())
?
0L
:
Long
.
valueOf
(
o
.
getParentId
()),
o
.
getBizOrgType
(),
false
,
o
.
getBizOrgCode
());
return
menu
;
}).
collect
(
Collectors
.
toList
());
List
<
OrgMenuDto
>
result
=
new
ArrayList
<>();
Map
<
Long
,
OrgMenuDto
>
map
=
new
HashMap
<>(
menuList
.
size
());
menuList
.
forEach
(
e
->
map
.
put
(
e
.
getKey
(),
e
));
Set
<?
extends
Map
.
Entry
<
Long
,
?
extends
OrgMenuDto
>>
entries
=
map
.
entrySet
();
entries
.
parallelStream
().
forEach
(
entry
->
{
OrgMenuDto
value
=
entry
.
getValue
();
if
(
value
!=
null
)
{
OrgMenuDto
treeDto
=
map
.
get
(
value
.
getParentId
());
if
(
treeDto
!=
null
)
{
List
<
OrgMenuDto
>
children
=
treeDto
.
getChildren
();
if
(
children
==
null
)
{
children
=
new
ArrayList
<>();
treeDto
.
setChildren
(
children
);
}
children
.
add
(
value
);
}
else
{
result
.
add
(
value
);
}
}
});
return
result
;
}
@Override
public
List
<
OrgMenuDto
>
getTree
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
{
List
<
OrgMenuDto
>
resultList
=
new
ArrayList
<>();
Class
<?>
clazz
=
Class
.
forName
(
packageURL
);
Method
IDMethodNameme
=
null
;
switch
(
IDHierarchy
)
{
case
1
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
case
2
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
case
3
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
default
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
}
Method
NAMEMethodNameme
=
clazz
.
getDeclaredMethod
(
NAMEMethodName
);
Method
PARENTIDMethodNameme
=
clazz
.
getDeclaredMethod
(
PARENTIDMethodName
);
Method
OrgTypeMethodNameme
=
clazz
.
getDeclaredMethod
(
OrgTypeMethodName
);
// 获取顶层元素集合
Long
parentId
;
for
(
Object
ob
:
entityList
)
{
Object
entity
=
clazz
.
cast
(
ob
);
parentId
=
!
ObjectUtils
.
isEmpty
(
PARENTIDMethodNameme
.
invoke
(
entity
))
?
Long
.
valueOf
(
String
.
valueOf
(
PARENTIDMethodNameme
.
invoke
(
entity
)))
:
null
;
@Autowired
DynamicFormInstanceServiceImpl
alertFormValueServiceImpl
;
@Autowired
DynamicFormColumnServiceImpl
alertFormServiceImpl
;
@Resource
OrgUsrMapper
orgUsrMapper
;
@Autowired
SupervisionFeign
supervisionFeign
;
@Autowired
ESOrgUsrService
eSOrgUsrService
;
@Override
public
String
selectUpUnitByParam
(
String
id
)
{
return
this
.
baseMapper
.
selectUpUnitByParam
(
id
);
}
public
static
List
<
OrgMenuDto
>
buildTreeParallel
(
List
<
OrgUsr
>
list
)
{
List
<
OrgMenuDto
>
menuList
=
list
.
stream
().
map
(
o
->
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
o
.
getSequenceNbr
(),
o
.
getBizOrgName
(),
ObjectUtils
.
isEmpty
(
o
.
getParentId
())
?
0L
:
Long
.
valueOf
(
o
.
getParentId
()),
o
.
getBizOrgType
(),
false
,
o
.
getBizOrgCode
());
return
menu
;
}).
collect
(
Collectors
.
toList
());
List
<
OrgMenuDto
>
result
=
new
ArrayList
<>();
Map
<
Long
,
OrgMenuDto
>
map
=
new
HashMap
<>(
menuList
.
size
());
menuList
.
forEach
(
e
->
map
.
put
(
e
.
getKey
(),
e
));
Set
<?
extends
Map
.
Entry
<
Long
,
?
extends
OrgMenuDto
>>
entries
=
map
.
entrySet
();
entries
.
parallelStream
().
forEach
(
entry
->
{
OrgMenuDto
value
=
entry
.
getValue
();
if
(
value
!=
null
)
{
OrgMenuDto
treeDto
=
map
.
get
(
value
.
getParentId
());
if
(
treeDto
!=
null
)
{
List
<
OrgMenuDto
>
children
=
treeDto
.
getChildren
();
if
(
children
==
null
)
{
children
=
new
ArrayList
<>();
treeDto
.
setChildren
(
children
);
}
children
.
add
(
value
);
}
else
{
result
.
add
(
value
);
}
}
});
return
result
;
}
@Override
public
List
<
OrgMenuDto
>
getTree
(
Long
topId
,
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
{
List
<
OrgMenuDto
>
resultList
=
new
ArrayList
<>();
Class
<?>
clazz
=
Class
.
forName
(
packageURL
);
Method
IDMethodNameme
=
null
;
switch
(
IDHierarchy
)
{
case
1
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
case
2
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
case
3
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
default
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
}
Method
NAMEMethodNameme
=
clazz
.
getDeclaredMethod
(
NAMEMethodName
);
Method
PARENTIDMethodNameme
=
clazz
.
getDeclaredMethod
(
PARENTIDMethodName
);
Method
OrgTypeMethodNameme
=
clazz
.
getDeclaredMethod
(
OrgTypeMethodName
);
// 获取顶层元素集合
Long
parentId
;
for
(
Object
ob
:
entityList
)
{
Object
entity
=
clazz
.
cast
(
ob
);
parentId
=
!
ObjectUtils
.
isEmpty
(
PARENTIDMethodNameme
.
invoke
(
entity
))
?
Long
.
valueOf
(
String
.
valueOf
(
PARENTIDMethodNameme
.
invoke
(
entity
)))
:
null
;
// if (parentId == null || topId ==parentId ) {
// OrgMenuDto menu = new OrgMenuDto(Long.valueOf(String.valueOf(IDMethodNameme.invoke(entity))),
// String.valueOf(NAMEMethodNameme.invoke(entity)), parentId,
// String.valueOf(OrgTypeMethodNameme.invoke(entity)), false);
// resultList.add(menu);
// }
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---start******************************/
if
(
parentId
==
null
)
{
//topId与parentId的等值判断,修改人陈浩 on 2021/07/21
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)),
false
);
resultList
.
add
(
menu
);
}
else
if
(
topId
!=
null
&&
topId
.
longValue
()
==
parentId
.
longValue
())
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)),
false
);
resultList
.
add
(
menu
);
}
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---end******************************/
}
// 获取每个顶层元素的子数据集合
for
(
OrgMenuDto
entity
:
resultList
)
{
entity
.
setChildren
(
getSub
(
entity
.
getKey
(),
entityList
,
packageURL
,
IDMethodName
,
IDHierarchy
,
NAMEMethodName
,
PARENTIDMethodName
,
OrgTypeMethodName
));
}
return
resultList
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
List
<
OrgMenuDto
>
getSub
(
Long
topId
,
@SuppressWarnings
(
"rawtypes"
)
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
{
List
<
OrgMenuDto
>
childList
=
new
ArrayList
<>();
@SuppressWarnings
(
"rawtypes"
)
Class
clazz
=
Class
.
forName
(
packageURL
);
Method
IDMethodNameme
=
null
;
switch
(
IDHierarchy
)
{
case
1
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
case
2
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
case
3
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
default
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
}
Method
OrgTypeMethodNameme
=
clazz
.
getDeclaredMethod
(
OrgTypeMethodName
);
Method
NAMEMethodNameme
=
clazz
.
getDeclaredMethod
(
NAMEMethodName
);
Method
PARENTIDMethodNameme
=
clazz
.
getDeclaredMethod
(
PARENTIDMethodName
);
Long
parentId
;
// 子集的直接子对象
for
(
Object
ob
:
entityList
)
{
Object
entity
=
clazz
.
cast
(
ob
);
parentId
=
!
ObjectUtils
.
isEmpty
(
PARENTIDMethodNameme
.
invoke
(
entity
))
?
Long
.
valueOf
(
String
.
valueOf
(
PARENTIDMethodNameme
.
invoke
(
entity
)))
:
null
;
if
(
parentId
==
null
)
{
if
(
topId
==
parentId
)
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)));
childList
.
add
(
menu
);
}
}
else
{
if
(
topId
.
longValue
()
==
parentId
.
longValue
())
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)));
childList
.
add
(
menu
);
}
}
}
// 子集的间接子对象
for
(
OrgMenuDto
entity
:
childList
)
{
entity
.
setChildren
(
getSub
(
entity
.
getKey
(),
entityList
,
packageURL
,
IDMethodName
,
IDHierarchy
,
NAMEMethodName
,
PARENTIDMethodName
,
OrgTypeMethodName
));
if
(
entity
.
getChildren
()
!=
null
)
{
entity
.
setLeaf
(
false
);
}
}
// 递归退出条件
if
(
childList
.
size
()
==
0
)
{
return
null
;
}
return
childList
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
returnCompanyPersonMsg
(
List
<
Long
>
ids
)
throws
Exception
{
List
<
Map
<
String
,
Object
>>
companyPersonMsg
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
// 查询出单位基本信息
OrgUsr
company
=
getById
(
ids
.
get
(
i
));
resultMap
.
put
(
"id"
,
company
.
getSequenceNbr
());
// 上级单位
resultMap
.
put
(
"upUnit"
,
selectUpUnitByParam
(
company
.
getSequenceNbr
()
+
""
));
// 当前单位
resultMap
.
put
(
"currentUnit"
,
company
.
getBizOrgName
());
// 下级单位
Map
<
String
,
Object
>
downUnitColumnMap
=
new
HashMap
<>();
downUnitColumnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
downUnitColumnMap
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
downUnitColumnMap
.
put
(
"parent_id"
,
company
.
getSequenceNbr
());
QueryWrapper
<
OrgUsr
>
downUnitWrapper
=
new
QueryWrapper
<
OrgUsr
>();
downUnitWrapper
.
allEq
(
downUnitColumnMap
);
List
<
OrgUsr
>
downList
=
list
(
downUnitWrapper
);
if
(
downList
.
size
()
==
0
)
{
resultMap
.
put
(
"downUnit"
,
false
);
}
else
{
resultMap
.
put
(
"downUnit"
,
true
);
}
// 人员数量
Map
<
String
,
Object
>
countPerson
=
new
HashMap
<>();
countPerson
.
put
(
"parent_id"
,
company
.
getSequenceNbr
());
countPerson
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
QueryWrapper
<
OrgUsr
>
personNumWrapper
=
new
QueryWrapper
<
OrgUsr
>();
personNumWrapper
.
allEq
(
countPerson
);
int
personNum
=
count
(
personNumWrapper
);
resultMap
.
put
(
"personNum"
,
personNum
);
if
(
0
==
personNum
)
{
continue
;
}
List
<
Map
<
String
,
Object
>>
personList
=
new
ArrayList
<>();
// 查询动态表单Phone
Map
<
String
,
Object
>
phone
=
new
HashMap
<>();
phone
.
put
(
"instance_id"
,
company
.
getSequenceNbr
());
phone
.
put
(
"field_code"
,
"companyPhone"
);
QueryWrapper
<
DynamicFormInstance
>
phoneWrapper
=
new
QueryWrapper
<
DynamicFormInstance
>();
phoneWrapper
.
allEq
(
phone
);
DynamicFormInstance
phoneValue
=
alertFormValueServiceImpl
.
getOne
(
phoneWrapper
);
if
(
phoneValue
==
null
)
{
resultMap
.
put
(
"tel"
,
""
);
}
else
{
resultMap
.
put
(
"tel"
,
phoneValue
.
getFieldValue
());
}
// 获取单位人员列表信息
personList
=
listPerson
(
company
.
getSequenceNbr
()
+
""
).
stream
().
map
(
p
->
{
Map
<
String
,
Object
>
person
=
new
HashMap
<>();
person
.
put
(
"tel"
,
getValue
(
p
.
get
(
"telephone"
),
null
));
person
.
put
(
"img"
,
getValue
(
p
.
get
(
"personImg"
),
null
));
person
.
put
(
"id"
,
getValue
(
p
.
get
(
"sequenceNbr"
),
null
));
person
.
put
(
"name"
,
getValue
(
p
.
get
(
"bizOrgName"
),
null
));
person
.
put
(
"zhiwei"
,
getValue
(
p
.
get
(
"administrativePositionCode"
),
null
));
person
.
put
(
"unit"
,
getValue
(
p
.
get
(
"fireManagementPostCode"
),
null
));
return
person
;
}).
collect
(
Collectors
.
toList
());
resultMap
.
put
(
"children"
,
personList
);
companyPersonMsg
.
add
(
resultMap
);
}
return
companyPersonMsg
;
}
private
Object
getValue
(
Object
obj
,
Object
defaultValue
)
{
return
ObjectUtils
.
isEmpty
(
obj
)
?
defaultValue
:
obj
;
}
public
List
<
Map
<
String
,
Object
>>
listPerson
(
String
parentId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"fields"
,
alertFormServiceImpl
.
queryListByFormId
(
OrgPersonEnum
.
人员
.
getCode
()));
map
.
put
(
"bizOrgType"
,
OrgPersonEnum
.
人员
.
getKey
());
map
.
put
(
"parentId"
,
parentId
);
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectPersonAllList
(
map
);
return
list
==
null
?
new
ArrayList
<
Map
<
String
,
Object
>>()
:
list
;
}
public
IPage
<
Map
<
String
,
Object
>>
pagePerson
(
String
pageNum
,
String
pageSize
,
Map
<
String
,
Object
>
req
)
{
IPage
<
Map
<
String
,
Object
>>
pageBean
=
null
;
if
(
StringUtils
.
isBlank
(
pageNum
)
||
StringUtils
.
isBlank
(
pageSize
))
{
pageBean
=
new
Page
<>(
0
,
Long
.
MAX_VALUE
);
}
else
{
pageBean
=
new
Page
<>(
Integer
.
parseInt
(
pageNum
),
Integer
.
parseInt
(
pageSize
));
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bizOrgType"
,
OrgPersonEnum
.
人员
.
getKey
());
if
(!
ObjectUtils
.
isEmpty
(
req
.
get
(
"bizOrgName"
)))
{
map
.
put
(
"bizOrgName"
,
req
.
get
(
"bizOrgName"
));
}
OrgUsr
parent
=
this
.
getById
(
Long
.
valueOf
(
req
.
get
(
"parentId"
).
toString
()));
map
.
put
(
"bizOrgCode"
,
ObjectUtils
.
isEmpty
(
parent
)
?
null
:
parent
.
getBizOrgCode
());
req
.
remove
(
"bizOrgName"
);
req
.
remove
(
"pageSize"
);
req
.
remove
(
"pageNum"
);
req
.
remove
(
"parentId"
);
map
.
put
(
"fieldsValue"
,
req
);
map
.
put
(
"fields"
,
alertFormServiceImpl
.
queryListByFormId
(
OrgPersonEnum
.
人员
.
getCode
()));
pageBean
.
setTotal
(
this
.
baseMapper
.
selectPersonListCount
(
map
));
map
.
put
(
"pageNum"
,
(
pageBean
.
getCurrent
()
-
1
)
*
pageBean
.
getSize
());
map
.
put
(
"pageSize"
,
pageBean
.
getSize
());
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectPersonList
(
map
);
pageBean
.
setRecords
(
list
);
return
pageBean
;
}
@Override
public
List
<
FormValue
>
getFormValue
(
Long
id
)
throws
Exception
{
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
List
<
FormValue
>
formValue
=
new
ArrayList
<>();
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
if
(
alertFormValue
.
getFieldValue
()
!=
null
)
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValue
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
else
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValueLabel
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
}
return
formValue
;
}
public
List
<
FormValue
>
getFormValueDetail
(
Long
id
)
throws
Exception
{
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
List
<
FormValue
>
formValue
=
new
ArrayList
<>();
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValue
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
return
formValue
;
}
@Override
public
void
saveOrgUsr
(
OrgUsr
orgUsr
,
OrgUsr
oriOrgUsr
)
throws
Exception
{
if
(
oriOrgUsr
.
getParentId
()
!=
oriOrgUsr
.
getParentId
())
{
OrgUsr
parent
=
getById
(
orgUsr
.
getParentId
());
if
(
parent
!=
null
&&
!
ObjectUtils
.
isEmpty
(
parent
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
updateChildOrgCode
(
oriOrgUsr
.
getBizOrgCode
(),
orgUsr
.
getBizOrgCode
());
orgUsr
.
setParentId
(
oriOrgUsr
.
getParentId
());
}
AgencyUserModel
me
=
Privilege
.
agencyUserClient
.
getme
().
getResult
();
orgUsr
.
setRecDate
(
new
Date
());
orgUsr
.
setRecUserId
(
me
.
getUserId
());
orgUsr
.
setRecUserName
(
me
.
getRealName
());
updateById
(
orgUsr
);
}
private
void
updateChildOrgCode
(
String
oriOrgCode
,
String
targetOrgCode
)
{
List
<
OrgUsr
>
list
=
queryOrgUsrList
(
oriOrgCode
);
if
(
ObjectUtils
.
isEmpty
(
list
))
{
return
;
}
list
.
forEach
(
action
->
{
action
.
setBizOrgCode
(
action
.
getBizOrgCode
().
replace
(
oriOrgCode
,
targetOrgCode
));
updateById
(
action
);
});
}
public
List
<
OrgUsr
>
queryOrgUsrList
(
String
bizOrgCode
)
{
return
this
.
baseMapper
.
queryOrgUsrListByBizOrgCode
(
bizOrgCode
);
}
@Override
public
void
saveOrgUsrDynamicFormInstance
(
OrgUsr
orgUsr
,
List
<
DynamicFormInstance
>
alertFromValuelist
)
throws
Exception
{
orgUsr
.
setRecDate
(
new
Date
());
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
getme
().
getResult
();
orgUsr
.
setRecUserName
(
user
.
getRealName
());
orgUsr
.
setRecUserId
(
user
.
getUserId
());
// 单位新增情况
save
(
orgUsr
);
// 填充主键
alertFromValuelist
.
stream
().
forEach
(
alertFromValue
->
{
if
(
OrgPersonEnum
.
公司
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
alertFromValue
.
setGroupCode
(
OrgPersonEnum
.
公司
.
getCode
());
}
else
if
(
OrgPersonEnum
.
部门
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
alertFromValue
.
setGroupCode
(
OrgPersonEnum
.
部门
.
getCode
());
}
alertFromValue
.
setInstanceId
(
orgUsr
.
getSequenceNbr
());
});
// 保存动态表单数据
alertFormValueServiceImpl
.
saveBatch
(
alertFromValuelist
);
OrgUsrFormDto
formDto
=
this
.
selectCompanyById
(
orgUsr
.
getSequenceNbr
());
if
(
OrgPersonEnum
.
公司
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
supervisionFeign
.
asyncOwner
(
formDto
);
}
}
@Override
public
void
updateDynamicFormInstance
(
Long
instanceId
,
List
<
DynamicFormInstance
>
fromValueList
)
{
// 填充主键
fromValueList
.
forEach
(
alertFromValue
->
{
alertFromValue
.
setInstanceId
(
instanceId
);
});
List
<
DynamicFormInstanceDto
>
formList
=
alertFormValueServiceImpl
.
queryByCalledId
(
instanceId
);
Map
<
Long
,
DynamicFormInstanceDto
>
resourceMap
=
new
HashMap
<>();
Map
<
Long
,
DynamicFormInstance
>
newResourceMap
=
new
HashMap
<>();
formList
.
parallelStream
().
forEach
(
form
->
{
resourceMap
.
put
(
form
.
getFormColumnId
(),
form
);
});
List
<
DynamicFormInstance
>
updateList
=
new
ArrayList
<>();
List
<
DynamicFormInstance
>
addList
=
new
ArrayList
<>();
List
<
Long
>
deleteList
=
new
ArrayList
<>();
fromValueList
.
parallelStream
().
forEach
(
submitFormItem
->
{
if
(
resourceMap
.
containsKey
(
submitFormItem
.
getFormColumnId
()))
{
DynamicFormInstanceDto
oldForm
=
resourceMap
.
get
(
submitFormItem
.
getFormColumnId
());
submitFormItem
.
setSequenceNbr
(
oldForm
.
getSequenceNbr
());
updateList
.
add
(
submitFormItem
);
}
else
{
addList
.
add
(
submitFormItem
);
}
newResourceMap
.
put
(
submitFormItem
.
getFormColumnId
(),
submitFormItem
);
});
newResourceMap
.
keySet
().
parallelStream
().
forEach
(
form
->
{
resourceMap
.
remove
(
form
);
});
resourceMap
.
keySet
().
parallelStream
().
forEach
(
action
->
{
deleteList
.
add
(
resourceMap
.
get
(
action
).
getSequenceNbr
());
});
if
(
deleteList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
deleteBatchSeq
(
deleteList
);
}
if
(
updateList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
updateBatchById
(
updateList
);
}
if
(
addList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
saveBatch
(
addList
);
}
}
@Override
public
Map
<
String
,
Object
>
selectForShowById
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
{
QueryWrapper
<
DynamicFormColumn
>
queryWrapper
=
new
QueryWrapper
<
DynamicFormColumn
>();
queryWrapper
.
eq
(
"group_code"
,
OrgPersonEnum
.
人员
.
getCode
());
List
<
DynamicFormColumn
>
alertForms
=
alertFormServiceImpl
.
list
(
queryWrapper
);
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
=
Bean
.
BeantoMap
(
orgUsr
);
result
.
put
(
"parenName"
,
getById
(
orgUsr
.
getParentId
()).
getBizOrgName
());
// 放入所有动态表单数据
for
(
DynamicFormColumn
alertForm
:
alertForms
)
{
result
.
put
(
alertForm
.
getFieldCode
(),
null
);
}
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
result
.
put
(
alertFormValue
.
getFieldCode
(),
ObjectUtils
.
isEmpty
(
alertFormValue
.
getFieldValueLabel
())
?
alertFormValue
.
getFieldValue
()
:
alertFormValue
.
getFieldValueLabel
());
}
return
result
;
}
@Override
public
List
<
OrgUsr
>
selectCompanyDepartmentMsg
()
{
List
<
OrgUsr
>
list
=
this
.
baseMapper
.
selectCompanyDepartmentMsg
();
if
(
list
==
null
)
{
return
new
ArrayList
<>();
}
list
=
list
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
return
list
;
}
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---start******************************/
if
(
parentId
==
null
)
{
//topId与parentId的等值判断,修改人陈浩 on 2021/07/21
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)),
false
);
resultList
.
add
(
menu
);
}
else
if
(
topId
!=
null
&&
topId
.
longValue
()
==
parentId
.
longValue
())
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)),
false
);
resultList
.
add
(
menu
);
}
/* *******************topId与parentId的等值判断,修改人陈浩 on 2021/07/21---end******************************/
}
// 获取每个顶层元素的子数据集合
for
(
OrgMenuDto
entity
:
resultList
)
{
entity
.
setChildren
(
getSub
(
entity
.
getKey
(),
entityList
,
packageURL
,
IDMethodName
,
IDHierarchy
,
NAMEMethodName
,
PARENTIDMethodName
,
OrgTypeMethodName
));
}
return
resultList
;
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
List
<
OrgMenuDto
>
getSub
(
Long
topId
,
@SuppressWarnings
(
"rawtypes"
)
Collection
entityList
,
String
packageURL
,
String
IDMethodName
,
int
IDHierarchy
,
String
NAMEMethodName
,
String
PARENTIDMethodName
,
String
OrgTypeMethodName
)
throws
Exception
{
List
<
OrgMenuDto
>
childList
=
new
ArrayList
<>();
@SuppressWarnings
(
"rawtypes"
)
Class
clazz
=
Class
.
forName
(
packageURL
);
Method
IDMethodNameme
=
null
;
switch
(
IDHierarchy
)
{
case
1
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
case
2
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
case
3
:
IDMethodNameme
=
clazz
.
getSuperclass
().
getSuperclass
().
getDeclaredMethod
(
IDMethodName
);
break
;
default
:
IDMethodNameme
=
clazz
.
getDeclaredMethod
(
IDMethodName
);
break
;
}
Method
OrgTypeMethodNameme
=
clazz
.
getDeclaredMethod
(
OrgTypeMethodName
);
Method
NAMEMethodNameme
=
clazz
.
getDeclaredMethod
(
NAMEMethodName
);
Method
PARENTIDMethodNameme
=
clazz
.
getDeclaredMethod
(
PARENTIDMethodName
);
Long
parentId
;
// 子集的直接子对象
for
(
Object
ob
:
entityList
)
{
Object
entity
=
clazz
.
cast
(
ob
);
parentId
=
!
ObjectUtils
.
isEmpty
(
PARENTIDMethodNameme
.
invoke
(
entity
))
?
Long
.
valueOf
(
String
.
valueOf
(
PARENTIDMethodNameme
.
invoke
(
entity
)))
:
null
;
if
(
parentId
==
null
)
{
if
(
topId
==
parentId
)
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)));
childList
.
add
(
menu
);
}
}
else
{
if
(
topId
.
longValue
()
==
parentId
.
longValue
())
{
OrgMenuDto
menu
=
new
OrgMenuDto
(
Long
.
valueOf
(
String
.
valueOf
(
IDMethodNameme
.
invoke
(
entity
))),
String
.
valueOf
(
NAMEMethodNameme
.
invoke
(
entity
)),
parentId
,
String
.
valueOf
(
OrgTypeMethodNameme
.
invoke
(
entity
)));
childList
.
add
(
menu
);
}
}
}
// 子集的间接子对象
for
(
OrgMenuDto
entity
:
childList
)
{
entity
.
setChildren
(
getSub
(
entity
.
getKey
(),
entityList
,
packageURL
,
IDMethodName
,
IDHierarchy
,
NAMEMethodName
,
PARENTIDMethodName
,
OrgTypeMethodName
));
if
(
entity
.
getChildren
()
!=
null
)
{
entity
.
setLeaf
(
false
);
}
}
// 递归退出条件
if
(
childList
.
size
()
==
0
)
{
return
null
;
}
return
childList
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
returnCompanyPersonMsg
(
List
<
Long
>
ids
)
throws
Exception
{
List
<
Map
<
String
,
Object
>>
companyPersonMsg
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
// 查询出单位基本信息
OrgUsr
company
=
getById
(
ids
.
get
(
i
));
resultMap
.
put
(
"id"
,
company
.
getSequenceNbr
());
// 上级单位
resultMap
.
put
(
"upUnit"
,
selectUpUnitByParam
(
company
.
getSequenceNbr
()
+
""
));
// 当前单位
resultMap
.
put
(
"currentUnit"
,
company
.
getBizOrgName
());
// 下级单位
Map
<
String
,
Object
>
downUnitColumnMap
=
new
HashMap
<>();
downUnitColumnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
downUnitColumnMap
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
downUnitColumnMap
.
put
(
"parent_id"
,
company
.
getSequenceNbr
());
QueryWrapper
<
OrgUsr
>
downUnitWrapper
=
new
QueryWrapper
<
OrgUsr
>();
downUnitWrapper
.
allEq
(
downUnitColumnMap
);
List
<
OrgUsr
>
downList
=
list
(
downUnitWrapper
);
if
(
downList
.
size
()
==
0
)
{
resultMap
.
put
(
"downUnit"
,
false
);
}
else
{
resultMap
.
put
(
"downUnit"
,
true
);
}
// 人员数量
Map
<
String
,
Object
>
countPerson
=
new
HashMap
<>();
countPerson
.
put
(
"parent_id"
,
company
.
getSequenceNbr
());
countPerson
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
QueryWrapper
<
OrgUsr
>
personNumWrapper
=
new
QueryWrapper
<
OrgUsr
>();
personNumWrapper
.
allEq
(
countPerson
);
int
personNum
=
count
(
personNumWrapper
);
resultMap
.
put
(
"personNum"
,
personNum
);
if
(
0
==
personNum
)
{
continue
;
}
List
<
Map
<
String
,
Object
>>
personList
=
new
ArrayList
<>();
// 查询动态表单Phone
Map
<
String
,
Object
>
phone
=
new
HashMap
<>();
phone
.
put
(
"instance_id"
,
company
.
getSequenceNbr
());
phone
.
put
(
"field_code"
,
"companyPhone"
);
QueryWrapper
<
DynamicFormInstance
>
phoneWrapper
=
new
QueryWrapper
<
DynamicFormInstance
>();
phoneWrapper
.
allEq
(
phone
);
DynamicFormInstance
phoneValue
=
alertFormValueServiceImpl
.
getOne
(
phoneWrapper
);
if
(
phoneValue
==
null
)
{
resultMap
.
put
(
"tel"
,
""
);
}
else
{
resultMap
.
put
(
"tel"
,
phoneValue
.
getFieldValue
());
}
// 获取单位人员列表信息
personList
=
listPerson
(
company
.
getSequenceNbr
()
+
""
).
stream
().
map
(
p
->
{
Map
<
String
,
Object
>
person
=
new
HashMap
<>();
person
.
put
(
"tel"
,
getValue
(
p
.
get
(
"telephone"
),
null
));
person
.
put
(
"img"
,
getValue
(
p
.
get
(
"personImg"
),
null
));
person
.
put
(
"id"
,
getValue
(
p
.
get
(
"sequenceNbr"
),
null
));
person
.
put
(
"name"
,
getValue
(
p
.
get
(
"bizOrgName"
),
null
));
person
.
put
(
"zhiwei"
,
getValue
(
p
.
get
(
"administrativePositionCode"
),
null
));
person
.
put
(
"unit"
,
getValue
(
p
.
get
(
"fireManagementPostCode"
),
null
));
return
person
;
}).
collect
(
Collectors
.
toList
());
resultMap
.
put
(
"children"
,
personList
);
companyPersonMsg
.
add
(
resultMap
);
}
return
companyPersonMsg
;
}
private
Object
getValue
(
Object
obj
,
Object
defaultValue
)
{
return
ObjectUtils
.
isEmpty
(
obj
)
?
defaultValue
:
obj
;
}
public
List
<
Map
<
String
,
Object
>>
listPerson
(
String
parentId
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"fields"
,
alertFormServiceImpl
.
queryListByFormId
(
OrgPersonEnum
.
人员
.
getCode
()));
map
.
put
(
"bizOrgType"
,
OrgPersonEnum
.
人员
.
getKey
());
map
.
put
(
"parentId"
,
parentId
);
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectPersonAllList
(
map
);
return
list
==
null
?
new
ArrayList
<
Map
<
String
,
Object
>>()
:
list
;
}
public
IPage
<
Map
<
String
,
Object
>>
pagePerson
(
String
pageNum
,
String
pageSize
,
Map
<
String
,
Object
>
req
)
{
IPage
<
Map
<
String
,
Object
>>
pageBean
=
null
;
if
(
StringUtils
.
isBlank
(
pageNum
)
||
StringUtils
.
isBlank
(
pageSize
))
{
pageBean
=
new
Page
<>(
0
,
Long
.
MAX_VALUE
);
}
else
{
pageBean
=
new
Page
<>(
Integer
.
parseInt
(
pageNum
),
Integer
.
parseInt
(
pageSize
));
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"bizOrgType"
,
OrgPersonEnum
.
人员
.
getKey
());
if
(!
ObjectUtils
.
isEmpty
(
req
.
get
(
"bizOrgName"
)))
{
map
.
put
(
"bizOrgName"
,
req
.
get
(
"bizOrgName"
));
}
OrgUsr
parent
=
this
.
getById
(
Long
.
valueOf
(
req
.
get
(
"parentId"
).
toString
()));
map
.
put
(
"bizOrgCode"
,
ObjectUtils
.
isEmpty
(
parent
)
?
null
:
parent
.
getBizOrgCode
());
req
.
remove
(
"bizOrgName"
);
req
.
remove
(
"pageSize"
);
req
.
remove
(
"pageNum"
);
req
.
remove
(
"parentId"
);
map
.
put
(
"fieldsValue"
,
req
);
map
.
put
(
"fields"
,
alertFormServiceImpl
.
queryListByFormId
(
OrgPersonEnum
.
人员
.
getCode
()));
pageBean
.
setTotal
(
this
.
baseMapper
.
selectPersonListCount
(
map
));
map
.
put
(
"pageNum"
,
(
pageBean
.
getCurrent
()
-
1
)
*
pageBean
.
getSize
());
map
.
put
(
"pageSize"
,
pageBean
.
getSize
());
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectPersonList
(
map
);
pageBean
.
setRecords
(
list
);
return
pageBean
;
}
@Override
public
List
<
FormValue
>
getFormValue
(
Long
id
)
throws
Exception
{
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
List
<
FormValue
>
formValue
=
new
ArrayList
<>();
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
if
(
alertFormValue
.
getFieldValue
()
!=
null
)
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValue
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
else
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValueLabel
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
}
return
formValue
;
}
public
List
<
FormValue
>
getFormValueDetail
(
Long
id
)
throws
Exception
{
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
List
<
FormValue
>
formValue
=
new
ArrayList
<>();
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
FormValue
value
=
new
FormValue
(
alertFormValue
.
getFieldCode
(),
alertFormValue
.
getFieldName
(),
alertFormValue
.
getFieldType
(),
alertFormValue
.
getFieldValue
(),
alertFormValue
.
getBlock
());
formValue
.
add
(
value
);
}
return
formValue
;
}
@Override
public
void
saveOrgUsr
(
OrgUsr
orgUsr
,
OrgUsr
oriOrgUsr
)
throws
Exception
{
if
(
oriOrgUsr
.
getParentId
()
!=
oriOrgUsr
.
getParentId
())
{
OrgUsr
parent
=
getById
(
orgUsr
.
getParentId
());
if
(
parent
!=
null
&&
!
ObjectUtils
.
isEmpty
(
parent
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
updateChildOrgCode
(
oriOrgUsr
.
getBizOrgCode
(),
orgUsr
.
getBizOrgCode
());
orgUsr
.
setParentId
(
oriOrgUsr
.
getParentId
());
}
AgencyUserModel
me
=
Privilege
.
agencyUserClient
.
getme
().
getResult
();
orgUsr
.
setRecDate
(
new
Date
());
orgUsr
.
setRecUserId
(
me
.
getUserId
());
orgUsr
.
setRecUserName
(
me
.
getRealName
());
updateById
(
orgUsr
);
}
private
void
updateChildOrgCode
(
String
oriOrgCode
,
String
targetOrgCode
)
{
List
<
OrgUsr
>
list
=
queryOrgUsrList
(
oriOrgCode
);
if
(
ObjectUtils
.
isEmpty
(
list
))
{
return
;
}
list
.
forEach
(
action
->
{
action
.
setBizOrgCode
(
action
.
getBizOrgCode
().
replace
(
oriOrgCode
,
targetOrgCode
));
updateById
(
action
);
});
}
public
List
<
OrgUsr
>
queryOrgUsrList
(
String
bizOrgCode
)
{
return
this
.
baseMapper
.
queryOrgUsrListByBizOrgCode
(
bizOrgCode
);
}
@Override
public
void
saveOrgUsrDynamicFormInstance
(
OrgUsr
orgUsr
,
List
<
DynamicFormInstance
>
alertFromValuelist
)
throws
Exception
{
orgUsr
.
setRecDate
(
new
Date
());
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
getme
().
getResult
();
orgUsr
.
setRecUserName
(
user
.
getRealName
());
orgUsr
.
setRecUserId
(
user
.
getUserId
());
// 单位新增情况
save
(
orgUsr
);
// 填充主键
alertFromValuelist
.
stream
().
forEach
(
alertFromValue
->
{
if
(
OrgPersonEnum
.
公司
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
alertFromValue
.
setGroupCode
(
OrgPersonEnum
.
公司
.
getCode
());
}
else
if
(
OrgPersonEnum
.
部门
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
alertFromValue
.
setGroupCode
(
OrgPersonEnum
.
部门
.
getCode
());
}
alertFromValue
.
setInstanceId
(
orgUsr
.
getSequenceNbr
());
});
// 保存动态表单数据
alertFormValueServiceImpl
.
saveBatch
(
alertFromValuelist
);
OrgUsrFormDto
formDto
=
this
.
selectCompanyById
(
orgUsr
.
getSequenceNbr
());
if
(
OrgPersonEnum
.
公司
.
getKey
().
equals
(
orgUsr
.
getBizOrgType
()))
{
supervisionFeign
.
asyncOwner
(
formDto
);
}
}
@Override
public
void
updateDynamicFormInstance
(
Long
instanceId
,
List
<
DynamicFormInstance
>
fromValueList
)
{
// 填充主键
fromValueList
.
forEach
(
alertFromValue
->
{
alertFromValue
.
setInstanceId
(
instanceId
);
});
List
<
DynamicFormInstanceDto
>
formList
=
alertFormValueServiceImpl
.
queryByCalledId
(
instanceId
);
Map
<
Long
,
DynamicFormInstanceDto
>
resourceMap
=
new
HashMap
<>();
Map
<
Long
,
DynamicFormInstance
>
newResourceMap
=
new
HashMap
<>();
formList
.
parallelStream
().
forEach
(
form
->
{
resourceMap
.
put
(
form
.
getFormColumnId
(),
form
);
});
List
<
DynamicFormInstance
>
updateList
=
new
ArrayList
<>();
List
<
DynamicFormInstance
>
addList
=
new
ArrayList
<>();
List
<
Long
>
deleteList
=
new
ArrayList
<>();
fromValueList
.
parallelStream
().
forEach
(
submitFormItem
->
{
if
(
resourceMap
.
containsKey
(
submitFormItem
.
getFormColumnId
()))
{
DynamicFormInstanceDto
oldForm
=
resourceMap
.
get
(
submitFormItem
.
getFormColumnId
());
submitFormItem
.
setSequenceNbr
(
oldForm
.
getSequenceNbr
());
updateList
.
add
(
submitFormItem
);
}
else
{
addList
.
add
(
submitFormItem
);
}
newResourceMap
.
put
(
submitFormItem
.
getFormColumnId
(),
submitFormItem
);
});
newResourceMap
.
keySet
().
parallelStream
().
forEach
(
form
->
{
resourceMap
.
remove
(
form
);
});
resourceMap
.
keySet
().
parallelStream
().
forEach
(
action
->
{
deleteList
.
add
(
resourceMap
.
get
(
action
).
getSequenceNbr
());
});
if
(
deleteList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
deleteBatchSeq
(
deleteList
);
}
if
(
updateList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
updateBatchById
(
updateList
);
}
if
(
addList
.
size
()
>
0
)
{
alertFormValueServiceImpl
.
saveBatch
(
addList
);
}
}
@Override
public
Map
<
String
,
Object
>
selectForShowById
(
OrgUsr
orgUsr
,
Long
id
)
throws
Exception
{
QueryWrapper
<
DynamicFormColumn
>
queryWrapper
=
new
QueryWrapper
<
DynamicFormColumn
>();
queryWrapper
.
eq
(
"group_code"
,
OrgPersonEnum
.
人员
.
getCode
());
List
<
DynamicFormColumn
>
alertForms
=
alertFormServiceImpl
.
list
(
queryWrapper
);
// 动态表单数据
List
<
DynamicFormInstanceDto
>
list
=
alertFormValueServiceImpl
.
listByCalledId
(
id
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
=
Bean
.
BeantoMap
(
orgUsr
);
result
.
put
(
"parenName"
,
getById
(
orgUsr
.
getParentId
()).
getBizOrgName
());
// 放入所有动态表单数据
for
(
DynamicFormColumn
alertForm
:
alertForms
)
{
result
.
put
(
alertForm
.
getFieldCode
(),
null
);
}
for
(
DynamicFormInstanceDto
alertFormValue
:
list
)
{
result
.
put
(
alertFormValue
.
getFieldCode
(),
ObjectUtils
.
isEmpty
(
alertFormValue
.
getFieldValueLabel
())
?
alertFormValue
.
getFieldValue
()
:
alertFormValue
.
getFieldValueLabel
());
}
return
result
;
}
@Override
public
List
<
OrgUsr
>
selectCompanyDepartmentMsg
()
{
List
<
OrgUsr
>
list
=
this
.
baseMapper
.
selectCompanyDepartmentMsg
();
if
(
list
==
null
)
{
return
new
ArrayList
<>();
}
list
=
list
.
stream
().
filter
(
o
->
!
ObjectUtils
.
isEmpty
(
o
)).
collect
(
Collectors
.
toList
());
return
list
;
}
public
List
<
OrgUsr
>
selectCompanyList
()
{
List
<
OrgUsr
>
list
=
...
...
@@ -515,713 +516,726 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return
list
;
}
@Override
public
void
saveOrgUsr
(
OrgUsrDto
OrgUsrVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgUsrVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
if
(
OrgUsrVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgUsrVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgUsrVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgUsrVo
.
getDynamicFormValue
());
/**
@Override
public
void
saveOrgUsr
(
OrgUsrDto
OrgUsrVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgUsrVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
if
(
OrgUsrVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgUsrVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgUsrVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgUsrVo
.
getDynamicFormValue
());
/**
* 同步保存ES
*/
eSOrgUsrService
.
saveAlertCalledToES
(
orgUsr
);
}
@Override
public
void
saveOrgPerson
(
OrgPersonDto
OrgPersonVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
if
(
OrgPersonVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgPersonVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
OrgPersonVo
.
setAmosOrgCode
(
user
.
getRealName
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
getDynamicFormValue
());
}
public
void
saveOrgPersonExcel
(
OrgUsrExcelDto
OrgPersonVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
if
(
OrgPersonVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgPersonVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
OrgPersonVo
.
setAmosOrgCode
(
user
.
getRealName
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
getDynamicFormValue
());
}
@Override
public
void
updateByIdOrgUsr
(
OrgUsrDto
OrgUsrVo
,
Long
id
)
throws
Exception
{
// 修改单位信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgUsrVo
,
orgUsr
);
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgUsrVo
.
getDynamicFormValue
());
/**
eSOrgUsrService
.
saveAlertCalledToES
(
orgUsr
);
}
@Override
public
void
saveOrgPerson
(
OrgPersonDto
OrgPersonVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
if
(
OrgPersonVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgPersonVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
OrgPersonVo
.
setAmosOrgCode
(
user
.
getRealName
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
getDynamicFormValue
());
}
public
void
saveOrgPersonExcel
(
OrgUsrExcelDto
OrgPersonVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
if
(
OrgPersonVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgPersonVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
OrgPersonVo
.
setAmosOrgCode
(
user
.
getRealName
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
getDynamicFormValue
());
}
@Override
public
void
updateByIdOrgUsr
(
OrgUsrDto
OrgUsrVo
,
Long
id
)
throws
Exception
{
// 修改单位信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgUsrVo
,
orgUsr
);
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgUsrVo
.
getDynamicFormValue
());
/**
* 同步保存ES
*/
eSOrgUsrService
.
saveAlertCalledToES
(
orgUsr
);
}
@Override
public
void
updateByIdOrgPerson
(
OrgPersonDto
OrgPersonVo
,
Long
id
)
throws
Exception
{
// 修改人员信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setSequenceNbr
(
id
);
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
oriOrgUsr
.
setAmosOrgCode
(
user
.
getRealName
());
oriOrgUsr
.
setAmosOrgId
(
user
.
getUserId
());
orgUsr
.
setAmosOrgCode
(
user
.
getRealName
());
orgUsr
.
setAmosOrgId
(
user
.
getUserId
());
}
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgPersonVo
.
getDynamicFormValue
());
}
@Override
public
OrgUsrFormDto
selectCompanyById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgUsrFormDto
orgUsrFormVo
=
new
OrgUsrFormDto
();
orgUsrFormVo
.
setDynamicFormAlert
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgUsrFormVo
);
return
orgUsrFormVo
;
}
@Override
public
IPage
<
OrgUsr
>
bizOrgTypeListPage
(
String
pageNum
,
String
pageSize
,
String
bizOrgType
)
throws
Exception
{
Map
<
String
,
Object
>
columnMap
=
new
HashMap
<>();
columnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
columnMap
.
put
(
"biz_org_type"
,
bizOrgType
);
Page
<
OrgUsr
>
pageBean
=
new
Page
<
OrgUsr
>();
if
(
StringUtils
.
isBlank
(
pageNum
)
||
StringUtils
.
isBlank
(
pageSize
))
{
pageBean
=
new
Page
<>(
0
,
Long
.
MAX_VALUE
);
}
else
{
pageBean
=
new
Page
<>(
Integer
.
parseInt
(
pageNum
),
Integer
.
parseInt
(
pageSize
));
}
QueryWrapper
<
OrgUsr
>
queryWrapper
=
new
QueryWrapper
<
OrgUsr
>();
queryWrapper
.
allEq
(
columnMap
);
queryWrapper
.
orderByAsc
(
"sequence_nbr"
);
return
page
(
pageBean
,
queryWrapper
);
}
@Override
public
void
saveDepartment
(
List
<
OrgDepartmentDto
>
OrgDepartmentVo
,
Long
id
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgDepartmentVo
.
size
();
i
++)
{
// 导入部门信息的前提条件:单位信息已经存在
if
(
getById
(
id
)
!=
null
)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgDepartmentVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_DEPARTMENT
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgDepartmentVo
.
get
(
i
).
getDynamicFormValue
());
}
}
}
@Override
public
void
saveCompany
(
List
<
OrgUsrDto
>
OrgUsrVo
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgUsrVo
.
size
();
i
++)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgUsrVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgUsrVo
.
get
(
i
).
getDynamicFormValue
());
}
}
@Override
public
OrgPersonFormDto
selectPersonById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgPersonFormDto
orgPersonFormVo
=
new
OrgPersonFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgPersonFormVo
);
OrgUsr
parent
=
getById
(
orgUsr
.
getParentId
());
if
(!
ObjectUtils
.
isEmpty
(
parent
))
{
orgPersonFormVo
.
setParentName
(
parent
.
getBizOrgName
());
}
return
orgPersonFormVo
;
}
@Override
public
OrgPersonFormDto
selectPersonByIdDetail
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValueDetail
(
id
);
OrgPersonFormDto
orgPersonFormVo
=
new
OrgPersonFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgPersonFormVo
);
orgPersonFormVo
.
setParentName
(
getById
(
orgUsr
.
getParentId
()).
getBizOrgName
());
return
orgPersonFormVo
;
}
@Override
public
List
<
OrgMenuDto
>
selectPersonTree
()
throws
Exception
{
Map
<
String
,
Object
>
columnMap
=
new
HashMap
<>();
columnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
columnMap
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
Collection
<
OrgUsr
>
list
=
listByMap
(
columnMap
);
return
getTree
(
null
,
list
,
OrgUsr
.
class
.
getName
(),
"getSequenceNbr"
,
2
,
"getBizOrgName"
,
"getParentId"
,
"getBizOrgType"
);
}
@Override
public
void
savePersonList
(
List
<
OrgPersonDto
>
OrgPersonVo
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgPersonVo
.
size
();
i
++)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
get
(
i
).
getDynamicFormValue
());
}
}
@Override
public
void
saveOrgDepartment
(
OrgDepartmentDto
OrgDepartmentVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgDepartmentVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_DEPARTMENT
);
if
(
OrgDepartmentVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgDepartmentVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgDepartmentVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgDepartmentVo
.
getDynamicFormValue
());
}
@Override
public
void
updateByIdOrgDepartment
(
OrgDepartmentDto
OrgDepartmentVo
,
Long
id
)
throws
Exception
{
// 修改部门信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgDepartmentVo
,
orgUsr
);
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgDepartmentVo
.
getDynamicFormValue
());
}
@Override
public
OrgDepartmentFormDto
selectDepartmentById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgDepartmentFormDto
orgDepartmentFormVo
=
new
OrgDepartmentFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgDepartmentFormVo
);
return
orgDepartmentFormVo
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
selectForShowByListId
(
List
<
Long
>
ids
)
throws
Exception
{
List
<
Map
<
String
,
Object
>>
personResult
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
OrgUsr
orgUsr
=
getById
(
ids
.
get
(
i
));
Map
<
String
,
Object
>
result
=
selectForShowById
(
orgUsr
,
ids
.
get
(
i
));
personResult
.
add
(
result
);
}
return
personResult
;
}
@Override
public
List
<
CompanyDto
>
listContractDto
(
Integer
pageNum
,
Integer
pageSize
,
RequestData
requestData
)
{
if
(
null
==
pageNum
||
null
==
pageSize
)
{
pageNum
=
1
;
pageSize
=
Integer
.
MAX_VALUE
;
}
else
{
pageNum
=
(
pageNum
-
1
)
*
pageSize
;
}
return
orgUsrMapper
.
listContractDto
(
pageNum
,
pageSize
,
requestData
);
}
@Override
public
Integer
listContractDtoCount
(
RequestData
par
)
{
return
orgUsrMapper
.
listContractDtoCount
(
par
);
}
public
static
String
getOrgCodeStr
()
{
return
TreeParser
.
genTreeCode
();
}
public
void
importByExcel
(
List
<
OrgPersonExcelDto
>
list
)
{
list
.
forEach
(
item
->
{
OrgPersonDto
orgPersonDto
=
new
OrgPersonDto
();
orgPersonDto
=
Bean
.
toPo
(
item
,
orgPersonDto
);
List
<
DynamicFormInstance
>
alertFormValueList
=
new
ArrayList
<>();
if
(
item
.
getPersonNumber
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
102L
,
OrgPersonEnum
.
人员
.
getCode
(),
"员工编号"
,
"personNumber"
,
item
.
getPersonNumber
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificatesType
()
!=
null
)
{
String
certificatesType
=
item
.
getCertificatesType
();
String
[]
split
=
certificatesType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
23L
,
OrgPersonEnum
.
人员
.
getCode
(),
"证件类型"
,
"certificatesTypeCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getGender
()
!=
null
)
{
String
gender
=
item
.
getGender
();
String
[]
split
=
gender
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
22L
,
OrgPersonEnum
.
人员
.
getCode
(),
"性别"
,
"gender"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificatesNumber
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
100L
,
OrgPersonEnum
.
人员
.
getCode
(),
"证件号码"
,
"certificatesNumber"
,
item
.
getCertificatesNumber
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getTelephone
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
24L
,
OrgPersonEnum
.
人员
.
getCode
(),
"联系电话"
,
"telephone"
,
item
.
getTelephone
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getState
()
!=
null
)
{
String
state
=
item
.
getState
();
String
[]
split
=
state
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
25L
,
OrgPersonEnum
.
人员
.
getCode
(),
"人员状态"
,
"stateCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getSafetyTraining
()
!=
null
)
{
String
safetyTraining
=
item
.
getSafetyTraining
();
String
[]
split
=
safetyTraining
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
29L
,
OrgPersonEnum
.
人员
.
getCode
(),
"是否进行安全培训"
,
"safetyTraining"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getAdministrativePosition
()
!=
null
)
{
String
administrativePosition
=
item
.
getAdministrativePosition
();
String
[]
split
=
administrativePosition
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
28L
,
OrgPersonEnum
.
人员
.
getCode
(),
"行政职务"
,
"administrativePositionCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getInternalPosition
()
!=
null
)
{
String
internalPosition
=
item
.
getInternalPosition
();
String
[]
split
=
internalPosition
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
26L
,
OrgPersonEnum
.
人员
.
getCode
(),
"消防管理组织机构内部职务"
,
"internalPositionCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getFireManagementPost
()
!=
null
)
{
String
fireManagementPost
=
item
.
getFireManagementPost
();
String
[]
split
=
fireManagementPost
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
27L
,
OrgPersonEnum
.
人员
.
getCode
(),
"消防管理岗位"
,
"fireManagementPostCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getPositionType
()
!=
null
)
{
String
positionType
=
item
.
getPositionType
();
String
[]
split
=
positionType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
30L
,
OrgPersonEnum
.
人员
.
getCode
(),
"岗位类型"
,
"positionType"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificateType
()
!=
null
)
{
String
certificateType
=
item
.
getCertificateType
();
String
[]
split
=
certificateType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
31L
,
OrgPersonEnum
.
人员
.
getCode
(),
"持证类别"
,
"certificateType"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getHoldingTime
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
32L
,
OrgPersonEnum
.
人员
.
getCode
(),
"持证时间"
,
"holdingTime"
,
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
item
.
getHoldingTime
()),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getAuditCycle
()
!=
null
)
{
String
auditCycle
=
item
.
getAuditCycle
();
String
[]
split
=
auditCycle
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
33L
,
OrgPersonEnum
.
人员
.
getCode
(),
"审核周期"
,
"auditCycle"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getPersonImg
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
34L
,
OrgPersonEnum
.
人员
.
getCode
(),
"人员照片"
,
"personImg"
,
item
.
getPersonImg
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificateImg
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
101L
,
OrgPersonEnum
.
人员
.
getCode
(),
"重点工种资质证书"
,
"certificateImg"
,
item
.
getCertificateImg
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
try
{
orgPersonDto
.
setDynamicFormValue
(
alertFormValueList
);
this
.
saveOrgPerson
(
orgPersonDto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
}
public
List
<
OrgPersonExcelDto
>
queryOrgPersonDtoList
(
boolean
isDelete
)
{
List
<
OrgPersonExcelDto
>
excelOrgPersonDtoList
=
orgUsrMapper
.
queryOrgPersonDtoList
(
isDelete
);
return
excelOrgPersonDtoList
;
}
/**
* 根据id查询当前单位下的所有子单位、部门
*
* @param orgUserId
* @return
*/
public
List
<
OrgUsr
>
listOrgUserById
(
Long
orgUserId
)
{
return
this
.
baseMapper
.
listOrgUserById
(
orgUserId
);
}
public
List
<
CompanyPerson
>
returnCompanyPerson
(
List
<
Long
>
ids
)
{
if
(
ObjectUtils
.
isEmpty
(
ids
))
{
return
null
;
}
return
ids
.
stream
().
map
(
m
->
{
OrgUsr
org
=
getById
(
m
);
if
(
ObjectUtils
.
isEmpty
(
org
))
{
return
null
;
}
CompanyPerson
company
=
new
CompanyPerson
();
BeanUtils
.
copyProperties
(
org
,
company
);
company
.
setPersons
(
this
.
queryForListByParentIdAndOrgType
(
org
.
getSequenceNbr
(),
OrgPersonEnum
.
人员
.
getKey
()));
return
company
;
}).
filter
(
c
->
{
return
c
!=
null
;
}).
collect
(
Collectors
.
toList
());
}
public
List
<
OrgUsrDto
>
queryForListByParentIdAndOrgType
(
Long
parentId
,
String
bizOrgType
)
{
return
this
.
queryForList
(
null
,
false
,
parentId
,
bizOrgType
);
}
public
OrgUsrDto
getOrg
(
String
amosUserId
)
{
OrgUsrDto
person
=
queryForListByParentIdAndOrgType
(
amosUserId
);
if
(
ObjectUtils
.
isEmpty
(
person
))
{
return
null
;
}
return
this
.
queryBySeq
(
Long
.
valueOf
(
person
.
getParentId
()));
}
public
OrgUsrDto
queryForListByParentIdAndOrgType
(
String
amosOrgId
)
{
return
this
.
queryModelByParams
(
amosOrgId
);
}
@Override
public
List
<
OrgUsrzhDto
>
getOrgUsrzhDto
(
String
name
)
{
// TODO Auto-generated method stub
List
<
OrgUsrzhDto
>
list
=
orgUsrMapper
.
getOrgUsrzhDto
(
name
);
return
list
;
}
@Override
public
List
<
ESOrgUsrDto
>
selectByIddata
(
String
name
)
{
//获取所有单位
QueryWrapper
<
OrgUsr
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
in
(
"biz_org_type"
,
"DEPARTMENT"
,
"COMPANY"
);
wrapper
.
eq
(
"is_delete"
,
0
);
if
(
name
!=
null
&&!
""
.
equals
(
name
))
{
wrapper
.
like
(
"biz_org_name"
,
name
);
}
List
<
OrgUsr
>
list
=
this
.
list
(
wrapper
);
List
<
ESOrgUsrDto
>
lidataDtos
=
new
ArrayList
();
list
.
forEach
(
orgUsr
->{
ESOrgUsrDto
data
=
new
ESOrgUsrDto
();
data
.
setSequenceNbr
(
orgUsr
.
getSequenceNbr
());
data
.
setBizOrgName
(
orgUsr
.
getBizOrgName
());
lidataDtos
.
add
(
data
);
});
return
lidataDtos
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getparent
()
{
return
orgUsrMapper
.
getparent
();
}
@Override
public
List
<
OrgUsrExcelDto
>
exportToExcel
()
{
return
orgUsrMapper
.
exportToExcel
();
}
public
List
<
OrgUsr
>
getCompanyDetailTree
()
{
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<
OrgUsr
>();
wrapper
.
eq
(
OrgUsr:
:
getBizOrgType
,
"COMPANY"
);
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
return
this
.
baseMapper
.
selectList
(
wrapper
);
}
@Override
public
List
<
OrgMenuDto
>
companyUserTreeByUser
(
AgencyUserModel
user
)
{
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<
OrgUsr
>();
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
List
<
OrgUsr
>
companyDepartmentMsgList
=
this
.
baseMapper
.
selectList
(
wrapper
);
return
gettTreeByUser
(
user
,
companyDepartmentMsgList
);
}
@Override
public
List
<
OrgMenuDto
>
companyTreeByUser
(
AgencyUserModel
user
)
{
List
<
OrgUsr
>
companyDepartmentMsgList
=
selectCompanyDepartmentMsg
();
return
gettTreeByUser
(
user
,
companyDepartmentMsgList
);
};
@Override
public
List
<
OrgUsrTreeDto
>
companyListByUser
(
AgencyUserModel
user
)
{
List
<
OrgUsrTreeDto
>
list
=
new
ArrayList
<>();
// 需要角色为机场单位或管理员,其余角色返回空
String
code
=
UserRolesEnum
.
AIRPORTUNIT
.
getCode
();
String
codeAdmin
=
UserRolesEnum
.
ADMIN
.
getCode
();
String
roles
=
getRoles
(
user
,
code
);
if
(!
StringUtils
.
isEmpty
(
roles
))
{
List
<
OrgUsrTreeDto
>
companyList
=
this
.
baseMapper
.
getCompanyAndKeySite
(
null
);
if
(
roles
.
equals
(
codeAdmin
))
{
// 返回全部单位列表
return
companyAndKeySiteList
(
companyList
);
}
else
if
(
roles
.
equals
(
code
))
{
eSOrgUsrService
.
saveAlertCalledToES
(
orgUsr
);
}
@Override
public
void
updateByIdOrgPerson
(
OrgPersonDto
OrgPersonVo
,
Long
id
)
throws
Exception
{
// 修改人员信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgPersonVo
,
orgUsr
);
orgUsr
.
setSequenceNbr
(
id
);
if
(!
ObjectUtils
.
isEmpty
(
OrgPersonVo
.
getAmosOrgId
()))
{
AgencyUserModel
user
=
Privilege
.
agencyUserClient
.
queryByUserId
(
OrgPersonVo
.
getAmosOrgId
()).
getResult
();
oriOrgUsr
.
setAmosOrgCode
(
user
.
getRealName
());
oriOrgUsr
.
setAmosOrgId
(
user
.
getUserId
());
orgUsr
.
setAmosOrgCode
(
user
.
getRealName
());
orgUsr
.
setAmosOrgId
(
user
.
getUserId
());
}
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgPersonVo
.
getDynamicFormValue
());
}
@Override
public
OrgUsrFormDto
selectCompanyById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgUsrFormDto
orgUsrFormVo
=
new
OrgUsrFormDto
();
orgUsrFormVo
.
setDynamicFormAlert
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgUsrFormVo
);
return
orgUsrFormVo
;
}
@Override
public
IPage
<
OrgUsr
>
bizOrgTypeListPage
(
String
pageNum
,
String
pageSize
,
String
bizOrgType
)
throws
Exception
{
Map
<
String
,
Object
>
columnMap
=
new
HashMap
<>();
columnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
columnMap
.
put
(
"biz_org_type"
,
bizOrgType
);
Page
<
OrgUsr
>
pageBean
=
new
Page
<
OrgUsr
>();
if
(
StringUtils
.
isBlank
(
pageNum
)
||
StringUtils
.
isBlank
(
pageSize
))
{
pageBean
=
new
Page
<>(
0
,
Long
.
MAX_VALUE
);
}
else
{
pageBean
=
new
Page
<>(
Integer
.
parseInt
(
pageNum
),
Integer
.
parseInt
(
pageSize
));
}
QueryWrapper
<
OrgUsr
>
queryWrapper
=
new
QueryWrapper
<
OrgUsr
>();
queryWrapper
.
allEq
(
columnMap
);
queryWrapper
.
orderByAsc
(
"sequence_nbr"
);
return
page
(
pageBean
,
queryWrapper
);
}
@Override
public
void
saveDepartment
(
List
<
OrgDepartmentDto
>
OrgDepartmentVo
,
Long
id
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgDepartmentVo
.
size
();
i
++)
{
// 导入部门信息的前提条件:单位信息已经存在
if
(
getById
(
id
)
!=
null
)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgDepartmentVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_DEPARTMENT
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgDepartmentVo
.
get
(
i
).
getDynamicFormValue
());
}
}
}
@Override
public
void
saveCompany
(
List
<
OrgUsrDto
>
OrgUsrVo
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgUsrVo
.
size
();
i
++)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgUsrVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_COMPANY
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgUsrVo
.
get
(
i
).
getDynamicFormValue
());
}
}
@Override
public
OrgPersonFormDto
selectPersonById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgPersonFormDto
orgPersonFormVo
=
new
OrgPersonFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgPersonFormVo
);
OrgUsr
parent
=
getById
(
orgUsr
.
getParentId
());
if
(!
ObjectUtils
.
isEmpty
(
parent
))
{
orgPersonFormVo
.
setParentName
(
parent
.
getBizOrgName
());
}
return
orgPersonFormVo
;
}
@Override
public
OrgPersonFormDto
selectPersonByIdDetail
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValueDetail
(
id
);
OrgPersonFormDto
orgPersonFormVo
=
new
OrgPersonFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgPersonFormVo
);
orgPersonFormVo
.
setParentName
(
getById
(
orgUsr
.
getParentId
()).
getBizOrgName
());
return
orgPersonFormVo
;
}
@Override
public
List
<
OrgMenuDto
>
selectPersonTree
()
throws
Exception
{
Map
<
String
,
Object
>
columnMap
=
new
HashMap
<>();
columnMap
.
put
(
"is_delete"
,
CommonConstant
.
IS_DELETE_00
);
columnMap
.
put
(
"biz_org_type"
,
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
Collection
<
OrgUsr
>
list
=
listByMap
(
columnMap
);
return
getTree
(
null
,
list
,
OrgUsr
.
class
.
getName
(),
"getSequenceNbr"
,
2
,
"getBizOrgName"
,
"getParentId"
,
"getBizOrgType"
);
}
@Override
public
void
savePersonList
(
List
<
OrgPersonDto
>
OrgPersonVo
)
throws
Exception
{
for
(
int
i
=
0
;
i
<
OrgPersonVo
.
size
();
i
++)
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgPersonVo
.
get
(
i
),
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_PERSON
);
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgPersonVo
.
get
(
i
).
getDynamicFormValue
());
}
}
@Override
public
void
saveOrgDepartment
(
OrgDepartmentDto
OrgDepartmentVo
)
throws
Exception
{
OrgUsr
orgUsr
=
new
OrgUsr
();
BeanUtils
.
copyProperties
(
OrgDepartmentVo
,
orgUsr
);
orgUsr
.
setBizOrgType
(
CommonConstant
.
BIZ_ORG_TYPE_DEPARTMENT
);
if
(
OrgDepartmentVo
.
getParentId
()
!=
null
)
{
OrgUsr
parent
=
getById
(
OrgDepartmentVo
.
getParentId
());
if
(
parent
!=
null
&&
ObjectUtils
.
isEmpty
(
OrgDepartmentVo
.
getBizOrgCode
()))
{
orgUsr
.
setBizOrgCode
(
parent
.
getBizOrgCode
()
+
getOrgCodeStr
());
}
}
else
{
orgUsr
.
setBizOrgCode
(
getOrgCodeStr
());
}
saveOrgUsrDynamicFormInstance
(
orgUsr
,
OrgDepartmentVo
.
getDynamicFormValue
());
}
@Override
public
void
updateByIdOrgDepartment
(
OrgDepartmentDto
OrgDepartmentVo
,
Long
id
)
throws
Exception
{
// 修改部门信息
OrgUsr
orgUsr
=
new
OrgUsr
();
OrgUsr
oriOrgUsr
=
getById
(
id
);
BeanUtils
.
copyProperties
(
OrgDepartmentVo
,
orgUsr
);
saveOrgUsr
(
orgUsr
,
oriOrgUsr
);
// 保存动态表单数据
updateDynamicFormInstance
(
orgUsr
.
getSequenceNbr
(),
OrgDepartmentVo
.
getDynamicFormValue
());
}
@Override
public
OrgDepartmentFormDto
selectDepartmentById
(
Long
id
)
throws
Exception
{
OrgUsr
orgUsr
=
getById
(
id
);
// 动态表单数据
List
<
FormValue
>
formValue
=
getFormValue
(
id
);
OrgDepartmentFormDto
orgDepartmentFormVo
=
new
OrgDepartmentFormDto
(
formValue
);
BeanUtils
.
copyProperties
(
orgUsr
,
orgDepartmentFormVo
);
return
orgDepartmentFormVo
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
selectForShowByListId
(
List
<
Long
>
ids
)
throws
Exception
{
List
<
Map
<
String
,
Object
>>
personResult
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
OrgUsr
orgUsr
=
getById
(
ids
.
get
(
i
));
Map
<
String
,
Object
>
result
=
selectForShowById
(
orgUsr
,
ids
.
get
(
i
));
personResult
.
add
(
result
);
}
return
personResult
;
}
@Override
public
List
<
CompanyDto
>
listContractDto
(
Integer
pageNum
,
Integer
pageSize
,
RequestData
requestData
)
{
if
(
null
==
pageNum
||
null
==
pageSize
)
{
pageNum
=
1
;
pageSize
=
Integer
.
MAX_VALUE
;
}
else
{
pageNum
=
(
pageNum
-
1
)
*
pageSize
;
}
return
orgUsrMapper
.
listContractDto
(
pageNum
,
pageSize
,
requestData
);
}
@Override
public
Integer
listContractDtoCount
(
RequestData
par
)
{
return
orgUsrMapper
.
listContractDtoCount
(
par
);
}
public
static
String
getOrgCodeStr
()
{
return
TreeParser
.
genTreeCode
();
}
public
void
importByExcel
(
List
<
OrgPersonExcelDto
>
list
)
{
list
.
forEach
(
item
->
{
OrgPersonDto
orgPersonDto
=
new
OrgPersonDto
();
orgPersonDto
=
Bean
.
toPo
(
item
,
orgPersonDto
);
List
<
DynamicFormInstance
>
alertFormValueList
=
new
ArrayList
<>();
if
(
item
.
getPersonNumber
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
102L
,
OrgPersonEnum
.
人员
.
getCode
(),
"员工编号"
,
"personNumber"
,
item
.
getPersonNumber
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificatesType
()
!=
null
)
{
String
certificatesType
=
item
.
getCertificatesType
();
String
[]
split
=
certificatesType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
23L
,
OrgPersonEnum
.
人员
.
getCode
(),
"证件类型"
,
"certificatesTypeCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getGender
()
!=
null
)
{
String
gender
=
item
.
getGender
();
String
[]
split
=
gender
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
22L
,
OrgPersonEnum
.
人员
.
getCode
(),
"性别"
,
"gender"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificatesNumber
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
100L
,
OrgPersonEnum
.
人员
.
getCode
(),
"证件号码"
,
"certificatesNumber"
,
item
.
getCertificatesNumber
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getTelephone
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
24L
,
OrgPersonEnum
.
人员
.
getCode
(),
"联系电话"
,
"telephone"
,
item
.
getTelephone
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getState
()
!=
null
)
{
String
state
=
item
.
getState
();
String
[]
split
=
state
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
25L
,
OrgPersonEnum
.
人员
.
getCode
(),
"人员状态"
,
"stateCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getSafetyTraining
()
!=
null
)
{
String
safetyTraining
=
item
.
getSafetyTraining
();
String
[]
split
=
safetyTraining
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
29L
,
OrgPersonEnum
.
人员
.
getCode
(),
"是否进行安全培训"
,
"safetyTraining"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getAdministrativePosition
()
!=
null
)
{
String
administrativePosition
=
item
.
getAdministrativePosition
();
String
[]
split
=
administrativePosition
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
28L
,
OrgPersonEnum
.
人员
.
getCode
(),
"行政职务"
,
"administrativePositionCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getInternalPosition
()
!=
null
)
{
String
internalPosition
=
item
.
getInternalPosition
();
String
[]
split
=
internalPosition
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
26L
,
OrgPersonEnum
.
人员
.
getCode
(),
"消防管理组织机构内部职务"
,
"internalPositionCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getFireManagementPost
()
!=
null
)
{
String
fireManagementPost
=
item
.
getFireManagementPost
();
String
[]
split
=
fireManagementPost
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
27L
,
OrgPersonEnum
.
人员
.
getCode
(),
"消防管理岗位"
,
"fireManagementPostCode"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getPositionType
()
!=
null
)
{
String
positionType
=
item
.
getPositionType
();
String
[]
split
=
positionType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
30L
,
OrgPersonEnum
.
人员
.
getCode
(),
"岗位类型"
,
"positionType"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificateType
()
!=
null
)
{
String
certificateType
=
item
.
getCertificateType
();
String
[]
split
=
certificateType
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
31L
,
OrgPersonEnum
.
人员
.
getCode
(),
"持证类别"
,
"certificateType"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getHoldingTime
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
32L
,
OrgPersonEnum
.
人员
.
getCode
(),
"持证时间"
,
"holdingTime"
,
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
item
.
getHoldingTime
()),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getAuditCycle
()
!=
null
)
{
String
auditCycle
=
item
.
getAuditCycle
();
String
[]
split
=
auditCycle
.
split
(
"@"
);
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
33L
,
OrgPersonEnum
.
人员
.
getCode
(),
"审核周期"
,
"auditCycle"
,
split
[
0
],
split
[
1
],
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getPersonImg
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
34L
,
OrgPersonEnum
.
人员
.
getCode
(),
"人员照片"
,
"personImg"
,
item
.
getPersonImg
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
if
(
item
.
getCertificateImg
()
!=
null
)
{
DynamicFormInstance
alertFormValue
=
new
DynamicFormInstance
(
101L
,
OrgPersonEnum
.
人员
.
getCode
(),
"重点工种资质证书"
,
"certificateImg"
,
item
.
getCertificateImg
(),
null
,
false
);
alertFormValueList
.
add
(
alertFormValue
);
}
try
{
orgPersonDto
.
setDynamicFormValue
(
alertFormValueList
);
this
.
saveOrgPerson
(
orgPersonDto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
}
public
List
<
OrgPersonExcelDto
>
queryOrgPersonDtoList
(
boolean
isDelete
)
{
List
<
OrgPersonExcelDto
>
excelOrgPersonDtoList
=
orgUsrMapper
.
queryOrgPersonDtoList
(
isDelete
);
return
excelOrgPersonDtoList
;
}
/**
* 根据id查询当前单位下的所有子单位、部门
*
* @param orgUserId
* @return
*/
public
List
<
OrgUsr
>
listOrgUserById
(
Long
orgUserId
)
{
return
this
.
baseMapper
.
listOrgUserById
(
orgUserId
);
}
public
List
<
CompanyPerson
>
returnCompanyPerson
(
List
<
Long
>
ids
)
{
if
(
ObjectUtils
.
isEmpty
(
ids
))
{
return
null
;
}
return
ids
.
stream
().
map
(
m
->
{
OrgUsr
org
=
getById
(
m
);
if
(
ObjectUtils
.
isEmpty
(
org
))
{
return
null
;
}
CompanyPerson
company
=
new
CompanyPerson
();
BeanUtils
.
copyProperties
(
org
,
company
);
company
.
setPersons
(
this
.
queryForListByParentIdAndOrgType
(
org
.
getSequenceNbr
(),
OrgPersonEnum
.
人员
.
getKey
()));
return
company
;
}).
filter
(
c
->
{
return
c
!=
null
;
}).
collect
(
Collectors
.
toList
());
}
public
List
<
OrgUsrDto
>
queryForListByParentIdAndOrgType
(
Long
parentId
,
String
bizOrgType
)
{
return
this
.
queryForList
(
null
,
false
,
parentId
,
bizOrgType
);
}
public
OrgUsrDto
getOrg
(
String
amosUserId
)
{
OrgUsrDto
person
=
queryForListByParentIdAndOrgType
(
amosUserId
);
if
(
ObjectUtils
.
isEmpty
(
person
))
{
return
null
;
}
return
this
.
queryBySeq
(
Long
.
valueOf
(
person
.
getParentId
()));
}
public
OrgUsrDto
queryForListByParentIdAndOrgType
(
String
amosOrgId
)
{
return
this
.
queryModelByParams
(
amosOrgId
);
}
@Override
public
List
<
OrgUsrzhDto
>
getOrgUsrzhDto
(
String
name
)
{
// TODO Auto-generated method stub
List
<
OrgUsrzhDto
>
list
=
orgUsrMapper
.
getOrgUsrzhDto
(
name
);
return
list
;
}
@Override
public
List
<
ESOrgUsrDto
>
selectByIddata
(
String
name
)
{
//获取所有单位
QueryWrapper
<
OrgUsr
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
in
(
"biz_org_type"
,
"DEPARTMENT"
,
"COMPANY"
);
wrapper
.
eq
(
"is_delete"
,
0
);
if
(
name
!=
null
&&
!
""
.
equals
(
name
))
{
wrapper
.
like
(
"biz_org_name"
,
name
);
}
List
<
OrgUsr
>
list
=
this
.
list
(
wrapper
);
List
<
ESOrgUsrDto
>
lidataDtos
=
new
ArrayList
();
list
.
forEach
(
orgUsr
->
{
ESOrgUsrDto
data
=
new
ESOrgUsrDto
();
data
.
setSequenceNbr
(
orgUsr
.
getSequenceNbr
());
data
.
setBizOrgName
(
orgUsr
.
getBizOrgName
());
lidataDtos
.
add
(
data
);
});
return
lidataDtos
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
getparent
()
{
return
orgUsrMapper
.
getparent
();
}
@Override
public
List
<
OrgUsrExcelDto
>
exportToExcel
()
{
return
orgUsrMapper
.
exportToExcel
();
}
@Override
public
UserUnitDto
getUserUnit
(
String
id
,
String
type
,
String
code
)
{
// 业主单位
List
<
UserUnitDto
>
list
=
orgUsrMapper
.
getUserUnit
(
id
,
type
,
null
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
if
(
list
.
size
()
==
1
)
{
UserUnitDto
userUnitDto
=
list
.
get
(
0
);
String
companyId
=
userUnitDto
.
getCompanyId
();
if
(
StringUtils
.
isNotBlank
(
companyId
)
&&
StringUtils
.
isNotBlank
(
code
))
{
List
<
UserUnitDto
>
dtoList
=
orgUsrMapper
.
getUserUnit
(
null
,
code
,
companyId
);
if
(!
CollectionUtils
.
isEmpty
(
dtoList
))
{
userUnitDto
.
setCompanyId
(
dtoList
.
get
(
0
).
getPersonSeq
());
return
userUnitDto
;
}
throw
new
RuntimeException
(
"未获取人员业主单位!"
);
}
}
throw
new
RuntimeException
(
"人员绑定业主单位不唯一!"
);
}
throw
new
RuntimeException
(
"人员未绑定任何单位!"
);
}
public
List
<
OrgUsr
>
getCompanyDetailTree
()
{
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<
OrgUsr
>();
wrapper
.
eq
(
OrgUsr:
:
getBizOrgType
,
"COMPANY"
);
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
return
this
.
baseMapper
.
selectList
(
wrapper
);
}
@Override
public
List
<
OrgMenuDto
>
companyUserTreeByUser
(
AgencyUserModel
user
)
{
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<
OrgUsr
>();
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
List
<
OrgUsr
>
companyDepartmentMsgList
=
this
.
baseMapper
.
selectList
(
wrapper
);
return
gettTreeByUser
(
user
,
companyDepartmentMsgList
);
}
@Override
public
List
<
OrgMenuDto
>
companyTreeByUser
(
AgencyUserModel
user
)
{
List
<
OrgUsr
>
companyDepartmentMsgList
=
selectCompanyDepartmentMsg
();
return
gettTreeByUser
(
user
,
companyDepartmentMsgList
);
}
;
@Override
public
List
<
OrgUsrTreeDto
>
companyListByUser
(
AgencyUserModel
user
)
{
List
<
OrgUsrTreeDto
>
list
=
new
ArrayList
<>();
// 需要角色为机场单位或管理员,其余角色返回空
String
code
=
UserRolesEnum
.
AIRPORTUNIT
.
getCode
();
String
codeAdmin
=
UserRolesEnum
.
ADMIN
.
getCode
();
String
roles
=
getRoles
(
user
,
code
);
if
(!
StringUtils
.
isEmpty
(
roles
))
{
List
<
OrgUsrTreeDto
>
companyList
=
this
.
baseMapper
.
getCompanyAndKeySite
(
null
);
if
(
roles
.
equals
(
codeAdmin
))
{
// 返回全部单位列表
return
companyAndKeySiteList
(
companyList
);
}
else
if
(
roles
.
equals
(
code
))
{
// } else {
// 人员与多个部门/公司关联
List
<
OrgUsr
>
orgUsrList
=
orgUsrList
(
user
);
if
(
ObjectUtils
.
isEmpty
(
orgUsrList
))
{
return
list
;
}
Set
<
Long
>
set
=
new
HashSet
<>();
orgUsrList
.
forEach
(
orgUsr
->
{
Long
parent
=
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
())
?
0L
:
Long
.
parseLong
(
orgUsr
.
getParentId
());
if
(
set
.
add
(
parent
))
{
Long
companyIdByDto
=
getCompanyIdByDto
(
parent
,
companyList
);
List
<
OrgUsrTreeDto
>
orgUsrTreeDtoList
=
this
.
baseMapper
.
getCompanyAndKeySite
(
companyIdByDto
);
list
.
addAll
(
companyAndKeySiteList
(
orgUsrTreeDtoList
));
}
});
// 返回所在用户单位列表
return
list
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
return
list
;
}
/**
*
获取登陆人所在公司
*/
private
Long
getCompanyIdByDto
(
Long
parentId
,
List
<
OrgUsrTreeDto
>
companyDepartmentMsgList
)
{
Long
pid
=
null
;
for
(
OrgUsrTreeDto
orgUsr
:
companyDepartmentMsgList
)
{
if
(
orgUsr
.
getSequenceNbr
().
equals
(
parentId
))
{
if
(
orgUsr
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
())
&&
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
()))
{
return
orgUsr
.
getSequenceNbr
();
}
else
{
pid
=
getCompanyIdByDto
(
Long
.
parseLong
(
orgUsr
.
getParentId
()),
companyDepartmentMsgList
);
}
}
}
return
pid
;
}
/**
* 查询单位列表
*/
private
List
<
OrgUsrTreeDto
>
companyAndKeySiteList
(
List
<
OrgUsrTreeDto
>
companyList
)
{
List
<
OrgUsrTreeDto
>
list
=
new
ArrayList
<>();
if
(
ObjectUtils
.
isEmpty
(
companyList
))
{
return
list
;
}
Map
<
Long
,
OrgUsrTreeDto
>
map
=
new
HashMap
<>(
companyList
.
size
());
companyList
.
forEach
(
e
->
map
.
put
(
e
.
getSequenceNbr
(),
e
));
Set
<?
extends
Map
.
Entry
<
Long
,
?
extends
OrgUsrTreeDto
>>
entries
=
map
.
entrySet
();
entries
.
parallelStream
().
forEach
(
entry
->
{
OrgUsrTreeDto
value
=
entry
.
getValue
();
if
(!
ObjectUtils
.
isEmpty
(
value
))
{
Long
parent
=
ObjectUtils
.
isEmpty
(
value
.
getParentId
())
?
0L
:
Long
.
parseLong
(
value
.
getParentId
());
OrgUsrTreeDto
orgUsrTreeDto
=
map
.
get
(
parent
);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrTreeDto
))
{
int
num
=
orgUsrTreeDto
.
getNum
()
+
value
.
getNum
();
orgUsrTreeDto
.
setNum
(
num
);
}
else
{
if
(
value
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
()))
{
list
.
add
(
value
);
}
}
}
});
return
list
;
}
/**
* 获取树
*/
private
List
<
OrgMenuDto
>
gettTreeByUser
(
AgencyUserModel
user
,
List
<
OrgUsr
>
list
)
{
List
<
OrgMenuDto
>
treeList
=
new
ArrayList
<>();
// 需要角色为机场单位或管理员,其余角色返回空
String
code
=
UserRolesEnum
.
AIRPORTUNIT
.
getCode
();
String
codeAdmin
=
UserRolesEnum
.
ADMIN
.
getCode
();
String
roles
=
getRoles
(
user
,
code
);
if
(!
StringUtils
.
isEmpty
(
roles
))
{
// 人员与多个部门/公司关联
List
<
OrgUsr
>
orgUsrList
=
orgUsrList
(
user
);
if
(
ObjectUtils
.
isEmpty
(
orgUsrList
))
{
return
list
;
}
Set
<
Long
>
set
=
new
HashSet
<>();
orgUsrList
.
forEach
(
orgUsr
->
{
Long
parent
=
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
())
?
0L
:
Long
.
parseLong
(
orgUsr
.
getParentId
());
if
(
set
.
add
(
parent
))
{
Long
companyIdByDto
=
getCompanyIdByDto
(
parent
,
companyList
);
List
<
OrgUsrTreeDto
>
orgUsrTreeDtoList
=
this
.
baseMapper
.
getCompanyAndKeySite
(
companyIdByDto
);
list
.
addAll
(
companyAndKeySiteList
(
orgUsrTreeDtoList
));
}
});
// 返回所在用户单位列表
return
list
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
}
return
list
;
}
/**
*
获取登陆人所在公司
*/
private
Long
getCompanyIdByDto
(
Long
parentId
,
List
<
OrgUsrTreeDto
>
companyDepartmentMsgList
)
{
Long
pid
=
null
;
for
(
OrgUsrTreeDto
orgUsr
:
companyDepartmentMsgList
)
{
if
(
orgUsr
.
getSequenceNbr
().
equals
(
parentId
))
{
if
(
orgUsr
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
())
&&
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
()))
{
return
orgUsr
.
getSequenceNbr
();
}
else
{
pid
=
getCompanyIdByDto
(
Long
.
parseLong
(
orgUsr
.
getParentId
()),
companyDepartmentMsgList
);
}
}
}
return
pid
;
}
/**
* 查询单位列表
*/
private
List
<
OrgUsrTreeDto
>
companyAndKeySiteList
(
List
<
OrgUsrTreeDto
>
companyList
)
{
List
<
OrgUsrTreeDto
>
list
=
new
ArrayList
<>();
if
(
ObjectUtils
.
isEmpty
(
companyList
))
{
return
list
;
}
Map
<
Long
,
OrgUsrTreeDto
>
map
=
new
HashMap
<>(
companyList
.
size
());
companyList
.
forEach
(
e
->
map
.
put
(
e
.
getSequenceNbr
(),
e
));
Set
<?
extends
Map
.
Entry
<
Long
,
?
extends
OrgUsrTreeDto
>>
entries
=
map
.
entrySet
();
entries
.
parallelStream
().
forEach
(
entry
->
{
OrgUsrTreeDto
value
=
entry
.
getValue
();
if
(!
ObjectUtils
.
isEmpty
(
value
))
{
Long
parent
=
ObjectUtils
.
isEmpty
(
value
.
getParentId
())
?
0L
:
Long
.
parseLong
(
value
.
getParentId
());
OrgUsrTreeDto
orgUsrTreeDto
=
map
.
get
(
parent
);
if
(!
ObjectUtils
.
isEmpty
(
orgUsrTreeDto
))
{
int
num
=
orgUsrTreeDto
.
getNum
()
+
value
.
getNum
();
orgUsrTreeDto
.
setNum
(
num
);
}
else
{
if
(
value
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
()))
{
list
.
add
(
value
);
}
}
}
});
return
list
;
}
/**
* 获取树
*/
private
List
<
OrgMenuDto
>
gettTreeByUser
(
AgencyUserModel
user
,
List
<
OrgUsr
>
list
)
{
List
<
OrgMenuDto
>
treeList
=
new
ArrayList
<>();
// 需要角色为机场单位或管理员,其余角色返回空
String
code
=
UserRolesEnum
.
AIRPORTUNIT
.
getCode
();
String
codeAdmin
=
UserRolesEnum
.
ADMIN
.
getCode
();
String
roles
=
getRoles
(
user
,
code
);
if
(!
StringUtils
.
isEmpty
(
roles
))
{
// treeList = getDepartmentTreeByUser(user,list);
if
(
roles
.
equals
(
codeAdmin
))
{
// 返回全量树
treeList
=
buildTreeParallel
(
list
);
}
else
if
(
roles
.
equals
(
code
))
{
// 获取当前用户所在部门树
treeList
=
getDepartmentTreeByUser
(
user
,
list
);
}
}
return
treeList
;
}
/**
* 根基登陆人获取指定角色/最高角色,默认最高角色
*/
private
String
getRoles
(
AgencyUserModel
user
,
String
code
)
{
String
type
=
null
;
Map
<
Long
,
List
<
RoleModel
>>
orgRolesMap
=
user
.
getOrgRoles
();
if
(
ObjectUtils
.
isEmpty
(
orgRolesMap
))
{
return
null
;
}
for
(
Long
key
:
orgRolesMap
.
keySet
())
{
if
(!
ObjectUtils
.
isEmpty
(
orgRolesMap
.
get
(
key
)))
{
for
(
RoleModel
roleModel
:
orgRolesMap
.
get
(
key
))
{
String
roleType
=
roleModel
.
getRoleType
();
if
(
roleType
.
equals
(
code
))
{
type
=
code
;
}
if
(
roleType
.
equals
(
UserRolesEnum
.
ADMIN
.
getCode
()))
{
return
roleType
;
}
}
}
}
return
type
;
}
/**
* 获取当前用户所在部门/用户树
*/
private
List
<
OrgMenuDto
>
getDepartmentTreeByUser
(
AgencyUserModel
user
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
List
<
OrgMenuDto
>
list
=
new
ArrayList
<>();
if
(
ObjectUtils
.
isEmpty
(
companyDepartmentMsgList
))
{
return
list
;
}
// 1.获取当前登陆用户关联人员
List
<
OrgUsr
>
orgUsrList
=
orgUsrList
(
user
);
if
(
ObjectUtils
.
isEmpty
(
orgUsrList
))
{
return
list
;
}
// 2.查询人员所属部门
List
<
OrgMenuDto
>
treeList
=
buildTreeParallel
(
companyDepartmentMsgList
);
Set
<
Long
>
set
=
new
HashSet
<>();
orgUsrList
.
forEach
(
orgUsr
->
{
Long
parentId
=
Long
.
parseLong
(
orgUsr
.
getParentId
());
getTreeChildre
(
list
,
treeList
,
parentId
,
set
,
companyDepartmentMsgList
);
});
return
list
;
}
/**
* 获取登陆人关联账号
*/
private
List
<
OrgUsr
>
orgUsrList
(
AgencyUserModel
user
)
{
String
userId
=
user
.
getUserId
();
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
wrapper
.
eq
(
OrgUsr:
:
getAmosOrgId
,
userId
);
wrapper
.
eq
(
OrgUsr:
:
getBizOrgType
,
OrgPersonEnum
.
人员
.
getKey
());
List
<
OrgUsr
>
orgUsrList
=
this
.
baseMapper
.
selectList
(
wrapper
);
return
orgUsrList
;
}
/**
* 组装树
*/
private
void
getTreeChildre
(
List
<
OrgMenuDto
>
list
,
List
<
OrgMenuDto
>
treeList
,
Long
parentId
,
Set
<
Long
>
set
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
if
(
ObjectUtils
.
isEmpty
(
treeList
)
&&
ObjectUtils
.
isEmpty
(
companyDepartmentMsgList
))
{
return
;
}
// 获取登陆人所在公司
Long
pid
=
getCompanyId
(
parentId
,
companyDepartmentMsgList
);
if
(
set
.
add
(
pid
))
{
List
<
OrgMenuDto
>
list1
=
treeList
.
stream
().
filter
(
orgMenuDto
->
orgMenuDto
.
getKey
().
equals
(
pid
)).
collect
(
Collectors
.
toList
());
list
.
addAll
(
list1
);
}
}
/**
*
获取登陆人所在公司
*/
private
Long
getCompanyId
(
Long
parentId
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
Long
pid
=
null
;
for
(
OrgUsr
orgUsr
:
companyDepartmentMsgList
)
{
if
(
orgUsr
.
getSequenceNbr
().
equals
(
parentId
))
{
if
(
orgUsr
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
())
&&
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
()))
{
return
orgUsr
.
getSequenceNbr
();
}
else
{
pid
=
getCompanyId
(
Long
.
parseLong
(
orgUsr
.
getParentId
()),
companyDepartmentMsgList
);
}
}
}
return
pid
;
}
if
(
roles
.
equals
(
codeAdmin
))
{
// 返回全量树
treeList
=
buildTreeParallel
(
list
);
}
else
if
(
roles
.
equals
(
code
))
{
// 获取当前用户所在部门树
treeList
=
getDepartmentTreeByUser
(
user
,
list
);
}
}
return
treeList
;
}
/**
* 根基登陆人获取指定角色/最高角色,默认最高角色
*/
private
String
getRoles
(
AgencyUserModel
user
,
String
code
)
{
String
type
=
null
;
Map
<
Long
,
List
<
RoleModel
>>
orgRolesMap
=
user
.
getOrgRoles
();
if
(
ObjectUtils
.
isEmpty
(
orgRolesMap
))
{
return
null
;
}
for
(
Long
key
:
orgRolesMap
.
keySet
())
{
if
(!
ObjectUtils
.
isEmpty
(
orgRolesMap
.
get
(
key
)))
{
for
(
RoleModel
roleModel
:
orgRolesMap
.
get
(
key
))
{
String
roleType
=
roleModel
.
getRoleType
();
if
(
roleType
.
equals
(
code
))
{
type
=
code
;
}
if
(
roleType
.
equals
(
UserRolesEnum
.
ADMIN
.
getCode
()))
{
return
roleType
;
}
}
}
}
return
type
;
}
/**
* 获取当前用户所在部门/用户树
*/
private
List
<
OrgMenuDto
>
getDepartmentTreeByUser
(
AgencyUserModel
user
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
List
<
OrgMenuDto
>
list
=
new
ArrayList
<>();
if
(
ObjectUtils
.
isEmpty
(
companyDepartmentMsgList
))
{
return
list
;
}
// 1.获取当前登陆用户关联人员
List
<
OrgUsr
>
orgUsrList
=
orgUsrList
(
user
);
if
(
ObjectUtils
.
isEmpty
(
orgUsrList
))
{
return
list
;
}
// 2.查询人员所属部门
List
<
OrgMenuDto
>
treeList
=
buildTreeParallel
(
companyDepartmentMsgList
);
Set
<
Long
>
set
=
new
HashSet
<>();
orgUsrList
.
forEach
(
orgUsr
->
{
Long
parentId
=
Long
.
parseLong
(
orgUsr
.
getParentId
());
getTreeChildre
(
list
,
treeList
,
parentId
,
set
,
companyDepartmentMsgList
);
});
return
list
;
}
/**
* 获取登陆人关联账号
*/
private
List
<
OrgUsr
>
orgUsrList
(
AgencyUserModel
user
)
{
String
userId
=
user
.
getUserId
();
LambdaQueryWrapper
<
OrgUsr
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
OrgUsr:
:
getIsDelete
,
false
);
wrapper
.
eq
(
OrgUsr:
:
getAmosOrgId
,
userId
);
wrapper
.
eq
(
OrgUsr:
:
getBizOrgType
,
OrgPersonEnum
.
人员
.
getKey
());
List
<
OrgUsr
>
orgUsrList
=
this
.
baseMapper
.
selectList
(
wrapper
);
return
orgUsrList
;
}
/**
* 组装树
*/
private
void
getTreeChildre
(
List
<
OrgMenuDto
>
list
,
List
<
OrgMenuDto
>
treeList
,
Long
parentId
,
Set
<
Long
>
set
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
if
(
ObjectUtils
.
isEmpty
(
treeList
)
&&
ObjectUtils
.
isEmpty
(
companyDepartmentMsgList
))
{
return
;
}
// 获取登陆人所在公司
Long
pid
=
getCompanyId
(
parentId
,
companyDepartmentMsgList
);
if
(
set
.
add
(
pid
))
{
List
<
OrgMenuDto
>
list1
=
treeList
.
stream
().
filter
(
orgMenuDto
->
orgMenuDto
.
getKey
().
equals
(
pid
)).
collect
(
Collectors
.
toList
());
list
.
addAll
(
list1
);
}
}
/**
*
获取登陆人所在公司
*/
private
Long
getCompanyId
(
Long
parentId
,
List
<
OrgUsr
>
companyDepartmentMsgList
)
{
Long
pid
=
null
;
for
(
OrgUsr
orgUsr
:
companyDepartmentMsgList
)
{
if
(
orgUsr
.
getSequenceNbr
().
equals
(
parentId
))
{
if
(
orgUsr
.
getBizOrgType
().
equals
(
OrgPersonEnum
.
公司
.
getKey
())
&&
ObjectUtils
.
isEmpty
(
orgUsr
.
getParentId
()))
{
return
orgUsr
.
getSequenceNbr
();
}
else
{
pid
=
getCompanyId
(
Long
.
parseLong
(
orgUsr
.
getParentId
()),
companyDepartmentMsgList
);
}
}
}
return
pid
;
}
}
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