Browse Source

难点赌点列表:difficultyrank-multic

dev_shibei_match
yinzuomei 4 years ago
parent
commit
8973ce412e
  1. 7
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java
  2. 15
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java
  3. 8
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java
  4. 8
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java
  5. 36
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java
  6. 51
      epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml

7
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/DifficultyRankFormDTO.java

@ -40,4 +40,11 @@ public class DifficultyRankFormDTO implements Serializable {
* 组织类型: 网格grid 组织agency
*/
private String orgType;
//以下属性无需前端赋值
/**
* 当前登录用户所属客户id
*/
private String customerId;
private String agencyAreaCode;
}

15
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java

@ -114,6 +114,21 @@ public class ProjectController {
return new Result<List<ProjectDifficultRankResultDTO>>().ok(projectService.getDifficultyRank(param));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.project.dto.result.ProjectDifficultRankResultDTO>>
* @param formDTO
* @author yinzuomei
* @description 难点赌点-耗时最长|涉及部门最多|处理次数 返回该组织下所有的难点堵点的 数据
* 2021.06.21新增次API,多客户版本eg:平阴县的工作人员可以看到8个街道的难点赌点
* @Date 2021/6/23 13:09
**/
@PostMapping("difficultyrank-multic")
public Result<List<ProjectDifficultRankResultDTO>> difficultyRankMultic(@RequestHeader("CustomerId") String customerId,@RequestBody DifficultyRankFormDTO formDTO){
formDTO.setCustomerId(customerId);
ValidatorUtils.validateEntity(formDTO, DifficultyRankFormDTO.DifficultyRankInternalGroup.class);
return new Result<List<ProjectDifficultRankResultDTO>>().ok(projectService.difficultyRankMultic(formDTO));
}
/**
* @Description 难点赌点-耗时最长|涉及部门最多|处理次数
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614

8
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java

@ -66,6 +66,14 @@ public interface ProjectDao {
**/
List<ProjectDifficultRankResultDTO> difficultyRank(DifficultyRankFormDTO difficultyRankFormDTO);
/**
* 工作端-数据难点赌点列表查询V2,多客户版本
*
* @param formDTO
* @return com.epmet.project.dto.result.ProjectDifficultRankResultDTO
*/
List<ProjectDifficultRankResultDTO> difficultyRankV2(DifficultyRankFormDTO formDTO);
/**
* @Description 查询难点堵点的图片list
* @param

8
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java

@ -62,6 +62,14 @@ public interface ProjectService {
**/
List<ProjectDifficultRankResultDTO> getDifficultyRank(DifficultyRankFormDTO param);
/**
* 难点赌点-耗时最长|涉及部门最多|处理次数
*
* @param formDTO
* @return com.epmet.project.dto.result.ProjectDifficultRankResultDTO
*/
List<ProjectDifficultRankResultDTO> difficultyRankMultic(DifficultyRankFormDTO formDTO);
/**
* @Description 难点赌点-获取组织下拉框
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614

36
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java

@ -359,6 +359,42 @@ public class ProjectServiceImpl implements ProjectService {
return result;
}
/**
* 难点赌点-耗时最长|涉及部门最多|处理次数
*
* @param formDTO
* @return com.epmet.project.dto.result.ProjectDifficultRankResultDTO
*/
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
@Override
public List<ProjectDifficultRankResultDTO> difficultyRankMultic(DifficultyRankFormDTO formDTO) {
//1、查询当前客户是否包含子客户
//多客户测试写死值,别忘了注释掉呀
// formDTO.setCustomerId("613cc61a6b8ce4c70d21bd413dac72cc");
// formDTO.setAgencyId("30705f91f1295ae77d372b868596a5e7");
Result<List<String>> crmRes = operCrmOpenFeignClient.getAllSubCustomerIds(formDTO.getCustomerId());
if (crmRes.success() && CollectionUtils.isNotEmpty(crmRes.getData())) {
log.warn("❤当前客户存在子客户❤");
//2、查询组织信息
Result<CustomerAgencyDTO> agencyResult = govOrgOpenFeignClient.getAgencyById(formDTO.getAgencyId());
if (!agencyResult.success() || null == agencyResult.getData()) {
throw new RenException(String.format("查询组织信息异常,agencyId:%s", formDTO.getAgencyId()));
}
formDTO.setAgencyAreaCode(agencyResult.getData().getAreaCode());
}
// 3、升级原来的列表查询接口
PageHelper.startPage(null == formDTO.getPageNo() ? NumConstant.ONE : formDTO.getPageNo(), formDTO.getTopNum());
List<ProjectDifficultRankResultDTO> result = projectDao.difficultyRankV2(formDTO);
for (int i = 0; i < result.size(); i++) {
List<String> imgUrlList = projectDao.getDifficultyImgList(result.get(i).getProjectId());
result.get(i).setImgUrlList(imgUrlList);
}
if (CollectionUtils.isEmpty(result)) {
return new ArrayList<>();
}
return result;
}
@Override
public List<ProjectCategoryDictResultDTO> getCategoryDict(String customerId) {
List<ProjectCategoryDictResultDTO> result = new ArrayList<>();

51
epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml

@ -267,6 +267,57 @@
DESC
</select>
<!-- 工作端-数据:难点赌点列表查询V2,多客户版本 -->
<select id="difficultyRankV2" parameterType="com.epmet.project.dto.form.DifficultyRankFormDTO" resultType="com.epmet.project.dto.result.ProjectDifficultRankResultDTO">
SELECT
diff.EVENT_ID AS projectId,
ifnull(diff.EVENT_CONTENT,diff.EVENT_TITLE) AS title,
diff.EVENT_STATUS_CODE AS statusCode,
diff.EVENT_SOURCE AS gridName,
diff.EVENT_IMG_URL AS imgUrl,
floor(diff.EVENT_COST_TIME/60) AS totalHours,
diff.EVENT_RE_ORG AS reOrg,
diff.EVENT_HANDLED_COUNT AS handledCount
FROM
(
select scg.AREA_CODE,sdd1.* from screen_difficulty_data sdd1
left join screen_customer_grid scg
on(sdd1.ORG_ID=scg.GRID_ID)
where sdd1.DEL_FLAG='0'
and scg.DEL_FLAG='0'
and sdd1.ORG_TYPE='grid'
union
select sca.AREA_CODE,sdd2.* from screen_difficulty_data sdd2
left join screen_customer_agency sca
on(sdd2.ORG_ID=sca.AGENCY_ID)
where sdd2.DEL_FLAG='0'
and sca.DEL_FLAG='0'
and sdd2.ORG_TYPE='agency'
) diff
WHERE
diff.DEL_FLAG = '0'
<if test="agencyAreaCode != null and agencyAreaCode != ''">
and diff.AREA_CODE like concat(#{agencyAreaCode},'%')
</if>
<if test="agencyAreaCode == null || agencyAreaCode == ''">
<choose>
<when test="orgType != null and orgType == 'grid'">
AND diff.ORG_ID = #{agencyId,jdbcType=VARCHAR}
</when>
<otherwise>
AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%')
</otherwise>
</choose>
</if>
<if test="status!= null and status != ''">
AND diff.EVENT_STATUS_CODE = #{status}
</if>
ORDER BY
CASE #{type} WHEN 'timelongest' THEN diff.EVENT_COST_TIME
WHEN 'mosthandled' THEN diff.EVENT_HANDLED_COUNT
ELSE diff.EVENT_RE_ORG END
DESC
</select>
<!-- 查询难点赌点-耗时最长|涉及部门最多|处理次数 -->
<select id="getDifficultyImgList" resultType="string">
select EVENT_IMG_URL

Loading…
Cancel
Save