Browse Source

分页列表查询,增加staffId,查询当前工作人员所属组织及下级

master
yinzuomei 4 years ago
parent
commit
ca1490649e
  1. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
  2. 1
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  3. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  4. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  5. 29
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

3
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java

@ -34,5 +34,8 @@ public class IcResiUserPageFormDTO implements Serializable {
*/
private List<ResiUserQueryValueDTO> conditions;
private Boolean pageFlag;
@NotBlank(message = "当前用户id不能为空", groups = AddUserInternalGroup.class)
private String staffId;
}

1
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -307,6 +307,7 @@ public class IcResiUserController {
public Result<PageData<Map<String,Object>>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){
//pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
pageFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(pageFormDTO,IcResiUserPageFormDTO.AddUserInternalGroup.class);
return new Result<PageData<Map<String,Object>>>().ok(icResiUserService.pageResiMap(pageFormDTO));
}

4
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -54,7 +54,9 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("formCode") String formCode,
@Param("conditions") List<ResiUserQueryValueDTO> conditions,
@Param("resultColumns") List<IcFormResColumnDTO> resultColumns,
@Param("subTables") List<String> subTables);
@Param("subTables") List<String> subTables,
@Param("currentStaffAgencyId")String currentStaffAgencyId,
@Param("staffOrgPath") String staffOrgPath);
/**
* 查询主表
*

14
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -293,6 +293,12 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Override
public PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO) {
CustomerStaffInfoCacheResult staffInfoCacheResult=CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(),formDTO.getStaffId());
String staffOrgPath=StrConstant.EPMETY_STR;
if(StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds())&& !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())){
staffOrgPath=staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId());
}
// 查询列表展示项,如果没有,直接返回
CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO();
queryDTO1.setCustomerId(formDTO.getCustomerId());
@ -309,18 +315,22 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
PageInfo<Map<String, Object>> pageInfo=new PageInfo<>();
if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) {
//分页
String finalStaffOrgPath = staffOrgPath;
pageInfo= PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables));
subTables,
staffInfoCacheResult.getAgencyId(), finalStaffOrgPath
));
}else{
List<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables);
subTables,staffInfoCacheResult.getAgencyId(),
staffOrgPath);
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size());
pageInfo.setList(list);
}

29
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -44,8 +44,32 @@
select * from ${subTableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId} and customer_id=#{customerId}
</select>
<!-- 列表查询 -->
<sql id="listWhereForPage">
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
and (ic_resi_user.AGENCY_ID =#{currentStaffAgencyId} or ic_resi_user.pids like concat(#{staffOrgPath},'%'))
<if test="null != conditions and conditions.size() > 0">
<foreach item="subCondition" collection="conditions" open="" separator="" close="">
<if test="null != subCondition.columnValue and subCondition.columnValue.size() > 0">
<if test="subCondition.queryType!= null and subCondition.queryType == 'equal' ">
and ${subCondition.tableName}.${subCondition.columnName} = #{subCondition.columnValue[0]}
</if>
<if test="subCondition.queryType!= null and subCondition.queryType == 'like' ">
and ${subCondition.tableName}.${subCondition.columnName} like concat('%',#{subCondition.columnValue[0]},'%')
</if>
<!-- 公用where条件 -->
<if test="subCondition.queryType!= null and subCondition.queryType == 'daterange' ">
and ${subCondition.tableName}.${subCondition.columnName} between #{subCondition.columnValue[0]} and #{subCondition.columnValue[1]}
</if>
</if>
</foreach>
</if>
</sql>
<!-- 导出公用where条件 -->
<sql id="listWhere">
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
@ -73,6 +97,7 @@
<select id="selectListResiMap" parameterType="map" resultType="map">
select
ic_resi_user.id as icResiUserId,
ic_resi_user.AGENCY_ID as ORG_ID,
<foreach item="column" collection="resultColumns" open="" separator="," close="">
${column.columnName}
</foreach>
@ -91,7 +116,7 @@
on(ic_resi_user.customer_id=ic_resi_demand_dict.CUSTOMER_ID
and ic_resi_demand.CATEGORY_CODE=ic_resi_demand_dict.CATEGORY_CODE )
<where>
<include refid="listWhere"></include>
<include refid="listWhereForPage"></include>
</where>
group by IC_RESI_USER.id
order by ic_resi_user.CREATED_TIME desc

Loading…
Cancel
Save