Browse Source

Merge remote-tracking branch 'origin/dev_category_top20' into dev

dev_shibei_match
zxc 4 years ago
parent
commit
22785feb12
  1. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java
  2. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java
  3. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java
  4. 16
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java
  5. 46
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml

7
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/screen/CategoryAnalysisResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.result.screen;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -33,4 +34,10 @@ public class CategoryAnalysisResultDTO implements Serializable {
* 分类编码
*/
private String categoryCode;
/**
* 分类来源客户ID
*/
@JsonIgnore
private String categoryOriginCustomerId;
}

7
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/CategoryTopAppealResultDTO.java

@ -1,6 +1,7 @@
package com.epmet.project.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -30,6 +31,12 @@ public class CategoryTopAppealResultDTO implements Serializable {
*/
private Integer categoryCount;
/**
* 分类来源客户ID
*/
@JsonIgnore
private String categoryOriginCustomerId;
public CategoryTopAppealResultDTO() {
this.categoryId = "";
this.categoryName = "";

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java

@ -42,7 +42,7 @@ public interface ScreenProjectCategoryOrgDailyDao {
*/
List<CategoryAnalysisResultDTO> selectCategoryAnalysis(@Param("agencyId") String agencyId,@Param("customerId")String customerId);
CustomerProjectCategoryDTO selectProjectCategory(@Param("categoryCode")String categoryCode, @Param("customerId")String customerId, @Param("subCustomerIds")List<String> subCustomerIds);
CustomerProjectCategoryDTO selectProjectCategory(@Param("categoryCode")String categoryCode, @Param("customerId")String customerId);
/**
* @Description 查询事件分类

16
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java

@ -159,13 +159,8 @@ public class ScreenProjectServiceImpl implements ScreenProjectService {
List<CategoryAnalysisResultDTO> resultDTOList = screenProjectCategoryOrgDailyDao.selectCategoryAnalysis(formDTO.getAgencyId(), customerId);
List<CategoryAnalysisResultDTO> resultList = new ArrayList<>();
if (!CollectionUtils.isEmpty(resultDTOList)) {
Result<List<String>> crmRes = operCrmOpenFeignClient.getAllSubCustomerIds(customerId);
List<String> subCustomerIds = new ArrayList<>();
if (crmRes.success() && !CollectionUtils.isEmpty(crmRes.getData())) {
subCustomerIds = crmRes.getData();
}
for (CategoryAnalysisResultDTO dto : resultDTOList) {
CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(dto.getCategoryCode(), customerId, subCustomerIds);
CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(dto.getCategoryCode(), dto.getCategoryOriginCustomerId());
if (null == projectCategoryDTO || StringUtils.isBlank(projectCategoryDTO.getCategoryName())) {
log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", dto.getCategoryCode(), customerId));
continue;
@ -224,15 +219,10 @@ public class ScreenProjectServiceImpl implements ScreenProjectService {
if (CollectionUtils.isEmpty(result)){
return new ArrayList<>();
}
Result<List<String>> sonCustomer = operCrmOpenFeignClient.getAllSubCustomerIds(customerId);
List<String> subCustomerIds = new ArrayList<>();
if (sonCustomer.success() && !CollectionUtils.isEmpty(sonCustomer.getData())) {
subCustomerIds = sonCustomer.getData();
}
for (CategoryTopAppealResultDTO r : result) {
CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(r.getCategoryId(), customerId, subCustomerIds);
CustomerProjectCategoryDTO projectCategoryDTO = screenProjectCategoryOrgDailyDao.selectProjectCategory(r.getCategoryId(), r.getCategoryOriginCustomerId());
if (null == projectCategoryDTO || StringUtils.isBlank(projectCategoryDTO.getCategoryName())) {
log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", r.getCategoryId(), customerId));
log.warn(String.format("查询分类名称失败,当前客户:%s, categoryCode:%s", r.getCategoryId(), r.getCategoryOriginCustomerId()));
continue;
}
r.setCategoryName(projectCategoryDTO.getCategoryName());

46
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml

@ -8,7 +8,8 @@
SELECT '' AS categoryName,
M.PROJECT_TOTAL AS projectTotal,
m.DATE_ID as dateId,
m.CATEGORY_CODE as categoryCode
m.CATEGORY_CODE as categoryCode,
m.CATEGORY_ORIGIN_CUSTOMER_ID
FROM screen_project_category_org_daily m
WHERE M.DEL_FLAG = '0'
and m.level='1'
@ -33,46 +34,25 @@
<!-- 平阴的分类编码: 平阴自己的+ 子客户未对照的 -->
<select id="selectProjectCategory" parameterType="map" resultType="com.epmet.project.CustomerProjectCategoryDTO">
SELECT
*
SELECT DISTINCT
m.CATEGORY_CODE,
m.CATEGORY_NAME,
m.`LEVEL`
FROM
(
SELECT DISTINCT
m.CATEGORY_CODE,
m.CATEGORY_NAME,
m.`LEVEL`
FROM
customer_project_category_dict m
WHERE
m.DEL_FLAG = '0'
AND m.customer_id = #{customerId}
<if test="subCustomerIds != null and subCustomerIds.size() > 0">
UNION ALL
SELECT DISTINCT
m.CATEGORY_CODE,
m.CATEGORY_NAME,
m.`LEVEL`
FROM
customer_project_category_dict m
WHERE
m.DEL_FLAG = '0'
AND m.customer_id IN
<foreach item="subCustomerId" collection="subCustomerIds" open="(" separator="," close=")">
#{subCustomerId}
</foreach>
</if>
) temp
customer_project_category_dict m
WHERE
temp.CATEGORY_CODE = #{categoryCode}
ORDER BY temp.`LEVEL` DESC
LIMIT 1
m.DEL_FLAG = '0'
AND m.customer_id = #{customerId}
AND CATEGORY_CODE = #{categoryCode}
LIMIT 1
</select>
<!-- 查询事件分类 -->
<select id="categoryTopAppeal" resultType="com.epmet.project.dto.result.CategoryTopAppealResultDTO">
SELECT
CATEGORY_CODE AS categoryId,
PROJECT_TOTAL AS categoryCount
PROJECT_TOTAL AS categoryCount,
CATEGORY_ORIGIN_CUSTOMER_ID
FROM
screen_project_category_org_daily
WHERE

Loading…
Cancel
Save