Browse Source

工作日志采集接口添加orgName

master
yinzuomei 5 years ago
parent
commit
c799f07949
  1. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/ScreenWorkRecordOrgDailyDTO.java
  2. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/ScreenWorkRecordOrgMonthlyDTO.java
  3. 2
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/result/WorkRecordRankResultDTO.java
  4. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/plugins/WorkRecordController.java
  5. 6
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java
  6. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/plugins/ScreenWorkRecordOrgDailyEntity.java
  7. 5
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/plugins/ScreenWorkRecordOrgMonthlyEntity.java
  8. 25
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java
  9. 41
      epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml
  10. 7
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/plugins/ScreenWorkRecordCommonFormDTO.java
  11. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java
  12. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.8__add_plugins_table.sql
  13. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml
  14. 3
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgMonthlyDao.xml

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/ScreenWorkRecordOrgDailyDTO.java

@ -54,6 +54,11 @@ public class ScreenWorkRecordOrgDailyDTO implements Serializable {
*/ */
private String orgId; private String orgId;
/**
* 组织名称或者网格名
*/
private String orgName;
/** /**
* 会议类型编码对应screen_customer_work_record_dict的资源编码 * 会议类型编码对应screen_customer_work_record_dict的资源编码
*/ */

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/ScreenWorkRecordOrgMonthlyDTO.java

@ -54,6 +54,11 @@ public class ScreenWorkRecordOrgMonthlyDTO implements Serializable {
*/ */
private String orgId; private String orgId;
/**
* 组织名称或者网格名
*/
private String orgName;
/** /**
* 会议类型编码对应screen_customer_work_record_dict的资源编码 * 会议类型编码对应screen_customer_work_record_dict的资源编码
*/ */

2
epmet-module/data-report/data-report-client/src/main/java/com/epmet/plugins/result/WorkRecordRankResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.plugins.result; package com.epmet.plugins.result;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -11,6 +12,7 @@ import java.util.List;
* @author yinzuomei@elink-cn.com * @author yinzuomei@elink-cn.com
* @date 2021/2/23 23:11 * @date 2021/2/23 23:11
*/ */
@AllArgsConstructor
@Data @Data
public class WorkRecordRankResultDTO implements Serializable { public class WorkRecordRankResultDTO implements Serializable {
/** /**

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

@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.*;
public class WorkRecordController { public class WorkRecordController {
@Autowired @Autowired
private ScreenWorkRecordOrgDailyService screenWorkRecordOrgDailyService; private ScreenWorkRecordOrgDailyService screenWorkRecordOrgDailyService;
//todo //todo 工作日志是否要添加area_code、parent_area_code、orgType;插件是否可以提供;也可以采集的时候赋值
//5、【工作日志】本机及下级排名 //5、【工作日志】本机及下级排名
//NEI接口地址:https://nei.netease.com/interface/detail/?pid=57068&id=348966 //NEI接口地址:https://nei.netease.com/interface/detail/?pid=57068&id=348966
//返参中的当前组织的参与人数、组织次数 直接sum所有下级的值; //返参中的当前组织的参与人数、组织次数 直接sum所有下级的值;
@ -36,4 +36,5 @@ public class WorkRecordController {
//6、【工作日志】近12月趋势图 //6、【工作日志】近12月趋势图
//NEI接口地址:https://nei.netease.com/interface/detail/?pid=57068&id=348967 //NEI接口地址:https://nei.netease.com/interface/detail/?pid=57068&id=348967
//可以下级组织+下级网格 orgId 直接 in
} }

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

@ -19,6 +19,7 @@ package com.epmet.datareport.dao.plugins;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.datareport.entity.plugins.ScreenWorkRecordOrgDailyEntity; import com.epmet.datareport.entity.plugins.ScreenWorkRecordOrgDailyEntity;
import com.epmet.plugins.result.WorkRecordRankResultDTO;
import com.epmet.plugins.result.WorkRecordSubRank; import com.epmet.plugins.result.WorkRecordSubRank;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -43,9 +44,14 @@ public interface ScreenWorkRecordOrgDailyDao extends BaseDao<ScreenWorkRecordOrg
* @Date 2021/2/23 23:37 * @Date 2021/2/23 23:37
**/ **/
List<WorkRecordSubRank> selectSubList(@Param("areaCode") String areaCode, List<WorkRecordSubRank> selectSubList(@Param("areaCode") String areaCode,
@Param("agencyId") String agencyId,
@Param("dataType") String dataType, @Param("dataType") String dataType,
@Param("topRow") Integer topRow, @Param("topRow") Integer topRow,
@Param("dateId")String dateId); @Param("dateId")String dateId);
String selectLatestDateId(String customerId); String selectLatestDateId(String customerId);
WorkRecordRankResultDTO selectCurrentAgency(@Param("areaCode") String areaCode,
@Param("dataType") String dataType,
@Param("dateId")String dateId);
} }

5
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/plugins/ScreenWorkRecordOrgDailyEntity.java

@ -50,6 +50,11 @@ public class ScreenWorkRecordOrgDailyEntity extends BaseEpmetEntity {
*/ */
private String orgId; private String orgId;
/**
* 组织名称或者网格名
*/
private String orgName;
/** /**
* 会议类型编码对应screen_customer_work_record_dict的资源编码 * 会议类型编码对应screen_customer_work_record_dict的资源编码
*/ */

5
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/entity/plugins/ScreenWorkRecordOrgMonthlyEntity.java

@ -50,6 +50,11 @@ public class ScreenWorkRecordOrgMonthlyEntity extends BaseEpmetEntity {
*/ */
private String orgId; private String orgId;
/**
* 组织名称或者网格名
*/
private String orgName;
/** /**
* 会议类型编码对应screen_customer_work_record_dict的资源编码 * 会议类型编码对应screen_customer_work_record_dict的资源编码
*/ */

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

@ -38,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -108,15 +109,23 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
@Override @Override
public WorkRecordRankResultDTO rankList(WorkRecordRankFormDTO formDTO) { public WorkRecordRankResultDTO rankList(WorkRecordRankFormDTO formDTO) {
ScreenCustomerAgencyDTO agencyDTO=agencyService.queryAgencyInfo(formDTO.getAgencyId()); ////todo 待完善 直属网格是否显示?
if(null==agencyDTO){ ScreenCustomerAgencyDTO agencyDTO = agencyService.queryAgencyInfo(formDTO.getAgencyId());
throw new RenException(String.format("获取组织信息异常,agencyId:%s",formDTO.getAgencyId())); if (null == agencyDTO) {
throw new RenException(String.format("获取组织信息异常,agencyId:%s", formDTO.getAgencyId()));
}
String dateId = baseDao.selectLatestDateId(formDTO.getCustomerId());
log.info(String.format("最近一次上传dateId:%s", dateId));
if (agencyDTO.getLevel().equals("community")) {
log.warn("【工作日志】本机及下级排名接口待完善");
//todo
return new WorkRecordRankResultDTO(0, 0, new ArrayList<>());
} else {
//非社区的
WorkRecordRankResultDTO resultDTO = baseDao.selectCurrentAgency(agencyDTO.getAreaCode(), formDTO.getDataType(), dateId);
resultDTO.setSubRankList(baseDao.selectSubList(agencyDTO.getAreaCode(), agencyDTO.getAgencyId(), formDTO.getDataType(), formDTO.getTopRow(), dateId));
return resultDTO;
} }
WorkRecordRankResultDTO resultDTO=new WorkRecordRankResultDTO();
String dateId=baseDao.selectLatestDateId(formDTO.getCustomerId());
resultDTO.setSubRankList(baseDao.selectSubList(agencyDTO.getAreaCode(),formDTO.getDataType(),formDTO.getTopRow(),dateId));
//todo 待完善
return resultDTO;
} }
} }

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

@ -12,21 +12,42 @@
m.DEL_FLAG = '0' m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId} AND m.CUSTOMER_ID = #{customerId}
</select> </select>
<!-- 按照area_code查询当前组织的下级对应的数值,不包含本级 -->
<select id="selectSubList" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordSubRank"> <select id="selectSubList" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordSubRank">
SELECT SELECT
sca.AGENCY_ID as orgId, sca.AGENCY_ID AS orgId,
sca.AGENCY_NAME as `NAME`, sca.AGENCY_NAME AS `NAME`,
IFNULL(sum(m.PARTICIPATE_USER_TOTAL),0) as participateUserTotal, IFNULL( sum( m.PARTICIPATE_USER_TOTAL ), 0 ) AS participateUserTotal,
IFNULL(sum(m.ORGANIZE_TOTAL) ,0)as participateTotal IFNULL( sum( m.ORGANIZE_TOTAL ), 0 ) AS participateTotal
FROM FROM
screen_customer_agency sca screen_customer_agency sca
LEFT JOIN screen_work_record_org_daily m ON ( sca.AGENCY_ID = m.ORG_ID AND m.DEL_FLAG = '0' and m.DATE_ID=#{dateId}) LEFT JOIN screen_work_record_org_daily m ON ( sca.AGENCY_ID = m.ORG_ID AND m.DEL_FLAG = '0' AND m.DATE_ID = #{dateId} )
left join screen_customer_work_record_dict dict on(m.TYPE_CODE=dict.RESOURCE_CODE and dict.DEL_FLAG='0') LEFT JOIN screen_customer_work_record_dict dict ON ( m.TYPE_CODE = dict.RESOURCE_CODE AND dict.DEL_FLAG = '0' AND dict.DATA_TYPE = #{dataType} )
WHERE WHERE
sca.DEL_FLAG = '0' sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE = #{areaCode} AND sca.PARENT_AREA_CODE like concat( #{areaCode},'%')
and dict.DATA_TYPE=#{dataType} and sca.AGENCY_ID !=#{agencyId}
group by sca.AGENCY_ID,sca.AGENCY_NAME GROUP BY
order by participateUserTotal desc,participateTotal desc limit #{topRow} sca.AGENCY_ID,
sca.AGENCY_NAME
ORDER BY
participateUserTotal DESC,
participateTotal DESC
LIMIT #{topRow}
</select> </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.DEL_FLAG = '0' AND dict.DATA_TYPE = #{dataType} )
WHERE
sca.DEL_FLAG = '0'
AND sca.PARENT_AREA_CODE like concat( #{areaCode},'%')
</select>
</mapper> </mapper>

7
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/plugins/ScreenWorkRecordCommonFormDTO.java

@ -15,10 +15,15 @@ public class ScreenWorkRecordCommonFormDTO implements Serializable {
private static final long serialVersionUID = 819322082786098071L; private static final long serialVersionUID = 819322082786098071L;
/** /**
* 组织Id * 组织Id或者网格id
*/ */
private String orgId; private String orgId;
/**
* 组织名称或者网格名
*/
private String orgName;
/** /**
* 会议类型编码对应screen_customer_work_record_dict的资源编码 * 会议类型编码对应screen_customer_work_record_dict的资源编码
*/ */

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcal/impl/IndexCalculateServiceImpl.java

@ -94,6 +94,7 @@ public class IndexCalculateServiceImpl implements IndexCalculateService {
return flag; return flag;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.warn("indexCalculate exception:{}",e);
log.error("indexCalculate exception,param:{}", JSON.toJSONString(formDTO)); log.error("indexCalculate exception,param:{}", JSON.toJSONString(formDTO));
} finally { } finally {
//清除缓存 //清除缓存

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.8__add_plugins_table.sql

@ -94,6 +94,7 @@ CREATE TABLE `screen_work_record_org_monthly` (
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`MONTH_ID` varchar(32) NOT NULL COMMENT '月份Id:yyyyMM', `MONTH_ID` varchar(32) NOT NULL COMMENT '月份Id:yyyyMM',
`ORG_ID` varchar(64) NOT NULL COMMENT '组织Idor网格id', `ORG_ID` varchar(64) NOT NULL COMMENT '组织Idor网格id',
`ORG_NAME` varchar(255) DEFAULT NULL COMMENT '组织名或网格名',
`MEETING_CODE` varchar(255) DEFAULT NULL COMMENT '会议类型编码;对应screen_customer_work_record_dict的资源编码', `MEETING_CODE` varchar(255) DEFAULT NULL COMMENT '会议类型编码;对应screen_customer_work_record_dict的资源编码',
`TYPE_CODE` varchar(255) NOT NULL COMMENT '随手记类型编码;对应screen_customer_work_record_dict的资源编码', `TYPE_CODE` varchar(255) NOT NULL COMMENT '随手记类型编码;对应screen_customer_work_record_dict的资源编码',
`ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '组织次数', `ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '组织次数',
@ -115,6 +116,7 @@ CREATE TABLE `screen_work_record_org_daily` (
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`DATE_ID` varchar(8) NOT NULL COMMENT '日期Id:yyyyMMdd', `DATE_ID` varchar(8) NOT NULL COMMENT '日期Id:yyyyMMdd',
`ORG_ID` varchar(64) NOT NULL COMMENT '组织Idor网格id', `ORG_ID` varchar(64) NOT NULL COMMENT '组织Idor网格id',
`ORG_NAME` varchar(255) DEFAULT NULL COMMENT '组织名或网格名',
`MEETING_CODE` varchar(255) DEFAULT NULL COMMENT '会议类型编码;对应screen_customer_work_record_dict的资源编码', `MEETING_CODE` varchar(255) DEFAULT NULL COMMENT '会议类型编码;对应screen_customer_work_record_dict的资源编码',
`TYPE_CODE` varchar(255) NOT NULL COMMENT '随手记类型编码;对应screen_customer_work_record_dict的资源编码', `TYPE_CODE` varchar(255) NOT NULL COMMENT '随手记类型编码;对应screen_customer_work_record_dict的资源编码',
`ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '组织次数', `ORGANIZE_TOTAL` int(11) NOT NULL COMMENT '组织次数',

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml

@ -17,6 +17,7 @@
customer_id, customer_id,
DATE_ID, DATE_ID,
org_id, org_id,
org_name,
meeting_code, meeting_code,
type_code, type_code,
organize_total, organize_total,
@ -35,6 +36,7 @@
#{customerId}, #{customerId},
#{dateId}, #{dateId},
#{item.orgId}, #{item.orgId},
#{item.orgName},
#{item.meetingCode}, #{item.meetingCode},
#{item.typeCode}, #{item.typeCode},
#{item.organizeTotal}, #{item.organizeTotal},

3
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgMonthlyDao.xml

@ -29,6 +29,7 @@
customer_id, customer_id,
month_id, month_id,
org_id, org_id,
org_name,
meeting_code, meeting_code,
type_code, type_code,
organize_total, organize_total,
@ -50,7 +51,7 @@
#{monthId}, #{monthId},
#{item.orgId}, #{item.orgId},
#{item.orgName},
#{item.meetingCode}, #{item.meetingCode},
#{item.typeCode}, #{item.typeCode},

Loading…
Cancel
Save