Browse Source

表头和列表查询map

dev_shibei_match
yinzuomei 4 years ago
parent
commit
d5e87a8a93
  1. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/IcResiUserController.java
  2. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/IcResiUserDao.java
  3. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/IcResiUserService.java
  4. 83
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiUserServiceImpl.java
  5. 47
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml
  6. 25
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/TableHeaderResultDTO.java
  7. 8
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormController.java
  8. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java
  9. 3
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java
  10. 16
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java
  11. 15
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml

12
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<PageData<IcResiUserPageResultDTO>> queryListResi(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO){
//pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
pageFormDTO.setCustomerId(tokenDto.getCustomerId());
@ -45,7 +47,13 @@ public class IcResiUserController {
return new Result<PageData<IcResiUserPageResultDTO>>().ok(icResiUserService.pageResi(pageFormDTO));
}
@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));
}
/**
* 编辑页面显示居民信息详情
*

6
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<ResiUserQueryValueDTO> conditions,
@Param("resultColumns") List<IcFormResColumnDTO> resultColumns,
@Param("subTables") List<String> subTables);
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);
/**
* 查询主表
*

2
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<IcResiUserPageResultDTO> pageResi(IcResiUserPageFormDTO pageFormDTO);
PageData<Map<String,Object>> pageResiMap(IcResiUserPageFormDTO formDTO);
/**
* 编辑页面显示居民信息详情
*

83
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<Map<String,Object>> pageResiMap(IcResiUserPageFormDTO formDTO) {
// 查询列表展示项,如果没有,直接返回
List<IcFormResColumnDTO> 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<String> subTables=customerFootBarService.querySubTables(formDTO.getCustomerId(),formDTO.getFormCode());
log.info("子表:"+JSON.toJSONString(subTables));
PageInfo<Map<String,Object>> pageInfo = PageHelper.startPage(formDTO.getPageNo(),
formDTO.getPageSize()).doSelectPageInfo(() -> icResiUserDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables));
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("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<GridsInfoListResultDTO> gridInfoList=govOrgService.gridListByIds(gridIds);
//log.warn(JSON.toJSONString(gridInfoList));
Map<String, GridsInfoListResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(GridsInfoListResultDTO::getGridId, Function.identity()));
//查询房子名称
List<HouseInfoDTO> houseInfoDTOList=govOrgService.queryHouseInfo(houseIds);
Map<String, HouseInfoDTO> houseInfoMap = houseInfoDTOList.stream().collect(Collectors.toMap(HouseInfoDTO::getHomeId, Function.identity()));
for(Map<String,Object> 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());
}
/**
* 编辑页面显示居民信息详情

47
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml

@ -79,4 +79,51 @@
<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>

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

8
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<List<ConditionResultDTO>>().ok(icFormItemService.queryConditionList(formDto));
}
@PostMapping("tableheaders")
public Result<List<TableHeaderResultDTO>> queryTableHeaderList(@LoginUser TokenDto tokenDto, @RequestBody CustomerFormQueryDTO formDto){
formDto.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDto,CustomerFormQueryDTO.AddUserInternalGroup.class);
return new Result<List<TableHeaderResultDTO>>().ok(icFormItemService.queryTableHeaderList(formDto));
}
}

3
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<IcFormItemEntity> {
List<ConditionResultDTO> selectConditionList(@Param("customerId") String customerId, @Param("formCode") String formCode);
List<TableHeaderResultDTO> queryTableHeaderList(@Param("customerId") String customerId, @Param("formCode") String formCode);
}

3
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<IcFormItemEntity> {
* @date 2021/10/27 9:19 上午
*/
List<ConditionResultDTO> queryConditionList(CustomerFormQueryDTO formDto);
List<TableHeaderResultDTO> queryTableHeaderList(CustomerFormQueryDTO formDto);
}

16
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<IcFormItemDao, IcForm
return list;
}
@Override
public List<TableHeaderResultDTO> queryTableHeaderList(CustomerFormQueryDTO formDto) {
List<TableHeaderResultDTO> 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;
}
}

15
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
</select>
<select id="queryTableHeaderList" parameterType="map" resultType="com.epmet.dto.result.TableHeaderResultDTO">
SELECT
m.LABEL,
m.COLUMN_NAME,
m.item_type
FROM
ic_form_item m
WHERE
m.DEL_FLAG = '0'
AND m.LIST_DISPLAY = '1'
and m.FORM_CODE=#{formCode}
and m.CUSTOMER_ID=#{customerId}
order by m.SORT asc
</select>
</mapper>
Loading…
Cancel
Save