Browse Source

ic_resi_user新增is_xjc;修改居民类别查询方法

master
yinzuomei 3 years ago
parent
commit
9dd3976090
  1. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java
  2. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java
  3. 27
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormDataAnalysisDTO.java
  4. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java
  5. 79
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java
  6. 19
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml
  7. 15
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java
  8. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java
  9. 1
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.64__resi_xjc.sql

15
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java

@ -215,6 +215,21 @@ public class IcResiUserEntity extends BaseEpmetEntity {
*/ */
private String isSpecial; private String isSpecial;
/**
* 是否租户:1 :0
*/
private String isTenant;
/**
* 是否流动人口:1 :0
*/
private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/** /**
* 文化程度字典表 * 文化程度字典表
*/ */

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java

@ -225,6 +225,11 @@ public class IcResiUserEntity extends BaseEpmetEntity {
*/ */
private String isFloating; private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/** /**
* 文化程度字典表 * 文化程度字典表
*/ */

27
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IcFormDataAnalysisDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/8/11 13:35
*/
@Data
public class IcFormDataAnalysisDTO implements Serializable {
private String itemId;
private String label;
/**
* 分组ID,'默认0'
*/
private String itemGroupId;
private String tableName;
/**
* 列名
*/
private String columnName;
private Integer sort;
}

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java

@ -97,4 +97,6 @@ public interface IcFormItemDao extends BaseDao<IcFormItemEntity> {
*/ */
List<FormItemBaseResult> getItemListByGroupId(@Param("customerId") String customerId, @Param("groupId") String groupId); List<FormItemBaseResult> getItemListByGroupId(@Param("customerId") String customerId, @Param("groupId") String groupId);
List<FormItemBaseResult> getItemListByGroupIdV2(@Param("customerId") String customerId, @Param("groupId") String groupId,@Param("policyFlag")String policyFlag); List<FormItemBaseResult> getItemListByGroupIdV2(@Param("customerId") String customerId, @Param("groupId") String groupId,@Param("policyFlag")String policyFlag);
List<IcFormDataAnalysisDTO> selectDataAnalysisItem(String customerId);
} }

79
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/ResiCategoryStatsConfigServiceImpl.java

@ -1,20 +1,15 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.constant.IcResiCategoryStatsConfigConstant;
import com.epmet.dao.IcFormItemDao; import com.epmet.dao.IcFormItemDao;
import com.epmet.dao.IcFormItemGroupDao;
import com.epmet.dao.IcResiCategoryStatsConfigDao; import com.epmet.dao.IcResiCategoryStatsConfigDao;
import com.epmet.dao.IcResiCategoryWarnConfigDao; import com.epmet.dao.IcResiCategoryWarnConfigDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO; import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO;
import com.epmet.dto.form.ResiCategoryStatsConfigListFormDTO; import com.epmet.dto.form.ResiCategoryStatsConfigListFormDTO;
import com.epmet.dto.result.IcFormDataAnalysisDTO;
import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO;
import com.epmet.entity.IcFormItemEntity;
import com.epmet.entity.IcFormItemGroupEntity;
import com.epmet.entity.IcResiCategoryStatsConfigEntity; import com.epmet.entity.IcResiCategoryStatsConfigEntity;
import com.epmet.entity.IcResiCategoryWarnConfigEntity; import com.epmet.entity.IcResiCategoryWarnConfigEntity;
import com.epmet.service.IcResiCategoryStatsConfigService; import com.epmet.service.IcResiCategoryStatsConfigService;
@ -28,7 +23,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -40,8 +38,6 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf
@Resource @Resource
private IcFormItemDao icFormItemDao; private IcFormItemDao icFormItemDao;
@Resource @Resource
private IcFormItemGroupDao icFormItemGroupDao;
@Resource
private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao; private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao;
@Resource @Resource
private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao; private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao;
@ -52,60 +48,39 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<IcResiCategoryStatsConfigResultDTO> list(String customerId, ResiCategoryStatsConfigListFormDTO formDTO) { public List<IcResiCategoryStatsConfigResultDTO> list(String customerId, ResiCategoryStatsConfigListFormDTO formDTO) {
//1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label //1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label
List<IcFormItemEntity> icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper<IcFormItemEntity>().lambda().eq(IcFormItemEntity::getCustomerId,customerId).eq(IcFormItemEntity::getDataAnalyse, 1)); List<IcFormDataAnalysisDTO> dataItemList=icFormItemDao.selectDataAnalysisItem(customerId);
if(CollectionUtils.isEmpty(icFormItemEntityList)){ //key:tableName-columnName value: ic_form_item
return new ArrayList<>(); Map<String,IcFormDataAnalysisDTO> tableColumnMap = new HashMap<>();
} //key:ic_form_item.id value:对应的表名
Set<String> groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(IcFormItemEntity::getItemGroupId).collect(Collectors.toSet());
List<IcFormItemGroupEntity> icFormItemGroupEntityList = new ArrayList<>();
if(!CollectionUtils.isEmpty(groupIds)){
icFormItemGroupEntityList.addAll(icFormItemGroupDao.selectList(new QueryWrapper<IcFormItemGroupEntity>().lambda().eq(IcFormItemGroupEntity::getCustomerId,customerId).in(IcFormItemGroupEntity::getId, groupIds)));
}
//获取tableName和COLUMN_NAME
Map<String,IcFormItemEntity> tableColumnMap = new HashMap<>();
Map<String,String> idTableMap = new HashMap<>(); Map<String,String> idTableMap = new HashMap<>();
icFormItemEntityList.forEach(item->{
Map<String,String> map = new HashMap<>();
item.setColumnName(item.getColumnName().concat(NumConstant.ZERO == item.getColumnNum() ? StrConstant.EPMETY_STR : item.getColumnNum().toString()));
if("0".equals(item.getItemGroupId())){
tableColumnMap.put(IcResiCategoryStatsConfigConstant.IC_RESI_USER+"-"+item.getColumnName(),item);
idTableMap.put(item.getId(),IcResiCategoryStatsConfigConstant.IC_RESI_USER);
}else{
List<IcFormItemGroupEntity> collect = icFormItemGroupEntityList.stream().filter(i -> item.getItemGroupId().equals(i.getId())).collect(Collectors.toList());
tableColumnMap.put(CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()+"-"+item.getColumnName(),item);
idTableMap.put(item.getId(),CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName());
}
dataItemList.forEach(item->{
tableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
idTableMap.put(item.getItemId(),item.getTableName());
}); });
//2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据 //2.获取居民类别配置表ic_resi_category_stats_config 和 居民类别预警配置表ic_resi_category_warn_config 表中的数据
List<IcResiCategoryStatsConfigEntity> statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper<IcResiCategoryStatsConfigEntity>().lambda().eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId)); List<IcResiCategoryStatsConfigEntity> statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper<IcResiCategoryStatsConfigEntity>().lambda().eq(IcResiCategoryStatsConfigEntity::getCustomerId,customerId));
if (!CollectionUtils.isEmpty(statsConfigEntityList)){
return icResiCategoryStatsConfigDao.listInfo(customerId,formDTO.getIsWarn(),formDTO.getLevel());
}
List<IcResiCategoryWarnConfigEntity> warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper<IcResiCategoryWarnConfigEntity>().lambda().eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId)); List<IcResiCategoryWarnConfigEntity> warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(new QueryWrapper<IcResiCategoryWarnConfigEntity>().lambda().eq(IcResiCategoryWarnConfigEntity::getCustomerId,customerId));
//3.新增不存在的,删除不在tableColumnMap的
//获取居民类别配置表
Map<String,IcResiCategoryStatsConfigEntity> statsTableColumnMap = new HashMap<>(); Map<String,IcResiCategoryStatsConfigEntity> statsTableColumnMap = new HashMap<>();
statsConfigEntityList.forEach(item->{ statsConfigEntityList.forEach(item->{
statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
}); });
Map<String,IcResiCategoryWarnConfigEntity> warnTableColumnMap = new HashMap<>();
warnConfigEntityList.forEach(item->{ //3.新增不存在的,删除不在tableColumnMap的
warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
});
//差集 //差集
//新增
List<String> newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.containsKey(item)).collect(Collectors.toList()); List<String> newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.containsKey(item)).collect(Collectors.toList());
List<IcResiCategoryStatsConfigEntity> newStatsEntityList = new ArrayList<>(); List<IcResiCategoryStatsConfigEntity> newStatsEntityList = new ArrayList<>();
newStatsList.forEach(item->{ newStatsList.forEach(item->{
IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); IcFormDataAnalysisDTO icFormItemEntity = tableColumnMap.get(item);
IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity(); IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity();
entity.setCustomerId(customerId); entity.setCustomerId(customerId);
entity.setLabel(icFormItemEntity.getLabel()); entity.setLabel(icFormItemEntity.getLabel());
entity.setTableName(idTableMap.get(icFormItemEntity.getId())); entity.setTableName(idTableMap.get(icFormItemEntity.getItemId()));
entity.setColumnName(icFormItemEntity.getColumnName()); entity.setColumnName(icFormItemEntity.getColumnName());
entity.setManagementIcon(""); entity.setManagementIcon("");
entity.setDataIcon(""); entity.setDataIcon("");
@ -115,16 +90,24 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf
newStatsEntityList.add(entity); newStatsEntityList.add(entity);
}); });
if(!CollectionUtils.isEmpty(newStatsEntityList)){ if(!CollectionUtils.isEmpty(newStatsEntityList)){
//新增居民类别配置表
icResiCategoryStatsConfigService.insertBatch(newStatsEntityList); icResiCategoryStatsConfigService.insertBatch(newStatsEntityList);
} }
//4、新增居民类别预警配置表
Map<String,IcResiCategoryWarnConfigEntity> warnTableColumnMap = new HashMap<>();
warnConfigEntityList.forEach(item->{
warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item);
});
List<String> newWarnList = tableColumnMap.keySet().stream().filter(item -> !warnTableColumnMap.containsKey(item)).collect(Collectors.toList()); List<String> newWarnList = tableColumnMap.keySet().stream().filter(item -> !warnTableColumnMap.containsKey(item)).collect(Collectors.toList());
List<IcResiCategoryWarnConfigEntity> newWarnEntityList = new ArrayList<>(); List<IcResiCategoryWarnConfigEntity> newWarnEntityList = new ArrayList<>();
newWarnList.forEach(item->{ newWarnList.forEach(item->{
IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); IcFormDataAnalysisDTO icFormItemEntity = tableColumnMap.get(item);
IcResiCategoryWarnConfigEntity entity = new IcResiCategoryWarnConfigEntity(); IcResiCategoryWarnConfigEntity entity = new IcResiCategoryWarnConfigEntity();
entity.setCustomerId(customerId); entity.setCustomerId(customerId);
entity.setLabel(icFormItemEntity.getLabel()); entity.setLabel(icFormItemEntity.getLabel());
entity.setTableName(idTableMap.get(icFormItemEntity.getId())); entity.setTableName(idTableMap.get(icFormItemEntity.getItemId()));
entity.setColumnName(icFormItemEntity.getColumnName()); entity.setColumnName(icFormItemEntity.getColumnName());
entity.setWarn("0"); entity.setWarn("0");
entity.setSort(icFormItemEntity.getSort()); entity.setSort(icFormItemEntity.getSort());
@ -133,6 +116,8 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf
if(!CollectionUtils.isEmpty(newWarnEntityList)){ if(!CollectionUtils.isEmpty(newWarnEntityList)){
icResiCategoryWarnConfigService.insertBatch(newWarnEntityList); icResiCategoryWarnConfigService.insertBatch(newWarnEntityList);
} }
//5、原来用于数据分析,现在不用于数据分析的,要删除类别配置表和预警表
List<String> delStatsEntityIdList = new ArrayList<>(); List<String> delStatsEntityIdList = new ArrayList<>();
List<String> delWarnEntityIdList = new ArrayList<>(); List<String> delWarnEntityIdList = new ArrayList<>();
//需要删除的 //需要删除的
@ -151,7 +136,7 @@ public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConf
icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList); icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList);
} }
//4.返回数据 //6.返回数据
return icResiCategoryStatsConfigDao.listInfo(customerId,formDTO.getIsWarn(),formDTO.getLevel()); return icResiCategoryStatsConfigDao.listInfo(customerId,formDTO.getIsWarn(),formDTO.getLevel());
} }

19
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml

@ -322,4 +322,23 @@
ORDER BY ifi.SORT ORDER BY ifi.SORT
</select> </select>
<select id="selectDataAnalysisItem" parameterType="java.lang.String" resultType="com.epmet.dto.result.IcFormDataAnalysisDTO">
SELECT
i.id,
i.LABEL,
i.COLUMN_NAME,
i.SORT,
i.ITEM_GROUP_ID,
g.TABLE_NAME
FROM
ic_form_item i
LEFT JOIN ic_form_item_group g ON ( i.ITEM_GROUP_ID = g.ID )
WHERE
i.DEL_FLAG = '0'
AND i.CUSTOMER_ID = #{customerId}
AND g.CUSTOMER_ID = #{customerId}
AND i.DATA_ANALYSE = '1'
ORDER BY
i.SORT ASC
</select>
</mapper> </mapper>

15
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserDTO.java

@ -219,6 +219,21 @@ public class IcResiUserDTO implements Serializable {
*/ */
private String isSpecial; private String isSpecial;
/**
* 是否租户:1 :0
*/
private String isTenant;
/**
* 是否是流动人口:1 :0
*/
private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/** /**
* 文化程度字典表 * 文化程度字典表
*/ */

4
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java

@ -225,6 +225,10 @@ public class IcResiUserEntity extends BaseEpmetEntity {
*/ */
private String isFloating; private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/** /**
* 文化程度字典表 * 文化程度字典表
*/ */

1
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.64__resi_xjc.sql

@ -0,0 +1 @@
alter table ic_resi_user add COLUMN IS_XJC CHAR(1) DEFAULT'0' COMMENT '是否新阶层人士【是:1 否:0】'after IS_FLOATING;
Loading…
Cancel
Save