Browse Source

Merge branch 'master' into yantai_zhengwu_master

dev
wxz 2 years ago
parent
commit
b9b5ec853d
  1. 27
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/PidUtils.java
  2. 11
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
  3. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java
  4. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
  5. 28
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  6. 44
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml
  7. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  8. 173
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  9. 19
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

27
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/PidUtils.java

@ -0,0 +1,27 @@
package com.epmet.commons.tools.utils;
import org.apache.commons.lang3.StringUtils;
/**
* pid用到的工具
*/
public class PidUtils {
/**
* 将orgId和pids组合传话为orgIdPath(包含自己)
* @param orgId
* @param pids
* @return
*/
public static String convertPid2OrgIdPath(String orgId,String pids) {
StringBuilder orgIdPath = new StringBuilder();
if (StringUtils.isBlank(pids) || pids.equals("0")) {
orgIdPath.append(orgId);
} else {
orgIdPath.append(pids).append(":").append(orgId);
}
return orgIdPath.toString();
}
}

11
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java

@ -21,6 +21,7 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
@ -54,6 +55,11 @@ public class IcNeighborHoodDTO implements Serializable {
*/ */
private String agencyId; private String agencyId;
/**
* agencyId列表
*/
private List<String> agencyIds;
/** /**
* 上级组织id * 上级组织id
*/ */
@ -69,6 +75,11 @@ public class IcNeighborHoodDTO implements Serializable {
*/ */
private String gridId; private String gridId;
/**
* gridId列表
*/
private List<String> gridIds;
/** /**
* 网格 * 网格
*/ */

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcNeighborHoodController.java

@ -141,7 +141,7 @@ public class IcNeighborHoodController {
} }
/** /**
* @Description 获取网格下小区列表 * @Description 获取组织/网格下小区列表支持单选和多选
* @Param dto * @Param dto
* @Return {@link Result< List< OptionResultDTO>>} * @Return {@link Result< List< OptionResultDTO>>}
* @Author zhaoqifeng * @Author zhaoqifeng
@ -149,7 +149,13 @@ public class IcNeighborHoodController {
*/ */
@PostMapping("neighborhoodoption") @PostMapping("neighborhoodoption")
public Result<List<OptionResultDTO>> getNeighborHoodOptions(@LoginUser TokenDto tokenDto, @RequestBody IcNeighborHoodDTO dto) { public Result<List<OptionResultDTO>> getNeighborHoodOptions(@LoginUser TokenDto tokenDto, @RequestBody IcNeighborHoodDTO dto) {
return new Result<List<OptionResultDTO>>().ok(icNeighborHoodService.getNeighborHoodOptions(dto.getAgencyId(), dto.getGridId(),tokenDto.getUserId(),tokenDto.getCustomerId())); return new Result<List<OptionResultDTO>>().ok(icNeighborHoodService.getNeighborHoodOptions(
dto.getAgencyId(),
dto.getGridId(),
dto.getAgencyIds(),
dto.getGridIds(),
tokenDto.getUserId(),
tokenDto.getCustomerId()));
} }
/** /**

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java

@ -117,7 +117,8 @@ public interface IcNeighborHoodService extends BaseService<IcNeighborHoodEntity>
* @Author zhaoqifeng * @Author zhaoqifeng
* @Date 2021/10/26 14:32 * @Date 2021/10/26 14:32
*/ */
List<OptionResultDTO> getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId); List<OptionResultDTO> getNeighborHoodOptions(String agencyId, String gridId, List<String> agencyIds, List<String> gridIds,
String staffId,String customerId);
/** /**
* 获取用户组织下小区列表 * 获取用户组织下小区列表

28
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

@ -185,22 +185,34 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
* @Date 2021/10/26 14:32 * @Date 2021/10/26 14:32
*/ */
@Override @Override
public List<OptionResultDTO> getNeighborHoodOptions(String agencyId, String gridId,String staffId,String customerId) { public List<OptionResultDTO> getNeighborHoodOptions(String agencyId, String gridId,
if (StringUtils.isBlank(agencyId)&&StringUtils.isEmpty(gridId)) { List<String> agencyIds, List<String> gridIds,
log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); String staffId,String customerId) {
CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(customerId,staffId); if (StringUtils.isBlank(agencyId)
&& StringUtils.isEmpty(gridId)
&& CollectionUtils.isEmpty(agencyIds)
&& CollectionUtils.isEmpty(gridIds)) {
log.info("agencyId(s)与gridId(s)都为空时,默认查询当前工作人员所属组织下的小区");
CustomerStaffInfoCacheResult result = CustomerStaffRedis.getStaffInfo(customerId, staffId);
if (null == result || StringUtils.isBlank(result.getAgencyId())) { if (null == result || StringUtils.isBlank(result.getAgencyId())) {
log.error(String.format("staffId:%s,工作人员缓存信息查询异常", staffId)); log.error(String.format("staffId:%s,工作人员缓存信息查询异常", staffId));
return Collections.emptyList(); return Collections.emptyList();
} }
agencyId=result.getAgencyId(); agencyId = result.getAgencyId();
} }
// 此处支持多种条件,or连接
LambdaQueryWrapper<IcNeighborHoodEntity> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<IcNeighborHoodEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(agencyId),IcNeighborHoodEntity::getAgencyId, agencyId); wrapper.eq(StringUtils.isNotBlank(agencyId), IcNeighborHoodEntity::getAgencyId, agencyId)
wrapper.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId); .or()
.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId)
.or()
.in(!CollectionUtils.isEmpty(agencyIds), IcNeighborHoodEntity::getAgencyId, agencyIds)
.or()
.in(!CollectionUtils.isEmpty(gridIds), IcNeighborHoodEntity::getGridId, gridIds);
wrapper.last("ORDER BY CONVERT ( NEIGHBOR_HOOD_NAME USING gbk ) ASC"); wrapper.last("ORDER BY CONVERT ( NEIGHBOR_HOOD_NAME USING gbk ) ASC");
List<IcNeighborHoodEntity> list = baseDao.selectList(wrapper); List<IcNeighborHoodEntity> list = baseDao.selectList(wrapper);
if(CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList(); return Collections.emptyList();
} }
return list.stream().map(item -> { return list.stream().map(item -> {

44
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcCoverageCategoryDictDao.xml

@ -7,11 +7,14 @@
INSERT INTO ic_coverage_category_dict ( INSERT INTO ic_coverage_category_dict (
id, id,
customer_id, customer_id,
category_key, CATEGORY_KEY,
category_name, CATEGORY_NAME,
place_type, PLACE_TYPE,
coverage_type, PLACE_TYPE_IN_ANALYSIS,
sort, MENU_URL,
DATA_TYPE,
COVERAGE_TYPE,
SORT,
del_flag, del_flag,
revision, revision,
created_by, created_by,
@ -19,24 +22,27 @@
updated_by, updated_by,
updated_time updated_time
) SELECT ) SELECT
MD5(UUID()), MD5(UUID()),
#{customerId}, #{customerId},
category_key, CATEGORY_KEY,
category_name, CATEGORY_NAME,
place_type, PLACE_TYPE,
coverage_type, PLACE_TYPE_IN_ANALYSIS,
sort, MENU_URL,
del_flag, DATA_TYPE,
revision, COVERAGE_TYPE,
'APP_USER', SORT,
NOW(), del_flag,
'APP_USER', revision,
NOW() 'APP_USER',
NOW(),
'APP_USER',
NOW()
FROM FROM
ic_coverage_category_dict ic_coverage_category_dict
WHERE WHERE
del_flag = '0' del_flag = '0'
AND customer_id = 'default' AND customer_id = 'default'
</insert> </insert>
<select id="dictMap" resultType="com.epmet.dto.result.IcCoverageCategoryDictListResultDTO"> <select id="dictMap" resultType="com.epmet.dto.result.IcCoverageCategoryDictListResultDTO">

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

@ -66,8 +66,9 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("conditions") List<ResiUserQueryValueDTO> conditions, @Param("conditions") List<ResiUserQueryValueDTO> conditions,
@Param("resultColumns") List<IcFormResColumnDTO> resultColumns, @Param("resultColumns") List<IcFormResColumnDTO> resultColumns,
@Param("subTables") List<String> subTables, @Param("subTables") List<String> subTables,
@Param("currentStaffAgencyId") String currentStaffAgencyId, @Param("currentStaffAgencyId") List<String> currentStaffAgencyIds,
@Param("staffOrgPath") String staffOrgPath, @Param("staffOrgPaths") List<String> staffOrgPaths,
@Param("gridIds") Set<String> gridIds,
@Param("resultTableName") String resultTableName, @Param("resultTableName") String resultTableName,
@Param("keyword") String keyword, @Param("keyword") String keyword,
@Param("groupByTables") Set<String> groupByTables); @Param("groupByTables") Set<String> groupByTables);

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

@ -181,7 +181,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
@Autowired @Autowired
private IcVaccineRelationDao icVaccineRelationDao; private IcVaccineRelationDao icVaccineRelationDao;
/**
* 组织字段目前用于居民信息动态查询接口将此条件从conditions中移除单独生成固定的sql片段
*/
public static final List<String> ORG_FIELDS = Arrays.asList("AGENCY_IDS", "GRID_IDS", "AGENCY_ID", "GRID_ID");
private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) { private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP); String id = (String) params.get(FieldConstant.ID_HUMP);
@ -918,36 +921,55 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData();
// 查询结果列对应的表: // 查询结果列对应的表:
Set<String> resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); Set<String> resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet());
List<String> queryAgencyIdList = formDTO.getConditions().stream()
.filter(o -> IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && "AGENCY_ID".equals(o.getColumnName()) // List<String> queryAgencyIdList = formDTO.getConditions().stream()
&& CollectionUtils.isNotEmpty(o.getColumnValue()) && StringUtils.isNotBlank(o.getColumnValue().get(NumConstant.ZERO))) // .filter(o -> IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && "AGENCY_IDS".equals(o.getColumnName())
.flatMap(o -> o.getColumnValue().stream()).collect(Collectors.toList()); // && CollectionUtils.isNotEmpty(o.getColumnValue()) && StringUtils.isNotBlank(o.getColumnValue().get(NumConstant.ZERO)))
// .flatMap(o -> o.getColumnValue().stream()).collect(Collectors.toList());
// 组织和网格单独处理
Set<String> queryAgencyIdList = new HashSet<>();
Set<String> queryGridIdList = new HashSet<>();
// 将以下几列单独提出来,组合起来,放入集合,自动去重
formDTO.getConditions().stream().forEach(c -> {
if (IcResiUserConstant.IC_RESI_USER.equals(c.getTableName()) && CollectionUtils.isNotEmpty(c.getColumnValue())
&& StringUtils.isNotBlank(c.getColumnValue().get(NumConstant.ZERO))) {
if ("AGENCY_IDS".equals(c.getColumnName())) {
queryAgencyIdList.addAll(c.getColumnValue());
} else if ("GRID_IDS".equals(c.getColumnName())) {
queryGridIdList.addAll(c.getColumnValue());
} else if ("AGENCY_ID".equals(c.getColumnName())) {
queryAgencyIdList.addAll(c.getColumnValue());
} else if ("GRID_ID".equals(c.getColumnName())) {
queryGridIdList.addAll(c.getColumnValue());
}
}
});
// 移除需要特殊处理的conditions
formDTO.getConditions().removeIf(o->IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && ORG_FIELDS.contains(o.getColumnName()));
//添加数据权限 //添加数据权限
String staffOrgPath; List<String> staffOrgPaths;
String agencyId; List<String> agencyIds = null;
//如果查询条件中 有居民表的agencyId 则匹配查询该组织下的 数据 //如果查询条件中 没有有居民表的agencyId,则查询该工作人员所属组织的信息
if (queryAgencyIdList.isEmpty()){ if (queryAgencyIdList.isEmpty() && queryGridIdList.isEmpty()){
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
agencyId = staffInfoCacheResult.getAgencyId(); agencyIds = Arrays.asList(staffInfoCacheResult.getAgencyId());
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); String op = PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds());
} else { staffOrgPaths = Arrays.asList(op);
staffOrgPath = staffInfoCacheResult.getAgencyId();
}
} else { } else {
formDTO.getConditions().removeIf(o->IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && "AGENCY_ID".equals(o.getColumnName())); // 将组织id列表,转化为组织orgIdPath列表
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(queryAgencyIdList.get(NumConstant.ZERO)); staffOrgPaths = queryAgencyIdList.stream().map(agId -> {
if (agencyInfo == null){ AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agId);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取组织信息失败"); if (agencyInfo == null) {
} String errorMsg = "查询机关单位失败:" + agId;
agencyId = agencyInfo.getId(); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
staffOrgPath = agencyInfo.getPids(); }
if (StringUtils.isBlank(staffOrgPath)){ return PidUtils.convertPid2OrgIdPath(agId, agencyInfo.getPids());
staffOrgPath = agencyId; }).collect(Collectors.toList());
}else{
staffOrgPath = staffOrgPath+StrConstant.COLON+agencyInfo.getId();
}
} }
// 查询列表展示项需要用到哪些子表 // 查询列表展示项需要用到哪些子表
Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1); Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1);
@ -976,14 +998,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(); PageInfo<Map<String, Object>> pageInfo = new PageInfo<>();
if (null == formDTO.getIsPage() || formDTO.getIsPage()) { if (null == formDTO.getIsPage() || formDTO.getIsPage()) {
//分页 //分页
String finalStaffOrgPath = staffOrgPath; List<String> finalStaffOrgPath = staffOrgPaths;
List<String> finalAgencyIds = agencyIds;
pageInfo = PageHelper.startPage(formDTO.getPageNo(), pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
agencyId, finalStaffOrgPath,null, formDTO.getKeyword(), finalAgencyIds,
finalStaffOrgPath,
queryGridIdList,
null,
formDTO.getKeyword(),
groupByTables)); groupByTables));
} else { } else {
List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(), List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(),
@ -991,8 +1018,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
agencyId, agencyIds,
staffOrgPath,null, staffOrgPaths,
queryGridIdList,
null,
formDTO.getKeyword(), formDTO.getKeyword(),
groupByTables); groupByTables);
pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size()); pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size());
@ -3320,37 +3349,52 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData(); List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData();
// 查询结果列对应的表: // 查询结果列对应的表:
Set<String> resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet()); Set<String> resultColumnTables = resultColumns.stream().map(IcFormResColumnDTO::getTableName).collect(Collectors.toSet());
List<String> queryAgencyIdList = formDTO.getConditions().stream()
.filter(o -> IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && "AGENCY_ID".equals(o.getColumnName()) // 组织和网格单独处理
&& CollectionUtils.isNotEmpty(o.getColumnValue()) && StringUtils.isNotBlank(o.getColumnValue().get(NumConstant.ZERO))) Set<String> queryAgencyIdList = new HashSet<>();
.flatMap(o -> o.getColumnValue().stream()).collect(Collectors.toList()); Set<String> queryGridIdList = new HashSet<>();
// 将以下几列单独提出来,组合起来,放入列表
formDTO.getConditions().stream().forEach(c -> {
if (IcResiUserConstant.IC_RESI_USER.equals(c.getTableName()) && CollectionUtils.isNotEmpty(c.getColumnValue())
&& StringUtils.isNotBlank(c.getColumnValue().get(NumConstant.ZERO))) {
if ("AGENCY_IDS".equals(c.getColumnName())) {
queryAgencyIdList.addAll(c.getColumnValue());
} else if ("GRID_IDS".equals(c.getColumnName())) {
queryGridIdList.addAll(c.getColumnValue());
} else if ("AGENCY_ID".equals(c.getColumnName())) {
queryAgencyIdList.addAll(c.getColumnValue());
} else if ("GRID_ID".equals(c.getColumnName())) {
queryGridIdList.addAll(c.getColumnValue());
}
}
});
// 移除需要特殊处理的conditions
formDTO.getConditions().removeIf(o->IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && ORG_FIELDS.contains(o.getColumnName()));
//添加数据权限 //添加数据权限
String staffOrgPath; List<String> staffOrgPaths;
String agencyId; List<String> agencyIds = null;
//如果查询条件中 有居民表的agencyId 则匹配查询该组织下的 数据 //如果查询条件中 没有有居民表的agencyId,则查询该工作人员所属组织的信息
if (queryAgencyIdList.isEmpty()){ if (queryAgencyIdList.isEmpty() && queryGridIdList.isEmpty()){
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
agencyId = staffInfoCacheResult.getAgencyId(); agencyIds = Arrays.asList(staffInfoCacheResult.getAgencyId());
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); String op = PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds());
} else { staffOrgPaths = Arrays.asList(op);
staffOrgPath = staffInfoCacheResult.getAgencyId();
}
} else { } else {
formDTO.getConditions().removeIf(o->IcResiUserConstant.IC_RESI_USER.equals(o.getTableName()) && "AGENCY_ID".equals(o.getColumnName())); // 将组织id列表,转化为组织orgIdPath列表
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(queryAgencyIdList.get(NumConstant.ZERO)); staffOrgPaths = queryAgencyIdList.stream().map(agId -> {
if (agencyInfo == null){ AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(agId);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取组织信息失败"); if (agencyInfo == null) {
} String errorMsg = "查询机关单位失败:" + agId;
agencyId = agencyInfo.getId(); throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg);
staffOrgPath = agencyInfo.getPids(); }
if (StringUtils.isBlank(staffOrgPath)){ return PidUtils.convertPid2OrgIdPath(agId, agencyInfo.getPids());
staffOrgPath = agencyId; }).collect(Collectors.toList());
}else{
staffOrgPath = staffOrgPath+StrConstant.COLON+agencyInfo.getId();
}
} }
// 查询列表展示项需要用到哪些子表 // 查询列表展示项需要用到哪些子表
Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1); Result<List<SubTableJoinDTO>> subTablesRes = operCustomizeOpenFeignClient.querySubTables(queryDTO1);
List<SubTableJoinDTO> subTables = subTablesRes.getData(); List<SubTableJoinDTO> subTables = subTablesRes.getData();
@ -3378,14 +3422,19 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(); PageInfo<Map<String, Object>> pageInfo = new PageInfo<>();
if (null == formDTO.getIsPage() || formDTO.getIsPage()) { if (null == formDTO.getIsPage() || formDTO.getIsPage()) {
//分页 //分页
String finalStaffOrgPath = staffOrgPath; List<String> finalStaffOrgPath = staffOrgPaths;
List<String> finalAgencyIds = agencyIds;
pageInfo = PageHelper.startPage(formDTO.getPageNo(), pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(), formDTO.getFormCode(),
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
agencyId, finalStaffOrgPath,null, formDTO.getKeyword(), finalAgencyIds,
finalStaffOrgPath,
queryGridIdList,
null,
formDTO.getKeyword(),
groupByTables)); groupByTables));
} else { } else {
List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(), List<Map<String, Object>> list = baseDao.selectListResiMap(formDTO.getCustomerId(),
@ -3393,8 +3442,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
formDTO.getConditions(), formDTO.getConditions(),
resultColumns, resultColumns,
finalSubTables, finalSubTables,
agencyId, agencyIds,
staffOrgPath,null, staffOrgPaths,
queryGridIdList,
null,
formDTO.getKeyword(), formDTO.getKeyword(),
groupByTables); groupByTables);
pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size()); pageInfo.setTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.size());

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

@ -90,7 +90,24 @@
<if test="resultTableName != null and resultTableName != ''"> <if test="resultTableName != null and resultTableName != ''">
AND ${resultTableName}.ID IS NOT NULL AND ${resultTableName}.ID IS NOT NULL
</if> </if>
and ic_resi_user.pids like concat(#{staffOrgPath},'%') <!-- orgIdPath过滤 -->
and (
<foreach collection="staffOrgPaths" item="orgIdPath" separator="or">
ic_resi_user.pids like concat(#{orgIdPath},'%')
</foreach>
<if test='staffOrgPaths != null and staffOrgPaths.size() > 0 and gridIds != null and gridIds.size() > 0'>
or
</if>
<!-- 网格id过滤 -->
<if test="gridIds != null and gridIds.size() > 0">
ic_resi_user.GRID_ID in (
<foreach collection="gridIds" item="gridId" separator=",">
#{gridId}
</foreach>
)
</if>
)
<if test="null != conditions and conditions.size() > 0"> <if test="null != conditions and conditions.size() > 0">
<foreach item="subCondition" collection="conditions" open="" separator="" close=""> <foreach item="subCondition" collection="conditions" open="" separator="" close="">
<if test="null != subCondition.columnValue and subCondition.columnValue.size() > 0"> <if test="null != subCondition.columnValue and subCondition.columnValue.size() > 0">

Loading…
Cancel
Save