wangxianzhang 3 years ago
parent
commit
a82ccd9272
  1. 5
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.22__jmreport_category.sql
  2. 24
      epmet-commons/epmet-commons-feignclient/pom.xml
  3. 0
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/.gitkeep
  4. 0
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/.gitkeep
  5. 22
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/JiMuPage.java
  6. 20
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/JiMuResult.java
  7. 33
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/form/JiMuReportFormDTO.java
  8. 27
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/form/JimuReportExportRequestDTO.java
  9. 31
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JiMuReportDetailResultDTO.java
  10. 26
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JiMuReportResultDTO.java
  11. 18
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JimuReportDbDataResultDTO.java
  12. 26
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JimuReportFieldTreeResultDTO.java
  13. 0
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/.gitkeep
  14. 47
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/JiMuReportOpenFeignClient.java
  15. 51
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallback.java
  16. 24
      epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallbackFactory.java
  17. 5
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/OrgOrStaffMQMsg.java
  18. 13
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/ReportRequest.java
  19. 86
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ReportRequestAspect.java
  20. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  21. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/DictListFormDTO.java
  22. 34
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java
  23. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  24. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java
  25. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java
  26. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/page/PageData.java
  27. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  28. 9
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java
  29. 28
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java
  30. 15
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java
  31. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/IcResiServiceImpl.java
  32. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java
  33. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
  34. 1
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java
  35. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/PingYinConstant.java
  36. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java
  37. 23
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java
  38. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java
  39. 25
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java
  40. 8
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  41. 14
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml
  42. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java
  43. 131
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java
  44. 89
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java
  45. 36
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java
  46. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java
  47. 25
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java
  48. 13
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ReportHouseTestFormDTO.java
  49. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java
  50. 124
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java
  51. 14
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ReportHouseTestResultDTO.java
  52. 6
      epmet-module/gov-org/gov-org-server/pom.xml
  53. 159
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java
  54. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  55. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  56. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java
  57. 82
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java
  58. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java
  59. 45
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ReportController.java
  60. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  61. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  62. 39
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java
  63. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java
  64. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
  65. 79
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java
  66. 54
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java
  67. 45
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java
  68. 57
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java
  69. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java
  70. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java
  71. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  72. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java
  73. 88
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java
  74. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java
  75. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  76. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  77. 29
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  78. 110
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  79. 95
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java
  80. 226
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java
  81. 103
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
  82. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.40__add_column.sql
  83. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql
  84. 67
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql
  85. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.43__alter_work_log.sql
  86. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/public_service_template.xlsx
  87. 15
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  88. 24
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  89. 9
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  90. 118
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml
  91. 30
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml
  92. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java
  93. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/OrgProjectListFormDTO.java
  94. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java
  95. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgProjectListResultDTO.java
  96. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/IcEventExcel.java
  97. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/OrgProjectListExcel.java
  98. 17
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java
  99. 18
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml
  100. 17
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

5
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.22__jmreport_category.sql

@ -0,0 +1,5 @@
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509011061993473', 'jmreport_category', '报表应用类别', '居民信息、房屋信息', 32, 0, 0, '1', '2022-08-08 13:14:01', '1', '2022-08-08 13:14:01');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509175185108994', 1556509011061993473, '房屋信息', 'house_info', '0', '', 2, 0, 0, '1', '2022-08-08 13:14:41', '1', '2022-08-08 13:14:41');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1556509102015475714', 1556509011061993473, '居民信息', 'resi_info', '0', '', 1, 0, 0, '1', '2022-08-08 13:14:23', '1', '2022-08-08 13:14:23');

24
epmet-commons/epmet-commons-feignclient/pom.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>epmet-commons</artifactId>
<groupId>com.epmet</groupId>
<version>2.0.0</version>
<!--<relativePath>../../pom.xml</relativePath>-->
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>epmet-commons-feignclient</artifactId>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
</project>

0
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/.gitkeep

0
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/.gitkeep

22
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/JiMuPage.java

@ -0,0 +1,22 @@
package com.epmet.commons.feignclient.dtos;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 积木报表的返回值Page对象
* @param <T>
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class JiMuPage<T> {
private int pageNo;
private int pageSize;
private int total;
private int pages;
private List<?> records;
}

20
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/JiMuResult.java

@ -0,0 +1,20 @@
package com.epmet.commons.feignclient.dtos;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 积木报表的返回值Result对象
* @param <T>
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class JiMuResult<T> {
private boolean success = true;
private String message = "";
private Integer code = 0;
private T result;
private T data;
}

33
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/form/JiMuReportFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.commons.feignclient.dtos.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/8/8 15:08
* @DESC
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class JiMuReportFormDTO implements Serializable {
private static final long serialVersionUID = 3590609549416867701L;
/**
* 报表IDs
*/
private List<String> reportIds;
/**
* 类别
*/
private List<String> categoryKeys;
private String id;
}

27
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/form/JimuReportExportRequestDTO.java

@ -0,0 +1,27 @@
package com.epmet.commons.feignclient.dtos.form;
import lombok.Data;
/**
* 批量导出用的requst dto
*/
@Data
public class JimuReportExportRequestDTO {
private String excelConfigId;
private ExportRequestQueryParam queryParam = new ExportRequestQueryParam();
/**
* 批量导出用的请求参数
*/
@Data
public static class ExportRequestQueryParam {
private String id;
private String token;
private String paramKey;
private String pageNo;
private Integer pageSize;
private String currentPageNo;
private Integer currentPageSize;
}
}

31
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JiMuReportDetailResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.commons.feignclient.dtos.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.Map;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JiMuReportDetailResultDTO {
private String id;
private String code;
private String name;
private String note;
private String status;
private String type;
private String jsonStr;
private String apiUrl;
private String apiMethod;
private String apiCode;
private String thumb;
private Integer template;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private Map<String, Object> dataList;
}

26
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JiMuReportResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.commons.feignclient.dtos.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/8/8 15:10
* @DESC
*/
@Data
public class JiMuReportResultDTO implements Serializable {
private static final long serialVersionUID = -4048477731892329569L;
private String code;
private String name;
private String id;
private String reportId;
private String reportName;
private Boolean isList = false;
}

18
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JimuReportDbDataResultDTO.java

@ -0,0 +1,18 @@
package com.epmet.commons.feignclient.dtos.result;
import lombok.Data;
@Data
public class JimuReportDbDataResultDTO {
private ReportDB reportDb;
@Data
public static class ReportDB {
private String apiUrl;
private String apiMethod;
private String isList;
private String dbChName;
}
}

26
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/dtos/result/JimuReportFieldTreeResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.commons.feignclient.dtos.result;
import lombok.Data;
import java.util.List;
/**
* 积木报表报表字段列表
*/
@Data
public class JimuReportFieldTreeResultDTO {
private Boolean expand;
private String code;
private List<Child> children;
private String dbId;
private String type;
private String isList;
@Data
public static class Child {
private Boolean expand;
private String title;
private String fieldText;
}
}

0
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/.gitkeep

47
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/JiMuReportOpenFeignClient.java

@ -0,0 +1,47 @@
package com.epmet.commons.feignclient.feigns;
import com.epmet.commons.feignclient.dtos.JiMuPage;
import com.epmet.commons.feignclient.dtos.JiMuResult;
import com.epmet.commons.feignclient.dtos.form.JimuReportExportRequestDTO;
import com.epmet.commons.feignclient.dtos.result.JiMuReportDetailResultDTO;
import com.epmet.commons.feignclient.dtos.result.JimuReportDbDataResultDTO;
import com.epmet.commons.feignclient.dtos.result.JimuReportFieldTreeResultDTO;
import com.epmet.commons.feignclient.feigns.fallback.JiMuReportOpenFeignClientFallbackFactory;
import com.epmet.commons.tools.constant.ServiceConstant;
import feign.Response;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2022/8/8 13:52
* @DESC
*/
@FeignClient(name = ServiceConstant.EPMET_JM_REPORT, fallbackFactory = JiMuReportOpenFeignClientFallbackFactory.class)
//@FeignClient(name = ServiceConstant.EPMET_JM_REPORT, fallbackFactory = JiMuReportOpenFeignClientFallbackFactory.class, url = "localhost:8118")
public interface JiMuReportOpenFeignClient {
@GetMapping(value = "jmreport/excelQuery")
JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> getList(@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize,
@RequestParam("name") String name,
@RequestParam("reportType") String reportType,
@RequestParam("token") String token,
@RequestHeader MultiValueMap<String, String> headers);
@GetMapping("jmreport/show")
JiMuResult<Map<String,Object>> getReport(@RequestParam("id") String id,@RequestParam("apiUrl") String apiUrl,@RequestParam("params") String params,@RequestHeader MultiValueMap<String, String> headers);
@GetMapping("/jmreport/field/tree/{report-id}")
JiMuResult<List<List<JimuReportFieldTreeResultDTO>>> fieldTree(@PathVariable("report-id") String reportId);
@GetMapping("jmreport/loadDbData/{report-id}")
JiMuResult<JimuReportDbDataResultDTO> loadDbData(@PathVariable("report-id") String reportId);
@PostMapping("jmreport/exportAllExcelStream")
Response exportAllExcelStream(JimuReportExportRequestDTO param);
}

51
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallback.java

@ -0,0 +1,51 @@
package com.epmet.commons.feignclient.feigns.fallback;
import com.epmet.commons.feignclient.dtos.JiMuPage;
import com.epmet.commons.feignclient.dtos.JiMuResult;
import com.epmet.commons.feignclient.dtos.form.JimuReportExportRequestDTO;
import com.epmet.commons.feignclient.dtos.result.JiMuReportDetailResultDTO;
import com.epmet.commons.feignclient.dtos.result.JimuReportDbDataResultDTO;
import com.epmet.commons.feignclient.dtos.result.JimuReportFieldTreeResultDTO;
import com.epmet.commons.feignclient.feigns.JiMuReportOpenFeignClient;
import feign.Response;
import org.springframework.util.MultiValueMap;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2022/8/8 13:53
* @DESC
*/
public class JiMuReportOpenFeignClientFallback implements JiMuReportOpenFeignClient {
@Override
public JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> getList(Integer pageNo, Integer pageSize, String name, String reportType, String token, MultiValueMap<String, String> headers) {
JiMuResult<JiMuPage<JiMuReportDetailResultDTO>> rst = new JiMuResult<>(false, "请求失败", 200, null,null);
return rst;
}
@Override
public JiMuResult<Map<String,Object>> getReport(String id,String apiUrl,String params,MultiValueMap<String, String> headers) {
JiMuResult<Map<String,Object>> rst = new JiMuResult<>(false, "请求失败", 200, null,null);
return rst;
}
@Override
public JiMuResult<JimuReportDbDataResultDTO> loadDbData(String reportId) {
JiMuResult<JimuReportDbDataResultDTO> rst = new JiMuResult<>(false, "请求失败", 200, null,null);
return rst;
}
@Override
public Response exportAllExcelStream(JimuReportExportRequestDTO param) {
return null;
}
@Override
public JiMuResult<List<List<JimuReportFieldTreeResultDTO>>> fieldTree(String reportId) {
JiMuResult rst = new JiMuResult<>(false, "请求失败", 200, null,null);
return rst;
}
}

24
epmet-commons/epmet-commons-feignclient/src/main/java/com/epmet/commons/feignclient/feigns/fallback/JiMuReportOpenFeignClientFallbackFactory.java

@ -0,0 +1,24 @@
package com.epmet.commons.feignclient.feigns.fallback;
import com.epmet.commons.tools.exception.ExceptionUtils;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @Author zxc
* @DateTime 2022/8/9 13:27
* @DESC
*/
@Slf4j
@Component
public class JiMuReportOpenFeignClientFallbackFactory implements FallbackFactory<JiMuReportOpenFeignClientFallback> {
private JiMuReportOpenFeignClientFallback fallback = new JiMuReportOpenFeignClientFallback();
@Override
public JiMuReportOpenFeignClientFallback create(Throwable cause) {
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause)));
return fallback;
}
}

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

@ -22,6 +22,11 @@ public class OrgOrStaffMQMsg implements Serializable {
//删除网格:grid_delete;删除组织:agency_delete
private String type;
/**
* org原有的Code
*/
private String oldCode;
//工作人员Id集合
private List<String> staffIdList;

13
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/ReportRequest.java

@ -0,0 +1,13 @@
package com.epmet.commons.tools.annotation;
import java.lang.annotation.*;
/**
* 标记一个接口它会被报表服务所调用
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ReportRequest {
}

86
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ReportRequestAspect.java

@ -0,0 +1,86 @@
package com.epmet.commons.tools.aspect;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.lang.reflect.Parameter;
import java.util.Map;
/**
* 需要被报表服务请求的api需要加上这个注解
* 1.该注解会取url中固定的key去redis获取参数给入参dto复制
*/
@Aspect
@Component
@Order(20)
@Slf4j
public class ReportRequestAspect {
/**
* 从redis中取参数用
*/
public static final String REPORT_REDIS_KEY = "paramKey";
@Autowired
private RedisUtils redisUtils;
@Before("@annotation(com.epmet.commons.tools.annotation.ReportRequest)")
public void before(JoinPoint point) {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
String paramKey = sra.getRequest().getParameter(REPORT_REDIS_KEY);
if (StringUtils.isBlank(paramKey)) {
// 没有携带key参数,直接跳过
return;
}
Map<String, Object> cachedParams = redisUtils.hGetAll(paramKey);
if (cachedParams == null || cachedParams.size() == 0) {
log.warn("【报表服务】根据paramKey:{}未获取到有效的参数缓存。", paramKey);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "参数失效", "参数失效");
// redis中没有此参数
}
// 使用方法签名获取出参数class列表
Object[] args = point.getArgs();
MethodSignature signature = (MethodSignature) point.getSignature();
Parameter[] parameters = signature.getMethod().getParameters();
fillArgsToRequestBody(args, cachedParams, parameters);
}
/**
* 将redis中取出的参数赋值到指定的入参dto上
* @param args
* @param storedParams
*/
private void fillArgsToRequestBody(Object[] args, Map<String, Object> storedParams, Parameter[] parameters) {
for (int i = 0; i < args.length; i++) {
Object arg = args[i];
RequestBody requestBodyAnno = parameters[i].getAnnotation(RequestBody.class);
if (arg != null && requestBodyAnno != null) {
Object argBean = BeanUtil.mapToBean(storedParams, arg.getClass(), true);
// "pageSize", "pageNo", "isPage"三个属性不从redis拷贝,而是取传递雇来的
// redis里面的字段如果是null,则不会赋值给arg
BeanUtil.copyProperties(argBean, arg, new CopyOptions(null, true, "pageSize", "pageNo", "isPage"));
return;
}
}
}
}

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java

@ -148,4 +148,9 @@ public interface ServiceConstant {
* 插件pli-power服务
*/
String PLI_POWER_SERVER = "pli-power-base-server";
/**
*
*/
String EPMET_JM_REPORT = "epmet-jmreport-server";
}

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/DictListFormDTO.java

@ -1,6 +1,8 @@
package com.epmet.commons.tools.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
@ -9,6 +11,8 @@ import javax.validation.constraints.NotBlank;
* @Author sun
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DictListFormDTO {
/**

34
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CollectUrlEnum.java

@ -0,0 +1,34 @@
package com.epmet.commons.tools.enums;
public enum CollectUrlEnum {
URL_PRE("subpages/points/pages/fangyi/xinxi/create/index", "小程序码跳转地址"),
GET_CODE_URL("https://api.weixin.qq.com/wxa/getwxacode?access_token=", "获取二维码的url");
private String code;
private String name;
CollectUrlEnum(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -28,6 +28,7 @@ public enum DictTypeEnum {
IC_SERVICE_TYPE("ic_service_type","服务类别",20),
IC_DANGER_TYPE("ic_danger_type","危化品种类",24),
POLICY_LEVEL("policy_level","政策级别",25),
LOG_TYPE("log_type", "日志类型", 33),
;
private final String code;

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/ResiCategoryEnum.java

@ -18,7 +18,8 @@ public enum ResiCategoryEnum {
IS_CJ("IS_CJ", "残疾"),
IS_DB("IS_DB", "大病"),
IS_MB("IS_MB", "慢病"),
IS_SPECIAL("IS_SPECIAL", "特殊人群");
IS_SPECIAL("IS_SPECIAL", "特殊人群"),
IS_XJC("IS_XJC", "新阶层人士");
private String colName;
private String label;

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java

@ -25,8 +25,6 @@ public class EpmetBaseRequestInterceptor implements RequestInterceptor {
// Map<String, String> requestHeaders = getHeadersFromRequest();
log.debug("EpmetBaseRequestInterceptor#apply#inheritableAdditionalHeaders:" + requestHeaders);
if (requestHeaders != null && requestHeaders.size() > 0) {
for (Map.Entry<String, String> kv : requestHeaders.entrySet()) {
template.header(kv.getKey(), kv.getValue());

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/page/PageData.java

@ -29,6 +29,7 @@ public class PageData<T> implements Serializable {
private List<T> list;
private int pages;
/**
* 分页
* @param list 列表数据
@ -38,4 +39,10 @@ public class PageData<T> implements Serializable {
this.list = list;
this.total = (int)total;
}
public PageData(List<T> list, long total,int pageSize) {
this.list = list;
this.total = (int)total;
this.pages = (int) Math.ceil((double)total / pageSize);
}
}

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -849,4 +849,11 @@ public class RedisKeys {
public static String getServiceOrgNameKey(String customerId,String serviceOrgType,String serviceOrgId){
return rootPrefix.concat("serviceOrgName:").concat(serviceOrgType).concat(":").concat(customerId).concat(":").concat(serviceOrgId);
}
public static String getUserBaseInfoKey(String userId) {
if (StringUtils.isBlank(userId)){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"参数错误");
}
return rootPrefix.concat("staffbaseinfo:")+userId;
}
}

9
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java

@ -2,6 +2,7 @@ package com.epmet.commons.tools.utils;
import com.alibaba.ttl.TransmittableThreadLocal;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant;
import org.apache.commons.lang3.StringUtils;
import java.util.HashMap;
@ -86,6 +87,14 @@ public class EpmetRequestHolder {
return getHeader(AppClientConstant.CLIENT);
}
/**
* 获取登陆用户的token
* @return
*/
public static String getLoginUserAuthorizationToken() {
return getHeader(Constant.AUTHORIZATION_HEADER);
}
/**
* 获取所有
* @return

28
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java

@ -443,6 +443,34 @@ public class HttpClientManager {
}
}
public Result<String> sendGet(String url, Map<String, Object> params, Map<String, Object> headerMap) {
try {
URIBuilder builder = new URIBuilder(url);
if (!CollectionUtils.isEmpty(params)) {
Set<String> set = params.keySet();
for (String key : set) {
builder.setParameter(key, params.get(key) == null ? "" : String.valueOf(params.get(key)));
}
}
System.out.println(builder.getPath());
HttpGet httpGet = new HttpGet(builder.build());
httpGet.setConfig(requestConfig);
if (null != headerMap){
headerMap.forEach((k,v) -> {
if (StringUtils.isNotBlank(k)) {
httpGet.addHeader(k, v == null ? null : v.toString());
}
});
}
return execute(httpGet,false);
} catch (Exception e) {
log.error("sendGet exception", e);
return new Result<String>().error(EpmetErrorCode.SERVER_ERROR.getCode(), EpmetErrorCode.SERVER_ERROR.getMsg());
}
}
private Result<String> execute(HttpRequestBase httpMethod, boolean isHttps) {
CloseableHttpResponse response = null;
try {

15
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/epmetuser/IcResiUserEntity.java

@ -215,6 +215,21 @@ public class IcResiUserEntity extends BaseEpmetEntity {
*/
private String isSpecial;
/**
* 是否租户:1 :0
*/
private String isTenant;
/**
* 是否流动人口:1 :0
*/
private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/**
* 文化程度字典表
*/

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

@ -118,6 +118,8 @@ public class IcResiServiceImpl implements IcResiService {
query.eq(IcResiUserEntity::getIsMb, true);
} else if (ResiCategoryEnum.IS_SPECIAL.getColName().equals(categoryKey)) {
query.eq(IcResiUserEntity::getIsSpecial, true);
} else if(ResiCategoryEnum.IS_XJC.getColName().equals(categoryKey)){
query.eq(IcResiUserEntity::getIsXjc, true);
}
if (StringUtils.isNotBlank(search)) {

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/impl/CoverageServiceImpl.java

@ -244,17 +244,18 @@ public class CoverageServiceImpl implements CoverageService {
if (CollectionUtils.isEmpty(customerMenuList)){
return result;
}
List<String> tables = new ArrayList<>();
List<String> tableMore = new ArrayList<>();
customerMenuList.forEach(cm -> {
resources.forEach(r -> {
if (cm.getUrl().equals(r)){
String tableName = MenusEnums.getValueByUrl(r);
if (StringUtils.isNotBlank(tableName)){
tables.add(tableName);
tableMore.add(tableName);
}
}
});
});
List<String> tables = tableMore.stream().distinct().collect(Collectors.toList());
if (CollectionUtils.isEmpty(tables)){
return result;
}

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

@ -470,6 +470,9 @@
<if test="'grid' == orgType">
AND GRID_ID = #{orgId}
</if>
<if test="'agency' == orgType">
AND ORG_ID_PATH LIKE concat('%', #{orgId}, '%')
</if>
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>
@ -492,6 +495,9 @@
<if test="'grid' == orgType">
AND GRID_ID = #{orgId}
</if>
<if test="'agency' == orgType">
AND ORG_ID_PATH LIKE concat('%', #{orgId}, '%')
</if>
<if test="null != startDate and '' != startDate">
AND DATE_FORMAT(CREATED_TIME,"%Y%m%d%H%i%s") <![CDATA[ >= ]]> #{startDate}
</if>

1
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java

@ -206,4 +206,5 @@ public class ScreenProjectDataDTO implements Serializable {
private String orgIdPath;
private String finishOrgType;
private Date processTime;
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/PingYinConstant.java

@ -18,4 +18,8 @@ public interface PingYinConstant {
String TEST_PING_YIN_CUSTOMER_ID = "78e2b2227c07de1fe54da14e2b2d9eb6";
String PROD_PING_YIN_CUSTOMER_ID = "6f203e30de1a65aab7e69c058826cd80";
String KC = "2fe0065f70ca0e23ce4c26fca5f1d933";
String YS = "46c55cb862d6d5e6d05d2ab61a1cc07e";
String JS = "44876154d10d7cb7affd92000f84f833";
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/user/IcResiUserEntity.java

@ -225,6 +225,11 @@ public class IcResiUserEntity extends BaseEpmetEntity {
*/
private String isFloating;
/**
* 是否新阶层人士:1 :0
*/
private String isXjc;
/**
* 文化程度字典表
*/

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

@ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.OrgTypeConstant;
import com.epmet.constant.PingYinConstant;
import com.epmet.constant.ProjectConstant;
import com.epmet.dto.basereport.form.EventInfoFormDTO;
import com.epmet.dto.basereport.result.EventInfoResultDTO;
@ -243,7 +244,7 @@ public class DataReportingServiceImpl implements DataReportingService {
if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) {
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
CustomerGridDTO grid = customerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
@ -254,10 +255,10 @@ public class DataReportingServiceImpl implements DataReportingService {
} else {
//项目ID不为空时,提前取出客户下的组织和网格
Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId());
Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId());
Map<String, CustomerGridDTO> gridMap = customerGridService.getGridMap(PingYinConstant.PROD_PING_YIN_CUSTOMER_ID);
list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
CustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode());
@ -319,12 +320,16 @@ public class DataReportingServiceImpl implements DataReportingService {
dto.setHappenPlace(project.getProjectAddress());
dto.setEventDescription(project.getProjectContent());
dto.setSuccessfulOrNo(ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())?"Y":"N");
if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) {
dto.setStatus(getProjectStatus(project.getProjectStatusCode()));
dto.setCompleteTime(project.getCloseCaseTime());
if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode()) ||
ProjectConstant.CLOSED.equals(project.getProjectStatusCode())) {
//办结组织是机关时,办结层级为机关的层级
if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) {
dto.setWaysOfResolving(ProjectConstant.PROJECT_REPORT);
//如果是孔村的项目办结层级需要降一级
if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) {
if(PingYinConstant.KC.equals(project.getCustomerId())) {
if (StringUtils.isNotBlank(project.getFinishOrgLevel())) {
switch (project.getFinishOrgLevel()) {
case OrgTypeConstant.DISTRICT:
@ -355,9 +360,12 @@ public class DataReportingServiceImpl implements DataReportingService {
//办结组织是网格时,办结层级为网格
dto.setCompleteLevel("5");
}
if (ProjectConstant.CLOSED.equals(project.getProjectStatusCode()) &&(PingYinConstant.KC.equals(project.getCustomerId()) ||
PingYinConstant.YS.equals(project.getCustomerId()) || PingYinConstant.JS.equals(project.getCustomerId()))) {
dto.setCompleteTime(project.getProcessTime());
}
}
dto.setStatus(getProjectStatus(project.getProjectStatusCode()));
dto.setCompleteTime(project.getCloseCaseTime());
dto.setLat(project.getLatitude());
dto.setLng(project.getLongitude());
dto.setWaysOfResolving(ProjectConstant.PROJECT_SELF_CLOSED);
@ -386,7 +394,6 @@ public class DataReportingServiceImpl implements DataReportingService {
case ProjectConstant.PENDING:
return "01";
case ProjectConstant.CLOSED:
return "02";
case ProjectConstant.CLOSED_CASE:
return "03";
default:

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/CustomerGridService.java

@ -15,6 +15,7 @@ import com.epmet.entity.org.CustomerGridEntity;
import java.util.Date;
import java.util.List;
import java.util.Map;
public interface CustomerGridService extends BaseService<CustomerGridEntity> {
/**
@ -106,4 +107,9 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @Description 查询客户下有效网格列表
**/
List<DimGridDTO> gridListByCustomerId(String customerId);
CustomerGridDTO getGridById(String gridId);
Map<String, CustomerGridDTO> getGridMap(String customerId);
}

25
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/org/impl/CustomerGridServiceImpl.java

@ -1,8 +1,10 @@
package com.epmet.service.org.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.org.CustomerGridDao;
import com.epmet.dto.group.AgencyDTO;
@ -18,12 +20,13 @@ import com.epmet.dto.user.result.GridUserInfoDTO;
import com.epmet.entity.org.CustomerGridEntity;
import com.epmet.service.Issue.IssueService;
import com.epmet.service.org.CustomerGridService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
@DataSource(DataSourceConstant.GOV_ORG)
@ -157,4 +160,20 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
return customerGridDao.gridListByCustomerId(customerId);
}
@Override
public CustomerGridDTO getGridById(String gridId) {
return ConvertUtils.sourceToTarget(baseDao.selectById(gridId), CustomerGridDTO.class);
}
@Override
public Map<String, CustomerGridDTO> getGridMap(String customerId) {
LambdaQueryWrapper<CustomerGridEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerGridEntity::getCustomerId, customerId);
List<CustomerGridEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return ConvertUtils.sourceToTarget(list, CustomerGridDTO.class).stream().collect(Collectors.toMap(CustomerGridDTO::getId, Function.identity()));
}
}

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

@ -300,7 +300,8 @@
b.HANDLER_ID AS finishOrg,
b.HANDLER_TYPE AS finishOrgType,
b.ORG_ID_PATH AS orgIdPath,
c.`LEVEL` AS finishOrgLevel
c.`LEVEL` AS finishOrgLevel,
b.PROCESS_TIME
FROM
screen_project_data a
LEFT JOIN (
@ -309,12 +310,13 @@
PROJECT_ID,
HANDLER_ID,
HANDLER_TYPE,
ORG_ID_PATH
ORG_ID_PATH,
PROCESS_TIME
FROM
screen_project_process spp
WHERE
(( spp.CUSTOMER_ID = '2fe0065f70ca0e23ce4c26fca5f1d933' OR spp.CUSTOMER_ID = '44876154d10d7cb7affd92000f84f833' OR spp.CUSTOMER_ID = '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'closed_case')
AND (OPERATION = 'closed_case' OR OPERATION = 'close'))
OR
(( spp.CUSTOMER_ID != '2fe0065f70ca0e23ce4c26fca5f1d933' AND spp.CUSTOMER_ID != '44876154d10d7cb7affd92000f84f833' AND spp.CUSTOMER_ID != '46c55cb862d6d5e6d05d2ab61a1cc07e' )
AND OPERATION = 'close')

14
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml

@ -61,15 +61,19 @@
<select id="selectCategoryList" resultType="com.epmet.dto.IssueProjectCategoryDictDTO">
SELECT
*
a.*,
b.CATEGORY_NAME as parentCategoryName
FROM
issue_project_category_dict
issue_project_category_dict a
LEFT JOIN issue_project_category_dict b ON a.PID = b.ID
AND b.del_flag = '0'
AND b.customer_id = #{customerId}
WHERE
del_flag = '0'
AND customer_id = #{customerId}
a.del_flag = '0'
AND a.customer_id = #{customerId}
<if test="cstegoryIdList != null and cstegoryIdList.size() > 0">
<foreach collection="cstegoryIdList" item="id" open="AND( " separator=" OR " index="index" close=")">
id = #{id}
a.id = #{id}
</foreach>
</if>
ORDER BY

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java

@ -155,4 +155,9 @@ public class CustomerGridDTO implements Serializable {
* 弃用1正常使用0
*/
private Integer abandonFlag;
/**
* 网格排序
*/
private Integer sort;
}

131
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogDTO.java

@ -0,0 +1,131 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
public class IcWorkLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* 组织Id
*/
private String allAgencyName;
/**
* agency_id的所有上级
*/
private String pids;
/**
* 网格Id场所区域
*/
private String gridId;
/**
* 网格Id场所区域
*/
private String gridName;
/**
* 标题
*/
private String title;
/**
* 日志类型admin库sys_dict_data表value值
*/
private String logType;
/**
* 日志日期
*/
private String logDate;
/**
* 内容
*/
private String content;
/**
* 备注
*/
private String remark;
/**
* 手机
*/
private String mobile;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 创建人名称
*/
private String createdUser;
/**
* url
*/
private String url;
/**
* 附件
*/
private List<IcWorkLogFileDTO> fileList;
}

89
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcWorkLogFileDTO.java

@ -0,0 +1,89 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
public class IcWorkLogFileDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 日志Id
*/
private String logId;
/**
* 地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件名
*/
private String name;
/**
* 文件类型0图片
*/
private String fileType;
/**
* 内容
*/
private Integer sort;
/**
* 删除标识0.未删除 1.已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

36
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CollectHouseFormDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author wgf
* @date 2022/8/3 11:18
*/
@Data
public class CollectHouseFormDTO implements Serializable {
private static final long serialVersionUID = 2636608477324780974L;
private String id;
/**
* 房屋状态 1出租 0自住 2闲置 3未售出
*/
private Integer rentFlag;
/**
* 房主姓名
*/
private String ownerName;
/**
* 客户ID
*/
private String customerId;
/**
* 居住人数
*/
private Integer resiNumber;
}

6
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditGridFormDTO.java

@ -25,6 +25,7 @@ public class EditGridFormDTO implements Serializable {
/**
* gridId 网格id
*/
@NotBlank(message = "网格ID不能为空")
private String gridId;
/**
@ -77,4 +78,9 @@ public class EditGridFormDTO implements Serializable {
* 中心点位位置
*/
private String centerAddress;
/**
* 网格排序
*/
private Integer sort;
}

25
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/GetHouseInfoToCollectFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author wgf
* @date 2022/8/3 11:18
*/
@Data
public class GetHouseInfoToCollectFormDTO implements Serializable {
private static final long serialVersionUID = 2636608477324780974L;
/**
* 单元
*/
private String buildingUnitId;
/**
* 门牌号
*/
private String doorName;
}

13
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ReportHouseTestFormDTO.java

@ -0,0 +1,13 @@
package com.epmet.dto.form;
import lombok.Data;
@Data
public class ReportHouseTestFormDTO {
private Integer pageNo = 1;
private Integer pageSize = 20;
private String id;
private String test;
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridDetailResultDTO.java

@ -91,4 +91,9 @@ public class GridDetailResultDTO implements Serializable {
*/
private String mobile = "";
/**
* 网格排序
*/
private Integer gridSort = 0;
}

124
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseInfoCollectResultDTO.java

@ -0,0 +1,124 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* desc:房屋列表结果类
*
* @author liujianjun
*/
@Data
public class IcHouseInfoCollectResultDTO implements Serializable {
private static final long serialVersionUID = 4963952996288796744L;
/**
* id
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 所属组织的PIDS包括agencygrid
*/
private String orgIdPath;
/**
* 小区id
*/
private String neighborHoodId;
/**
* 片区idneighbor_hood_part.id,可为空
*/
private String partId;
/**
* 所属楼栋id
*/
private String buildingId;
/**
* 所属单元id
*/
private String buildingUnitId;
/**
* 房屋名字后台插入时生成
*/
private String houseName;
/**
* 全名:小区楼栋单元房屋
*/
private String fullName;
/**
* 门牌号
*/
private String doorName;
/**
* 房屋类型这里存储字典value就可以
*/
private String houseType;
/**
* 存储字典value
*/
private String purpose;
/**
* 1出租 0自住 2闲置 3未出售
*/
private Integer rentFlag;
/**
* 房主姓名
*/
private String ownerName;
/**
* 房主电话
*/
private String ownerPhone;
/**
* 房主身份证号
*/
private String ownerIdCard;
/**
* 排序
*/
private BigDecimal sort;
/**
* 备注
*/
private String remark;
/**
* 房屋编码
*/
private String houseCode;
private String houseQrcodeUrl;
/**
* 居住人数
*/
private Integer resiNumber;
/**
* 房屋可编辑编码
*/
private String coding;
}

14
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ReportHouseTestResultDTO.java

@ -0,0 +1,14 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ReportHouseTestResultDTO {
private String houseId;
private String doorName;
private String fullName;
}

6
epmet-module/gov-org/gov-org-server/pom.xml

@ -147,6 +147,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-third-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

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

@ -17,31 +17,35 @@
package com.epmet.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.commons.tools.enums.CollectUrlEnum;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.BarcodeUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.OrgInfoConstant;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.resi.group.dto.QRCodeMultipartFileDTO;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.IcNeighborHoodService;
import com.epmet.utils.ThirdUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@ -56,9 +60,9 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -82,6 +86,8 @@ public class AgencyController {
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private IcNeighborHoodService neighborHoodService;
@Autowired
private OssFeignClient ossFeignClient;
/**
* @param formDTO
@ -177,16 +183,7 @@ public class AgencyController {
formDTO.setCustomerId(tokenDTO.getCustomerId());
ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class);
Result result = agencyService.editAgency(formDTO);
//2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(tokenDTO.getCustomerId());
mq.setOrgId(formDTO.getAgencyId());
mq.setOrgType("agency");
mq.setType("agency_change");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
//2021-10-18 end
//发送mq 消息迁移至service
return result;
}
@ -409,45 +406,60 @@ public class AgencyController {
public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) {
ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class);
String id = formDTO.getId();
String type = formDTO.getType();
String name = "";
if(!formDTO.getType().equals(OrgInfoConstant.COMMUNITY)){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "只可生成社区码");
}
try {
if (type.equals(OrgInfoConstant.COMMUNITY)) {
CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
if (customerAgencyDTO == null) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
}
name = customerAgencyDTO.getOrganizationName();
} else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
if (icNeighborHoodDTO == null) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
//获取AccessToken
String accessToken = ThirdUtils.getAccessToken(tokenDto.getCustomerId()).getResiToken();
if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) {
log.warn("获取accessToken失败,customerId:{}", tokenDto.getCustomerId());
throw new RenException("获取accessToken失败,customerId:{}", tokenDto.getCustomerId());
}
CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
if (customerAgencyDTO == null) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
}
name = customerAgencyDTO.getOrganizationName();
//url组成:信息采集地址?社区id
StringBuilder path = new StringBuilder(CollectUrlEnum.URL_PRE.getCode());
path.append("?agencyId=").append(formDTO.getId());
//需要发送的Json
JSONObject data = new JSONObject();
data.put("path", path.toString());
data.put("width", 400);
//发送
byte[] buffer = HttpClientManager.getInstance().getMediaByteArray(CollectUrlEnum.GET_CODE_URL.getCode() + accessToken, JSON.toJSONString(data)).getData();
if (buffer != null && buffer.length < 500) {
String wxResult = "";
wxResult = new String(buffer, StandardCharsets.UTF_8);
if (-1 != wxResult.indexOf("errcode")) {
log.error("获取二维码接口返回错误:{}", wxResult);
throw new RenException("获取二维码失败");
}
name = icNeighborHoodDTO.getNeighborHoodName();
}
//url组成:数字社区地址?小区id&用户id
//String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
String url = EnvEnum.getCurrentEnv().getUrl()
.replace("cloud", "open")
.replace("api/", StrConstant.EPMETY_STR)
.concat("epmet-oper-gov/#/caiji/")
.concat(id).concat("?")
.concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK)
.concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK)
.concat("type=").concat(type).concat(StrConstant.AND_MARK)
.concat("userId=").concat(tokenDto.getUserId())
.concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()));
BufferedImage image = BarcodeUtils.drawQRImage(name, url);
//BufferedImage 转 InputStream
//上传
QRCodeMultipartFileDTO qrCodeMultipartFile = new QRCodeMultipartFileDTO();
qrCodeMultipartFile.setBytes(buffer);
String originalFilename = name.concat(".jpg");
qrCodeMultipartFile.setOriginalFilename(originalFilename);
Result<UploadImgResultDTO> uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile);
if (!uploadResult.success()) {
throw new RenException("调用oss服务上传活动居民信息录入码失败");
}
URL url = new URL(uploadResult.getData().getUrl());
BufferedImage img = ImageIO.read(url);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
ImageIO.write(image, "png", imageOutput);
ImageIO.write(img, "png", imageOutput);
InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
long length = imageOutput.length();
String fileName = name + ".png";
response.setContentType("application/octet-stream");
response.setContentLength((int) length);
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8));
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(originalFilename, StrConstant.UTF_8));
//输出流
byte[] bytes = new byte[1024];
@ -459,10 +471,69 @@ public class AgencyController {
outputStream.write(bytes, 0, len);
}
outputStream.flush();
} catch (Exception e) {
log.error("method exception", e);
}
}
// @PostMapping("create-qrcode")
// public void createQrCode(@LoginUser TokenDto tokenDto, @RequestBody CreateQrCodeFormDTO formDTO, HttpServletResponse response) {
// ValidatorUtils.validateEntity(formDTO, CreateQrCodeFormDTO.CreateQrCodeForm.class);
// String id = formDTO.getId();
// String type = formDTO.getType();
// String name = "";
// try {
// if (type.equals(OrgInfoConstant.COMMUNITY)) {
// CustomerAgencyDTO customerAgencyDTO = customerAgencyService.get(id);
// if (customerAgencyDTO == null) {
// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "组织信息不存在");
// }
// name = customerAgencyDTO.getOrganizationName();
// } else if (type.equals(OrgInfoConstant.NEIGHBOR_HOOD)) {
// IcNeighborHoodDTO icNeighborHoodDTO = neighborHoodService.get(id);
// if (icNeighborHoodDTO == null) {
// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区信息不存在");
// }
// name = icNeighborHoodDTO.getNeighborHoodName();
// }
// //url组成:数字社区地址?小区id&用户id
// //String url = "https://demo.tduckapp.com/s/7314b64b3a26455ab793fb8c640856b6?id="+id;
// String url = EnvEnum.getCurrentEnv().getUrl()
// .replace("cloud", "open")
// .replace("api/", StrConstant.EPMETY_STR)
// .concat("epmet-oper-gov/#/caiji/")
// .concat(id).concat("?")
// .concat("name=").concat(URLEncoder.encode(name, StrConstant.UTF_8)).concat(StrConstant.AND_MARK)
// .concat("customerId=").concat(tokenDto.getCustomerId()).concat(StrConstant.AND_MARK)
// .concat("type=").concat(type).concat(StrConstant.AND_MARK)
// .concat("userId=").concat(tokenDto.getUserId())
// .concat(StrConstant.AND_MARK).concat(String.valueOf(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli()));
// BufferedImage image = BarcodeUtils.drawQRImage(name, url);
// //BufferedImage 转 InputStream
// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// ImageOutputStream imageOutput = ImageIO.createImageOutputStream(byteArrayOutputStream);
// ImageIO.write(image, "png", imageOutput);
// InputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
// long length = imageOutput.length();
// String fileName = name + ".png";
// response.setContentType("application/octet-stream");
// response.setContentLength((int) length);
// response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StrConstant.UTF_8));
//
// //输出流
// byte[] bytes = new byte[1024];
// OutputStream outputStream = response.getOutputStream();
// long count = 0;
// while (count < length) {
// int len = inputStream.read(bytes, 0, 1024);
// count += len;
// outputStream.write(bytes, 0, len);
// }
// outputStream.flush();
// } catch (Exception e) {
// log.error("method exception", e);
// }
// }
/**
* Desc: 查询工作人员所属组织下的所有社区

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

@ -15,6 +15,7 @@ import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerStaffAgencyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -26,6 +27,7 @@ import java.util.List;
*/
@RestController
@RequestMapping("grid")
@Slf4j
public class GridController {
@Autowired
@ -79,16 +81,7 @@ public class GridController {
editGridFormDTO.setCustomerId(tokenDto.getCustomerId());
Result result = customerGridService.editGrid(tokenDto,editGridFormDTO);
//2021-10-18 推送mq,数据同步到中介库 start
if (result.success()) {
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(tokenDto.getCustomerId());
mq.setOrgId(editGridFormDTO.getGridId());
mq.setOrgType("grid");
mq.setType("grid_change");
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
}
//2021-10-18 end
//发送mq 消息 移至service
return result;
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -27,6 +27,7 @@ import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.MaskResponse;
import com.epmet.commons.tools.annotation.ReportRequest;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
@ -105,6 +106,7 @@ public class HouseController implements ResultDataResolver {
@Autowired
private IcHouseDao icHouseDao;
@ReportRequest
@PostMapping("houselist")
@MaskResponse(fieldNames = {"ownerIdCard", "ownerPhone"},
fieldsMaskType = {MaskResponse.MASK_TYPE_ID_CARD, MaskResponse.MASK_TYPE_MOBILE})
@ -200,6 +202,34 @@ public class HouseController implements ResultDataResolver {
return new Result();
}
/**
* 信息登记更新房屋信息
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author wgf
* @date 2022/8/3 11:16
*/
@NoRepeatSubmit
@PostMapping("updateCollect")
public Result updateCollect(@RequestBody CollectHouseFormDTO formDTO) {
houseService.updateCollect(formDTO);
return new Result();
}
/**
* 获取房屋信息
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author wgf
* @date 2022/8/3 11:16
*/
@PostMapping("getHouseInfoToCollect")
public Result<IcHouseInfoCollectResultDTO> getHouseInfoToCollect(@RequestBody GetHouseInfoToCollectFormDTO formDTO) {
return houseService.getHouseInfoToCollect(formDTO);
}
/**
* lzh
*

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogController.java

@ -0,0 +1,88 @@
package com.epmet.controller;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
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 com.epmet.dto.IcWorkLogDTO;
import com.epmet.excel.IcWorkLogExcel;
import com.epmet.service.IcWorkLogService;
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-08-05
*/
@RestController
@RequestMapping("icWorkLog")
public class IcWorkLogController {
@Autowired
private IcWorkLogService icWorkLogService;
@RequestMapping("page")
public Result<PageData<IcWorkLogDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcWorkLogDTO> page = icWorkLogService.page(params);
return new Result<PageData<IcWorkLogDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcWorkLogDTO> get(@PathVariable("id") String id){
IcWorkLogDTO data = icWorkLogService.get(id);
return new Result<IcWorkLogDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping
public Result save(@RequestBody IcWorkLogDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icWorkLogService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PutMapping
public Result update(@RequestBody IcWorkLogDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icWorkLogService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icWorkLogService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcWorkLogDTO> list = icWorkLogService.list4Export(params);
if(CollectionUtils.isEmpty(list)){
IcWorkLogDTO dto = new IcWorkLogDTO();
dto.setId("");
list.add(dto);
}
ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogExcel.class);
}
}

82
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcWorkLogFileController.java

@ -0,0 +1,82 @@
package com.epmet.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 com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.excel.IcWorkLogFileExcel;
import com.epmet.service.IcWorkLogFileService;
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-08-05
*/
@RestController
@RequestMapping("icWorkLogFile")
public class IcWorkLogFileController {
@Autowired
private IcWorkLogFileService icWorkLogFileService;
@RequestMapping("page")
public Result<PageData<IcWorkLogFileDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcWorkLogFileDTO> page = icWorkLogFileService.page(params);
return new Result<PageData<IcWorkLogFileDTO>>().ok(page);
}
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
public Result<IcWorkLogFileDTO> get(@PathVariable("id") String id){
IcWorkLogFileDTO data = icWorkLogFileService.get(id);
return new Result<IcWorkLogFileDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcWorkLogFileDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icWorkLogFileService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcWorkLogFileDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icWorkLogFileService.update(dto);
return new Result();
}
@RequestMapping(value = "delete", method = {RequestMethod.POST, RequestMethod.DELETE})
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icWorkLogFileService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<IcWorkLogFileDTO> list = icWorkLogFileService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcWorkLogFileExcel.class);
}
}

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

@ -141,4 +141,18 @@ public class NeighborHoodController {
TemplateExportParams templatePath = new TemplateExportParams("excel/neighbor_template.xlsx");
ExcelPoiUtils.exportExcel(templatePath ,new HashMap<>(),"小区信息录入表",response);
}
/**
* @describe: 批量生成小区二维码
* @author wangtong
* @date 2022/8/4 15:15
* @params [loginUser]
* @return com.epmet.commons.tools.utils.Result
*/
@NoRepeatSubmit
@PostMapping("createBatchNeiQrUrl")
public Result createBatchNeiQrUrl(@LoginUser TokenDto loginUser) {
return neighborHoodService.createBatchNeiQrUrl(loginUser.getCustomerId());
}
}

45
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/ReportController.java

@ -0,0 +1,45 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.ReportRequest;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ReportHouseTestFormDTO;
import com.epmet.dto.result.ReportHouseTestResultDTO;
import com.epmet.service.HouseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@RestController
@RequestMapping("report")
public class ReportController {
@Autowired
private HouseService houseService;
@Autowired
private RedisUtils redisUtils;
/**
* todo 测试用的
* @return
*/
@PostMapping("houses/test")
@ReportRequest
public Result<PageData<ReportHouseTestResultDTO>> listHouses(@RequestBody ReportHouseTestFormDTO input) {
System.out.println("id:"+input.getId());
PageData<ReportHouseTestResultDTO> pageData = houseService.listHouses4ReportTest(input.getId(), input.getPageNo(), input.getPageSize());
return new Result<PageData<ReportHouseTestResultDTO>>().ok(pageData);
}
@PostMapping("put")
public void put() {
final HashMap<String, Object> m = new HashMap<>();
m.put("test", "aaa");
redisUtils.hMSet("ttt", m);
}
}

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -376,5 +376,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
CustomerAgencyEntity getAreaRootAgency(@Param("customerId") String customerId);
/**
* @Description 根据人查询所在组织
* @Param userId
* @author zhy
* @date 2021/8/5 10:08 上午
*/
CustomerAgencyEntity getAgencyByUserId(@Param("userId") String userId, @Param("customerId") String customerId);
}

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

@ -2,6 +2,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.GetHouseInfoToCollectFormDTO;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerOrgParameterEntity;
@ -192,4 +193,12 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @params [coding]
*/
IcHouseEntity selectByCoding(@Param("coding") String coding);
/**
* 获取房屋信息
* @param formDTO
* @return
*/
IcHouseInfoCollectResultDTO getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO);
}

39
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogDao.java

@ -0,0 +1,39 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.entity.IcWorkLogEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Mapper
public interface IcWorkLogDao extends BaseDao<IcWorkLogEntity> {
/**
* 分页列表
*
* @param params
* @return java.util.List<com.epmet.dto.IcWorkLogDTO>
* @author zhy
* @date 2022/8/9 17:23
*/
List<IcWorkLogDTO> listPage(Map<String, Object> params);
/**
* 导出列表
*
* @param params
* @return java.util.List<com.epmet.dto.IcWorkLogDTO>
* @author zhy
* @date 2022/8/9 17:23
*/
List<IcWorkLogDTO> list4Export(Map<String, Object> params);
}

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcWorkLogFileDao.java

@ -0,0 +1,26 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcWorkLogFileEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Mapper
public interface IcWorkLogFileDao extends BaseDao<IcWorkLogFileEntity> {
/**
* 删除
*
* @param logId
* @return void
* @author generator
* @date 2022-08-05
*/
void deleteByLogId(@Param("logId") String logId);
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java

@ -116,4 +116,9 @@ public class IcNeighborHoodEntity extends BaseEpmetEntity {
* 实有楼栋数
*/
private Integer realBuilding;
/**
* 二维码地址
*/
private String qrcodeUrl;
}

79
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogEntity.java

@ -0,0 +1,79 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_work_log")
public class IcWorkLogEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 组织Id
*/
private String agencyId;
/**
* agency_id的所有上级
*/
private String pids;
/**
* 网格Id场所区域
*/
private String gridId;
/**
* 标题
*/
private String title;
/**
* 日志类型admin库sys_dict_data表value值
*/
private String logType;
/**
* 日志日期
*/
private String logDate;
/**
* 内容
*/
private String content;
/**
* 备注
*/
private String remark;
/**
* 手机
*/
private String mobile;
/**
* 创建人名称
*/
private String createdUser;
}

54
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcWorkLogFileEntity.java

@ -0,0 +1,54 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_work_log_file")
public class IcWorkLogFileEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 日志Id
*/
private String logId;
/**
* 地址
*/
private String url;
/**
* 文件名
*/
private String fileName;
/**
* 文件类型0图片
*/
private String fileType;
/**
* 内容
*/
private Integer sort;
}

45
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogExcel.java

@ -0,0 +1,45 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
public class IcWorkLogExcel {
@Excel(name = "网格员", width = 15)
private String createdUser;
@Excel(name = "联系电话", width = 20)
private String mobile;
@Excel(name = "所属镇街", width = 25)
private String allAgencyName;
@Excel(name = "所属网格", width = 25)
private String gridName;
@Excel(name = "标题", width = 25)
private String title;
@Excel(name = "日志时间", width = 15)
private String logDate;
@Excel(name = "日志类型", width = 15)
private String logType;
@Excel(name = "内容", width = 100)
private String content;
@Excel(name = "备注", width = 50)
private String remark;
@Excel(name = "照片", width = 50)
private String url;
}

57
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcWorkLogFileExcel.java

@ -0,0 +1,57 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Data
public class IcWorkLogFileExcel {
@Excel(name = "唯一标识")
private String id;
@Excel(name = "客户Id")
private String customerId;
@Excel(name = "日志Id")
private String logId;
@Excel(name = "地址")
private String url;
@Excel(name = "文件名")
private String fileName;
@Excel(name = "文件类型,0图片")
private String fileType;
@Excel(name = "内容")
private Integer sort;
@Excel(name = "删除标识:0.未删除 1.已删除")
private Integer delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogFileRedis.java

@ -0,0 +1,30 @@
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Component
public class IcWorkLogFileRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

30
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcWorkLogRedis.java

@ -0,0 +1,30 @@
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Component
public class IcWorkLogRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java

@ -43,6 +43,7 @@ public interface HouseService {
void updateHouse(String customerId, IcHouseAddFormDTO formDTO);
void updateCollect(CollectHouseFormDTO formDTO);
/**
* Desc: 房屋变更记录
@ -54,6 +55,16 @@ public interface HouseService {
*/
void houseChangeRecord(String houseId, String customerId, IcHouseDTO houseDTO);
/**
* Desc: 房屋变更记录(信息登记)
* @param houseId
* @param customerId
* @param houseDTO
* @author wgf
* @date 2022/5/10 10:57
*/
void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO);
/**
* 小寨子社区-合同签订后变更成出租状态
*
@ -175,4 +186,13 @@ public interface HouseService {
Result getHomeInfoByHouseCode(HouseInfoFormDTO dto);
void orgIdPathInit();
/**
* 获取房屋信息
* @param formDTO
* @return
*/
Result<IcHouseInfoCollectResultDTO> getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO);
PageData<ReportHouseTestResultDTO> listHouses4ReportTest(String houseId, Integer pageNo, Integer pageSize);
}

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogFileService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.entity.IcWorkLogFileEntity;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
public interface IcWorkLogFileService extends BaseService<IcWorkLogFileEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcWorkLogFileDTO>
* @author generator
* @date 2022-08-05
*/
PageData<IcWorkLogFileDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcWorkLogFileDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogFileDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcWorkLogFileDTO
* @author generator
* @date 2022-08-05
*/
IcWorkLogFileDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void save(IcWorkLogFileDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void update(IcWorkLogFileDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-05
*/
void delete(String[] ids);
/**
* 删除
*
* @param logId
* @return void
* @author generator
* @date 2022-08-05
*/
void deleteByLogId(String logId);
}

88
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcWorkLogService.java

@ -0,0 +1,88 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.entity.IcWorkLogEntity;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
public interface IcWorkLogService extends BaseService<IcWorkLogEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
PageData<IcWorkLogDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogDTO> list(Map<String, Object> params);
/**
* 查询
*
* @param params
* @return java.util.List<IcWorkLogDTO>
* @author generator
* @date 2022-08-05
*/
List<IcWorkLogDTO> list4Export(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return IcWorkLogDTO
* @author generator
* @date 2022-08-05
*/
IcWorkLogDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void save(IcWorkLogDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-05
*/
void update(IcWorkLogDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-05
*/
void delete(String[] ids);
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/NeighborHoodService.java

@ -18,6 +18,7 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IcHouseListFormDTO;
import com.epmet.dto.form.IcNeighborHoodAddFormDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
@ -51,4 +52,13 @@ public interface NeighborHoodService{
* @param response
*/
void exportNeighborhoodinfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception ;
/**
* @describe: 批量生成小区二维码
* @author wangtong
* @date 2022/8/4 15:18
* @params [customerId]
* @return com.epmet.commons.tools.utils.Result
*/
Result createBatchNeiQrUrl(String customerId);
}

17
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

@ -20,6 +20,7 @@ package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
@ -52,13 +53,14 @@ import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerDepartmentEntity;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OperCrmFeignClient;
import com.epmet.redis.CustomerAgencyRedis;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.AgencyService;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerOrgParameterService;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -71,7 +73,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -107,6 +108,8 @@ public class AgencyServiceImpl implements AgencyService {
private IcBuildingDao icBuildingDao;
@Autowired
private CustomerDepartmentDao customerDepartmentDao;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
/**
* @param formDTO
@ -240,6 +243,16 @@ public class AgencyServiceImpl implements AgencyService {
//5.redis缓存
customerAgencyRedis.delete(formDTO.getAgencyId());
//2021-10-18 推送mq,数据同步到中介库 start【中介库只放了组织的名称、级别,所以涉及批量修改pname的操作不涉及同步中间库】
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(originalEntity.getCustomerId());
mq.setOrgId(formDTO.getAgencyId());
mq.setOrgType("agency");
mq.setType("agency_change");
mq.setOldCode(originalEntity.getCode());
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
//2021-10-18 end
//6.一些下拉组织树的缓存要清除掉
String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(formDTO.getCustomerId());
customerAgencyRedis.deleteByPrex(orgTreeCachePrexKey);

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

@ -202,7 +202,7 @@ public class BuildingServiceImpl implements BuildingService {
// agencyIdList.add(customerAgency.getId());
LambdaQueryWrapper<CustomerGridEntity> gridWrapper = new LambdaQueryWrapper<>();
gridWrapper.in(CustomerGridEntity::getPid, agencyIdList);
gridWrapper.last("ORDER BY CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)");
gridWrapper.last("ORDER BY sort,CAST(GRID_NAME AS SIGNED),CONVERT(GRID_NAME using gbk)");
List<CustomerGridEntity> customerGridList = customerGridDao.selectList(gridWrapper);
if (CollectionUtils.isEmpty(customerGridList)) {

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

@ -55,7 +55,6 @@ import com.epmet.entity.CustomerGridEntity;
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;
@ -111,10 +110,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Autowired
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@ -331,8 +326,12 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Override
@Transactional(rollbackFor = Exception.class)
public Result editGrid(TokenDto tokenDto, EditGridFormDTO editGridFormDTO) {
AddGridResultDTO gridId = baseDao.selectGridIdByGridName(editGridFormDTO.getGridName(), editGridFormDTO.getAgencyId(), editGridFormDTO.getGridId());
if (gridId!=null){
CustomerGridEntity gridEntity = baseDao.selectById(editGridFormDTO.getGridId());
if(gridEntity == null){
return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode());
}
AddGridResultDTO gridInfo = baseDao.selectGridIdByGridName(editGridFormDTO.getGridName(), editGridFormDTO.getAgencyId(), editGridFormDTO.getGridId());
if (gridInfo!=null){
return new Result().error(EpmetErrorCode.NOT_ADD_GRID.getCode());
}
CustomerGridDTO customerGridDTO = new CustomerGridDTO();
@ -344,6 +343,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
customerGridDTO.setGridType(editGridFormDTO.getGridType());
customerGridDTO.setContacts(editGridFormDTO.getContacts());
customerGridDTO.setMobile(editGridFormDTO.getMobile());
customerGridDTO.setSort(editGridFormDTO.getSort());
if(StringUtils.isNotBlank(editGridFormDTO.getLongitude())){
customerGridDTO.setLongitude(editGridFormDTO.getLongitude());
}
@ -352,6 +352,19 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
customerGridDTO.setCenterAddress(editGridFormDTO.getCenterAddress());
baseDao.editGrid(customerGridDTO);
//2021-10-18 推送mq,数据同步到中介库 start
OrgOrStaffMQMsg mq = new OrgOrStaffMQMsg();
mq.setCustomerId(tokenDto.getCustomerId());
mq.setOrgId(editGridFormDTO.getGridId());
mq.setOrgType("grid");
mq.setType("grid_change");
mq.setOldCode(gridEntity.getCode());
SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendOrgStaffMqMsg(mq);
//2021-10-18 end
//一些下拉组织树的缓存要清除掉
String orgTreeCachePrexKey = RedisKeys.getOrgTreeCachePrexKey(tokenDto.getCustomerId());
redisUtils.deleteByPrex(orgTreeCachePrexKey);
@ -928,7 +941,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
LambdaQueryWrapper<CustomerGridEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerGridEntity::getPid, agencyId);
wrapper.last("ORDER BY CONVERT ( GRID_NAME USING gbk ) ASC");
wrapper.last("ORDER BY sort,CONVERT ( GRID_NAME USING gbk ) desc");
List<CustomerGridEntity> list = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();

110
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -244,6 +244,30 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
icHouseRedis.delHouseInfo(formDTO.getHouseId(), customerId);
}
/**
* 更新房屋信息登记
*
* @param
* @param formDTO
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCollect(CollectHouseFormDTO formDTO) {
IcHouseEntity entity = new IcHouseEntity();
entity.setId(formDTO.getId());
entity.setRentFlag(formDTO.getRentFlag());
entity.setOwnerName(formDTO.getOwnerName());
entity.setResiNumber(formDTO.getResiNumber());
// 更新变更记录
IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class);
houseChangeRecordCollect(formDTO.getId(), formDTO.getCustomerId(), icHouseDTO);
icHouseDao.updateById(entity);
//删除房屋缓存
icHouseRedis.delHouseInfo(formDTO.getId(), entity.getCustomerId());
}
/**
* Desc: 房屋变更记录
*
@ -337,6 +361,64 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
}
/**
* Desc: 房屋变更记录(信息登记)
*
* @param houseId
* @param customerId
* @param houseDTO
* @author wgf
* @date 2022/5/10 10:57
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void houseChangeRecordCollect(String houseId, String customerId, IcHouseDTO houseDTO) {
IcHouseEntity entity = icHouseService.selectById(houseId);
entity.setOwnerName(null == entity.getOwnerName() ? "" : entity.getOwnerName());
entity.setOwnerPhone(null == entity.getOwnerPhone() ? "" : entity.getOwnerPhone());
entity.setOwnerIdCard(null == entity.getOwnerIdCard() ? "" : entity.getOwnerIdCard());
if (null == entity) {
throw new EpmetException("不存在此房屋...");
}
StringBuilder sbBefore = new StringBuilder();
StringBuilder sbAfter = new StringBuilder();
List<IcHouseChangeDetailEntity> entityList = new ArrayList<>();
if (!houseDTO.getRentFlag().equals(entity.getRentFlag())) {
sbAfter.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName()).append(";");
sbBefore.append(HouseChangeEnums.RENT_FLAG.getColumnName()).append(":").append(HouseRentFlagEnums.getTypeValue(entity.getRentFlag())).append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.RENT_FLAG.getColumn());
e.setChangeAfter(null == houseDTO.getRentName() ? HouseRentFlagEnums.getTypeValue(houseDTO.getRentFlag()) : houseDTO.getRentName());
e.setChangeBefore(HouseRentFlagEnums.getTypeValue(entity.getRentFlag()));
entityList.add(e);
}
if (null != houseDTO.getOwnerName() && !houseDTO.getOwnerName().equals(entity.getOwnerName())) {
sbAfter.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无").append(";");
sbBefore.append(HouseChangeEnums.OWNER_NAME.getColumnName()).append(":").append(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无").append(";");
IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity();
e.setChangeCol(HouseChangeEnums.OWNER_NAME.getColumn());
e.setChangeAfter(StringUtils.isNotBlank(houseDTO.getOwnerName()) ? houseDTO.getOwnerName() : "无");
e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerName()) ? entity.getOwnerName() : "无");
entityList.add(e);
}
if (StringUtils.isNotBlank(sbAfter)) {
String before = sbBefore.substring(NumConstant.ZERO, sbBefore.length() - NumConstant.ONE);
String after = sbAfter.substring(NumConstant.ZERO, sbAfter.length() - NumConstant.ONE);
HouseAgencyInfoResultDTO houseAgencyInfo = icHouseDao.getHouseAgencyInfo(houseId);
IcHouseChangeRecordEntity recordEntity = ConvertUtils.sourceToTarget(houseAgencyInfo, IcHouseChangeRecordEntity.class);
recordEntity.setCustomerId(customerId);
recordEntity.setChangeBefore(before);
recordEntity.setChangeAfter(after);
changeRecordService.insert(recordEntity);
entityList.forEach(e -> {
e.setCustomerId(customerId);
e.setRecordId(recordEntity.getId());
});
changeDetailService.insertBatch(entityList);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update2Rent(RentHouseFormDTO formDTO) {
@ -385,7 +467,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
item.setPurpose(HousePurposeEnums.getTypeValue(item.getPurposeKey()));
});
if (formDTO.getIsPage()) {
return new PageData<>(records == null ? new ArrayList<>() : records, pageInfo.getTotal(), formDTO.getPageSize());
}
return new PageData<>(records == null ? new ArrayList<>() : records, pageInfo.getTotal());
}
@ -1220,4 +1304,28 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
}
recureAppendParentAgencyId(pid, result);
}
@Override
public Result<IcHouseInfoCollectResultDTO> getHouseInfoToCollect(GetHouseInfoToCollectFormDTO formDTO) {
IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = icHouseDao.getHouseInfoToCollect(formDTO);
return new Result<IcHouseInfoCollectResultDTO>().ok(icHouseInfoCollectResultDTO);
}
@Override
public PageData<ReportHouseTestResultDTO> listHouses4ReportTest(String houseId, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<IcHouseEntity> query = new LambdaQueryWrapper<>();
query.eq(IcHouseEntity::getBuildingId, "1514143207495208961");
query.eq(StringUtils.isNotBlank(houseId), IcHouseEntity::getId, houseId);
PageHelper.startPage(pageNo, pageSize);
List<IcHouseEntity> icHouseEntities = icHouseDao.selectList(query);
PageInfo<IcHouseEntity> pi = new PageInfo<>(icHouseEntities);
List<ReportHouseTestResultDTO> houseDtos = icHouseEntities.stream().map(house -> new ReportHouseTestResultDTO(house.getId(), house.getDoorName(), house.getFullName())).collect(Collectors.toList());
return new PageData<>(houseDtos, pi.getTotal());
}
}

95
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogFileServiceImpl.java

@ -0,0 +1,95 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.IcWorkLogFileDao;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.entity.IcWorkLogFileEntity;
import com.epmet.redis.IcWorkLogFileRedis;
import com.epmet.service.IcWorkLogFileService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志附件
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Service
public class IcWorkLogFileServiceImpl extends BaseServiceImpl<IcWorkLogFileDao, IcWorkLogFileEntity> implements IcWorkLogFileService {
@Autowired
private IcWorkLogFileRedis icWorkLogFileRedis;
@Override
public PageData<IcWorkLogFileDTO> page(Map<String, Object> params) {
IPage<IcWorkLogFileEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcWorkLogFileDTO.class);
}
@Override
public List<IcWorkLogFileDTO> list(Map<String, Object> params) {
List<IcWorkLogFileEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcWorkLogFileDTO.class);
}
private QueryWrapper<IcWorkLogFileEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String logId = (String)params.get("logId");
QueryWrapper<IcWorkLogFileEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(logId), "LOG_ID", logId);
return wrapper;
}
@Override
public IcWorkLogFileDTO get(String id) {
IcWorkLogFileEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcWorkLogFileDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcWorkLogFileDTO dto) {
IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcWorkLogFileDTO dto) {
IcWorkLogFileEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogFileEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteByLogId(String id) {
baseDao.deleteByLogId(id);
}
}

226
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcWorkLogServiceImpl.java

@ -0,0 +1,226 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerAgencyDao;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcWorkLogDao;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.IcWorkLogDTO;
import com.epmet.dto.IcWorkLogFileDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.result.GridDetailResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.entity.IcWorkLogEntity;
import com.epmet.entity.IcWorkLogFileEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.IcWorkLogRedis;
import com.epmet.service.IcWorkLogFileService;
import com.epmet.service.IcWorkLogService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 网格员工作日志
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-05
*/
@Service
public class IcWorkLogServiceImpl extends BaseServiceImpl<IcWorkLogDao, IcWorkLogEntity> implements IcWorkLogService {
@Autowired
private IcWorkLogRedis icWorkLogRedis;
@Autowired
private LoginUserUtil loginUserUtil;
@Autowired
private IcWorkLogFileService icWorkLogFileService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
@Resource
private CustomerGridDao customerGridDao;
@Resource
private CustomerAgencyDao customerAgencyDao;
@Override
public PageData<IcWorkLogDTO> page(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
params.put("createdBy", loginUserUtil.getLoginUserId());
IPage<IcWorkLogDTO> page = getPage(params);
List<IcWorkLogDTO> list = baseDao.listPage(params);
return new PageData<>(list, page.getTotal());
}
@Override
public List<IcWorkLogDTO> list(Map<String, Object> params) {
List<IcWorkLogEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcWorkLogDTO.class);
}
@Override
public List<IcWorkLogDTO> list4Export(Map<String, Object> params) {
params.put("customerId", loginUserUtil.getLoginUserCustomerId());
params.put("createdBy", loginUserUtil.getLoginUserId());
List<IcWorkLogDTO> list = baseDao.list4Export(params);
Result<Map<String, String>> result = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.LOG_TYPE.getCode());
if (!result.success() || null == result.getData()) {
throw new EpmetException("查询字典信息失败" + JSON.toJSONString(result));
} else {
Map<String, String> logTypeMap = result.getData();
list.forEach(item -> item.setLogType(logTypeMap.get(item.getLogType())));
}
return list;
}
private QueryWrapper<IcWorkLogEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcWorkLogEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcWorkLogDTO get(String id) {
IcWorkLogEntity entity = baseDao.selectById(id);
IcWorkLogDTO dto = ConvertUtils.sourceToTarget(entity, IcWorkLogDTO.class);
if (StringUtils.isNotBlank(entity.getGridId())) {
CustomerGridEntity grid = customerGridDao.selectById(entity.getGridId());
dto.setGridName(grid.getGridName());
}
Map<String, Object> params = new HashMap<>(2);
params.put("logId", id);
List<IcWorkLogFileDTO> files = icWorkLogFileService.list(params);
files.forEach(item -> item.setName(item.getFileName()));
dto.setFileList(files);
return dto;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcWorkLogDTO dto) {
dto.setCustomerId(loginUserUtil.getLoginUserCustomerId());
//查询当前申请用户的基本信息
CustomerStaffDTO customerStaffParam = new CustomerStaffDTO();
customerStaffParam.setUserId(loginUserUtil.getLoginUserId());
Result<CustomerStaffDTO> staffInfo = epmetUserFeignClient.getCustomerStaffInfoByUserId(customerStaffParam);
if (!staffInfo.success() || null == staffInfo.getData()) {
throw new EpmetException("查询用户信息失败" + JSON.toJSONString(customerStaffParam));
} else {
dto.setCreatedUser(staffInfo.getData().getRealName());
dto.setMobile(staffInfo.getData().getMobile());
}
// 组织机构处理
orgHandle(dto);
IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class);
insert(entity);
// 处理附件
fileHandle(dto.getFileList(), entity.getId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcWorkLogDTO dto) {
// 组织机构处理
orgHandle(dto);
IcWorkLogEntity entity = ConvertUtils.sourceToTarget(dto, IcWorkLogEntity.class);
updateById(entity);
// 处理附件
icWorkLogFileService.deleteByLogId(entity.getId());
fileHandle(dto.getFileList(), entity.getId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 附件处理
*
* @param fileList
* @param logId
* @return void
* @author zhy
* @date 2022/8/9 17:24
*/
private void fileHandle(List<IcWorkLogFileDTO> fileList, String logId) {
if (!fileList.isEmpty()) {
fileList.forEach(item -> {
item.setLogId(logId);
item.setCustomerId(loginUserUtil.getLoginUserCustomerId());
item.setFileType(NumConstant.ZERO_STR);
});
List<IcWorkLogFileEntity> fileEntityList = ConvertUtils.sourceToTarget(fileList, IcWorkLogFileEntity.class);
icWorkLogFileService.insertBatch(fileEntityList);
}
}
/**
* 组织机构处理
*
* @param dto
* @return
* @author zhy
* @date 2022/8/12 17:30
*/
private void orgHandle(IcWorkLogDTO dto) {
if (StringUtils.isNotBlank(dto.getGridId())) {
// 查询网格信息
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(dto.getGridId());
GridDetailResultDTO gridDetailResultDTO = customerGridDao.griddetail(customerGridFormDTO);
if (gridDetailResultDTO != null) {
dto.setAgencyId(gridDetailResultDTO.getAgencyId());
dto.setPids(gridDetailResultDTO.getPIds());
}
} else {
CustomerAgencyEntity agency = customerAgencyDao.getAgencyByUserId(loginUserUtil.getLoginUserId(), loginUserUtil.getLoginUserCustomerId());
if (agency != null) {
dto.setAgencyId(agency.getId());
dto.setPids(agency.getPids());
}
}
}
}

103
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java

@ -1,20 +1,22 @@
package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.enums.CollectUrlEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.NeighborhoodConstant;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dao.IcNeighborHoodPropertyDao;
import com.epmet.dao.IcOrganizationCodeInfoDao;
import com.epmet.dao.*;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.IcNeighborHoodPropertyDTO;
@ -24,18 +26,19 @@ import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.form.IcUserBelongToChangedFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.dto.result.OrganizationCommunityDTO;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.entity.IcNeighborHoodPropertyEntity;
import com.epmet.entity.IcOrganizationCodeInfoEntity;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.entity.*;
import com.epmet.enums.OrganizationTypeEnums;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.resi.group.dto.QRCodeMultipartFileDTO;
import com.epmet.service.IcNeighborHoodPropertyService;
import com.epmet.service.IcNeighborHoodService;
import com.epmet.service.NeighborHoodService;
import com.epmet.util.ExcelPoiUtils;
import com.epmet.utils.ThirdUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -46,6 +49,7 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -73,6 +77,10 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
private IcOrganizationCodeInfoDao icOrganizationCodeInfoDao;
@Autowired
private IcOrganizationCodeInfoServiceImpl icOrganizationCodeInfoServiceImpl;
@Autowired
private OssFeignClient ossFeignClient;
@Autowired
private CustomerAgencyDao customerAgencyDao;
@Override
@ -113,6 +121,63 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
icNeighborHoodPropertyDTO.setPropertyId(propertyId);
icNeighborHoodPropertyService.save(icNeighborHoodPropertyDTO);
}
//生成小区码
IcNeighborHoodEntity neiEntity = new IcNeighborHoodEntity();
neiEntity.setId(entity.getId());
try {
neiEntity.setQrcodeUrl(createNeiQrcodeUrl(entity));
} catch (Exception e) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败","二维码生成失败");
}
baseDao.updateById(neiEntity);
}
/**
* @describe: 生成小区二维码地址
* @author wangtong
* @date 2022/8/4 14:28
* @params [NeighborHood]
* @return java.lang.String
*/
private String createNeiQrcodeUrl(IcNeighborHoodEntity entity) throws Exception {
if (null == entity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "小区不可为空", "小区不可为空");
}
//获取AccessToken
String accessToken = ThirdUtils.getAccessToken(entity.getCustomerId()).getResiToken();
if (org.apache.commons.lang3.StringUtils.isBlank(accessToken)) {
log.warn("获取accessToken失败,customerId:{}", entity.getCustomerId());
throw new RenException("获取accessToken失败,customerId:{}", entity.getCustomerId());
}
//跳转的页面
StringBuilder path = new StringBuilder(CollectUrlEnum.URL_PRE.getCode());
path.append("?neiId=").append(entity.getId())
.append("&agencyId=").append(entity.getAgencyId());
//需要发送的Json
JSONObject data = new JSONObject();
data.put("path", path.toString());
data.put("width", 400);
//发送
byte[] buffer = HttpClientManager.getInstance().getMediaByteArray(CollectUrlEnum.GET_CODE_URL.getCode() + accessToken, JSON.toJSONString(data)).getData();
if (buffer != null && buffer.length < 500) {
String wxResult = "";
wxResult = new String(buffer, StandardCharsets.UTF_8);
if (-1 != wxResult.indexOf("errcode")) {
log.error("获取二维码接口返回错误:{}", wxResult);
throw new RenException("获取二维码失败");
}
}
//上传
QRCodeMultipartFileDTO qrCodeMultipartFile = new QRCodeMultipartFileDTO();
qrCodeMultipartFile.setBytes(buffer);
String originalFilename = entity.getNeighborHoodName().concat(".jpg");
qrCodeMultipartFile.setOriginalFilename(originalFilename);
Result<UploadImgResultDTO> uploadResult = ossFeignClient.uploadQrCode(qrCodeMultipartFile);
if (!uploadResult.success()) {
throw new RenException("调用oss服务上传活动居民信息录入码失败");
}
return uploadResult.getData().getUrl();
}
/**
@ -271,6 +336,28 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
ExcelPoiUtils.exportExcel(templatePath ,map,"小区信息录入表",response);
}
@Override
public Result createBatchNeiQrUrl(String customerId) {
//查询该客户下没有二维码的小区
QueryWrapper<IcNeighborHoodEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(IcNeighborHoodEntity::getCustomerId,customerId)
.eq(IcNeighborHoodEntity::getDelFlag, NumConstant.ZERO_STR);;
List<IcNeighborHoodEntity> neiList = baseDao.selectList(queryWrapper);
//保存二维码地址
neiList.forEach(nei->{
if(org.apache.commons.lang3.StringUtils.isBlank(nei.getQrcodeUrl())){
try {
nei.setQrcodeUrl(createNeiQrcodeUrl(nei));
} catch (Exception e) {
e.printStackTrace();
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"二维码生成失败<neiId>:"+nei.getId(),"二维码生成失败<neiId>:"+nei.getId());
}
}
baseDao.updateById(nei);
});
return new Result().ok("批量生成成功");
}
private List<IcNeighborHoodExcel> searchAllNeighborhood(IcHouseListFormDTO formDTO) {
IcNeighborHoodEntity neighbor = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodEntity.class);
neighbor.setDelFlag("0");

2
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.40__add_column.sql

@ -0,0 +1,2 @@
ALTER TABLE `epmet_gov_org`.`customer_grid`
ADD COLUMN `sort` int(11) NULL COMMENT '网格排序' AFTER `MOBILE`;

1
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.41__ic_neighbor_hood_update.sql

@ -0,0 +1 @@
alter table ic_neighbor_hood add COLUMN `QRCODE_URL` varchar(255) DEFAULT NULL COMMENT '二维码地址';

67
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.42__add_work_log.sql

@ -0,0 +1,67 @@
/*
Navicat Premium Data Transfer
Source Server : epmet_cloud_dev_gov
Source Server Type : MySQL
Source Server Version : 50726
Source Host : 192.168.1.140:3306
Source Schema : epmet_gov_org
Target Server Type : MySQL
Target Server Version : 50726
File Encoding : 65001
Date: 09/08/2022 10:41:08
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for ic_work_log
-- ----------------------------
DROP TABLE IF EXISTS `ic_work_log`;
CREATE TABLE `ic_work_log` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识',
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户Id',
`AGENCY_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织Id',
`PIDS` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'agency_id的所有上级',
`GRID_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格Id【场所区域】',
`TITLE` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '标题',
`LOG_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志类型【admin库sys_dict_data表value值】',
`LOG_DATE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志日期',
`CONTENT` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内容',
`REMARK` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`MOBILE` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
`CREATED_USER` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人名称',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格员工作日志' ROW_FORMAT = COMPACT;
-- ----------------------------
-- Table structure for ic_work_log_file
-- ----------------------------
DROP TABLE IF EXISTS `ic_work_log_file`;
CREATE TABLE `ic_work_log_file` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识',
`CUSTOMER_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '客户Id',
`LOG_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志Id',
`URL` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '地址',
`FILE_NAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名',
`FILE_TYPE` char(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '文件类型,0图片',
`SORT` int(11) NOT NULL DEFAULT 0 COMMENT '内容',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '网格员工作日志附件' ROW_FORMAT = COMPACT;
SET FOREIGN_KEY_CHECKS = 1;

1
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.43__alter_work_log.sql

@ -0,0 +1 @@
ALTER TABLE epmet_gov_org.ic_work_log MODIFY COLUMN GRID_ID varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '网格Id【场所区域】';

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/public_service_template.xlsx

Binary file not shown.

15
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -371,6 +371,7 @@
WHERE
cg.DEL_FLAG = '0'
AND cg.PID =#{agencyId}
order by cg.sort
</select>
<select id="selectSubAgencyByPid" resultMap="treeMap">
@ -981,4 +982,18 @@
</if>
</select>
<!-- 根据人查询所在组织 -->
<select id="getAgencyByUserId" resultType="com.epmet.entity.CustomerAgencyEntity">
SELECT
a.*
FROM
customer_staff_agency sa
LEFT JOIN customer_agency a ON sa.AGENCY_ID = a.ID
WHERE
sa.del_flag = '0'
AND a.DEL_FLAG = '0'
AND sa.USER_ID = #{userId} AND sa.CUSTOMER_ID = #{customerId} AND a.CUSTOMER_ID = #{customerId}
LIMIT 1
</select>
</mapper>

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

@ -196,7 +196,8 @@
`code` AS 'code',
grid_type AS 'gridType',
contacts AS 'contacts',
mobile AS 'mobile'
mobile AS 'mobile',
sort AS gridSort
FROM
customer_grid
WHERE
@ -256,6 +257,9 @@
<if test="centerAddress != null and centerAddress !=''">
CENTER_ADDRESS= #{centerAddress},
</if>
<if test="sort != null and sort != ''">
sort = #{sort},
</if>
UPDATED_TIME=NOW()
where
id = #{id}
@ -314,7 +318,7 @@
DEL_FLAG = '0'
AND ABANDON_FLAG='0'
AND PID = #{agencyId}
ORDER BY CREATED_TIME DESC
ORDER BY sort,grid_name,CREATED_TIME DESC
<if test="null != pageSize and pageSize > 0">
LIMIT #{pageSize}
</if>
@ -417,6 +421,8 @@
WHERE del_flag = '0'
and ABANDON_FLAG='0'
AND pid = #{agencyId}
order by
sort,grid_name
</select>
<select id="selectAgencyGridMsgList" resultType="com.epmet.dto.result.AgencyGridList">
@ -440,6 +446,8 @@
AND ca.del_flag = '0'
and cg.ABANDON_FLAG='0'
AND cg.pid = #{agencyId}
order by
cg.sort,cg.grid_name
</select>
<!-- 单客户-根据城市地区码前四位匹配到城市下所有网格 -->
@ -474,8 +482,10 @@
</if>
AND grid.customer_id = #{customerId}
ORDER BY
grid.customer_id,
CONVERT ( gridName USING gbk ) ASC
grid.sort,
CONVERT ( gridName USING gbk ) ASC,
grid.customer_id
LIMIT #{pageNo}, #{pageSize}
</select>
@ -488,7 +498,9 @@
SELECT
a.id AS grid_id,
a.customer_id,
concat( agency.fullname, '-', a.grid_name ) AS gridName
concat( agency.fullname, '-', a.grid_name ) AS gridName,
a.sort as sort,
agency.fullname as fullName
FROM
CUSTOMER_GRID a
LEFT JOIN (
@ -512,7 +524,7 @@
and a.ABANDON_FLAG='0'
AND a.customer_id = #{customerId}
) AS c
ORDER BY CONVERT ( gridName USING gbk ) ASC
ORDER BY fullName,c.sort,CONVERT ( gridName USING gbk ) ASC
LIMIT #{pageNo}, #{pageSize}
</select>

9
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -541,4 +541,13 @@
and CODING=#{coding}
</select>
<select id="getHouseInfoToCollect" resultType="com.epmet.dto.result.IcHouseInfoCollectResultDTO">
select *
from ic_house
where del_flag = '0'
and BUILDING_UNIT_ID = #{buildingUnitId}
and DOOR_NAME = #{doorName}
</select>
</mapper>

118
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogDao.xml

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcWorkLogDao">
<resultMap type="com.epmet.entity.IcWorkLogEntity" id="icWorkLogMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="pids" column="PIDS"/>
<result property="gridId" column="GRID_ID"/>
<result property="title" column="TITLE"/>
<result property="logType" column="LOG_TYPE"/>
<result property="logDate" column="LOG_DATE"/>
<result property="content" column="CONTENT"/>
<result property="remark" column="REMARK"/>
<result property="mobile" column="MOBILE"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="listPage" resultType="com.epmet.dto.IcWorkLogDTO">
SELECT
*
FROM
ic_work_log wl
WHERE
wl.DEL_FLAG = '0'
AND wl.CUSTOMER_ID = #{customerId}
<if test="logType != null and logType != '' ">
AND wl.LOG_TYPE = #{logType}
</if>
<if test="createdUser != null and createdUser != '' ">
AND wl.created_user = #{createdUser}
</if>
<if test="gridId != null and gridId != '' ">
AND wl.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND (wl.AGENCY_ID = #{agencyId}
OR wl.PIDS LIKE concat('%',#{agencyId}, '%' ))
</if>
<if test="mobile != null and mobile != '' ">
AND wl.MOBILE = #{mobile}
</if>
<if test="isSelf != null and isSelf != ''">
<if test="isSelf == '1' or isSelf == 1">
AND wl.CREATED_BY = #{createdBy}
</if>
</if>
<if test="startTime != null and startTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) >= #{startTime}
</if>
<if test="endTime != null and endTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) &lt;= #{endTime}
</if>
ORDER BY wl.CREATED_TIME DESC
</select>
<select id="list4Export" resultType="com.epmet.dto.IcWorkLogDTO">
SELECT
wl.CREATED_USER,
wl.MOBILE,
IF
(
a.ALL_PARENT_NAME = '',
a.ORGANIZATION_NAME,
CONCAT( a.ALL_PARENT_NAME, '-', a.ORGANIZATION_NAME )) AS allAgencyName,
g.GRID_NAME,
wl.TITLE,
wl.LOG_DATE,
wl.LOG_TYPE,
wl.CONTENT,
wl.REMARK,
GROUP_CONCAT( f.URL ) AS url
FROM
ic_work_log wl
LEFT JOIN customer_grid g ON wl.GRID_ID = g.id
LEFT JOIN customer_agency a ON wl.AGENCY_ID = a.id
LEFT JOIN ic_work_log_file f ON f.LOG_ID = wl.id
WHERE
wl.DEL_FLAG = '0'
AND wl.CUSTOMER_ID = #{customerId}
<if test="logType != null and logType != '' ">
AND wl.LOG_TYPE = #{logType}
</if>
<if test="createdUser != null and createdUser != '' ">
AND wl.created_user = #{createdUser}
</if>
<if test="gridId != null and gridId != '' ">
AND wl.GRID_ID = #{gridId}
</if>
<if test="agencyId != null and agencyId != '' ">
AND (wl.AGENCY_ID = #{agencyId}
OR wl.PIDS LIKE concat('%',#{agencyId}, '%' ))
</if>
<if test="mobile != null and mobile != '' ">
AND wl.MOBILE = #{mobile}
</if>
<if test="isSelf != null and isSelf != '' and isSelf == '1' ">
AND wl.CREATED_BY = #{createdBy}
</if>
<if test="startTime != null and startTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) >= #{startTime}
</if>
<if test="endTime != null and endTime != '' ">
AND DATE_FORMAT( wl.CREATED_TIME, '%Y-%m-%d' ) &lt;= #{endTime}
</if>
GROUP BY
wl.id, wl.CREATED_TIME
ORDER BY wl.CREATED_TIME DESC
</select>
</mapper>

30
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcWorkLogFileDao.xml

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcWorkLogFileDao">
<resultMap type="com.epmet.entity.IcWorkLogFileEntity" id="icWorkLogFileMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="logId" column="LOG_ID"/>
<result property="url" column="URL"/>
<result property="fileName" column="FILE_NAME"/>
<result property="fileType" column="FILE_TYPE"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByLogId">
DELETE
FROM
ic_work_log_file
WHERE
LOG_ID = #{logId}
</delete>
</mapper>

5
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java

@ -84,5 +84,10 @@ public class IcEventListFormDTO implements Serializable {
* 操作类型 0:取消标记 1:标记
*/
private String type;
/**
* 事件分类 一类二类Id集合
*/
private List<String> firstIdList;
private List<String> secondIdList;
}

5
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/OrgProjectListFormDTO.java

@ -3,7 +3,6 @@ package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@ -46,6 +45,10 @@ public class OrgProjectListFormDTO extends PageFormDTO implements Serializable {
* 事件状态 处理中 pending已结案 closed
*/
private String status;
/**
* 解决状态 已解决 resolved无需解决 unresolved
*/
private String closedStatus;
/**
* 起始上报时间 精确到秒
*/

2
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java

@ -22,7 +22,7 @@ public class TransferFormDTO implements Serializable {
@NotBlank(message = "项目人员关联Id不能为空")
private String projectStaffId;
@NotBlank(message = "公开答复不能为空")
// @NotBlank(message = "公开答复不能为空")
@Length(max=1000,message = "公开答复内容不能超过1000位")
private String publicReply;

2
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/OrgProjectListResultDTO.java

@ -98,6 +98,8 @@ public class OrgProjectListResultDTO implements Serializable {
*/
private String status;
private String statusValue;
private String closedStatus;
private String closedStatusValue;
/**
* 是否需要自己处理 true:需要 false:不需要
*/

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/IcEventExcel.java

@ -20,6 +20,10 @@ public class IcEventExcel {
@ColumnWidth(20)
private String gridName;
@ExcelProperty(value = "事件分类")
@ColumnWidth(25)
private String categoryName;
@ExcelProperty(value = "事件内容")
@ColumnWidth(25)
private String eventContent;

7
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/OrgProjectListExcel.java

@ -1,12 +1,9 @@
package com.epmet.excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
import java.util.List;
/**
* 事件管理表
*
@ -122,5 +119,9 @@ public class OrgProjectListExcel {
@ColumnWidth(20)
private String status;
@ExcelProperty(value = "解决状态")
@ColumnWidth(20)
private String closedStatus;
}

17
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java

@ -125,6 +125,15 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit
Result<Map<String, String>> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_EVENT_SOURCE_TYPE.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
//查询分类信息
IssueProjectCategoryDictListFormDTO dictFormDto = new IssueProjectCategoryDictListFormDTO();
dictFormDto.setCustomerId(formDTO.getCustomerId());
Result<List<IssueProjectCategoryDictDTO>> categoryRes = govIssueOpenFeignClient.getCategoryList(dictFormDto);
if (!categoryRes.success() || org.springframework.util.CollectionUtils.isEmpty(categoryRes.getData())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取项目分类名称异常");
}
Map<String, IssueProjectCategoryDictDTO> categoryMap = categoryRes.getData().stream().collect(Collectors.toMap(IssueProjectCategoryDictDTO::getId, o -> o, (o1, o2) -> o1));
//封装数据
for (IcEventListResultDTO dto : list) {
if (gridInfoMap.containsKey(dto.getGridId())) {
@ -133,6 +142,14 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit
if (StringUtils.isNotBlank(dto.getSourceType())) {
dto.setSourceTypeName(statusMap.get(dto.getSourceType()));
}
if (categoryMap.containsKey(dto.getCategoryId())) {
IssueProjectCategoryDictDTO category = categoryMap.get(dto.getCategoryId());
if (StringUtils.isNotBlank(category.getParentCategoryName())) {
dto.setCategoryName(category.getParentCategoryName().concat(StrConstant.HYPHEN).concat(category.getCategoryName()));
} else {
dto.setCategoryName(category.getCategoryName());
}
}
//每个事件对应的图片数据
if(!CollectionUtils.isEmpty(dto.getAttachmentList())){
List<String> imageList = new ArrayList<>();

18
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml

@ -218,6 +218,24 @@
<if test="status != null and status != '' ">
AND ie.`status` = #{status}
</if>
<if test="(firstIdList != null and firstIdList.size() > 0) and (secondIdList == null or secondIdList.size() == 0)"><!-- 一类查询条件 -->
<foreach collection="firstIdList" item="firstId" open="AND iec.CATEGORY_PIDS IN (" separator="," close=")">
#{firstId}
</foreach>
</if>
<if test="(secondIdList != null and secondIdList.size() > 0) and (firstIdList == null or firstIdList.size() == 0)"><!-- 二类查询条件 -->
<foreach collection="secondIdList" item="secondId" open="AND iec.CATEGORY_ID IN (" separator="," close=")">
#{secondId}
</foreach>
</if>
<if test="(secondIdList != null and secondIdList.size() > 0) and (firstIdList != null and firstIdList.size() > 0)"><!-- 二类查询条件 -->
<foreach collection="firstIdList" item="firstId" open="AND (iec.CATEGORY_PIDS IN (" separator="," close=")">
#{firstId}
</foreach>
<foreach collection="secondIdList" item="secondId" open="OR iec.CATEGORY_ID IN (" separator="," close="))">
#{secondId}
</foreach>
</if>
order by ie.created_time desc, ie.latest_operated_time desc
</select>

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

@ -655,6 +655,8 @@
p.back_ground,
( CASE WHEN p.`STATUS` = 'pending' THEN '处理中' WHEN p.`STATUS` = 'closed' THEN '已结案' ELSE '' END ) AS status,
p.`status` AS statusValue,
( CASE WHEN p.CLOSED_STATUS = 'resolved' THEN '已解决' WHEN p.CLOSED_STATUS = 'unresolved' THEN '无需解决' ELSE '' END ) AS closedStatus,
p.CLOSED_STATUS AS closedStatusValue,
pc.category_pids,
pc.category_id,
pp.public_reply,
@ -671,16 +673,24 @@
group by project_id
ORDER BY created_time desc
)pc ON p.id = pc.project_id
<if test="firstIdList != null and firstIdList.size() > 0"><!-- 一类查询条件 -->
<if test="(firstIdList != null and firstIdList.size() > 0) and (secondIdList == null or secondIdList.size() == 0)"><!-- 一类查询条件 -->
<foreach collection="firstIdList" item="firstId" open="AND pc.category_pids IN (" separator="," close=")">
#{firstId}
</foreach>
</if>
<if test="secondIdList != null and secondIdList.size() > 0"><!-- 二类查询条件 -->
<if test="(secondIdList != null and secondIdList.size() > 0) and (firstIdList == null or firstIdList.size() == 0)"><!-- 二类查询条件 -->
<foreach collection="secondIdList" item="secondId" open="AND pc.category_id IN (" separator="," close=")">
#{secondId}
</foreach>
</if>
<if test="(secondIdList != null and secondIdList.size() > 0) and (firstIdList != null and firstIdList.size() > 0)"><!-- 二类查询条件 -->
<foreach collection="firstIdList" item="firstId" open="AND (pc.CATEGORY_PIDS IN (" separator="," close=")">
#{firstId}
</foreach>
<foreach collection="secondIdList" item="secondId" open="OR pc.CATEGORY_ID IN (" separator="," close="))">
#{secondId}
</foreach>
</if>
LEFT JOIN project_process pp ON p.id = pp.project_id AND pp.operation = 'close'
INNER JOIN project_process ppc ON p.id = ppc.project_id AND ppc.operation = 'created'
<if test="staffName != null and staffName != ''"><!-- 上报人姓名对应查询条件,上报人就是对应的创建节点的人 -->
@ -722,6 +732,9 @@
<if test="null != endTime and endTime != '' ">
AND p.created_time <![CDATA[ <= ]]> #{endTime}
</if>
<if test="closedStatus != null and closedStatus != ''">
AND p.CLOSED_STATUS = #{closedStatus}
</if>
</select>
<select id="getIndexExplainTreeByPid" resultType="com.epmet.dto.form.FileDTO"><!-- 项目创建节点的图片附件 -->
SELECT

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save