Browse Source

Merge branches 'release_temp' and 'develop' of http://git.elinkit.com.cn:7070/r/epmet-cloud into release_temp

master
jianjun 4 years ago
parent
commit
cd4b57e78f
  1. 139
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  2. 34
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java
  3. 38
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubTopicAndGroupFormDTO.java
  4. 38
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubUserTotalFormDTO.java
  5. 6
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java
  6. 23
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubTopicAndGroupResultDTO.java
  7. 23
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubUserTotalResultDTO.java
  8. 3
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/TotalAndIncrResultDTO.java
  9. 26
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/WorkFactResultDTO.java
  10. 54
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java
  11. 8
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  12. 45
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java
  13. 125
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/StatsStaffPatrolRecordDailyEntity.java
  14. 27
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  15. 276
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  16. 42
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java
  17. 43
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java
  18. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  19. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml
  20. 4
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  21. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  22. 12
      epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java
  23. 7
      epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java
  24. 24
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/TestController.java
  25. 5
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java
  26. 5
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java
  27. 20
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java
  28. 20
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EventTitleOrgResultDTO.java
  29. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java
  30. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java
  31. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  32. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  33. 21
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml
  34. 30
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java
  35. 12
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  36. 13
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  37. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java
  38. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  39. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java
  40. 3
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  41. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java
  42. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  43. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
  44. 24
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java
  45. 9
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  46. 16
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml
  47. 23
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml
  48. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java

139
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -425,6 +425,23 @@ public class DateUtils {
return DateUtils.format(date,DateUtils.DATE_PATTERN_YYYYMMDD);
}
/**
* @return java.lang.String
* @param beforDay
* @author yinzuomei
* @description 获取当前日期的前n天 返回yyyyMMdd
* @Date 2020/6/23 1:50
**/
public static String getBeforeNDay(String dateId,int beforDay){
Calendar c = Calendar.getInstance();
if (StringUtils.isNotBlank(dateId)){
c.setTime(DateUtils.parseDate(dateId,DateUtils.DATE_PATTERN_YYYYMMDD));
}
c.add(Calendar.DATE, - beforDay);
Date date = c.getTime();
return DateUtils.format(date,DateUtils.DATE_PATTERN_YYYYMMDD);
}
public static String getBeforeNDay(int beforDay,String format){
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, - beforDay);
@ -664,15 +681,6 @@ public class DateUtils {
return result;
}
public static void main(String[] args) {
Date today=new Date();
Date yesterDay=DateUtils.parse("2020-07-28 15:33:00","yyyy-MM-dd HH:mm:ss");
Date tomorrow=DateUtils.parse("2020-07-30 15:33:00","yyyy-MM-dd HH:mm:ss");
System.out.println(comparteDate(today,today));
System.out.println(comparteDate(yesterDay,today));
System.out.println(comparteDate(tomorrow,today));
}
public static String getYearId(String monthId) {
if (StringUtils.isNotBlank(monthId) && monthId.length() > 4) {
return monthId.substring(NumConstant.ZERO, NumConstant.FOUR);
@ -874,4 +882,117 @@ public class DateUtils {
return DateUtils.format(date,dateType);
}
/**
* 获取指定日期的 所在周的第一天和和最后一天
* @param dataStr
* @return
* @throws ParseException
*/
public static String getLastOfWeek(String dataStr) throws ParseException {
Calendar cal = Calendar.getInstance();
if (StringUtils.isNotBlank(dataStr)){
cal.setTime(new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).parse(dataStr));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
// 所在周开始日期
String data1 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
cal.add(Calendar.DAY_OF_WEEK, 6);
// 所在周结束日期
String data2 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
return data1 + "-" + data2;
}
/**
* 获取指定日期的 所在周的第一天和和最后一天
* @param dataStr
* @return
* @throws ParseException
*/
public static String getFirstOfWeek(String dataStr) throws ParseException {
Calendar cal = Calendar.getInstance();
if (StringUtils.isNotBlank(dataStr)){
cal.setTime(new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).parse(dataStr));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
// 所在周开始日期
String data1 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
cal.add(Calendar.DAY_OF_WEEK, 6);
// 所在周结束日期
String data2 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
return data1 + "-" + data2;
}
/**
* 获取本周的第一天
* @return String
* **/
public static String getWeekStart(String dateId){
Calendar cal=Calendar.getInstance();
if (StringUtils.isNotBlank(dateId)){
cal.setTime(DateUtils.parseDate(dateId,DateUtils.DATE_PATTERN_YYYYMMDD));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
Date time=cal.getTime();
return new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(time);
}
/**
* 获取本周的最后一天
* @return String
* **/
public static String getWeekEnd(String dateId){
Calendar cal=Calendar.getInstance();
if (StringUtils.isNotBlank(dateId)){
cal.setTime(DateUtils.parseDate(dateId,DateUtils.DATE_PATTERN_YYYYMMDD));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
cal.add(Calendar.DAY_OF_WEEK, 6);
Date time=cal.getTime();
return new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(time);
}
public static void main(String[] args) throws ParseException {
String first = DateUtils.getFirstOfWeek("20210801");
System.out.println(first);
String fLastOfWeek = DateUtils.getLastOfWeek("20210801");
System.out.println(fLastOfWeek);
System.out.println(DateUtils.getWeekStart("20210801"));
System.out.println(DateUtils.getWeekEnd("20210801"));
Date dateIdDate = DateUtils.parse("20210801", DateUtils.DATE_PATTERN_YYYYMMDD);
String format = DateUtils.format(DateUtils.getMonthStart(dateIdDate), DateUtils.DATE_PATTERN_YYYYMMDD);
System.out.println(format);
format = DateUtils.format(DateUtils.getMonthEnd(dateIdDate), DateUtils.DATE_PATTERN_YYYYMMDD);
System.out.println(format);
}
}

34
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/BaseDataFormDTO.java

@ -0,0 +1,34 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 基础参数实体类
* @Auth sun
*/
@Data
public class BaseDataFormDTO implements Serializable {
private static final long serialVersionUID = 6766797386944333123L;
/**
* 组织Id
*/
@NotBlank(message = "组织ID不能为空",groups = {BaseDataFormDTO.BaseData.class,BaseDataFormDTO.WorkFact.class})
private String agencyId;
@NotBlank(message = "组织级别不能为空",groups = BaseDataFormDTO.WorkFact.class)
private String agencyLevel;
private String type;
/**
* 日维度Id
*/
private String dateId;
private String startDateId;
private String endDateId;
public interface BaseData extends CustomerClientShowGroup{}
public interface WorkFact extends CustomerClientShowGroup{}
}

38
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubTopicAndGroupFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 对外接口-查询下级话题和小组数-接口入参
* @Auth sun
*/
@Data
public class SubTopicAndGroupFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 当前组织id从组织树取
*/
@NotBlank(message = "组织ID不能为空", groups = SubTopicAndGroupFormDTO.Agency.class)
private String agencyId;
/**
* 当前组织级别从组织树取
* 机关级别社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
@NotBlank(message = "组织级别不能为空", groups = SubTopicAndGroupFormDTO.Agency.class)
private String agencyLevel;
/**
* 日维度IdyyyyMMdd eg20210808默认前一天
*/
private String dateId;
public interface Agency extends CustomerClientShowGroup{}
}

38
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/form/SubUserTotalFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.dataaggre.dto.datastats.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 对外接口-查询下级用户党员数-接口入参
* @Auth sun
*/
@Data
public class SubUserTotalFormDTO implements Serializable {
private static final long serialVersionUID = -3381286960911634231L;
/**
* 当前组织id从组织树取
*/
@NotBlank(message = "组织ID不能为空", groups = SubUserTotalFormDTO.Agency.class)
private String agencyId;
/**
* 当前组织级别从组织树取
* 机关级别社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
@NotBlank(message = "组织级别不能为空", groups = SubUserTotalFormDTO.Agency.class)
private String agencyLevel;
/**
* 日维度IdyyyyMMdd eg20210808默认前一天
*/
private String dateId;
public interface Agency extends CustomerClientShowGroup{}
}

6
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java

@ -14,12 +14,18 @@ public class BaseStatsDataResultDTO implements Serializable {
private Integer topicTotal;
private Integer topicIncr;
// private Integer topicToIssueTotal;
private Integer issueTotal;
private Integer issueIncr;
// private Integer issueToProjectTotal;
private Integer projectTotal;
private Integer projectIncr;
private Integer closedProjectTotal;
private Integer closedProjectIncr;
// private Integer patrolTotal;
// private Integer patrolTotalTime;
// private Integer orgId;
// private Integer orgName;

23
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubTopicAndGroupResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 对外接口-查询下级话题和小组数-接口返参
* @Auth sun
*/
@Data
public class SubTopicAndGroupResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
//组织或网格ID
private String orgId;
//组织或网格名称
private String orgName = "";
//话题总数
private Integer topicTotal = 0;
//小组总数
private Integer groupTotal = 0;
}

23
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubUserTotalResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 对外接口-查询下级用户党员数-接口返参
* @Auth sun
*/
@Data
public class SubUserTotalResultDTO implements Serializable {
private static final long serialVersionUID = 466974582608407121L;
//组织或网格ID
private String orgId;
//组织或网格名称
private String orgName = "";
//用户总数
private Integer userTotal = 0;
//党员总数
private Integer partyMemberTotal = 0;
}

3
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/TotalAndIncrResultDTO.java

@ -5,7 +5,7 @@ import lombok.Data;
import java.io.Serializable;
/**
* @Description 基础数据-组织各种数据汇总-接口返参
* @Description 总数及增量 返回结果
* @Auth sun
*/
@Data
@ -16,4 +16,5 @@ public class TotalAndIncrResultDTO implements Serializable {
private Integer incr;
private Integer total2;
private Integer incr2;
}

26
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/WorkFactResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* desc:
*
* @author: LiuJanJun
* @date: 2021/8/5 4:51 下午
* @version: 1.0
*/
@Data
public class WorkFactResultDTO implements Serializable {
private static final long serialVersionUID = -8149310637601355664L;
private Integer topicToIssueTotal = 0;
private Integer issueToProjectTotal = 0;
private Integer closedProjectTotal = 0;
private Integer patrolTotal = 0;
private String patrolTotalTime = "0";
private String orgId;
private String orgName;
}

54
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java

@ -2,9 +2,13 @@ package com.epmet.dataaggre.controller.pub;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.app.form.AppFootBarFormDTO;
import com.epmet.dataaggre.dto.datastats.form.AgenctBasicDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubTopicAndGroupFormDTO;
import com.epmet.dataaggre.dto.datastats.form.SubUserTotalFormDTO;
import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO;
import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -12,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 小程序相关配置可以放在这目前只放了footbar
*
@ -33,9 +39,45 @@ public class PubController {
* @date 2021/7/27 18:59
*/
@PostMapping("baseDataAgg")
public Result<BaseStatsDataResultDTO> getBaseStatsData(@RequestBody AgenctBasicDataFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,AppFootBarFormDTO.AddUserInternalGroup.class);
BaseStatsDataResultDTO resultDTO=dataStatsService.getBaseStatsData(formDTO);
return new Result<BaseStatsDataResultDTO>().ok(resultDTO);
public Result<BaseStatsDataResultDTO> getBaseStatsData(@RequestBody BaseDataFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.BaseData.class);
return new Result<BaseStatsDataResultDTO>().ok(dataStatsService.getBaseStatsData(formDTO));
}
/**
* 查询下级工作实况
*
* @param formDTO
* @return com.epmet.dataaggre.dto.app.result.AppFootBarResultDTO
* @author yinzuomei
* @date 2021/7/27 18:59
*/
@PostMapping("subWorkFact")
public Result<List<WorkFactResultDTO>> getSubWorkFact(@RequestBody BaseDataFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,BaseDataFormDTO.WorkFact.class);
return new Result<List<WorkFactResultDTO>>().ok(dataStatsService.getSubWorkFact(formDTO));
}
/**
* @Param formDTO
* @Description 对外接口--查询下级用户党员数
* @author sun
*/
@PostMapping("subUserTotal")
public Result<List<SubUserTotalResultDTO>> subUserTotal(@RequestBody SubUserTotalFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubUserTotalFormDTO.Agency.class);
return new Result<List<SubUserTotalResultDTO>>().ok(dataStatsService.subUserTotal(formDTO));
}
/**
* @Param formDTO
* @Description 对外接口--查询下级话题和小组数
* @author sun
*/
@PostMapping("subTopicAndGroup")
public Result<List<SubTopicAndGroupResultDTO>> subTopicAndGroup(@RequestBody SubTopicAndGroupFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SubTopicAndGroupFormDTO.Agency.class);
return new Result<List<SubTopicAndGroupResultDTO>>().ok(dataStatsService.subTopicAndGroup(formDTO));
}
}

8
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -273,4 +273,12 @@ public interface DataStatsDao {
TotalAndIncrResultDTO getAgencySumIssue(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
TotalAndIncrResultDTO getAgencySumProject(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* 获取话题相关总数
* @param agencyList
* @param dateId
* @return
*/
List<BaseStatsDataResultDTO> getSubSumAgencyTopic(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
}

45
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StatsStaffPatrolRecordDailyDao.java

@ -0,0 +1,45 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.dao.epmetuser;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 工作人员巡查统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-06-07
*/
@Mapper
public interface StatsStaffPatrolRecordDailyDao extends BaseDao<StatsStaffPatrolRecordDailyEntity> {
/**
* desc:获取巡查次数和时间
* @param agencyList
* @param startDateId
* @param endDateId
* @return
*/
List<StatsStaffPatrolRecordDailyEntity> getPatrolSumList(@Param("agencyList") List<String> agencyList, @Param("startDateId") String startDateId, @Param("endDateId") String endDateId);
}

125
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/StatsStaffPatrolRecordDailyEntity.java

@ -0,0 +1,125 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.entity.epmetuser;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* []工作人员巡查记录统计
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-06-29
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("stats_staff_patrol_record_daily")
public class StatsStaffPatrolRecordDailyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 来源类型 external:外部internal:内部
*/
private String sourceType;
/**
* 客户Id
*/
private String customerId;
/**
* 数据来源客户Id
*/
private String sourceCustomerId;
/**
* 统计日期 关联日期dim表
*/
private String dateId;
/**
* 周ID
*/
private String weekId;
/**
* 月ID
*/
private String monthId;
/**
* 季ID
*/
private String quarterId;
/**
* 年ID
*/
private String yearId;
/**
* 网格id
*/
private String gridId;
/**
* 工作人员所属组织id=网格所属的组织id
*/
private String agencyId;
/**
* 网格所有上级id
*/
private String gridPids;
/**
* 工作人员用户id
*/
private String staffId;
/**
* 巡查次数
*/
private Integer patrolTotal;
/**
* 巡查时长 单位
*/
private Integer totalTime;
/**
* 巡查期间直接立项项目数
*/
private Integer reportProjectCount;
/**
* 最新的巡查开始时间
*/
private Date latestPatrolTime;
/**
* 最新的巡查状态 正在巡查中patrolling结束end
*/
private String latestPatrolStatus;
}

27
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -182,6 +182,31 @@ public interface DataStatsService {
*/
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String staffId);
BaseStatsDataResultDTO getBaseStatsData(AgenctBasicDataFormDTO formDTO);
/**
* desc:获取话题 议题 项目 关闭项目数
* @param formDTO
* @return
*/
BaseStatsDataResultDTO getBaseStatsData(BaseDataFormDTO formDTO);
/**
* 获取工作实况中的数
* @param formDTO
* @return
*/
List<WorkFactResultDTO> getSubWorkFact(BaseDataFormDTO formDTO);
/**
* @Param formDTO
* @Description 对外接口--查询下级用户党员数
* @author sun
*/
List<SubUserTotalResultDTO> subUserTotal(SubUserTotalFormDTO formDTO);
/**
* @Param formDTO
* @Description 对外接口--查询下级话题和小组数
* @author sun
*/
List<SubTopicAndGroupResultDTO> subTopicAndGroup(SubTopicAndGroupFormDTO formDTO);
}

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

@ -1,7 +1,8 @@
package com.epmet.dataaggre.service.datastats.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
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.utils.DateUtils;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.OrgConstant;
@ -18,7 +19,9 @@ import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO;
import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO;
import com.epmet.dataaggre.entity.datastats.DimAgencyEntity;
import com.epmet.dataaggre.entity.datastats.FactAgencyGovernDailyEntity;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService;
import com.epmet.dataaggre.service.opercrm.CustomerRelation;
import com.github.pagehelper.PageHelper;
@ -54,6 +57,8 @@ public class DataStatsServiceImpl implements DataStatsService {
@Autowired
private FactGridMemberStatisticsDailyDao factGridMemberStatisticsDailyDao;
@Autowired
private StatsStaffPatrolRecordDailyService statsStaffPatrolRecordDailyService;
/**
@ -1427,7 +1432,7 @@ public class DataStatsServiceImpl implements DataStatsService {
}
@Override
public BaseStatsDataResultDTO getBaseStatsData(AgenctBasicDataFormDTO formDTO) {
public BaseStatsDataResultDTO getBaseStatsData(BaseDataFormDTO formDTO) {
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
@ -1468,6 +1473,107 @@ public class DataStatsServiceImpl implements DataStatsService {
return result;
}
@Override
public List<WorkFactResultDTO> getSubWorkFact(BaseDataFormDTO formDTO) {
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getType())){
formDTO.setType("yesterday");
}
Date yesterday = DateUtils.addDateDays(new Date(), -1);
if (StringUtils.isBlank(formDTO.getDateId())) {
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
String startDate = null;
String endDate = null;
Date dateIdDate = DateUtils.parse(formDTO.getDateId(), DateUtils.DATE_PATTERN_YYYYMMDD);
boolean isYesterday = DateUtils.getBeforeNDay(1,DateUtils.DATE_PATTERN_YYYYMMDD).equals(formDTO.getDateId());
switch (formDTO.getType()){
case "yesterday":
startDate = DateUtils.getBeforeNDay(formDTO.getDateId(),1);
endDate = formDTO.getDateId();
break;
case "thisWeek":
startDate = DateUtils.getWeekStart(formDTO.getDateId());
startDate = DateUtils.getBeforeNDay(startDate,1);
DateUtils.format(DateUtils.addDateDays(yesterday, -1),DateUtils.DATE_PATTERN_YYYYMMDD);
if (!isYesterday){
endDate = DateUtils.getWeekEnd(formDTO.getDateId());
}
break;
case "thisMonth":
startDate = DateUtils.format(DateUtils.getMonthStart(dateIdDate),DateUtils.DATE_PATTERN_YYYYMMDD);
startDate = DateUtils.getBeforeNDay(startDate,1);
if (!isYesterday) {
endDate = DateUtils.format(DateUtils.getMonthEnd(dateIdDate), DateUtils.DATE_PATTERN_YYYYMMDD);
}
break;
default:
log.warn("===========");
}
formDTO.setStartDateId(startDate);
formDTO.setEndDateId(endDate);
List<WorkFactResultDTO> result = new ArrayList<>();
//如果是社区 则下级是网格 查询网格的数据
if (OrgLevelEnum.COMMUNITY.getCode().equals(formDTO.getAgencyLevel())){
}else {
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return null;
}
List<String> agencyList = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList());
//查询组织的话题转议题数据
List<SubAgencyFormDTO.Topic> toIssueStart = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, formDTO.getStartDateId());
List<SubAgencyFormDTO.Topic> toIssueEnd = dataStatsDao.getSubAgencyTopicShiftIssue(agencyList, formDTO.getEndDateId());
Map<String, Integer> toIssueStartMap = toIssueStart.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
Map<String, Integer> toIssueEndMap = toIssueEnd.stream().collect(Collectors.toMap(SubAgencyFormDTO.Topic::getAgencyId, SubAgencyFormDTO.Topic::getShiftedIssueTotal, (o1, o2) -> o1));
//查询组织的议题转项目数据
List<SubAgencyIssueResultDTO> toProjectStart = dataStatsDao.getSubAgencyIssue(agencyList, formDTO.getStartDateId());
List<SubAgencyIssueResultDTO> toProjectEnd = dataStatsDao.getSubAgencyIssue(agencyList, formDTO.getEndDateId());
Map<String, Integer> toProjectStartMap = toProjectStart.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
Map<String, Integer> toProjectEndMap = toProjectEnd.stream().collect(Collectors.toMap(SubAgencyIssueResultDTO::getAgencyId, SubAgencyIssueResultDTO::getShiftProjectTotal, (o1, o2) -> o1));
//查询组织已关闭的项目数据
List<SubAgencyProjectResultDTO> closeProjectStart = dataStatsDao.getSubAgencyProject(agencyList, formDTO.getStartDateId());
List<SubAgencyProjectResultDTO> closeProjectEnd = dataStatsDao.getSubAgencyProject(agencyList, formDTO.getEndDateId());
Map<String, Integer> closeProjectStartMap = closeProjectStart.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
Map<String, Integer> closeProjectEndMap = closeProjectEnd.stream().collect(Collectors.toMap(SubAgencyProjectResultDTO::getAgencyId, SubAgencyProjectResultDTO::getClosedProjectTotal, (o1, o2) -> o1));
//巡查次数和时间
List<StatsStaffPatrolRecordDailyEntity> patrolList = statsStaffPatrolRecordDailyService.getPatrolSumList(agencyList,formDTO.getStartDateId(),formDTO.getEndDateId());
Map<String, StatsStaffPatrolRecordDailyEntity> patrolListMap = patrolList.stream().collect(Collectors.toMap(StatsStaffPatrolRecordDailyEntity::getAgencyId, o -> o, (o1, o2) -> o1));
subAgencyList.forEach(agency->{
String agencyId = agency.getAgencyId();
WorkFactResultDTO resultDTO = new WorkFactResultDTO();
resultDTO.setOrgId(agencyId);
resultDTO.setOrgName(agency.getAgencyName());
resultDTO.setTopicToIssueTotal(getTotal(toIssueStartMap,toIssueEndMap,agencyId));
resultDTO.setIssueToProjectTotal(getTotal(toProjectStartMap,toProjectEndMap,agencyId));
resultDTO.setClosedProjectTotal(getTotal(closeProjectStartMap,closeProjectEndMap,agencyId));
StatsStaffPatrolRecordDailyEntity patrolRecordDTO = patrolListMap.get(agencyId);
if (patrolRecordDTO != null){
resultDTO.setPatrolTotal(patrolRecordDTO.getPatrolTotal());
Integer totalTime = patrolRecordDTO.getTotalTime();
resultDTO.setPatrolTotalTime(totalTime.toString());
}
result.add(resultDTO);
});
}
return result;
}
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);
if (total1.equals(total2)){
log.warn("===========相等,total:{}",total1);
}
return Math.max(total2-total1,0);
}
private String getPercentage(Integer countInt, Integer totalInt) {
if (NumConstant.ZERO == totalInt) {
return "0%";
@ -1479,4 +1585,170 @@ public class DataStatsServiceImpl implements DataStatsService {
return ratio.toString().concat("%");
}
/**
* @Param formDTO
* @Description 对外接口--查询下级用户党员数
* @author sun
*/
@Override
public List<SubUserTotalResultDTO> subUserTotal(SubUserTotalFormDTO formDTO) {
List<SubUserTotalResultDTO> resultList = new ArrayList<>();
//1.入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
//根据组织级别判断查询直属下级组织或网格数据
//2.直属网格
if ("community".equals(formDTO.getAgencyLevel())) {
//2-1.查询组织直属网格列表【网格维度】
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId());
if (gridList.size() < NumConstant.ONE) {
return resultList;
}
List<String> gridIds = gridList.stream().map(ScreenCustomerGridDTO::getGridId).collect(Collectors.toList());
//2-2.查询网格下用户、党员日统计数据,按用户总数降序
List<SubGridUserResultDTO> list = dataStatsDao.getSubGridUser(gridIds, formDTO.getDateId());
//2-3.封装数据
gridList.forEach(gr -> {
SubUserTotalResultDTO dto = new SubUserTotalResultDTO();
dto.setOrgId(gr.getGridId());
dto.setOrgName(gr.getGridName());
list.forEach(re -> {
if (gr.getGridId().equals(re.getGridId())) {
dto.setUserTotal(re.getUserTotal());
dto.setPartyMemberTotal(re.getPartyMemberTotal());
}
});
resultList.add(dto);
});
} else {
//3.直属组织
//3-1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
List<String> agencyIds = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList());
//3-2.查询组织下用户、党员日统计数据,按用户总数降序
List<SubAgencyUserResultDTO> list = dataStatsDao.getSubAgencyUser(agencyIds, formDTO.getDateId());
//3-3.封装数据
subAgencyList.forEach(sub -> {
SubUserTotalResultDTO dto = new SubUserTotalResultDTO();
dto.setOrgId(sub.getAgencyId());
dto.setOrgName(sub.getAgencyName());
list.forEach(u -> {
if (sub.getAgencyId().equals(u.getAgencyId())) {
dto.setUserTotal(u.getUserTotal());
dto.setPartyMemberTotal(u.getPartyMemberTotal());
}
});
resultList.add(dto);
});
}
//4.按用户数降序排序并返回
Collections.sort(resultList, new Comparator<SubUserTotalResultDTO>() {
@Override
public int compare(SubUserTotalResultDTO o1, SubUserTotalResultDTO o2) {
//降序
return o2.getUserTotal().compareTo(o1.getUserTotal());
}
});
return resultList;
}
/**
* @Param formDTO
* @Description 对外接口--查询下级话题和小组数
* @author sun
*/
@Override
public List<SubTopicAndGroupResultDTO> subTopicAndGroup(SubTopicAndGroupFormDTO formDTO) {
List<SubTopicAndGroupResultDTO> resultList = new ArrayList<>();
//1.入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
//根据组织级别判断查询直属下级组织或网格数据
//2.直属网格
if ("community".equals(formDTO.getAgencyLevel())) {
//2-1.查询组织直属网格列表【网格维度】
List<ScreenCustomerGridDTO> gridList = indexService.getSubGridList(formDTO.getAgencyId());
if (gridList.size() < NumConstant.ONE) {
return resultList;
}
List<String> gridIds = gridList.stream().map(ScreenCustomerGridDTO::getGridId).collect(Collectors.toList());
//2-2.查询网格下热议中话题日统计数据
List<SubGridFormDTO.Topic> hotdiscuss = dataStatsDao.getSubGridTopicHotDiscuss(gridIds, formDTO.getDateId());
//2-2.查询网格层级小组日统计数据
List<SubGridGroupResultDTO> list = dataStatsDao.getSubGridGroup(gridIds, formDTO.getDateId());
//2-3.封装数据
gridList.forEach(gr -> {
SubTopicAndGroupResultDTO resultDTO = new SubTopicAndGroupResultDTO();
resultDTO.setOrgId(gr.getGridId());
resultDTO.setOrgName(gr.getGridName());
hotdiscuss.forEach(t -> {
if (t.getGridId().equals(gr.getGridId())) {
resultDTO.setTopicTotal(t.getTopicTotal());
}
});
list.forEach(l -> {
if (l.getGridId().equals(gr.getGridId())) {
resultDTO.setGroupTotal(l.getGroupTotal());
}
});
resultList.add(resultDTO);
});
} else {
//3.直属组织
//3-1.查询直属下级组织列表,有子客户的按areaCode查没有的按agencyId查
List<ScreenCustomerAgencyDTO> subAgencyList = indexService.getSubAgencyListByAgency(formDTO.getAgencyId());
if (subAgencyList.size() < NumConstant.ONE) {
return resultList;
}
List<String> agencyIds = subAgencyList.stream().map(ScreenCustomerAgencyDTO::getAgencyId).collect(Collectors.toList());
//3-2.查询组织下热议中话题日统计数据
List<SubAgencyFormDTO.Topic> hotdiscuss = dataStatsDao.getSubAgencyTopicHotDiscuss(agencyIds, formDTO.getDateId());
//3-3.查询直属下级组织小组日统计数据
List<SubAgencyGroupResultDTO> list = dataStatsDao.getSubAgencyGroup(agencyIds, formDTO.getDateId());
//3-4.封装数据
subAgencyList.forEach(sub -> {
SubTopicAndGroupResultDTO resultDTO = new SubTopicAndGroupResultDTO();
resultDTO.setOrgId(sub.getAgencyId());
resultDTO.setOrgName(sub.getAgencyName());
hotdiscuss.forEach(t -> {
if (t.getAgencyId().equals(sub.getAgencyId())) {
resultDTO.setTopicTotal(t.getTopicTotal());
}
});
list.forEach(u -> {
if (sub.getAgencyId().equals(u.getAgencyId())) {
resultDTO.setGroupTotal(u.getGroupTotal());
}
});
resultList.add(resultDTO);
});
}
//4.按用户数降序排序并返回
Collections.sort(resultList, new Comparator<SubTopicAndGroupResultDTO>() {
@Override
public int compare(SubTopicAndGroupResultDTO o1, SubTopicAndGroupResultDTO o2) {
//降序
return o2.getTopicTotal().compareTo(o1.getTopicTotal());
}
});
return resultList;
}
}

42
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/StatsStaffPatrolRecordDailyService.java

@ -0,0 +1,42 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.service.epmetuser;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import java.util.List;
/**
* 工作人员巡查主记录
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-06-07
*/
public interface StatsStaffPatrolRecordDailyService extends BaseService<StatsStaffPatrolRecordDailyEntity> {
/**
* desc:获取组织或网格的 时间段内的总次数等
* @param agencyList
* @param startDateId
* @param endDateId
* @return
*/
List<StatsStaffPatrolRecordDailyEntity> getPatrolSumList(List<String> agencyList, String startDateId, String endDateId);
}

43
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/StatsStaffPatrolRecordDailyServiceImpl.java

@ -0,0 +1,43 @@
package com.epmet.dataaggre.service.epmetuser.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.dao.epmetuser.StatsStaffPatrolRecordDailyDao;
import com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity;
import com.epmet.dataaggre.service.epmetuser.StatsStaffPatrolRecordDailyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* desc:
*
* @author: LiuJanJun
* @date: 2021/8/6 11:06 上午
* @version: 1.0
*/
@DataSource(DataSourceConstant.EPMET_USER)
@Slf4j
@Service
public class StatsStaffPatrolRecordDailyServiceImpl extends BaseServiceImpl<StatsStaffPatrolRecordDailyDao, StatsStaffPatrolRecordDailyEntity> implements StatsStaffPatrolRecordDailyService {
/**
* desc:获取组织或网格的 时间段内的总次数等
*
* @param agencyList
* @param startDateId
* @param endDateId
* @return
*/
@Override
public List<StatsStaffPatrolRecordDailyEntity> getPatrolSumList(List<String> agencyList, String startDateId, String endDateId) {
/* LambdaQueryWrapper<StatsStaffPatrolRecordDailyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StatsStaffPatrolRecordDailyEntity::getDelFlag, NumConstant.ZERO_STR)
.between(StatsStaffPatrolRecordDailyEntity::getDateId, startDateId,endDateId)
.in(StatsStaffPatrolRecordDailyEntity::getAgencyId, agencyList)
;*/
return baseDao.getPatrolSumList(agencyList,startDateId,endDateId);
}
}

15
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -727,5 +727,20 @@
agency_id = #{agencyId}
</foreach>
</select>
<select id="getSubSumAgencyTopic" resultType="com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO">
SELECT
agency_id AS agencyId,
topic_count AS topicCount,
topic_status_id AS topicStatus
FROM
fact_topic_status_agency_daily
WHERE
del_flag = '0'
AND topic_status_id in('discussing','closed','hidden')<!-- 讨论中(热议中!=讨论中)、已处理、已屏蔽 -->
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyIds" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
</mapper>

17
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StatsStaffPatrolRecordDailyDao.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.epmet.dataaggre.dao.epmetuser.StatsStaffPatrolRecordDailyDao">
<select id="getPatrolSumList" resultType="com.epmet.dataaggre.entity.epmetuser.StatsStaffPatrolRecordDailyEntity">
SELECT
agency_id,
sum(patrol_total) patrolTotal,
sum(TOTAL_TIME) totalTime
FROM stats_staff_patrol_record_daily
WHERE del_flag = '0'
AND date_id BETWEEN #{startDateId} and #{endDateId}
<foreach item="agencyId" collection="agencyList" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
GROUP BY customer_id,agency_id
</select>
</mapper>

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

@ -1083,7 +1083,7 @@
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
(ORIGIN = 'agency' OR ORIGIN = 'resi_event')
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID = #{dateId}
@ -1101,7 +1101,7 @@
FROM
fact_origin_project_main_daily
WHERE
ORIGIN = 'agency'
(ORIGIN = 'agency' OR ORIGIN = 'resi_event')
AND CUSTOMER_ID = #{customerId}
<if test='null != dateId and "" != dateId'>
AND DATE_ID &lt;= #{dateId}

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

@ -227,7 +227,7 @@
rero.ORG_ID,
rero.ORG_PID,
rero.ORG_PIDS,
re.PROJECT_ID.CREATED_BY,
re.CREATED_BY,
re.PROJECT_ID
from resi_event_report_org rero
inner join resi_event re on rero.RESI_EVENT_ID = re.id and re.SHIFT_PROJECT = 1 and re.DEL_FLAG = '0'

12
epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java

@ -11,7 +11,6 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.feign.fallback.OssFeignClientFallback;
import com.epmet.feign.fallback.OssFeignClientFallbackFactory;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
@ -32,7 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
@FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, configuration = OssFeignClient.MultipartSupportConfig.class, fallbackFactory =
OssFeignClientFallbackFactory.class)
//@FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, configuration = OssFeignClient.MultipartSupportConfig.class, fallbackFactory =
// OssFeignClientFallbackFactory.class)
// OssFeignClientFallbackFactory.class, url = "localhost:8083")
public interface OssFeignClient {
/**
* 文件上传
@ -64,4 +63,13 @@ public interface OssFeignClient {
}
}
/**
* @Description ribbon测试
* @return
* @author wxz
* @date 2021.08.05 16:28
*/
@PostMapping("/oss/test/test-ribbon-rcv/{sleep}")
Result testRibbonRcv(@RequestParam("sleep") Long sleep);
}

7
epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java

@ -13,7 +13,7 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.feign.OssFeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.multipart.MultipartFile;
/**
@ -40,4 +40,9 @@ public class OssFeignClientFallback implements OssFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadQrCodeV2", file, customerId);
}
@Override
public Result testRibbonRcv(@PathVariable Long sleep) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "testRibbonRcv", sleep);
}
}

24
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/TestController.java

@ -1,7 +1,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.service.OssService;
import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -10,6 +9,9 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
@RestController
@RequestMapping("test")
@ -43,4 +45,24 @@ public class TestController {
}
return new Result();
}
/**
* @Description ribbon测试
* @return
* @author wxz
* @date 2021.08.05 16:28
*/
@PostMapping("test-ribbon-rcv/{sleep}")
public Result testRibbonRcv(@PathVariable("sleep") Long sleep) {
InetAddress localHost = null;
try {
Thread.sleep(sleep);
localHost = Inet4Address.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return new Result().ok(localHost);
}
}

5
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java

@ -25,5 +25,10 @@ public class RedDotFormDTO implements Serializable {
*/
//@NotBlank(message = "网格id不能为空")
private String gridId;
/**
* 当前工作人员所属的组织id
*/
private String agencyId;
}

5
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java

@ -32,6 +32,9 @@ public class WorkGrassRootsFunctionConstant {
*/
public static final String WORK_GRASSROOTS_BADGE="work_grassroots_badge";
/**
* 基层治理-群众直报 功能入口
*/
public static final String RESI_EVENT_MANAGE="resi_event_manage";
}

20
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java

@ -44,6 +44,8 @@ public class RemindServiceImpl implements RemindService {
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Override
public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) {
@ -217,12 +219,11 @@ public class RemindServiceImpl implements RemindService {
RedDotResultDTO redDotResultDTO = new RedDotResultDTO();
redDotResultDTO.setOtherGridRedDot(false);
redDotResultDTO.setFunctionList(Collections.EMPTY_LIST);
List<String> functionList = new ArrayList<>();
List<RedDotDetialDTO> details = new ArrayList<>();
Result<List<CustomerGridByUserIdResultDTO>> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId());
if (govOrgResult.success() && !CollectionUtils.isEmpty(govOrgResult.getData())) {
List<String> functionList = new ArrayList<>();
List<RedDotDetialDTO> details = new ArrayList<>();
List<String> gridIdList = govOrgResult.getData().stream().map(CustomerGridByUserIdResultDTO::getGridId).collect(Collectors.toList());
//1、群组管理(待审核的小组申请、变更小组申请)
@ -335,11 +336,20 @@ public class RemindServiceImpl implements RemindService {
}
});
}
redDotResultDTO.setFunctionList(functionList);
redDotResultDTO.setDetails(details);
} else {
logger.warn(String.format("基层治理红点查询,获取工作人员所属网格失败,当前staffId=%s", formDTO.getStaffId()));
}
// 群众直报:当前工作人员所属的组织存在待处理(未读的)、有新的回复的(相当于处理中有红点的)记录就显示红点
if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getAgencyId())){
Result<ResiEventManageRedDotRes> projectRes=govProjectOpenFeignClient.queryResiEventManageRedDot(formDTO.getAgencyId());
if(projectRes.success()&&null !=projectRes.getData()&&projectRes.getData().getTotalCount()>0){
functionList.add(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE);
details.add(new RedDotDetialDTO(WorkGrassRootsFunctionConstant.RESI_EVENT_MANAGE, projectRes.getData().getTotalCount().longValue()));
}
}
redDotResultDTO.setFunctionList(functionList);
redDotResultDTO.setDetails(details);
return redDotResultDTO;
}

20
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/EventTitleOrgResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2021/8/5 5:23 下午
* @DESC
*/
@Data
public class EventTitleOrgResultDTO implements Serializable {
private static final long serialVersionUID = -517506506008916648L;
private String agencyId;
private String gridId;
private String gridName;
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -29,6 +31,7 @@ import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.excel.CustomerStaffGridExcel;
import com.epmet.service.CustomerStaffGridService;
@ -131,4 +134,15 @@ public class CustomerStaffGridController {
public Result<List<GridStaffResultDTO>> selectGridStaffByGridIds(@RequestBody List<String> gridIds){
return new Result<List<GridStaffResultDTO>>().ok(customerStaffGridService.selectGridStaffByGridIds(gridIds));
}
/**
* @Description 查询ORG
* @Param userId
* @author zxc
* @date 2021/8/5 5:36 下午
*/
@PostMapping("eventorg")
public Result<List<EventTitleOrgResultDTO>> eventOrg(@LoginUser TokenDto tokenDto){
return new Result<List<EventTitleOrgResultDTO>>().ok(customerStaffGridService.eventOrg(tokenDto.getUserId()));
}
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java

@ -22,6 +22,7 @@ import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffDepartmentDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
import org.apache.ibatis.annotations.Mapper;
@ -106,4 +107,12 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
* @date 2021/6/8 3:36 下午
*/
List<GridStaffResultDTO> selectGridStaffByGridIds(@Param("gridIds") List<String> gridIds);
/**
* @Description 查询ORG
* @Param userId
* @author zxc
* @date 2021/8/5 5:36 下午
*/
List<EventTitleOrgResultDTO> eventOrg(@Param("userId") String userId);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java

@ -26,6 +26,7 @@ import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
@ -126,4 +127,12 @@ public interface CustomerStaffGridService extends BaseService<CustomerStaffGridE
* @date 2021/6/8 3:36 下午
*/
List<GridStaffResultDTO> selectGridStaffByGridIds(List<String> gridIds);
/**
* @Description 查询ORG
* @Param userId
* @author zxc
* @date 2021/8/5 5:36 下午
*/
List<EventTitleOrgResultDTO> eventOrg(String userId);
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -31,6 +31,7 @@ import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
@ -181,4 +182,15 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
}
return data;
}
/**
* @Description 查询ORG
* @Param userId
* @author zxc
* @date 2021/8/5 5:36 下午
*/
@Override
public List<EventTitleOrgResultDTO> eventOrg(String userId) {
return baseDao.eventOrg(userId);
}
}

21
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml

@ -102,6 +102,27 @@
)
</select>
<!-- 查询ORG -->
<select id="eventOrg" resultType="com.epmet.dto.result.EventTitleOrgResultDTO">
SELECT
sa.AGENCY_ID AS agencyId,
sa.AGENCY_ID AS gridId,
ca.ORGANIZATION_NAME AS gridName
FROM customer_staff_agency sa
LEFT JOIN customer_agency ca ON (ca.ID = sa.AGENCY_ID AND ca.DEL_FLAG = 0)
WHERE sa.DEL_FLAG = 0
AND sa.USER_ID = #{userId}
UNION ALL
SELECT
cg.PID AS agencyId,
sg.GRID_ID AS gridId,
cg.GRID_NAME AS gridName
FROM customer_staff_grid sg
LEFT JOIN customer_grid cg ON (cg.ID = sg.GRID_ID AND cg.DEL_FLAG = 0)
WHERE sg.DEL_FLAG = 0
AND sg.USER_ID = #{userId}
</select>
<!-- 批量插入网格工作人员 -->
<insert id="insertBatch" parameterType="java.util.List">
insert into customer_staff_grid

30
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResiEventManageRedDotRes.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 描述一下
*
* @author yinzuomei@elink-cn.com
* @date 2021/8/6 13:54
*/
@Data
public class ResiEventManageRedDotRes implements Serializable {
/**
* 待处理未读的事件数
* */
private Integer unReadCount;
/**
* 已经度过但是又有新的回复立项结案
* */
private Integer redDotCount;
/**
* 总数
* */
private Integer totalCount;
}

12
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -6,7 +6,6 @@ import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallbackFactory;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
@ -124,4 +123,15 @@ public interface GovProjectOpenFeignClient {
*/
@PostMapping("gov/project/project/unresolvedlist")
Result<List<UnResolvedResultDTO>> getUnResolvedList(@RequestBody ShiftProjectListFromDTO formDTO);
/**
* 群众直报当前工作人员所属的组织存在待处理未读的有新的回复的相当于处理中有红点的)记录就显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 14:07
*/
@PostMapping("gov/project/resievent/queryResiEventManageRedDot/{agencyId}")
Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId);
}

13
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -119,4 +119,17 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result<List<UnResolvedResultDTO>> getUnResolvedList(ShiftProjectListFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getUnResolvedList", formDTO);
}
/**
* 群众直报当前工作人员所属的组织存在待处理未读的有新的回复的相当于处理中有红点的)记录就显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 14:08
*/
@Override
public Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "queryResiEventManageRedDot", agencyId);
}
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ResiEventController.java

@ -26,10 +26,7 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.ResiEventService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -202,4 +199,18 @@ public class ResiEventController {
resiEventService.closeResiEvent(formDTO);
return new Result();
}
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.ResiEventManageRedDotRes>
* @author yinzuomei
* @date 2021/8/6 13:57
*/
@PostMapping("queryResiEventManageRedDot/{agencyId}")
Result<ResiEventManageRedDotRes> queryResiEventManageRedDot(@PathVariable("agencyId") String agencyId) {
return new Result<ResiEventManageRedDotRes>().ok(resiEventService.queryResiEventManageRedDot(agencyId));
}
}

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

@ -215,4 +215,6 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @date 2021/8/4 2:43 下午
*/
EventProjectInfoDTO selectEventProjectInfo(@Param("projectId")String projectId);
List<ProjectEntity> selectByOriginId(String originId);
}

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ResiEventReportOrgDao.java

@ -60,4 +60,8 @@ public interface ResiEventReportOrgDao extends BaseDao<ResiEventReportOrgEntity>
* @date 2021/8/4 17:41
*/
int updateRedDotShow(String resiEventId);
Integer selectUnReadCount(String agencyId);
Integer selectRedCount(String agencyId);
}

3
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -19,7 +19,6 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -330,4 +329,6 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @return java.util.List<com.epmet.dto.result.UnResolvedResultDTO>
*/
List<UnResolvedResultDTO> getUnResolvedListByGrid(ShiftProjectListFromDTO fromDTO);
List<ProjectEntity> getByOriginId(String eventId);
}

10
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ResiEventService.java

@ -119,4 +119,14 @@ public interface ResiEventService extends BaseService<ResiEventEntity> {
void shiftProject(EventShiftProjectDTO eventShiftProjectDTO);
ResiEventEntity getById(String eventId);
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.dto.result.ResiEventManageRedDotRes
* @author yinzuomei
* @date 2021/8/6 13:57
*/
ResiEventManageRedDotRes queryResiEventManageRedDot(String agencyId);
}

5
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -2753,4 +2753,9 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return baseDao.selectUnResolvedListByGrid(fromDTO.getGridId());
}
@Override
public List<ProjectEntity> getByOriginId(String originId) {
return baseDao.selectByOriginId(originId);
}
}

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

@ -631,6 +631,10 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
if(null==resiEventEntity||resiEventEntity.getShiftProject()){
throw new RenException(EpmetErrorCode.RESI_EVENT_SHIFT_PROJECT.getCode(),EpmetErrorCode.RESI_EVENT_SHIFT_PROJECT.getMsg());
}
List<ProjectEntity> projectEntityList = projectService.getByOriginId(formDTO.getEventId());
if (!CollectionUtils.isEmpty(projectEntityList)) {
throw new RenException(EpmetErrorCode.RESI_EVENT_SHIFT_PROJECT.getCode(), EpmetErrorCode.RESI_EVENT_SHIFT_PROJECT.getMsg());
}
List<TickStaffFormDTO> staffList = formDTO.getStaffList();
//1.文字内容安全校验
List<String> list = new ArrayList<>();

24
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java

@ -478,8 +478,8 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.queryMyReported(formDTO.getUserId(),
formDTO.getStatusCondition()));
result.getList().forEach(resultDTO->{
if(EventConstant.EVENT_STATUS_CLOSED_CASE.equals(resultDTO.getStatus())){
// 已办结的不显示回复按钮
if(EventConstant.EVENT_STATUS_CLOSED_CASE.equals(resultDTO.getStatus())||resultDTO.getShiftProject()){
// 已办结的、立项的不显示回复按钮
resultDTO.setReplyButtonFlag("false");
}else{
// 处理中的事件
@ -598,6 +598,7 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
resiEventEntity.setLatestOperatedTime(formDTO.getShiftProjectTime());
resiEventEntity.setShiftProject(true);
resiEventEntity.setRedDot(true);
resiEventEntity.setProjectId(formDTO.getProjectId());
baseDao.updateById(resiEventEntity);
// 2、记录操作日志
ResiEventOperationLogEntity reCallLog=new ResiEventOperationLogEntity();
@ -607,7 +608,7 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
reCallLog.setUserIdentity(EventConstant.STAFF);
reCallLog.setActionCode(ResiEventAction.SHIFIT_PROJECT.getCode());
reCallLog.setActionDesc(ResiEventAction.SHIFIT_PROJECT.getDesc());
reCallLog.setOperateTime(resiEventEntity.getCloseCaseTime());
reCallLog.setOperateTime(resiEventEntity.getLatestOperatedTime());
resiEventOperationLogDao.insert(reCallLog);
//3、所有被艾特的人应该都通知
resiEventMentionDao.updateRedDotShow(formDTO.getEventId(),null);
@ -619,5 +620,22 @@ public class ResiEventServiceImpl extends BaseServiceImpl<ResiEventDao, ResiEven
return baseDao.selectById(eventId);
}
/**
* 工作台最新直报是否显示红点
*
* @param agencyId
* @return com.epmet.dto.result.ResiEventManageRedDotRes
* @author yinzuomei
* @date 2021/8/6 13:57
*/
@Override
public ResiEventManageRedDotRes queryResiEventManageRedDot(String agencyId) {
ResiEventManageRedDotRes res=new ResiEventManageRedDotRes();
res.setUnReadCount(resiEventReportOrgDao.selectUnReadCount(agencyId));
res.setRedDotCount(resiEventReportOrgDao.selectRedCount(agencyId));
res.setTotalCount(res.getUnReadCount()+res.getRedDotCount());
return res;
}
}

9
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -383,13 +383,18 @@
<select id="selectEventProjectInfo" resultType="com.epmet.dto.EventProjectInfoDTO">
SELECT
p.ID AS projectId,
IFNULL(DATE_FORMAT(p.CREATED_TIME,'%Y-%m-%d %h-%m-%s'),'') AS operationTime,
IFNULL(DATE_FORMAT(p.CREATED_TIME,'%Y-%m-%d %h:%i'),'') AS operationTime,
p.CREATED_BY AS userId,
IFNULL(pp.PUBLIC_REPLY,'') AS projectDeclare
FROM project p
LEFT JOIN project_process pp ON (pp.PROJECT_ID = p.ID AND pp.DEL_FLAG = '0')
LEFT JOIN project_process pp ON (pp.PROJECT_ID = p.ID AND pp.DEL_FLAG = '0' AND pp.OPERATION = 'created')
WHERE p.DEL_FLAG = '0'
AND p.ID = #{projectId}
</select>
<select id="selectByOriginId" resultType="com.epmet.entity.ProjectEntity">
select p.id from project p
where p.DEL_FLAG = '0'
AND p.ORIGIN_ID = #{originId}
</select>
</mapper>

16
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventDao.xml

@ -18,7 +18,15 @@
SELECT IFNULL(rea.ATTACHMENT_URL,'') AS img,t.* FROM
(SELECT
re.EVENT_CONTENT AS eventContent,
IFNULL(DATE_FORMAT(re.CREATED_TIME,'%Y-%m-%d %H:%i'),'') AS eventTime,
<if test='eventType == "undisposed" '>
IFNULL(DATE_FORMAT(re.CREATED_TIME,'%Y-%m-%d %H:%i'),'') AS eventTime,
</if>
<if test='eventType == "processed" '>
IFNULL(DATE_FORMAT(re.LATEST_OPERATED_TIME,'%Y-%m-%d %H:%i'),'') AS eventTime,
</if>
<if test='eventType == "transferred" '>
IFNULL(DATE_FORMAT(re.CLOSE_CASE_TIME,'%Y-%m-%d %H:%i'),'') AS eventTime,
</if>
re.ID AS eventId,
(CASE WHEN re.SHIFT_PROJECT = 1 THEN TRUE ELSE FALSE END) AS isProject,
(CASE WHEN ro.RED_DOT = 1 THEN TRUE ELSE FALSE END) AS redDot
@ -33,12 +41,12 @@
<if test='eventType == "processed" '>
AND ro.ORG_READ = 'read'
AND re.`STATUS` = 'processing'
ORDER BY re.LATEST_OPERATED_TIME
ORDER BY re.LATEST_OPERATED_TIME DESC
</if>
<if test='eventType == "transferred" '>
AND ro.ORG_READ = 'read'
AND re.`STATUS` = 'closed_case'
ORDER BY re.CLOSE_CASE_TIME
ORDER BY re.CLOSE_CASE_TIME DESC
</if>
)t
LEFT JOIN resi_event_attachment rea ON (rea.RESI_EVENT_ID = t.eventId AND rea.DEL_FLAG = '0' AND rea.ATTACHMENT_TYPE = 'image' AND (rea.SORT = 0 OR rea.SORT = 1 OR rea.SORT = 2))
@ -120,7 +128,7 @@
IFNULL(re.EVENT_CONTENT,'') AS eventContent,
IFNULL(re.ADDRESS,'') AS eventAddress,
(CASE WHEN re.`STATUS` = 'processing' THEN FALSE WHEN re.`STATUS` = 'closed_case' THEN TRUE ELSE FALSE END) AS isClosed,
(IF('' = re.RESOLVE_STATUS OR NULL = re.RESOLVE_STATUS, TRUE, FALSE)) AS isResolve,
(IF(IFNULL(re.RESOLVE_STATUS,TRUE) OR '' = re.RESOLVE_STATUS, TRUE, FALSE)) AS isResolve,
(CASE WHEN re.READ_FLAG = 1 THEN FALSE ELSE TRUE END) AS isRollback,
(CASE WHEN re.SHIFT_PROJECT = 1 THEN TRUE ELSE FALSE END) AS isProject,
IFNULL(re.project_id,'') AS projectId,

23
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ResiEventReportOrgDao.xml

@ -33,4 +33,27 @@
AND ORG_ID = #{orgId}
AND RESI_EVENT_ID = #{eventId}
</update>
<select id="selectUnReadCount" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
COUNT(M.ID)
FROM resi_event_report_org M
INNER JOIN resi_event RE ON(M.RESI_EVENT_ID=RE.ID)
WHERE M.DEL_FLAG='0'
AND RE.DEL_FLAG='0'
AND M.ORG_ID=#{agencyId}
AND M.ORG_READ='un_read'
</select>
<select id="selectRedCount" parameterType="java.lang.String" resultType="java.lang.Integer">
SELECT
COUNT(M.ID)
FROM resi_event_report_org M
INNER JOIN resi_event RE ON(M.RESI_EVENT_ID=RE.ID)
WHERE M.DEL_FLAG='0'
AND RE.DEL_FLAG='0'
AND M.ORG_ID=#{agencyId}
AND M.ORG_READ='read'
and m.RED_DOT='1'
</select>
</mapper>

13
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java

@ -2,6 +2,9 @@ package com.epmet.modules.test;
import com.epmet.commons.tools.utils.HttpContextUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.TestFormDTO;
import com.epmet.feign.OssFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -12,6 +15,9 @@ import javax.servlet.http.HttpServletRequest;
@RequestMapping("test")
public class TestController {
@Autowired
private OssFeignClient ossFeignClient;
@PostMapping("get-req-info")
public Result testDomain(HttpServletRequest request) {
String requestServerNameAndPort = HttpContextUtils.getRequestServerNameAndPort();
@ -27,4 +33,11 @@ public class TestController {
return new Result();
}
@PostMapping("test-ribbon-sender")
public Result testRibbonSender() {
TestFormDTO form = new TestFormDTO(40000l);
Result result = ossFeignClient.testRibbonRcv(form);
return result;
}
}

Loading…
Cancel
Save