From e5f189be5cb845a90d3d4051eafd40b0875644c9 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 1 Nov 2021 14:00:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8D=A2=E4=B8=8B=E4=BD=8D=E7=BD=AE1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/HouseInfoDTO.java | 60 ++++++ .../epmet/feign/GovOrgOpenFeignClient.java | 7 +- .../GovOrgOpenFeignClientFallback.java | 6 + .../com/epmet/controller/HouseController.java | 16 +- .../main/java/com/epmet/dao/IcHouseDao.java | 8 +- .../java/com/epmet/service/HouseService.java | 5 +- .../epmet/service/impl/HouseServiceImpl.java | 9 +- .../src/main/resources/mapper/IcHouseDao.xml | 23 ++- .../epmet/dto/result/IcFormResColumnDTO.java | 18 ++ .../feign/OperCustomizeOpenFeignClient.java | 30 ++- .../OperCustomizeOpenFeignClientFallback.java | 17 ++ .../epmet/controller/IcFormController.java | 37 ++++ .../java/com/epmet/dao/IcFormItemDao.java | 26 +++ .../com/epmet/service/IcFormItemService.java | 8 + .../service/impl/IcFormItemServiceImpl.java | 21 ++- .../main/resources/mapper/IcFormItemDao.xml | 54 ++++++ .../epmet/dto/form/IcResiDetailFormDTO.java | 26 +++ .../epmet/dto/form/IcResiUserPageFormDTO.java | 38 ++++ .../epmet/dto/form/ResiUserQueryValueDTO.java | 20 ++ .../dto/result/IcResiUserPageResultDTO.java | 173 ++++++++++++++++++ .../java/com/epmet/constant/UserConstant.java | 4 + .../controller/IcResiUserController.java | 24 +++ .../java/com/epmet/dao/IcResiUserDao.java | 29 +++ .../com/epmet/service/IcResiUserService.java | 13 ++ .../service/impl/IcResiUserServiceImpl.java | 167 ++++++++++++++++- .../main/resources/mapper/IcResiUserDao.xml | 55 ++++++ 26 files changed, 869 insertions(+), 25 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormResColumnDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiDetailFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiUserQueryValueDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java new file mode 100644 index 0000000000..3221ee3647 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java @@ -0,0 +1,60 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/11/1 1:42 下午 + */ +@Data +public class HouseInfoDTO implements Serializable { + private static final long serialVersionUID = -419899682683323110L; + /** + * 所属家庭Id + */ + private String homeId; + + + /** + * 小区id + */ + private String neighborHoodId; + /** + * 小区名称 + */ + private String neighborHoodName; + + + /** + * 所属楼栋id + */ + private String buildingId; + /** + * 楼栋名称 + */ + private String buildingName; + + + /** + * 所属单元id + */ + private String buildingUnitId; + /** + * 单元名 + */ + private String unitName; + + + /** + * 门牌号 + */ + private String doorName; + + /** + * 房屋类型,1楼房,2平房,3别墅 + */ + private String houseType; +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index dbf264940b..df0707bedd 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -21,8 +21,8 @@ import java.util.Set; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:37 */ -//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092") -@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class) +@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092") +//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class) public interface GovOrgOpenFeignClient { /** @@ -450,4 +450,7 @@ public interface GovOrgOpenFeignClient { */ @PostMapping("/gov/org/grid/getbaseinfo") Result getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO); + + @PostMapping(value = "/gov/org/house/queryListHouseInfo",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryListHouseInfo(@RequestBody Set houseIds); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 8c66ac8787..98d3d64927 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -271,8 +271,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridBaseInfoByGridId", customerGridFormDTO); } + @Override + public Result> queryListHouseInfo(Set houseIds) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryListHouseInfo", houseIds); + } + @Override public Result selectPidsByGridId(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId); } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index 3e96997238..9f8f92188a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -20,37 +20,29 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; -import com.epmet.constant.NeighborhoodConstant; import com.epmet.dto.form.IcHouseFormDTO; import com.epmet.dto.form.IcNeighborHoodFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; -import com.epmet.excel.IcBuildingExcel; import com.epmet.excel.IcHouseExcel; -import com.epmet.excel.IcNeighborHoodExcel; import com.epmet.service.HouseService; import com.epmet.service.NeighborHoodService; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -165,4 +157,8 @@ public class HouseController { return new Result().ok("导入成功"); } + @PostMapping( "queryListHouseInfo") + Result> queryListHouseInfo(@RequestBody Set houseIds){ + return new Result>().ok(houseService.queryListHouseInfo(houseIds)); + } } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index e82789db12..fd07309c02 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -17,19 +17,17 @@ package com.epmet.dao; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Constants; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.entity.IcBuildingEntity; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.entity.IcHouseEntity; -import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.excel.IcHouseExcel; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; +import java.util.Set; /** * 房屋信息 @@ -52,4 +50,6 @@ public interface IcHouseDao extends BaseDao { @Param("house") IcHouseEntity house); List searchAllHouse(@Param("house") IcHouseEntity house); + + List queryHouseInfo(@Param("houseIdList") Set houseIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java index 20978c60b2..5bd4a78b65 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java @@ -19,12 +19,13 @@ package com.epmet.service; import com.epmet.dto.form.IcHouseFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.excel.IcHouseExcel; -import com.epmet.excel.IcNeighborHoodExcel; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Set; /** * 小区表 @@ -51,4 +52,6 @@ public interface HouseService { IcNeighborHoodResultDTO listNeighborhood(ListIcNeighborHoodFormDTO formDTO); void exportBuildinginfo(ListIcNeighborHoodFormDTO formDTO, HttpServletResponse response) throws Exception; + + List queryListHouseInfo(Set houseIds); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index ce495c0ebc..77f621e2ac 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -13,6 +13,7 @@ import com.epmet.dto.IcBuildingUnitDTO; import com.epmet.dto.IcHouseDTO; import com.epmet.dto.form.IcHouseFormDTO; import com.epmet.dto.form.ListIcNeighborHoodFormDTO; +import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.entity.IcBuildingEntity; import com.epmet.entity.IcHouseEntity; @@ -223,5 +224,11 @@ public class HouseServiceImpl implements HouseService { return icHouseDao.searchHouseByPage(page,house); } - + @Override + public List queryListHouseInfo(Set houseIdList) { + if(org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)){ + return new ArrayList<>(); + } + return icHouseDao.queryHouseInfo(houseIdList); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index 01764d05ad..370595a935 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -229,5 +229,26 @@ --> - + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormResColumnDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormResColumnDTO.java new file mode 100644 index 0000000000..52a3374449 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormResColumnDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 列表展示列返参结构 + * @Author yinzuomei + * @Date 2021/11/1 12:49 下午 + */ +@Data +public class IcFormResColumnDTO implements Serializable { + private String tableName; + private String columnName; + private String label; +} + diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index 34d02086a4..49f166d0db 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -10,6 +10,7 @@ import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.result.CheckFloatFootBarResultDTO; import com.epmet.dto.result.CustomerFormResultDTO; import com.epmet.dto.result.DefaultFunctionListResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -24,7 +26,8 @@ import java.util.List; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:16 */ -@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) +@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") +//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) public interface OperCustomizeOpenFeignClient { @PostMapping(value = "/oper/customize/customerfootbar/customerfootbars", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @@ -52,4 +55,29 @@ public interface OperCustomizeOpenFeignClient { */ @PostMapping(value = "/oper/customize/icform/getcustomerform", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Result getCustomerForm(@RequestBody CustomerFormQueryDTO formDto); + + /** + * 返回用于列表展示的列 + * + * @param queryDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/11/1 12:53 下午 + */ + @PostMapping(value = "/oper/customize/icform/queryConditions", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result> queryConditions(@RequestBody CustomerFormQueryDTO queryDTO); + + /** + * 构造出所有的子表连接语句格式:left join table_name on (ic_resi_user.ID=table_name.IC_RESI_USER AND table_name.del_flag='0') + * + * @param queryDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/11/1 1:07 下午 + */ + @PostMapping(value = "/oper/customize/icform/querySubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO); + + @PostMapping(value = "/oper/customize/icform/queryIcResiSubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO); } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 8b8bda2a13..8a300aeb19 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -11,9 +11,11 @@ import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.result.CheckFloatFootBarResultDTO; import com.epmet.dto.result.CustomerFormResultDTO; import com.epmet.dto.result.DefaultFunctionListResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.feign.OperCustomizeOpenFeignClient; import java.util.List; +import java.util.Set; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -55,4 +57,19 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe public Result getCustomerForm(CustomerFormQueryDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getCustomerForm", formDto); } + + @Override + public Result> queryConditions(CustomerFormQueryDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "queryConditions", formDto); + } + + @Override + public Result> querySubTables(CustomerFormQueryDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "querySubTables", formDto); + } + + @Override + public Result> queryIcResiSubTables(CustomerFormQueryDTO queryDTO) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "queryIcResiSubTables", queryDTO); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java index d3fdcc532c..5443b382a8 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java @@ -31,6 +31,7 @@ import com.epmet.dto.IcFormDTO; import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.CustomerFormResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; import com.epmet.excel.IcFormExcel; import com.epmet.service.IcFormItemService; @@ -42,6 +43,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; +import java.util.Set; /** @@ -142,4 +144,39 @@ public class IcFormController { ValidatorUtils.validateEntity(formDto,CustomerFormQueryDTO.AddUserInternalGroup.class); return new Result>().ok(icFormItemService.queryTableHeaderList(formDto)); } + + + /** + * feigin:返回用于列表展示的列 + * + * @param formQueryDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/11/1 12:54 下午 + */ + @PostMapping(value = "queryConditions") + Result> queryConditions(@RequestBody CustomerFormQueryDTO formQueryDTO) { + ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class); + return new Result>().ok(icFormItemService.queryConditions(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode())); + } + + /** + * 构造出所有子表关联语句 + * + * @param formQueryDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei + * @date 2021/11/1 1:25 下午 + */ + @PostMapping(value = "querySubTables") + Result> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){ + ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class); + return new Result>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode())); + } + + @PostMapping(value = "queryIcResiSubTables") + Result> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO){ + ValidatorUtils.validateEntity(queryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class); + return new Result>().ok(icFormItemService.queryIcResiSubTables(queryDTO.getCustomerId(),queryDTO.getFormCode())); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java index befdc98c06..b07c41ef84 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java @@ -19,12 +19,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.result.ConditionResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * 表单项 @@ -38,4 +40,28 @@ public interface IcFormItemDao extends BaseDao { List selectConditionList(@Param("customerId") String customerId, @Param("formCode") String formCode); List queryTableHeaderList(@Param("customerId") String customerId, @Param("formCode") String formCode); + + /** + * 返回用于列表展示的列有哪些:table.列名 + * + * @param customerId + * @param formCode + * @return java.util.List + * @author yinzuomei + * @date 2021/11/1 12:58 下午 + */ + List queryConditions(@Param("customerId") String customerId, @Param("formCode")String formCode); + + /** + * 构造出所有子表关联语句 + * + * @param customerId + * @param formCode + * @return java.util.List + * @author yinzuomei + * @date 2021/11/1 1:25 下午 + */ + List querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); + + Set queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java index 9a5ce5c9a6..15967aef43 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java @@ -22,11 +22,13 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcFormItemDTO; import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.result.ConditionResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import java.util.List; import java.util.Map; +import java.util.Set; /** * 表单项 @@ -107,4 +109,10 @@ public interface IcFormItemService extends BaseService { List queryConditionList(CustomerFormQueryDTO formDto); List queryTableHeaderList(CustomerFormQueryDTO formDto); + + List queryConditions(String customerId,String formCode); + + List querySubTables(String customerId, String formCode); + + Set queryIcResiSubTables(String customerId, String formCode); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java index 1c62d14ed7..c79d2e8fa0 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java @@ -28,6 +28,7 @@ import com.epmet.dao.IcFormItemDao; import com.epmet.dto.IcFormItemDTO; import com.epmet.dto.form.CustomerFormQueryDTO; import com.epmet.dto.result.ConditionResultDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import com.epmet.service.IcFormItemService; @@ -36,10 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 表单项 @@ -140,4 +138,19 @@ public class IcFormItemServiceImpl extends BaseServiceImpl queryConditions(String customerId,String formCode) { + return baseDao.queryConditions(customerId,formCode); + } + + @Override + public List querySubTables(String customerId, String formCode) { + return baseDao.querySubTables(customerId,formCode); + } + + @Override + public Set queryIcResiSubTables(String customerId, String formCode) { + return baseDao.queryIcResiSubTables(customerId,formCode); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml index e369303a80..e8e67a4ba3 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml @@ -87,4 +87,58 @@ and m.CUSTOMER_ID=#{customerId} order by m.SORT asc + + + + + + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiDetailFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiDetailFormDTO.java new file mode 100644 index 0000000000..72518091bd --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiDetailFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 查看详情,回显表单 + * @Author yinzuomei + * @Date 2021/10/27 10:22 下午 + */ +@Data +public class IcResiDetailFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + @NotBlank(message = "icResiUserId不能为空",groups = AddUserInternalGroup.class) + private String icResiUserId; + + @NotBlank(message = "formCode不能为空", groups = AddUserInternalGroup.class) + private String formCode; + + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java new file mode 100644 index 0000000000..44eb3bf105 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 居民信息,分页查询入参 + * @Author yinzuomei + * @Date 2021/10/27 2:06 下午 + */ +@Data +public class IcResiUserPageFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + @NotNull(message = "pageNo不能为空", groups = AddUserInternalGroup.class) + private Integer pageNo; + + @NotNull(message = "pageSize不能为空", groups = AddUserInternalGroup.class) + private Integer pageSize; + + @NotBlank(message = "formCode不能为空", groups = AddUserInternalGroup.class) + private String formCode; + + @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + private String customerId; + + /** + * 表对应的字段及值 + */ + private List conditions; + private Boolean pageFlag; +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiUserQueryValueDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiUserQueryValueDTO.java new file mode 100644 index 0000000000..cc654145c8 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiUserQueryValueDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/10/27 6:02 下午 + */ +@Data +public class ResiUserQueryValueDTO implements Serializable { + private String queryType; + private List columnValue; + private String columnName; + private String tableName; +} + diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java new file mode 100644 index 0000000000..0c5f5ab0bf --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java @@ -0,0 +1,173 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/11/1 10:34 上午 + */ +@Data +public class IcResiUserPageResultDTO implements Serializable { + private static final long serialVersionUID = 5621052927788129250L; + private String icResiUserId; + private String gridId; + private String gridName; + /** + * 所属小区ID + */ + private String villageId; + private String vallageName; + + + /** + * 所属楼宇Id + */ + private String buildId; + private String buildName; + + /** + * 单元id + */ + private String unitId; + private String unitName; + + /** + * 所属家庭Id + */ + private String homeId; + private String homeName; + + /** + * 姓名 + */ + private String name; + + /** + * 手机号 + */ + private String mobile; + + /** + * 性别 + */ + private String gender; + + /** + * 身份证号 + */ + private String idCard; + + /** + * 出生日期 + */ + private String birthday; + + /** + * 备注 + */ + private String remarks; + + /** + * 是否党员 + */ + private Boolean isParty; + + /** + * 是否低保户 + */ + private Boolean isDbh; + + /** + * 是否保障房 + */ + private Boolean isEnsureHouse; + + /** + * 是否失业 + */ + private Boolean isUnemployed; + + /** + * 是否育龄妇女 + */ + private Boolean isYlfn; + + /** + * 是否退役军人 + */ + private Boolean isVeterans; + + /** + * 是否统战人员 + */ + private Boolean isUnitedFront; + + /** + * 是否信访人员 + */ + private Boolean isXfry; + + /** + * 是否志愿者 + */ + private Boolean isVolunteer; + + /** + * 是否老年人 + */ + private Boolean isOldPeople; + + /** + * 是否空巢 + */ + private Boolean isKc; + + /** + * 是否失独 + */ + private Boolean isSd; + + /** + * 是否失能 + */ + private Boolean isSn; + + /** + * 是否失智 + */ + private Boolean isSz; + + /** + * 是否残疾 + */ + private Boolean isCj; + + /** + * 是否大病 + */ + private Boolean isDb; + + /** + * 是否慢病 + */ + private Boolean isMb; + + /** + * 是否特殊人群 + */ + private Boolean isSpecial; + + + // 以下属性都需要单独处理,不是直接取数据库的字段 + private String demandCategoryIds; + + private String demandName; + + /** + * 房屋类型,1楼房,2平房,3别墅 + */ + private String houseType;} + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java index 1e91d3cb14..69046a3f84 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java @@ -97,4 +97,8 @@ public interface UserConstant { * 先生/女士 */ String MAN_WOMAN = "先生/女士"; + + String GRID_ID="GRID_ID"; + String GENDER="GENDER"; + String HOUSE_TYPE_KEY="HOUSE_TYPE"; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 753b3e5fe4..e00e092d1b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -36,7 +36,9 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.IcResiDetailFormDTO; import com.epmet.dto.form.IcResiUserFormDTO; +import com.epmet.dto.form.IcResiUserPageFormDTO; import com.epmet.dto.result.CustomerFormResultDTO; import com.epmet.dto.result.FormGroupDTO; import com.epmet.dto.result.FormItem; @@ -279,4 +281,26 @@ public class IcResiUserController { everySheetHeaderMap.putIfAbsent(item.getLabel(),firstSheetHeaderList); } + @PostMapping("listresi") + public Result>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){ + //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + pageFormDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(pageFormDTO,IcResiUserPageFormDTO.AddUserInternalGroup.class); + return new Result>>().ok(icResiUserService.pageResiMap(pageFormDTO)); + } + /** + * 编辑页面,显示居民信息详情 + * + * @param pageFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/10/28 10:29 上午 + */ + @PostMapping("detail") + public Result queryIcResiDetail(@LoginUser TokenDto tokenDto,@RequestBody IcResiDetailFormDTO pageFormDTO){ + //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); + pageFormDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(pageFormDTO,IcResiDetailFormDTO.AddUserInternalGroup.class); + return new Result().ok(icResiUserService.queryIcResiDetail(pageFormDTO)); + } } 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 3ddc71fec4..ab959cb80a 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 @@ -18,10 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ResiUserQueryValueDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.entity.IcResiUserEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -44,4 +47,30 @@ public interface IcResiUserDao extends BaseDao { * @Description 更新或新增居民信息各表数据 **/ void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map map); + + List> selectListResiMap(@Param("customerId") String customerId, + @Param("formCode") String formCode, + @Param("conditions") List conditions, + @Param("resultColumns") List resultColumns, + @Param("subTables") List subTables); + /** + * 查询主表 + * + * @param icResiUserId + * @return java.util.List> + * @author yinzuomei + * @date 2021/10/28 11:20 上午 + */ + List> selectListMapById(String icResiUserId); + + /** + * 根据ic_resi_user.id去查询各个子表记录,动态传入表名 + * + * @param icResiUserId + * @param tableName + * @return java.util.List> + * @author yinzuomei + * @date 2021/10/28 11:19 上午 + */ + List> selectSubTableRecords(@Param("icResiUserId") String icResiUserId,@Param("tableName") String tableName); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index fe66ec72e6..e1e7713c61 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcResiUserDTO; +import com.epmet.dto.form.IcResiDetailFormDTO; import com.epmet.dto.form.IcResiUserFormDTO; +import com.epmet.dto.form.IcResiUserPageFormDTO; import com.epmet.entity.IcResiUserEntity; import java.util.List; @@ -106,4 +108,15 @@ public interface IcResiUserService extends BaseService { * @Description 党建互联平台--修改居民信息 **/ void edit(TokenDto tokenDto, List formDTO); + + PageData> pageResiMap(IcResiUserPageFormDTO formDTO); + /** + * 编辑页面,显示居民信息详情 + * + * @param pageFormDTO + * @return java.util.Map + * @author yinzuomei + * @date 2021/10/28 10:29 上午 + */ + Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO); } \ 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 9ca0788099..b3a0ba0439 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,33 +17,50 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.enums.GenderEnum; +import com.epmet.commons.tools.enums.HouseTypeEnum; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; 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.UserConstant; import com.epmet.dao.IcResiUserDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.IcResiUserDTO; +import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.IcResiDetailFormDTO; import com.epmet.dto.form.IcResiUserFormDTO; +import com.epmet.dto.form.IcResiUserPageFormDTO; +import com.epmet.dto.result.AllGridsByUserIdResultDTO; +import com.epmet.dto.result.HouseInfoDTO; +import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.entity.IcResiUserEntity; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.redis.IcResiUserRedis; import com.epmet.service.IcResiUserService; -import oracle.sql.NUMBER; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 用户基础信息 @@ -51,6 +68,7 @@ import java.util.*; * @author generator generator@elink-cn.com * @since v1.0.0 2021-10-26 */ +@Slf4j @Service public class IcResiUserServiceImpl extends BaseServiceImpl implements IcResiUserService { private Logger logger = LogManager.getLogger(IcResiUserServiceImpl.class); @@ -58,6 +76,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl page(Map params) { @@ -216,4 +238,147 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> pageResiMap(IcResiUserPageFormDTO formDTO) { + // 查询列表展示项,如果没有,直接返回 + CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO(); + queryDTO1.setCustomerId(formDTO.getCustomerId()); + queryDTO1.setFormCode(queryDTO1.getFormCode()); + Result> resultColumnRes=operCustomizeOpenFeignClient.queryConditions(queryDTO1); + if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) { + log.warn("没有配置列表展示列"); + return new PageData(new ArrayList(), NumConstant.ZERO); + } + List resultColumns = resultColumnRes.getData(); + // 查询列表展示项需要用到哪些子表 + Result> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1); + List subTables =subTablesRes.getData(); + PageInfo> pageInfo=new PageInfo<>(); + if (null == formDTO.getPageFlag()||formDTO.getPageFlag()) { + //分页 + pageInfo= PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectListResiMap(formDTO.getCustomerId(), + formDTO.getFormCode(), + formDTO.getConditions(), + resultColumns, + subTables)); + }else{ + List> list=baseDao.selectListResiMap(formDTO.getCustomerId(), + formDTO.getFormCode(), + formDTO.getConditions(), + resultColumns, + subTables); + pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size()); + pageInfo.setList(list); + } + + List> list = pageInfo.getList(); + //查询网格名称 + List gridIds = new ArrayList<>(); + Set houseIds = new HashSet<>(); + for (Map map : list) { + log.warn(JSON.toJSONString(map)); + if (map.containsKey(UserConstant.GRID_ID) && null != map.get(UserConstant.GRID_ID) && StringUtils.isNotBlank(map.get(UserConstant.GRID_ID).toString())) { + gridIds.add(map.get(UserConstant.GRID_ID).toString()); + } + if (map.containsKey("HOME_ID") && null != map.get("HOME_ID") && StringUtils.isNotBlank(map.get("HOME_ID").toString())) { + houseIds.add(map.get("HOME_ID").toString()); + } + } + Result> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds); + List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>(); + Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity())); + + //查询房子名称 + Result> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds); + List houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>(); + Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + for (Map resultMap : list) { + String gridIdValue = null != resultMap.get(UserConstant.GRID_ID) ? resultMap.get(UserConstant.GRID_ID).toString() : StrConstant.EPMETY_STR; + resultMap.put("GRID_ID_VALUE", gridIdValue); + if (null != gridInfoMap && gridInfoMap.containsKey(gridIdValue) && null != gridInfoMap.get(gridIdValue)) { + //GRID_NAME + resultMap.put(UserConstant.GRID_ID, gridInfoMap.get(gridIdValue).getGridName()); + } + + String homeId = null != resultMap.get("HOME_ID") ? resultMap.get("HOME_ID").toString() : StrConstant.EPMETY_STR; + resultMap.put("HOME_ID_VALUE", homeId); + if (null != houseInfoMap && houseInfoMap.containsKey(homeId) && null != houseInfoMap.get(homeId)) { + HouseInfoDTO houseInfoDTO = houseInfoMap.get(homeId); + String buildName = StringUtils.isNotBlank(houseInfoDTO.getBuildingName()) ? houseInfoDTO.getBuildingName() : StrConstant.EPMETY_STR; + resultMap.put("BUILD_NAME", buildName); + + String neighBorName = StringUtils.isNotBlank(houseInfoDTO.getNeighborHoodName()) ? houseInfoDTO.getNeighborHoodName() : StrConstant.EPMETY_STR; + resultMap.put("VILLAGE_NAME", neighBorName); + + String unitName = StringUtils.isNotBlank(houseInfoDTO.getUnitName()) ? houseInfoDTO.getUnitName() : StrConstant.EPMETY_STR; + resultMap.put("UNIT_NAME", unitName); + + String doorName = StringUtils.isNotBlank(houseInfoDTO.getDoorName()) ? houseInfoDTO.getDoorName() : StrConstant.EPMETY_STR; + resultMap.put("DOOR_NAME", doorName); + + String houseType = StringUtils.isNotBlank(houseInfoDTO.getHouseType()) ? houseInfoDTO.getHouseType() : StrConstant.EPMETY_STR; + //房屋类型,1楼房,2平房,3别墅 + resultMap.put(UserConstant.HOUSE_TYPE_KEY, ""); + if (HouseTypeEnum.LOUFANG.getCode().equals(houseType)) { + resultMap.put(UserConstant.HOUSE_TYPE_KEY, HouseTypeEnum.LOUFANG.getName()); + } else if (HouseTypeEnum.PINGFANG.getCode().equals(houseType)) { + resultMap.put(UserConstant.HOUSE_TYPE_KEY, HouseTypeEnum.PINGFANG.getName()); + } else if (HouseTypeEnum.BIESHU.getCode().equals(houseType)) { + resultMap.put(UserConstant.HOUSE_TYPE_KEY, HouseTypeEnum.BIESHU.getName()); + } + + resultMap.put("HOME_ID", neighBorName.concat(buildName).concat(unitName).concat(doorName)); + } + + if (resultMap.containsKey(UserConstant.GENDER)) { + String genderValue = null != resultMap.get(UserConstant.GENDER) ? resultMap.get(UserConstant.GENDER).toString() : StrConstant.EPMETY_STR; + if (GenderEnum.MAN.getCode().equals(genderValue)) { + resultMap.put(UserConstant.GENDER, GenderEnum.MAN.getName()); + } else if (GenderEnum.WOMAN.getCode().equals(genderValue)) { + resultMap.put(UserConstant.GENDER, GenderEnum.WOMAN.getName()); + } else if (GenderEnum.UN_KNOWN.getCode().equals(genderValue)) { + resultMap.put(UserConstant.GENDER, GenderEnum.UN_KNOWN.getName()); + } + } + } + pageInfo.setList(list); + return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); + } + + /** + * 编辑页面,显示居民信息详情 + * + * @param pageFormDTO + * @return java.util.Map + * @author yinzuomei + * @date 2021/10/28 10:29 上午 + */ + @Override + public Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO) { + Map resultMap = new HashMap(); + // 先查询主表,主表没有记录,直接返回空 + List> icResiUserMapList = baseDao.selectListMapById(pageFormDTO.getIcResiUserId()); + if (CollectionUtils.isEmpty(icResiUserMapList)) { + return new HashMap(); + } + resultMap.put("ic_resi_user", icResiUserMapList); + CustomerFormQueryDTO queryDTO=ConvertUtils.sourceToTarget(pageFormDTO,CustomerFormQueryDTO.class); + //循环查询每个子表的记录 + Result> subTableRes=operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); + if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){ + for (String subTalbeName : subTableRes.getData()) { + List> list = baseDao.selectSubTableRecords(pageFormDTO.getIcResiUserId(), subTalbeName); + if (!CollectionUtils.isEmpty(list)) { + resultMap.put(subTalbeName, list); + } + //else{ + // resultMap.put(subTalbeName,new ArrayList<>()); + //} + } + } + return resultMap; + } } \ No newline at end of file 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 a80df030b9..c3d73a3fe1 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 @@ -35,4 +35,59 @@ WHERE id = #{id} + + + + + + + \ No newline at end of file