Browse Source

Merge remote-tracking branch 'remotes/origin/develop' into release_temp

dev
jianjun 4 years ago
parent
commit
2d06feb9c2
  1. 1
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
  2. 12
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  3. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
  4. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ShiBeiICJobController.java
  5. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  6. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java
  7. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  8. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  9. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  10. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml
  11. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  12. 4
      epmet-user/epmet-user-server/deploy/docker-compose-prod.yml
  13. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java
  14. 36
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java
  15. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

1
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java

@ -113,6 +113,7 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @author sun
*/
List<ProjectCategoryResultDTO> getProjectCategoryList(@Param("customerId") String customerId,
@Param("categoryCodeList") List<String> categoryCodeList,
@Param("secondCodeList") List<String> secondCodeList,
@Param("userIds") List<String> userIds,
@Param("origin") String origin);

12
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java

@ -1,6 +1,7 @@
package com.epmet.dataaggre.service.govproject.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.CustomerIdConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
@ -560,10 +561,10 @@ public class GovProjectServiceImpl implements GovProjectService {
})).collect(Collectors.toList());
//4.根据userId集合和二级分类Code集合查询来源楼院小组的项目
List<ProjectCategoryResultDTO> groupList = projectDao.getProjectCategoryList(formDTO.getCustomerId(), secondCodeList, userIds, "issue");
List<ProjectCategoryResultDTO> groupList = projectDao.getProjectCategoryList(formDTO.getCustomerId(), formDTO.getCategoryCodeList(), (CustomerIdConstant.SHI_BEI_CUSTOMER_ID.equals(formDTO.getCustomerId()) ? null : secondCodeList), userIds, "issue");
//5.根据userId集合和二级分类Code集合查询来源事件上报的项目
List<ProjectCategoryResultDTO> eventList = projectDao.getProjectCategoryList(formDTO.getCustomerId(), secondCodeList, userIds, "resiEvent");
List<ProjectCategoryResultDTO> eventList = projectDao.getProjectCategoryList(formDTO.getCustomerId(), formDTO.getCategoryCodeList(), secondCodeList, userIds, "resiEvent");
//6.封装数据
//楼院小组下分类项目列表
@ -592,9 +593,14 @@ public class GovProjectServiceImpl implements GovProjectService {
});
//当前分类下来源楼院小组的项目
groupList.forEach(gr -> {
if (secondCodeMap.containsKey(gr.getCategoryCode()) && !formDTO.getProjectId().equals(gr.getProjectId())) {
if (CustomerIdConstant.SHI_BEI_CUSTOMER_ID.equals(formDTO.getCustomerId()) && !formDTO.getProjectId().equals(gr.getProjectId())) {
ProjectAnalysisResultDTO.Project project = ConvertUtils.sourceToTarget(gr, ProjectAnalysisResultDTO.Project.class);
groupPrList.add(project);
} else {
if (secondCodeMap.containsKey(gr.getCategoryCode()) && !formDTO.getProjectId().equals(gr.getProjectId())) {
ProjectAnalysisResultDTO.Project project = ConvertUtils.sourceToTarget(gr, ProjectAnalysisResultDTO.Project.class);
groupPrList.add(project);
}
}
});
groupCa.setProjectList(groupPrList);

16
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml

@ -259,6 +259,7 @@
AND `status` = #{status}
AND created_time <![CDATA[<]]> DATE_FORMAT(#{toDateId}, '%Y-%m-%d')
ORDER BY created_time DESC
LIMIT 2000
</select>
<select id="categoryProjectList" resultType="com.epmet.dataaggre.dto.govproject.result.CategoryProjectResultDTO$Project">
@ -363,9 +364,18 @@
p.del_flag = '0'
AND p.customer_id = #{customerId}
AND p.origin = #{origin}
<foreach collection="secondCodeList" item="code" open="AND pc.category_code IN (" separator="," close=")">
#{code}
</foreach>
<choose>
<when test="null != secondCodeList and secondCodeList.size > 0">
<foreach collection="secondCodeList" item="code" open="AND pc.category_code IN (" separator="," close=")">
#{code}
</foreach>
</when>
<otherwise>
<foreach collection="categoryCodeList" item="code" open="AND (" separator=" OR " close=" )" >
pc.category_code LIKE CONCAT(#{code}, '%')
</foreach>
</otherwise>
</choose>
<if test="origin != null and origin != '' and origin == 'issue'">
<foreach collection="userIds" item="userId" open="AND prp.user_id IN (" separator="," close=")">
#{userId}

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ShiBeiICJobController.java

@ -35,6 +35,8 @@ public class ShiBeiICJobController {
private StatsProjectService statsProjectService;
@Autowired
private RedisUtils redisUtils;
@Autowired
private com.epmet.service.stats.FactIcuserCategoryAnalysisDailyService userCategoryAnalysisDailyService;
@PostMapping("userPointAndProjectStatus/{bizType}")
public Result<String> userPointAndProjectStatus(@PathVariable("bizType") String bizType, @RequestBody ExtractOriginFormDTO formDTO) {
@ -66,6 +68,7 @@ public class ShiBeiICJobController {
private void executeMethod(String bizType, String customerId, String d) {
if (bizType.equals(BizTypeEnum.USER.getType())){
this.extractUserPointData(customerId, d);
this.statUserCategoryGridDaily(customerId, d);
}
if (bizType.equals(BizTypeEnum.PROJECT.getType())) {
this.agencyProjectStats(customerId, d);
@ -103,4 +106,18 @@ public class ShiBeiICJobController {
log.error("市北-热心市民/党员得分数据写入失败,参数为:{}" + customerId + StrConstant.HYPHEN + dateId, e);
}
}
/**
* desc:抽取 用户类别分析数据
* @param customerId
* @param dateId
*/
private void statUserCategoryGridDaily(String customerId, String dateId) {
try {
//用户 类别分析
userCategoryAnalysisDailyService.statUserCategoryGridDaily(customerId, dateId);
} catch (Exception e) {
log.error("市北-居民分类分析数据写入失败,参数为:{}" + customerId + StrConstant.HYPHEN + dateId, e);
}
}
}

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

@ -128,7 +128,7 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
* @author wangc
* @date 2020.10.23 11:13
*/
List<ProjectOrgPeriodResultDTO> selectProjectOrgPeriodDirectly(@Param("customerId") String customerId, @Param("projectId") String projectId);
List<ProjectOrgPeriodResultDTO> selectProjectOrgPeriodDirectly(@Param("customerId") String customerId, @Param("datetId")String datetId, @Param("projectId") String projectId);
/**
* @param projects

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

@ -452,7 +452,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService {
@Override
public void extractProjectPeriodData(ExtractOriginFormDTO param) {
List<ProjectOrgPeriodResultDTO> extractData =
projectProcessService.getProjectPeriodDirectly(param.getCustomerId(), param.getObjectId());
projectProcessService.getProjectPeriodDirectly(param.getCustomerId(), param.getDateId(), param.getObjectId());
List<FactOriginProjectOrgPeriodDailyEntity> formattingData = new LinkedList<>();
extractData.forEach(original -> {
FactOriginProjectOrgPeriodDailyEntity dest

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java

@ -246,9 +246,9 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setEventDescription(project.getProjectContent());
dto.setSuccessfulOrNo(ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())?"Y":"N");
if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) {
dto.setWaysOfResolving(project.getOrgId().equals(project.getFinishOrg())?ProjectConstant.PROJECT_SELF_CLOSED:ProjectConstant.PROJECT_REPORT);
//办结组织是机关时,办结层级为机关的层级
if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) {
dto.setWaysOfResolving(ProjectConstant.PROJECT_REPORT);
//如果是孔村的项目办结层级需要降一级
if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) {
if (StringUtils.isNotBlank(project.getFinishOrgLevel())) {
@ -268,6 +268,7 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel()));
}
} else if (OrgTypeConstant.DEPARTMENT.equals(project.getFinishOrgType())) {
dto.setWaysOfResolving(ProjectConstant.PROJECT_REPORT);
//办结组织是部门时,办结层级为部门所在组织的曾经
String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON);
int size = orgIds.length;
@ -276,6 +277,7 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setCompleteLevel(getCompleteLevel(agency.getLevel()));
}
} else {
dto.setWaysOfResolving(ProjectConstant.PROJECT_SELF_CLOSED);
//办结组织是网格时,办结层级为网格
dto.setCompleteLevel("5");
}

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

@ -112,7 +112,7 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
* @author wangc
* @date 2020.10.23 09:10
*/
List<ProjectOrgPeriodResultDTO> getProjectPeriodDirectly(String customerId, String projectId);
List<ProjectOrgPeriodResultDTO> getProjectPeriodDirectly(String customerId, String datetId, String projectId);
/**
* 获取办结组织

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

@ -101,15 +101,15 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
* @Description 直接从项目业务改造获取项目节点耗时信息
* @param
* @param customerId
* @param date
* @param datetId
* @param projectId
* @return java.util.List<com.epmet.dto.project.result.ProjectOrgPeriodResultDTO>
* @author wangc
* @date 2020.10.23 09:10
*/
@Override
public List<ProjectOrgPeriodResultDTO> getProjectPeriodDirectly(String customerId, String projectId) {
return baseDao.selectProjectOrgPeriodDirectly(customerId, projectId);
public List<ProjectOrgPeriodResultDTO> getProjectPeriodDirectly(String customerId, String datetId, String projectId) {
return baseDao.selectProjectOrgPeriodDirectly(customerId, datetId, projectId);
}
@Override

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

@ -177,7 +177,7 @@
FROM PROJECT_STAFF staff
INNER JOIN PROJECT_ORG_RELATION relation ON staff.ID = relation.PROJECT_STAFF_ID AND relation.DEL_FLAG = '0'
AND (DATE_FORMAT(FIRST_DEALT_DATE,"%Y%m%d") &gt;= #{datetId} OR DATE_FORMAT(HANDLED_DATE,"%Y%m%d") &gt;= #{datetId} OR DATE_FORMAT(INFORMED_DATE,"%Y%m%d") &gt;= #{datetId})
WHERE staff.DEL_FLAG = '0'
<if test="projectId != null and projectId != ''">
AND staff.PROJECT_ID = #{projectId}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -208,14 +208,16 @@ public class BuildingServiceImpl implements BuildingService {
buildingTreeLevelDTO.setChildren(new ArrayList<>());
//当前楼栋共有多少户,有多少户有人住
buildingTreeLevelDTO.setShowNum(StrConstant.EPMETY_STR);
// 总单元数
/* // 总单元数
Integer totalUnitNum = null == item.getTotalUnitNum() ? NumConstant.ZERO : item.getTotalUnitNum();
// 总楼层总数
Integer totalFloorNum = null == item.getTotalFloorNum() ? NumConstant.ZERO : item.getTotalFloorNum();
// *总户数
Integer totalHouseNum = null == item.getTotalHouseNum() ? NumConstant.ZERO : item.getTotalHouseNum();
//总户数=以上三个数相乘
Integer total=totalUnitNum*totalFloorNum*totalHouseNum;
Integer total=totalUnitNum*totalFloorNum*totalHouseNum;*/
//02.11 之前录入的户数概念改为总户数,无需计算直接用就可以了
Integer total = null == item.getTotalHouseNum() ? NumConstant.ZERO : item.getTotalHouseNum();
//已经添加了多少户
LambdaQueryWrapper<IcHouseEntity> icHouseEntityWrapper = new QueryWrapper<IcHouseEntity>().lambda()
.in(IcHouseEntity::getBuildingId, item.getId());

4
epmet-user/epmet-user-server/deploy/docker-compose-prod.yml

@ -9,10 +9,10 @@ services:
volumes:
- "/opt/epmet-cloud-logs/prod:/logs"
environment:
RUN_INSTRUCT: "java -Xms256m -Xmx512m -jar ./epmet-user.jar"
RUN_INSTRUCT: "java -Xms256m -Xmx1024m -jar ./epmet-user.jar"
restart: "unless-stopped"
deploy:
resources:
limits:
cpus: '0.1'
memory: 600M
memory: 1100M

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcStatsResiWarnDao.java

@ -18,7 +18,6 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.PersonWarnLeftPieDTO;
import com.epmet.dto.result.UserWarnNameListResultDTO;
import com.epmet.entity.IcStatsResiWarnEntity;
@ -39,6 +38,7 @@ public interface IcStatsResiWarnDao extends BaseDao<IcStatsResiWarnEntity> {
List<IcStatsResiWarnEntity> selectResiWarnByAgencyId(@Param("customerId") String customerId,@Param("agencyId") String agencyId);
@Deprecated
List<Map<String,String>> userWarnList(@Param("customerId") String customerId,
@Param("buildingIdList") List<String> buildingIdList,
@Param("tableName") String tableName,

36
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java

@ -10,8 +10,6 @@ import com.epmet.dao.IcResiUserDao;
import com.epmet.dao.IcStatsResiWarnDao;
import com.epmet.dto.IcResiCategoryStatsConfigDTO;
import com.epmet.dto.IcResiCategoryWarnConfigDTO;
import com.epmet.dto.PersonWarnLeftPieDTO;
import com.epmet.dto.form.CategoryCountListFormDTO;
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO;
import com.epmet.dto.form.StatsResiListFormDTO;
import com.epmet.dto.result.*;
@ -21,6 +19,7 @@ import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.service.IcStatsResiWarnService;
import com.epmet.service.StatsResiWarnService;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -161,26 +160,21 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService {
IcResiCategoryWarnConfigDTO icResiCategoryWarnConfigDTO = warnResult.getData();
//根据buildingID,tableName he columnName获取名字
// List<Map<String, String>> maps = icStatsResiWarnDao.userWarnList(customerId,buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName());
List<UserWarnNameListResultDTO> dtos = icStatsResiWarnDao.userWarnListDTO(customerId, buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName());
// result.forEach(item->{
// item.setConfigId(configId);
// List<Map<String, String>> buildingIds = maps.stream().filter(map -> item.getBuildingId().equals(map.get("buildingId"))).collect(Collectors.toList());
// item.setResidentNames(CollectionUtils.isEmpty(buildingIds)?"":buildingIds.get(0).get("residentNames"));
// });
if (!CollectionUtils.isEmpty(dtos)){
Map<String, List<UserWarnNameListResultDTO>> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId));
result.forEach(item->{
item.setConfigId(configId);
groupByBuild.forEach((k,v) -> {
if (item.getBuildingId().equals(k)){
item.setUserList(v);
}
//限制条数 一栋楼内最多显示1000 即可
PageHelper.startPage(NumConstant.ONE,NumConstant.ONE_THOUSAND,false).doSelectPage(()->{
List<UserWarnNameListResultDTO> dtos = icStatsResiWarnDao.userWarnListDTO(customerId, buildingIdList, icResiCategoryWarnConfigDTO.getTableName(), icResiCategoryWarnConfigDTO.getColumnName());
if (!CollectionUtils.isEmpty(dtos)){
Map<String, List<UserWarnNameListResultDTO>> groupByBuild = dtos.stream().collect(Collectors.groupingBy(UserWarnNameListResultDTO::getBuildingId));
result.forEach(item->{
item.setConfigId(configId);
groupByBuild.forEach((k,v) -> {
if (item.getBuildingId().equals(k)){
item.setUserList(v);
}
});
});
});
}
}
});
return mapResult;
}

2
epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

@ -630,7 +630,7 @@
WHERE 1=1
<if test="level != null and level != ''">
<if test="level=='agency'">
AND (CONCAT(PIDS, agency_id) like CONCAT(#{id},'%'))
AND (CONCAT(PIDS,':', agency_id) like CONCAT('%',#{id},'%'))
</if>
<if test="level=='grid'">
AND GRID_ID = #{id}

Loading…
Cancel
Save