Browse Source

换下位置1

dev_shibei_match
yinzuomei 4 years ago
parent
commit
e5f189be5c
  1. 60
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoDTO.java
  2. 7
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  3. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  4. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  5. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  6. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  7. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  8. 23
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  9. 18
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormResColumnDTO.java
  10. 30
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  11. 17
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  12. 37
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java
  13. 26
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java
  14. 8
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
  15. 21
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
  16. 54
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
  17. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiDetailFormDTO.java
  18. 38
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
  19. 20
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ResiUserQueryValueDTO.java
  20. 173
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserPageResultDTO.java
  21. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserConstant.java
  22. 24
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  23. 29
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  24. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  25. 167
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  26. 55
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

60
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;
}

7
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<CustomerGridDTO> getGridBaseInfoByGridId(CustomerGridFormDTO customerGridFormDTO);
@PostMapping(value = "/gov/org/house/queryListHouseInfo",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<HouseInfoDTO>> queryListHouseInfo(@RequestBody Set<String> houseIds);
}

6
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<List<HouseInfoDTO>> queryListHouseInfo(Set<String> houseIds) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "queryListHouseInfo", houseIds);
}
@Override
public Result<String> selectPidsByGridId(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectPidsByGridId", gridId);
}
}

16
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<List<HouseInfoDTO>> queryListHouseInfo(@RequestBody Set<String> houseIds){
return new Result<List<HouseInfoDTO>>().ok(houseService.queryListHouseInfo(houseIds));
}
}

8
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<IcHouseEntity> {
@Param("house") IcHouseEntity house);
List<IcHouseExcel> searchAllHouse(@Param("house") IcHouseEntity house);
List<HouseInfoDTO> queryHouseInfo(@Param("houseIdList") Set<String> houseIdList);
}

5
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<HouseInfoDTO> queryListHouseInfo(Set<String> houseIds);
}

9
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<HouseInfoDTO> queryListHouseInfo(Set<String> houseIdList) {
if(org.apache.commons.collections4.CollectionUtils.isEmpty(houseIdList)){
return new ArrayList<>();
}
return icHouseDao.queryHouseInfo(houseIdList);
}
}

23
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -229,5 +229,26 @@
</select>-->
<select id="queryHouseInfo" parameterType="map" resultType="com.epmet.dto.result.HouseInfoDTO">
SELECT
ih.ID as homeId,
ih.NEIGHBOR_HOOD_ID as neighborHoodId,
n.NEIGHBOR_HOOD_NAME as neighborHoodName,
ih.BUILDING_ID as buildingId,
ib.BUILDING_NAME as buildingName,
ih.BUILDING_UNIT_ID as buildingUnitId,
u.UNIT_NAME as unitName,
ih.DOOR_NAME as doorName,
ih.house_type
FROM
ic_house ih
left JOIN ic_neighbor_hood n ON ( ih.NEIGHBOR_HOOD_ID = n.id )
left JOIN ic_building ib ON ( ih.BUILDING_ID = ib.id )
left JOIN ic_building_unit u ON ( ih.BUILDING_UNIT_ID = u.ID )
WHERE
ih.DEL_FLAG = '0'
<foreach collection="houseIdList" item="houseId" separator=" OR " open="AND (" close=")">
ih.ID = #{houseId}
</foreach>
</select>
</mapper>

18
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;
}

30
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<CustomerFormResultDTO> getCustomerForm(@RequestBody CustomerFormQueryDTO formDto);
/**
* 返回用于列表展示的列
*
* @param queryDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.IcFormResColumnDTO>>
* @author yinzuomei
* @date 2021/11/1 12:53 下午
*/
@PostMapping(value = "/oper/customize/icform/queryConditions", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<IcFormResColumnDTO>> 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<java.util.List<java.lang.String>>
* @author yinzuomei
* @date 2021/11/1 1:07 下午
*/
@PostMapping(value = "/oper/customize/icform/querySubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<String>> querySubTables(@RequestBody CustomerFormQueryDTO queryDTO);
@PostMapping(value = "/oper/customize/icform/queryIcResiSubTables", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<Set<String>> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO);
}

17
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<CustomerFormResultDTO> getCustomerForm(CustomerFormQueryDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getCustomerForm", formDto);
}
@Override
public Result<List<IcFormResColumnDTO>> queryConditions(CustomerFormQueryDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "queryConditions", formDto);
}
@Override
public Result<List<String>> querySubTables(CustomerFormQueryDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "querySubTables", formDto);
}
@Override
public Result<Set<String>> queryIcResiSubTables(CustomerFormQueryDTO queryDTO) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "queryIcResiSubTables", queryDTO);
}
}

37
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<List<TableHeaderResultDTO>>().ok(icFormItemService.queryTableHeaderList(formDto));
}
/**
* feigin:返回用于列表展示的列
*
* @param formQueryDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.IcFormResColumnDTO>>
* @author yinzuomei
* @date 2021/11/1 12:54 下午
*/
@PostMapping(value = "queryConditions")
Result<List<IcFormResColumnDTO>> queryConditions(@RequestBody CustomerFormQueryDTO formQueryDTO) {
ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class);
return new Result<List<IcFormResColumnDTO>>().ok(icFormItemService.queryConditions(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode()));
}
/**
* 构造出所有子表关联语句
*
* @param formQueryDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<java.lang.String>>
* @author yinzuomei
* @date 2021/11/1 1:25 下午
*/
@PostMapping(value = "querySubTables")
Result<List<String>> querySubTables(@RequestBody CustomerFormQueryDTO formQueryDTO){
ValidatorUtils.validateEntity(formQueryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class);
return new Result<List<String>>().ok(icFormItemService.querySubTables(formQueryDTO.getCustomerId(),formQueryDTO.getFormCode()));
}
@PostMapping(value = "queryIcResiSubTables")
Result<Set<String>> queryIcResiSubTables(@RequestBody CustomerFormQueryDTO queryDTO){
ValidatorUtils.validateEntity(queryDTO,CustomerFormQueryDTO.AddUserInternalGroup.class);
return new Result<Set<String>>().ok(icFormItemService.queryIcResiSubTables(queryDTO.getCustomerId(),queryDTO.getFormCode()));
}
}

26
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<IcFormItemEntity> {
List<ConditionResultDTO> selectConditionList(@Param("customerId") String customerId, @Param("formCode") String formCode);
List<TableHeaderResultDTO> queryTableHeaderList(@Param("customerId") String customerId, @Param("formCode") String formCode);
/**
* 返回用于列表展示的列有哪些table.列名
*
* @param customerId
* @param formCode
* @return java.util.List<com.epmet.dto.result.IcFormResColumnDTO>
* @author yinzuomei
* @date 2021/11/1 12:58 下午
*/
List<IcFormResColumnDTO> queryConditions(@Param("customerId") String customerId, @Param("formCode")String formCode);
/**
* 构造出所有子表关联语句
*
* @param customerId
* @param formCode
* @return java.util.List<java.lang.String>
* @author yinzuomei
* @date 2021/11/1 1:25 下午
*/
List<String> querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode);
Set<String> queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode);
}

8
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<IcFormItemEntity> {
List<ConditionResultDTO> queryConditionList(CustomerFormQueryDTO formDto);
List<TableHeaderResultDTO> queryTableHeaderList(CustomerFormQueryDTO formDto);
List<IcFormResColumnDTO> queryConditions(String customerId,String formCode);
List<String> querySubTables(String customerId, String formCode);
Set<String> queryIcResiSubTables(String customerId, String formCode);
}

21
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<IcFormItemDao, IcForm
return list;
}
@Override
public List<IcFormResColumnDTO> queryConditions(String customerId,String formCode) {
return baseDao.queryConditions(customerId,formCode);
}
@Override
public List<String> querySubTables(String customerId, String formCode) {
return baseDao.querySubTables(customerId,formCode);
}
@Override
public Set<String> queryIcResiSubTables(String customerId, String formCode) {
return baseDao.queryIcResiSubTables(customerId,formCode);
}
}

54
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
</select>
<!-- 用于列表展示的列:table.列名 -->
<select id="queryConditions" parameterType="map" resultType="com.epmet.dto.result.IcFormResColumnDTO">
select
temp.table_name,
concat(temp.table_name,'.',temp.columnName) as columnName,
temp.LABEL
from (
SELECT
( CASE WHEN M.ITEM_GROUP_ID = '0' THEN 'ic_resi_user' ELSE g.TABLE_NAME END ) AS table_name,
m.COLUMN_NAME AS columnName,
m.LABEL
FROM
ic_form_item m
LEFT JOIN ic_form_item_group g ON ( m.ITEM_GROUP_ID = g.id )
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId}
and m.FORM_CODE=#{formCode}
AND m.LIST_DISPLAY = '1'
)temp
</select>
<!-- 构造出所有子表关联语句 -->
<select id="querySubTables" parameterType="map" resultType="java.lang.String">
select
CONCAT('left join ',temp.TABLE_NAME, ' on ( ic_resi_user.ID=',temp.TABLE_NAME,'.IC_RESI_USER and ',temp.TABLE_NAME,'.del_flag="0" )') as subTables
from (
SELECT DISTINCT
m.TABLE_NAME
FROM
ic_form_item_group m
WHERE
m.DEL_FLAG = '0'
AND m.TABLE_NAME IS NOT NULL
AND m.TABLE_NAME != ''
AND m.CUSTOMER_ID = #{customerId}
AND m.FORM_CODE = #{formCode}
)temp
</select>
<select id="queryIcResiSubTables" parameterType="map" resultType="java.lang.String">
SELECT DISTINCT
m.TABLE_NAME
FROM
ic_form_item_group m
WHERE
m.DEL_FLAG = '0'
AND m.TABLE_NAME IS NOT NULL
AND m.TABLE_NAME != ''
AND m.CUSTOMER_ID = #{customerId}
AND m.FORM_CODE = #{formCode}
</select>
</mapper>

26
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;
}

38
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<ResiUserQueryValueDTO> conditions;
private Boolean pageFlag;
}

20
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<String> columnValue;
private String columnName;
private String tableName;
}

173
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;}

4
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";
}

24
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<PageData<Map<String,Object>>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){
//pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(pageFormDTO,IcResiUserPageFormDTO.AddUserInternalGroup.class);
return new Result<PageData<Map<String,Object>>>().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));
}
}

29
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<IcResiUserEntity> {
* @Description 更新或新增居民信息各表数据
**/
void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map<String, String> map);
List<Map<String,Object>> selectListResiMap(@Param("customerId") String customerId,
@Param("formCode") String formCode,
@Param("conditions") List<ResiUserQueryValueDTO> conditions,
@Param("resultColumns") List<IcFormResColumnDTO> resultColumns,
@Param("subTables") List<String> subTables);
/**
* 查询主表
*
* @param icResiUserId
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
* @author yinzuomei
* @date 2021/10/28 11:20 上午
*/
List<Map<String, Object>> selectListMapById(String icResiUserId);
/**
* 根据ic_resi_user.id去查询各个子表记录动态传入表名
*
* @param icResiUserId
* @param tableName
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
* @author yinzuomei
* @date 2021/10/28 11:19 上午
*/
List<Map<String, Object>> selectSubTableRecords(@Param("icResiUserId") String icResiUserId,@Param("tableName") String tableName);
}

13
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<IcResiUserEntity> {
* @Description 党建互联平台--修改居民信息
**/
void edit(TokenDto tokenDto, List<IcResiUserFormDTO> formDTO);
PageData<Map<String,Object>> pageResiMap(IcResiUserPageFormDTO formDTO);
/**
* 编辑页面显示居民信息详情
*
* @param pageFormDTO
* @return java.util.Map
* @author yinzuomei
* @date 2021/10/28 10:29 上午
*/
Map queryIcResiDetail(IcResiDetailFormDTO pageFormDTO);
}

167
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<IcResiUserDao, IcResiUserEntity> implements IcResiUserService {
private Logger logger = LogManager.getLogger(IcResiUserServiceImpl.class);
@ -58,6 +76,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
private IcResiUserRedis icResiUserRedis;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient;
@Override
public PageData<IcResiUserDTO> page(Map<String, Object> params) {
@ -216,4 +238,147 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
}
public PageData<Map<String, Object>> pageResiMap(IcResiUserPageFormDTO formDTO) {
// 查询列表展示项,如果没有,直接返回
CustomerFormQueryDTO queryDTO1=new CustomerFormQueryDTO();
queryDTO1.setCustomerId(formDTO.getCustomerId());
queryDTO1.setFormCode(queryDTO1.getFormCode());
Result<List<IcFormResColumnDTO>> resultColumnRes=operCustomizeOpenFeignClient.queryConditions(queryDTO1);
if (!resultColumnRes.success() || CollectionUtils.isEmpty(resultColumnRes.getData())) {
log.warn("没有配置列表展示列");
return new PageData(new ArrayList(), NumConstant.ZERO);
}
List<IcFormResColumnDTO> resultColumns = resultColumnRes.getData();
// 查询列表展示项需要用到哪些子表
Result<List<String>> subTablesRes=operCustomizeOpenFeignClient.querySubTables(queryDTO1);
List<String> subTables =subTablesRes.getData();
PageInfo<Map<String, Object>> 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<Map<String,Object>> list=baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables);
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size());
pageInfo.setList(list);
}
List<Map<String, Object>> list = pageInfo.getList();
//查询网格名称
List<String> gridIds = new ArrayList<>();
Set<String> houseIds = new HashSet<>();
for (Map<String, Object> 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<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//查询房子名称
Result<List<HouseInfoDTO>> houseInfoRes=govOrgOpenFeignClient.queryListHouseInfo(houseIds);
List<HouseInfoDTO> houseInfoDTOList = houseInfoRes.success() && !CollectionUtils.isEmpty(houseInfoRes.getData()) ? houseInfoRes.getData() : new ArrayList<>();
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
for (Map<String, Object> 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<Map<String, Object>> 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<Set<String>> subTableRes=operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO);
if(subTableRes.success()&&!CollectionUtils.isEmpty(subTableRes.getData())){
for (String subTalbeName : subTableRes.getData()) {
List<Map<String, Object>> list = baseDao.selectSubTableRecords(pageFormDTO.getIcResiUserId(), subTalbeName);
if (!CollectionUtils.isEmpty(list)) {
resultMap.put(subTalbeName, list);
}
//else{
// resultMap.put(subTalbeName,new ArrayList<>());
//}
}
}
return resultMap;
}
}

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

@ -35,4 +35,59 @@
WHERE id = #{id}
</update>
<select id="selectListMapById" parameterType="java.lang.String" resultType="map">
select * from ic_resi_user where del_flag='0' and id=#{icResiUserId}
</select>
<select id="selectSubTableRecords" parameterType="map" resultType="map">
select * from ${tableName} where del_flag='0' and IC_RESI_USER=#{icResiUserId}
</select>
<select id="selectListResiMap" parameterType="map" resultType="map">
select
ic_resi_user.id as icResiUserId,
<foreach item="column" collection="resultColumns" open="" separator="," close="">
${column.columnName}
</foreach>
,
GROUP_CONCAT(ic_resi_demand.CATEGORY_CODE) as DEMAND_CATEGORY_IDS,
GROUP_CONCAT(ic_resi_demand_dict.CATEGORY_NAME) as DEMAND_NAME
FROM
ic_resi_user
<if test="null != subTables and subTables.size() > 0">
<foreach item="subTableName" collection="subTables" open="" separator="" close="">
${subTableName}
</foreach>
</if>
left join ic_resi_demand_dict
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
ic_resi_user.DEL_FLAG = '0'
and ic_resi_user.customer_id=#{customerId}
<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>
<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>
group by IC_RESI_USER.id
order by ic_resi_user.CREATED_TIME desc
</select>
</mapper>
Loading…
Cancel
Save