diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java index bde896c27c..6a89bb2037 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PersonDataResultDTO.java @@ -27,7 +27,7 @@ public class PersonDataResultDTO implements Serializable { /** * 人员类别 */ - private String personCategory; + private List personCategory; /** * 网格名 @@ -59,7 +59,7 @@ public class PersonDataResultDTO implements Serializable { public PersonDataResultDTO() { this.workUnit = ""; - this.personCategory = ""; + this.personCategory = new ArrayList<>(); this.gridName = ""; this.name = ""; this.financialSituation = new FinancialSituationDTO(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/IcPlatformConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/IcPlatformConstant.java new file mode 100644 index 0000000000..8bfac04bcc --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/IcPlatformConstant.java @@ -0,0 +1,16 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @DateTime 2021/11/8 11:05 上午 + * @DESC + */ +public interface IcPlatformConstant { + + /** + * 人员类别显示 + */ + String PERSON_CATEGORY_SHOW = "show"; + String PERSON_CATEGORY_HIDDEN = "hidden"; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 4825f7abaa..c3ed3df1f9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -133,4 +133,13 @@ public interface IcResiUserDao extends BaseDao { */ List selectVolunteerByUserId(@Param("userId")String userId); + /** + * @Description 查询人员类别 + * @param columns + * @author zxc + * @date 2021/11/8 1:50 下午 + */ + Map selectPersonType(@Param("columns")List columns,@Param("customerId")String customerId, + @Param("tableName")String tableName); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 59fe112b31..0ad386f461 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -37,12 +38,14 @@ import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.IcPlatformConstant; import com.epmet.constant.SystemMessageType; import com.epmet.constant.UserConstant; import com.epmet.dao.IcResiUserDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.IcHouseDTO; +import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -56,6 +59,7 @@ import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -526,6 +530,33 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> categoryListResult = operCustomizeOpenFeignClient.getCategoryList(dto); + if (!categoryListResult.success()){ + throw new RenException("查询客户下的人员类别失败..."); + } + List categoryData = categoryListResult.getData(); + if (!CollectionUtils.isEmpty(categoryData)){ + Map> groupByStatus = categoryData.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getStatus)); + List showList = groupByStatus.get(IcPlatformConstant.PERSON_CATEGORY_SHOW); + List personCategoryList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(showList)){ + Map> groupByTableName = showList.stream().collect(Collectors.groupingBy(IcResiCategoryStatsConfigDTO::getTableName)); + groupByTableName.forEach((tableName,list) -> { + List columns = list.stream().map(IcResiCategoryStatsConfigDTO::getColumnName).collect(Collectors.toList()); + Map result = baseDao.selectPersonType(columns, personData.getCustomerId(), tableName); + list.forEach(l -> { + result.forEach((k,v) -> { + if (l.getColumnName().equals(k) && v.equals(NumConstant.ONE_STR)){ + personCategoryList.add(l.getLabel()); + } + }); + }); + }); + personData.setPersonCategory(personCategoryList); + } + } return personData; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 87ecaf57ca..427665134c 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -252,4 +252,15 @@ + + + \ No newline at end of file