Browse Source

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

dev
zxc 4 years ago
parent
commit
0912231596
  1. 31
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/SpecialCustomerOrgConstant.java
  2. 29
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/UpdateUserPointsFormDTO.java
  3. 43
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BehaviorTypeYuShanEnum.java
  4. 35
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ExternalApiEnum.java
  5. 55
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ExternalServerEnum.java
  6. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignConfig.java
  7. 72
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YuShanSysApiService.java
  8. 356
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  9. 27
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  10. 28
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java
  11. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
  12. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/GovProjectApplication.java
  13. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  14. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java
  15. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java
  16. 30
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

31
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/SpecialCustomerOrgConstant.java

@ -0,0 +1,31 @@
package com.epmet.commons.tools.constant;
/**
* 需要特殊处理的客户id
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface SpecialCustomerOrgConstant {
/**
* 榆山街道组织id
*/
String YUSHAN_AGENCY_ID_PROD="1258587398679126017";
/**
* 南宁社区-开发测试用的
*/
String test="6e511da6816e53af4cda952365a26eb9";
// /**
// * 榆山生产客户id
// */
// String YUSHAN_PROD_CUSTOMER_ID = "46c55cb862d6d5e6d05d2ab61a1cc07e";
//
// /**
// * 榆山测试客户id
// */
// String YUSHAN_TEST_CUSTOMER_ID = "a4bbf298d8e427844038cee466f022ef";
}

29
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/UpdateUserPointsFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.commons.tools.dto.form;
import lombok.Data;
import java.io.Serializable;
@Data
public class UpdateUserPointsFormDTO implements Serializable {
/**
* 行为类型
* 双十信息更新-double_info_update
* 网格巡查-grid_patrol
* 网格上报事件-grid_report_event
* 网格工作上传-grid_work_upload
*/
private String behaviorType;
/**
* 手机号
*/
private String mobile;
/**
* 工作端用户id
*/
private String staffId;
private String customerId;
}

43
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BehaviorTypeYuShanEnum.java

@ -0,0 +1,43 @@
package com.epmet.commons.tools.enums;
/**
* 更新用户积分(双实信息更新 网格巡查)
* 行为类型枚举类
*/
public enum BehaviorTypeYuShanEnum {
DOUBLE_INFO_UPDATE("double_info_update", "双十信息更新"),
GRID_PATROL("grid_patrol", "网格巡查"),
GRID_REPORT_EVENT("grid_report_event", "网格上报事件"),
GRID_WORK_UPLOAD("grid_work_upload", "网格工作上传"),
;
private String code;
private String name;
BehaviorTypeYuShanEnum(String code, String name) {
this.code = code;
this.name = name;
}
public static BehaviorTypeYuShanEnum getEnum(String code) {
BehaviorTypeYuShanEnum[] values = BehaviorTypeYuShanEnum.values();
for (BehaviorTypeYuShanEnum value : values) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}

35
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ExternalApiEnum.java

@ -0,0 +1,35 @@
package com.epmet.commons.tools.enums;
/**
* 外部api
*/
public enum ExternalApiEnum {
/**
* 榆山-测试服务器地址
*/
UPDATE_USER_POINTS("/api/points/behavior/updateUserPoints","更新用户积分(双实信息更新 网格巡查)","http://yapi.elinkservice.cn/project/57/interface/api/7466");
private String apiPath;
private String desc;
private String descUrl;
ExternalApiEnum(String apiPath, String desc,String descUrl) {
this.apiPath = apiPath;
this.desc = desc;
this.descUrl=descUrl;
}
public String getApiPath() {
return apiPath;
}
public String getDesc() {
return desc;
}
public String getDescUrl() {
return descUrl;
}
}

55
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ExternalServerEnum.java

@ -0,0 +1,55 @@
package com.epmet.commons.tools.enums;
import com.epmet.commons.tools.constant.StrConstant;
/**
* 外部客户的服务器地址
*/
public enum ExternalServerEnum {
DEV_TEST("45687aa479955f9d06204d415238f7cc", "https://epdc-api-test.elinkservice.cn/epdc-api"),
/**
* 榆山-测试服务器地址
*/
YUSHAN_TEST("a4bbf298d8e427844038cee466f022ef", "https://epdc-api-test.elinkservice.cn/epdc-api"),
/**
* 榆山-生产服务器地址
*/
YUSHAN_PROD("46c55cb862d6d5e6d05d2ab61a1cc07e", "https://epdc-yushan.elinkservice.cn/epdc-api");
private String customerId;
private String url;
ExternalServerEnum(String customerId, String url) {
this.customerId = customerId;
this.url = url;
}
public static String getUrl(String customerId) {
ExternalServerEnum[] array = values();
for (ExternalServerEnum enumValue : array) {
if (enumValue.getCustomerId().equals(customerId)) {
return enumValue.getUrl();
}
}
return StrConstant.EPMETY_STR;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignConfig.java

@ -10,9 +10,14 @@ package com.epmet.commons.tools.feign;
import feign.Logger;
import feign.RequestInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.RequestContextFilter;
import org.springframework.web.servlet.DispatcherServlet;
import javax.annotation.PostConstruct;
/**
@ -24,6 +29,10 @@ import org.springframework.context.annotation.Configuration;
*/
@Configuration
public class FeignConfig {
@Autowired
RequestContextFilter requestContextFilter;
@Autowired
DispatcherServlet dispatcherServlet;
@Bean
@ConditionalOnMissingBean
@ -37,5 +46,10 @@ public class FeignConfig {
return Logger.Level.BASIC;//控制台会输出debug日志
}
@PostConstruct
public void init() {
// 设置线程继承属性为true,便于子线程获取到父线程的request,两个都设置为了保险。
requestContextFilter.setThreadContextInheritable(true);
dispatcherServlet.setThreadContextInheritable(true);
}
}

72
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YuShanSysApiService.java

@ -0,0 +1,72 @@
package com.epmet.commons.tools.utils;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.SpecialCustomerOrgConstant;
import com.epmet.commons.tools.dto.form.UpdateUserPointsFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.ExternalApiEnum;
import com.epmet.commons.tools.enums.ExternalServerEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* e事通调用榆山api
*
* @author yinzuomei
* @date 2022-02-16
**/
@Service
@Slf4j
public class YuShanSysApiService {
/**
* 更新用户积分(双实信息更新 网格巡查)
*
* @return
*/
@Async
public void updateUserPoints(String customerId, List<UpdateUserPointsFormDTO> paramList) {
if (StringUtils.isBlank(customerId) || CollectionUtils.isEmpty(paramList)) {
throw new RenException("参数错误");
}
String serverUrl = ExternalServerEnum.getUrl(customerId);
if (StringUtils.isBlank(serverUrl)) {
log.warn(String.format("当前客户:%s,未配置服务器地址", customerId));
return;
}
String apiPath = serverUrl.concat(ExternalApiEnum.UPDATE_USER_POINTS.getApiPath());
log.info(String.format("updateUserPoints 接口路径:%s", apiPath));
for (UpdateUserPointsFormDTO formDTO : paramList) {
try {
CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(customerId, formDTO.getStaffId());
//只有榆山街道的工作人员才调用
if (null != staff && (staff.getAgencyId().equals(SpecialCustomerOrgConstant.YUSHAN_AGENCY_ID_PROD) || staff.getAgencyPIds().contains(SpecialCustomerOrgConstant.YUSHAN_AGENCY_ID_PROD))) {
formDTO.setMobile(staff.getMobile());
//测试用手机号
// formDTO.setMobile("13205302682");
Result<String> res = HttpClientManager.getInstance().sendPostByJSON(apiPath, JSON.toJSONString(formDTO));
Result result = JSON.parseObject(res.getData(), Result.class);
log.info(String.format("updateUserPoints 入参:%s;返参:%s", JSON.toJSONString(formDTO),JSON.toJSONString(result)));
if (!result.success()) {
log.warn("updateUserPoints failed:{}", JSON.toJSONString(result));
}
}
} catch (Exception e) {
log.warn("updateUserPoints exception 入参:{}", JSON.toJSONString(formDTO));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage());
}
}
}
}

356
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -4,7 +4,8 @@
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.OrgLevelEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
@ -98,15 +99,15 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
formDTO.setDateId(format.format(yesterday));
}
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
//NumConstant.ZERO.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId());
agencyList.add(formDTO.getAgencyId());
//1.查询组织下注册用户最新日统计数据【只查询注册用户的统计数据,不涉及参与用户的】
List<AgencyBasicDataResultDTO> userList = dataStatsDao.getAgnecyRegUser(agencyList, formDTO.getDateId());
int userTotal = 0;
int resiTotal = 0;
int partyMemberTotal = 0;
int userTotal = NumConstant.ZERO;
int resiTotal = NumConstant.ZERO;
int partyMemberTotal = NumConstant.ZERO;
for (AgencyBasicDataResultDTO u : userList){
userTotal+=u.getUserTotal();
resiTotal+=u.getResiTotal();
@ -114,15 +115,15 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
resultDTO.setUserTotal(userTotal);
resultDTO.setResiTotal(resiTotal);
resultDTO.setResiRatio(resultDTO.getResiTotal() == 0 || resultDTO.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getResiTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setResiRatio(resultDTO.getResiTotal() == NumConstant.ZERO || resultDTO.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getResiTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setPartyMemberTotal(partyMemberTotal);
resultDTO.setPartyMemberRatio(resultDTO.getPartyMemberTotal() == 0 || resultDTO.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPartyMemberTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setPartyMemberRatio(resultDTO.getPartyMemberTotal() == NumConstant.ZERO || resultDTO.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPartyMemberTotal() / (float) resultDTO.getUserTotal())));
//2.查询组织下最新群组日统计数据
List<AgencyBasicDataResultDTO> groupList = dataStatsDao.getAgnecyGroup(agencyList, formDTO.getDateId());
int groupTotal = 0;
int ordinaryTotal = 0;
int branchTotal = 0;
int groupTotal = NumConstant.ZERO;
int ordinaryTotal = NumConstant.ZERO;
int branchTotal = NumConstant.ZERO;
for (AgencyBasicDataResultDTO g : groupList){
groupTotal+=g.getGroupTotal();
ordinaryTotal+=g.getOrdinaryTotal();
@ -130,9 +131,9 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
resultDTO.setGroupTotal(groupTotal);
resultDTO.setOrdinaryTotal(ordinaryTotal);
resultDTO.setOrdinaryRatio(resultDTO.getOrdinaryTotal() == 0 || resultDTO.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getOrdinaryTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setOrdinaryRatio(resultDTO.getOrdinaryTotal() == NumConstant.ZERO || resultDTO.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getOrdinaryTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setBranchTotal(branchTotal);
resultDTO.setBranchRatio(resultDTO.getBranchTotal() == 0 || resultDTO.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getBranchTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setBranchRatio(resultDTO.getBranchTotal() == NumConstant.ZERO || resultDTO.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getBranchTotal() / (float) resultDTO.getGroupTotal())));
//3.查询组织下最新话题日统计数据
//状态话题-机关日统计数据表最新日期三种状态数据
@ -148,21 +149,21 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
//转议题
int shiftIssueTotal = topicSHiftIssue.stream().mapToInt(AgencyBasicDataResultDTO.Topic::getShiftedIssueTotal).sum();
resultDTO.setShiftIssueTotal(shiftIssueTotal);
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
//热议中
int discussingTotal = hotdiscuss.stream().mapToInt(AgencyBasicDataResultDTO.Topic::getTopicCount).sum();
resultDTO.setDiscussingTotal(discussingTotal);
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
//已处理
resultDTO.setClosedTopicTotal(closedTotal);
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
//4.查询组织下最新议题日统计数据
//NumConstant.FOUR.查询组织下最新议题日统计数据
List<AgencyBasicDataResultDTO> issueList = dataStatsDao.getAgencyIssue(agencyList, formDTO.getDateId());
int issueTotal = 0;
int votingTotal = 0;
int closedIssueTotal = 0;
int shiftProjectTotal = 0;
int issueTotal = NumConstant.ZERO;
int votingTotal = NumConstant.ZERO;
int closedIssueTotal = NumConstant.ZERO;
int shiftProjectTotal = NumConstant.ZERO;
for (AgencyBasicDataResultDTO i : issueList){
issueTotal+=i.getIssueTotal();
votingTotal+=i.getVotingTotal();
@ -171,17 +172,17 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
resultDTO.setIssueTotal(issueTotal);
resultDTO.setVotingTotal(votingTotal);
resultDTO.setVotingRatio(resultDTO.getVotingTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getVotingTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setVotingRatio(resultDTO.getVotingTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getVotingTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setClosedIssueTotal(closedIssueTotal);
resultDTO.setClosedIssueRatio(resultDTO.getClosedIssueTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedIssueTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setClosedIssueRatio(resultDTO.getClosedIssueTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedIssueTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setShiftProjectTotal(shiftProjectTotal);
resultDTO.setShiftProjectRatio(resultDTO.getShiftProjectTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftProjectTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setShiftProjectRatio(resultDTO.getShiftProjectTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftProjectTotal() / (float) resultDTO.getIssueTotal())));
//5.查询组织下最新项目日统计数据
List<AgencyBasicDataResultDTO> projectList = dataStatsDao.getAgencyProject(agencyList, formDTO.getDateId());
int projectTotal = 0;
int pendingTotal = 0;
int closedProjectTotal = 0;
int projectTotal = NumConstant.ZERO;
int pendingTotal = NumConstant.ZERO;
int closedProjectTotal = NumConstant.ZERO;
for (AgencyBasicDataResultDTO p : projectList){
projectTotal+=p.getProjectTotal();
pendingTotal+=p.getPendingTotal();
@ -189,9 +190,9 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
resultDTO.setProjectTotal(projectTotal);
resultDTO.setPendingTotal(pendingTotal);
resultDTO.setPendingRatio(resultDTO.getPendingTotal() == 0 || resultDTO.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPendingTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setPendingRatio(resultDTO.getPendingTotal() == NumConstant.ZERO || resultDTO.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPendingTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setClosedProjectTotal(closedProjectTotal);
resultDTO.setClosedProjectRatio(resultDTO.getClosedProjectTotal() == 0 || resultDTO.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedProjectTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setClosedProjectRatio(resultDTO.getClosedProjectTotal() == NumConstant.ZERO || resultDTO.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedProjectTotal() / (float) resultDTO.getProjectTotal())));
return resultDTO;
}
@ -220,21 +221,21 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
gridIds.add(formDTO.getGridId());
List<SubGridUserResultDTO> userList = dataStatsDao.getSubGridUser(gridIds, formDTO.getDateId());
if (userList.size() > NumConstant.ZERO) {
resultDTO.setUserTotal(userList.get(0).getUserTotal());
resultDTO.setResiTotal(userList.get(0).getResiTotal());
resultDTO.setResiRatio(resultDTO.getResiTotal() == 0 || resultDTO.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getResiTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setPartyMemberTotal(userList.get(0).getPartyMemberTotal());
resultDTO.setPartyMemberRatio(resultDTO.getPartyMemberTotal() == 0 || resultDTO.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPartyMemberTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setUserTotal(userList.get(NumConstant.ZERO).getUserTotal());
resultDTO.setResiTotal(userList.get(NumConstant.ZERO).getResiTotal());
resultDTO.setResiRatio(resultDTO.getResiTotal() == NumConstant.ZERO || resultDTO.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getResiTotal() / (float) resultDTO.getUserTotal())));
resultDTO.setPartyMemberTotal(userList.get(NumConstant.ZERO).getPartyMemberTotal());
resultDTO.setPartyMemberRatio(resultDTO.getPartyMemberTotal() == NumConstant.ZERO || resultDTO.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPartyMemberTotal() / (float) resultDTO.getUserTotal())));
}
//2.查询网格下最新群组日统计数据
List<SubGridGroupResultDTO> groupList = dataStatsDao.getSubGridGroup(gridIds, formDTO.getDateId());
if (groupList.size() > NumConstant.ZERO) {
resultDTO.setGroupTotal(groupList.get(0).getGroupTotal());
resultDTO.setOrdinaryTotal(groupList.get(0).getOrdinaryTotal());
resultDTO.setOrdinaryRatio(resultDTO.getOrdinaryTotal() == 0 || resultDTO.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getOrdinaryTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setBranchTotal(groupList.get(0).getBranchTotal());
resultDTO.setBranchRatio(resultDTO.getBranchTotal() == 0 || resultDTO.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getBranchTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setGroupTotal(groupList.get(NumConstant.ZERO).getGroupTotal());
resultDTO.setOrdinaryTotal(groupList.get(NumConstant.ZERO).getOrdinaryTotal());
resultDTO.setOrdinaryRatio(resultDTO.getOrdinaryTotal() == NumConstant.ZERO || resultDTO.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getOrdinaryTotal() / (float) resultDTO.getGroupTotal())));
resultDTO.setBranchTotal(groupList.get(NumConstant.ZERO).getBranchTotal());
resultDTO.setBranchRatio(resultDTO.getBranchTotal() == NumConstant.ZERO || resultDTO.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getBranchTotal() / (float) resultDTO.getGroupTotal())));
}
//3.查询网格下最新话题日统计数据
@ -245,7 +246,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
List<SubGridFormDTO.Topic> topicShiftIssueList = dataStatsDao.getSubGridTopicShiftIssue(gridIds, formDTO.getDateId());
//热议中话题-网格日统计数据
List<SubGridFormDTO.Topic> hotdiscussList = dataStatsDao.getSubGridTopicHotDiscuss(gridIds, formDTO.getDateId());
AtomicReference<Integer> closedTotal = new AtomicReference<>(0);
AtomicReference<Integer> closedTotal = new AtomicReference<>(NumConstant.ZERO);
if (topicList.size() > NumConstant.ZERO) {
resultDTO.setTopicTotal(topicList.stream().collect(Collectors.summingInt(SubGridFormDTO.Topic::getTopicCount)));
topicList.forEach(t -> {
@ -256,38 +257,38 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
//转议题
if (topicShiftIssueList.size() > NumConstant.ZERO) {
resultDTO.setShiftIssueTotal(topicShiftIssueList.get(0).getShiftedIssueTotal());
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueTotal(topicShiftIssueList.get(NumConstant.ZERO).getShiftedIssueTotal());
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
}
//热议中
if (hotdiscussList.size() > NumConstant.ZERO) {
resultDTO.setDiscussingTotal(hotdiscussList.get(0).getTopicCount());
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setDiscussingTotal(hotdiscussList.get(NumConstant.ZERO).getTopicCount());
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
}
//已处理
resultDTO.setClosedTopicTotal(closedTotal.get());
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
//4.查询网格下最新议题日统计数据
//NumConstant.FOUR.查询网格下最新议题日统计数据
List<SubGridIssueResultDTO> issueList = dataStatsDao.getSubGridIssue(gridIds, formDTO.getDateId());
if (issueList.size() > NumConstant.ZERO) {
resultDTO.setIssueTotal(issueList.get(0).getIssueTotal());
resultDTO.setVotingTotal(issueList.get(0).getVotingTotal());
resultDTO.setVotingRatio(resultDTO.getVotingTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getVotingTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setClosedIssueTotal(issueList.get(0).getClosedIssueTotal());
resultDTO.setClosedIssueRatio(resultDTO.getClosedIssueTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedIssueTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setShiftProjectTotal(issueList.get(0).getShiftProjectTotal());
resultDTO.setShiftProjectRatio(resultDTO.getShiftProjectTotal() == 0 || resultDTO.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftProjectTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setIssueTotal(issueList.get(NumConstant.ZERO).getIssueTotal());
resultDTO.setVotingTotal(issueList.get(NumConstant.ZERO).getVotingTotal());
resultDTO.setVotingRatio(resultDTO.getVotingTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getVotingTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setClosedIssueTotal(issueList.get(NumConstant.ZERO).getClosedIssueTotal());
resultDTO.setClosedIssueRatio(resultDTO.getClosedIssueTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedIssueTotal() / (float) resultDTO.getIssueTotal())));
resultDTO.setShiftProjectTotal(issueList.get(NumConstant.ZERO).getShiftProjectTotal());
resultDTO.setShiftProjectRatio(resultDTO.getShiftProjectTotal() == NumConstant.ZERO || resultDTO.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftProjectTotal() / (float) resultDTO.getIssueTotal())));
}
//5.查询网格下最新项目日统计数据
List<SubGridProjectResultDTO> projectList = dataStatsDao.getSubGridProject(gridIds, formDTO.getDateId());
if (projectList.size() > NumConstant.ZERO) {
resultDTO.setProjectTotal(projectList.get(0).getProjectTotal());
resultDTO.setPendingTotal(projectList.get(0).getPendingTotal());
resultDTO.setPendingRatio(resultDTO.getPendingTotal() == 0 || resultDTO.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPendingTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setClosedProjectTotal(projectList.get(0).getClosedProjectTotal());
resultDTO.setClosedProjectRatio(resultDTO.getClosedProjectTotal() == 0 || resultDTO.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedProjectTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setProjectTotal(projectList.get(NumConstant.ZERO).getProjectTotal());
resultDTO.setPendingTotal(projectList.get(NumConstant.ZERO).getPendingTotal());
resultDTO.setPendingRatio(resultDTO.getPendingTotal() == NumConstant.ZERO || resultDTO.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getPendingTotal() / (float) resultDTO.getProjectTotal())));
resultDTO.setClosedProjectTotal(projectList.get(NumConstant.ZERO).getClosedProjectTotal());
resultDTO.setClosedProjectRatio(resultDTO.getClosedProjectTotal() == NumConstant.ZERO || resultDTO.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedProjectTotal() / (float) resultDTO.getProjectTotal())));
}
return resultDTO;
@ -339,12 +340,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setResiTotal(u.getResiTotal());
}
}
dto.setPartyMemberRatio(dto.getPartyMemberTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPartyMemberTotal() / (float) dto.getUserTotal())));
dto.setResiRatio(dto.getResiTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal())));
dto.setPartyMemberRatio(dto.getPartyMemberTotal() == NumConstant.ZERO || dto.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPartyMemberTotal() / (float) dto.getUserTotal())));
dto.setResiRatio(dto.getResiTotal() == NumConstant.ZERO || dto.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubAgencyUserResultDTO>() {
@Override
public int compare(SubAgencyUserResultDTO o1, SubAgencyUserResultDTO o2) {
@ -408,12 +409,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setResiTotal(re.getResiTotal());
}
}
dto.setPartyMemberRatio(dto.getPartyMemberTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPartyMemberTotal() / (float) dto.getUserTotal())));
dto.setResiRatio(dto.getResiTotal() == 0 || dto.getUserTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal())));
dto.setPartyMemberRatio(dto.getPartyMemberTotal() == NumConstant.ZERO || dto.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPartyMemberTotal() / (float) dto.getUserTotal())));
dto.setResiRatio(dto.getResiTotal() == NumConstant.ZERO || dto.getUserTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getResiTotal() / (float) dto.getUserTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubGridUserResultDTO>() {
@Override
public int compare(SubGridUserResultDTO o1, SubGridUserResultDTO o2) {
@ -477,12 +478,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setBranchTotal(u.getBranchTotal());
}
}
dto.setOrdinaryRatio(dto.getOrdinaryTotal() == 0 || dto.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getOrdinaryTotal() / (float) dto.getGroupTotal())));
dto.setBranchRatio(dto.getBranchTotal() == 0 || dto.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getBranchTotal() / (float) dto.getGroupTotal())));
dto.setOrdinaryRatio(dto.getOrdinaryTotal() == NumConstant.ZERO || dto.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getOrdinaryTotal() / (float) dto.getGroupTotal())));
dto.setBranchRatio(dto.getBranchTotal() == NumConstant.ZERO || dto.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getBranchTotal() / (float) dto.getGroupTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubAgencyGroupResultDTO>() {
@Override
public int compare(SubAgencyGroupResultDTO o1, SubAgencyGroupResultDTO o2) {
@ -543,12 +544,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setBranchTotal(re.getBranchTotal());
}
}
dto.setOrdinaryRatio(dto.getOrdinaryTotal() == 0 || dto.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getOrdinaryTotal() / (float) dto.getGroupTotal())));
dto.setBranchRatio(dto.getBranchTotal() == 0 || dto.getGroupTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getBranchTotal() / (float) dto.getGroupTotal())));
dto.setOrdinaryRatio(dto.getOrdinaryTotal() == NumConstant.ZERO || dto.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getOrdinaryTotal() / (float) dto.getGroupTotal())));
dto.setBranchRatio(dto.getBranchTotal() == NumConstant.ZERO || dto.getGroupTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getBranchTotal() / (float) dto.getGroupTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubGridGroupResultDTO>() {
@Override
public int compare(SubGridGroupResultDTO o1, SubGridGroupResultDTO o2) {
@ -604,10 +605,10 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
List<SubAgencyFormDTO.Topic> hotdiscuss = dataStatsDao.getSubAgencyTopicHotDiscuss(agencyIds, formDTO.getDateId());
subAgencyList.forEach(sub -> {
SubAgencyTopicResultDTO resultDTO = new SubAgencyTopicResultDTO();
AtomicInteger topicTotal = new AtomicInteger(0);
AtomicInteger closedTotal = new AtomicInteger(0);
AtomicInteger shiftIssueTotal = new AtomicInteger(0);
AtomicInteger hotdiscussTotal = new AtomicInteger(0);
AtomicInteger topicTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger closedTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger shiftIssueTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger hotdiscussTotal = new AtomicInteger(NumConstant.ZERO);
topic.forEach(t -> {
if (t.getAgencyId().equals(sub.getAgencyId())) {
topicTotal.addAndGet(t.getTopicCount());
@ -633,28 +634,25 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
resultDTO.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode());
resultDTO.setTopicTotal(topicTotal.get());
resultDTO.setDiscussingTotal(hotdiscussTotal.get());
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicTotal(closedTotal.get());
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueTotal(shiftIssueTotal.get());
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultList.add(resultDTO);
});
//3.按要求排序并返回
Collections.sort(resultList, new Comparator<SubAgencyTopicResultDTO>() {
@Override
public int compare(SubAgencyTopicResultDTO o1, SubAgencyTopicResultDTO o2) {
if ("discussing".equals(formDTO.getType())) {
return o2.getDiscussingTotal().compareTo(o1.getDiscussingTotal());
} else if ("closed".equals(formDTO.getType())) {
return o2.getClosedTopicTotal().compareTo(o1.getClosedTopicTotal());
} else if ("shiftIssue".equals(formDTO.getType())) {
return o2.getShiftIssueTotal().compareTo(o1.getShiftIssueTotal());
} else {
return o2.getTopicTotal().compareTo(o1.getTopicTotal());
}
resultList.sort((o1, o2) -> {
if ("discussing".equals(formDTO.getType())) {
return o2.getDiscussingTotal().compareTo(o1.getDiscussingTotal());
} else if ("closed".equals(formDTO.getType())) {
return o2.getClosedTopicTotal().compareTo(o1.getClosedTopicTotal());
} else if ("shiftIssue".equals(formDTO.getType())) {
return o2.getShiftIssueTotal().compareTo(o1.getShiftIssueTotal());
} else {
return o2.getTopicTotal().compareTo(o1.getTopicTotal());
}
});
@ -700,10 +698,10 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
List<SubGridFormDTO.Topic> hotdiscuss = dataStatsDao.getSubGridTopicHotDiscuss(gridIds, formDTO.getDateId());
gridList.forEach(gr -> {
SubGridTopicResultDTO resultDTO = new SubGridTopicResultDTO();
AtomicInteger topicTotal = new AtomicInteger(0);
AtomicInteger closedTotal = new AtomicInteger(0);
AtomicInteger shiftIssueTotal = new AtomicInteger(0);
AtomicInteger hotdiscussTotal = new AtomicInteger(0);
AtomicInteger topicTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger closedTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger shiftIssueTotal = new AtomicInteger(NumConstant.ZERO);
AtomicInteger hotdiscussTotal = new AtomicInteger(NumConstant.ZERO);
topic.forEach(t -> {
if (t.getGridId().equals(gr.getGridId())) {
topicTotal.addAndGet(t.getTopicCount());
@ -727,11 +725,11 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
resultDTO.setGridName(gr.getGridName());
resultDTO.setTopicTotal(topicTotal.get());
resultDTO.setDiscussingTotal(hotdiscussTotal.get());
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicTotal(closedTotal.get());
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setClosedTopicRatio(resultDTO.getClosedTopicTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getClosedTopicTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueTotal(shiftIssueTotal.get());
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultDTO.setShiftIssueRatio(resultDTO.getShiftIssueTotal() == NumConstant.ZERO || resultDTO.getTopicTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getShiftIssueTotal() / (float) resultDTO.getTopicTotal())));
resultList.add(resultDTO);
});
@ -802,13 +800,13 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setShiftProjectTotal(u.getShiftProjectTotal());
}
}
dto.setVotingRatio(dto.getVotingTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getVotingTotal() / (float) dto.getIssueTotal())));
dto.setClosedIssueRatio(dto.getClosedIssueTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedIssueTotal() / (float) dto.getIssueTotal())));
dto.setShiftProjectRatio(dto.getShiftProjectTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getShiftProjectTotal() / (float) dto.getIssueTotal())));
dto.setVotingRatio(dto.getVotingTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getVotingTotal() / (float) dto.getIssueTotal())));
dto.setClosedIssueRatio(dto.getClosedIssueTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedIssueTotal() / (float) dto.getIssueTotal())));
dto.setShiftProjectRatio(dto.getShiftProjectTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getShiftProjectTotal() / (float) dto.getIssueTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubAgencyIssueResultDTO>() {
@Override
public int compare(SubAgencyIssueResultDTO o1, SubAgencyIssueResultDTO o2) {
@ -872,13 +870,13 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setShiftProjectTotal(re.getShiftProjectTotal());
}
}
dto.setVotingRatio(dto.getVotingTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getVotingTotal() / (float) dto.getIssueTotal())));
dto.setClosedIssueRatio(dto.getClosedIssueTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedIssueTotal() / (float) dto.getIssueTotal())));
dto.setShiftProjectRatio(dto.getShiftProjectTotal() == 0 || dto.getIssueTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getShiftProjectTotal() / (float) dto.getIssueTotal())));
dto.setVotingRatio(dto.getVotingTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getVotingTotal() / (float) dto.getIssueTotal())));
dto.setClosedIssueRatio(dto.getClosedIssueTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedIssueTotal() / (float) dto.getIssueTotal())));
dto.setShiftProjectRatio(dto.getShiftProjectTotal() == NumConstant.ZERO || dto.getIssueTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getShiftProjectTotal() / (float) dto.getIssueTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubGridIssueResultDTO>() {
@Override
public int compare(SubGridIssueResultDTO o1, SubGridIssueResultDTO o2) {
@ -943,12 +941,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setClosedProjectTotal(u.getClosedProjectTotal());
}
}
dto.setPendingRatio(dto.getPendingTotal() == 0 || dto.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPendingTotal() / (float) dto.getProjectTotal())));
dto.setClosedProjectRatio(dto.getClosedProjectTotal() == 0 || dto.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedProjectTotal() / (float) dto.getProjectTotal())));
dto.setPendingRatio(dto.getPendingTotal() == NumConstant.ZERO || dto.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPendingTotal() / (float) dto.getProjectTotal())));
dto.setClosedProjectRatio(dto.getClosedProjectTotal() == NumConstant.ZERO || dto.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedProjectTotal() / (float) dto.getProjectTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubAgencyProjectResultDTO>() {
@Override
public int compare(SubAgencyProjectResultDTO o1, SubAgencyProjectResultDTO o2) {
@ -1009,12 +1007,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dto.setClosedProjectTotal(re.getClosedProjectTotal());
}
}
dto.setPendingRatio(dto.getPendingTotal() == 0 || dto.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPendingTotal() / (float) dto.getProjectTotal())));
dto.setClosedProjectRatio(dto.getClosedProjectTotal() == 0 || dto.getProjectTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedProjectTotal() / (float) dto.getProjectTotal())));
dto.setPendingRatio(dto.getPendingTotal() == NumConstant.ZERO || dto.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getPendingTotal() / (float) dto.getProjectTotal())));
dto.setClosedProjectRatio(dto.getClosedProjectTotal() == NumConstant.ZERO || dto.getProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) dto.getClosedProjectTotal() / (float) dto.getProjectTotal())));
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<SubGridProjectResultDTO>() {
@Override
public int compare(SubGridProjectResultDTO o1, SubGridProjectResultDTO o2) {
@ -1278,7 +1276,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<AgencyGovrnResultDTO>() {
@Override
public int compare(AgencyGovrnResultDTO o1, AgencyGovrnResultDTO o2) {
@ -1380,7 +1378,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
resultList.add(dto);
}
//4.按要求排序并返回
//NumConstant.FOUR.按要求排序并返回
Collections.sort(resultList, new Comparator<GridGovrnResultDTO>() {
@Override
public int compare(GridGovrnResultDTO o1, GridGovrnResultDTO o2) {
@ -1471,18 +1469,18 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
formDTO.setDateId(format.format(yesterday));
}
BaseStatsDataResultDTO result = new BaseStatsDataResultDTO();
result.setTopicTotal(0);
result.setTopicIncr(0);
result.setTopicTotal(NumConstant.ZERO);
result.setTopicIncr(NumConstant.ZERO);
result.setIssueTotal(0);
result.setIssueIncr(0);
result.setProjectTotal(0);
result.setProjectIncr(0);
result.setClosedProjectTotal(0);
result.setClosedProjectIncr(0);
result.setIssueTotal(NumConstant.ZERO);
result.setIssueIncr(NumConstant.ZERO);
result.setProjectTotal(NumConstant.ZERO);
result.setProjectIncr(NumConstant.ZERO);
result.setClosedProjectTotal(NumConstant.ZERO);
result.setClosedProjectIncr(NumConstant.ZERO);
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
//NumConstant.ZERO.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
List<String> agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId());
agencyList.add(formDTO.getAgencyId());
TotalAndIncrResultDTO sum = dataStatsDao.getAgencySumTopic(agencyList, formDTO.getDateId());
@ -1546,7 +1544,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
List<WorkFactResultDTO> result = new ArrayList<>();
//如果是社区 则下级是网格 查询网格的数据
if (OrgLevelEnum.COMMUNITY.getCode().equals(formDTO.getAgencyLevel())){
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
//NumConstant.ZERO.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
List<ScreenCustomerGridDTO> subAgencyList = indexService.getSubGridList(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return null;
@ -1585,7 +1583,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
result.add(resultDTO);
});
}else {
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
//NumConstant.ZERO.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return null;
@ -1636,9 +1634,9 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
resultDTO.setRoutineWorkCount(patrolRecordDTO.getRoutineWorkCount());
resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal());
Integer totalTime = patrolRecordDTO.getTotalTime();
if (totalTime != null || totalTime > 0){
if (totalTime != null || totalTime > NumConstant.ZERO){
int minutes = totalTime / 60;
if (minutes >0){
if (minutes >NumConstant.ZERO){
String totalTimeDesc = minutes / 60 + "小时"+ minutes % 60 + "分";
resultDTO.setPatrolTotalTime(totalTimeDesc);
}
@ -1649,12 +1647,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
private Integer getTotal(Map<String,Integer> startMap, Map<String,Integer> endMap,String agencyId){
Integer total1 = startMap.getOrDefault(agencyId,NumConstant.ZERO);
Integer total2 = endMap.getOrDefault(agencyId,NumConstant.ZERO);
return Math.max(total2-total1,0);
return Math.max(total2-total1,NumConstant.ZERO);
}
private String getPercentage(Integer countInt, Integer totalInt) {
if (NumConstant.ZERO == totalInt) {
return "0%";
return "NumConstant.ZERO%";
}
BigDecimal count = new BigDecimal(countInt);
BigDecimal total = new BigDecimal(totalInt);
@ -1729,8 +1727,8 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
});
}
//4.按用户数降序排序并返回
Collections.sort(resultList, (o1, o2) -> {
//NumConstant.FOUR.按用户数降序排序并返回
resultList.sort((o1, o2) -> {
//降序
return o2.getUserTotal().compareTo(o1.getUserTotal());
});
@ -1798,7 +1796,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
List<SubAgencyFormDTO.Topic> hotdiscuss = dataStatsDao.getSubAgencyTopicHotDiscuss(agencyIds, formDTO.getDateId());
//3-3.查询直属下级组织小组日统计数据
List<SubAgencyGroupResultDTO> list = dataStatsDao.getSubAgencyGroup(agencyIds, formDTO.getDateId());
//3-4.封装数据
//3-NumConstant.FOUR.封装数据
subAgencyList.forEach(sub -> {
SubTopicAndGroupResultDTO resultDTO = new SubTopicAndGroupResultDTO();
resultDTO.setOrgId(sub.getAgencyId());
@ -1817,12 +1815,12 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
});
}
//4.按用户数降序排序并返回
Collections.sort(resultList, (o1, o2) -> {
//NumConstant.FOUR.按用户数降序排序并返回
resultList.sort((o1, o2) -> {
//降序
return o2.getTopicTotal().compareTo(o1.getTopicTotal());
});
AtomicInteger i = new AtomicInteger(1);
AtomicInteger i = new AtomicInteger(NumConstant.ONE);
resultList.forEach(e->e.setSort(i.getAndIncrement()));
return resultList;
}
@ -1876,24 +1874,26 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
*/
@Override
public void CustomerDataManage(CustomerDataManageFormDTO formDTO, HttpServletResponse response) throws Exception {
String openTime = formDTO.getStartTime();
List<CustomerDataManageResultDTO.CustomerDataManage> result = operateExport(formDTO).getList();
if (!CollectionUtils.isEmpty(result)){
CustomerDataManageResultDTO.CustomerDataManage c = new CustomerDataManageResultDTO.CustomerDataManage();
c.setOrgName("合计");
c.setUserCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getUserCount)));
c.setResidentCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getResidentCount)));
c.setPartyMemberCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPartyMemberCount)));
c.setGroupCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getGroupCount)));
c.setTopicCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getTopicCount)));
c.setIssueCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getIssueCount)));
c.setProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount)));
c.setClosedProjectCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount)));
c.setPatrolPeopleCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount)));
c.setPatrolCount(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount)));
c.setPatrolDurationInteger(result.stream().collect(Collectors.summingInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger)));
c.setUserCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getUserCount).sum());
c.setResidentCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getResidentCount).sum());
c.setPartyMemberCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPartyMemberCount).sum());
c.setGroupCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getGroupCount).sum());
c.setTopicCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getTopicCount).sum());
c.setIssueCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getIssueCount).sum());
c.setProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getProjectCount).sum());
c.setClosedProjectCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getClosedProjectCount).sum());
c.setPatrolPeopleCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolPeopleCount).sum());
c.setPatrolCount(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolCount).sum());
c.setPatrolDurationInteger(result.stream().mapToInt(CustomerDataManageResultDTO.CustomerDataManage::getPatrolDurationInteger).sum());
c.setPatrolDuration(getHm(c.getPatrolDurationInteger()));
result.add(c);
}
formDTO.setStartTime(openTime);
String fileName = excelName(formDTO);
ExcelUtils.exportExcelToTargetDisposeAll(response,fileName,result, CustomerDataManageExcel.class);
}
@ -1908,7 +1908,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
String result = "0分钟";
if (seconds >= NumConstant.SIXTY) {
Integer hours = seconds / 3600;
Integer minutes = seconds % 3600 / 60;
Integer minutes = seconds % 3600 / NumConstant.SIXTY;
result = (hours < NumConstant.ONE ? "" : hours + "小时") + (minutes < NumConstant.ONE ? "" : minutes + "分钟");
}else if (seconds < NumConstant.SIXTY && seconds > NumConstant.ZERO){
result = "1分钟";
@ -1928,20 +1928,20 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
s.append(agencyName);
if (StringUtils.isNotBlank(formDTO.getStartTime())){
String startTime = formDTO.getStartTime();
String sYear = startTime.substring(0, 4);
String sMonth = startTime.substring(4, 6);
String sDay = startTime.substring(6, 8);
String sYear = startTime.substring(NumConstant.ZERO, NumConstant.FOUR);
String sMonth = startTime.substring(NumConstant.FOUR, NumConstant.SIX);
String sDay = startTime.substring(NumConstant.SIX, NumConstant.EIGHT);
String endTime = formDTO.getEndTime();
String eYear = endTime.substring(0, 4);
String eMonth = endTime.substring(4, 6);
String eDay = endTime.substring(6, 8);
String eYear = endTime.substring(NumConstant.ZERO, NumConstant.FOUR);
String eMonth = endTime.substring(NumConstant.FOUR, NumConstant.SIX);
String eDay = endTime.substring(NumConstant.SIX, NumConstant.EIGHT);
s.append(sYear).append("年").append(sMonth).append("月").append(sDay).append("日-")
.append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日区间新增值");
}else {
String endTime = formDTO.getEndTime();
String eYear = endTime.substring(0, 4);
String eMonth = endTime.substring(4, 6);
String eDay = endTime.substring(6, 8);
String eYear = endTime.substring(NumConstant.ZERO, NumConstant.FOUR);
String eMonth = endTime.substring(NumConstant.FOUR, NumConstant.SIX);
String eDay = endTime.substring(NumConstant.SIX, NumConstant.EIGHT);
s.append(eYear).append("年").append(eMonth).append("月").append(eDay).append("日截止累计值");
}
return s.toString();
@ -1976,7 +1976,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
//组织或网格Id集合
List<String> idList = agencyGrid.getAgencyGridList().stream().map(ScreenAgencyOrGridListDTO.AgencyGrid::getOrgId).collect(Collectors.toList());
formDTO.setDataType(!"community".equals(agencyGrid.getLevel()) ? "agency" : "grid");
formDTO.setDataType(!OrgLevelEnum.COMMUNITY.getCode().equals(agencyGrid.getLevel()) ? OrgTypeEnum.AGENCY.getCode() : OrgTypeEnum.GRID.getCode());
formDTO.setIdList(idList);
resultDTO.setTotal(idList.size());
@ -1984,25 +1984,25 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
formDTO.setSourceType("end");
List<CustomerDataManageResultDTO.CustomerDataManage> userEnd = dataStatsDao.regUserList(formDTO);
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uEndMap = new HashMap<>();
userEnd.stream().forEach(u->uEndMap.put(u.getOrgId(),u));
userEnd.forEach(u->uEndMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> groupEnd = dataStatsDao.groupList(formDTO);
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gEndMap = new HashMap<>();
groupEnd.stream().forEach(u->gEndMap.put(u.getOrgId(),u));
groupEnd.forEach(u->gEndMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> topicEnd = dataStatsDao.topicList(formDTO);
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tEndMap = new HashMap<>();
topicEnd.stream().forEach(u->tEndMap.put(u.getOrgId(),u));
topicEnd.forEach(u->tEndMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> issueEnd = dataStatsDao.issueList(formDTO);
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> iEndMap = new HashMap<>();
issueEnd.stream().forEach(u->iEndMap.put(u.getOrgId(),u));
issueEnd.forEach(u->iEndMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> projectEnd = dataStatsDao.projectList(formDTO);
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> pEndMap = new HashMap<>();
projectEnd.stream().forEach(u->pEndMap.put(u.getOrgId(),u));
projectEnd.forEach(u->pEndMap.put(u.getOrgId(),u));
//巡查数据不区分区间差值,只计算累计值,人员做去重处理且是有巡查记录的人员 ==
CustomerDataManageFormDTO patrolForm = ConvertUtils.sourceToTarget(formDTO,CustomerDataManageFormDTO.class);
patrolForm.setStartTime(startTimeForm);
List<CustomerDataManageResultDTO.CustomerDataManage> patrolEnd = statsStaffPatrolRecordDailyService.patrolList(patrolForm);
//4.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
//NumConstant.FOUR.判断是否需要查询起始日期用户、群组、话题、议题、项目、巡查数据
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> uStartMap = new HashMap<>();
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> gStartMap = new HashMap<>();
HashMap<String, CustomerDataManageResultDTO.CustomerDataManage> tStartMap = new HashMap<>();
@ -2011,15 +2011,15 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
if ("Interval".equals(formDTO.getType())) {
formDTO.setSourceType("start");
List<CustomerDataManageResultDTO.CustomerDataManage> userStart = dataStatsDao.regUserList(formDTO);
userStart.stream().forEach(u->uStartMap.put(u.getOrgId(),u));
userStart.forEach(u->uStartMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> groupStart = dataStatsDao.groupList(formDTO);
groupStart.stream().forEach(u->gStartMap.put(u.getOrgId(),u));
groupStart.forEach(u->gStartMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> topicStart = dataStatsDao.topicList(formDTO);
topicStart.stream().forEach(u->tStartMap.put(u.getOrgId(),u));
topicStart.forEach(u->tStartMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> issueStart = dataStatsDao.issueList(formDTO);
issueStart.stream().forEach(u->iStartMap.put(u.getOrgId(),u));
issueStart.forEach(u->iStartMap.put(u.getOrgId(),u));
List<CustomerDataManageResultDTO.CustomerDataManage> projectStart = dataStatsDao.projectList(formDTO);
projectStart.stream().forEach(u->pStartMap.put(u.getOrgId(),u));
projectStart.forEach(u->pStartMap.put(u.getOrgId(),u));
}
//5.封装数据
@ -2027,9 +2027,9 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
CustomerDataManageResultDTO.CustomerDataManage dto = new CustomerDataManageResultDTO.CustomerDataManage();
dto.setOrgId(org.getOrgId());
dto.setOrgName(org.getOrgName());
int user = 0;
int resi = 0;
int part = 0;
int user = NumConstant.ZERO;
int resi = NumConstant.ZERO;
int part = NumConstant.ZERO;
if(uEndMap.containsKey(org.getOrgId())){
user = uEndMap.get(org.getOrgId()).getUserCount();
resi = uEndMap.get(org.getOrgId()).getResidentCount();
@ -2040,29 +2040,29 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
part = part - uStartMap.get(org.getOrgId()).getPartyMemberCount();
}
}
int group = 0;
int group = NumConstant.ZERO;
if(gEndMap.containsKey(org.getOrgId())){
group = gEndMap.get(org.getOrgId()).getGroupCount();
if ("Interval".equals(formDTO.getType())&&gStartMap.containsKey(org.getOrgId())) {
group = group - gStartMap.get(org.getOrgId()).getGroupCount();
}
}
int topic = 0;
int topic = NumConstant.ZERO;
if(tEndMap.containsKey(org.getOrgId())){
topic = tEndMap.get(org.getOrgId()).getTopicCount();
if ("Interval".equals(formDTO.getType())&&tStartMap.containsKey(org.getOrgId())) {
topic = topic - tStartMap.get(org.getOrgId()).getTopicCount();
}
}
int issue = 0;
int issue = NumConstant.ZERO;
if(iEndMap.containsKey(org.getOrgId())){
issue = iEndMap.get(org.getOrgId()).getIssueCount();
if ("Interval".equals(formDTO.getType())&&iStartMap.containsKey(org.getOrgId())) {
issue = issue - iStartMap.get(org.getOrgId()).getIssueCount();
}
}
int project = 0;
int closed = 0;
int project = NumConstant.ZERO;
int closed = NumConstant.ZERO;
if(pEndMap.containsKey(org.getOrgId())){
project = pEndMap.get(org.getOrgId()).getProjectCount();
closed = pEndMap.get(org.getOrgId()).getClosedProjectCount();
@ -2071,10 +2071,10 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
closed = closed - pStartMap.get(org.getOrgId()).getClosedProjectCount();
}
}
int patro = 0;
int patroCount = 0;
int patro = NumConstant.ZERO;
int patroCount = NumConstant.ZERO;
String patrolDuration = "";
int patrolDurationInteger = 0;
int patrolDurationInteger = NumConstant.ZERO;
HashSet set = new HashSet();
for (CustomerDataManageResultDTO.CustomerDataManage u : patrolEnd) {
if ("community".equals(agencyGrid.getLevel()) && org.getOrgId().equals(u.getOrgId())) {
@ -2091,7 +2091,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
}
patro = set.size();
Integer minutes = patrolDurationInteger / 60;
patrolDuration = (minutes / 60 > 0 ? minutes / 60 + "小时" : "") + (minutes % 60 > 0 ? minutes % 60 + "分钟" : "0分钟");
patrolDuration = (minutes / 60 > NumConstant.ZERO ? minutes / 60 + "小时" : "") + (minutes % 60 > NumConstant.ZERO ? minutes % 60 + "分钟" : "0分钟");
dto.setUserCount(user);
dto.setResidentCount(resi);
@ -2109,7 +2109,7 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve
dataManageList.add(dto);
});
//6.默认按用户总数降序
//NumConstant.SIX.默认按用户总数降序
Collections.sort(dataManageList, new Comparator<CustomerDataManageResultDTO.CustomerDataManage>() {
@Override
public int compare(CustomerDataManageResultDTO.CustomerDataManage o1, CustomerDataManageResultDTO.CustomerDataManage o2) {

27
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -54,6 +54,7 @@ import com.epmet.service.stats.DimAgencyService;
import com.epmet.service.stats.DimCustomerPartymemberService;
import com.epmet.service.stats.DimCustomerService;
import com.epmet.util.DimIdGenerator;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -64,9 +65,7 @@ import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.*;
@RequestMapping("demo")
@RestController
@ -1099,6 +1098,12 @@ public class DemoController {
return new Result();
}
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("ScreenExtractServiceImpl-pool-%d").build();
ExecutorService threadPool = new ThreadPoolExecutor(3, 6,
10L, TimeUnit.MINUTES,
new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy());
@Autowired
private ScreenProjectCategoryGridAndOrgDailyService screenProjectCategoryGridAndOrgDailyService;
@ -1113,14 +1118,22 @@ public class DemoController {
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){
List<String> daysBetween = DateUtils.getDaysBetween(startDate, endDate);
daysBetween.forEach(d -> {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,d);
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,d);
threadPool.submit(() -> {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,d);
});
threadPool.submit(() -> {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,d);
});
result.add(d);
redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L);
});
}else {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,dateId);
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,dateId);
threadPool.submit(() -> {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,dateId);
});
threadPool.submit(() -> {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,dateId);
});
result.add(dateId);
redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L);
}

28
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java

@ -278,20 +278,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
} catch (Exception e) {
log.error("项目(事件)分析按组织_按天统计失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
//按天统计:网格内各个分类下的项目总数
try {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId, dateId);
} catch (Exception e) {
log.error("按天统计:网格内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e);
}
// 按天统计:组织内各个分类下的项目总数
try {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId, dateId);
} catch (Exception e) {
log.error("按天统计:组织内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e);
}
} finally {
latch.countDown();
log.info("extractDaily 3 thread run end ========= dateId:{},customerId:{}", dateId, customerId);
@ -342,6 +328,20 @@ public class ScreenExtractServiceImpl implements ScreenExtractService {
log.error("网格员数据统计fact_grid_member_statistics_daily抽取失败,customerId为:" + customerId + "dateId为:" + dateId, e);
}
extractPartData(customerId, dateId, null);
// 挪到这的原因是因为,要等 screen_project_data表跑完,下面两个方法抽取数据来源于screen_project_data和screen_project_category
//按天统计:网格内各个分类下的项目总数
try {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId, dateId);
} catch (Exception e) {
log.error("按天统计:网格内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e);
}
// 按天统计:组织内各个分类下的项目总数
try {
screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId, dateId);
} catch (Exception e) {
log.error("按天统计:组织内各个分类下的项目总数,customerId为:" + customerId + "dateId为:" + dateId, e);
}
} finally {
latch.countDown();
log.info("extractDaily 4 thread run end ========= dateId:{},customerId:{}", dateId, customerId);

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java

@ -94,7 +94,7 @@ public class IcHouseRedis {
*/
public void setTemporaryCacheHouse(String customerId, Map<String,Object> map,String userId){
String key = RedisKeys.getTemporaryHouseInfoCacheKey(customerId,userId);
redisUtils.hMSet(key,map,RedisUtils.NOT_EXPIRE);
redisUtils.hMSet(key,map);
}
/**
@ -131,7 +131,7 @@ public class IcHouseRedis {
*/
public void setTemporaryCacheGrid(String customerId, Map<String,Object> map,String userId) {
String key = RedisKeys.getTemporaryGridInfoCacheKey(customerId, userId);
redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE);
redisUtils.hMSet(key, map);
}
/**
@ -182,7 +182,7 @@ public class IcHouseRedis {
*/
public void setTemporaryCacheNeighBorHood(String customerId, Map<String,Object> map,String userId) {
String key = RedisKeys.getTemporaryNeighborHoodInfoCacheKey(customerId, userId);
redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE);
redisUtils.hMSet(key, map);
}
/**
@ -220,7 +220,7 @@ public class IcHouseRedis {
*/
public void setTemporaryCacheBuilding(String customerId, Map<String,Object> map,String userId) {
String key = RedisKeys.getTemporaryBuildingInfoCacheKey(customerId, userId);
redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE);
redisUtils.hMSet(key, map);
}
/**
@ -258,7 +258,7 @@ public class IcHouseRedis {
*/
public void setTemporaryCacheBuildingUnit(String customerId, Map<String,Object> map,String userId) {
String key = RedisKeys.getTemporaryBuildingUnitInfoCacheKey(customerId, userId);
redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE);
redisUtils.hMSet(key, map);
}
/**

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/GovProjectApplication.java

@ -5,6 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
/**
*
@ -14,6 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableAsync
@ServletComponentScan
public class GovProjectApplication {
public static void main(String[] args) {

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -9,7 +9,9 @@ import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.UpdateUserPointsFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.BehaviorTypeYuShanEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
@ -107,6 +109,9 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
private ResiEventReportOrgDao resiEventReportOrgDao;
@Autowired
private BlockChainUploadService blockChainUploadService;
@Autowired
private YuShanSysApiService yuShanSysApiService;
@Override
public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) {
@ -552,6 +557,12 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
//项目立项如果是榆山街道的工作人员,需要调用【更新用户积分(双实信息更新 网格巡查)】/api/points/behavior/updateUserPoints
UpdateUserPointsFormDTO updateUserPointsFormDTO=new UpdateUserPointsFormDTO();
updateUserPointsFormDTO.setCustomerId(projectEntity.getCustomerId());
updateUserPointsFormDTO.setStaffId(projectEntity.getCreatedBy());
updateUserPointsFormDTO.setBehaviorType(BehaviorTypeYuShanEnum.GRID_REPORT_EVENT.getCode());
yuShanSysApiService.updateUserPoints(projectEntity.getCustomerId(),Arrays.asList(updateUserPointsFormDTO));
}
/**

2
epmet-user/epmet-user-server/src/main/java/com/epmet/UserApplication.java

@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* 管理后台
@ -24,6 +25,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableAsync
@ServletComponentScan
public class UserApplication {

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java

@ -25,8 +25,10 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.BaseMQMsgDTO;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.UpdateUserPointsFormDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.enums.BehaviorTypeYuShanEnum;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
@ -39,6 +41,7 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.YuShanSysApiService;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.PatrolRoutineWorkDao;
import com.epmet.dao.StatsStaffPatrolRecordDailyDao;
@ -71,10 +74,7 @@ import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -98,6 +98,8 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private StatsStaffPatrolRecordDailyDao statsStaffPatrolRecordDailyDao;
@Autowired
private YuShanSysApiService yuShanSysApiService;
/**
* @param formDTO
@ -158,6 +160,12 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl<PatrolRoutineW
if (entity != null){
sendPatrolMsg(entity.getCustomerId(),entity.getId(),SystemMessageType.PATROL_ROUTINE_WORK_ADD);
}
//网格员添加例行工作,如果是榆山街道的工作人员,需要调用【更新用户积分(双实信息更新 网格巡查)】/api/points/behavior/updateUserPoints
UpdateUserPointsFormDTO updateUserPointsFormDTO=new UpdateUserPointsFormDTO();
updateUserPointsFormDTO.setCustomerId(entity.getCustomerId());
updateUserPointsFormDTO.setStaffId(entity.getUserId());
updateUserPointsFormDTO.setBehaviorType(BehaviorTypeYuShanEnum.GRID_WORK_UPLOAD.getCode());
yuShanSysApiService.updateUserPoints(entity.getCustomerId(), Arrays.asList(updateUserPointsFormDTO));
}
}

30
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java

@ -9,8 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.StaffPatrolMQMsg;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.form.UpdateUserPointsFormDTO;
import com.epmet.commons.tools.enums.BehaviorTypeYuShanEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
@ -21,10 +22,7 @@ import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.PatrolConstant;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.CustomerStaffDao;
@ -58,8 +56,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -92,7 +88,8 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private RedisUtils redisUtils;
@Autowired
private YuShanSysApiService yuShanSysApiService;
/**
* 巡查界面初始化
@ -302,7 +299,12 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
// 添加巡查统计表逻辑
statsPatrolUpdateEnd(tokenDto.getUserId(),totalTime,record.getPatrolStartTime(),patrolEndTime,record.getGrid());
sendPatrolMsg(record, SystemMessageType.USER_PATROL_STOP);
//结束巡查如果是榆山街道的工作人员,需要调用【更新用户积分(双实信息更新 网格巡查)】/api/points/behavior/updateUserPoints
UpdateUserPointsFormDTO updateUserPointsFormDTO=new UpdateUserPointsFormDTO();
updateUserPointsFormDTO.setCustomerId(record.getCustomerId());
updateUserPointsFormDTO.setStaffId(tokenDto.getUserId());
updateUserPointsFormDTO.setBehaviorType(BehaviorTypeYuShanEnum.GRID_PATROL.getCode());
yuShanSysApiService.updateUserPoints(record.getCustomerId(),Arrays.asList(updateUserPointsFormDTO));
}
private void sendPatrolMsg(StaffPatrolRecordEntity record, String messageType) {
@ -348,7 +350,15 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl<StaffPatrolRec
updateBatchById(list);
}
list.forEach(e->sendPatrolMsg(e, SystemMessageType.USER_PATROL_STOP));
list.forEach(e-> {
sendPatrolMsg(e, SystemMessageType.USER_PATROL_STOP);
//网格员结束巡查,如果是榆山街道的工作人员,需要调用【更新用户积分(双实信息更新 网格巡查)】/api/points/behavior/updateUserPoints
UpdateUserPointsFormDTO updateUserPointsFormDTO=new UpdateUserPointsFormDTO();
updateUserPointsFormDTO.setCustomerId(e.getCustomerId());
updateUserPointsFormDTO.setStaffId(e.getStaffId());
updateUserPointsFormDTO.setBehaviorType(BehaviorTypeYuShanEnum.GRID_PATROL.getCode());
yuShanSysApiService.updateUserPoints(e.getCustomerId(),Arrays.asList(updateUserPointsFormDTO));
});
}

Loading…
Cancel
Save