Browse Source

Merge remote-tracking branch 'remotes/origin/dev_pingyin_7_22'

# Conflicts:
#	epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
#	epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
#	epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
#	epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml
master
jianjun 3 years ago
parent
commit
a19277f09a
  1. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
  2. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  3. 37
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/StrUtil.java
  4. 7
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java
  5. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/form/GridBaseInfoFormDTO.java
  6. 10
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerAgencyDTO.java
  7. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java
  8. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java
  9. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java
  10. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java
  11. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java
  12. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java
  13. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java
  14. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  15. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  16. 74
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  17. 80
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  18. 11
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  19. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml
  20. 16
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridStaffListFormDTO.java
  21. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffListResultDTO.java
  22. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  23. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  24. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  25. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java
  26. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  27. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java
  28. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  29. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  30. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  31. 4
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  32. 16
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml
  33. 8
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/constant/DataWorkerConstant.java
  34. 40
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java
  35. 17
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/GridStaffInfoFormDTO.java
  36. 18
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/HistoryDataSyncFormDTO.java
  37. 3
      epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java
  38. 16
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridDailyworkController.java
  39. 39
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/EventreportPingyinController.java
  40. 48
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridInfoPingyinController.java
  41. 47
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridstaffInfoPingyinController.java
  42. 32
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridstaffWorkInfoPingyinController.java
  43. 11
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridDailyworkDao.java
  44. 16
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/EventreportPingyinDao.java
  45. 33
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridInfoPingyinDao.java
  46. 22
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridstaffInfoPingyinDao.java
  47. 18
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridstaffWorkInfoPingyinDao.java
  48. 19
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridDailyworkEntity.java
  49. 178
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/EventreportPingyinEntity.java
  50. 98
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridInfoPingyinEntity.java
  51. 152
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridstaffInfoPingyinEntity.java
  52. 94
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridstaffWorkInfoPingyinEntity.java
  53. 34
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java
  54. 5
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java
  55. 5
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java
  56. 7
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java
  57. 23
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/EventreportPingyinService.java
  58. 27
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridInfoPingyinService.java
  59. 25
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridstaffInfoPingyinService.java
  60. 22
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridstaffWorkInfoPingyinService.java
  61. 178
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/EventreportPingyinServiceImpl.java
  62. 228
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java
  63. 147
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridstaffInfoPingyinServiceImpl.java
  64. 150
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridstaffWorkInfoPingyinServiceImpl.java
  65. 43
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridDailyworkDao.xml
  66. 47
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/EventreportPingyinDao.xml
  67. 34
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridInfoPingyinDao.xml
  68. 38
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridstaffInfoPingyinDao.xml
  69. 26
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridstaffWorkInfoPingyinDao.xml
  70. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java
  71. 22
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffUploadtFormDTO.java
  72. 58
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridStaffUploadResultDTO.java
  73. 2
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolRoutineWorkResult.java
  74. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  75. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  76. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
  77. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java
  78. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java
  79. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerStaffEntity.java
  80. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
  81. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  82. 19
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

5
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java

@ -3,6 +3,7 @@ package com.epmet.commons.rocketmq.messages;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 组织网格人员中间库数据上报MQ
@ -18,7 +19,11 @@ public class OrgOrStaffMQMsg implements Serializable {
//数据类型【组织:agency 网格:grid 人员:staff】
private String orgType;
//操作类型【组织新增:agency_create 组织变更:agency_change 网格新增:grid_create 网格变更:grid_change 人员新增:staff_create 人员变更:staff_change】
//删除网格:grid_delete;删除组织:agency_delete
private String type;
//工作人员Id集合
private List<String> staffIdList;
}

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -50,6 +50,8 @@ public interface NumConstant {
BigDecimal ZERO_DECIMAL = new BigDecimal(0);
int ONE_THOUSAND = 1000;
int TEN_THOUSAND = 10000;
int THREE_THOUSAND = 3000;
int MAX = 99999999;
int EIGHTY_EIGHT = 88;
int EIGHTY = 80;

37
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/StrUtil.java

@ -0,0 +1,37 @@
package com.epmet.commons.tools.utils;
import org.apache.commons.lang3.StringUtils;
/**
* desc:utf8mb4转为utf8
*
* @author: LiuJanJun
* @date: 2022/7/22 9:45 下午
* @version: 1.0
*/
public class StrUtil {
private static final int LAST_BMP = 0xFFFF;
public static String filterEmoji(String source) {
if (StringUtils.isBlank(source)) {
return source;
}
StringBuilder sb = new StringBuilder(source.length());
for (int i = 0; i < source.length(); i++) {
int codePoint = source.codePointAt(i);
if (codePoint < LAST_BMP) {
sb.appendCodePoint(codePoint);
} else {
i++;
}
}
return sb.toString();
}
public static void main(String[] args) {
String x = StrUtil.filterEmoji("😀😁😆😅🥹🥹😇😗😀😂666");
System.out.println(x);
}
}

7
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/basereport/form/EventInfoFormDTO.java

@ -20,4 +20,11 @@ public class EventInfoFormDTO extends PageFormDTO implements Serializable {
* 操作类型新增:add 修改删除:edit
*/
private String type;
/**
* 是否初始化, 通常用于初期初始化数据由自己控制
* 0不初始化有则更新没有则新增
* 1完全初始化删除全部数据
* 2在完全初始化之后由于eventreport_pingyin表没有客户ID初始化其他客户的数据时候可以设2直接新增
*/
private String initFlag = "0";
}

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/form/GridBaseInfoFormDTO.java

@ -28,7 +28,7 @@ public class GridBaseInfoFormDTO implements Serializable {
* 操作类型新增:add 修改删除:edit 初始化所有数据:all
*/
private String type;
private String delFlag;
public interface Grid extends CustomerClientShowGroup {}
}

10
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerAgencyDTO.java

@ -147,4 +147,14 @@ public class CustomerAgencyDTO implements Serializable {
* 社区
*/
private String community;
/**
* 中心位置经度
*/
private String longitude;
/**
* 中心位置纬度
*/
private String latitude;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/CustomerStaffDTO.java

@ -134,4 +134,9 @@ public class CustomerStaffDTO implements Serializable {
*/
private String roleName;
/**
* 身份证号
*/
private String idCard;
}

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/user/result/GridUserInfoDTO.java

@ -20,6 +20,7 @@ package com.epmet.dto.user.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
@ -78,6 +79,25 @@ public class GridUserInfoDTO implements Serializable {
*/
private String sex;
/**
* 网格员信息编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 身份证号
*/
private String idCard;
/**
* 是否离职格式为YN
*/
private String isLeave;
/**
* 离职时间格式为YYYY-MM-DD
*/
private Date leaveDate;
}

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/DataStatisticalOpenFeignClient.java

@ -36,7 +36,7 @@ import java.util.List;
* @author: jianjun liu
*/
//url="http://localhost:8108"
//@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallback = DataStatisticalOpenFeignClientFallBack.class, url = "http://localhost:6666")
// @FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = DataStatisticalOpenFeignClientFallBackFactory.class, url = "http://localhost:8108")
@FeignClient(name = ServiceConstant.DATA_STATISTICAL_SERVER, fallbackFactory = DataStatisticalOpenFeignClientFallBackFactory.class)
public interface DataStatisticalOpenFeignClient {
@ -341,7 +341,8 @@ public interface DataStatisticalOpenFeignClient {
*/
@PostMapping("/data/stats/datareporting/eventinfo")
Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody EventInfoFormDTO formDTO);
@PostMapping("/data/stats/datareporting/eventinfoV2")
Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody EventInfoFormDTO formDTO);
/**
* wangxianzhang
*

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/feign/impl/DataStatisticalOpenFeignClientFallBack.java

@ -333,6 +333,11 @@ public class DataStatisticalOpenFeignClientFallBack implements DataStatisticalOp
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfo", formDTO);
}
@Override
public Result<List<EventInfoResultDTO>> getEventInfoV2(EventInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "getEventInfoV2", formDTO);
}
@Override
public Result statsVolunteerDemandServicesDaily(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.DATA_STATISTICAL_SERVER, "statsVolunteerDemandServicesDaily", customerId);

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DataReportingController.java

@ -102,5 +102,8 @@ public class DataReportingController {
public Result<List<EventInfoResultDTO>> getEventInfo(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfo(formDTO));
}
@PostMapping("eventinfoV2")
public Result<List<EventInfoResultDTO>> getEventInfoV2(@RequestBody(required = false) EventInfoFormDTO formDTO) {
return new Result<List<EventInfoResultDTO>>().ok(dataReportingService.getEventInfoV2(formDTO));
}
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -72,6 +72,7 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
int updateProjectSatisfactionScore(@Param("projectId")String projectId, @Param("score")BigDecimal score);
List<ScreenProjectDataDTO> selectProjectList(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
List<ScreenProjectDataDTO> selectProjectListV2(@Param("customerId") String customerId, @Param("projectIds") List<String> projectIds);
/**
* @Description 查询网格下的项目分类
@ -132,4 +133,6 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
* @Date 2022/3/16 9:48
*/
void updateHistoryData(CustomerStaffGridDTO dto);
int getProjectCount(@Param("customerId") String customerId,@Param("dateId") String dateId);
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/DataReportingService.java

@ -69,4 +69,13 @@ public interface DataReportingService {
*/
List<EventInfoResultDTO> getEventInfo(EventInfoFormDTO formDTO);
/**
* 事件上报
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java

@ -139,7 +139,7 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
* @Date 2021/10/15 14:22
*/
List<ScreenProjectDataDTO> getProjectList(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize);
/**
* 项目变更MQ
* @Param msg

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java

@ -260,10 +260,12 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
//库中无数据,范围性删除无意义,只是针对在数据库有历史数据的情况下,保证对同一天进行反
//复采集时数不会重复
if(!CollectionUtils.isEmpty(meta)){
int affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId,dateId);
while (affectedRows > NumConstant.ZERO) {
affectedRows = baseDao.deleteByProjectTimeAndCustomerId(customerId, dateId);
}
List<String> projectIds = meta.stream().map(ScreenProjectDataDTO::getProjectId).collect(Collectors.toList());
List<List<String>> projectPartition = ListUtils.partition(projectIds, NumConstant.FIFTY);
projectPartition.forEach(part -> {
baseDao.deleteByProjectIds(customerId, part);
});
List<List<ScreenProjectDataDTO>> partition = ListUtils.partition(meta, NumConstant.ONE_HUNDRED);
partition.forEach(part -> {
List<ScreenProjectDataEntity> list = ConvertUtils.sourceToTarget(part, ScreenProjectDataEntity.class);
@ -309,6 +311,11 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectList(customerId, projectId);
}
@Override
public List<ScreenProjectDataDTO> getProjectListV2(String customerId, List<String> projectId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize, false);
return baseDao.selectProjectListV2(customerId, projectId);
}
/**
* @Description 项目变更MQ

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

@ -100,6 +100,9 @@ public class DataReportingServiceImpl implements DataReportingService {
public List<GridUserInfoDTO> getStaffBaseInfo(StaffBaseInfoFormDTO formDTO) {
//1.查询工作人员所属网格信息
List<GridUserInfoDTO> resultList = customerGridService.getStaffGrid(formDTO);
if (CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>();
}
//2.查询工作人员基础信息
List<CustomerStaffDTO> staffDTOList = userService.getStaffBaseInfo(formDTO);
@ -118,6 +121,13 @@ public class DataReportingServiceImpl implements DataReportingService {
st.setUserType(dto.getWorkType().equals("fulltime") ? "01" : "02");
st.setPhonenumber(dto.getMobile());
st.setSex(0 == dto.getGender() ? "9" : dto.getGender().toString());
st.setUpdateTime(dto.getUpdatedTime());
st.setIdCard(dto.getIdCard());
st.setStaffId(dto.getUserId());
st.setIsLeave("enable".equals(dto.getEnableFlag()) ? "N" : "Y");
if ("Y".equals(st.getIsLeave())) {
st.setLeaveDate(DateUtils.integrate(dto.getUpdatedTime(), DateUtils.DATE_PATTERN));
}
}
});
@ -201,12 +211,72 @@ public class DataReportingServiceImpl implements DataReportingService {
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
/**
* 事件上报
*
* @param formDTO
* @Param formDTO
* @Return {@link List<EventInfoResultDTO>}
* @Author zhaoqifeng
* @Date 2021/10/15 14:10
*/
@Override
public List<EventInfoResultDTO> getEventInfoV2(EventInfoFormDTO formDTO) {
List<EventInfoResultDTO> list;
//根据入参,获取项目
long start = System.currentTimeMillis();
List<ScreenProjectDataDTO> projectList = screenProjectDataService.getProjectListV2(formDTO.getCustomerId(), formDTO.getProjectId(), formDTO.getPageNo(), formDTO.getPageSize());
log.info("事件上报-查询项目列表耗时:{}ms",System.currentTimeMillis()-start);
//项目列表为空,返回空数组
if(CollectionUtils.isEmpty(projectList)) {
return Collections.emptyList();
}
start = System.currentTimeMillis();
Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>();
Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId());
if (StringUtils.isNotBlank(parentCustomer.getData())) {
epmetCodeMap = customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData());
}
Map<String, CustomerProjectCategoryDictEntity> codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());
//项目ID不为空时,因为只有一条,可以直接处理
Map<String, CustomerProjectCategoryDictEntity> finalEpmetCodeMap = epmetCodeMap;
if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) {
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
} else {
//项目ID不为空时,提前取出客户下的组织和网格
Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId());
Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId());
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName());
}
return dto;
}).collect(Collectors.toList());
}
log.info("事件上报-组装数据耗时:{}ms",System.currentTimeMillis()-start);
return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
}
private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap, Map<String, CustomerProjectCategoryDictEntity> codeMap) {
EventInfoResultDTO dto = new EventInfoResultDTO();
dto.setId(project.getProjectId());
dto.setCustomerId(project.getCustomerId());
dto.setEventName(project.getProjectTitle());
dto.setReporterId(project.getProjectCreator());
//获取工作人员姓名和身份证
String categoryCode = project.getCategoryCode().split(StrConstant.COMMA)[0];
String parentCode = null == codeMap.get(categoryCode)?null:codeMap.get(categoryCode).getParentCategoryCode();
//如果是孔村、榆山、锦水的项目需要关联分类字典表
@ -290,6 +360,7 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setCompleteTime(project.getCloseCaseTime());
dto.setLat(project.getLatitude());
dto.setLng(project.getLongitude());
dto.setWaysOfResolving(ProjectConstant.PROJECT_SELF_CLOSED);
return dto;
}
@ -333,4 +404,7 @@ public class DataReportingServiceImpl implements DataReportingService {
return userService.getPatrolDetailList(formDTO);
}
}

80
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -269,6 +269,80 @@
ORDER BY
a.CREATED_TIME ASC
</select>
<select id="selectProjectListV2" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
a.ID,
a.CUSTOMER_ID,
a.ORG_TYPE,
a.ORG_ID,
a.PARENT_ID,
a.ORG_NAME,
a.PROJECT_ID,
a.PROJECT_TITLE,
a.PROJECT_CREATE_TIME,
a.LINK_USER_ID,
a.LINK_NAME,
a.LINK_MOBILE,
a.PROJECT_CONTENT,
a.PROJECT_LEVEL,
a.PROJECT_ADDRESS,
a.ALL_CATEGORY_NAME,
a.LONGITUDE,
a.LATITUDE,
a.SATISFACTION_SCORE,
a.PROJECT_STATUS_CODE,
a.CLOSE_CASE_TIME,
a.DATA_END_TIME,
a.ALL_PARENT_IDS,
a.PROJECT_CREATOR,
a.ORIGIN,
a.CATEGORY_CODE,
b.HANDLER_ID AS finishOrg,
b.HANDLER_TYPE AS finishOrgType,
b.ORG_ID_PATH AS orgIdPath,
c.`LEVEL` AS finishOrgLevel
FROM
screen_project_data a
LEFT JOIN (
SELECT
spp.CUSTOMER_ID,
PROJECT_ID,
HANDLER_ID,
HANDLER_TYPE,
ORG_ID_PATH
FROM
screen_project_process spp
WHERE
(( spp.CUSTOMER_ID = '2fe0065f70ca0e23ce4c26fca5f1d933' OR spp.CUSTOMER_ID = '44876154d10d7cb7affd92000f84f833' OR spp.CUSTOMER_ID = '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'closed_case')
OR
(( spp.CUSTOMER_ID != '2fe0065f70ca0e23ce4c26fca5f1d933' AND spp.CUSTOMER_ID != '44876154d10d7cb7affd92000f84f833' AND spp.CUSTOMER_ID != '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'close')
<if test='null != customerId and "" != customerId'>
AND spp.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
spp.PROJECT_ID = #{projectId}
</foreach>
</if>
) b ON a.PROJECT_ID = b.PROJECT_ID
LEFT JOIN screen_customer_agency c ON b.HANDLER_ID = c.AGENCY_ID
WHERE a.DEL_FLAG = '0'
AND a.ORG_TYPE = 'grid'
AND a.CATEGORY_CODE IS NOT NULL
AND a.CATEGORY_CODE != ''
<if test='null != customerId and "" != customerId'>
AND a.CUSTOMER_ID = #{customerId}
</if>
<if test='null != projectIds and projectIds.size()>0'>
<foreach collection="projectIds" item="projectId" open="AND (" separator=" OR " close=" )">
a.PROJECT_ID = #{projectId}
</foreach>
</if>
ORDER BY
a.CREATED_TIME ASC
</select>
<!-- 查询网格下的项目分类 -->
<select id="selectGridCategoryProjectCount" resultType="com.epmet.dto.screen.result.GridAndOrgCategoryCountResultDTO">
@ -465,4 +539,10 @@
AND ORG_ID = #{agencyId}
AND ORIGIN = 'agency'
</update>
<select id="getProjectCount" resultType="int">
select count(ID)
from screen_project_data
where customer_id = #{customerId}
and DATA_END_TIME = #{dateId}
</select>
</mapper>

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

@ -158,8 +158,13 @@
*
FROM
customer_grid
WHERE del_flag = '0'
AND customer_id = #{customerId}
WHERE customer_id = #{customerId}
<if test="delFlag != null and delFlag !=''">
AND del_flag = #{delFlag}
</if>
and CODE is not null
and CODE !=''
and grid_name not like '%专属网格'
<if test="orgIdList != null and orgIdList.size() > 0">
<foreach collection="orgIdList" item="gridId" open="AND id IN (" separator="," close=")">
#{gridId}
@ -176,7 +181,7 @@
cg.`code` code
FROM
customer_staff_grid csg
INNER JOIN customer_grid cg ON csg.grid_id = cg.id
INNER JOIN customer_grid cg ON csg.grid_id = cg.id AND cg.`CODE` != '' AND cg.`CODE` is not null
WHERE
csg.del_flag = '0'
AND csg.customer_id = #{customerId}

8
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/StatsCustomerAgencyDao.xml

@ -214,8 +214,12 @@
*
FROM
customer_agency
WHERE del_flag = '0'
AND customer_id = #{customerId}
WHERE customer_id = #{customerId}
and CODE is not null
and CODE !=''
<if test="delFlag != null and delFlag !=''">
AND del_flag = #{delFlag}
</if>
<if test="orgIdList != null and orgIdList.size() > 0">
<foreach collection="orgIdList" item="agencyId" open="AND id IN (" separator="," close=")">
#{agencyId}

16
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CustomerGridStaffListFormDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
@Data
public class CustomerGridStaffListFormDTO implements Serializable {
/**
* 客户Id
*/
private String customerId;
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffListResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author sun
* @DESC
*/
@Data
public class CustomerGridStaffListResultDTO implements Serializable {
/**
* 网格Id
*/
private String gridId;
/**
* 网格编码
*/
private String gridCode;
/**
* 网格名
*/
private String gridName;
/**
* 区县系统中的网格员唯一编码
*/
private String gridUserId;
}

6
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -21,7 +21,7 @@ import java.util.Set;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:37
*/
// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092")
//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class, url = "localhost:8092")
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = GovOrgOpenFeignClientFallbackFactory.class)
public interface GovOrgOpenFeignClient {
@ -696,6 +696,10 @@ public interface GovOrgOpenFeignClient {
@PostMapping("/gov/org/coverage/dictinit/{customerId}")
Result dictInit(@PathVariable(value = "customerId") String customerId);
@PostMapping("/gov/org/customerstaffgrid/gridstafflist")
Result<List<CustomerGridStaffListResultDTO>> gridStaff(CustomerGridStaffListFormDTO dto);
/**
* 获取房主名下的房屋
* @Param formDTO

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -464,4 +464,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "notSyncDept", formDTO);
}
@Override
public Result<List<CustomerGridStaffListResultDTO>> gridStaff(CustomerGridStaffListFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridStaffList", dto);
}
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java

@ -201,7 +201,16 @@ public class AgencyController {
public Result removeAgency(@LoginUser TokenDto tokenDTO, @RequestBody RemoveAgencyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
formDTO.setCustomerId(tokenDTO.getCustomerId());
return agencyService.removeAgency(formDTO);
Result result= agencyService.removeAgency(formDTO);
//2021-11-30 推送mq,数据同步到中介库 start
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(tokenDTO.getCustomerId());
mq.setOrgId(formDTO.getAgencyId());
mq.setOrgType("agency");
mq.setType("agency_delete");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
//2021-11-30 end
return result;
}
/**

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

@ -29,10 +29,10 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.CustomerGridStaffListFormDTO;
import com.epmet.dto.form.GridStaffUploadtFormDTO;
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.dto.result.*;
import com.epmet.excel.CustomerStaffGridExcel;
import com.epmet.service.CustomerStaffGridService;
import org.springframework.beans.factory.annotation.Autowired;
@ -156,4 +156,13 @@ public class CustomerStaffGridController {
public Result<List<String>> getAllStaffByGridId(@RequestParam("gridId")String gridId){
return new Result<List<String>>().ok(customerStaffGridService.getAllStaffByGridId(gridId));
}
/**
* @Author sun
* @Description 网格下工作人员列表
**/
@PostMapping("gridstafflist")
public Result<List<CustomerGridStaffListResultDTO>> gridStaffList(@RequestBody CustomerGridStaffListFormDTO formDTO) {
return new Result<List<CustomerGridStaffListResultDTO>>().ok(customerStaffGridService.gridStaffList(formDTO));
}
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -99,7 +99,18 @@ public class GridController {
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_DELETE)
public Result deleteGrid(@LoginUser TokenDto tokenDto, @RequestBody DeleteGridFormDTO deleteGridFormDTO){
deleteGridFormDTO.setCustomerId(tokenDto.getCustomerId());
return customerGridService.deleteGrid(tokenDto,deleteGridFormDTO);
Result result =customerGridService.deleteGrid(tokenDto,deleteGridFormDTO);
//2021-10-18 推送mq,数据同步到中介库 start
if (result.success()) {
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(tokenDto.getCustomerId());
mq.setOrgId(deleteGridFormDTO.getGridId());
mq.setOrgType("grid");
mq.setType("grid_delete");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
}
//2021-10-18 end
return result;
}
/**

2
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.CustomerStaffGridDTO;
import com.epmet.dto.StaffOrgRelationDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridStaffListResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
@ -130,4 +131,5 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
*/
List<String> getAllStaffByGridId(String gridId);
List<CustomerGridStaffListResultDTO> getGridStaffByCustomerId(@Param("customerId") String customerId);
}

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

@ -22,8 +22,10 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.CustomerGridStaffListFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridStaffListResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
@ -142,4 +144,5 @@ public interface CustomerStaffGridService extends BaseService<CustomerStaffGridE
*/
List<String> getAllStaffByGridId(String gridId);
List<CustomerGridStaffListResultDTO> gridStaffList(CustomerGridStaffListFormDTO formDTO);
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
@ -55,6 +56,7 @@ import com.epmet.entity.CustomerStaffGridEntity;
import com.epmet.entity.StaffOrgRelationEntity;
import com.epmet.feign.*;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerGridService;
import com.epmet.util.ModuleConstant;
@ -112,6 +114,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@ -517,10 +521,19 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
validStaffIds.forEach(staffId -> {
CustomerStaffRedis.delStaffInfoFormCache(staffListFormDTO.getCustomerId(), staffId);
});
//22.7.25 网格添加工作人员推送mq 同步工作人员信息到中间库 start
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(staffListFormDTO.getCustomerId());
mq.setStaffIdList(staffListFormDTO.getSelectedList());
mq.setOrgType("staff");
mq.setType("staff_create");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
//22.7.25 网格添加工作人员推送mq 同步工作人员信息到中间库 end
return new Result();
}
}
return new Result().error();
}

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

@ -29,8 +29,10 @@ import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.CustomerGridStaffListFormDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridStaffListResultDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
import com.epmet.entity.CustomerStaffGridEntity;
@ -202,4 +204,11 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
public List<String> getAllStaffByGridId(String gridId) {
return baseDao.getAllStaffByGridId(gridId);
}
@Override
public List<CustomerGridStaffListResultDTO> gridStaffList(CustomerGridStaffListFormDTO formDTO) {
//查询客户下未被禁用的工作人员基本信息
return baseDao.getGridStaffByCustomerId(formDTO.getCustomerId());
}
}

4
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -240,7 +240,9 @@
set
grid_name = #{gridName},
manage_district = #{manageDistrict},
code = #{code},
<if test="code != null and code !=''">
code = #{code},
</if>
grid_type = #{gridType},
contacts = #{contacts},
mobile = #{mobile},

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

@ -196,4 +196,20 @@
WHERE DEL_FLAG = '0'
AND GRID_ID = #{gridId}
</select>
<select id="getGridStaffByCustomerId" resultType="com.epmet.dto.result.CustomerGridStaffListResultDTO">
SELECT
b.id gridId,
b.grid_name gridName,
b. code gridCode,
a.user_id gridUserId
FROM
customer_staff_grid a
INNER JOIN customer_grid b ON a.grid_id = b.id AND b.del_flag = '0' AND a.customer_id = b.customer_id AND b.`code`!= '' AND b.`code` is not null
WHERE
a.del_flag = '0'
AND a.customer_id = #{customerId}
ORDER BY a.grid_id ASC
</select>
</mapper>

8
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/constant/DataWorkerConstant.java

@ -0,0 +1,8 @@
package com.epmet.opendata.dto.constant;
public interface DataWorkerConstant {
String ALL = "all";
String CREATE = "create";
String CHANGE = "change";
String DELETE = "delete";
}

40
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/ExractGridInfoPingYinFormDTO.java

@ -0,0 +1,40 @@
package com.epmet.opendata.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/7/22 14:02
*/
@Data
public class ExractGridInfoPingYinFormDTO implements Serializable {
public interface GridInfo extends CustomerClientShowGroup {
}
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空", groups = {GridInfo.class})
private String customerId = "";
/**
* 网格Id或者组织id
*/
private List<String> orgIdList;
/**
* 废弃这个不对操作类型新增:add 修改删除:edit 初始化所有数据:all
* 操作类型组织新增:agency_create 组织变更:agency_change 网格新增:grid_create 网格变更:grid_change 人员新增:staff_create 人员变更:staff_change
* 删除网格grid_delete删除组织agency_delete
*/
@NotBlank(message = "操作类型【新增:add 修改删除:edit 初始化所有数据:all】不能为空", groups = {GridInfo.class})
private String type;
}

17
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/GridStaffInfoFormDTO.java

@ -0,0 +1,17 @@
package com.epmet.opendata.dto.form;
import lombok.Data;
import java.io.Serializable;
@Data
public class GridStaffInfoFormDTO implements Serializable {
private static final long serialVersionUID = -5277855973512833181L;
/**
* 客户Id
*/
private String customerId;
}

18
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/HistoryDataSyncFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.opendata.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/7/22 13:23
* @DESC
*/
@Data
public class HistoryDataSyncFormDTO implements Serializable {
private static final long serialVersionUID = -58891187838165930L;
private String customerId;
}

3
epmet-module/open-data-worker/open-data-worker-client/src/main/java/com/epmet/opendata/dto/form/UpsertPatrolRecordForm.java

@ -22,8 +22,9 @@ public class UpsertPatrolRecordForm extends PageFormDTO {
/**
* 记录id
* 2022-07-22 注释校验的原因是兼容初始化当不传id时查询全部
*/
@NotEmpty(message = "id不能为空",groups = AddGroup.class)
// @NotEmpty(message = "id不能为空",groups = AddGroup.class)
private String id;
/**

16
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/BaseGridDailyworkController.java

@ -23,6 +23,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.service.BaseGridDailyworkService;
import com.epmet.opendata.service.GridstaffWorkInfoPingyinService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -42,6 +43,8 @@ public class BaseGridDailyworkController {
@Autowired
private BaseGridDailyworkService baseGridDailyworkService;
@Autowired
private GridstaffWorkInfoPingyinService gridstaffWorkInfoPingyinService;
/**
* @Author sun
@ -54,5 +57,18 @@ public class BaseGridDailyworkController {
return new Result();
}
/**
* Desc: 2022-07-22 新表 例行工作同步
* @param formDTO
* @author zxc
* @date 2022/7/22 11:16
*/
@PostMapping("syncV2")
public Result getStaffBaseInfoV2(@RequestBody(required = false) UpsertPatrolRecordForm formDTO) {
ValidatorUtils.validateEntity(formDTO, DefaultGroup.class);
gridstaffWorkInfoPingyinService.insertBaseGridWorkRecordV2(formDTO);
return new Result();
}
}

39
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/EventreportPingyinController.java

@ -0,0 +1,39 @@
package com.epmet.opendata.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.opendata.service.EventreportPingyinService;
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 javax.annotation.Resource;
/**
* 平阴区事件上报中间表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@RestController
@RequestMapping("eventreportPingyin")
public class EventreportPingyinController {
@Resource
private EventreportPingyinService eventreportPingyinService;
/**
* 获取上报事件
* @Param formDTO
* @Return {@link Result}
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
@PostMapping("eventinfo")
public Result getEventinfo(@RequestBody(required = false) EventInfoFormDTO formDTO) {
eventreportPingyinService.getEventInfo(formDTO);
return new Result();
}
}

48
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridInfoPingyinController.java

@ -0,0 +1,48 @@
package com.epmet.opendata.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.opendata.dto.form.ExractGridInfoPingYinFormDTO;
import com.epmet.opendata.service.GridInfoPingyinService;
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;
/**
* 平阴区网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@RestController
@RequestMapping("gridInfoPingyin")
public class GridInfoPingyinController {
@Autowired
private GridInfoPingyinService gridInfoPingyinService;
/**
* @Author yzm
* @Description 组织基础信息中间库同步
**/
@PostMapping("extract-agency")
public Result getAgencyBaseInfo(@RequestBody ExractGridInfoPingYinFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ExractGridInfoPingYinFormDTO.GridInfo.class);
gridInfoPingyinService.exractAgency(formDTO);
return new Result();
}
/**
* @Author yzm
* @Description 网格基础信息中间库同步
**/
@PostMapping("extract-grid")
public Result getGridBaseInfo(@RequestBody ExractGridInfoPingYinFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ExractGridInfoPingYinFormDTO.GridInfo.class);
gridInfoPingyinService.exractGrid(formDTO);
return new Result();
}
}

47
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridstaffInfoPingyinController.java

@ -0,0 +1,47 @@
package com.epmet.opendata.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.form.CustomerGridStaffListFormDTO;
import com.epmet.dto.result.CustomerGridStaffListResultDTO;
import com.epmet.opendata.dto.form.GridStaffInfoFormDTO;
import com.epmet.opendata.service.GridstaffInfoPingyinService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 平阴区网格员基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@RestController
@RequestMapping("gridstaffInfoPingyin")
public class GridstaffInfoPingyinController {
@Autowired
private GridstaffInfoPingyinService gridstaffInfoPingyinService;
/**
* @Author sun
* @Description 网格员基本信息同步
**/
@PostMapping(value = "gridstaffinfo")
public Result gridStaffInfo(@RequestBody GridStaffInfoFormDTO formDTO) {
gridstaffInfoPingyinService.gridStaffInfo(formDTO);
return new Result();
}
}

32
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/controller/GridstaffWorkInfoPingyinController.java

@ -0,0 +1,32 @@
package com.epmet.opendata.controller;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 平阴区网格员例行工作信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@RestController
@RequestMapping("gridstaffWorkInfoPingyin")
public class GridstaffWorkInfoPingyinController {
}

11
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/BaseGridDailyworkDao.java

@ -21,6 +21,9 @@ package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.BaseGridDailyworkEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 巡查例行工作
@ -31,4 +34,12 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BaseGridDailyworkDao extends BaseDao<BaseGridDailyworkEntity> {
/**
* Desc: 每次查询1000
* @param customerId
* @author zxc
* @date 2022/7/22 13:26
*/
List<BaseGridDailyworkEntity> getBaseGridDailyWork(@Param("customerId")String customerId,@Param("size")Integer size);
}

16
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/EventreportPingyinDao.java

@ -0,0 +1,16 @@
package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.EventreportPingyinEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 平阴区事件上报中间表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Mapper
public interface EventreportPingyinDao extends BaseDao<EventreportPingyinEntity> {
void deleteAllData();
}

33
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridInfoPingyinDao.java

@ -0,0 +1,33 @@
package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.GridInfoPingyinEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
* 平阴区网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Mapper
public interface GridInfoPingyinDao extends BaseDao<GridInfoPingyinEntity> {
int deleteAllAgencyData();
int deleteAllGridData();
List<GridInfoPingyinEntity> selectByGridCode(String gridCode);
int updateSomeCol(@Param("gridCode") String gridCode,
@Param("gridName")String gridName,
@Param("gridLevel")String gridLevel,
@Param("lng")BigDecimal lng,
@Param("lat")BigDecimal lat);
int deleteByCode(String gridCode);
}

22
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridstaffInfoPingyinDao.java

@ -0,0 +1,22 @@
package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.GridstaffInfoPingyinEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 平阴区网格员基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Mapper
public interface GridstaffInfoPingyinDao extends BaseDao<GridstaffInfoPingyinEntity> {
void del();
void edit(GridstaffInfoPingyinEntity entity);
GridstaffInfoPingyinEntity selectByCodeAndStaffId(@Param("code") String code, @Param("staffId") String staffId);
}

18
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/dao/GridstaffWorkInfoPingyinDao.java

@ -0,0 +1,18 @@
package com.epmet.opendata.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.opendata.entity.GridstaffWorkInfoPingyinEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 平阴区网格员例行工作信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Mapper
public interface GridstaffWorkInfoPingyinDao extends BaseDao<GridstaffWorkInfoPingyinEntity> {
Integer delAllGridStaffWorkInfoPY();
}

19
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/BaseGridDailyworkEntity.java

@ -17,6 +17,7 @@
package com.epmet.opendata.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -152,4 +153,22 @@ public class BaseGridDailyworkEntity implements Serializable {
*/
private Date updateTime;
@TableField(exist = false)
private String qxBm;
/**
* 上报区县名称
*/
@TableField(exist = false)
private String qxMc;
@TableField(exist = false)
private String workType;
@TableField(exist = false)
private String happenTimeString;
@TableField(exist = false)
private Date recoredInsertTime;
}

178
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/EventreportPingyinEntity.java

@ -0,0 +1,178 @@
package com.epmet.opendata.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 平阴区事件上报中间表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("eventreport_pingyin")
public class EventreportPingyinEntity {
private static final long serialVersionUID = 1L;
/**
* 上报区县代码参照6位行政区划代码
*/
private String qxBm;
/**
* 上报区县名称
*/
private String qxMc;
/**
* 网格编码,参照山东省社会治理网格化智能工作平台数据标准
*/
private String gridCode;
/**
* 网格名称
*/
private String gridName;
/**
* 事件编号可以使用区县系统中的事件唯一识别码
*/
private String eventCode;
/**
* 事件名称
*/
private String eventName;
/**
* 事件类别,参照山东省社会治理网格化智能工作平台数据标准10.19
*/
private String eventCategory;
/**
* 上报网格员姓名
*/
private String gridUserName;
/**
* 上报网格员的身份证号码
*/
private String gridUserCardid;
/**
* 事件上报时间
*/
private Date reportTime;
/**
* 事件发生时间
*/
private Date happenTime;
/**
* 事件发生地点描述
*/
private String happenPlace;
/**
* 事件简述详细一些文字数量不少于10字
*/
private String eventDescription;
/**
* 事件办结方式符合标准10.20
*/
private String waysOfResolving;
/**
* 是否办结填写YNY N
*/
private String successfulOrNo;
/**
* 办结层级符合标准10.21
*/
private String completeLevel;
/**
* 办结时间办结后填写
*/
private Date completeTime;
/**
* 事件发生位置经度wgs84坐标系请勿用火星坐标系不得跑出辖区
*/
private BigDecimal lng;
/**
* 事件发生位置纬度wgs84坐标系请勿用火星坐标系不得跑出辖区
*/
private BigDecimal lat;
/**
* 事件主要当事人姓名
*/
private String name;
/**
* 事件涉及人数
*/
private Integer numberInvolved;
/**
* 事件涉及单位名称
*/
private String relatedUnites;
/**
* 重点场所类别符合标准10.25
*/
private String keyAreaType;
/**
* 宗教活动规模符合标准10.26
*/
private String religionScale;
/**
* 宗教类别符合标准10.27
*/
private String religionType;
/**
* 重点场所是否变动填写YNY N
*/
private String isKeyareaState;
/**
* 重点人员是否在当地填写YNY N
*/
private String isKeypeopleLocate;
/**
* 重点人员现状描述
*/
private String keypeopleStatus;
/**
* 例行工作编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 事件是否删除YN
*/
private String isDel;
/**
* 入库时间自动生成请勿设置
*/
private Date recoredInsertTime;
}

98
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridInfoPingyinEntity.java

@ -0,0 +1,98 @@
package com.epmet.opendata.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 平阴区网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("grid_info_pingyin")
public class GridInfoPingyinEntity {
private static final long serialVersionUID = 1L;
/**
* 上报区县代码参照6位行政区划代码
*/
private String qxBm;
/**
* 上报区县名称
*/
private String qxMc;
/**
* 网格编码参照标准
*/
private String gridCode;
/**
* 网格名称
*/
private String gridName;
/**
* 网格层级应符合10.1组织层级所有层级上报
*/
private String gridLevel;
/**
* 专属网格类型应符合10.28专属网格类型
*/
private String gridType;
/**
* 网格内人口规模如果为农村和城市网格字段必填应符合10.29.网格内人口规模
*/
private String populationSize;
/**
* 是否成立网格党支部或网格党小组YN
*/
private String isPartyBranch;
/**
* 网格党组织类型是否成立党支部或党小组为是此项必填应符合10.37网格党组织类型
*/
private String partyBranchType;
/**
* 网格中心点的经度
*/
private BigDecimal lng;
/**
* 网格中心点纬度
*/
private BigDecimal lat;
/**
* 网格颜色 #000000
*/
private String gridColor;
/**
* 网格信息编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 此网格是否删除YN
*/
private String isDel;
/**
* 入库时间自动生成请勿设置
*/
private Date recoredInsertTime;
}

152
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridstaffInfoPingyinEntity.java

@ -0,0 +1,152 @@
package com.epmet.opendata.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 平阴区网格员基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("gridstaff_info_pingyin")
public class GridstaffInfoPingyinEntity {
private static final long serialVersionUID = 1L;
/**
* 上报区县代码参照6位行政区划代码
*/
private String qxBm;
/**
* 上报区县名称
*/
private String qxMc;
/**
* 区县系统中的网格员唯一编码
*/
private String gridUserId;
/**
* 网格编码
*/
private String gridCode;
/**
* 网格名称
*/
private String gridName;
/**
* 网格员姓名
*/
private String nickName;
/**
* 网格员身份证号码
*/
private String cardNum;
/**
* 网格员类型符合标准10.3
*/
private String userType;
/**
* 网格员手机号
*/
private String phonenumber;
/**
* 网格员性别应符合10.31中性别,不要有 其他
*/
private String sex;
/**
* 网格员民族应符合10.32中民族
*/
private String nation;
/**
* 网格员政治面貌符合GB/T 4762
*/
private String paerty;
/**
* 网格员出生日期
*/
private Date birthday;
/**
* 网格员学历符合GB/T4658博士研究生会进行预警
*/
private String education;
/**
* 入职时间格式为YYYY-MM-DD
*/
private Date entryDate;
/**
* 是否离职格式为YN
*/
private String isLeave;
/**
* 离职时间格式为YYYY-MM-DD
*/
private Date leaveDate;
/**
* 网格员年收入含福利补贴和保险等应符合10.30中的网格员年收入专职低于1w5兼职大于3w会预警
*/
private String income;
/**
* 是否社区两委委员,YN
*/
private String isCommittee;
/**
* 是否社区工作者,YN
*/
private String isCommunityWorkers;
/**
* 是否社会工作者,YN
*/
private String isSocialWorker;
/**
* 是否村民小组长,YN
*/
private String isVillageLeader;
/**
* 是否警务助理,YN
*/
private String isPoliceAssistant;
/**
* 是否人民调解员,YN
*/
private String isMediator;
/**
* 网格员信息编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 入库时间自动生成请勿设置
*/
private Date recoredInsertTime;
}

94
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/entity/GridstaffWorkInfoPingyinEntity.java

@ -0,0 +1,94 @@
package com.epmet.opendata.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 平阴区网格员例行工作信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("gridstaff_work_info_pingyin")
public class GridstaffWorkInfoPingyinEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 上报区县代码参照6位行政区划代码
*/
private String qxBm;
/**
* 上报区县名称
*/
private String qxMc;
/**
* 网格编码
*/
private String gridCode;
/**
* 网格名称
*/
private String gridName;
@TableField(exist = false)
private String gridId;
/**
* 例行工作类型,应符合10.27中的例行工作类型
*/
private String workType;
/**
* 发生日期,格式为YYYY-MM-DD
*/
private Date happenTime;
/**
* 基础信息主键,出租房巡查重点场所巡查刑满释放人员社区矫正吸毒人员信访人员重点青少年和精神障碍者必填
*/
private Integer baseInfoId;
/**
* 有无变动异常,YN
*/
private String workResult;
/**
* 说明
*/
private String workContent;
/**
* 例行工作编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 例行工作是否删除YN
*/
private String isDel;
/**
* 入库时间自动生成请勿设置
*/
private Date recoredInsertTime;
@TableField(exist = false)
private String happenTimeString;
}

34
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java

@ -10,8 +10,8 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.opendata.dto.form.ExDeptFormDTO;
import com.epmet.opendata.service.ExDeptService;
import com.epmet.opendata.dto.form.ExractGridInfoPingYinFormDTO;
import com.epmet.opendata.service.GridInfoPingyinService;
import org.apache.commons.lang.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@ -78,17 +78,33 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent
lock = distributedLock.getLock(String.format("lock:open_data_org:%s", obj.getOrgId()),
30L, 30L, TimeUnit.SECONDS);
ExDeptFormDTO dto = new ExDeptFormDTO();
dto.setCustomerId(obj.getCustomerId());
dto.setType(obj.getType());
// ExDeptFormDTO dto = new ExDeptFormDTO();
// dto.setCustomerId(obj.getCustomerId());
// dto.setType(obj.getType());
// List<String> orgIdList = new ArrayList<>();
// orgIdList.add(obj.getOrgId());
// dto.setOrgIdList(orgIdList);
// if ("agency".equals(obj.getOrgType())) {
// SpringContextUtils.getBean(ExDeptService.class).getAgencyBaseInfo(dto);
// } else {
// SpringContextUtils.getBean(ExDeptService.class).getGridBaseInfo(dto);
// }
// 抽取到grid_info_pingyin
ExractGridInfoPingYinFormDTO extractFormDto = new ExractGridInfoPingYinFormDTO();
extractFormDto.setCustomerId(obj.getCustomerId());
extractFormDto.setType(obj.getType());
List<String> orgIdList = new ArrayList<>();
orgIdList.add(obj.getOrgId());
dto.setOrgIdList(orgIdList);
if(StringUtils.isNotBlank(obj.getOrgId())){
orgIdList.add(obj.getOrgId());
}
extractFormDto.setOrgIdList(orgIdList);
if ("agency".equals(obj.getOrgType())) {
SpringContextUtils.getBean(ExDeptService.class).getAgencyBaseInfo(dto);
SpringContextUtils.getBean(GridInfoPingyinService.class).exractAgency(extractFormDto);
} else {
SpringContextUtils.getBean(ExDeptService.class).getGridBaseInfo(dto);
SpringContextUtils.getBean(GridInfoPingyinService.class).exractGrid(extractFormDto);
}
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-组织信息变更-同步信息到中间库失败:".concat(ExceptionUtils.getErrorStackTrace(e)));

5
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataPatrolChangeEventListener.java

@ -15,7 +15,7 @@ import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.service.BaseGridDailyworkService;
import com.epmet.opendata.service.GridstaffWorkInfoPingyinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
@ -98,7 +98,8 @@ public class OpenDataPatrolChangeEventListener implements MessageListenerConcurr
aBoolean = true;
break;
case SystemMessageType.PATROL_ROUTINE_WORK_ADD:
aBoolean = SpringContextUtils.getBean(BaseGridDailyworkService.class).insertBaseGridWorkRecord(patrolRecordForm);
// aBoolean = SpringContextUtils.getBean(BaseGridDailyworkService.class).insertBaseGridWorkRecord(patrolRecordForm);
aBoolean = SpringContextUtils.getBean(GridstaffWorkInfoPingyinService.class).insertBaseGridWorkRecordV2(patrolRecordForm);
break;
default:
log.error("错误的消息类型:{}", tags);

5
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataProjectChangeEventListener.java

@ -11,7 +11,7 @@ import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.opendata.service.BaseDisputeProcessService;
import com.epmet.opendata.service.EventreportPingyinService;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@ -75,7 +75,8 @@ public class OpenDataProjectChangeEventListener implements MessageListenerConcur
try {
lock = distributedLock.getLock(String.format("lock:open_data_project:%s", obj.getProjectId()),
30L, 30L, TimeUnit.SECONDS);
SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO);
//SpringContextUtils.getBean(BaseDisputeProcessService.class).getEventinfo(formDTO);
SpringContextUtils.getBean(EventreportPingyinService.class).getEventInfo(formDTO);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-项目信息变更-上报项目信息失败:".concat(ExceptionUtils.getErrorStackTrace(e)));

7
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java

@ -12,6 +12,7 @@ import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.SpringContextUtils;
import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO;
import com.epmet.opendata.service.ExUserService;
import com.epmet.opendata.service.GridstaffInfoPingyinService;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
@ -83,10 +84,12 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre
StaffBaseInfoFormDTO dto = new StaffBaseInfoFormDTO();
dto.setCustomerId(obj.getCustomerId());
dto.setType(obj.getType());
List<String> staffIdList = new ArrayList<>();
/*List<String> staffIdList = new ArrayList<>();
staffIdList.add(obj.getOrgId());
dto.setStaffIdList(staffIdList);
SpringContextUtils.getBean(ExUserService.class).getStaffBaseInfo(dto);
SpringContextUtils.getBean(ExUserService.class).getStaffBaseInfo(dto);*/
dto.setStaffIdList(obj.getStaffIdList());
SpringContextUtils.getBean(GridstaffInfoPingyinService.class).getStaffBaseInfo(dto);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试
logger.error("【开放数据事件监听器】-工作人员信息变更-初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e)));

23
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/EventreportPingyinService.java

@ -0,0 +1,23 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.opendata.entity.EventreportPingyinEntity;
/**
* 平阴区事件上报中间表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
public interface EventreportPingyinService extends BaseService<EventreportPingyinEntity> {
/**
* 获取上报事件
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
void getEventInfo(EventInfoFormDTO formDTO);
}

27
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridInfoPingyinService.java

@ -0,0 +1,27 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.opendata.dto.form.ExractGridInfoPingYinFormDTO;
import com.epmet.opendata.entity.GridInfoPingyinEntity;
/**
* 平阴区网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
public interface GridInfoPingyinService extends BaseService<GridInfoPingyinEntity> {
/**
* 抽取customer_agency到grid_info_pingyin表
*
* @param formDTO
*/
void exractAgency(ExractGridInfoPingYinFormDTO formDTO);
/**
* 抽取customer_grid到grid_info_pingyin表
*
* @param formDTO
*/
void exractGrid(ExractGridInfoPingYinFormDTO formDTO);
}

25
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridstaffInfoPingyinService.java

@ -0,0 +1,25 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.opendata.dto.form.GridStaffInfoFormDTO;
import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO;
import com.epmet.opendata.entity.GridstaffInfoPingyinEntity;
import java.util.Map;
/**
* 平阴区网格员基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
public interface GridstaffInfoPingyinService extends BaseService<GridstaffInfoPingyinEntity> {
void gridStaffInfo(GridStaffInfoFormDTO formDTO);
/**
* @Author sun
* @Description 网格员信息中间库同步
**/
void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO);
}

22
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/GridstaffWorkInfoPingyinService.java

@ -0,0 +1,22 @@
package com.epmet.opendata.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.entity.GridstaffWorkInfoPingyinEntity;
/**
* 平阴区网格员例行工作信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
public interface GridstaffWorkInfoPingyinService extends BaseService<GridstaffWorkInfoPingyinEntity> {
/**
* Desc: 2022-07-22 新表 例行工作同步
* @param formDTO
* @author zxc
* @date 2022/7/22 11:16
*/
Boolean insertBaseGridWorkRecordV2(UpsertPatrolRecordForm formDTO);
}

178
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/EventreportPingyinServiceImpl.java

@ -0,0 +1,178 @@
package com.epmet.opendata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.StrUtil;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.dto.basereport.result.EventInfoResultDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.opendata.dao.EventreportPingyinDao;
import com.epmet.opendata.dao.GridstaffInfoPingyinDao;
import com.epmet.opendata.entity.EventreportPingyinEntity;
import com.epmet.opendata.entity.GridstaffInfoPingyinEntity;
import com.epmet.opendata.service.EventreportPingyinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* 平阴区事件上报中间表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Slf4j
@Service
public class EventreportPingyinServiceImpl extends BaseServiceImpl<EventreportPingyinDao, EventreportPingyinEntity> implements EventreportPingyinService {
@Resource
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient;
@Resource
private GridstaffInfoPingyinDao gridstaffInfoPingyinDao;
/**
* 获取上报事件
*
* @param formDTO
* @Param formDTO
* @Return
* @Author zhaoqifeng
* @Date 2021/10/15 16:59
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void getEventInfo(EventInfoFormDTO formDTO) {
formDTO.setPageSize(1000);
long start = System.currentTimeMillis();
if (NumConstant.ONE_STR.equals(formDTO.getInitFlag())) {
//清空表里数据
baseDao.deleteAllData();
}
Result<List<EventInfoResultDTO>> result = dataStatisticalOpenFeignClient.getEventInfoV2(formDTO);
if (!result.success()) {
log.error("getEventinfo cost:{}ms",System.currentTimeMillis()-start);
throw new RenException(result.getInternalMsg());
}
List<EventInfoResultDTO> list = result.getData();
saveEvent(list, formDTO.getInitFlag());
//分批次循环
while (CollectionUtils.isNotEmpty(list) && list.size() == formDTO.getPageSize()) {
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
result = dataStatisticalOpenFeignClient.getEventInfo(formDTO);
list = result.getData();
saveEvent(list, formDTO.getInitFlag());
}
}
private void saveEvent(List<EventInfoResultDTO> list, String initFlag) {
if (CollectionUtils.isEmpty(list)) {
log.warn("no event data to save table base_conflicts_resolve");
return;
}
List<EventreportPingyinEntity> entityList = list.stream().map(item -> {
EventreportPingyinEntity entity = new EventreportPingyinEntity();
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(item.getOrgCode());
entity.setGridName(item.getOrgName());
entity.setEventCode(("py_").concat(item.getId()));
String eventName = StrUtil.filterEmoji(item.getEventName());
entity.setEventName(eventName);
entity.setEventCategory(item.getEventCategory());
entity.setGridUserCardid("");
entity.setGridUserName("");
LambdaQueryWrapper<GridstaffInfoPingyinEntity> staffWrapper = new LambdaQueryWrapper<>();
staffWrapper.eq(GridstaffInfoPingyinEntity::getGridUserId, item.getReporterId());
List<GridstaffInfoPingyinEntity> staffList = gridstaffInfoPingyinDao.selectList(staffWrapper);
if (CollectionUtils.isNotEmpty(staffList)) {
entity.setGridUserCardid(staffList.get(NumConstant.ZERO).getCardNum());
entity.setGridUserName(staffList.get(NumConstant.ZERO).getNickName());
} else {
staffWrapper = new LambdaQueryWrapper<>();
staffWrapper.eq(GridstaffInfoPingyinEntity::getGridCode, item.getOrgCode());
staffList = gridstaffInfoPingyinDao.selectList(staffWrapper);
if (CollectionUtils.isNotEmpty(staffList)) {
for (GridstaffInfoPingyinEntity staff : staffList) {
entity.setGridUserCardid(staff.getCardNum());
entity.setGridUserName(staff.getNickName());
if (StringUtils.isNotBlank(staff.getCardNum())) {
break;
}
}
}
}
entity.setReportTime(item.getReportTime());
entity.setHappenTime(item.getHappenDate());
entity.setHappenPlace(item.getHappenPlace());
String eventDescription = item.getEventDescription();
//如果不为空 长度控制3000以内
if (StringUtils.isNotBlank(eventDescription) && eventDescription.length() > NumConstant.THREE_THOUSAND) {
eventDescription = eventDescription.substring(NumConstant.ZERO, NumConstant.THREE_THOUSAND);
}
eventDescription = StrUtil.filterEmoji(eventDescription);
entity.setEventDescription(eventDescription);
entity.setWaysOfResolving(item.getWaysOfResolving());
//业务不确定
if (("03").equals(item.getStatus())) {
entity.setSuccessfulOrNo("Y");
} else {
entity.setSuccessfulOrNo("N");
}
entity.setCompleteLevel(item.getCompleteLevel());
entity.setCompleteTime(item.getCompleteTime());
entity.setLng(item.getLng());
entity.setLat(item.getLat());
entity.setIsDel("N");
entity.setUpdateTime(new Date());
//业务不包含 一级分类里 如果是03 矛盾纠纷 则涉及人数写2(目前业务不支持 所以应产品需求 填2)
if ("03".equals(item.getParentEventCategory())) {
entity.setNumberInvolved(NumConstant.TWO);
}
return entity;
}).collect(Collectors.toList());
log.info("数据拼装结果" + entityList);
//过滤掉必填字段为空的数据
entityList = entityList.stream().filter(item ->
StringUtils.isNotBlank(item.getGridCode()) && StringUtils.isNotBlank(item.getGridName()) &&
StringUtils.isNotBlank(item.getEventCategory()) && StringUtils.isNotBlank(item.getGridUserName()) &&
StringUtils.isNotBlank(item.getGridUserCardid()) && null != item.getReportTime() &&
null != item.getHappenTime() && StringUtils.isNotBlank(item.getHappenPlace()) &&
StringUtils.isNotBlank(item.getGridUserCardid()) && StringUtils.isNotBlank(item.getEventDescription()) &&
StringUtils.isNotBlank(item.getWaysOfResolving()) && null != item.getLng() && null != item.getLat()
).collect(Collectors.toList());
log.info("数据过滤结果" + entityList.size());
if (NumConstant.ZERO_STR.equals(initFlag)) {
entityList.forEach(entity -> {
LambdaQueryWrapper<EventreportPingyinEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EventreportPingyinEntity::getEventCode, entity.getEventCode());
EventreportPingyinEntity event = baseDao.selectOne(wrapper);
if (null == event) {
baseDao.insert(entity);
} else {
baseDao.update(entity, wrapper);
}
});
} else {
for (EventreportPingyinEntity entity : entityList) {
try {
baseDao.insert(entity);
} catch (Exception e) {
log.error(e.toString());
}
}
}
}
}

228
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridInfoPingyinServiceImpl.java

@ -0,0 +1,228 @@
package com.epmet.opendata.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.IndexCalConstant;
import com.epmet.dto.org.result.CustomerAgencyDTO;
import com.epmet.dto.org.result.CustomerGridDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.opendata.dao.GridInfoPingyinDao;
import com.epmet.opendata.dto.constant.DataWorkerConstant;
import com.epmet.opendata.dto.form.ExractGridInfoPingYinFormDTO;
import com.epmet.opendata.entity.GridInfoPingyinEntity;
import com.epmet.opendata.service.GridInfoPingyinService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 平阴区网格表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Service
public class GridInfoPingyinServiceImpl extends BaseServiceImpl<GridInfoPingyinDao, GridInfoPingyinEntity> implements GridInfoPingyinService {
@Autowired
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient;
/**
* 抽取customer_agency到grid_info_pingyin表
*
* @param formDTO
*/
@Override
public void exractAgency(ExractGridInfoPingYinFormDTO formDTO) {
// 1.查询组织基础信息,customer_agency.code为空的不抽取
com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class);
if (DataWorkerConstant.ALL.equals(formDTO.getType())) {
formDTO1.setDelFlag("0");
} else if (formDTO.getType().contains(DataWorkerConstant.CREATE)) {
formDTO1.setDelFlag(NumConstant.ZERO_STR);
} else if (formDTO.getType().contains(DataWorkerConstant.CHANGE)) {
formDTO1.setDelFlag(NumConstant.ZERO_STR);
} else if (formDTO.getType().contains(DataWorkerConstant.DELETE)) {
formDTO1.setDelFlag(NumConstant.ONE_STR);
}
Result<List<CustomerAgencyDTO>> result = dataStatisticalOpenFeignClient.getAgencyBaseInfo(formDTO1);
if (!result.success()) {
throw new RenException(result.getInternalMsg());
}
if (null == result.getData() || result.getData().size() < NumConstant.ONE) {
return;
}
// 2.封装数据
List<GridInfoPingyinEntity> gridInfoList = new ArrayList<>();
result.getData().forEach(ag -> {
GridInfoPingyinEntity entity = new GridInfoPingyinEntity();
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(ag.getCode());
entity.setGridName(ag.getOrganizationName());
entity.setIsDel("N");
if (Constant.DISTRICT.equals(ag.getLevel())) {
entity.setGridLevel("03");
} else if (Constant.STREET.equals(ag.getLevel())) {
entity.setGridLevel("04");
} else if (Constant.COMMUNITY.equals(ag.getLevel())) {
entity.setGridLevel("06");
}
entity.setLat(new BigDecimal(ag.getLatitude()));
entity.setLng(new BigDecimal(ag.getLongitude()));
gridInfoList.add(entity);
});
// 3、初始化传all;新增或者编辑
if (DataWorkerConstant.ALL.equals(formDTO.getType())) {
// 全删,全增
baseDao.deleteAllAgencyData();
// 一次100
List<List<GridInfoPingyinEntity>> partition = ListUtils.partition(gridInfoList, IndexCalConstant.INSERT_SIZE);
partition.forEach(list -> {
this.insertBatch(list);
});
} else if (formDTO.getType().contains(DataWorkerConstant.CREATE)) {
// 单独新增组织
this.insertBatch(gridInfoList);
} else if (formDTO.getType().contains(DataWorkerConstant.CHANGE)) {
// 修改组织时,先根据code查询,如果有数据,更新
for (GridInfoPingyinEntity entity : gridInfoList) {
List<GridInfoPingyinEntity> orginList = baseDao.selectByGridCode(entity.getGridCode());
if (CollectionUtils.isNotEmpty(orginList)) {
// 更新网格名称、网格层级、网格中心点的经度,网格中心点纬度
for (GridInfoPingyinEntity oigin : orginList) {
baseDao.updateSomeCol(oigin.getGridCode(), entity.getGridName(), entity.getGridLevel(), entity.getLng(), entity.getLat());
}
} else {
// 插入
baseDao.insert(entity);
}
}
}else if(formDTO.getType().contains(DataWorkerConstant.DELETE)){
// 要删除的组织id
for (GridInfoPingyinEntity entity : gridInfoList) {
List<GridInfoPingyinEntity> orginList = baseDao.selectByGridCode(entity.getGridCode());
if (CollectionUtils.isNotEmpty(orginList)) {
for (GridInfoPingyinEntity oigin : orginList) {
baseDao.deleteByCode(oigin.getGridCode());
}
}
}
}
}
/**
* 抽取customer_grid到grid_info_pingyin表
*
* @param formDTO
*/
@Override
public void exractGrid(ExractGridInfoPingYinFormDTO formDTO) {
// 1.查询网格基础信息
com.epmet.dto.org.form.GridBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.org.form.GridBaseInfoFormDTO.class);
if (StringUtils.isBlank(formDTO.getType())||DataWorkerConstant.ALL.equals(formDTO.getType())) {
formDTO1.setDelFlag("0");
} else if (formDTO.getType().contains(DataWorkerConstant.CREATE)) {
formDTO1.setDelFlag(NumConstant.ZERO_STR);
} else if (formDTO.getType().contains(DataWorkerConstant.CHANGE)) {
formDTO1.setDelFlag(NumConstant.ZERO_STR);
} else if (formDTO.getType().contains(DataWorkerConstant.DELETE)) {
formDTO1.setDelFlag(NumConstant.ONE_STR);
}
Result<List<CustomerGridDTO>> result = dataStatisticalOpenFeignClient.getGridBaseInfo(formDTO1);
if (!result.success()) {
throw new RenException(result.getInternalMsg());
}
if (null == result.getData() || result.getData().size() < NumConstant.ONE) {
return;
}
// 2.封装数据
List<GridInfoPingyinEntity> gridInfoList = new ArrayList<>();
result.getData().forEach(ag -> {
GridInfoPingyinEntity entity = new GridInfoPingyinEntity();
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(ag.getCode());
entity.setGridName(ag.getGridName());
entity.setGridLevel("07");
entity.setIsDel("N");
entity.setUpdateTime(new Date());
if (ag.getLatitude().length() > 10) {
entity.setLat(new BigDecimal(ag.getLatitude().substring(0, 10)));
} else {
entity.setLat(new BigDecimal(ag.getLatitude()));
}
if (ag.getLongitude().length() > 10) {
entity.setLng(new BigDecimal(ag.getLongitude().substring(0, 10)));
} else {
entity.setLng(new BigDecimal(ag.getLongitude()));
}
gridInfoList.add(entity);
});
// 3、初始化传all;新增或者编辑
if (DataWorkerConstant.ALL.equals(formDTO.getType())) {
// 全删,全增
baseDao.deleteAllGridData();
// 一次100
List<List<GridInfoPingyinEntity>> partition = ListUtils.partition(gridInfoList, IndexCalConstant.INSERT_SIZE);
partition.forEach(list -> {
this.insertBatch(list);
});
} else if (formDTO.getType().contains(DataWorkerConstant.CREATE)) {
// 单独新增组织
this.insertBatch(gridInfoList);
} else if (formDTO.getType().contains(DataWorkerConstant.CHANGE)) {
// 修改组织时,先根据code查询,如果有数据,更新
for (GridInfoPingyinEntity entity : gridInfoList) {
List<GridInfoPingyinEntity> orginList = baseDao.selectByGridCode(entity.getGridCode());
if (CollectionUtils.isNotEmpty(orginList)) {
// 更新网格名称、网格层级、网格中心点的经度,网格中心点纬度
for (GridInfoPingyinEntity oigin : orginList) {
baseDao.updateSomeCol(oigin.getGridCode(), entity.getGridName(), entity.getGridLevel(), entity.getLng(), entity.getLat());
}
} else {
// 插入
baseDao.insert(entity);
}
}
}else if(formDTO.getType().contains(DataWorkerConstant.DELETE)){
// 要删除的网格id
for (GridInfoPingyinEntity entity : gridInfoList) {
List<GridInfoPingyinEntity> orginList = baseDao.selectByGridCode(entity.getGridCode());
if (CollectionUtils.isNotEmpty(orginList)) {
for (GridInfoPingyinEntity oigin : orginList) {
baseDao.deleteByCode(oigin.getGridCode());
}
}
}
}
}
}

147
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridstaffInfoPingyinServiceImpl.java

@ -0,0 +1,147 @@
package com.epmet.opendata.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CustomerGridStaffListFormDTO;
import com.epmet.dto.form.GridStaffUploadtFormDTO;
import com.epmet.dto.result.CustomerGridStaffListResultDTO;
import com.epmet.dto.result.GridStaffUploadResultDTO;
import com.epmet.dto.user.result.GridUserInfoDTO;
import com.epmet.feign.DataStatisticalOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.opendata.dao.GridstaffInfoPingyinDao;
import com.epmet.opendata.dto.form.GridStaffInfoFormDTO;
import com.epmet.opendata.dto.form.StaffBaseInfoFormDTO;
import com.epmet.opendata.entity.GridstaffInfoPingyinEntity;
import com.epmet.opendata.service.GridstaffInfoPingyinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 平阴区网格员基础信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Service
@Slf4j
public class GridstaffInfoPingyinServiceImpl extends BaseServiceImpl<GridstaffInfoPingyinDao, GridstaffInfoPingyinEntity> implements GridstaffInfoPingyinService {
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private DataStatisticalOpenFeignClient dataStatisticalOpenFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
public void gridStaffInfo(GridStaffInfoFormDTO formDTO) {
//1.查询客户网格下工作人员【存在网格code的网格下的工作人员】
CustomerGridStaffListFormDTO org = new CustomerGridStaffListFormDTO();
org.setCustomerId(formDTO.getCustomerId());
Result<List<CustomerGridStaffListResultDTO>> orgList = govOrgOpenFeignClient.gridStaff(org);
if (!orgList.success()) {
throw new RenException("查询客户网格下工作人员列表信息失败:".concat(orgList.toString()));
}
log.info(String.format("网格员数据同步,查询到网格下工作人员记录共%s条", orgList.getData().size()));
//2.查询客户工作人员基础信息【客户下未被禁用的有效工作人员信息】
GridStaffUploadtFormDTO user = new GridStaffUploadtFormDTO();
user.setCustomerId(formDTO.getCustomerId());
Result<List<GridStaffUploadResultDTO>> userList = epmetUserOpenFeignClient.customerStaff(user);
if (!userList.success()) {
throw new RenException("查询客户下工作人员基础信息失败:".concat(userList.toString()));
}
log.info(String.format("网格员数据同步,查询到客户下工作人员基础信息记录共%s条", userList.getData().size()));
Map<String, GridStaffUploadResultDTO> map = userList.getData().stream().collect(Collectors.toMap(GridStaffUploadResultDTO::getGridUserId, m -> m, (k1, k2) -> k1));
//3.拼装数据
List<GridstaffInfoPingyinEntity> entityList = new ArrayList();
if (!CollectionUtils.isEmpty(orgList.getData()) && !CollectionUtils.isEmpty(userList.getData())) {
for (CustomerGridStaffListResultDTO gs : orgList.getData()) {
if (map.containsKey(gs.getGridUserId())) {
GridStaffUploadResultDTO us = map.get(gs.getGridUserId());
GridstaffInfoPingyinEntity entity = ConvertUtils.sourceToTarget(us, GridstaffInfoPingyinEntity.class);
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(gs.getGridCode());
entity.setGridName(gs.getGridName());
entity.setSex("0".equals(us.getSex()) ? "9" : us.getSex());
if ("Y".equals(entity.getIsLeave())) {
entity.setLeaveDate(us.getDate());
}
entityList.add(entity);
}
}
}
//4.删除表中历史数据
baseDao.del();
//5.批量新增数据
log.info(String.format("网格员数据同步,本次共同步%s条记录", entityList.size()));
insertBatch(entityList);
}
/**
* @Author sun
* @Description 网格员信息中间库同步
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void getStaffBaseInfo(StaffBaseInfoFormDTO formDTO) {
log.info("网格工作人员信息同步,入参对象值: " + JSON.toJSONString(formDTO, true));
//1.查询工作人员网格信息和基础信息
com.epmet.dto.user.form.StaffBaseInfoFormDTO formDTO1 = ConvertUtils.sourceToTarget(formDTO, com.epmet.dto.user.form.StaffBaseInfoFormDTO.class);
Result<List<GridUserInfoDTO>> result = dataStatisticalOpenFeignClient.getStaffBaseInfo(formDTO1);
if (!result.success()) {
throw new RenException(result.getInternalMsg());
}
if (CollectionUtils.isEmpty(result.getData())) {
return;
}
//2.中间库新增/修改数据【基本一个人一条数据,程序按批量处理】
result.getData().forEach(r -> {
GridstaffInfoPingyinEntity entity = ConvertUtils.sourceToTarget(r, GridstaffInfoPingyinEntity.class);
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setGridCode(r.getCode());
entity.setGridName(r.getGridName());
entity.setIsLeave(r.getIsLeave());
entity.setLeaveDate(r.getLeaveDate());
entity.setGridUserId(r.getStaffId());
entity.setCardNum(r.getIdCard());
//按网格查询人员是否存在,存在更新否则新增
GridstaffInfoPingyinEntity gs = baseDao.selectByCodeAndStaffId(r.getCode(), r.getStaffId());
log.info(String.format("网格工作人员信息同步,当前操作人员信息,姓名:%s staffId:%s", entity.getNickName(), entity.getGridUserId()));
if (null != gs) {
entity.setUpdateTime(new Date());
baseDao.edit(entity);
} else {
insert(entity);
}
});
}
}

150
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/service/impl/GridstaffWorkInfoPingyinServiceImpl.java

@ -0,0 +1,150 @@
package com.epmet.opendata.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.StrUtil;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.dto.form.patrol.PatrolQueryFormDTO;
import com.epmet.dto.result.PatrolRoutineWorkResult;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.opendata.dao.GridstaffWorkInfoPingyinDao;
import com.epmet.opendata.dto.form.UpsertPatrolRecordForm;
import com.epmet.opendata.entity.GridstaffWorkInfoPingyinEntity;
import com.epmet.opendata.service.GridstaffWorkInfoPingyinService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 平阴区网格员例行工作信息
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-07-22
*/
@Slf4j
@Service
public class GridstaffWorkInfoPingyinServiceImpl extends BaseServiceImpl<GridstaffWorkInfoPingyinDao, GridstaffWorkInfoPingyinEntity> implements GridstaffWorkInfoPingyinService {
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public Boolean insertBaseGridWorkRecordV2(UpsertPatrolRecordForm patrolRecordForm) {
log.info("insertBaseGridWorkRecordV2 param:{}", JSON.toJSONString(patrolRecordForm));
ValidatorUtils.validateEntity(patrolRecordForm, AddGroup.class);
// 构建传参
PatrolQueryFormDTO midPatrolFormDTO = buildParam(patrolRecordForm);
if (StringUtils.isBlank(patrolRecordForm.getId())) {
Integer row;
do {
row = baseDao.delAllGridStaffWorkInfoPY();
} while (row == NumConstant.ONE_THOUSAND);
}
List<PatrolRoutineWorkResult> data;
do {
Result<List<PatrolRoutineWorkResult>> record = epmetUserOpenFeignClient.getPatrolRoutineWorkListV2(midPatrolFormDTO);
if (record == null || !record.success()) {
log.error("获取例行工作记录V2失败,param:{}", JSON.toJSONString(midPatrolFormDTO));
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode());
}
data = record.getData();
if (CollectionUtils.isEmpty(data)) {
//数据已被删除了
//暂时设置error 用于排错
log.error("获取例行工作记录返回为空,param:{}", JSON.toJSONString(midPatrolFormDTO));
int effectRow = baseDao.deleteById(patrolRecordForm.getId());
log.warn("del effectRow:{}", effectRow);
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode());
}
data.forEach(d -> {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(d.getGridId());
if (null == gridInfo) {
log.warn("未查询到网格信息:" + d.getGridId());
return;
}
String s = StrUtil.filterEmoji(d.getWorkContent());
d.setWorkContent(s);
d.setGridCode(gridInfo.getCode());
d.setGridName(gridInfo.getGridName());
});
insertNewRecordBatch(data);
midPatrolFormDTO.setPageNo(midPatrolFormDTO.getPageNo() + 1);
} while (data.size() == NumConstant.ONE_THOUSAND);
return true;
}
/**
* Desc: 数据存入
*
* @param newEntities
* @author zxc
* @date 2022/7/22 14:17
*/
@Transactional(rollbackFor = Exception.class)
public void insertGridStaffWorkInfoPY(List<GridstaffWorkInfoPingyinEntity> newEntities) {
if (!CollectionUtils.isEmpty(newEntities)) {
List<List<GridstaffWorkInfoPingyinEntity>> partition = ListUtils.partition(newEntities, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
this.insertBatch(p);
});
}
}
private Boolean insertNewRecordBatch(List<PatrolRoutineWorkResult> list) {
List<GridstaffWorkInfoPingyinEntity> insertList = new ArrayList<>();
list.forEach(o -> {
if (StringUtils.isBlank(o.getGridCode())) {
return;
}
insertList.add(buildNewEntity(o));
});
//insert
if (CollectionUtils.isEmpty(insertList)) {
log.error("新构建要插入的数据为空,param:{}", JSON.toJSONString(list));
return false;
}
insertGridStaffWorkInfoPY(insertList);
return true;
}
private GridstaffWorkInfoPingyinEntity buildNewEntity(PatrolRoutineWorkResult record) {
GridstaffWorkInfoPingyinEntity entity = ConvertUtils.sourceToTarget(record, GridstaffWorkInfoPingyinEntity.class);
entity.setQxBm("370124");
entity.setQxMc("平阴县");
entity.setHappenTime(DateUtils.parseDate(record.getHappenTime().concat(" 00:00:00"), DateUtils.DATE_PATTERN));
entity.setWorkResult(NumConstant.ONE == record.getIsNormal() ? "Y" : "N");
entity.setWorkType(record.getWorkTypeSecondCode());
entity.setRecoredInsertTime(record.getCreatedTime());
entity.setUpdateTime(record.getUpdatedTime());
entity.setId(null);
entity.setIsDel("N");
return entity;
}
@NotNull
private PatrolQueryFormDTO buildParam(UpsertPatrolRecordForm patrolRecordForm) {
PatrolQueryFormDTO midPatrolFormDTO = new PatrolQueryFormDTO();
midPatrolFormDTO.setCustomerId(patrolRecordForm.getCustomerId());
midPatrolFormDTO.setId(StringUtils.isBlank(patrolRecordForm.getId()) ? "" : patrolRecordForm.getId());
midPatrolFormDTO.setPageNo(patrolRecordForm.getPageNo());
midPatrolFormDTO.setPageSize(NumConstant.ONE_THOUSAND);
return midPatrolFormDTO;
}
}

43
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/BaseGridDailyworkDao.xml

@ -3,33 +3,22 @@
<mapper namespace="com.epmet.opendata.dao.BaseGridDailyworkDao">
<resultMap type="com.epmet.opendata.entity.BaseGridDailyworkEntity" id="patrolRoutineWorkMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="gridName" column="GRID_NAME"/>
<result property="firstWorkType" column="FIRST_WORK_TYPE"/>
<result property="secondWorkType" column="SECOND_WORK_TYPE"/>
<result property="eventName" column="EVENT_NAME"/>
<result property="happenTime" column="HAPPEN_TIME"/>
<result property="workResult" column="WORK_RESULT"/>
<result property="workContent" column="WORK_CONTENT"/>
<result property="keyAreaType" column="KEY_AREA_TYPE"/>
<result property="regionScale" column="REGION_SCALE"/>
<result property="isKeyareaState" column="IS_KEYAREA_STATE"/>
<result property="isKeypeopleLocate" column="IS_KEY_PEOPLE_LOCATE"/>
<result property="keypeopleStatus" column="KEY_PEOPLE_STATUS"/>
<result property="happenPlace" column="HAPPEN_PLACE"/>
<result property="lng" column="LNG"/>
<result property="lat" column="LAT"/>
<result property="flag" column="FLAG"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>
<select id="getBaseGridDailyWork" resultType="com.epmet.opendata.entity.BaseGridDailyworkEntity">
SELECT '370124' AS qxBm,
'平阴县' AS qxMc,
w.SECOND_WORK_TYPE AS workType,
w.GRID_ID,
w.GRID_NAME,
concat(w.HAPPEN_TIME,' 00:00:00') as happenTimeString,
w.WORK_RESULT,
w.WORK_CONTENT,
w.update_time,
w.create_time as recoredInsertTime
FROM base_grid_dailywork w
WHERE w.CUSTOMER_ID = #{customerId}
ORDER BY w.CREATE_TIME ASC
LIMIT #{size},1000
</select>
</mapper>

47
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/EventreportPingyinDao.xml

@ -0,0 +1,47 @@
<?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.opendata.dao.EventreportPingyinDao">
<resultMap type="com.epmet.opendata.entity.EventreportPingyinEntity" id="eventreportPingyinMap">
<result property="id" column="id"/>
<result property="qxBm" column="qx_bm"/>
<result property="qxMc" column="qx_mc"/>
<result property="gridCode" column="grid_code"/>
<result property="gridName" column="grid_name"/>
<result property="eventCode" column="event_code"/>
<result property="eventName" column="event_name"/>
<result property="eventCategory" column="event_category"/>
<result property="gridUserName" column="grid_user_name"/>
<result property="gridUserCardid" column="grid_user_cardid"/>
<result property="reportTime" column="report_time"/>
<result property="happenTime" column="happen_time"/>
<result property="happenPlace" column="happen_place"/>
<result property="eventDescription" column="event_description"/>
<result property="waysOfResolving" column="ways_of_resolving"/>
<result property="successfulOrNo" column="successful_or_no"/>
<result property="completeLevel" column="complete_level"/>
<result property="completeTime" column="complete_time"/>
<result property="lng" column="lng"/>
<result property="lat" column="lat"/>
<result property="name" column="name"/>
<result property="numberInvolved" column="number_involved"/>
<result property="relatedUnites" column="related_unites"/>
<result property="lessorName" column="lessor_name"/>
<result property="rentingResult" column="renting_result"/>
<result property="keyAreaType" column="key_area_type"/>
<result property="religionScale" column="religion_scale"/>
<result property="religionType" column="religion_type"/>
<result property="isKeyareaState" column="is_keyarea_state"/>
<result property="isKeypeopleLocate" column="is_keypeople_locate"/>
<result property="keypeopleStatus" column="keypeople_status"/>
<result property="updateTime" column="update_time"/>
<result property="isDel" column="is_del"/>
<result property="recoredInsertTime" column="recored_insert_time"/>
</resultMap>
<delete id="deleteAllData">
DELETE FROM eventreport_pingyin
</delete>
</mapper>

34
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridInfoPingyinDao.xml

@ -0,0 +1,34 @@
<?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.opendata.dao.GridInfoPingyinDao">
<delete id="deleteAllAgencyData">
delete from grid_info_pingyin where grid_level !='07'
</delete>
<delete id="deleteAllGridData">
delete from grid_info_pingyin where grid_level ='07'
</delete>
<select id="selectByGridCode" parameterType="java.lang.String" resultType="com.epmet.opendata.entity.GridInfoPingyinEntity">
select g.* from grid_info_pingyin g
where g.grid_code = #{gridCode} and is_del = 'N'
</select>
<update id="updateSomeCol" parameterType="map">
update grid_info_pingyin
set grid_name = #{gridName},
grid_level = #{gridLevel},
lng = #{lng},
lat = #{lat},
update_time = now()
where grid_code = #{gridCode} and is_del = 'N'
</update>
<update id="deleteByCode">
update grid_info_pingyin set is_del = 'Y',update_time = now()
where grid_code = #{gridCode}
</update>
</mapper>

38
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridstaffInfoPingyinDao.xml

@ -0,0 +1,38 @@
<?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.opendata.dao.GridstaffInfoPingyinDao">
<update id="edit">
UPDATE gridstaff_info_pingyin
SET grid_name = #{gridName},
nick_name = #{nickName},
card_num = #{cardNum},
phonenumber = #{phonenumber},
sex = #{sex}
WHERE
grid_user_id = #{gridUserId}
AND grid_code = #{gridCode}
</update>
<delete id="del">
delete from gridstaff_info_pingyin
</delete>
<select id="selectByCodeAndStaffId" resultType="com.epmet.opendata.entity.GridstaffInfoPingyinEntity">
SELECT
grid_user_id,
grid_code,
grid_name,
nick_name,
card_num,
phonenumber
FROM
gridstaff_info_pingyin
WHERE
grid_user_id = #{staffId}
AND grid_code = #{code}
LIMIT 1
</select>
</mapper>

26
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/GridstaffWorkInfoPingyinDao.xml

@ -0,0 +1,26 @@
<?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.opendata.dao.GridstaffWorkInfoPingyinDao">
<resultMap type="com.epmet.opendata.entity.GridstaffWorkInfoPingyinEntity" id="gridstaffWorkInfoPingyinMap">
<result property="id" column="id"/>
<result property="qxBm" column="qx_bm"/>
<result property="qxMc" column="qx_mc"/>
<result property="gridCode" column="GRID_CODE"/>
<result property="gridName" column="GRID_NAME"/>
<result property="workType" column="WORK_TYPE"/>
<result property="happenTime" column="HAPPEN_TIME"/>
<result property="baseInfoId" column="BASE_INFO_ID"/>
<result property="workResult" column="WORK_RESULT"/>
<result property="workContent" column="WORK_CONTENT"/>
<result property="updateTime" column="update_time"/>
<result property="isDel" column="is_del"/>
<result property="recoredInsertTime" column="recored_insert_time"/>
</resultMap>
<delete id="delAllGridStaffWorkInfoPY">
delete from gridstaff_work_info_pingyin LIMIT 1000
</delete>
</mapper>

6
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/CustomerStaffDTO.java

@ -138,4 +138,10 @@ public class CustomerStaffDTO implements Serializable {
* 登录密码
*/
private String password;
/**
* 身份证号
*/
private String idCard;
}

22
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffUploadtFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.dto.form;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @description: 网格工作人员数据上报-查询客户网格下有效工作人员信息数据
* @author: sun
*/
@NoArgsConstructor
@Data
public class GridStaffUploadtFormDTO {
/**
* 客户Id
*/
private String customerId;
}

58
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/GridStaffUploadResultDTO.java

@ -0,0 +1,58 @@
package com.epmet.dto.result;
import lombok.Data;
import java.util.Date;
/**
* @description: 网格工作人员数据上报-查询客户网格下有效工作人员信息数据
* @author: sun
*/
@Data
public class GridStaffUploadResultDTO {
/**
* 区县系统中的网格员唯一编码
*/
private String gridUserId;
/**
* 网格员姓名
*/
private String nickName;
/**
* 网格员身份证号码
*/
private String cardNum;
/**
* 网格员手机号
*/
private String phonenumber;
/**
* 网格员性别应符合10.31中性别,不要有 其他
*/
private String sex;
/**
* 网格员类型符合标准10.3
*/
private String userType;
/**
* 网格员信息编辑插入更新时间,县市区填写
*/
private Date updateTime;
/**
* 是否离职格式为YN
*/
private String isLeave;
/**
* 离职时间格式为YYYY-MM-DD
*/
private Date date;
}

2
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PatrolRoutineWorkResult.java

@ -22,6 +22,8 @@ public class PatrolRoutineWorkResult implements Serializable {
private String customerId;
private String gridId;
private String gridCode;
private String gridName;
private String title;

6
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -689,6 +689,9 @@ public interface EpmetUserOpenFeignClient {
@PostMapping(value = "/epmetuser/patrolroutinework/selectList")
Result<List<PatrolRoutineWorkResult>> getPatrolRoutineWorkList(@RequestBody PatrolQueryFormDTO patrolQueryFormDTO);
@PostMapping(value = "/epmetuser/patrolroutinework/selectListV2")
Result<List<PatrolRoutineWorkResult>> getPatrolRoutineWorkListV2(@RequestBody PatrolQueryFormDTO patrolQueryFormDTO);
/**
* 获取ic_resi_user
* @param icResiUserId
@ -865,4 +868,7 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/customerstaff/edittostaff")
Result editToStaff(@RequestBody CustomerStaffDTO formDTO);
@PostMapping("/epmetuser/customerstaff/customerstaff")
Result<List<GridStaffUploadResultDTO>> customerStaff(@RequestBody GridStaffUploadtFormDTO formDTO);
}

10
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -510,6 +510,11 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getPatrolRoutineWorkList", patrolQueryFormDTO);
}
@Override
public Result<List<PatrolRoutineWorkResult>> getPatrolRoutineWorkListV2(PatrolQueryFormDTO patrolQueryFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getPatrolRoutineWorkListV2", patrolQueryFormDTO);
}
@Override
public Result<IcResiUserDTO> getIcResiUserDTO(String icResiUserId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcResiUserDTO", icResiUserId);
@ -661,4 +666,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "editToStaff", formDTO);
}
@Override
public Result<List<GridStaffUploadResultDTO>> customerStaff(GridStaffUploadtFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "customerStaff", formDTO);
}
}

18
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java

@ -43,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -221,7 +222,9 @@ public class CustomerStaffController {
if (result.success()) {
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(fromDTO.getCustomerId());
mq.setOrgId(result.getData().getUserId());
List<String> st = new ArrayList<>();
st.add(result.getData().getUserId());
mq.setStaffIdList(st);
mq.setOrgType("staff");
mq.setType("staff_create");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
@ -245,7 +248,9 @@ public class CustomerStaffController {
if (result.success()) {
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(fromDTO.getCustomerId());
mq.setOrgId(fromDTO.getStaffId());
List<String> st = new ArrayList<>();
st.add(fromDTO.getStaffId());
mq.setStaffIdList(st);
mq.setOrgType("staff");
mq.setType("staff_change");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
@ -510,5 +515,14 @@ public class CustomerStaffController {
return new Result();
}
/**
* @Author sun
* @Description 网格工作人员数据上报-查询客户网格下有效工作人员信息数据
**/
@PostMapping(value = "customerstaff")
public Result<List<GridStaffUploadResultDTO>> customerStaff(@RequestBody GridStaffUploadtFormDTO formDTO) {
return new Result<List<GridStaffUploadResultDTO>>().ok(customerStaffService.customerStaff(formDTO));
}
}

7
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/PatrolRoutineWorkController.java

@ -47,6 +47,13 @@ public class PatrolRoutineWorkController {
Page<PatrolRoutineWorkResult> data = gridUserWorkService.listPage(formDTO);
return new Result().ok(data.getResult());
}
@NoRepeatSubmit
@PostMapping("selectListV2")
public Result<List<PatrolRoutineWorkResult>> gridUserWorkV2(@RequestBody PatrolQueryFormDTO formDTO){
Page<PatrolRoutineWorkResult> data = gridUserWorkService.listPage(formDTO);
return new Result().ok(data.getResult());
}
/**
* @Description 添加例行工作
* @param formDTO

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

@ -230,5 +230,7 @@ public interface CustomerStaffDao extends BaseDao<CustomerStaffEntity> {
**/
List<GridMobileListResultDTO> gridStaffMobileList(List<String> staffIdList);
List<GridStaffUploadResultDTO> getStaffByCustomerId(@Param("customerId") String customerId);
void edit(CustomerStaffDTO formDTO);
}

5
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/CustomerStaffEntity.java

@ -101,4 +101,9 @@ public class CustomerStaffEntity extends BaseEpmetEntity {
* 登录密码
*/
private String password;
/**
* 身份证号
*/
private String idCard;
}

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java

@ -353,4 +353,6 @@ public interface CustomerStaffService extends BaseService<CustomerStaffEntity> {
Result<CustomerStaffDTO> deptToAddStaff(StaffSubmitFromDTO fromDTO);
void editToStaff(CustomerStaffDTO formDTO);
List<GridStaffUploadResultDTO> customerStaff(GridStaffUploadtFormDTO formDTO);
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -915,4 +915,10 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
baseDao.edit(formDTO);
}
@Override
public List<GridStaffUploadResultDTO> customerStaff(GridStaffUploadtFormDTO formDTO) {
//1.查询客户下有效工作人员信息
return baseDao.getStaffByCustomerId(formDTO.getCustomerId());
}
}

19
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -471,4 +471,23 @@
AND user_id = #{userId}
</update>
<select id="getStaffByCustomerId" resultType="com.epmet.dto.result.GridStaffUploadResultDTO">
SELECT
user_id gridUserId,
real_name nickName,
id_card cardNum,
gender sex,
mobile phonenumber,
IF(work_type = 'fulltime', '01', '02') userType,
updated_time updateTime,
IF(enable_flag = 'enable', 'N', 'Y') isLeave,
DATE_FORMAT(updated_time,'%Y-%m-%d') AS date
FROM
customer_staff
WHERE
del_flag = '0'
AND enable_flag = 'enable'
AND customer_id = #{customerId}
</select>
</mapper>

Loading…
Cancel
Save