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
6ee83ea4
Commit
6ee83ea4
authored
Dec 30, 2024
by
麻笑宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计新增人员详情查询接口
parent
818162fe
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
576 additions
and
0 deletions
+576
-0
TzsUserInfo.java
...n/amos/boot/module/statistics/api/entity/TzsUserInfo.java
+198
-0
UserInfoMapper.java
...mos/boot/module/statistics/api/mapper/UserInfoMapper.java
+8
-0
UserPermissionMapper.java
...ot/module/statistics/api/mapper/UserPermissionMapper.java
+14
-0
TzsUserInfoVo.java
...oin/amos/boot/module/statistics/api/vo/TzsUserInfoVo.java
+159
-0
UserInfoMapper.xml
...atistics-api/src/main/resources/mapper/UserInfoMapper.xml
+7
-0
UserPermissionMapper.xml
...cs-api/src/main/resources/mapper/UserPermissionMapper.xml
+5
-0
UserBizController.java
...ot/module/statistcs/biz/controller/UserBizController.java
+34
-0
UserBizByTCMServiceImpl.java
...e/statistcs/biz/service/impl/UserBizByTCMServiceImpl.java
+151
-0
No files found.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/entity/TzsUserInfo.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* 用户信息表
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_user_info"
)
public
class
TzsUserInfo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 姓名
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 证件类型
*/
@TableField
(
"certificate_type"
)
private
String
certificateType
;
/**
* 证件编号
*/
@TableField
(
"certificate_num"
)
private
String
certificateNum
;
/**
* 性别
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 岗位-保留兼容下游数据查询
*/
@TableField
(
"post"
)
private
String
post
;
/**
* 新岗位(后期post迁移数组至此)
*/
@TableField
(
"new_post"
)
private
String
newPost
;
/**
* 岗位名称-按照new_post显示
*/
@TableField
(
"post_name"
)
private
String
postName
;
/**
* 联系电话
*/
@TableField
(
"phone"
)
private
String
phone
;
/**
* 出生日期
*/
@TableField
(
"birthday"
)
private
Date
birthday
;
/**
* 学历
*/
@TableField
(
"education"
)
private
String
education
;
/**
* 专业
*/
@TableField
(
"speciality"
)
private
String
speciality
;
/**
* 邮箱
*/
@TableField
(
"email"
)
private
String
email
;
/**
* 住址
*/
@TableField
(
"address"
)
private
String
address
;
/**
* 证件照片
*/
@TableField
(
value
=
"identification"
)
private
String
identification
;
/**
* 证件照片
*
*/
@TableField
(
value
=
"appoint_doc"
)
private
String
appointDoc
;
/**
* 账户名
*/
@TableField
(
"amos_user_name"
)
private
String
amosUserName
;
/**
* 单位名称
*/
@TableField
(
"unit_name"
)
private
String
unitName
;
/**
* 企业编码
*/
@TableField
(
"unit_code"
)
private
String
unitCode
;
/**
* 头像
*/
@TableField
(
value
=
"profile"
)
private
String
profile
;
/**
* 平台账号id
*/
@TableField
(
"amos_user_id"
)
private
String
amosUserId
;
/**
* 平台账号锁定状态
*/
@TableField
(
"lock_status"
)
private
String
lockStatus
;
/**
* 设备类型
*/
@TableField
(
value
=
"equip_type"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
equipType
;
/**
* 内部人员编码
*/
@TableField
(
"inner_person_code"
)
private
String
innerPersonCode
;
/**
* 其他附件
*/
@TableField
(
value
=
"other_accessories"
)
private
String
otherAccessories
;
/**
* 验检验专用-级别-废弃,被permissionData替代
*/
@Deprecated
@TableField
(
value
=
"permission_level"
)
private
String
permissionLevel
;
/**
* 验检验专用-资质项目-废弃,被permissionData替代
*/
@Deprecated
@TableField
(
value
=
"permission_item"
)
private
String
permissionItem
;
/**
* 验检验专用-资质数据json,替代:permission_level、permission_item
*/
@TableField
(
value
=
"permission_data"
)
private
String
permissionData
;
/**
* 职称
*/
@TableField
(
value
=
"job_title"
)
private
String
jobTitle
;
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/UserInfoMapper.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.entity.TzsUserInfo
;
public
interface
UserInfoMapper
extends
BaseMapper
<
TzsUserInfo
>
{
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/mapper/UserPermissionMapper.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission
;
/**
* 用户资质信息表 Mapper 接口
*
* @author system_generator
* @date 2024-08-27
*/
public
interface
UserPermissionMapper
extends
BaseMapper
<
TzsUserPermission
>
{
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/vo/TzsUserInfoVo.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
vo
;
import
com.alibaba.fastjson.JSONArray
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
TzsUserInfoVo
{
/**
* 姓名
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 证件类型
*/
@TableField
(
"certificate_type"
)
private
String
certificateType
;
/**
* 证件编号
*/
@TableField
(
"certificate_num"
)
private
String
certificateNum
;
/**
* 性别
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 岗位
*/
@TableField
(
"post"
)
private
JSONArray
post
;
/**
* 岗位 (后期post迁移数组至此)
*/
@TableField
(
"new_post"
)
private
JSONArray
newPost
;
/**
* 联系电话
*/
@TableField
(
"phone"
)
private
String
phone
;
/**
* 出生日期
*/
@TableField
(
"birthday"
)
private
Date
birthday
;
/**
* 学历
*/
@TableField
(
"education"
)
private
String
education
;
/**
* 专业
*/
@TableField
(
"speciality"
)
private
String
speciality
;
/**
* 邮箱
*/
@TableField
(
"email"
)
private
String
email
;
/**
* 住址
*/
@TableField
(
"address"
)
private
String
address
;
/**
* 证件照片
*/
@TableField
(
value
=
"identification"
)
private
List
identification
;
/**
* 任命文件
*/
@TableField
(
value
=
"appoint_doc"
)
private
List
appointDoc
;
/**
* 账户名
*/
@TableField
(
"amos_user_name"
)
private
String
amosUserName
;
/**
* 单位名称
*/
@TableField
(
"unit_name"
)
private
String
unitName
;
/**
* 头像
*/
@TableField
(
value
=
"profile"
)
private
List
profile
;
/**
* 平台账号id
*/
@TableField
(
"amos_user_id"
)
private
String
amosUserId
;
/**
* 平台账号锁定状态
*/
@TableField
(
"lock_status"
)
private
String
lockStatus
;
/**
* 设备类型
*/
@ApiModelProperty
(
value
=
"设备类型"
)
private
JSONArray
equipType
;
/**
* 内部人员编码
*/
@ApiModelProperty
(
value
=
"内部人员编码"
)
private
String
innerPersonCode
;
/**
* 其他附件
*/
@ApiModelProperty
(
value
=
"其他附件"
)
private
List
<?>
otherAccessories
;
/**
* 单位类型
* */
private
String
companyType
;
/**
* 职称
*/
private
String
jobTitle
;
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/UserInfoMapper.xml
0 → 100644
View file @
6ee83ea4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.statistics.api.mapper.UserInfoMapper"
>
</mapper>
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/resources/mapper/UserPermissionMapper.xml
0 → 100644
View file @
6ee83ea4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.statistics.api.mapper.UserPermissionMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/UserBizController.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
controller
;
import
com.yeejoin.amos.boot.module.statistcs.biz.service.impl.UserBizByTCMServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
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
javax.annotation.Resource
;
import
java.util.Map
;
/**
* @author Administrator
*/
@RestController
@RequestMapping
(
value
=
"/dp/biz-user"
)
@Api
(
tags
=
"大屏-人员-业务API"
)
public
class
UserBizController
{
@Resource
private
UserBizByTCMServiceImpl
userBizByTCMService
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/getDetail"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"详情"
,
notes
=
"详情"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
queryForPage
(
@RequestParam
(
value
=
"id"
)
Long
id
)
{
return
ResponseHelper
.
buildResponse
(
userBizByTCMService
.
getDetail
(
id
));
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/UserBizByTCMServiceImpl.java
0 → 100644
View file @
6ee83ea4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission
;
import
com.yeejoin.amos.boot.module.statistics.api.entity.TzsUserInfo
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.UserInfoMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.mapper.UserPermissionMapper
;
import
com.yeejoin.amos.boot.module.statistics.api.vo.TzsUserInfoVo
;
import
com.yeejoin.amos.component.feign.utils.FeignUtil
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author Administrator
*/
@Service
public
class
UserBizByTCMServiceImpl
{
/**
* 检验人员资质类型
*/
private
final
String
JYRY_TYPE
=
"permissionData66151"
;
/**
* 检测人员资质类型
*/
private
final
String
JCRY_TYPE
=
"permissionData66152"
;
/**
* 工作人员资质类型
*/
private
final
String
ZYRY_TYPE
=
"permissionData6552"
;
/**
* 需要转换的附件字段 jsonString化字段
*/
private
final
String
[]
ATTACHMENTS
=
{
"certAttachment"
,
"itemCode"
,
"permissionItem"
};
@Autowired
private
UserInfoMapper
tzsUserInfoMapper
;
@Autowired
private
UserPermissionMapper
tzsUserPermissionMapper
;
public
Map
<
String
,
Object
>
getDetail
(
Long
id
)
{
Map
<
String
,
Object
>
maps
=
new
HashMap
<>();
TzsUserInfo
tzsUserInfo
=
tzsUserInfoMapper
.
selectById
(
id
);
TzsUserInfoVo
tzsUserInfoVo
=
new
TzsUserInfoVo
();
BeanUtils
.
copyProperties
(
tzsUserInfo
,
tzsUserInfoVo
,
"identification"
,
"profile"
,
"post"
,
"permissionItem"
,
"appointDoc"
);
if
(!
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getPost
()))
{
tzsUserInfoVo
.
setPost
(
JSON
.
parseArray
(
tzsUserInfo
.
getPost
()));
}
if
(!
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getNewPost
()))
{
tzsUserInfoVo
.
setNewPost
(
JSON
.
parseArray
(
tzsUserInfo
.
getNewPost
()));
}
if
(!
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getEquipType
()))
{
tzsUserInfoVo
.
setEquipType
(
JSON
.
parseArray
(
tzsUserInfo
.
getEquipType
()));
}
tzsUserInfoVo
.
setIdentification
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getIdentification
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getIdentification
()));
tzsUserInfoVo
.
setProfile
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getProfile
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getProfile
()));
tzsUserInfoVo
.
setAppointDoc
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getAppointDoc
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getAppointDoc
()));
tzsUserInfoVo
.
setOtherAccessories
(
ObjectUtils
.
isEmpty
(
tzsUserInfo
.
getOtherAccessories
())
?
null
:
JSON
.
parseArray
(
tzsUserInfo
.
getOtherAccessories
()));
String
companyType
=
getUnitType
();
tzsUserInfoVo
.
setCompanyType
(
companyType
.
contains
(
"个人主体"
)
?
"individual"
:
"no-individual"
);
Map
<
String
,
Object
>
userInfoMap
=
BeanUtil
.
beanToMap
(
tzsUserInfoVo
);
// userInfoMap.putAll(this.getPermissionDataJson(tzsUserInfo.getPermissionData()));
// 填充资质信息
Map
<?
extends
String
,
?>
permissions
=
this
.
queryForSubFormByUserSeq
(
String
.
valueOf
(
tzsUserInfo
.
getSequenceNbr
()));
userInfoMap
.
putAll
(
permissions
);
maps
.
put
(
"userInfo"
,
userInfoMap
);
return
maps
;
}
public
String
getUnitType
()
{
List
<
CompanyModel
>
companyModels
=
FeignUtil
.
remoteCall
(()
->
Privilege
.
companyClient
.
queryListByChild
(
RequestContext
.
getExeUserId
()));
if
(
companyModels
.
isEmpty
())
{
return
""
;
}
return
companyModels
.
get
(
0
).
getCompanyType
();
}
/**
* 根据人员的seq 组织可供子表单使用的资质信息数据
*
* @param userSeq 人员的seq
* @return result
*/
public
Map
<?
extends
String
,
?>
queryForSubFormByUserSeq
(
String
userSeq
)
{
Map
<
String
,
List
<
JSONObject
>>
result
=
new
HashMap
<>();
List
<
JSONObject
>
JYRYList
=
new
ArrayList
<>();
List
<
JSONObject
>
JCRYList
=
new
ArrayList
<>();
List
<
JSONObject
>
ZYRYList
=
new
ArrayList
<>();
LambdaQueryWrapper
<
TzsUserPermission
>
lambda
=
new
QueryWrapper
<
TzsUserPermission
>().
lambda
();
lambda
.
eq
(
TzsUserPermission:
:
getUserSeq
,
userSeq
);
List
<
TzsUserPermission
>
permissionList
=
tzsUserPermissionMapper
.
selectList
(
lambda
);
for
(
TzsUserPermission
permission
:
permissionList
)
{
String
permissionPost
=
permission
.
getPermissionPost
();
if
(
JYRY_TYPE
.
equals
(
permissionPost
))
{
JYRYList
.
add
(
this
.
convertPermissionToJson
(
permission
));
continue
;
}
if
(
JCRY_TYPE
.
equals
(
permissionPost
))
{
JCRYList
.
add
(
this
.
convertPermissionToJson
(
permission
));
continue
;
}
if
(
ZYRY_TYPE
.
equals
(
permissionPost
))
{
ZYRYList
.
add
(
this
.
convertPermissionToJson
(
permission
));
}
}
result
.
putIfAbsent
(
JYRY_TYPE
,
JYRYList
);
result
.
putIfAbsent
(
JCRY_TYPE
,
JCRYList
);
result
.
putIfAbsent
(
ZYRY_TYPE
,
ZYRYList
);
return
result
;
}
/**
* 实体转化为jsonObject 并转化附件
*
* @param permission 入参
* @return result
*/
public
JSONObject
convertPermissionToJson
(
TzsUserPermission
permission
)
{
JSONObject
json
=
(
JSONObject
)
JSONObject
.
toJSON
(
permission
);
for
(
String
field
:
ATTACHMENTS
)
{
if
(
json
.
get
(
field
)
!=
null
&&
json
.
get
(
field
)
instanceof
String
)
{
json
.
put
(
field
,
JSON
.
parse
(
json
.
get
(
field
).
toString
()));
}
}
// 作业项目【jobItem】 字段特殊处理
JSONArray
jobItem
=
JSON
.
parseArray
(
String
.
valueOf
(
json
.
get
(
"jobItem"
)));
json
.
put
(
"jobItem"
,
jobItem
);
return
json
;
}
}
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