Commit f11ea264 authored by suhuiguang's avatar suhuiguang

1.需求2972开发

parent d6b0cbbb
......@@ -30,7 +30,7 @@ public class TzsUserPermissionDto extends BaseDto {
@ApiModelProperty(value = "检验专用-资质项目")
private String permissionItem;
@ApiModelProperty(value = "人员类型,前端用来分组展示使用")
@ApiModelProperty(value = "人员类型,前端用来分组展示使用,人员类型,前端用来分组展示使用(permissionData{post})")
private String permissionPost;
@ApiModelProperty(value = "证书编号")
......
package com.yeejoin.amos.boot.module.common.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
@Data
public class UserPermissionDto {
/**
* 主表id
*/
private Long uid;
/**
* 资质表id
*/
private Long sequenceNbr;
/**
* 资质状态
*/
private String permissionStatus;
/**
* 区域
*/
private String address;
/**
* 人员类型
*/
private String postName;
/**
* 人员类型
*/
@JsonIgnore
private String post;
/**
* 姓名
*/
private String name;
/**
* 证件编号
*/
private String certificateNum;
/**
* 所在单位
*/
private String useUnit;
/**
* 个人照片-字符串
*/
@JsonIgnore
private String identificationStr;
/**
* 个人照片
*/
private JSONArray identification;
@JsonIgnore
private String orgCode;
@JsonIgnore
private String cityCode;
}
......@@ -42,7 +42,7 @@ public class TzsUserPermission extends BaseRelationEntity {
private String permissionItem;
/**
* 人员类型,前端用来分组展示使用
* 人员类型,前端用来分组展示使用(permissionData{post})
*/
@TableField("permission_post")
private String permissionPost;
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
......@@ -35,4 +36,13 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
List<Map<String, Object>> getUserTypeList(@Param(value = "typeList") List<String> typeList);
String selectCompanyTypeById(Long companySeq);
/**
* 已资质为维度查询人
* @param page 分页对象
* @param post 岗位数组
* @param filter 筛选条件
* @return 分页对象列表
*/
Page<UserPermissionDto> queryUserByPermissionPage(Page<UserPermissionDto> page, @Param("postList") List<String> post, @Param("filter") UserPermissionDto filter);
}
......@@ -228,4 +228,53 @@
<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
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,
e.use_unit,
u.post,
u.sequence_nbr as uid,
concat(e.city, e.district) as address
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="filter.useUnit != null and filter.useUnit != ''">
and e.use_unit like concat('%',filter.useUnit, '%')
</if>
<if test="filter.name != null and filter.name != ''">
and u.name like concat('%',filter.name, '%')
</if>
<if test="filter.certificateNum != null and filter.certificateNum != ''">
and u.certificate_num like concat('%',filter.certificateNum, '%')
</if>
<if test="filter.address != null and filter.address != ''">
and (e.city like concat('%',filter.address, '%') or e.district like concat('%',filter.address, '%'))
</if>
<if test="postList != null and postList.size() > 0">
and
<foreach collection="postList" open="(" close=")" item="post" separator="or">
u.post like concat('%',#{post}, '%')
</foreach>
</if>
</where>
order by u.rec_date
</select>
</mapper>
\ No newline at end of file
......@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzIndividualityDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto;
......@@ -385,4 +386,17 @@ public class TzsUserInfoController extends BaseController {
public ResponseModel<TzIndividualityDto> updateIndividualityInfo(@RequestBody TzIndividualityDto individualityDto) {
return ResponseHelper.buildResponse(tzsUserInfoServiceImpl.updateIndividualityInfo(individualityDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "查询指定类型的下的人", notes = "查询指定类型的下的人")
@PostMapping(value = "/permission-page")
public ResponseModel<Page<UserPermissionDto>> getUserByPermission(@RequestParam(value = "current") long current,
@RequestParam(value = "size") long size,
@RequestParam(required = false,defaultValue = "all") String type,
@RequestBody UserPermissionDto filter){
filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode());
filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode());
Page<UserPermissionDto> userPermissionDtos = tzsUserInfoServiceImpl.getUserByPermission(current, size,type, filter);
return ResponseHelper.buildResponse(userPermissionDtos);
}
}
......@@ -25,7 +25,7 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
*/
@RestController
@Api(tags = "用户资质信息表Api")
@RequestMapping(value = "/tzs-user-permission")
@RequestMapping(value = "/user-permission")
public class TzsUserPermissionController extends BaseController {
@Autowired
......
......@@ -13,6 +13,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.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.UserPermissionDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.*;
import com.yeejoin.amos.boot.module.tcm.api.entity.*;
import com.yeejoin.amos.boot.module.tcm.api.enums.EquipmentClassifityEnum;
......@@ -643,4 +644,32 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
}
return individualityDto;
}
public Page<UserPermissionDto> getUserByPermission(long current, long size, String type, UserPermissionDto filter) {
Page<UserPermissionDto> permissionDtoPage = new Page<>(current, size);
List<String> post = this.getPostByType(type);
Page<UserPermissionDto> result = this.getBaseMapper().queryUserByPermissionPage(permissionDtoPage, post, filter);
result.getRecords().forEach(d->{
d.setIdentification(d.getIdentificationStr() != null ? JSONArray.parseArray(d.getIdentificationStr()) : null);
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":
return Collections.singletonList("66151");
case "jc":
return Collections.singletonList("66152");
case "zyry":
return Collections.singletonList("6552");
case "qt":
return Arrays.asList("6549","6548","6547","6546","6551","6550","6616","6553","6617");
default:
return Arrays.asList("6549","6548","6547","6546","6551","6550","6616","6553","6617", "66151", "66152", "6552");
}
}
}
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