Browse Source

Merge remote-tracking branch 'origin/dev_screen_data_2.0' into dev_screen_data_2.0

# Conflicts:
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java
#	epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java
#	epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueMainDailyDao.xml
dev_shibei_match
yinzuomei 5 years ago
parent
commit
865febd9a5
  1. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java
  2. 149
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginGroupMainDailyDTO.java
  3. 128
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectOrgPeriodDailyDTO.java
  4. 148
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GovernAbilityGridMonthlyFormDTO.java
  5. 45
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GridIssueCountResultDTO.java
  6. 31
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectCountResultDTO.java
  7. 88
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java
  8. 49
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgRelationWhenResponseResultDTO.java
  9. 33
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java
  10. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java
  11. 51
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java
  12. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.java
  13. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  14. 119
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginGroupMainDailyEntity.java
  15. 98
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectOrgPeriodDailyEntity.java
  16. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/GroupExtractService.java
  17. 23
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java
  18. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/ProjectPeriodExtractService.java
  19. 93
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/CalGridIndexServiceImpl.java
  20. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/GroupExtractServiceImpl.java
  21. 32
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java
  22. 42
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectPeriodExtractServiceImpl.java
  23. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollCommunityService.java
  24. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollDistrictDepartmentService.java
  25. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollDistrictService.java
  26. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollStreetService.java
  27. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollCommunityServiceImpl.java
  28. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollDistrictDepartmentServiceImpl.java
  29. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollDistrictServiceImpl.java
  30. 18
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollStreetServiceImpl.java
  31. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  32. 40
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  33. 33
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml
  34. 35
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginIssueMainDailyDao.xml
  35. 43
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml
  36. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.xml
  37. 63
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ExtractConstant.java

@ -18,4 +18,6 @@ public interface ExtractConstant {
String ISSUE_PROCESS = "查询查询议题process集合为空";
String SHIFT_PROJECT = "shift_project";
}

149
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginGroupMainDailyDTO.java

@ -0,0 +1,149 @@
/**
* 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.extract;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 业务数据抽取-小组相关
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-16
*/
@Data
public class FactOriginGroupMainDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 组的Id
*/
private String id;
private String customerId;
/**
* 状态审核通过 - approved 审核中 - under_auditting 审核未通过 - rejected 已屏蔽 - hidden 已关闭 - closed
Ps: 如果一个小组被拒绝当前小组的状态将永久停留在审核未通过
*/
private String groupState;
/**
* 小组所在网格Id
*/
private String gridId;
/**
* 小组所在机关Id
*/
private String agencyId;
/**
* 小组所在组织的父机关Id
*/
private String parentId;
/**
* 小组所在组织所有父类Id集合
*/
private String pids;
/**
* 建群申请审核通过的时期
*/
private String dateId;
/**
* 建群申请审核通过的周期
*/
private String weekId;
/**
* 建群申请审核通过的月份
*/
private String monthId;
/**
* 建群申请审核通过的季度
*/
private String quarterId;
/**
* 建群申请审核通过的年
*/
private String yearId;
/**
* 群众人数
*/
private Integer resiMemberCount;
/**
* 组内总人数
*/
private Integer memberTotal;
/**
* 群主ID
*/
private String groupOwnerId;
/**
* 群主是否热心居民 可以update
*/
private Integer isOwnerHearted;
/**
* 群主是否党员 可以update
*/
private Integer isOwnerParty;
/**
* 删除标识 默认为0
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
*
*/
private String createdBy;
/**
*
*/
private Date createdTime;
/**
*
*/
private String updatedBy;
/**
*
*/
private Date updatedTime;
}

128
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectOrgPeriodDailyDTO.java

@ -0,0 +1,128 @@
/**
* 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.extract;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 业务数据抽取-机关项目响应时间
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-16
*/
@Data
public class FactOriginProjectOrgPeriodDailyDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private String id;
private String customerId;
/**
* 项目ID
*/
private String projectId;
/**
*
*/
private String orgId;
/**
* grid agenct dept
*/
private String orgType;
/**
* 如果是机关则为父级机关(若已是顶级机关则为0)如果是网格和部门则为所属机关
*/
private String pid;
/**
* 最后一个节点是PID若无则为空
*/
private String pids;
/**
* 流转到的日期
*/
private Date informedDate;
/**
* 流转走或结案的日期
*/
private Date handledDate;
/**
* 响应时长从流转到自己到流转走共耗时/小时(不算法定节假日和周末)
*/
private Integer totalPeriod;
/**
* 截至第一次响应时长从流转到第一次处理(响应结案流转)耗时大于等于上一项值
*/
private Integer periodTillReplyFirstly;
/**
* resloved unresolved
*/
private String isResolved;
/**
* 办结的操作return(回退)transfer(流转)closed(结案)但是不包括response(响应)
* */
private String operation;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
*
*/
private Date createdTime;
/**
*
*/
private String createdBy;
/**
*
*/
private Date updatedTime;
/**
*
*/
private String updatedBy;
}

148
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GovernAbilityGridMonthlyFormDTO.java

@ -0,0 +1,148 @@
/**
* 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.extract.form;
import java.io.Serializable;
import java.util.Date;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.math.BigDecimal;
/**
* 治理能力-网格相关事实表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-18
*/
@Data
public class GovernAbilityGridMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID 主键
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 网格所属机关Id
*/
private String agencyId;
/**
* 网格Id
*/
private String gridId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格总议题数
*/
private Integer issueTotal;
/**
* 网格人均议题数目
*/
private Integer avgIssueCount;
/**
* 网格议题转项目率
*/
private BigDecimal issueToProjectRatio;
/**
* 网格总项目数
*/
private Integer projectTotal;
/**
* 网格自治项目数 统计期网格自身内办结的项目数目
*/
private Integer selfSolveProjectCount;
/**
* 网格办结项目数 统计期内办结的项目数目
*/
private Integer resolveProjectCount;
/**
* 网格吹哨部门准确率
*/
private BigDecimal transferRightRatio;
/**
* 网格内解决的项目的满意度
*/
private BigDecimal satisfactionRatio;
/**
* 删除标识 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 更新人
*/
private String updatedBy;
public GovernAbilityGridMonthlyFormDTO() {
this.issueTotal = NumConstant.ZERO;
this.avgIssueCount = NumConstant.ZERO;
this.issueToProjectRatio = new BigDecimal(NumConstant.ZERO);
this.projectTotal = NumConstant.ZERO;
this.selfSolveProjectCount = NumConstant.ZERO;
this.resolveProjectCount = NumConstant.ZERO;
this.transferRightRatio = new BigDecimal(NumConstant.ZERO);
this.satisfactionRatio = new BigDecimal(NumConstant.ZERO);
this.delFlag = NumConstant.ZERO_STR;
this.revision = NumConstant.ZERO;
this.createdBy = "APP_USER";
this.updatedBy = "APP_USER";
}
}

45
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/form/GridIssueCountResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.dto.extract.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/9/18 10:12 上午
*/
@Data
public class GridIssueCountResultDTO implements Serializable {
private static final long serialVersionUID = -1222149631076688225L;
/**
* 网格总议题数目
*/
private Integer issueTotal;
/**
* 网格人均议题数目
*/
private Integer avgIssueCount;
/**
* 网格ID
*/
private String gridId;
/**
* 月份ID
*/
private String monthId;
/**
* 季度ID
*/
private String quarterId;
/**
* 年度ID
*/
private String yearId;
}

31
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectCountResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.extract.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author zxc
* @DateTime 2020/9/18 1:22 下午
*/
@Data
public class GridProjectCountResultDTO implements Serializable {
private static final long serialVersionUID = -1348707512443965601L;
/**
* 网格总项目数
*/
private Integer projectTotal;
/**
* 网格ID
*/
private String gridId;
/**
* 网格议题转项目率
*/
private BigDecimal issueToProjectRatio;
}

88
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgPeriodResultDTO.java

@ -0,0 +1,88 @@
package com.epmet.dto.project.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 从数据库中查询出的 项目 - 机关网格部门机关的响应时长
* FIXME 查询的全都是已经结案的项目如果查询流转中的项目需要修改逻辑较为复杂
* @ClassName ProjectOrgPeriodResultDTO
* @Auth wangc
* @Date 2020-09-16 15:28
*/
@Data
public class ProjectOrgPeriodResultDTO implements Serializable {
private static final long serialVersionUID = 6216112710806237600L;
/**
* 节点Id
* */
private String processId;
/**
* 项目Id
* */
private String projectId;
/**
* 是这个节点的操作相当于上一个人的操作而不是对于这个节点的处理
* created transfer close return response
* */
private String operation;
/**
* 对这个节点的处理如果未处理则为null
* created transfer close return response(查不出response,因为response类型的节点不会与process_staff产生关联需要另取)
* */
private String selfAction;
/**
* 节点所属的机关即上个节点推到这个节点的负责部门
* */
private String departmentName;
/**
* 当前节点所属的Agency如果负责的是部门或者网格则是其所属的机关
* */
private String orgId;
/**
* 如果是部门处理则有值否则null
* */
private String departmentId;
/**
* 如果是网格处理则有值否则null
* */
private String gridId;
/**
* 当前所属的机关的所有Pid集合以及当前的机关Id所以此项不会未null至少也是它的所属Agency
* */
private String orgIdPath;
/**
* 从节点流入到节点流出且当前负责单位确实解决包括退回了的情况下所耗费的时间(以分钟为单位)
* 如果未当前负责单位一直停留在unresolved状态即使做出response或者项目被其他单位结案该项依旧是0不参与办结的计时
* 如果负责单位只是做出回应但未处理(即没有让节点流走)需要查出其相应的第一次响应时间另取
* */
private Integer totalPeriod;
/**
* 节点流入时间
* */
private Date informedDate;
/**
* 节点流出时间如果未解决则未null
* */
private Date handledDate;
/**
* 第一次响应时间
* */
private Date firstResponseDate;
}

49
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectOrgRelationWhenResponseResultDTO.java

@ -0,0 +1,49 @@
package com.epmet.dto.project.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 查询机关在项目节点上响应的结果
* 查询的是存在响应的所有相关工作人员节点如果同一个人对同一个项目已经做过一次处理并未做出响应而在第二次流转到自己时
* 做出了响应也会连带查询出其第一次未响应过的数据
* @ClassName ProjectOrgRelationWhenResponseResultDTO
* @Auth wangc
* @Date 2020-09-16 17:27
*/
@Data
public class ProjectOrgRelationWhenResponseResultDTO implements Serializable {
private static final long serialVersionUID = 1962332392048752037L;
/**
* 项目Id
* */
private String projectId;
/**
* 节点Id
* */
private String processId;
/**
* 节点动作的发起人
* */
private String staffId;
/**
* 负责人所属的单位名称:xx机关-xx部门 xx机关-xx网格 xx机关
* */
private String departmentName;
/**
* 动作分类
* */
private String operation;
/**
* 节点创建时间动作发起时间
* */
private Date createdTime;
}

33
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.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.FactOriginGroupMainDailyEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 业务数据抽取-小组相关
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-16
*/
@Mapper
public interface FactOriginGroupMainDailyDao extends BaseDao<FactOriginGroupMainDailyEntity> {
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginIssueMainDailyDao.java

@ -18,7 +18,9 @@
package com.epmet.dao.evaluationindex.extract;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.GridIssueCountResultDTO;
import com.epmet.dto.extract.form.IssueMainDailyFormDTO;
import com.epmet.dto.extract.result.GridProjectCountResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginIssueMainDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -51,6 +53,25 @@ public interface FactOriginIssueMainDailyDao extends BaseDao<FactOriginIssueMain
* @date 2020/9/16 9:33 上午
*/
void deleteOldMainRecord(@Param("customerId")String customerId, @Param("dateId")String dateId);
/**
* @Description 查询网格议题总数网格人均议题数目
* @param customerId
* @param monthId
* @author zxc
* @date 2020/9/18 10:20 上午
*/
List<GridIssueCountResultDTO> selectIssueTotal(@Param("customerId") String customerId,@Param("monthId") String monthId);
/**
* @Description 网格总项目数
* @param customerId
* @param monthId
* @param status
* @author zxc
* @date 2020/9/18 1:21 下午
*/
List<GridProjectCountResultDTO> selectGridProjectCount(@Param("customerId") String customerId,@Param("monthId") String monthId, @Param("status") String status);
/**
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
* @param customerId

51
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.java

@ -0,0 +1,51 @@
/**
* 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.FactOriginProjectOrgPeriodDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 业务数据抽取-机关项目响应时间
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-09-16
*/
@Mapper
public interface FactOriginProjectOrgPeriodDailyDao extends BaseDao<FactOriginProjectOrgPeriodDailyEntity> {
/**
* @Description 查询是否存在数据如果没有则视为第一次扫描该表需要根据业务查询全部数据
* @param
* @return
* @author wangc
* @date 2020.09.17 13:43
**/
int selectIfExisted(@Param("customerId") String customerId);
/**
* @Description 在插入之前先删除所有与这个项目相关的历时信息
* @param projectId
* @return
* @author wangc
* @date 2020.09.17 14:43
**/
void deleteByProjectId(@Param("projectId") String projectId);
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.java

@ -18,6 +18,7 @@
package com.epmet.dao.evaluationindex.indexcoll;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.GovernAbilityGridMonthlyFormDTO;
import com.epmet.dto.indexcal.CalculateCommonFormDTO;
import com.epmet.dto.indexcal.PageQueryGridFormDTO;
import com.epmet.dto.indexcollect.form.GridGovrnAbilityFormDTO;
@ -101,4 +102,12 @@ public interface FactIndexGovrnAblityGridMonthlyDao extends BaseDao<FactIndexGov
* @Date 2020/9/2 14:46
**/
String selectTheOneGrid(CalculateCommonFormDTO formDTO);
/**
* @Description 查询全部网格信息
* @param customerId
* @author zxc
* @date 2020/9/18 10:47 上午
*/
List<GovernAbilityGridMonthlyFormDTO> selectAllGridInfo(String customerId);
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java

@ -19,6 +19,8 @@ package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import org.apache.ibatis.annotations.Mapper;
@ -81,4 +83,23 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
* @return java.util.List<java.lang.String>
*/
List<ProjectProcessEntity> selectClosedProjectList(@Param("customerId") String customerId, @Param("date") String date);
/**
* @Description 查询项目-机关各个节点历时详情
* @param customerId
* @param projectStatus 项目状态 pending closed 如果是null则全查
* @param dateId
* @return
* @author wangc
* @date 2020.09.17 09:43
**/
List<ProjectOrgPeriodResultDTO> selectProjectOrgPeriod(@Param("customerId") String customerId,@Param("projectStatus")String projectStatus,@Param("dateId") String dateId);
/**
* @Description 查询项目-机关各个节点的响应列表
* @param projects
* @return
* @author wangc
* @date 2020.09.17 17:56
**/
List<ProjectOrgRelationWhenResponseResultDTO> selectResponseTrace(@Param("projects") List<String> projects);
}

119
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginGroupMainDailyEntity.java

@ -0,0 +1,119 @@
/**
* 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 2020-09-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_origin_group_main_daily")
public class FactOriginGroupMainDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
private String customerId;
/**
* 状态审核通过 - approved 审核中 - under_auditting 审核未通过 - rejected 已屏蔽 - hidden 已关闭 - closed
Ps: 如果一个小组被拒绝当前小组的状态将永久停留在审核未通过
*/
private String groupState;
/**
* 小组所在网格Id
*/
private String gridId;
/**
* 小组所在机关Id
*/
private String agencyId;
/**
* 小组所在组织的父机关Id
*/
private String parentId;
/**
* 小组所在组织所有父类Id集合
*/
private String pids;
/**
* 建群申请审核通过的时期
*/
private String dateId;
/**
* 建群申请审核通过的周期
*/
private String weekId;
/**
* 建群申请审核通过的月份
*/
private String monthId;
/**
* 建群申请审核通过的季度
*/
private String quarterId;
/**
* 建群申请审核通过的年
*/
private String yearId;
/**
* 群众人数
*/
private Integer resiMemberCount;
/**
* 组内总人数
*/
private Integer memberTotal;
/**
* 群主ID
*/
private String groupOwnerId;
/**
* 建组时群主是否热心居民不更新
*/
private Integer isOwnerHearted;
/**
* 建组时群主是否党员不更新
*/
private Integer isOwnerParty;
}

98
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectOrgPeriodDailyEntity.java

@ -0,0 +1,98 @@
/**
* 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 2020-09-16
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("fact_origin_project_org_period_daily")
public class FactOriginProjectOrgPeriodDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
private String customerId;
/**
* 项目ID
*/
private String projectId;
/**
*
*/
private String orgId;
/**
* grid agenct dept
*/
private String orgType;
/**
* 如果是机关则为父级机关(若已是顶级机关则为0)如果是网格和部门则为所属机关
*/
private String pid;
/**
* 最后一个节点是PID若无则为空
*/
private String pids;
/**
* 流转到的日期
*/
private Date informedDate;
/**
* 流转走或结案的日期
*/
private Date handledDate;
/**
* 响应时长从流转到自己到流转走共耗时/小时(不算法定节假日和周末)
*/
private Integer totalPeriod;
/**
* 截至第一次响应时长从流转到第一次处理(响应结案流转)耗时大于等于上一项值
*/
private Integer periodTillReplyFirstly;
/**
* resloved unresolved
*/
private String isResolved;
/**
* 办结的操作return(回退)transfer(流转)closed(结案)但是不包括response(响应)
* */
private String operation;
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/GroupExtractService.java

@ -0,0 +1,9 @@
package com.epmet.service.evaluationindex.extract;
/**
* @Desc 业务数据抽取 - 组相关
* @Author wangc
* @DateTime 2020/9/14 5:07 下午
*/
public interface GroupExtractService {
}

23
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/IssueExtractService.java

@ -1,6 +1,10 @@
package com.epmet.service.evaluationindex.extract;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.dto.extract.form.GridIssueCountResultDTO;
import com.epmet.dto.extract.result.GridProjectCountResultDTO;
import java.util.List;
import java.util.List;
import java.util.Map;
@ -27,6 +31,25 @@ public interface IssueExtractService {
*/
Boolean issueExtractLog(ExtractFormDTO extractFormDTO);
/**
* @Description 查询网格议题总数网格人均议题数目
* @param customerId
* @param monthId
* @author zxc
* @date 2020/9/18 10:20 上午
*/
List<GridIssueCountResultDTO> selectIssueTotal(String customerId, String monthId);
/**
* @Description 网格总项目数
* @param customerId
* @param monthId
* @param status
* @author zxc
* @date 2020/9/18 1:21 下午
*/
List<GridProjectCountResultDTO> selectGridProjectCount(String customerId, String monthId,String status);
/**
* @return java.util.List<java.util.Map<java.lang.String,java.lang.Integer>>
* @param customerId

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/ProjectPeriodExtractService.java

@ -0,0 +1,21 @@
package com.epmet.service.evaluationindex.extract;
import com.epmet.dto.extract.form.ExtractFormDTO;
/**
* @Desc 业务数据抽取 - 项目节点历时
* @Author wangc
* @DateTime 2020/9/14 5:07 下午
*/
public interface ProjectPeriodExtractService {
/**
* @Description 抽取项目节点历时逻辑
* @param param
* @return
* @author wangc
* @date 2020.09.17 14:05
**/
void extractProjectPeriodData(ExtractFormDTO param);
}

93
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/CalGridIndexServiceImpl.java

@ -1,10 +1,24 @@
package com.epmet.service.evaluationindex.extract.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.ExtractConstant;
import com.epmet.dao.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyDao;
import com.epmet.dto.extract.form.GovernAbilityGridMonthlyFormDTO;
import com.epmet.dto.extract.form.GridIssueCountResultDTO;
import com.epmet.dto.extract.result.GridProjectCountResultDTO;
import com.epmet.service.evaluationindex.extract.CalGridIndexService;
import com.epmet.service.evaluationindex.extract.IssueExtractService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author zxc
@ -15,6 +29,11 @@ import org.springframework.stereotype.Service;
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class CalGridIndexServiceImpl implements CalGridIndexService {
@Autowired
private IssueExtractService issueExtractService;
@Autowired
private FactIndexGovrnAblityGridMonthlyDao governAbilityDao;
/**
* @Description 计算网格指标党建能力
* @param customerId
@ -36,7 +55,69 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
*/
@Override
public Boolean calGridIndexGovernAbility(String customerId, String monthId) {
return null;
List<GovernAbilityGridMonthlyFormDTO> result = governAbilityDao.selectAllGridInfo(customerId);
if (CollectionUtils.isEmpty(result)){
throw new RenException("客户【"+customerId+"】未查出网格信息");
}
//网格总议题数目,网格人均议题数目
List<GridIssueCountResultDTO> gridIssueTotalList = issueExtractService.selectIssueTotal(customerId, monthId);
//网格总项目数
List<GridProjectCountResultDTO> gridProjectTotalList = issueExtractService.selectGridProjectCount(customerId, monthId, ExtractConstant.SHIFT_PROJECT);
//网格议题转项目率
gridProjectTotalList.forEach(project -> {
gridIssueTotalList.forEach(issue ->{
if (project.getGridId().equals(issue.getGridId())){
project.setIssueToProjectRatio(getRound(new BigDecimal(project.getProjectTotal()/issue.getIssueTotal())));
}
});
});
//网格自治项目数
//网格办结项目数
//网格吹哨部门准确率
//网格内解决的项目的满意度
//组织内党员的参与议事能力考评分(平均值)
result.forEach(r -> {
// 1. 网格总议题数目,网格人均议题数目
if (!CollectionUtils.isEmpty(gridIssueTotalList)) {
gridIssueTotalList.forEach(total -> {
if (r.getGridId().equals(total.getGridId())) {
BeanUtils.copyProperties(total, r);
}
});
}
// 2. 网格总项目数,网格议题转项目率
if (!CollectionUtils.isEmpty(gridIssueTotalList)){
gridProjectTotalList.forEach(projectTotal -> {
if (r.getGridId().equals(projectTotal.getGridId())){
r.setProjectTotal(projectTotal.getProjectTotal());
r.setIssueToProjectRatio(projectTotal.getIssueToProjectRatio());
}
});
}
});
//
return true;
}
/**
@ -50,4 +131,14 @@ public class CalGridIndexServiceImpl implements CalGridIndexService {
public Boolean calGridIndexServiceAbility(String customerId, String monthId) {
return null;
}
/**
* @Description 小数四舍五入
* @param d
* @author zxc
* @date 2020/9/18 2:01 下午
*/
public BigDecimal getRound(BigDecimal d){
return d.setScale(NumConstant.SIX, BigDecimal.ROUND_HALF_UP);
}
}

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/GroupExtractServiceImpl.java

@ -0,0 +1,17 @@
package com.epmet.service.evaluationindex.extract.impl;
import com.epmet.service.evaluationindex.extract.GroupExtractService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @Description 业务数据抽取 - 组相关
* @ClassName GroupExtractServiceImpl
* @Auth wangc
* @Date 2020-09-16 14:47
*/
@Service
@Slf4j
public class GroupExtractServiceImpl implements GroupExtractService {
}

32
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/IssueExtractServiceImpl.java

@ -11,13 +11,10 @@ import com.epmet.dao.evaluationindex.extract.FactOriginIssueLogDailyDao;
import com.epmet.dao.evaluationindex.extract.FactOriginIssueMainDailyDao;
import com.epmet.dao.stats.DimAgencyDao;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.dto.extract.form.GridIssueCountResultDTO;
import com.epmet.dto.extract.form.IssueLogDailyFormDTO;
import com.epmet.dto.extract.form.IssueMainDailyFormDTO;
import com.epmet.dto.extract.result.SatisfactionInfoResultDTO;
import com.epmet.dto.extract.result.AgencyInfoResultDTO;
import com.epmet.dto.extract.result.IssueInfoResultDTO;
import com.epmet.dto.extract.result.IssueProcessInfoResultDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.extract.result.*;
import com.epmet.service.Issue.IssueService;
import com.epmet.service.evaluationindex.extract.IssueExtractService;
import com.epmet.service.topic.TopicService;
@ -228,6 +225,31 @@ public class IssueExtractServiceImpl implements IssueExtractService {
return true;
}
/**
* @Description 查询网格议题总数网格人均议题数目
* @param customerId
* @param monthId
* @author zxc
* @date 2020/9/18 10:20 上午
*/
@Override
public List<GridIssueCountResultDTO> selectIssueTotal(String customerId, String monthId) {
return issueMainDailyDao.selectIssueTotal(customerId, monthId);
}
/**
* @Description 网格总项目数
* @param customerId
* @param monthId
* @param status
* @author zxc
* @date 2020/9/18 1:21 下午
*/
@Override
public List<GridProjectCountResultDTO> selectGridProjectCount(String customerId, String monthId, String status) {
return issueMainDailyDao.selectGridProjectCount(customerId, monthId, status);
}
/**
* @Description 议题附表删除插入
* @param customerId

42
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/impl/ProjectPeriodExtractServiceImpl.java

@ -0,0 +1,42 @@
package com.epmet.service.evaluationindex.extract.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.dao.evaluationindex.extract.FactOriginProjectOrgPeriodDailyDao;
import com.epmet.dto.extract.form.ExtractFormDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO;
import com.epmet.service.evaluationindex.extract.ProjectPeriodExtractService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description 业务数据抽取 - 项目节点历时
* @ClassName ProjectPeriodExtractServiceImpl
* @Auth wangc
* @Date 2020-09-17 13:52
*/
@Service
@Slf4j
public class ProjectPeriodExtractServiceImpl implements ProjectPeriodExtractService {
@Autowired
private FactOriginProjectOrgPeriodDailyDao factOriginProjectOrgPeriodDailyDao;
/**
* @Description 抽取项目节点历时逻辑
* @param param
* @return
* @author wangc
* @date 2020.09.17 14:05
**/
@Override
public void extractProjectPeriodData(ExtractFormDTO param) {
int trace = factOriginProjectOrgPeriodDailyDao.selectIfExisted(param.getCustomerId());
Boolean isFirst = trace <= NumConstant.ZERO ? true : false;
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollCommunityService.java

@ -0,0 +1,10 @@
package com.epmet.service.evaluationindex.indexcoll;
/**
* 社区相关统计
*
* @author zhaoqifeng
* @date 2020/9/18 10:33
*/
public interface IndexCollCommunityService {
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollDistrictDepartmentService.java

@ -0,0 +1,10 @@
package com.epmet.service.evaluationindex.indexcoll;
/**
* 区直部门相关统计
*
* @author zhaoqifeng
* @date 2020/9/18 10:43
*/
public interface IndexCollDistrictDepartmentService {
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollDistrictService.java

@ -0,0 +1,10 @@
package com.epmet.service.evaluationindex.indexcoll;
/**
* 全区相关统计
*
* @author zhaoqifeng
* @date 2020/9/18 10:44
*/
public interface IndexCollDistrictService {
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/IndexCollStreetService.java

@ -0,0 +1,10 @@
package com.epmet.service.evaluationindex.indexcoll;
/**
* 街道相关统计
*
* @author zhaoqifeng
* @date 2020/9/18 10:35
*/
public interface IndexCollStreetService {
}

18
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollCommunityServiceImpl.java

@ -0,0 +1,18 @@
package com.epmet.service.evaluationindex.indexcoll.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.constant.DataSourceConstant;
import com.epmet.service.evaluationindex.indexcoll.IndexCollCommunityService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/9/18 10:34
*/
@Service
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class IndexCollCommunityServiceImpl implements IndexCollCommunityService {
}

18
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollDistrictDepartmentServiceImpl.java

@ -0,0 +1,18 @@
package com.epmet.service.evaluationindex.indexcoll.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.constant.DataSourceConstant;
import com.epmet.service.evaluationindex.indexcoll.IndexCollDistrictDepartmentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/9/18 10:43
*/
@Service
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class IndexCollDistrictDepartmentServiceImpl implements IndexCollDistrictDepartmentService {
}

18
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollDistrictServiceImpl.java

@ -0,0 +1,18 @@
package com.epmet.service.evaluationindex.indexcoll.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.constant.DataSourceConstant;
import com.epmet.service.evaluationindex.indexcoll.IndexCollDistrictService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/9/18 10:45
*/
@Service
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class IndexCollDistrictServiceImpl implements IndexCollDistrictService {
}

18
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/IndexCollStreetServiceImpl.java

@ -0,0 +1,18 @@
package com.epmet.service.evaluationindex.indexcoll.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.constant.DataSourceConstant;
import com.epmet.service.evaluationindex.indexcoll.IndexCollStreetService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/9/18 10:35
*/
@Service
@Slf4j
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class IndexCollStreetServiceImpl implements IndexCollStreetService {
}

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java

@ -19,6 +19,7 @@ package com.epmet.service.project;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
@ -78,4 +79,15 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
* @return java.util.List<java.lang.String>
*/
List<ProjectProcessEntity> getClosedProjectList(String customerId, String date);
/**
* @Description 查询各机关项目节点历时
* @param isFirst 是否首次
* @param customerId
* @param date
* @return
* @author wangc
* @date 2020.09.18 13:38
**/
List<ProjectOrgPeriodResultDTO> getProjectPeriod(Boolean isFirst,String customerId,String date);
}

40
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java

@ -22,12 +22,17 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.project.ProjectProcessDao;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import com.epmet.service.project.ProjectProcessService;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 项目处理进展表
@ -68,4 +73,39 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
public List<ProjectProcessEntity> getClosedProjectList(String customerId, String date) {
return baseDao.selectClosedProjectList(customerId, date);
}
/**
* @Description 查询各机关项目节点历时
* @param isFirst 是否首次
* @param customerId
* @param date
* @return
* @author wangc
* @date 2020.09.18 13:38
**/
@Override
public List<ProjectOrgPeriodResultDTO> getProjectPeriod(Boolean isFirst,String customerId, String date) {
List<ProjectOrgPeriodResultDTO> projectNodePeriodPerOrgList;
if(isFirst){
projectNodePeriodPerOrgList = baseDao.selectProjectOrgPeriod(customerId,null,null);
}else{
projectNodePeriodPerOrgList = baseDao.selectProjectOrgPeriod(customerId,null,date);
}
if(!CollectionUtils.isEmpty(projectNodePeriodPerOrgList)){
List<String> projects =
projectNodePeriodPerOrgList.stream().map(ProjectOrgPeriodResultDTO::getProjectId).distinct().collect(Collectors.toList());
if(!projects.isEmpty()){
List<ProjectOrgRelationWhenResponseResultDTO> responseList = baseDao.selectResponseTrace(projects);
Map<String,List<ProjectOrgRelationWhenResponseResultDTO>> sorted =
responseList.stream().collect(Collectors.groupingBy(ProjectOrgRelationWhenResponseResultDTO::getProjectId));
}
}
return null;
}
}

33
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.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.FactOriginGroupMainDailyDao">
<resultMap type="com.epmet.entity.evaluationindex.extract.FactOriginGroupMainDailyEntity" id="factOriginGroupMainDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID" />
<result property="groupState" column="GROUP_STATE"/>
<result property="gridId" column="GRID_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="parentId" column="PARENT_ID"/>
<result property="pids" column="PIDS"/>
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="resiMemberCount" column="RESI_MEMBER_COUNT"/>
<result property="memberTotal" column="MEMBER_TOTAL"/>
<result property="groupOwnerId" column="GROUP_OWNER_ID"/>
<result property="isOwnerHearted" column="IS_OWNER_HEARTED"/>
<result property="isOwnerParty" column="IS_OWNER_PARTY"/>
<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/FactOriginIssueMainDailyDao.xml

@ -67,6 +67,41 @@
AND DATE_ID = #{dateId}
</delete>
<!-- 查询网格议题总数,网格人均议题数目 -->
<select id="selectIssueTotal" resultType="com.epmet.dto.extract.form.GridIssueCountResultDTO">
SELECT
COUNT( ID ) AS issueTotal,
ROUND((COUNT(ID) / COUNT(DISTINCT(USER_ID))),0) AS avgIssueCount,
GRID_ID,
MONTH_ID,
QUARTER_ID,
YEAR_ID
FROM
fact_origin_issue_main_daily
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
GROUP BY GRID_ID
</select>
<!-- 网格总项目数 -->
<select id="selectGridProjectCount" resultType="com.epmet.dto.extract.result.GridProjectCountResultDTO">
SELECT
COUNT(ID) AS projectTotal,
GRID_ID
FROM
fact_origin_issue_main_daily
WHERE
DEL_FLAG = 0
<if test="status != null and status != '' ">
AND ISSUE_STATUS = #{status}
</if>
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
GROUP BY GRID_ID
</select>
<!-- 党员提出的话题转议题数 -->
<select id="selectShiftIssueCount" parameterType="map" resultType="java.util.Map">
SELECT

43
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml

@ -0,0 +1,43 @@
<?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.FactOriginProjectOrgPeriodDailyDao">
<resultMap type="com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity" id="factOriginProjectOrgPeriodDailyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID" />
<result property="projectId" column="PROJECT_ID"/>
<result property="orgId" column="ORG_ID"/>
<result property="orgType" column="ORG_TYPE"/>
<result property="pid" column="PID"/>
<result property="pids" column="PIDS"/>
<result property="informedDate" column="INFORMED_DATE"/>
<result property="handledDate" column="HANDLED_DATE"/>
<result property="totalPeriod" column="TOTAL_PERIOD"/>
<result property="periodTillReplyFirstly" column="PERIOD_TILL_REPLY_FIRSTLY"/>
<result property="isResolved" column="IS_RESOLVED"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
</resultMap>
<!-- 查询是否存在数据 -->
<select id="selectIfExisted" resultType="int">
SELECT COUNT(*) FROM fact_origin_project_org_period_daily WHERE DEL_FLAG = '0'
<if test='null != customerId and "" != customerId'>
CUSTOMER_ID = #{customerId}
</if>
</select>
<!-- 在插入之前,先删除所有与这个项目相关的历时信息 -->
<delete id="deleteByProjectId">
DELETE FROM
fact_origin_project_org_period_daily
WHERE PROJECT_ID = #{projectId}
</delete>
</mapper>

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/indexcoll/FactIndexGovrnAblityGridMonthlyDao.xml

@ -161,4 +161,17 @@
AND m.CUSTOMER_ID =#{customerId}
AND m.MONTH_ID =#{monthId}
</select>
<!-- 查询全部网格信息 -->
<select id="selectAllGridInfo" resultType="com.epmet.dto.extract.form.GovernAbilityGridMonthlyFormDTO">
SELECT
scg.CUSTOMER_ID,
scg.GRID_ID,
scg.PARENT_AGENCY_ID AS agencyId
FROM
screen_customer_grid scg
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
</select>
</mapper>

63
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -77,4 +77,67 @@
</if>
</select>
<!-- 查询项目-机关各个节点历时详情 -->
<select id="selectProjectOrgPeriod" resultType="com.epmet.dto.project.result.ProjectOrgPeriodResultDTO">
SELECT
process.ID AS processId,
process.PROJECT_ID,
process.OPERATION,
IF(staff.IS_HANDLE='handle',selfAction.OPERATION,null) AS selfAction,
staff.DEPARTMENT_NAME,
staff.ORG_ID,
staff.DEPARTMENT_ID,
staff.GRID_ID,
staff.ORG_ID_PATH,
IF(staff.IS_HANDLE='handle',timestampdiff(MINUTE , staff.CREATED_TIME , staff.UPDATED_TIME),0) AS TOTAL_PERIOD,
staff.CREATED_TIME AS informedDate,
-- 转入时间
IF(staff.IS_HANDLE='handle',staff.UPDATED_TIME,null) AS handledDate
FROM PROJECT_STAFF staff
LEFT JOIN PROJECT project ON staff.PROJECT_ID = project.ID AND project.DEL_FLAG = '0'
LEFT JOIN PROJECT_PROCESS process ON staff.PROCESS_ID = process.ID AND process.DEL_FLAG = '0'
LEFT JOIN PROJECT_PROCESS selfAction ON staff.PROJECT_ID = selfAction.PROJECT_ID AND selfAction.DEL_FLAG = '0' AND staff.UPDATED_TIME = selfAction.CREATED_TIME AND staff.STAFF_ID = selfAction.STAFF_ID
WHERE staff.DEL_FLAG = '0'
AND project.CUSTOMER_ID = #{customerId}
<!-- 如果不传projectStatus则默认查全部 -->
<if test='null != projectStatus and "" != projectStatus'>
AND project.STATUS = #{projectStatus}
</if>
<if test='null != dateId and "" != dateId'>
AND (
DATE_FORMAT(project.CREATED_TIME , '%Y%m%d') = #{dateId}
OR
DATE_FORMAT(project.UPDATED_TIME , '%Y%m%d') = #{dateId}
)
</if>
AND process.OPERATION <![CDATA[ <> ]]> 'response'
ORDER BY process.PROJECT_ID,staff.CREATED_TIME ASC -- 按照立项-流转的顺序
</select>
<!-- 查询项目-机关各个节点的响应列表 -->
<select id="selectResponseTrace" resultType="com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO">
SELECT
process.PROJECT_ID,
process.ID AS PROCESS_ID,
process.STAFF_ID,
process.DEPARTMENT_NAME,
process.OPERATION,
process.CREATED_TIME
FROM
PROJECT_PROCESS process
WHERE
process.DEL_FLAG = '0'
AND
<foreach collection="projects" item="id" open="(" close=")" separator=" OR ">
process.PROJECT_ID = #{id}
</foreach>
AND
EXISTS(
SELECT * FROM PROJECT_PROCESS WHERE DEL_FLAG = '0' AND PROJECT_ID = process.PROJECT_ID AND OPERATION = 'response'
AND STAFF_ID = process.STAFF_ID AND DEPARTMENT_NAME = process.DEPARTMENT_NAME
)
ORDER BY process.STAFF_ID , process.CREATED_TIME ASC
</select>
</mapper>
Loading…
Cancel
Save