Commit 44ebdfec authored by 麻笑宇's avatar 麻笑宇

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

parents d1d497cf 7ac5bde4
......@@ -2,12 +2,23 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserPermissionDto {
/**
* 主表id-前端页面跳转时页面写死取rowId,所以冗余返回rowId=uid
*/
private Long rowId;
/**
* 主表id
*/
private Long uid;
......@@ -22,6 +33,12 @@ public class UserPermissionDto {
*/
private String permissionStatus;
/**
* 资质状态颜色
*/
private String permissionStatusColor;
/**
* 区域
*/
......@@ -61,9 +78,14 @@ public class UserPermissionDto {
private String identificationStr;
/**
* 个人照片
* 个人照片-数组
*/
private JSONArray identification;
/**
* 个人照片路径
*/
private String identification;
private String photoUrl;
@JsonIgnore
private String orgCode;
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsBaseInstitution;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitIcDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
......@@ -292,6 +293,8 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
@ApiModelProperty(value = "企业问题状态")
private String status;
@ApiModelProperty(value = "企业下人")
List<UserPermissionDto> userPermissionList;
private String region;
......
......@@ -45,4 +45,11 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
* @return 分页对象列表
*/
Page<UserPermissionDto> queryUserByPermissionPage(Page<UserPermissionDto> page, @Param("postList") List<String> post, @Param("filter") UserPermissionDto filter);
/**
* 查询指定单位下的人
* @param filter 单位过滤条件
* @return 对象列表
*/
List<UserPermissionDto> queryUserByPermissionOfOneCompany(@Param("filter") UserPermissionDto filter);
}
......@@ -228,11 +228,8 @@
<select id="selectCompanyTypeById" resultType="java.lang.String">
select company_type from privilege_company where sequence_nbr = #{companySeq}
</select>
<select id="queryUserByPermissionPage" resultType="com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto">
select
a.*
from
(SELECT
<select id="queryUserByPermissionOfOneCompany" resultType="com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto">
SELECT
COALESCE (p.sequence_nbr, u.sequence_nbr) as sequence_nbr,
CASE
WHEN p.expiry_date is null THEN
......@@ -249,38 +246,72 @@
e.use_unit,
u.new_post as post,
u.sequence_nbr as uid,
u.sequence_nbr as "rowId",
concat(e.city, e.district) as fullAddress,
u.rec_date
FROM
"tzs_user_info" u
left join tzs_user_permission p on u.sequence_nbr = p.user_seq
left join tz_base_enterprise_info e on u.unit_code = e.use_unit_code
<where>u.is_delete = false
<if test="
filter.orgCode != null and filter.orgCode != ''">
and ((e.supervise_org_code != '50' and e.supervise_org_code LIKE CONCAT (#{filter.orgCode}, '%')) or (e.supervise_org_code = '50' and e.office_region LIKE CONCAT ('%', #{filter.cityCode}, '%')))
</if>
<if test="postList != null and postList.size() > 0">
and
<foreach collection="postList" open="(" close=")" item="post" separator="or">
u.new_post like concat('%',#{post}, '%')
</foreach>
</if>
</where>) as a
<where>
<if test="filter.useUnit != null and filter.useUnit != ''">
and a.use_unit like concat('%',#{filter.useUnit}, '%')
</if>
<if test="filter.name != null and filter.name != ''">
and a.name like concat('%',#{filter.name}, '%')
</if>
<if test="filter.certificateNum != null and filter.certificateNum != ''">
and a.certificate_num like concat('%',#{filter.certificateNum}, '%')
</if>
<if test="filter.fullAddress != null and filter.fullAddress != ''">
and (a.fullAddress like concat('%',#{filter.fullAddress},'%'))
</if>
</where>
order by a.rec_date
where
u.is_delete = false
and u.unit_code = #{filter.cityCode}
order by u.rec_date
</select>
<select id="queryUserByPermissionPage" resultType="com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto">
select
a.*
from
(SELECT
COALESCE (p.sequence_nbr, u.sequence_nbr) as sequence_nbr,
CASE
WHEN p.expiry_date is null THEN
'无资质要求'
WHEN p.expiry_date <![CDATA[<]]> CURRENT_DATE THEN
'资质超期'
WHEN (p.expiry_date - CURRENT_DATE > 0 and p.expiry_date - CURRENT_DATE <![CDATA[<=]]> 30 ) THEN
'资质临期'
ELSE '正常'
end as permissionStatus,
u."name",
u.certificate_num,
u.identification as identificationStr,
e.use_unit,
u.new_post as post,
u.sequence_nbr as uid,
u.sequence_nbr as "rowId",
concat(e.city, e.district) as fullAddress,
u.rec_date
FROM
"tzs_user_info" u
left join tzs_user_permission p on u.sequence_nbr = p.user_seq
left join tz_base_enterprise_info e on u.unit_code = e.use_unit_code
<where>
u.is_delete = false
<if test="filter.orgCode != null and filter.orgCode != ''">
and ((e.supervise_org_code != '50' and e.supervise_org_code LIKE CONCAT (#{filter.orgCode}, '%')) or (e.supervise_org_code = '50' and e.office_region LIKE CONCAT ('%', #{filter.cityCode}, '%')))
</if>
<if test="postList != null and postList.size() > 0">
and
<foreach collection="postList" open="(" close=")" item="post" separator="or">
u.new_post like concat('%',#{post}, '%')
</foreach>
</if>
</where>) as a
<where>
<if test="filter.useUnit != null and filter.useUnit != ''">
and a.use_unit like concat('%',#{filter.useUnit}, '%')
</if>
<if test="filter.name != null and filter.name != ''">
and a.name like concat('%',#{filter.name}, '%')
</if>
<if test="filter.certificateNum != null and filter.certificateNum != ''">
and a.certificate_num like concat('%',#{filter.certificateNum}, '%')
</if>
<if test="filter.fullAddress != null and filter.fullAddress != ''">
and (a.fullAddress like concat('%',#{filter.fullAddress},'%'))
</if>
</where>
order by a.rec_date
</select>
</mapper>
\ No newline at end of file
......@@ -399,4 +399,22 @@ public class TzsUserInfoController extends BaseController {
Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(current, size,type, filter);
return ResponseHelper.buildResponse(userPermissionDtos);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询当前登录人所属公司下的人", notes = "查询当前登录人所属公司下的人")
@GetMapping(value = "/listByLogin")
public ResponseModel<List<UserPermissionDto>> getUserPermissionOfCurrentLogin(){
UserPermissionDto filter = new UserPermissionDto();
filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode());
List<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserPermissionOfCurrentLogin(filter);
return ResponseHelper.buildResponse(userPermissionDtos);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询指定公司下的人", notes = "查询指定公司下的人")
@GetMapping(value = "/listByCompanySeq")
public ResponseModel<List<UserPermissionDto>> getUserPermissionByCompanySeq(@RequestParam Long comSeq){
List<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserPermissionByCompanySeq(comSeq);
return ResponseHelper.buildResponse(userPermissionDtos);
}
}
......@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.BaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.EquEnterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto;
......@@ -107,6 +108,8 @@ public class TzBaseEnterpriseInfoServiceImpl
private TzsUserInfoMapper tzsUserInfoMapper;
@Autowired
private EquipmentCategoryServiceImpl equipmentCategoryService;
@Autowired
private TzsUserInfoServiceImpl userInfoService;
private static Map<String ,String> JYJC_CERT_MAP = new HashMap<>();
......@@ -403,6 +406,7 @@ public class TzBaseEnterpriseInfoServiceImpl
lambda.eq(TzsBaseInstitution::getEnterpriseId, tzBaseEnterpriseInfo.getSequenceNbr());
TzsBaseInstitution tzsBaseInstitution = tzsBaseInstitutionService.getBaseMapper().selectOne(lambda);
tzBaseEnterpriseInfoDto.setRegUnitMessage(tzsBaseInstitution);
tzBaseEnterpriseInfoDto.setUserPermissionList(userInfoService.getUserPermissionOfCurrentLogin(UserPermissionDto.builder().cityCode(companyCode).build()));
result.add(tzBaseEnterpriseInfoDto);
return page.setRecords(result);
}
......
......@@ -84,6 +84,14 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Autowired
private TzsUserQualificationsServiceImpl tzsUserQualificationsService;
private static Map<String,String> statusColorMap = new HashMap<>();
static {
statusColorMap.put("无资质要求","#868686");
statusColorMap.put("资质超期","#FF0000");
statusColorMap.put("资质临期","#FC9700");
statusColorMap.put("正常","#18B100");
}
@Override
public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page) {
Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto);
......@@ -650,11 +658,12 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
List<String> post = this.getPostByType(type);
Page<UserPermissionDto> result = this.getBaseMapper().queryUserByPermissionPage(permissionDtoPage, post, filter);
result.getRecords().forEach(d->{
// 照片赋值
if (StringUtils.isNotEmpty(d.getIdentificationStr())) {
// 照片赋值
List<CommonFile> commonFiles = JSON.parseArray(d.getIdentificationStr(), CommonFile.class);
if (!ObjectUtils.isEmpty(commonFiles)) {
d.setIdentification(commonFiles.get(0).getUrl());
d.setPhotoUrl(commonFiles.get(0).getUrl());
}
}
// 人员类型枚举转name
......@@ -664,6 +673,26 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return result;
}
public List<UserPermissionDto> getUserPermissionOfCurrentLogin(UserPermissionDto filter) {
List<UserPermissionDto> result = this.getBaseMapper().queryUserByPermissionOfOneCompany(filter);
result.forEach(d->{
if (StringUtils.isNotEmpty(d.getIdentificationStr())) {
// String转json
d.setIdentification(JSON.parseArray(d.getIdentificationStr()));
// 照片赋值
List<CommonFile> commonFiles = JSON.parseArray(d.getIdentificationStr(), CommonFile.class);
if (!ObjectUtils.isEmpty(commonFiles)) {
d.setPhotoUrl(commonFiles.get(0).getUrl());
}
}
d.setPermissionStatusColor(statusColorMap.getOrDefault(d.getPermissionStatus(),"#868686"));
// 人员类型枚举转name
d.setPost(this.isJSONValid(d.getPost()) ? d.getPost() : "[\"" + d.getPost() + "\"]");
d.setPostName(this.setPostName(d.getPost()));
});
return result;
}
private List<String> getPostByType(String type) {
switch (type){
case "jy":
......@@ -678,4 +707,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return Arrays.asList("6549","6548","6547","6546","6551","6550","6616","6553","6617", "66151", "66152", "6552");
}
}
public List<UserPermissionDto> getUserPermissionByCompanySeq(Long comSeq) {
TzBaseEnterpriseInfo enterpriseInfo = baseEnterpriseInfoService.getById(comSeq);
return getUserPermissionOfCurrentLogin(UserPermissionDto.builder().cityCode(enterpriseInfo.getUseUnitCode()).build());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment