Browse Source

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

dev
jianjun 4 years ago
parent
commit
6f8a4b480f
  1. 29
      .gitignore
  2. 4
      epmet-cloud-generator/src/main/resources/application.yml
  3. 17
      epmet-cloud-generator/src/main/resources/template/Controller.java.vm
  4. 17
      epmet-cloud-generator/src/main/resources/template/DTO.java.vm
  5. 17
      epmet-cloud-generator/src/main/resources/template/Dao.java.vm
  6. 17
      epmet-cloud-generator/src/main/resources/template/Entity.java.vm
  7. 17
      epmet-cloud-generator/src/main/resources/template/Excel.java.vm
  8. 17
      epmet-cloud-generator/src/main/resources/template/Redis.java.vm
  9. 17
      epmet-cloud-generator/src/main/resources/template/Service.java.vm
  10. 17
      epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm
  11. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java
  12. 47
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java
  13. 112
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ResiEventReportOrgDTO.java
  14. 12
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java
  15. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
  16. 64
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
  17. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
  18. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataShibeiResultDTO.java
  19. 13
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java
  20. 42
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataShibeiDao.java
  21. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java
  22. 20
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
  23. 29
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataShibeiDao.xml
  24. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java
  25. 12
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
  26. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  27. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  28. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  29. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  30. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java
  31. 13
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java
  32. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/PageListAnalysisFormDTO.java
  33. 33
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemAddFormDTO.java
  34. 20
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemPageFormDTO.java
  35. 3
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StatusFormDTO.java
  36. 5
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java
  37. 19
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/ServiceItemResultDTO.java
  38. 3
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcResiDemandDictController.java
  39. 71
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceItemDictController.java
  40. 47
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java
  41. 37
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java
  42. 83
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceItemDictEntity.java
  43. 55
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java
  44. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
  45. 1
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java
  46. 126
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java
  47. 151
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  48. 117
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.8__service_item_dict.sql
  49. 21
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml
  50. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  51. 91
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/IcOftenUseFunctionDTO.java
  52. 26
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AddOftenUseFunctionFormDTO.java
  53. 41
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OftenUseFunctionListResultDTO.java
  54. 56
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/IcOftenUseFunctionController.java
  55. 54
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/IcOftenUseFunctionDao.java
  56. 61
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/IcOftenUseFunctionEntity.java
  57. 53
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/IcOftenUseFunctionService.java
  58. 81
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/IcOftenUseFunctionServiceImpl.java
  59. 27
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/IcOftenUseFunctionDao.xml
  60. 1
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/DailyStatisticalVoteJobResultDTO.java
  61. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
  62. 39
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java
  63. 10
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
  64. 4
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDailyDao.xml
  65. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListIcNeighborHoodFormDTO.java
  66. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java
  67. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java
  68. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  69. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  70. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  71. 69
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  72. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  73. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  74. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  75. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
  76. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  77. 70
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  78. 22
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  79. 40
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  80. 0
      epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.19__project_work_minutes.sql
  81. 74
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcIndividualCategoryManageDTO.java
  82. 26
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIndividualCategoryFormDTO.java
  83. 36
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java
  84. 56
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcIndividualCategoryManageController.java
  85. 37
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcIndividualCategoryManageDao.java
  86. 44
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcIndividualCategoryManageEntity.java
  87. 39
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcIndividualCategoryManageService.java
  88. 62
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java
  89. 23
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml
  90. 137
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java
  91. 131
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java
  92. 231
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserTransferRecordDTO.java
  93. 52
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java
  94. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
  95. 28
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  96. 41
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeDetailedController.java
  97. 40
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
  98. 40
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserTransferRecordController.java
  99. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
  100. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

29
.gitignore

@ -0,0 +1,29 @@
# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.idea/
*.iml
target/

4
epmet-cloud-generator/src/main/resources/application.yml

@ -10,8 +10,8 @@ spring:
#MySQL配置
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.140:3306/epmet_data_statistical?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: epmet_dba
password: EpmEt-dbA-UsEr
username: root
password: root
#oracle配置
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@192.168.10.10:1521:helowin

17
epmet-cloud-generator/src/main/resources/template/Controller.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.controller;
import ${main}.commons.tools.page.PageData;

17
epmet-cloud-generator/src/main/resources/template/DTO.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.dto;
import java.io.Serializable;

17
epmet-cloud-generator/src/main/resources/template/Dao.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.dao;
import ${main}.commons.mybatis.dao.BaseDao;

17
epmet-cloud-generator/src/main/resources/template/Entity.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.entity;
import com.baomidou.mybatisplus.annotation.TableName;

17
epmet-cloud-generator/src/main/resources/template/Excel.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;

17
epmet-cloud-generator/src/main/resources/template/Redis.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.redis;
import ${main}.commons.tools.redis.RedisUtils;

17
epmet-cloud-generator/src/main/resources/template/Service.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.service;
import ${main}.commons.mybatis.service.BaseService;

17
epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm

@ -1,20 +1,3 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java

@ -4,6 +4,7 @@ import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 分页通用类
@ -12,7 +13,9 @@ import javax.validation.constraints.NotNull;
* @date 2020/11/20 17:02
*/
@Data
public class PageFormDTO {
public class PageFormDTO implements Serializable {
private static final long serialVersionUID = -4145040961294503137L;
public interface AddUserInternalGroup {
}

47
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.dataaggre.dto.epmetuser.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 工作人员信息结果
* @Auth sun
*/
@Data
public class StaffInfoResultDTO implements Serializable {
private static final long serialVersionUID = -746814280620822111L;
/**
* 用户Id
*/
private String userId;
/**
* 用户名
*/
private String userName;
/**
* 手机号
*/
private String mobile;
/**
* 性别0.未知1男2.
*/
private Integer gender;
/**
* 组织Id
*/
private String orgId;
/**
* 组织名
*/
private String orgName;
}

112
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ResiEventReportOrgDTO.java

@ -0,0 +1,112 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dataaggre.dto.govproject;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 事件相关组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-08-03
*/
@Data
public class ResiEventReportOrgDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 事件id
*/
private String resiEventId;
/**
* 报给
网格grid
社区community
街道:street
区县级: district
市级: city
省级:province
*/
private String orgType;
/**
* 报给的组织或者网格id
*/
private String orgId;
/**
* org_id的上级组织idorg_id是跟组织此列为0
*/
private String orgPid;
/**
* org_id的所有上级组织idorg_id是跟组织此列为0
*/
private String orgPids;
/**
* 含义已读read未读un_read组织下的工作人员从待处理=>处理中点击查看详情前更新为已读
*/
private String orgRead;
/**
* (1)含义1:展示红点0不展示(2)注意发布事件插入数据时为1(3)何时更新人大代表回复or报事人回复or工作人员回复立项办结更新为1
*/
private Boolean redDot;
/**
* 删除标识:0.未删除 1.已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

12
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java

@ -32,12 +32,14 @@ public class CategoryProjectResultDTO implements Serializable {
private List<String> categoryCodes = new ArrayList<>();
//一级分类名称集合
private List<String> categoryNames = new ArrayList<>();
//来源:议题issue 项目立项:agency 事件:resi_event【控制电机查看时里边三个按钮的显示】
//网格Id
private String gridId;
//来源:议题issue 项目立项:agency 事件:resi_event【控制点击查看时里边三个按钮的显示】
private String origin;
//网格Id[上报给组织的事件、直接立项的项目此值为空]
private String gridId = "";
//网格名[上报给组织的事件、直接立项的项目此值为空]
private String gridName = "";
//来源Id
private String originId;
//所属组织名[来源楼院小组的项目所属组织显示来源的网格名,直接立项的显示立项的组织名,来源事件的显示上报给的网格或组织名]
private String orgName = "";
//状态:待处理 pending,已结案closed
private String status;
//标题

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

@ -22,6 +22,7 @@ import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO;
import com.epmet.dataaggre.dto.govproject.ProjectDTO;
import com.epmet.dataaggre.dto.govproject.ProjectRelatedPersonnelDTO;
import com.epmet.dataaggre.dto.govproject.ResiEventDTO;
import com.epmet.dataaggre.dto.govproject.ResiEventReportOrgDTO;
import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO;
import com.epmet.dataaggre.dto.govproject.form.CategoryProjectFormDTO;
import com.epmet.dataaggre.dto.govproject.form.ProjectCategoryTotalFormDTO;
@ -116,5 +117,10 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
@Param("userIds") List<String> userIds,
@Param("origin") String origin);
/**
* @Description 事件项目上报组织信息
* @author sun
*/
List<ResiEventReportOrgDTO> getEventOrgList(@Param("eventIds") List<String> eventIds);
List<ProjectCategoryTotalResultDTO> getCategoryCount(ProjectCategoryTotalFormDTO formDTO);
}

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

@ -10,6 +10,8 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
@ -25,6 +27,7 @@ import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO;
import com.epmet.dataaggre.dto.govproject.ProjectDTO;
import com.epmet.dataaggre.dto.govproject.ProjectRelatedPersonnelDTO;
import com.epmet.dataaggre.dto.govproject.ResiEventDTO;
import com.epmet.dataaggre.dto.govproject.ResiEventReportOrgDTO;
import com.epmet.dataaggre.dto.govproject.form.*;
import com.epmet.dataaggre.dto.govproject.result.*;
import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO;
@ -427,23 +430,66 @@ public class GovProjectServiceImpl implements GovProjectService {
List<String> projectIds = result.getList().stream().map(CategoryProjectResultDTO.Project::getProjectId).collect(Collectors.toList());
List<CategoryProjectResultDTO.Project> list = projectDao.getCategoryList(projectIds);
//4.查询网格信息【楼院小组类项目、上报事件且上报给网格的项目才存在网格Id】
List<String> gridIds = result.getList().stream().map(CategoryProjectResultDTO.Project::getGridId).collect(Collectors.toList());
gridIds = gridIds.stream().distinct().collect(Collectors.toList());
List<GridsInfoListResultDTO> gridList = govOrgService.gridListByIds(gridIds);
//4.查询来源事件的项目上报的组织信息
List<String> eventIds = result.getList().stream().filter(re -> "resi_event".equals(re.getOrigin())).map(m -> m.getOriginId()).collect(Collectors.toList());
List<ResiEventReportOrgDTO> eventOrgList = projectDao.getEventOrgList(eventIds);
Map<String, ResiEventReportOrgDTO> eventMap = eventOrgList.stream().collect(Collectors.toMap(ResiEventReportOrgDTO::getResiEventId, Function.identity()));
//5.查询来源议题、事件的项目居民端创建人userId
List<ResiEventDTO> eventUser = projectDao.getEventList(projectIds);
List<ProjectRelatedPersonnelDTO> topicUser = projectDao.getTopicUser(projectIds);
//5.封装数据
//组织或网格id->组织或网格名称
Map<String, String> map = new HashMap<>();
result.getList().forEach(re -> {
//项目涉及网格信息
gridList.forEach(g -> {
if (StringUtils.isNotBlank(re.getGridId()) && re.getGridId().equals(g.getGridId())) {
re.setGridName(g.getName());
//所属组织
if ("issue".equals(re.getOrigin())) {
if (map.containsKey(re.getGridId())) {
re.setOrgName(map.get(re.getGridId()));
} else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(re.getGridId());
if (gridInfo != null) {
re.setOrgName(gridInfo.getGridName());
map.put(re.getGridId(), gridInfo.getGridName());
}
}
});
} else if ("agency".equals(re.getOrigin())) {
if (map.containsKey(re.getAgencyId())) {
re.setOrgName(map.get(re.getAgencyId()));
} else {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(re.getAgencyId());
if (agencyInfo != null) {
re.setOrgName(agencyInfo.getOrganizationName());
map.put(re.getAgencyId(), agencyInfo.getOrganizationName());
}
}
} else if ("resi_event".equals(re.getOrigin())) {
if (eventMap.containsKey(re.getOriginId())) {
if ("grid".equals(eventMap.get(re.getOriginId()).getOrgType())) {
if (map.containsKey(re.getGridId())) {
re.setOrgName(map.get(re.getGridId()));
} else {
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(re.getGridId());
if (gridInfo != null) {
re.setOrgName(gridInfo.getGridName());
map.put(re.getGridId(), gridInfo.getGridName());
}
}
} else {
if (map.containsKey(re.getAgencyId())) {
re.setOrgName(map.get(re.getAgencyId()));
} else {
AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(re.getAgencyId());
if (agencyInfo != null) {
re.setOrgName(agencyInfo.getOrganizationName());
map.put(re.getAgencyId(), agencyInfo.getOrganizationName());
}
}
}
}
}
//项目涉及分类信息【一个项目涉及多个一级分类】
//一级分类Id
List<String> caId = new ArrayList<>();

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

@ -29,7 +29,6 @@
WHERE
p.DEL_FLAG = '0'
AND p.CUSTOMER_ID = #{customerId}
AND p.ORG_ID_PATH LIKE concat('%', #{agencyId}, '%')
<if test="projectStatus != null and projectStatus != ''">
AND p.`STATUS` = #{projectStatus}
</if>
@ -267,6 +266,7 @@
p.agency_id agencyId,
p.id projectId,
p.origin origin,
p.origin_id originId,
IFNULL(pc.grid_id, '') gridId,
p.`status` status,
p.title title,
@ -379,6 +379,21 @@
GROUP BY pc.project_id
ORDER BY p.created_time DESC
</select>
<select id="getEventOrgList" resultType="com.epmet.dataaggre.dto.govproject.ResiEventReportOrgDTO">
SELECT
customer_id,
resi_event_id,
org_type,
org_id
FROM
resi_event_report_org
WHERE
del_flag = '0'
<foreach collection="eventIds" item="eventId" open="AND resi_event_id IN (" separator="," close=")">
#{eventId}
</foreach>
</select>
<select id="getCategoryCount" resultType="com.epmet.dataaggre.dto.govproject.result.ProjectCategoryTotalResultDTO">
SELECT
LEFT(c.CATEGORY_CODE,#{categoryOneLength}) CATEGORY_CODE,

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataShibeiResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 市北数字社区-组织先进排行榜 查询结果dto
* @ClassName OrgRankDataResultDTO
* @Auth wangc
* @Date 2020-08-21 11:16
*/
@Data
public class OrgRankDataShibeiResultDTO implements Serializable {
private static final long serialVersionUID = -7874641768141936572L;
private String orgId;
/**
* 名称 XXXX社区党委
* */
private String name;
/**
* 党员数
* */
private BigDecimal score;
/**
* 数据所属月份
*/
private String monthId;
}

13
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java

@ -154,6 +154,19 @@ public class IndexController {
return new Result<List<IndexAdvanceBranchRankResultDTO>>().ok(indexService.advancedBranchRank(formDTO));
}
/**
* @param formDTO
* @Description 数字社区数据分析-动力网格
* @author sun
*/
@PostMapping("advancedbranchrank-shibei")
Result<List<OrgRankDataShibeiResultDTO>> advancedBranchRankShibei(@RequestBody AdvancedBranchRankFormDTO formDTO, @LoginUser TokenDto loginUser){
ValidatorUtils.validateEntity(formDTO, AdvancedBranchRankFormDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(loginUser.getCustomerId());
//formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
return new Result<List<OrgRankDataShibeiResultDTO>>().ok(indexService.advancedBranchRankShibei(formDTO));
}
/**
* @param formDTO
* @author yinzuomei

42
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataShibeiDao.java

@ -0,0 +1,42 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screen;
import com.epmet.evaluationindex.screen.dto.form.AdvancedBranchRankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.OrgRankDataShibeiResultDTO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 党建引领-组织排行榜
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-08-18
*/
@Mapper
public interface ScreenOrgRankDataShibeiDao {
/**
* @return
* @Description 查询指定机关的所有直属网格月度数据
* @author wangc
* @date 2020.08.21 13:58
**/
List<OrgRankDataShibeiResultDTO> selectGridRankList(AdvancedBranchRankFormDTO formDTO);
}

10
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java

@ -94,4 +94,14 @@ public interface IndexService {
* @Date 2021/2/28 14:33
**/
List<SubAgencyIndexRankResultDTO> subAgencyIndexRankPy(SubAgencyIndexRankPyFormDTO formDTO);
/**
* desc: 市北数字社区特供接口 网格排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.IndexAdvanceBranchRankResultDTO>
* @author LiuJanJun
* @date 2022/1/14 4:57 下午
*/
List<OrgRankDataShibeiResultDTO> advancedBranchRankShibei(AdvancedBranchRankFormDTO formDTO);
}

20
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java

@ -9,6 +9,7 @@ import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataMonthlyDao;
import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataYearlyDao;
import com.epmet.datareport.dao.evaluationindex.screen.ScreenOrgRankDataShibeiDao;
import com.epmet.datareport.service.evaluationindex.screen.IndexService;
import com.epmet.evaluationindex.screen.constant.ScreenConstant;
import com.epmet.evaluationindex.screen.dto.form.*;
@ -43,6 +44,8 @@ public class IndexServiceImpl implements IndexService {
@Autowired
private ScreenIndexDataMonthlyDao screenIndexDataMonthlyDao;
@Autowired
private ScreenOrgRankDataShibeiDao screenOrgRankDataShibeiDao;
@Autowired
private PartyMemberLeadServiceImpl partyMemberLeadServiceImpl;
@Autowired
private com.epmet.datareport.utils.DateUtils dateUtils;
@ -412,6 +415,23 @@ public class IndexServiceImpl implements IndexService {
return list;
}
/**
* @param formDTO
* @Description 先进排行-先进支部排行
* @author sun
* @return
*/
@Override
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public List<OrgRankDataShibeiResultDTO> advancedBranchRankShibei(AdvancedBranchRankFormDTO formDTO) {
//根据当前所选组织,查询screen_index_data_monthly中类型为网格的按照总指数倒序,关联screen_org_rank_data表取其他数据
//1.级联查询组织下所有网格的先进支部排行数据,按总指数降序
if (StringUtils.isBlank(formDTO.getMonthId())) {
formDTO.setMonthId(DateUtils.getBeforeNMonth(1));
}
return screenOrgRankDataShibeiDao.selectGridRankList(formDTO);
}
@Override
@DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
public List<PeerComparisonResultDTO> getSubSingleIndexRank(SubSingleIndexRankFormDTO formDTO) {

29
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataShibeiDao.xml

@ -0,0 +1,29 @@
<?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.datareport.dao.evaluationindex.screen.ScreenOrgRankDataShibeiDao">
<!-- 查询指定机关的直属网格月度数据 -->
<select id="selectGridRankList" resultType="com.epmet.evaluationindex.screen.dto.result.OrgRankDataShibeiResultDTO">
SELECT
rankData.ORG_NAME AS NAME,
round(rankData.SCORE,1) score,
rankData.ORG_ID as orgId,
rankData.MONTH_ID
FROM
screen_org_rank_data_shibei rankData
LEFT JOIN screen_customer_agency agency
ON rankData.PARENT_ID = agency.AGENCY_ID AND agency.DEL_FLAG = 0
WHERE
rankData.DEL_FLAG = '0'
AND rankData.ORG_TYPE = 'grid'
AND rankData.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%')
AND rankData.MONTH_ID = #{monthId}
AND rankData.CUSTOMER_ID = #{customerId}
ORDER BY
rankData.SCORE DESC
LIMIT #{topNum}
</select>
</mapper>

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java

@ -135,15 +135,10 @@ public class StatsGroupServiceImpl implements StatsGroupService {
if (customerIds.size() != NumConstant.ZERO) {
DimIdGenerator.DimIdBean dimIdBean = this.getDimIdBean(formDTO);
customerIds.forEach(customerId -> {
Boolean status = true;
try {
List<DimAgencyDTO> customerAgencyInfos = dimAgencyService.getAgencyInfoByCustomerId(customerId);
List<List<DimAgencyDTO>> partition = ListUtils.partition(customerAgencyInfos, NumConstant.ONE_HUNDRED);
for (List<DimAgencyDTO> p : partition) {
List<AgencyGroupDailyResultDTO> agencyGroupDaily = this.getAgencyGroupDaily(p, dimIdBean, customerId);
factGroupAgencyDailyService.insertGroupAgencyDaily(agencyGroupDaily, customerId,status);
status = false;
}
List<AgencyGroupDailyResultDTO> agencyGroupDaily = this.getAgencyGroupDaily(customerAgencyInfos, dimIdBean, customerId);
factGroupAgencyDailyService.insertGroupAgencyDaily(agencyGroupDaily, customerId);
} catch (Exception e) {
log.error(String.format(GroupConstant.STATS_FAILED_AGENCY_DAILY, customerId, LocalDate.now(), e));
}
@ -180,7 +175,7 @@ public class StatsGroupServiceImpl implements StatsGroupService {
}
/**
* @param customerAgencyInfos
* @param agencyList
* @param timeDim
* @param customerId
* @Description 网格小组 机关- 数据统计处理

12
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java

@ -185,14 +185,14 @@ public class StatsProjectServiceImpl implements StatsProjectService {
projectEntity.setCustomerId(customerId);
projectEntity.setCreatedTime(date);
projectEntity.setStatus(ProjectConstant.CLOSED);
projectEntity.setPageSize(NumConstant.FIFTY);
projectEntity.setPageSize(NumConstant.ONE_THOUSAND);
int pageNo = NumConstant.ONE;
int size = NumConstant.ZERO;
List<ProjectProcessEntity> processList = new ArrayList<>();
do {
//1.一千条一循环查询节点数据,封装每个组织对应数据
projectEntity.setPageNo(pageNo);
processList = projectProcessService.getProcessList(projectEntity);
processList = projectProcessService.getProcessAgencyList(projectEntity);
size = processList.size();
pageNo++;
//遍历删除项目节点表查询的无效数据
@ -247,8 +247,8 @@ public class StatsProjectServiceImpl implements StatsProjectService {
if (mapList.containsKey(agency.getId())) {
entity = mapList.get(agency.getId());
entity.setProjectTotal(entity.getProjectTotal() + projectTotal.intValue());
entity.setPendingTotal(entity.getPendingTotal() + projectTotal.intValue() - closedTotal.intValue());
entity.setClosedTotal(entity.getClosedTotal() + closedTotal.intValue());
entity.setPendingTotal(entity.getProjectTotal() - entity.getClosedTotal());
if (projectTotal.intValue() > NumConstant.ZERO) {
entity.setPendingRatio(new BigDecimal(numberFormat.format((float) entity.getPendingTotal() / (float) entity.getProjectTotal())));
entity.setClosedRatio(new BigDecimal(numberFormat.format((float) entity.getClosedTotal() / (float) entity.getProjectTotal())));
@ -278,7 +278,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
}
mapList.put(agency.getId(), entity);
}
} while (size == NumConstant.FIFTY);
} while (size == NumConstant.ONE_THOUSAND);
//二、再分页查询项目表数据,封装每个组织的已结案已解决总数、已结案未解决总数;日增量中已结案已解决总数、已结案未解决总数
int num = NumConstant.ONE;
@ -286,7 +286,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
do {
//3.一千条一循环查询项目数据,封装每个组织对应数据
projectEntity.setPageNo(num);
projectList = projectService.getProjectList(projectEntity);
projectList = projectService.getProjectAgencyList(projectEntity);
size = projectList.size();
num++;
//遍历删除项目主表查询的无效数据
@ -374,7 +374,7 @@ public class StatsProjectServiceImpl implements StatsProjectService {
}
mapList.put(agency.getId(), entity);
}
} while (size == NumConstant.FIFTY);
} while (size == NumConstant.ONE_THOUSAND);
List<FactAgencyProjectDailyEntity> projectDateEntityList = new ArrayList<>(mapList.values());
//三、批量保存数据,先删后增

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

@ -45,6 +45,7 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/
List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity);
List<ProjectProcessEntity> getProcessAgencyList(ProjectEntity projectEntity);
/**
* 根据客户查询项目处理进展

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -47,6 +47,7 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @Description 根据客户Id查询客户项目业务表有效数据
**/
List<ProjectEntity> getProjectList(ProjectEntity projectEntity);
List<ProjectEntity> getProjectAgencyList(ProjectEntity projectEntity);
/**
* 已结案项目统计

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

@ -63,6 +63,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
**/
@Override
public List<ProjectProcessEntity> getProcessList(ProjectEntity projectEntity) {
return baseDao.selectProcessList(projectEntity);
}
@Override
public List<ProjectProcessEntity> getProcessAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProcessList(projectEntity);
}

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

@ -55,6 +55,10 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
**/
@Override
public List<ProjectEntity> getProjectList(ProjectEntity projectEntity) {
return baseDao.selectProjectList(projectEntity);
}
@Override
public List<ProjectEntity> getProjectAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProjectList(projectEntity);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java

@ -101,7 +101,7 @@ public interface FactGroupAgencyDailyService extends BaseService<FactGroupAgency
* @param agencyList
* @author zxc
*/
void insertGroupAgencyDaily(List<AgencyGroupDailyResultDTO> agencyList,String customerId,Boolean status);
void insertGroupAgencyDaily(List<AgencyGroupDailyResultDTO> agencyList,String customerId);
/**
* @param

13
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java

@ -113,15 +113,12 @@ public class FactGroupAgencyDailyServiceImpl extends BaseServiceImpl<FactGroupAg
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void insertGroupAgencyDaily(List<AgencyGroupDailyResultDTO> agencyList,String customerId,Boolean status) {
public void insertGroupAgencyDaily(List<AgencyGroupDailyResultDTO> agencyList,String customerId) {
if (!CollectionUtils.isEmpty(agencyList)){
// true 为当前客户第一回进入,需要删除历史数据
if (status){
Integer delNum;
do {
delNum = baseDao.deleteInsertAgencyDailyByDateId(agencyList.get(NumConstant.ZERO).getDateId(),customerId);
}while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND);
}
Integer delNum;
do {
delNum = baseDao.deleteInsertAgencyDailyByDateId(agencyList.get(NumConstant.ZERO).getDateId(),customerId);
}while (delNum > NumConstant.ZERO && delNum == NumConstant.ONE_THOUSAND);
List<List<AgencyGroupDailyResultDTO>> partition = ListUtils.partition(agencyList, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertGroupAgencyDaily(p);

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/PageListAnalysisFormDTO.java

@ -53,4 +53,9 @@ public class PageListAnalysisFormDTO implements Serializable {
* 数据分析-服务措施分析排除已取消
*/
private String excludeStatus;
/**
* 搜索关键词
*/
private String keyword;
}

33
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemAddFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form.demand;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 新增或者修改服务事项分类
*/
@Data
public class ServiceItemAddFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
@NotBlank(message = "分类名称不能为空", groups = AddUserShowGroup.class)
@Length(max = 100, message = "分类名称至多输入100字", groups = AddUserShowGroup.class)
private String categoryName;
@NotNull(message = "", groups = AddUserShowGroup.class)
private Integer awardPoint;
private String categoryId;
}

20
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemPageFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form.demand;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 服务事项分类列表查询入参
* 目前不分页
*/
@Data
public class ServiceItemPageFormDTO extends PageFormDTO implements Serializable {
public interface AddUserInternalGroup {}
@NotBlank(message = "客户id不能为空",groups = AddUserInternalGroup.class)
private String customerId;
}

3
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StatusFormDTO.java

@ -17,4 +17,7 @@ public class StatusFormDTO implements Serializable {
@NotNull(message = "usableFlag不能为空", groups = AddUserInternalGroup.class)
private Boolean usableFlag;
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class)
private String userId;
}

5
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java

@ -74,4 +74,9 @@ public class UserDemandPageFormDTO extends PageFormDTO implements Serializable {
* 希望截止
*/
private String wantServiceEndTime;
/**
* 搜索关键词
*/
private String keyword;
}

19
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/ServiceItemResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.result.demand;
import lombok.Data;
import java.io.Serializable;
/**
* 服务事项分类列表查询返参
* 目前不分页
*/
@Data
public class ServiceItemResultDTO implements Serializable {
private static final long serialVersionUID = -590440160577071133L;
private String categoryId;
private String categoryName;
private Integer awardPoint;
private Boolean usableFlag;
}

3
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcResiDemandDictController.java

@ -114,7 +114,8 @@ public class IcResiDemandDictController {
* @return
*/
@PostMapping("updatestatus")
public Result updateStatus(@RequestBody StatusFormDTO formDTO){
public Result updateStatus(@LoginUser TokenDto tokenDto,@RequestBody StatusFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO,StatusFormDTO.AddUserInternalGroup.class);
icResiDemandDictService.updateStatus(formDTO);
return new Result();

71
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceItemDictController.java

@ -0,0 +1,71 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.demand.ServiceItemAddFormDTO;
import com.epmet.dto.form.demand.ServiceItemPageFormDTO;
import com.epmet.dto.form.demand.StatusFormDTO;
import com.epmet.dto.result.demand.ServiceItemResultDTO;
import com.epmet.service.IcServiceItemDictService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 服务事项分类字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2021-10-27
*/
@RestController
@RequestMapping("serviceitem")
public class IcServiceItemDictController {
@Autowired
private IcServiceItemDictService icServiceItemDictService;
/**
* 01分页列表查询
*
* @param formDTO
* @return
*/
@PostMapping("list")
public Result<PageData<ServiceItemResultDTO>> page(@RequestBody ServiceItemPageFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,ServiceItemPageFormDTO.AddUserInternalGroup.class);
PageData<ServiceItemResultDTO> page = icServiceItemDictService.page(formDTO);
return new Result<PageData<ServiceItemResultDTO>>().ok(page);
}
/**
* 02新增分类
* @param formDTO
* @return
*/
@PostMapping("saveorupdate")
public Result addOrUpdate(@RequestBody ServiceItemAddFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, ServiceItemAddFormDTO.AddUserShowGroup.class,ServiceItemAddFormDTO.AddUserInternalGroup.class);
icServiceItemDictService.addOrUpdate(formDTO);
return new Result();
}
/**
* 03启用或者禁用分类
* @param formDTO
* @return
*/
@PostMapping("updatestatus")
public Result updateStatus(@LoginUser TokenDto tokenDto, @RequestBody StatusFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO,StatusFormDTO.AddUserInternalGroup.class);
icServiceItemDictService.updateStatus(formDTO);
return new Result();
}
}

47
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java

@ -21,8 +21,12 @@ import com.epmet.commons.rocketmq.messages.ServerSatisfactionCalFormDTO;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg;
import com.epmet.commons.tools.enums.EventEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -30,12 +34,16 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.constant.SystemMessageType;
import com.epmet.constant.UserDemandConstant;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.form.SystemMsgFormDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.demand.*;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
@ -57,8 +65,8 @@ import java.util.List;
@Slf4j
@RestController
@RequestMapping("userdemand")
public class IcUserDemandRecController {
public class IcUserDemandRecController implements ResultDataResolver {
@Autowired
private IcUserDemandRecService icUserDemandRecService;
@Autowired
@ -71,6 +79,8 @@ public class IcUserDemandRecController {
private IcPartyUnitService icPartyUnitService;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient userOpenFeignClient;
/**
* 根据服务方类型查询 下拉框
@ -321,5 +331,38 @@ public class IcUserDemandRecController {
return new Result<CategoryAnalysisResDTO>().ok(icUserDemandRecService.categoryAnalysis(formDTO));
}
/**
* 搜索需求根据需求人精确搜索需求方需求内容模糊搜索
* @return
*/
@PostMapping("search")
public Result search(@RequestBody UserDemandPageFormDTO input, @LoginUser TokenDto loginUser) {
ValidatorUtils.validateEntity(input);
String keyword = input.getKeyword();
Integer pageNo = input.getPageNo();
Integer pageSize = input.getPageSize();
if (StringUtils.isBlank(keyword)) {
return new Result();
}
keyword = keyword.trim();
LoginUserDetailsFormDTO form = new LoginUserDetailsFormDTO();
form.setApp(loginUser.getApp());
form.setClient(loginUser.getClient());
form.setUserId(loginUser.getUserId());
LoginUserDetailsResultDTO loginUserDetail = getResultDataOrThrowsException(userOpenFeignClient.getLoginUserDetails(form),
ServiceConstant.EPMET_USER_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(),
"【社区查询】查找当前人所属组织失败",
null);
PageData<DemandRecResultDTO> page = icUserDemandRecService.search(loginUser.getCustomerId(), loginUserDetail.getAgencyId(), keyword, pageNo, pageSize);
return new Result().ok(page);
}
}

37
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java

@ -0,0 +1,37 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.demand.ServiceItemResultDTO;
import com.epmet.entity.IcServiceItemDictEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 服务事项分类字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Mapper
public interface IcServiceItemDictDao extends BaseDao<IcServiceItemDictEntity> {
List<ServiceItemResultDTO> pageList(String customerId);
}

83
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceItemDictEntity.java

@ -0,0 +1,83 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 服务事项分类字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_service_item_dict")
public class IcServiceItemDictEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 父级,一级默认为0
*/
private String parentCode;
/**
* 分类编码
*/
private String categoryCode;
/**
* 分类名称
*/
private String categoryName;
/**
* 级别
*/
private Integer level;
/**
* 备注
*/
private String remark;
/**
* 排序
*/
private Integer sort;
/**
* 1可用0不可用
*/
private Boolean usableFlag;
/**
* 奖励积分
*/
private Integer awardPoint;
}

55
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java

@ -0,0 +1,55 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.form.demand.ServiceItemAddFormDTO;
import com.epmet.dto.form.demand.ServiceItemPageFormDTO;
import com.epmet.dto.form.demand.StatusFormDTO;
import com.epmet.dto.result.demand.ServiceItemResultDTO;
import com.epmet.entity.IcServiceItemDictEntity;
/**
* 服务事项分类字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
public interface IcServiceItemDictService extends BaseService<IcServiceItemDictEntity> {
/**
* 01列表查询
* @param formDTO
* @return
*/
PageData<ServiceItemResultDTO> page(ServiceItemPageFormDTO formDTO);
/**
* 02添加或者修改分类
* @param formDTO
*/
void addOrUpdate(ServiceItemAddFormDTO formDTO);
/**
* 03启用或者禁用分类
* @param formDTO
* @return
*/
void updateStatus(StatusFormDTO formDTO);
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java

@ -214,4 +214,14 @@ public interface IcUserDemandRecService extends BaseService<IcUserDemandRecEntit
*/
UserDemandRelResDTO queryUserDemandRel(UserDemandRelFormDTO formDTO);
/**
* 社区查询 根据"需求人"精确查询根据"需求内容""服务方"模糊查询
* @param customerId 客户ID
* @param keyword 关键词
* @param keyword 关键词
* @param pageNo
* @param pageSize
* @return
*/
PageData<DemandRecResultDTO> search(String customerId, String agencyId, String keyword, Integer pageNo, Integer pageSize);
}

1
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java

@ -217,6 +217,7 @@ public class IcResiDemandDictServiceImpl extends BaseServiceImpl<IcResiDemandDic
return list;
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateStatus(StatusFormDTO formDTO) {
IcResiDemandDictEntity origin = baseDao.selectById(formDTO.getCategoryId());

126
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java

@ -0,0 +1,126 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dao.IcServiceItemDictDao;
import com.epmet.dto.form.demand.ServiceItemAddFormDTO;
import com.epmet.dto.form.demand.ServiceItemPageFormDTO;
import com.epmet.dto.form.demand.StatusFormDTO;
import com.epmet.dto.result.demand.ServiceItemResultDTO;
import com.epmet.entity.IcServiceItemDictEntity;
import com.epmet.service.IcServiceItemDictService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* 服务事项分类字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Slf4j
@Service
public class IcServiceItemDictServiceImpl extends BaseServiceImpl<IcServiceItemDictDao, IcServiceItemDictEntity> implements IcServiceItemDictService {
/**
* 列表查询
*
* @param formDTO
* @return
*/
@Override
public PageData<ServiceItemResultDTO> page(ServiceItemPageFormDTO formDTO) {
//目前不分页,只是接口支持分页
List<ServiceItemResultDTO> list = baseDao.pageList(formDTO.getCustomerId());
return new PageData<>(list, CollectionUtils.isNotEmpty(list) ? list.size() : NumConstant.ZERO);
}
/**
* 02添加或者修改分类
*
* @param formDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void addOrUpdate(ServiceItemAddFormDTO formDTO) {
//分类名称是否唯一
LambdaQueryWrapper<IcServiceItemDictEntity> nameQuery = new LambdaQueryWrapper<>();
nameQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId())
.eq(IcServiceItemDictEntity::getCategoryName, formDTO.getCategoryName())
.ne(StringUtils.isNotBlank(formDTO.getCategoryId()), IcServiceItemDictEntity::getId, formDTO.getCategoryId());
if (baseDao.selectCount(nameQuery) > 0) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前客户下,分类名称已存在", "分类名称已存在");
}
if (StringUtils.isNotBlank(formDTO.getCategoryId())) {
LambdaUpdateWrapper<IcServiceItemDictEntity> update = new LambdaUpdateWrapper<>();
update.eq(IcServiceItemDictEntity::getId, formDTO.getCategoryId());
update.set(IcServiceItemDictEntity::getCategoryName, formDTO.getCategoryName())
.set(IcServiceItemDictEntity::getAwardPoint, formDTO.getAwardPoint());
baseDao.update(null, update);
return;
}
LambdaQueryWrapper<IcServiceItemDictEntity> maxQuery = new LambdaQueryWrapper<>();
maxQuery.eq(IcServiceItemDictEntity::getCustomerId, formDTO.getCustomerId())
.orderByDesc(IcServiceItemDictEntity::getCategoryCode).last("limit 1");
IcServiceItemDictEntity max = baseDao.selectOne(maxQuery);
// 获取编码
IcServiceItemDictEntity insert = new IcServiceItemDictEntity();
insert.setCustomerId(formDTO.getCustomerId());
insert.setAwardPoint(formDTO.getAwardPoint());
insert.setCategoryName(formDTO.getCategoryName());
insert.setUsableFlag(true);
insert.setParentCode(NumConstant.ZERO_STR);
insert.setLevel(NumConstant.ONE);
insert.setSort(null != max ? max.getSort() + 1 : NumConstant.ONE);
insert.setCategoryCode(null != max ? String.valueOf(Integer.valueOf(max.getCategoryCode()) + 1) : "1001");
baseDao.insert(insert);
}
/**
* 03启用或者禁用分类
*
* @param formDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void updateStatus(StatusFormDTO formDTO) {
LambdaUpdateWrapper<IcServiceItemDictEntity> update = new LambdaUpdateWrapper<>();
update.eq(IcServiceItemDictEntity::getId, formDTO.getCategoryId())
.set(IcServiceItemDictEntity::getUsableFlag, formDTO.getUsableFlag())
.set(IcServiceItemDictEntity::getUpdatedTime, new Date())
.set(IcServiceItemDictEntity::getUpdatedBy, formDTO.getUserId());
baseDao.update(null, update);
}
}

151
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -22,12 +22,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.DictTypeEnum;
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.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@ -77,7 +79,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecDao, IcUserDemandRecEntity> implements IcUserDemandRecService {
public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecDao, IcUserDemandRecEntity> implements IcUserDemandRecService, ResultDataResolver {
@Autowired
private IcUserDemandOperateLogDao operateLogDao;
@Autowired
@ -792,67 +794,76 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
list=baseDao.pageListAnalysis(formDTO);
}
if(CollectionUtils.isNotEmpty(list)){
//1、查询网格信息
List<String> gridIds=list.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//2、查询分类名称
List<String> categoryCodes=list.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList());
List<IcResiDemandDictEntity> dictList=demandDictService.listByCodes(formDTO.getCustomerId(),categoryCodes);
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName));
fillDemandsInfo(list, formDTO.getCustomerId());
}
return new PageData<>(list, total);
}
//3、查询志愿者
// 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
Map<String,String> userInfoMap=new HashMap<>();
Set<String> userIdList=list.stream().filter(item->null!=item.getServiceType()&&item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toSet());
if(CollectionUtils.isNotEmpty(userIdList)){
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(new ArrayList<>(userIdList));
if(!userInfoRes.success()||CollectionUtils.isEmpty(userInfoRes.getData())){
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(),"查询志愿者信息异常");
}
userInfoMap=userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, UserBaseInfoResultDTO::getRealName));
/**
* 填充需求信息
* @param demandList 需求列表
* @param customerId 客户id
*/
public void fillDemandsInfo(List<DemandRecResultDTO> demandList, String customerId) {
//1、查询网格信息
List<String> gridIds=demandList.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, AllGridsByUserIdResultDTO> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
//2、查询分类名称
List<String> categoryCodes=demandList.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList());
List<IcResiDemandDictEntity> dictList=demandDictService.listByCodes(customerId,categoryCodes);
Map<String, String> dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName));
//3、查询志愿者
// 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
Map<String,String> userInfoMap=new HashMap<>();
Set<String> userIdList=demandList.stream().filter(item->null!=item.getServiceType()&&item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toSet());
if(CollectionUtils.isNotEmpty(userIdList)){
Result<List<UserBaseInfoResultDTO>> userInfoRes = epmetUserOpenFeignClient.queryUserBaseInfo(new ArrayList<>(userIdList));
if(!userInfoRes.success()||CollectionUtils.isEmpty(userInfoRes.getData())){
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(),"查询志愿者信息异常");
}
userInfoMap=userInfoRes.getData().stream().collect(Collectors.toMap(UserBaseInfoResultDTO::getUserId, UserBaseInfoResultDTO::getRealName));
}
for(DemandRecResultDTO res:list){
if (null != gridInfoMap && gridInfoMap.containsKey(res.getGridId())) {
res.setGridName(gridInfoMap.get(res.getGridId()).getGridName());
}
for(DemandRecResultDTO res:demandList){
if (null != gridInfoMap && gridInfoMap.containsKey(res.getGridId())) {
res.setGridName(gridInfoMap.get(res.getGridId()).getGridName());
}
if (null != dictMap && dictMap.containsKey(res.getCategoryCode())) {
res.setCategoryName(dictMap.get(res.getCategoryCode()));
}
res.setFirstCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(), res.getFirstCategoryCode()));
if (null != userInfoMap && userInfoMap.containsKey(res.getServerId())) {
res.setServiceName(userInfoMap.get(res.getServerId()));
}
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
switch (res.getServiceType())
{
case UserDemandConstant.PARTY_UNIT:
res.setServiceShowName(res.getServiceName().concat("(区域化党建单位)"));
break;
case UserDemandConstant.SOCIAL_ORG:
res.setServiceShowName(res.getServiceName().concat("(社会组织)"));
break;
case UserDemandConstant.COMMUNITY_ORG:
res.setServiceShowName(res.getServiceName().concat("(社区自组织)"));
break;
case UserDemandConstant.VOLUNTEER:
res.setServiceShowName(res.getServiceName().concat("(志愿者)"));
break;
default:
res.setServiceShowName(res.getServiceName());
log.warn("serviceType 错误");
break;
}
res.setServiceShowFlag(StringUtils.isNotBlank(res.getServerId()));
if (null != dictMap && dictMap.containsKey(res.getCategoryCode())) {
res.setCategoryName(dictMap.get(res.getCategoryCode()));
}
res.setFirstCategoryName(demandDictService.getCategoryName(customerId, res.getFirstCategoryCode()));
if (null != userInfoMap && userInfoMap.containsKey(res.getServerId())) {
res.setServiceName(userInfoMap.get(res.getServerId()));
}
//社区帮办:community;楼长帮办:building_caption;党员帮办:party;自身上报:self_help
//待处理:pending;已取消canceled;已派单:assigned;已接单:have_order;已完成:finished
//服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
switch (res.getServiceType())
{
case UserDemandConstant.PARTY_UNIT:
res.setServiceShowName(res.getServiceName().concat("(区域化党建单位)"));
break;
case UserDemandConstant.SOCIAL_ORG:
res.setServiceShowName(res.getServiceName().concat("(社会组织)"));
break;
case UserDemandConstant.COMMUNITY_ORG:
res.setServiceShowName(res.getServiceName().concat("(社区自组织)"));
break;
case UserDemandConstant.VOLUNTEER:
res.setServiceShowName(res.getServiceName().concat("(志愿者)"));
break;
default:
res.setServiceShowName(res.getServiceName());
log.warn("serviceType 错误");
break;
}
res.setServiceShowFlag(StringUtils.isNotBlank(res.getServerId()));
}
return new PageData<>(list, total);
}
/**
@ -1603,7 +1614,35 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
return res;
}
@Override
public PageData<DemandRecResultDTO> search(String customerId, String agencyId, String keyword, Integer pageNo, Integer pageSize) {
CustomerAgencyDTO agency = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(agencyId), ServiceConstant.GOV_ORG_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(), "【社区查询-查询需求列表】查询当前staff所属组织信息失败", null);
if (agency == null) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "【社区查询-查询需求列表】查询当前staff所属组织信息失败");
}
String gridPids;
if(NumConstant.ZERO_STR.equals(agency.getPid())){
gridPids = agencyId;
}else{
gridPids = agency.getPids().concat(StrConstant.COLON).concat(agencyId);
}
PageListAnalysisFormDTO queryForm = new PageListAnalysisFormDTO();
queryForm.setCustomerId(customerId);
queryForm.setGridPids(gridPids);
queryForm.setKeyword(keyword);
PageHelper.startPage(pageNo, pageSize);
List<DemandRecResultDTO> list = baseDao.pageListAnalysis(queryForm);
// 填充信息
fillDemandsInfo(list, customerId);
return new PageData<>(list, new PageInfo<>(list).getTotal());
}
}

117
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.8__service_item_dict.sql

@ -0,0 +1,117 @@
CREATE TABLE `ic_service_item_dict` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id',
`PARENT_CODE` varchar(32) NOT NULL COMMENT '父级,一级默认为0',
`CATEGORY_CODE` varchar(32) NOT NULL COMMENT '分类编码',
`CATEGORY_NAME` varchar(255) NOT NULL COMMENT '分类名称',
`LEVEL` int(11) NOT NULL COMMENT '级别',
`REMARK` varchar(255) DEFAULT NULL COMMENT '备注',
`SORT` int(10) unsigned NOT NULL COMMENT '排序',
`USABLE_FLAG` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1可用,0不可用',
`AWARD_POINT` int(11) NOT NULL COMMENT '奖励积分',
`DEL_FLAG` int(11) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE,
UNIQUE KEY `uk_dict_value` (`CATEGORY_CODE`,`CUSTOMER_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='服务事项分类字典表';
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1', 'default', '0', '1001', '积极配合社区安全巡查员进行场所消防、安全等方面的检查,并具备必须的安全意识及设备设施', 1, NULL, 1, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('2', 'default', '0', '1002', '积极参与社区举办的各类生产生活安全培训讲座等', 1, NULL, 2, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('3', 'default', '0', '1003', '定期开展内部自检自查,安全培训及演练,紧绷安全生产生活弦', 1, NULL, 3, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('4', 'default', '0', '1004', '社区困难群体生活帮扶', 1, NULL, 4, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('5', 'default', '0', '1005', '社区低保、伤残等困难家庭子女学习辅导', 1, NULL, 5, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('6', 'default', '0', '1006', '未成年人兴趣培养', 1, NULL, 6, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('7', 'default', '0', '1007', '楼道基础设施维护', 1, NULL, 7, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('8', 'default', '0', '1008', '健康知识专业讲座', 1, NULL, 8, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('9', 'default', '0', '1009', '老年人现代智能设备培训', 1, NULL, 9, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('10', 'default', '0', '1010', '空巢老人志愿帮扶', 1, NULL, 10, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('11', 'default', '0', '1011', '法律专业问题咨询', 1, NULL, 11, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('12', 'default', '0', '1012', '矛盾调解专业法律顾问', 1, NULL, 12, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('13', 'default', '0', '1013', '居民紧急自救、他救技能', 1, NULL, 13, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('14', 'default', '0', '1014', '少儿安全意识培养', 1, NULL, 14, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('15', 'default', '0', '1015', '文化队伍的培育和提升', 1, NULL, 15, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('16', 'default', '0', '1016', '老年群体的心理辅导', 1, NULL, 16, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('17', 'default', '0', '1017', '丰富多样的文体活动', 1, NULL, 17, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('18', 'default', '0', '1018', '失业人员技能培训', 1, NULL, 18, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('19', 'default', '0', '1019', '青年人文化活动的开展', 1, NULL, 19, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('20', 'default', '0', '1020', '亲子教育课堂', 1, NULL, 20, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('21', 'default', '0', '1021', '未成年人“家风”培育', 1, NULL, 21, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
INSERT INTO `epmet_heart`.`ic_service_item_dict` (`ID`, `CUSTOMER_ID`, `PARENT_CODE`, `CATEGORY_CODE`, `CATEGORY_NAME`, `LEVEL`, `REMARK`, `SORT`, `USABLE_FLAG`, `AWARD_POINT`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('22', 'default', '0', '1022', '和谐邻里活动开展', 1, NULL, 22, 1, 10, 0, 0, 'APP_USER', '2022-01-13 14:37:12', 'APP_USER', '2022-01-13 14:37:12');
-- 共建单位及九小场所共建 统一删除
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于服务事项分类"
where CATEGORY_CODE='1010' or PARENT_CODE='1010';
-- 居民积分统一从需求分类中移除
-- 1、民生服务
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1002' or PARENT_CODE='1002';
-- 2、便民服务
-- 2.1便民服务-参与日常矛盾调解并取得一定成效
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='10030001' or PARENT_CODE='10030001';
-- 2.2便民服务-爱心敲门,自愿与社区高龄、独居、孤寡、残障等人员结对子,参与日常探望、帮扶
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='10030004' or PARENT_CODE='10030004';
-- 2.3便民服务-收集反馈社区特殊群体(高龄、残障、独居等)生活需求,并协助社区共同落实解决。
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='10030005' or PARENT_CODE='10030005';
-- 3、城市建设
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1004' or PARENT_CODE='1004';
-- 4、社区建设
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1005' or PARENT_CODE='1005';
-- 5、社区自治
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1006' or PARENT_CODE='1006';
-- 6、思想建设
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1008' or PARENT_CODE='1008';
-- 7、文化娱乐
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1009' or PARENT_CODE='1009';
-- 8、社会治安
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1013' or PARENT_CODE='1013';
-- 9、消防安全
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1014' or PARENT_CODE='1014';
-- 10、文化体育
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1015' or PARENT_CODE='1015';
-- 11、慈善募捐
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1020' or PARENT_CODE='1020';
-- 12、其他
update ic_resi_demand_dict set DEL_FLAG='1',UPDATED_TIME=NOW(),REMARK="当前分类归属于居民积分"
where CATEGORY_CODE='1022' or PARENT_CODE='1022';
-- 删除需求记录、服务记录、评价记录
update ic_user_demand_rec
set DEL_FLAG='1',UPDATED_TIME=NOW(),UPDATED_BY='删除分类'
where CATEGORY_CODE in (
select distinct m.CATEGORY_CODE
from ic_resi_demand_dict m where m.DEL_FLAG='1'
and m.CUSTOMER_ID!='default'
);
update ic_user_demand_service set DEL_FLAG='1',UPDATED_TIME=NOW()
where DEMAND_REC_ID in(
select m.id from ic_user_demand_rec m where m.DEL_FLAG='1'
);
update ic_user_demand_satisfaction set DEL_FLAG='1',UPDATED_TIME=NOW()
WHERE DEMAND_REC_ID IN(
select m.id from ic_user_demand_rec m where m.DEL_FLAG='1'
);

21
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml

@ -0,0 +1,21 @@
<?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.IcServiceItemDictDao">
<select id="pageList" parameterType="java.lang.String" resultType="com.epmet.dto.result.demand.ServiceItemResultDTO">
SELECT
d.id AS categoryId,
d.CATEGORY_NAME AS categoryName,
d.AWARD_POINT AS awardPoint,
d.USABLE_FLAG AS usableFlag
FROM
ic_service_item_dict d
WHERE
d.DEL_FLAG = '0'
AND d.CUSTOMER_ID = #{customerId}
ORDER BY
d.SORT DESC
</select>
</mapper>

7
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml

@ -325,6 +325,13 @@
<if test="null != excludeStatus and excludeStatus !='' ">
and r.STATUS !=#{excludeStatus}
</if>
<if test="null != keyword and keyword != ''">
AND (
r.DEMAND_USER_NAME = #{keyword}
OR match(r.CONTENT) against (#{keyword} in boolean mode )
OR s.SERVER_NAME like CONCAT('%',#{keyword},'%')
)
</if>
order by r.WANT_SERVICE_TIME desc,r.REPORT_TIME asc
</select>

91
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/IcOftenUseFunctionDTO.java

@ -0,0 +1,91 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 常用功能
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Data
public class IcOftenUseFunctionDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 用户ID
*/
private String userId;
/**
* 菜单ID
*/
private String menuId;
/**
* 排序
*/
private Integer sort;
/**
* 删除标记
*/
private Integer delFlag;
/**
* 乐观锁
*/
private String revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

26
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AddOftenUseFunctionFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/1/17 10:09 上午
* @DESC
*/
@Data
public class AddOftenUseFunctionFormDTO implements Serializable {
private static final long serialVersionUID = -8044386389656626183L;
public interface AddOftenUseFunctionForm{}
@NotBlank(message = "menuId不能为空", groups = AddOftenUseFunctionForm.class)
private String menuId;
@NotNull(message = "sort不能为空", groups = AddOftenUseFunctionForm.class)
private Integer sort;
}

41
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OftenUseFunctionListResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/1/17 9:41 上午
* @DESC
*/
@Data
public class OftenUseFunctionListResultDTO implements Serializable {
private static final long serialVersionUID = 8561818114575776804L;
/**
* 跳转url
*/
private String url;
/**
* 菜单ID
*/
private String menuId;
/**
* 菜单名字
*/
private String menuName;
/**
* 图标
*/
private String icon;
/**
* 排序
*/
private String sort;
}

56
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/IcOftenUseFunctionController.java

@ -0,0 +1,56 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
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.IcOftenUseFunctionDTO;
import com.epmet.dto.form.AddOftenUseFunctionFormDTO;
import com.epmet.dto.result.OftenUseFunctionListResultDTO;
import com.epmet.service.IcOftenUseFunctionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 常用功能
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@RestController
@RequestMapping("icoftenusefunction")
public class IcOftenUseFunctionController {
@Autowired
private IcOftenUseFunctionService icOftenUseFunctionService;
/**
* @Description 社区查询常用功能查询
* @param tokenDto
* @author zxc
* @date 2022/1/17 9:47 上午
*/
@PostMapping("oftenusefunctionlist")
public Result<List<OftenUseFunctionListResultDTO>> oftenUseFunctionList(@LoginUser TokenDto tokenDto){
return new Result<List<OftenUseFunctionListResultDTO>>().ok(icOftenUseFunctionService.oftenUseFunctionList(tokenDto));
}
/**
* @Description 社区查询常用功能添加(就是修改)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:13 上午
*/
@PostMapping("addoftenusefunction")
public Result addOftenUseFunction(@RequestBody List<AddOftenUseFunctionFormDTO> formDTOS, @LoginUser TokenDto tokenDto){
icOftenUseFunctionService.addOftenUseFunction(formDTOS, tokenDto);
return new Result();
}
}

54
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/IcOftenUseFunctionDao.java

@ -0,0 +1,54 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.OftenUseFunctionListResultDTO;
import com.epmet.entity.IcOftenUseFunctionEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 常用功能
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Mapper
public interface IcOftenUseFunctionDao extends BaseDao<IcOftenUseFunctionEntity> {
/**
* @Description 社区查询常用功能查询
* @param userId
* @author zxc
* @date 2022/1/17 10:06 上午
*/
List<OftenUseFunctionListResultDTO> oftenUseFunctionList(@Param("userId")String userId);
/**
* @Description 删除旧数据
* @param userId
* @param customerId
* @author zxc
* @date 2022/1/17 10:25 上午
*/
void deleteOldData(@Param("userId")String userId,@Param("customerId")String customerId);
}

61
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/IcOftenUseFunctionEntity.java

@ -0,0 +1,61 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.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-01-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_often_use_function")
public class IcOftenUseFunctionEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 用户ID
*/
private String userId;
/**
* 菜单ID
*/
private String menuId;
/**
* 排序
*/
private Integer sort;
}

53
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/IcOftenUseFunctionService.java

@ -0,0 +1,53 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcOftenUseFunctionDTO;
import com.epmet.dto.form.AddOftenUseFunctionFormDTO;
import com.epmet.dto.result.OftenUseFunctionListResultDTO;
import com.epmet.entity.IcOftenUseFunctionEntity;
import java.util.List;
/**
* 常用功能
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
public interface IcOftenUseFunctionService extends BaseService<IcOftenUseFunctionEntity> {
/**
* @Description 社区查询常用功能查询
* @param tokenDto
* @author zxc
* @date 2022/1/17 9:47 上午
*/
List<OftenUseFunctionListResultDTO> oftenUseFunctionList(TokenDto tokenDto);
/**
* @Description 社区查询常用功能添加(就是修改)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:13 上午
*/
void addOftenUseFunction(List<AddOftenUseFunctionFormDTO> formDTOS, TokenDto tokenDto);
}

81
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/IcOftenUseFunctionServiceImpl.java

@ -0,0 +1,81 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcOftenUseFunctionDao;
import com.epmet.dto.IcOftenUseFunctionDTO;
import com.epmet.dto.form.AddOftenUseFunctionFormDTO;
import com.epmet.dto.result.OftenUseFunctionListResultDTO;
import com.epmet.entity.IcOftenUseFunctionEntity;
import com.epmet.service.IcOftenUseFunctionService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* 常用功能
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Service
public class IcOftenUseFunctionServiceImpl extends BaseServiceImpl<IcOftenUseFunctionDao, IcOftenUseFunctionEntity> implements IcOftenUseFunctionService {
/**
* @Description 社区查询常用功能查询
* @param tokenDto
* @author zxc
* @date 2022/1/17 9:47 上午
*/
@Override
public List<OftenUseFunctionListResultDTO> oftenUseFunctionList(TokenDto tokenDto) {
List<OftenUseFunctionListResultDTO> result = baseDao.oftenUseFunctionList(tokenDto.getUserId());
if (CollectionUtils.isNotEmpty(result)){
return result;
}
return new ArrayList<>();
}
/**
* @Description 社区查询常用功能添加(就是修改)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:13 上午
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void addOftenUseFunction(List<AddOftenUseFunctionFormDTO> formDTOS, TokenDto tokenDto) {
if (CollectionUtils.isNotEmpty(formDTOS)){
baseDao.deleteOldData(tokenDto.getUserId(),tokenDto.getCustomerId());
List<IcOftenUseFunctionEntity> entities = ConvertUtils.sourceToTarget(formDTOS, IcOftenUseFunctionEntity.class);
entities.forEach(e -> {
e.setCustomerId(tokenDto.getCustomerId());
e.setUserId(tokenDto.getUserId());
});
insertBatch(entities);
}
}
}

27
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/IcOftenUseFunctionDao.xml

@ -0,0 +1,27 @@
<?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.IcOftenUseFunctionDao">
<!-- 删除旧数据 -->
<delete id="deleteOldData">
DELETE FROM ic_often_use_function WHERE USER_ID = #{userId} AND CUSTOMER_ID = #{customerId}
</delete>
<!-- 【社区查询】常用功能查询 -->
<select id="oftenUseFunctionList" resultType="com.epmet.dto.result.OftenUseFunctionListResultDTO">
SELECT
ic.SORT,
ic.MENU_ID,
gm.url,
gm.icon,
gl.field_value AS menuName
FROM ic_often_use_function ic
INNER JOIN gov_customer_menu gc ON (gc.TABLE_ID = ic.MENU_ID AND gc.DEL_FLAG = '0' AND ic.CUSTOMER_ID = gc.CUSTOMER_ID)
INNER JOIN gov_menu gm ON (gc.TABLE_ID = gm.id AND gm.DEL_FLAG = 0 AND gm.SHOW_FLAG = 1)
INNER JOIN gov_language gl ON (gl.table_id = gc.TABLE_ID)
WHERE ic.DEL_FLAG = 0
AND ic.USER_ID = #{userId}
ORDER BY ic.SORT
</select>
</mapper>

1
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/DailyStatisticalVoteJobResultDTO.java

@ -17,6 +17,7 @@ public class DailyStatisticalVoteJobResultDTO implements Serializable {
private static final long serialVersionUID = 5266996778036448163L;
private String issueId;
private String customerId;
/**
* 统计日期

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java

@ -140,7 +140,7 @@ public interface IssueVoteDetailDao extends BaseDao<IssueVoteDetailEntity> {
* @author zxc
* @date 2021/12/29 2:02 下午
*/
List<DailyStatisticalVoteJobResultDTO> statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId);
List<DailyStatisticalVoteJobResultDTO> statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId,@Param("status")Boolean status);
/**
* @Description 根据议题ID查询折线图一天的数据

39
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java

@ -21,6 +21,7 @@ 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.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -339,12 +340,12 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
List<String> daysBetween = DateUtils.getDaysBetween(form.getStartDate(), form.getEndDate());
customerIds.forEach(customerId -> {
daysBetween.forEach(dateId -> {
statisticVote(customerId,dateId);
statisticVote(customerId,yyyyMMddToLine(dateId));
});
});
}else {
if (StringUtils.isBlank(form.getDateId())){
form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString().replace("-", ""));
form.setDateId(LocalDate.now().minusDays(NumConstant.ONE).toString());
}
customerIds.forEach(customerId -> {
statisticVote(customerId, form.getDateId());
@ -352,6 +353,14 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
}
}
public String yyyyMMddToLine(String dateId){
StringBuilder sb = new StringBuilder();
sb.append(dateId.substring(0,4)).append(StrConstant.HYPHEN);
sb.append(dateId.substring(4,6)).append(StrConstant.HYPHEN);
sb.append(dateId.substring(6,8));
return sb.toString();
}
/**
* @Description 统计 issue_vote_statistical_daily
* 只统计表决日增存在的不存在的不写入查询程序补全
@ -360,28 +369,32 @@ public class IssueVoteStatisticalDailyServiceImpl extends BaseServiceImpl<IssueV
* @author zxc
* @date 2021/12/29 1:46 下午
*/
@Transactional(rollbackFor = Exception.class)
public void statisticVote(String customerId,String dateId){
// 日增
List<DailyStatisticalVoteJobResultDTO> dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId);
List<DailyStatisticalVoteJobResultDTO> dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, true);
if (CollectionUtils.isNotEmpty(dayAdd)){
//累计
List<DailyStatisticalVoteJobResultDTO> allDayAdd = issueVoteDetailDao.statisticVote(customerId, null);
List<DailyStatisticalVoteJobResultDTO> allDayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, false);
dayAdd.forEach(d -> allDayAdd.stream().filter(a -> a.getIssueId().equals(d.getIssueId())).forEach(a -> {
d.setOppositionCount(a.getOppositionCount());
d.setSupportCount(a.getSupportCount());
d.setTotalCount(a.getTotalCount());
}));
List<IssueVoteStatisticalDailyEntity> needInsert = ConvertUtils.sourceToTarget(dayAdd, IssueVoteStatisticalDailyEntity.class);
Integer delNum;
do {
delNum = baseDao.delHistoryData(customerId, dateId);
} while (delNum != null && delNum > NumConstant.ZERO);
List<List<IssueVoteStatisticalDailyEntity>> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertBatch(p);
});
delAndInsert(needInsert,customerId,dateId);
}
}
@Transactional(rollbackFor = Exception.class)
public void delAndInsert(List<IssueVoteStatisticalDailyEntity> needInsert,String customerId,String dateId){
Integer delNum;
do {
delNum = baseDao.delHistoryData(customerId, dateId);
} while (delNum > NumConstant.ZERO);
List<List<IssueVoteStatisticalDailyEntity>> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertBatch(p);
});
}
}

10
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml

@ -186,15 +186,16 @@
<select id="statisticVote" resultType="com.epmet.dto.result.DailyStatisticalVoteJobResultDTO">
SELECT
vs.votable_count,
<if test="dateId == null">
<if test="status == false">
(t.oppositionCount + t.supportCount) AS totalCount,
</if>
<if test="dateId != null">
<if test="status == true">
(t.oppositionIncrement + t.supportIncrement) AS todayIncrement,
</if>
t.* FROM
(SELECT
vd.ISSUE_ID,
vd.CUSTOMER_ID AS customerId,
COUNT(CASE WHEN vd.ATTITUDE = 'opposition' THEN 1 END) AS oppositionCount,
COUNT(CASE WHEN vd.ATTITUDE = 'opposition' THEN 1 END) AS oppositionIncrement,
COUNT(CASE WHEN vd.ATTITUDE = 'support' THEN 1 END) AS supportCount,
@ -203,9 +204,12 @@
FROM issue_vote_detail vd
WHERE vd.DEL_FLAG = '0'
AND vd.CUSTOMER_ID = #{customerId}
<if test="dateId != null">
<if test="status == true">
AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') = #{dateId}
</if>
<if test="status == false">
AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{dateId}
</if>
GROUP BY vd.ISSUE_ID)t
INNER JOIN issue_vote_statistical vs ON (vs.ISSUE_ID = t.ISSUE_ID AND vs.DEL_FLAG = '0')
</select>

4
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDailyDao.xml

@ -147,7 +147,7 @@
votable_count,
customer_id,
created_by,
@ -180,7 +180,7 @@
#{item.votableCount},
#{item.customerId},
#{item.createdBy},

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

@ -76,5 +76,10 @@ public class ListIcNeighborHoodFormDTO implements Serializable{
*/
private String neighborHoodId;
/**
* 搜索关键词社区查询搜索输入的关键词
*/
private String keyword;
}

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* desc:客户下网格工作人员结果
* @Author zxc
* @DateTime 2021/6/8 3:23 下午
* @DESC
*/
@Data
public class CustomerGridStaffResultDTO implements Serializable {
private static final long serialVersionUID = -5910427385795368242L;
private String userId;
private String userName;
private String mobile;
private Integer gender;
private String gridId;
private String gridName;
private String agencyId;
}

32
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author 在网格中的工作人员
* @dscription
* @date 2020/4/23 16:08
*/
@Data
public class CustomerStaffGridResultDTO implements Serializable {
private static final long serialVersionUID = 1301415104939403933L;
/**
* 用户ID
*/
private String userId;
/**
* 网格Id
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 组织Id
*/
private String agencyId;
}

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

@ -462,8 +462,8 @@ public interface GovOrgOpenFeignClient {
@PostMapping(value = "/gov/org/house/queryListHouseInfo",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<HouseInfoDTO>> queryListHouseInfo(@RequestBody Set<String> houseIds);
/**
* @Description 获取组织下网格选项
* @Param formDTO
@ -549,7 +549,7 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/agency/getsonagencyid")
Result<List<SonOrgResultDTO>> getSonAgencyId(@RequestParam("orgId")String orgId,@RequestParam("type")String type);
// /icbuilding/{id}?id=demoData
/**
@ -576,4 +576,7 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/customeragency/configcustomerareacode")
Result configCustomerAreaCode(@RequestBody CustomerAreaCodeFormDTO formDTO);
@PostMapping("/gov/org/customergrid/getstaffgridlist")
Result<List<CustomerStaffGridResultDTO>> getStaffGridList(@RequestParam("orgId")String orgId, @RequestParam("orgType")String orgType);
}

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

@ -369,4 +369,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result configCustomerAreaCode(CustomerAreaCodeFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "configCustomerAreaCode", formDTO);
}
@Override
public Result<List<CustomerStaffGridResultDTO>> getStaffGridList(String orgId, String orgType) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList", orgId, orgType);
}
}

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

@ -17,8 +17,10 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -330,4 +332,17 @@ public class CustomerGridController {
return new Result<List<AgencyGridList>>().ok(customerGridService.gridListByAgencyId(agencyId));
}
/**
* @Description 事件社区服务热线
* @author sun
**/
@PostMapping("getstaffgridlist")
Result<List<CustomerStaffGridResultDTO>> getStaffGridList(@LoginUser TokenDto tokenDto,
@RequestParam("orgId")String orgId,
@RequestParam("orgType")String orgType) {
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
List<CustomerStaffGridResultDTO> staffGridList = customerGridService.getStaffGridList(tokenDto.getCustomerId(), orgId, orgType);
return new Result<List<CustomerStaffGridResultDTO>>().ok(staffGridList);
}
}

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

@ -22,18 +22,26 @@ import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.IcHouseFormDTO;
import com.epmet.dto.form.IcNeighborHoodFormDTO;
import com.epmet.dto.form.ListIcNeighborHoodFormDTO;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.excel.IcHouseExcel;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.HouseService;
import com.epmet.util.ExcelPoiUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@ -54,21 +62,78 @@ import java.util.stream.Collectors;
@Slf4j
@RestController
@RequestMapping("house")
public class HouseController {
public class HouseController implements ResultDataResolver {
@Autowired
private HouseService houseService;
@Autowired
private EpmetUserOpenFeignClient userOpenFeignClient;
@PostMapping("houselist")
public Result houseList(@RequestBody ListIcNeighborHoodFormDTO formDTO){
//效验数据
ValidatorUtils.validateEntity(formDTO);
IcNeighborHoodResultDTO icNeighborHoodResultDTO = houseService.listNeighborhood(formDTO);
String queryScene = "house_manage";
IcNeighborHoodResultDTO icNeighborHoodResultDTO = houseService.listNeighborhood(null, formDTO.getBuildingId(), formDTO.getOwnerName(),
formDTO.getOwnerPhone(), null,
null, queryScene,
formDTO.getPageNo(), formDTO.getPageSize());
return new Result().ok(icNeighborHoodResultDTO);
}
/**
*@Description 社区查询-搜索房屋
*@Author wangxianzhang
*@Date 2022/1/14 11:00 上午
*@Param
*@return
*/
@PostMapping("search")
public Result<IcNeighborHoodResultDTO> searchHouse(@RequestBody ListIcNeighborHoodFormDTO formDTO, @LoginUser TokenDto loginUser) {
String keyword = formDTO.getKeyword();
if (StringUtils.isBlank(keyword)) {
IcNeighborHoodResultDTO r = new IcNeighborHoodResultDTO();
r.setTotal(0);
r.setList(new ArrayList<>());
return new Result<IcNeighborHoodResultDTO>().ok(r);
}
keyword = keyword.trim();
String neighborhoodName;
String buildingName;
int commaIndex = keyword.indexOf(",");
if (commaIndex != -1) {
neighborhoodName = keyword.substring(0, commaIndex);
buildingName = keyword.substring(commaIndex + 1);
} else {
neighborhoodName = keyword;
buildingName = null;
}
// 使用场景:社区查询
String scene = "community_search";
LoginUserDetailsFormDTO form = new LoginUserDetailsFormDTO();
form.setUserId(loginUser.getUserId());
form.setClient(loginUser.getClient());
form.setApp(loginUser.getApp());
LoginUserDetailsResultDTO loginUserDetail = getResultDataOrThrowsException(userOpenFeignClient.getLoginUserDetails(form), ServiceConstant.EPMET_USER_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(),
"【社区查询-查询房屋】查询当前staff所在组织信息失败",
null);
IcNeighborHoodResultDTO icNeighborHoodResultDTO = houseService.listNeighborhood(loginUserDetail.getAgencyId(),null, null, null,
neighborhoodName, buildingName, scene, formDTO.getPageNo(), formDTO.getPageSize());
return new Result<IcNeighborHoodResultDTO>().ok(icNeighborHoodResultDTO);
}
@NoRepeatSubmit
@PostMapping("houseadd")
public Result houseAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -156,8 +156,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
List<AllGridsByUserIdResultDTO> selectGridByIds(@Param("gridIdList") List<String> gridIdList);
/**
* @Description 查询网格名 不限制是否同步条件 SYNC_FLAG
* @param gridIdList
* @Description 查询网格名 不限制是否同步条件 SYNC_FLAG
* @author zxc
* @date 2022/1/12 9:42 上午
*/
@ -279,15 +279,15 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
CustomerGridDTO getGridBaseInfoById(@Param("gridId") String gridId);
/**
* @Description 根据网格ID查询pids
* @Description 根据网格ID查询pids
* @Param gridId
* @author zxc
* @date 2021/7/16 9:52 上午
*/
String selectPidsByGridId(@Param("gridId")String gridId);
String selectPidsByGridId(@Param("gridId") String gridId);
/**
* @Description 查询网格名字
* @Description 查询网格名字
* @Param gridId
* @author zxc
* @date 2021/8/4 4:30 下午
@ -295,7 +295,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
String gridName(String gridId);
/**
* @Description 查询组织名字
* @Description 查询组织名字
* @Param orgIds
* @author zxc
* @date 2021/8/4 6:25 下午
@ -303,7 +303,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
List<String> selectOrgNameByType(@Param("orgIds") List<String> orgIds);
/**
* @Description 根据人查询所在组织
* @Description 根据人查询所在组织
* @Param userId
* @author zxc
* @date 2021/8/5 10:08 上午
@ -361,7 +361,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
CustomerGridDTO gridAgencyByGrid(@Param("gridId") String gridId);
int updateSubGridAreaCode(@Param("customerId") String customerId,
@Param("agencyId")String agencyId,
@Param("agencyId") String agencyId,
@Param("operateUserId") String operateUserId);
List<CustomerStaffGridResultDTO> getStaffGridList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgType") String orgType);
}

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

@ -47,7 +47,13 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
// @Param("building") IcBuildingEntity building,
// @Param("house") IcHouseEntity house);
IPage<Map<String, Object>> searchHouseByPage(IPage<IcHouseEntity> page,
@Param("house") IcHouseEntity house);
@Param("pids") String pids,
@Param("buildingId") String buildingId,
@Param("ownerName") String ownerName,
@Param("ownerPhone") String ownerPhone,
@Param("neighborHoodName") String neighborHoodName,
@Param("buildingName") String buildingName,
@Param("queryScene") String queryScene);
List<IcHouseExcel> searchAllHouse(@Param("house") IcHouseEntity house);

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

@ -362,4 +362,16 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @Description 查询组织直属网格列表
**/
List<AgencyGridList> gridListByAgencyId(String agencyId);
/**
* desc: 获取组织及网格下 工作人员网格关系列表
*
* @param customerId
* @param orgId
* @param orgType
* @return java.util.List<com.epmet.dto.result.CustomerStaffGridResultDTO>
* @author LiuJanJun
* @date 2022/1/17 3:50 下午
*/
List<CustomerStaffGridResultDTO> getStaffGridList(String customerId, String orgId, String orgType);
}

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

@ -49,7 +49,15 @@ public interface HouseService {
List<Integer> importExcel(String customerId, List<IcHouseExcel> list, String staffId, List<Integer> numList);
IcNeighborHoodResultDTO listNeighborhood(ListIcNeighborHoodFormDTO formDTO);
IcNeighborHoodResultDTO listNeighborhood(String ancestorAgencyId,
String buildingId,
String ownerName,
String ownerPhone,
String neighborHoodName,
String buildingName,
String queryScene,
Integer pageNo,
Integer pageSize);
void exportBuildinginfo(ListIcNeighborHoodFormDTO formDTO, HttpServletResponse response) throws Exception;

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

@ -42,7 +42,6 @@ import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
@ -931,4 +930,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
return result;
}
@Override
public List<CustomerStaffGridResultDTO> getStaffGridList(String customerId, String orgId, String orgType) {
return baseDao.getStaffGridList(customerId,orgId,orgType);
}
}

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

@ -3,15 +3,21 @@ package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
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.feign.ResultDataResolver;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dao.IcBuildingUnitDao;
import com.epmet.dao.IcHouseDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.IcBuildingUnitDTO;
import com.epmet.dto.IcHouseDTO;
@ -24,6 +30,7 @@ import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.excel.IcHouseExcel;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.HouseService;
import com.epmet.service.IcBuildingService;
import com.epmet.service.IcBuildingUnitService;
@ -42,7 +49,7 @@ import java.util.stream.Collectors;
@Slf4j
@Service
public class HouseServiceImpl implements HouseService {
public class HouseServiceImpl implements HouseService, ResultDataResolver {
@ -60,6 +67,8 @@ public class HouseServiceImpl implements HouseService {
private IcBuildingUnitDao icBuildingUnitDao;
@Resource
private IcHouseDao icHouseDao;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
@Transactional(rollbackFor = Exception.class)
@ -207,12 +216,46 @@ public class HouseServiceImpl implements HouseService {
}
@Override
public IcNeighborHoodResultDTO listNeighborhood(ListIcNeighborHoodFormDTO formDTO) {
public IcNeighborHoodResultDTO listNeighborhood(String ancestorAgencyId,
String buildingId,
String ownerName,
String ownerPhone,
String neighborHoodName,
String buildingName,
String queryScene,
Integer pageNo,
Integer pageSize) {
IcNeighborHoodResultDTO result = new IcNeighborHoodResultDTO();
//如果类型是house 查房屋
IPage<Map<String, Object>> resultMap = searchHouse(formDTO);
result.setTotal(Long.valueOf(resultMap.getTotal()).intValue());
result.setList(resultMap.getRecords());
//IPage<Map<String, Object>> resultMap = searchHouse(buildingId, ownerName, ownerPhone, neighborHoodName, buildingName, pageNo, pageSize);
// 查询pids
CustomerAgencyDTO agency = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(ancestorAgencyId), ServiceConstant.GOV_ORG_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(), "【社区查询-查询需求列表】查询当前staff所属组织信息失败", null);
if (agency == null) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "【社区查询-查询需求列表】查询当前staff所属组织信息失败");
}
String pids;
if(NumConstant.ZERO_STR.equals(agency.getPid())){
pids = ancestorAgencyId;
}else{
pids = agency.getPids().concat(StrConstant.COLON).concat(ancestorAgencyId);
}
IPage<IcHouseEntity> page = new Page<IcHouseEntity>(pageNo,pageSize);
IPage<Map<String, Object>> mapIPage = icHouseDao.searchHouseByPage(page, pids, buildingId, ownerName, ownerPhone, neighborHoodName, buildingName, queryScene);
List<Map<String, Object>> records = mapIPage.getRecords();
records.forEach(item->{
item.put("houseType", HouseTypeEnums.getTypeValue(item.get("houseTypeKey")));
item.put("purpose", HousePurposeEnums.getTypeValue(item.get("purposeKey")));
});
result.setTotal(Long.valueOf(mapIPage.getTotal()).intValue());
result.setList(records);
return result;
}
@ -247,20 +290,23 @@ public class HouseServiceImpl implements HouseService {
return icHouseExcels;
}
private IPage<Map<String, Object>> searchHouse(ListIcNeighborHoodFormDTO formDTO) {
IPage<IcHouseEntity> page = new Page<IcHouseEntity>(formDTO.getPageNo(),formDTO.getPageSize());
/*private IPage<Map<String, Object>> searchHouse(String buildingId,
String ownerName,
String ownerPhone,
String neighborHoodName,
String buildingName,
Integer pageNo,
Integer pageSize) {
IPage<IcHouseEntity> page = new Page<IcHouseEntity>(pageNo,pageSize);
IcHouseEntity house = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class);
house.setDelFlag("0");
IPage<Map<String, Object>> mapIPage = icHouseDao.searchHouseByPage(page, house);
IPage<Map<String, Object>> mapIPage = icHouseDao.searchHouseByPage(page, buildingId, ownerName, ownerPhone, neighborHoodName, buildingName);
List<Map<String, Object>> records = mapIPage.getRecords();
records.forEach(item->{
item.put("houseType", HouseTypeEnums.getTypeValue(item.get("houseTypeKey")));
item.put("purpose", HousePurposeEnums.getTypeValue(item.get("purposeKey")));
});
return mapIPage;
}
}*/
@Override
public List<HouseInfoDTO> queryListHouseInfo(Set<String> houseIdList) {

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

@ -783,5 +783,27 @@
where customer_id=#{customerId}
AND pids LIKE concat('%',#{agencyId}, '%' )
</update>
<select id="getStaffGridList" resultType="com.epmet.dto.result.CustomerStaffGridResultDTO">
SELECT
csg.USER_ID,
csg.GRID_ID,
cg.GRID_NAME,
cg.PID agencyId
from customer_staff_grid csg
INNER JOIN customer_grid cg ON cg.ID = csg.GRID_ID
WHERE cg.DEL_FLAG = '0'
AND csg.DEL_FLAG = '0'
AND cg.CUSTOMER_ID = #{customerId}
<if test="orgType != null and orgType != ''">
<choose>
<when test="orgType == 'grid'">
AND cg.ID = #{orgId}
</when>
<otherwise>
AND cg.PIDS like concat('%', #{orgId},'%')
</otherwise>
</choose>
</if>
</select>
</mapper>

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

@ -129,22 +129,40 @@
LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID and d.DEL_FLAG = '0'
<where>
<if test="house.buildingId != null and house.buildingId.trim() != ''">
AND a.BUILDING_ID = #{house.buildingId}
<if test="pids != null and pids != ''">
AND c.AGENCY_PIDS like CONCAT(#{pids},'%')
</if>
<if test="house.ownerName != null and house.ownerName.trim() != ''">
AND a.OWNER_NAME like concat('%',#{house.ownerName},'%')
<if test="buildingId != null and buildingId.trim() != ''">
AND a.BUILDING_ID = #{buildingId}
</if>
<if test="house.ownerPhone != null and house.ownerPhone.trim() != ''">
AND a.OWNER_PHONE like concat('%',#{house.ownerPhone},'%')
<if test="ownerName != null and ownerName.trim() != ''">
AND a.OWNER_NAME like concat('%',#{ownerName},'%')
</if>
<if test="house.delFlag != null and house.delFlag.trim() != ''">
AND a.DEL_FLAG = #{house.delFlag}
<if test="ownerPhone != null and ownerPhone.trim() != ''">
AND a.OWNER_PHONE like concat('%',#{ownerPhone},'%')
</if>
<if test="neighborHoodName != null and neighborHoodName.trim() != ''">
AND c.NEIGHBOR_HOOD_NAME like CONCAT('%',#{neighborHoodName},'%')
</if>
<if test="buildingName != null and buildingName.trim() != ''">
AND b.BUILDING_NAME like CONCAT('%',#{buildingName},'%')
</if>
</where>
ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
/*排序规则:如果是社区查询则根据小区、楼栋、单元、房屋名字分别升序排序*/
<choose>
<when test="queryScene == 'community_search'">
ORDER BY CONVERT(c.NEIGHBOR_HOOD_NAME using gbk) ASC,
CONVERT(b.BUILDING_NAME USING gbk) ASC,
CONVERT(d.UNIT_NAME USING gbk) ASC,
CONVERT(a.HOUSE_NAME using gbk) ASC
</when>
<when test="queryScene == 'house_manage'">
ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
</when>
<otherwise>
ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
</otherwise>
</choose>
</select>
<select id="searchAllHouse" resultType="com.epmet.excel.IcHouseExcel">
select

0
epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.17__project_work_minutes.sql → epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.19__project_work_minutes.sql

74
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcIndividualCategoryManageDTO.java

@ -0,0 +1,74 @@
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-01-17
*/
@Data
public class IcIndividualCategoryManageDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 用户ID
*/
private String userId;
/**
*
*/
private String columnId;
/**
* 排序
*/
private Integer sort;
/**
* 删除标记
*/
private Integer delFlag;
/**
* 乐观锁
*/
private String revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

26
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIndividualCategoryFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/1/17 10:59 上午
* @DESC
*/
@Data
public class EditIndividualCategoryFormDTO implements Serializable {
private static final long serialVersionUID = -3492393795553841513L;
public interface EditIndividualCategoryForm{}
@NotBlank(message = "columnId不能为空",groups = EditIndividualCategoryForm.class)
private String columnId;
@NotNull(message = "sort不能为空",groups = EditIndividualCategoryForm.class)
private Integer sort;
}

36
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/1/17 10:52 上午
* @DESC
*/
@Data
public class IndividualCategoryListResultDTO implements Serializable {
private static final long serialVersionUID = -3294223041971531203L;
/**
* 标签
*/
private String label;
/**
* 图片
*/
private String managementIcon;
/**
* 字段名
*/
private String columnName;
/**
* 排序
*/
private Integer sort;
}

56
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcIndividualCategoryManageController.java

@ -0,0 +1,56 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
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.IcIndividualCategoryManageDTO;
import com.epmet.dto.form.EditIndividualCategoryFormDTO;
import com.epmet.dto.result.IndividualCategoryListResultDTO;
import com.epmet.service.IcIndividualCategoryManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 个人分类管理
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@RestController
@RequestMapping("icindividualcategorymanage")
public class IcIndividualCategoryManageController {
@Autowired
private IcIndividualCategoryManageService icIndividualCategoryManageService;
/**
* @Description 人员分类管理查询个人分类列表
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:55 上午
*/
@PostMapping("individualcategorylist")
public Result<List<IndividualCategoryListResultDTO>> individualCategoryList(@LoginUser TokenDto tokenDto){
return new Result<List<IndividualCategoryListResultDTO>>().ok(icIndividualCategoryManageService.individualCategoryList(tokenDto));
}
/**
* @Description 人员分类管理个人分类修改(添加修改一个接口)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 11:04 上午
*/
@PostMapping("editindividualcategory")
public Result editIndividualCategory(@RequestBody List<EditIndividualCategoryFormDTO> formDTOS,@LoginUser TokenDto tokenDto){
icIndividualCategoryManageService.editIndividualCategory(formDTOS,tokenDto);
return new Result();
}
}

37
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcIndividualCategoryManageDao.java

@ -0,0 +1,37 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.IndividualCategoryListResultDTO;
import com.epmet.entity.IcIndividualCategoryManageEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 个人分类管理
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Mapper
public interface IcIndividualCategoryManageDao extends BaseDao<IcIndividualCategoryManageEntity> {
/**
* @Description 删除旧数据
* @param userId
* @param customerId
* @author zxc
* @date 2022/1/17 11:10 上午
*/
void deleteOldData(@Param("userId")String userId,@Param("customerId")String customerId);
/**
* @Description 人员分类管理查询个人分类列表
* @param userId
* @author zxc
* @date 2022/1/17 1:25 下午
*/
List<IndividualCategoryListResultDTO> individualCategoryList(@Param("userId")String userId);
}

44
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcIndividualCategoryManageEntity.java

@ -0,0 +1,44 @@
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-01-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_individual_category_manage")
public class IcIndividualCategoryManageEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户ID
*/
private String customerId;
/**
* 用户ID
*/
private String userId;
/**
*
*/
private String columnId;
/**
* 排序
*/
private Integer sort;
}

39
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcIndividualCategoryManageService.java

@ -0,0 +1,39 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcIndividualCategoryManageDTO;
import com.epmet.dto.form.EditIndividualCategoryFormDTO;
import com.epmet.dto.result.IndividualCategoryListResultDTO;
import com.epmet.entity.IcIndividualCategoryManageEntity;
import java.util.List;
import java.util.Map;
/**
* 个人分类管理
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
public interface IcIndividualCategoryManageService extends BaseService<IcIndividualCategoryManageEntity> {
/**
* @Description 人员分类管理查询个人分类列表
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:55 上午
*/
List<IndividualCategoryListResultDTO> individualCategoryList(TokenDto tokenDto);
/**
* @Description 人员分类管理个人分类修改(添加修改一个接口)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 11:04 上午
*/
void editIndividualCategory(List<EditIndividualCategoryFormDTO> formDTOS, TokenDto tokenDto);
}

62
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java

@ -0,0 +1,62 @@
package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcIndividualCategoryManageDao;
import com.epmet.dto.form.EditIndividualCategoryFormDTO;
import com.epmet.dto.result.IndividualCategoryListResultDTO;
import com.epmet.entity.IcIndividualCategoryManageEntity;
import com.epmet.service.IcIndividualCategoryManageService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* 个人分类管理
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-17
*/
@Service
public class IcIndividualCategoryManageServiceImpl extends BaseServiceImpl<IcIndividualCategoryManageDao, IcIndividualCategoryManageEntity> implements IcIndividualCategoryManageService {
/**
* @Description 人员分类管理查询个人分类列表
* @param tokenDto
* @author zxc
* @date 2022/1/17 10:55 上午
*/
@Override
public List<IndividualCategoryListResultDTO> individualCategoryList(TokenDto tokenDto) {
List<IndividualCategoryListResultDTO> result = baseDao.individualCategoryList(tokenDto.getUserId());
if (CollectionUtils.isNotEmpty(result)){
return result;
}
return new ArrayList<>();
}
/**
* @Description 人员分类管理个人分类修改(添加修改一个接口)
* @param formDTOS
* @param tokenDto
* @author zxc
* @date 2022/1/17 11:04 上午
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void editIndividualCategory(List<EditIndividualCategoryFormDTO> formDTOS, TokenDto tokenDto) {
if (CollectionUtils.isNotEmpty(formDTOS)){
baseDao.deleteOldData(tokenDto.getUserId(),tokenDto.getCustomerId());
List<IcIndividualCategoryManageEntity> entities = ConvertUtils.sourceToTarget(formDTOS, IcIndividualCategoryManageEntity.class);
entities.forEach(e -> {
e.setCustomerId(tokenDto.getCustomerId());
e.setUserId(tokenDto.getUserId());
});
insertBatch(entities);
}
}
}

23
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml

@ -0,0 +1,23 @@
<?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.IcIndividualCategoryManageDao">
<!-- 删除旧数据 -->
<delete id="deleteOldData">
DELETE FROM ic_individual_category_manage WHERE USER_ID = #{userId} AND CUSTOMER_ID = #{customerId}
</delete>
<!-- 【人员分类管理】查询个人分类列表 -->
<select id="individualCategoryList" resultType="com.epmet.dto.result.IndividualCategoryListResultDTO">
SELECT
cm.SORT,
sc.LABEL,
sc.MANAGEMENT_ICON,
sc.COLUMN_NAME
FROM ic_individual_category_manage cm
INNER JOIN ic_resi_category_stats_config sc ON (sc.ID = cm.COLUMN_ID AND sc.DEL_FLAG = '0' AND `STATUS` = 'show')
WHERE cm.DEL_FLAG = 0
AND cm.USER_ID = #{userId}
</select>
</mapper>

137
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java

@ -0,0 +1,137 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 变更明细表
[一条变更记录对应多条人员类别数据]
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Data
public class IcUserChangeDetailedDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 客户Id
*/
private String customerId;
/**
* 字段名18类对应的ic_resi_user表字段名
*/
private String icUserChangeRecordId;
/**
* 组织Id
*/
private String agencyId;
/**
* 网格Id
*/
private String gridId;
/**
* 小区Id
*/
private String neighborHoodId;
/**
* 楼栋Id
*/
private String buildingId;
/**
* 单元Id
*/
private String buildingUnitId;
/**
* 房屋Id
*/
private String houseId;
/**
* 变更人Id
*/
private String icUserId;
/**
* 操作类型add:新增 category:类别变动 in:迁入 out:迁出
*/
private String type;
/**
* 操作类型名称add:新增 category:类别变动 in:迁入 out:迁出
*/
private String typeName;
/**
* 字段名18类对应的ic_resi_user表字段名
*/
private String fieldName;
/**
* 当前类别的值
*/
private Integer value;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

131
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java

@ -0,0 +1,131 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 居民变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Data
public class IcUserChangeRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 调动表Id只有调动记录此列才有值
*/
private String icUserTransferRecordId;
/**
* 当前所属客户Id
*/
private String customerId;
/**
* 操作人Idcustomer_staff表userId
*/
private String operatorId;
/**
* 被操作人Idic_resi_user表id
*/
private String icUserId;
/**
* 操作人名称customer_staff表real_name
*/
private String operatorName;
/**
* 被操作人名称ic_resi_user表name
*/
private String icUserName;
/**
* 操作类型add:新增 category:类别变动 transfer
*/
private String type;
/**
* 操作类型名称add:新增 category:类别变动 transfer:迁出
*/
private String typeName;
/**
* 变更前文字描述
*/
private String beforeChangeName;
/**
* 变更后文字描述
*/
private String afterChangeName;
/**
* 调整时间
*/
private Date changeTime;
/**
* 备注说明
*/
private String remark;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

231
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserTransferRecordDTO.java

@ -0,0 +1,231 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 居民调动记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@Data
public class IcUserTransferRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 唯一标识
*/
private String id;
/**
* 被调动人Idic_resi_user表id
*/
private String icUserId;
/**
* 调动(工作)人员Idcustomer_staff表userId
*/
private String operatorId;
/**
* 被调动人名称ic_resi_user表name
*/
private String icUserName;
/**
* 调动(工作)人员名称customer_staff表real_name
*/
private String operatorName;
/**
* 调动前客户Id
*/
private String oldCustomerId;
/**
* 调动后客户Id
*/
private String newCustomerId;
/**
* 调动前组织Id
*/
private String oldAgencyId;
/**
* 调动后组织Id
*/
private String newAgencyId;
/**
* 调动前组织名称
*/
private String oldAgencyName;
/**
* 调动后组织名称
*/
private String newAgencyName;
/**
* 调动前网格Id
*/
private String oldGridId;
/**
* 调动后网格Id
*/
private String newGridId;
/**
* 调动前网格名称
*/
private String oldGridName;
/**
* 调动后网格名称
*/
private String newGridName;
/**
* 调动前小区Id
*/
private String oldNeighborHoodId;
/**
* 调动后小区Id
*/
private String newNeighborHoodId;
/**
* 调动前小区名称
*/
private String oldNeighborHoodName;
/**
* 调动后小区名称
*/
private String newNeighborHoodName;
/**
* 调动前楼栋Id
*/
private String oldBuildingId;
/**
* 调动后楼栋Id
*/
private String newBuildingId;
/**
* 调动前楼栋名称
*/
private String oldBuildingName;
/**
* 调动后楼栋名称
*/
private String newBuildingName;
/**
* 调动前单元Id
*/
private String oldBuildingUnitId;
/**
* 调动后单元Id
*/
private String newBuildingUnitId;
/**
* 调动前单元名称
*/
private String oldBuildingUnitName;
/**
* 调动后单元名称
*/
private String newBuildingUnitName;
/**
* 调动前房屋Id
*/
private String oldHouseId;
/**
* 调动后房屋Id
*/
private String newHouseId;
/**
* 调动前房屋名称
*/
private String oldHouseName;
/**
* 调动后房屋名称
*/
private String newHouseName;
/**
* 调动时间
*/
private Date transferTime;
/**
* 备注说明
*/
private String remark;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

52
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java

@ -0,0 +1,52 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* DESC:网格下的工作人员 查询
* @author liujianjun
*/
@Data
public class GridStaffFormDTO extends PageFormDTO {
/**
* 客户Id
*/
private String customerId;
/**
* 工作人员Id
*/
private String userId;
/**
* 工作人员姓名
*/
private String userName;
/**
* 手机号
*/
private String mobile;
/**
* 角色key
*/
@NotBlank(message = "角色Key不能为空", groups = {DefaultGroup.class})
private List<String> roleKeyList;
/**
* 组织ID
*/
private String orgId;
/**
* 组织类型 agency or grid
*/
private String orgType;
}

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

@ -37,5 +37,11 @@ public class IcResiUserPageFormDTO implements Serializable {
@NotBlank(message = "当前用户id不能为空", groups = AddUserInternalGroup.class)
private String staffId;
/**
* 关键词
*/
private String keyword;
}

28
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -640,4 +640,32 @@ public class IcResiUserController {
}
return new Result<>();
}
/**
* 社区查询搜索居民们
* @param input
* @return
*/
@PostMapping("search")
public Result<PageData<Map<String, Object>>> searchResi(@RequestBody IcResiUserPageFormDTO input, @LoginUser TokenDto loginUser) {
if (StringUtils.isBlank(input.getKeyword())) {
PageData<Map<String, Object>> r = new PageData<Map<String, Object>>(new ArrayList<>(), 0);
return new Result<PageData<Map<String, Object>>>().ok(r);
}
input.setKeyword(input.getKeyword().trim());
input.setCustomerId(loginUser.getCustomerId());
input.setStaffId(loginUser.getUserId());
input.setFormCode("resi_base_info");
if (input.getPageNo() == null) {
input.setPageNo(1);
}
if (input.getPageSize() == null) {
input.setPageSize(20);
}
PageData<Map<String, Object>> r = icResiUserService.pageResiMap(input);
return new Result<PageData<Map<String, Object>>>().ok(r);
}
}

41
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeDetailedController.java

@ -0,0 +1,41 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.service.IcUserChangeDetailedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 变更明细表
[一条变更记录对应多条人员类别数据]
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@RestController
@RequestMapping("icuserchangedetailed")
public class IcUserChangeDetailedController {
@Autowired
private IcUserChangeDetailedService icUserChangeDetailedService;
}

40
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java

@ -0,0 +1,40 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.service.IcUserChangeRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 居民变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@RestController
@RequestMapping("icuserchangerecord")
public class IcUserChangeRecordController {
@Autowired
private IcUserChangeRecordService icUserChangeRecordService;
}

40
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserTransferRecordController.java

@ -0,0 +1,40 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.service.IcUserTransferRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 居民调动记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-01-14
*/
@RestController
@RequestMapping("icusertransferrecord")
public class IcUserTransferRecordController {
@Autowired
private IcUserTransferRecordService icUserTransferRecordService;
}

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

@ -2,6 +2,9 @@ package com.epmet.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.GovStaffRoleDTO;
@ -195,4 +198,19 @@ public class StaffRoleController {
ValidatorUtils.validateEntity(formDTO,RoleStaffIdFormDTO.AddUserInternalGroup.class);
return new Result<Set<String>>().ok(staffRoleService.queryRoleStaffIds(formDTO));
}
/**
* desc: 根据角色用户名手机号 组织获取网格下的工作人员 精确匹配
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.Set<java.lang.String>>
* @author LiuJanJun
* @date 2022/1/17 2:26 下午
*/
@PostMapping("getGridStaffList")
Result<PageData<CustomerGridStaffResultDTO>> getGridStaffList(@LoginUser TokenDto tokenDto, @RequestBody GridStaffFormDTO formDTO){
//tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<PageData<CustomerGridStaffResultDTO>>().ok(staffRoleService.getGridStaffList(formDTO));
}
}

3
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java

@ -59,7 +59,8 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
@Param("subTables") List<String> subTables,
@Param("currentStaffAgencyId")String currentStaffAgencyId,
@Param("staffOrgPath") String staffOrgPath,
@Param("resultTableName")String resultTableName);
@Param("resultTableName")String resultTableName,
@Param("keyword") String keyword);
/**
* 查询主表
*

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

Loading…
Cancel
Save