Browse Source

5、【工作日志】本机及下级排名接口修改

dev_shibei_match
yinzuomei 5 years ago
parent
commit
6a2db9a9b0
  1. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/plugins/WorkRecordController.java
  2. 20
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java
  3. 7
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java
  4. 2
      epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenCustomerWorkRecordDictDao.xml
  5. 21
      epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/plugins/WorkRecordController.java

@ -21,12 +21,10 @@ import org.springframework.web.bind.annotation.*;
public class WorkRecordController {
@Autowired
private ScreenWorkRecordOrgDailyService screenWorkRecordOrgDailyService;
//todo 工作日志是否要添加area_code、parent_area_code、orgType;插件是否可以提供;也可以采集的时候赋值
//5、【工作日志】本机及下级排名
//NEI接口地址:https://nei.netease.com/interface/detail/?pid=57068&id=348966
//返参中的当前组织的参与人数、组织次数 直接sum所有下级的值;
//下级根据当前组织的areaCode查询下级列表,再去查询screen_work_record_org_daily
//legend来源于screen_customer_work_record_dict表 level=2,dataType=party
@PostMapping("ranklist")
public Result<WorkRecordRankResultDTO> rankList(@RequestHeader("CustomerId")String customerId, @RequestBody WorkRecordRankFormDTO formDTO){

20
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java

@ -19,7 +19,6 @@ package com.epmet.datareport.dao.plugins;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.datareport.entity.plugins.ScreenWorkRecordOrgDailyEntity;
import com.epmet.plugins.result.WorkRecordRankResultDTO;
import com.epmet.plugins.result.WorkRecordSubRank;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -37,24 +36,31 @@ public interface ScreenWorkRecordOrgDailyDao extends BaseDao<ScreenWorkRecordOrg
/**
* @return com.epmet.plugins.result.WorkRecordRankResultDTO
* @author yinzuomei
* @description 5工作日志本机及下级排名
* @description 5工作日志本机及下级排名- 下级组织
* @Date 2021/2/23 23:37
**/
List<WorkRecordSubRank> selectSubList(@Param("subAgencyIds") List<String> subAgencyIds,
// @Param("subGridIds")List<String> subGridIds,
@Param("dataType")String dataType,
@Param("customerId")String customerId,
@Param("dateId")String dateId);
/**
* @param subGridIds 当前组织的指数网格ids
* @author yinzuomei
* @description
* @Date 2021/2/27 19:31
**/
List<WorkRecordSubRank> selectSubGridList(@Param("subGridIds")List<String> subGridIds,
@Param("dataType")String dataType,
@Param("customerId")String customerId,
@Param("dateId")String dateId);
/**
* @param customerIds 当前客户+所有子客户 列表
* @author yinzuomei
* @description 查询最近一次上传的日期
* @Date 2021/2/27 19:31
**/
String selectLatestDateId(@Param("customerIds")List<String> customerIds);
WorkRecordRankResultDTO selectCurrentAgency(@Param("areaCode") String areaCode,
@Param("dataType") String dataType,
@Param("dateId")String dateId);
}

7
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java

@ -17,13 +17,13 @@
package com.epmet.datareport.service.plugins.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
@ -134,13 +134,12 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
List<String> customerIds=new ArrayList<>();
Result<List<String>> result=operCrmOpenFeignClient.getAllSubCustomerIds(formDTO.getCustomerId());
if (result.success() && CollectionUtils.isNotEmpty(result.getData())) {
log.info("包含子客户");
customerIds.add(formDTO.getCustomerId());
customerIds.addAll(result.getData());
}
customerIds.add(formDTO.getCustomerId());
String dateId= baseDao.selectLatestDateId(customerIds);
if(StringUtils.isBlank(dateId)){
throw new RenException("dateId is null");
log.warn("selectLatestDateId dateId is null customerIds" + JSON.toJSONString(customerIds));
}
WorkRecordRankResultDTO returnDto = new WorkRecordRankResultDTO();
//当前组织的自身的数据

2
epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenCustomerWorkRecordDictDao.xml

@ -2,7 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.plugins.ScreenCustomerWorkRecordDictDao">
<select id="selectListByDataType" resultType="java.lang.String">
SELECT
resource_label
@ -12,6 +11,7 @@
del_flag = '0'
AND customer_id = #{customerId}
AND data_type = #{dataType}
and level='2'
ORDER BY
sort ASC, resource_label DESC
</select>

21
epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml

@ -16,7 +16,6 @@
</foreach>
</select>
<!-- 按照area_code查询当前组织的下级对应的数值,不包含本级 -->
<select id="selectSubList" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordSubRank">
SELECT
sca.AGENCY_ID AS orgId,
@ -91,24 +90,4 @@
participateTotal DESC
</select>
<select id="selectCurrentAgency" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordRankResultDTO">
SELECT
IFNULL( sum( m.PARTICIPATE_USER_TOTAL ), 0 ) AS participateUserTotal,
IFNULL( sum( m.ORGANIZE_TOTAL ), 0 ) AS participateTotal
FROM
screen_customer_agency sca
inner JOIN screen_work_record_org_daily m ON ( sca.AGENCY_ID = m.ORG_ID AND m.DEL_FLAG = '0' AND m.DATE_ID = #{dateId}
)
inner JOIN screen_customer_work_record_dict dict
ON ( m.TYPE_CODE = dict.RESOURCE_CODE
and dict.`LEVEL`='1'
AND dict.DEL_FLAG = '0'
and dict.customer
AND dict.DATA_TYPE = #{dataType}
)
WHERE
sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE like concat( #{areaCode},'%')
</select>
</mapper>
Loading…
Cancel
Save