diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcResiUserController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcResiUserController.java index d5f0e0facb..2d0a8270c6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcResiUserController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcResiUserController.java @@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Map; + /** * @Description TODO * @Author yinzuomei @@ -37,7 +39,7 @@ public class IcResiUserController { * @author yinzuomei * @date 2021/10/28 10:29 上午 */ - @PostMapping("listresi") + @PostMapping("listresi1") public Result> queryListResi(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){ //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); pageFormDTO.setCustomerId(tokenDto.getCustomerId()); @@ -45,7 +47,13 @@ public class IcResiUserController { return new Result>().ok(icResiUserService.pageResi(pageFormDTO)); } - + @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)); + } /** * 编辑页面,显示居民信息详情 * diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java index bd70e305be..fbfc9564d5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java @@ -16,7 +16,11 @@ public interface IcResiUserDao { @Param("conditions") List conditions, @Param("resultColumns") List resultColumns, @Param("subTables") List subTables); - + List> selectListResiMap(@Param("customerId") String customerId, + @Param("formCode") String formCode, + @Param("conditions") List conditions, + @Param("resultColumns") List resultColumns, + @Param("subTables") List subTables); /** * 查询主表 * diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiUserService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiUserService.java index 21c0163469..ab112bfa8a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiUserService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiUserService.java @@ -16,8 +16,10 @@ public interface IcResiUserService { * @author yinzuomei * @date 2021/10/28 10:30 上午 */ + @Deprecated PageData pageResi(IcResiUserPageFormDTO pageFormDTO); + PageData> pageResiMap(IcResiUserPageFormDTO formDTO); /** * 编辑页面,显示居民信息详情 * diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiUserServiceImpl.java index 993598f4ef..cce4515441 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiUserServiceImpl.java @@ -18,6 +18,7 @@ import com.epmet.dataaggre.service.opercustomize.CustomerFootBarService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -110,7 +111,89 @@ public class IcResiUserServiceImpl implements IcResiUserService { } + public PageData> pageResiMap(IcResiUserPageFormDTO formDTO) { + // 查询列表展示项,如果没有,直接返回 + List resultColumns=customerFootBarService.queryConditions(formDTO.getCustomerId(),formDTO.getFormCode()); + if(CollectionUtils.isEmpty(resultColumns)){ + log.warn("没有配置列表展示列"); + return new PageData(new ArrayList(), NumConstant.ZERO); + } + log.warn("列表展示项:"+JSON.toJSONString(resultColumns)); + // 查询列表展示项需要用到哪些子表 + // 拼接好的left join table_name on (ic_resi_user.ID=table_name.IC_RESI_USER AND table_name.del_flag='0') + List subTables=customerFootBarService.querySubTables(formDTO.getCustomerId(),formDTO.getFormCode()); + log.info("子表:"+JSON.toJSONString(subTables)); + PageInfo> pageInfo = PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize()).doSelectPageInfo(() -> icResiUserDao.selectListResiMap(formDTO.getCustomerId(), + formDTO.getFormCode(), + formDTO.getConditions(), + resultColumns, + subTables)); + + List> list = pageInfo.getList(); + //查询网格名称 + List gridIds=new ArrayList<>(); + Set houseIds=new HashSet<>(); + for(Map map:list){ + log.warn(JSON.toJSONString(map)); + if(map.containsKey("GRID_ID")&& StringUtils.isNotBlank(map.get("GRID_ID").toString())){ + gridIds.add(map.get("GRID_ID").toString()); + } + if(map.containsKey("HOME_ID")&& StringUtils.isNotBlank(map.get("HOME_ID").toString())){ + houseIds.add(map.get("HOME_ID").toString()); + } + } + log.warn("gridIds:"+JSON.toJSONString(gridIds)); + List gridInfoList=govOrgService.gridListByIds(gridIds); + //log.warn(JSON.toJSONString(gridInfoList)); + + Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(GridsInfoListResultDTO::getGridId, Function.identity())); + + //查询房子名称 + List houseInfoDTOList=govOrgService.queryHouseInfo(houseIds); + Map houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity())); + for(Map resultMap:list){ + if (null != gridInfoMap && gridInfoMap.containsKey(resultMap.get("GRID_ID").toString())) { + resultMap.put("GRID_ID_VALUE",resultMap.get("GRID_ID").toString()); + //GRID_NAME + resultMap.put("GRID_ID",gridInfoMap.get(resultMap.get("GRID_ID")).getGridName()); + } + if(null !=houseInfoMap &&houseInfoMap.containsKey(resultMap.get("HOME_ID"))){ + String buildName=houseInfoMap.get(resultMap.get("HOME_ID")).getBuildingName(); + resultMap.put("BUILD_NAME",buildName); + String neighBorName=houseInfoMap.get(resultMap.get("HOME_ID")).getNeighborHoodName(); + resultMap.put("VILLAGE_NAME",neighBorName); + String unitName=houseInfoMap.get(resultMap.get("HOME_ID")).getUnitName(); + resultMap.put("UNIT_NAME",unitName); + String houseType=houseInfoMap.get(resultMap.get("HOME_ID")).getHouseType(); + //房屋类型,1楼房,2平房,3别墅 + resultMap.put("HOUSE_TYPE",""); + if("1".equals(houseType)){ + resultMap.put("HOUSE_TYPE","楼房"); + }else if("2".equals(houseType)){ + resultMap.put("HOUSE_TYPE","平房"); + }else if("3".equals(houseType)){ + resultMap.put("HOUSE_TYPE","别墅"); + } + String doorName=houseInfoMap.get(resultMap.get("HOME_ID")).getDoorName(); + resultMap.put("DOOR_NAME",doorName); + resultMap.put("HOME_NAME",neighBorName.concat(buildName).concat(unitName).concat(doorName)); + } + if(resultMap.containsKey("GENDER")){ + String genderValue=resultMap.get("GENDER").toString(); + if("1".equals(genderValue)){ + resultMap.put("GENDER","男"); + }else if("2".equals(genderValue)){ + resultMap.put("HOUSE_TYPE","女"); + }else if("0".equals(genderValue)){ + resultMap.put("HOUSE_TYPE","未知"); + } + } + } + pageInfo.setList(list); + return new PageData<>(pageInfo.getList(),pageInfo.getTotal()); + } /** * 编辑页面,显示居民信息详情 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml index 0069d6864f..df1b389d0a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml @@ -79,4 +79,51 @@ + + + \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/TableHeaderResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/TableHeaderResultDTO.java new file mode 100644 index 0000000000..08c9bd6fad --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/TableHeaderResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description TODO + * @Author yinzuomei + * @Date 2021/10/28 4:10 下午 + */ +@Data +public class TableHeaderResultDTO implements Serializable { + private static final long serialVersionUID = 8318224643897723433L; + private String label; + private String columnName; + private String itemType; + + public TableHeaderResultDTO(String label,String columnName,String itemType){ + this.label=label; + this.columnName=columnName; + this.itemType=itemType; + } +} + 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 9927a84eb1..d3fdcc532c 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.TableHeaderResultDTO; import com.epmet.excel.IcFormExcel; import com.epmet.service.IcFormItemService; import com.epmet.service.IcFormService; @@ -134,4 +135,11 @@ public class IcFormController { ValidatorUtils.validateEntity(formDto,CustomerFormQueryDTO.AddUserInternalGroup.class); return new Result>().ok(icFormItemService.queryConditionList(formDto)); } + + @PostMapping("tableheaders") + public Result> queryTableHeaderList(@LoginUser TokenDto tokenDto, @RequestBody CustomerFormQueryDTO formDto){ + formDto.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDto,CustomerFormQueryDTO.AddUserInternalGroup.class); + return new Result>().ok(icFormItemService.queryTableHeaderList(formDto)); + } } 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 ce99cb4927..befdc98c06 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,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.result.ConditionResultDTO; +import com.epmet.dto.result.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -35,4 +36,6 @@ import java.util.List; 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); } \ 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 5fd14e3ef5..9a5ce5c9a6 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,6 +22,7 @@ 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.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import java.util.List; @@ -104,4 +105,6 @@ public interface IcFormItemService extends BaseService { * @date 2021/10/27 9:19 上午 */ List queryConditionList(CustomerFormQueryDTO formDto); + + List queryTableHeaderList(CustomerFormQueryDTO formDto); } \ 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 40bec48d08..b6f8ead33f 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 @@ -27,12 +27,14 @@ 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.TableHeaderResultDTO; import com.epmet.entity.IcFormItemEntity; import com.epmet.service.IcFormItemService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -113,4 +115,18 @@ public class IcFormItemServiceImpl extends BaseServiceImpl queryTableHeaderList(CustomerFormQueryDTO formDto) { + List list=new ArrayList<>(); + list.add(new TableHeaderResultDTO("所在网格","GRID_NAME","input")); + //list.add(new TableHeaderResultDTO("小区","VILLAGE_NAME","input")); + //list.add(new TableHeaderResultDTO("楼栋","BUILD_NAME","input")); + //list.add(new TableHeaderResultDTO("单元","UNIT_NAME","input")); + list.add(new TableHeaderResultDTO("所在家庭","HOME_NAME","input")); + list.addAll(baseDao.queryTableHeaderList(formDto.getCustomerId(),formDto.getFormCode())); + list.add(new TableHeaderResultDTO("需求分类","DEMAND_NAME","input")); + list.add(new TableHeaderResultDTO("房屋类型","HOUSE_TYPE","input")); + return list; + } + } \ 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 5a929a1b3d..15c004f89a 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 @@ -52,4 +52,19 @@ AND b.FORM_CODE = #{formCode} ORDER BY b.SORT asc + + \ No newline at end of file