Browse Source

Merge branch 'dev_grid_member_statistics' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_grid_member_statistics

master
wxz 4 years ago
parent
commit
2d08d4e979
  1. 1
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java
  2. 62
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java
  3. 181
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java
  4. 146
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java
  5. 35
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java
  6. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java
  7. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java
  8. 20
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  9. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java
  10. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
  11. 151
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java
  12. 116
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.java
  13. 41
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java
  14. 31
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.java
  15. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  16. 134
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java
  17. 36
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java
  18. 24
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  19. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java
  20. 14
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java
  21. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
  22. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
  23. 33
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml
  24. 32
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml
  25. 35
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  26. 18
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  27. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

1
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/OrgStatisticsResultDTO.java

@ -15,6 +15,7 @@ public class OrgStatisticsResultDTO implements Serializable {
private static final long serialVersionUID = 9221060553279124719L;
private String customerId;
private String agencyId;
private String staffId;
private String level;
private String orgId;
private Integer count;

62
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java

@ -0,0 +1,62 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.org;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 网格人员关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-20
*/
@Data
public class CustomerStaffGridDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 上级组织ID
*/
private String pid;
/**
* 所有上级组织ID
*/
private String pids;
/**
* 用户id, user.id
*/
private String staffId;
}

181
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsDailyDTO.java

@ -0,0 +1,181 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.stats;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格员数据统计_日统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Data
public class FactGridMemberStatisticsDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* yyyyMMdd
*/
private String dateId;
/**
* 月份ID
*/
private String monthId;
/**
* 年度ID
*/
private String yearId;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格I
*/
private String gridId;
/**
* 上级ID项目来源Agency的上级组织Id
*/
private String pid;
/**
* 所有agencyId的上级组织ID包含agencyId
*/
private String pids;
/**
* 工作人员ID
*/
private String staffId;
/**
* 工作人员姓名
*/
private String staffName;
/**
* 项目立项数
*/
private Integer projectCount;
/**
* 议题转项目数
*/
private Integer issueToProjectCount;
/**
* 议题关闭数
*/
private Integer closedIssueCount;
/**
* 项目响应数
*/
private Integer projectResponseCount;
/**
* 项目吹哨数
*/
private Integer projectTransferCount;
/**
* 项目结案数
*/
private Integer projectClosedCount;
/**
* 项目立项数日增量
*/
private Integer projectCountIncr;
/**
* 议题转项目数日增量
*/
private Integer issueToProjectIncr;
/**
* 议题关闭数日增量
*/
private Integer closedIssueIncr;
/**
* 项目响应数日增量
*/
private Integer projectResponseIncr;
/**
* 项目吹哨数日增量
*/
private Integer projectTransferIncr;
/**
* 项目结案数日增量
*/
private Integer projectClosedIncr;
/**
* 删除状态0:正常1:删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

146
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/stats/FactGridMemberStatisticsMonthlyDTO.java

@ -0,0 +1,146 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.stats;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格员数据统计_月统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Data
public class FactGridMemberStatisticsMonthlyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 月份ID
*/
private String monthId;
/**
* 年度ID
*/
private String yearId;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 上级ID项目来源Agency的上级组织Id
*/
private String pid;
/**
* 所有agencyId的上级组织ID包含agencyId
*/
private String pids;
/**
* 工作人员ID
*/
private String staffId;
/**
* 工作人员姓名
*/
private String staffName;
/**
* 项目立项数
*/
private Integer projectCount;
/**
* 议题转项目数
*/
private Integer issueToProjectCount;
/**
* 议题关闭数
*/
private Integer closedIssueCount;
/**
* 项目响应数
*/
private Integer projectResponseCount;
/**
* 项目吹哨数
*/
private Integer projectTransferCount;
/**
* 项目结案数
*/
private Integer projectClosedCount;
/**
* 删除状态0:正常1:删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

35
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/StaffRoleInfoDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2021/7/5 9:49
*/
@Data
public class StaffRoleInfoDTO implements Serializable {
private static final long serialVersionUID = 5005209786187370928L;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 用户ID
*/
private String staffId;
/**
* 用户名
*/
private String staffName;
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsDailyDao.java

@ -0,0 +1,33 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 网格员数据统计_日统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Mapper
public interface FactGridMemberStatisticsDailyDao extends BaseDao<FactGridMemberStatisticsDailyEntity> {
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.java

@ -0,0 +1,33 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 网格员数据统计_月统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Mapper
public interface FactGridMemberStatisticsMonthlyDao extends BaseDao<FactGridMemberStatisticsMonthlyEntity> {
}

20
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java

@ -506,4 +506,24 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
@Param("projectStatus")String projectStatus,
@Param("origin") String origin,
@Param("isResolved")String isResolved);
/**
* 获取项目立项数
* @author zhaoqifeng
* @date 2021/7/5 14:49
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getMemberProjectCountIncr(@Param("customerId")String customerId, @Param("dateId") String dateId);
/**
* 获取项目立项数
* @author zhaoqifeng
* @date 2021/7/5 14:49
* @param customerId
* @param dateId
* @return java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>
*/
List<OrgStatisticsResultDTO> getMemberProjectCount(@Param("customerId")String customerId, @Param("dateId") String dateId);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/org/CustomerGridDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.group.AgencyDTO;
import com.epmet.dto.group.result.AgencyGridTotalCountResultDTO;
import com.epmet.dto.group.result.GridIdListByCustomerResultDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
import org.apache.ibatis.annotations.Mapper;
@ -77,4 +78,13 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @Date 2020/9/16 14:03
**/
List<GridInfoDTO> selectListGridInfo(String customerId);
/**
* 查询工作人员网格关系
* @author zhaoqifeng
* @date 2021/7/5 10:25
* @param customerId
* @return java.util.List<com.epmet.dto.org.CustomerStaffGridDTO>
*/
List<CustomerStaffGridDTO> getCustomerStaffGridList(@Param("customerId") String customerId);
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java

@ -5,6 +5,7 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
@ -164,6 +165,8 @@ public interface UserDao {
*/
List<ScreenProjectDataDTO> selectStaffInfo(@Param("list") List<String> staffUserIdList);
List<StaffRoleInfoDTO> getStaffByRoleKey(@Param("customerId") String customerId, @Param("roleKey") String roleKey);
/**
* desc: 根据角色key条件获取所有的人
*

151
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsDailyEntity.java

@ -0,0 +1,151 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.extract;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格员数据统计_日统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_grid_member_statistics_daily")
public class FactGridMemberStatisticsDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* yyyyMMdd
*/
private String dateId;
/**
* 月份ID
*/
private String monthId;
/**
* 年度ID
*/
private String yearId;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格I
*/
private String gridId;
/**
* 上级ID项目来源Agency的上级组织Id
*/
private String pid;
/**
* 所有agencyId的上级组织ID包含agencyId
*/
private String pids;
/**
* 工作人员ID
*/
private String staffId;
/**
* 工作人员姓名
*/
private String staffName;
/**
* 项目立项数
*/
private Integer projectCount;
/**
* 议题转项目数
*/
private Integer issueToProjectCount;
/**
* 议题关闭数
*/
private Integer closedIssueCount;
/**
* 项目响应数
*/
private Integer projectResponseCount;
/**
* 项目吹哨数
*/
private Integer projectTransferCount;
/**
* 项目结案数
*/
private Integer projectClosedCount;
/**
* 项目立项数日增量
*/
private Integer projectIncr;
/**
* 议题转项目数日增量
*/
private Integer issueToProjectIncr;
/**
* 议题关闭数日增量
*/
private Integer closedIssueIncr;
/**
* 项目响应数日增量
*/
private Integer projectResponseIncr;
/**
* 项目吹哨数日增量
*/
private Integer projectTransferIncr;
/**
* 项目结案数日增量
*/
private Integer projectClosedIncr;
}

116
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridMemberStatisticsMonthlyEntity.java

@ -0,0 +1,116 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.extract;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格员数据统计_月统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_grid_member_statistics_monthly")
public class FactGridMemberStatisticsMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 月份ID
*/
private String monthId;
/**
* 年度ID
*/
private String yearId;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 上级ID项目来源Agency的上级组织Id
*/
private String pid;
/**
* 所有agencyId的上级组织ID包含agencyId
*/
private String pids;
/**
* 工作人员ID
*/
private String staffId;
/**
* 工作人员姓名
*/
private String staffName;
/**
* 项目立项数
*/
private Integer projectCount;
/**
* 议题转项目数
*/
private Integer issueToProjectCount;
/**
* 议题关闭数
*/
private Integer closedIssueCount;
/**
* 项目响应数
*/
private Integer projectResponseCount;
/**
* 项目吹哨数
*/
private Integer projectTransferCount;
/**
* 项目结案数
*/
private Integer projectClosedCount;
}

41
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsDailyService.java

@ -0,0 +1,41 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
/**
* 网格员数据统计_日统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
public interface FactGridMemberStatisticsDailyService extends BaseService<FactGridMemberStatisticsDailyEntity> {
/**
* 网格员数据统计
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2021/7/5 9:29
*/
void extractFactAgencyGovernDaily(String customerId, String dateId);
}

31
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactGridMemberStatisticsMonthlyService.java

@ -0,0 +1,31 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity;
/**
* 网格员数据统计_月统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
public interface FactGridMemberStatisticsMonthlyService extends BaseService<FactGridMemberStatisticsMonthlyEntity> {
}

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java

@ -475,4 +475,16 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
String projectStatus,
String origin,
String isResolved);
/**
* 获取工作人员项目立项数
* @author zhaoqifeng
* @date 2021/7/5 14:48
* @param customerId
* @param dateId
* @param type 0 总量 1 增量
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getMemberProjectCount(String customerId, String dateId, Integer type);
}

134
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsDailyServiceImpl.java

@ -0,0 +1,134 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.RoleKeyConstants;
import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsDailyService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.user.UserService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 网格员数据统计_日统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Service
public class FactGridMemberStatisticsDailyServiceImpl extends BaseServiceImpl<FactGridMemberStatisticsDailyDao, FactGridMemberStatisticsDailyEntity> implements FactGridMemberStatisticsDailyService {
@Resource
private UserService userService;
@Resource
private CustomerGridService customerGridService;
@Resource
private FactOriginProjectMainDailyService factOriginProjectMainDailyService;
/**
* 网格员数据统计
*
* @param customerId
* @param dateId
* @return void
* @author zhaoqifeng
* @date 2021/7/5 9:29
*/
@Override
public void extractFactAgencyGovernDaily(String customerId, String dateId) {
List<CustomerStaffGridDTO> staffGridList = customerGridService.getCustomerStaffGridList(customerId);
List<StaffRoleInfoDTO> staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER);
Map<String, StaffRoleInfoDTO> staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId,
Function.identity()));
List<FactGridMemberStatisticsDailyEntity> list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> {
StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId());
FactGridMemberStatisticsDailyEntity entity = new FactGridMemberStatisticsDailyEntity();
entity.setCustomerId(customerId);
entity.setAgencyId(item.getAgencyId());
entity.setGridId(item.getGridId());
entity.setPid(item.getPid());
entity.setGridId(item.getGridId());
entity.setYearId(dateId.substring(NumConstant.ZERO, NumConstant.FOUR));
entity.setMonthId(dateId.substring(NumConstant.ZERO, NumConstant.SIX));
entity.setDateId(dateId);
entity.setStaffId(item.getStaffId());
entity.setStaffName(staffInfo.getStaffName());
entity.setProjectCount(NumConstant.ZERO);
entity.setProjectIncr(NumConstant.ZERO);
entity.setIssueToProjectCount(NumConstant.ZERO);
entity.setIssueToProjectIncr(NumConstant.ZERO);
entity.setClosedIssueCount(NumConstant.ZERO);
entity.setClosedIssueIncr(NumConstant.ZERO);
entity.setProjectClosedCount(NumConstant.ZERO);
entity.setProjectClosedIncr(NumConstant.ZERO);
entity.setProjectResponseCount(NumConstant.ZERO);
entity.setProjectResponseIncr(NumConstant.ZERO);
entity.setProjectTransferCount(NumConstant.ZERO);
entity.setProjectTransferIncr(NumConstant.ZERO);
return entity;
}).collect(Collectors.toList());
//项目立项数
Map<String, List<OrgStatisticsResultDTO>> projectCountMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId,
NumConstant.ZERO);
Map<String, List<OrgStatisticsResultDTO>> projectIncrMap = factOriginProjectMainDailyService.getMemberProjectCount(customerId, dateId,
NumConstant.ONE);
//议题转项目数
//议题关闭数
//项目响应数
//项目吹哨数
//项目结案数
list.forEach(item -> {
List<OrgStatisticsResultDTO> projectCount = projectCountMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectCount)) {
projectCount.forEach(dto -> {
if (item.getAgencyId().equals(dto.getAgencyId())) {
item.setProjectCount(dto.getCount());
}
});
}
List<OrgStatisticsResultDTO> projectIncr = projectIncrMap.get(item.getStaffId());
if (CollectionUtils.isNotEmpty(projectIncr)) {
projectIncr.forEach(dto -> {
if (item.getAgencyId().equals(dto.getAgencyId())) {
item.setProjectIncr(dto.getCount());
}
});
}
});
}
}

36
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactGridMemberStatisticsMonthlyServiceImpl.java

@ -0,0 +1,36 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.evaluationindex.extract.todata.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsMonthlyDao;
import com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity;
import com.epmet.service.evaluationindex.extract.todata.FactGridMemberStatisticsMonthlyService;
import org.springframework.stereotype.Service;
/**
* 网格员数据统计_月统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-07-02
*/
@Service
public class FactGridMemberStatisticsMonthlyServiceImpl extends BaseServiceImpl<FactGridMemberStatisticsMonthlyDao, FactGridMemberStatisticsMonthlyEntity> implements FactGridMemberStatisticsMonthlyService {
}

24
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java

@ -711,5 +711,29 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return resultList;
}
/**
* 获取工作人员项目立项数
*
* @param customerId
* @param dateId
* @param type 0 总量 1 增量
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
* @author zhaoqifeng
* @date 2021/7/5 14:48
*/
@Override
public Map<String, List<OrgStatisticsResultDTO>> getMemberProjectCount(String customerId, String dateId, Integer type) {
List<OrgStatisticsResultDTO> list;
if (type == NumConstant.ZERO) {
list = baseDao.getMemberProjectCount(customerId, dateId);
} else {
list = baseDao.getMemberProjectCountIncr(customerId, dateId);
}
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getAgencyId));
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java

@ -3,6 +3,7 @@ package com.epmet.service.org;
import com.epmet.dto.group.AgencyDTO;
import com.epmet.dto.group.result.AgencyGridTotalCountResultDTO;
import com.epmet.dto.group.result.GridIdListByCustomerResultDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
@ -50,4 +51,13 @@ public interface CustomerGridService {
* @Date 2020/9/16 14:02
**/
List<GridInfoDTO> queryGridInfoList(String customerId);
/**
* 查询工作人员网格关系
* @author zhaoqifeng
* @date 2021/7/5 10:21
* @param customerId
* @return java.util.List<com.epmet.dto.org.CustomerStaffGridDTO>
*/
List<CustomerStaffGridDTO> getCustomerStaffGridList(String customerId);
}

14
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java

@ -6,6 +6,7 @@ import com.epmet.dao.org.CustomerGridDao;
import com.epmet.dto.group.AgencyDTO;
import com.epmet.dto.group.result.AgencyGridTotalCountResultDTO;
import com.epmet.dto.group.result.GridIdListByCustomerResultDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
import com.epmet.service.org.CustomerGridService;
@ -64,4 +65,17 @@ public class CustomerGridServiceImpl implements CustomerGridService {
public List<GridInfoDTO> queryGridInfoList(String customerId) {
return customerGridDao.selectListGridInfo(customerId);
}
/**
* 查询工作人员网格关系
*
* @param customerId
* @return java.util.List<com.epmet.dto.org.CustomerStaffGridDTO>
* @author zhaoqifeng
* @date 2021/7/5 10:21
*/
@Override
public List<CustomerStaffGridDTO> getCustomerStaffGridList(String customerId) {
return customerGridDao.getCustomerStaffGridList(customerId);
}
}

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java

@ -6,6 +6,7 @@ import com.epmet.dto.extract.form.StaffPatrolStatsFormDTO;
import com.epmet.dto.org.result.OrgStaffDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
@ -99,6 +100,17 @@ public interface UserService {
*/
Map<String,Integer> queryOrgGridManager(String customerId,List<OrgStaffDTO> orgStaffDTOList);
/**
* 根据角色key查找工作人员
*
* @author zhaoqifeng
* @date 2021/7/5 9:52
* @param customerId
* @param roleKey
* @return java.util.List<com.epmet.dto.user.result.StaffRoleInfoDTO>
*/
List<StaffRoleInfoDTO> getStaffByRoleKey(String customerId, String roleKey);
/**
* desc: 请描述类的业务用途
*

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java

@ -17,6 +17,7 @@ import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.*;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.dto.user.result.CustomerStaffDTO;
import com.epmet.dto.user.result.StaffPatrolRecordResult;
import com.epmet.dto.user.result.StatsStaffPatrolRecordDailyDTO;
@ -802,6 +803,20 @@ public class UserServiceImpl implements UserService {
return resultMap;
}
/**
* 根据角色key查找工作人员
*
* @param customerId
* @param roleKey
* @return java.util.List<com.epmet.dto.user.result.StaffRoleInfoDTO>
* @author zhaoqifeng
* @date 2021/7/5 9:52
*/
@Override
public List<StaffRoleInfoDTO> getStaffByRoleKey(String customerId, String roleKey) {
return null;
}
@Override
public List<CustomerStaffDTO> selectUserListByRoleKey(StaffPatrolStatsFormDTO formDTO) {
formDTO.setRoleKey(RoleKeyConstants.ROLE_KEY_GRID_MEMBER);

33
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsDailyDao.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsDailyDao">
<resultMap type="com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsDailyEntity" id="factGridMemberStatisticsDailyMap">
<result property="id" column="ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="staffId" column="STAFF_ID"/>
<result property="staffName" column="STAFF_NAME"/>
<result property="projectCount" column="PROJECT_COUNT"/>
<result property="issueToProjectCount" column="ISSUE_TO_PROJECT_COUNT"/>
<result property="closedIssueCount" column="CLOSED_ISSUE_COUNT"/>
<result property="projectResponseCount" column="PROJECT_RESPONSE_COUNT"/>
<result property="projectTransferCount" column="PROJECT_TRANSFER_COUNT"/>
<result property="projectClosedCount" column="PROJECT_CLOSED_COUNT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

32
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactGridMemberStatisticsMonthlyDao.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.extract.FactGridMemberStatisticsMonthlyDao">
<resultMap type="com.epmet.entity.evaluationindex.extract.FactGridMemberStatisticsMonthlyEntity" id="factGridMemberStatisticsMonthlyMap">
<result property="id" column="ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="staffId" column="STAFF_ID"/>
<result property="staffName" column="STAFF_NAME"/>
<result property="projectCount" column="PROJECT_COUNT"/>
<result property="issueToProjectCount" column="ISSUE_TO_PROJECT_COUNT"/>
<result property="closedIssueCount" column="CLOSED_ISSUE_COUNT"/>
<result property="projectResponseCount" column="PROJECT_RESPONSE_COUNT"/>
<result property="projectTransferCount" column="PROJECT_TRANSFER_COUNT"/>
<result property="projectClosedCount" column="PROJECT_CLOSED_COUNT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

35
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -1069,4 +1069,39 @@
AND m.IS_RESOLVED=#{isResolved}
</if>
</select>
<select id="getMemberProjectCountIncr" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
AGENCY_ID,
PROJECT_CREATOR AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID = #{dateId}
</if>
GROUP BY
AGENCY_ID,
PROJECT_CREATOR
</select>
<select id="getMemberProjectCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO">
SELECT
AGENCY_ID,
PROJECT_CREATOR AS "staffId",
COUNT( ID ) AS "count"
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID &lt;= #{dateId}
</if>
GROUP BY
AGENCY_ID,
PROJECT_CREATOR
</select>
</mapper>

18
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml

@ -86,4 +86,22 @@
CG.CUSTOMER_ID =#{customerId}
and cg.del_flag='0'
</select>
<select id="getCustomerStaffGridList" resultType="com.epmet.dto.org.CustomerStaffGridDTO">
SELECT
ca.CUSTOMER_ID,
ca.ID AS agencyId,
ca.PID,
cg.PIDS,
csg.GRID_ID,
csg.USER_ID AS staffId
FROM
customer_staff_grid csg
INNER JOIN customer_grid cg ON csg.GRID_ID = cg.ID
AND cg.DEL_FLAG = '0'
INNER JOIN customer_agency ca ON cg.PID = ca.ID
AND ca.DEL_FLAG = '0'
WHERE
csg.DEL_FLAG = '0'
AND csg.CUSTOMER_ID = #{customerId}
</select>
</mapper>

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

@ -570,6 +570,23 @@
user_id = #{userId}
</foreach>
</select>
<select id="getStaffByRoleKey" resultType="com.epmet.dto.user.result.StaffRoleInfoDTO">
SELECT
sr.CUSTOMER_ID,
sr.ORG_ID,
sr.STAFF_ID,
cs.REAL_NAME
FROM
staff_role sr
INNER JOIN gov_staff_role gsr ON sr.ROLE_ID = gsr.ID
AND gsr.DEL_FLAG = '0'
INNER JOIN customer_staff cs ON sr.STAFF_ID = cs.USER_ID
AND cs.DEL_FLAG = '0'
WHERE
sr.DEL_FLAG = '0'
AND gsr.ROLE_KEY = #{roleKey}
AND sr.CUSTOMER_ID = #{customerId}
</select>
<select id="selectUserByRoleKey" resultType="com.epmet.dto.user.result.CustomerStaffDTO">
SELECT DISTINCT
s.USER_ID,

Loading…
Cancel
Save