Browse Source

数据融合引起的查询调整,后端处理,不在需要前端加入参

dev_shibei_match
sunyuchao 4 years ago
parent
commit
01e18463b4
  1. 8
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java
  2. 4
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java
  3. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java
  4. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  5. 13
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java
  6. 35
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java
  7. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml

8
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/AgenctBasicDataFormDTO.java

@ -24,14 +24,6 @@ public class AgenctBasicDataFormDTO implements Serializable {
* 日维度Id
*/
private String dateId;
/**
* 机关级别社区级community 街道:street, 区县级: district, 市级: city 省级:province
*/
private String level;
/**
* 行政地区编码
*/
private String areaCode;
public interface Agency extends CustomerClientShowGroup{}
}

4
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubAgencyFormDTO.java

@ -23,10 +23,6 @@ public class SubAgencyFormDTO implements Serializable {
* 日维度Id
*/
private String dateId;
/**
* 行政地区编码
*/
private String areaCode;
/**
* 排序类型字段
* 用户用户:user 党员:party 居民:resi

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java

@ -76,4 +76,10 @@ public interface EvaluationIndexDao {
* @return com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO
*/
ScreenCustomerAgencyDTO getAgencyInfo(@Param("agencyId") String agencyId);
/**
* @Description 查询agencyId对应组织信息
* @author sun
*/
ScreenCustomerAgencyDTO getByAgencyId(@Param("agencyId") String agencyId);
}

27
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -71,10 +71,9 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setDateId(format.format(yesterday));
}
//0.判断level是否有值,有值判断areaCode是否有值,没值直接用agencyId查数据,有值查询不是当前agencyId对应客户的areaCode的下级组织列表
if(StringUtils.isNotBlank(formDTO.getLevel())&&!"community".equals(formDTO.getLevel())&&StringUtils.isNotBlank(formDTO.getAreaCode())){
agencyList = indexService.getAgencyByAreaCodeAgencyId(formDTO.getAgencyId(), formDTO.getAreaCode());
}
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId());
agencyList.add(formDTO.getAgencyId());
agencyList.add(formDTO.getAgencyId());
//1.查询组织下注册用户最新日统计数据【只查询注册用户的统计数据,不涉及参与用户的】
@ -290,8 +289,8 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setType("user");
}
//1.查询直属下级组织列表,有areaCode的按areaCode查,没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyList(formDTO.getAgencyId(), formDTO.getAreaCode());
//1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
@ -428,8 +427,8 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setType("group");
}
//1.查询直属下级组织列表,有areaCode的按areaCode查,没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyList(formDTO.getAgencyId(), formDTO.getAreaCode());
//1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
@ -563,8 +562,8 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setType("topic");
}
//1.查询直属下级组织列表,有areaCode的按areaCode查,没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyList(formDTO.getAgencyId(), formDTO.getAreaCode());
//1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
@ -752,8 +751,8 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setType("issue");
}
//1.查询直属下级组织列表,有areaCode的按areaCode查,没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyList(formDTO.getAgencyId(), formDTO.getAreaCode());
//1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
@ -894,8 +893,8 @@ public class DataStatsServiceImpl implements DataStatsService {
formDTO.setType("project");
}
//1.查询直属下级组织列表,有areaCode的按areaCode查,没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyList(formDTO.getAgencyId(), formDTO.getAreaCode());
//1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}

13
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java

@ -58,4 +58,17 @@ public interface EvaluationIndexService {
* @return com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO
*/
ScreenCustomerAgencyDTO getAgencyInfo(String agencyId);
/**
* @Description 根据组织Id查询是否存在子客户存在的按areaCode查询当前客户之外的客户组织列表
* @author sun
*/
List<String> getAgencyIdsByAgencyId(String agencyId);
/**
* @Description 查询直属下级组织列表有子客户的按areaCode查没有的按agencyId查
* @author sun
*/
List<ScreenCustomerAgencyDTO> getSubAgencyListByAgency(String agencyId);
}

35
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java

@ -11,6 +11,7 @@ import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO;
import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -32,6 +33,8 @@ import java.util.List;
public class EvaluationIndexServiceImpl implements EvaluationIndexService {
@Autowired
private EvaluationIndexDao evaluationIndexDao;
@Autowired
private CustomerRelation customerRelation;
/**
* @Param formDTO
@ -103,4 +106,36 @@ public class EvaluationIndexServiceImpl implements EvaluationIndexService {
return evaluationIndexDao.getAgencyInfo(agencyId);
}
/**
* @Description 根据组织Id查询是否存在子客户存在的按areaCode查询当前客户之外的客户组织列表
* @author sun
*/
@Override
public List<String> getAgencyIdsByAgencyId(String agencyId) {
//1.查询agencyId对应组织信息
ScreenCustomerAgencyDTO dto = evaluationIndexDao.getByAgencyId(agencyId);
//2.判断客户是否存在子客户
if (!customerRelation.haveSubCustomer(dto.getCustomerId())) {
return new ArrayList<>();
}
//3.存在子客户的,查询当前组织的areaCode对应的直属下级且不是agencyId对应的客户id的客户组织列表
return evaluationIndexDao.getAgencyByAreaCodeAgencyId(agencyId, dto.getAreaCode());
}
/**
* @Description 查询直属下级组织列表有子客户的按areaCode查没有的按agencyId查
* @author sun
*/
@Override
public List<ScreenCustomerAgencyDTO> getSubAgencyListByAgency(String agencyId) {
//1.查询agencyId对应组织信息
ScreenCustomerAgencyDTO dto = evaluationIndexDao.getByAgencyId(agencyId);
//2.判断客户是否存在子客户
if (!customerRelation.haveSubCustomer(dto.getCustomerId())) {
return evaluationIndexDao.getSubAgencyList(agencyId, null);
} else {
return evaluationIndexDao.getSubAgencyList(null, dto.getAreaCode());
}
}
}

15
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml

@ -111,4 +111,19 @@
and AGENCY_ID = #{agencyId}
</select>
<select id="getByAgencyId" resultType="com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO">
SELECT
customer_id AS customerId,
agency_id AS agencyId,
agency_name AS agencyName,
level AS level,
area_code AS areaCode,
parent_area_code AS parentAreaCode
FROM
screen_customer_agency
WHERE
del_flag = '0'
AND agency_id = #{agencyId}
</select>
</mapper>
Loading…
Cancel
Save