diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..224e480e9c
--- /dev/null
+++ b/.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/
+
diff --git a/epmet-cloud-generator/src/main/resources/application.yml b/epmet-cloud-generator/src/main/resources/application.yml
index cc5174da7b..0bd4a76f77 100644
--- a/epmet-cloud-generator/src/main/resources/application.yml
+++ b/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
diff --git a/epmet-cloud-generator/src/main/resources/template/Controller.java.vm b/epmet-cloud-generator/src/main/resources/template/Controller.java.vm
index 387cdc6961..e7d642a3ca 100644
--- a/epmet-cloud-generator/src/main/resources/template/Controller.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Controller.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.controller;
import ${main}.commons.tools.page.PageData;
diff --git a/epmet-cloud-generator/src/main/resources/template/DTO.java.vm b/epmet-cloud-generator/src/main/resources/template/DTO.java.vm
index 83d0e1db5a..f444c74181 100644
--- a/epmet-cloud-generator/src/main/resources/template/DTO.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/DTO.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.dto;
import java.io.Serializable;
diff --git a/epmet-cloud-generator/src/main/resources/template/Dao.java.vm b/epmet-cloud-generator/src/main/resources/template/Dao.java.vm
index 43af398afa..a894ab59a7 100644
--- a/epmet-cloud-generator/src/main/resources/template/Dao.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Dao.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.dao;
import ${main}.commons.mybatis.dao.BaseDao;
diff --git a/epmet-cloud-generator/src/main/resources/template/Entity.java.vm b/epmet-cloud-generator/src/main/resources/template/Entity.java.vm
index 8822676ab2..5a8de66500 100644
--- a/epmet-cloud-generator/src/main/resources/template/Entity.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Entity.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.entity;
import com.baomidou.mybatisplus.annotation.TableName;
diff --git a/epmet-cloud-generator/src/main/resources/template/Excel.java.vm b/epmet-cloud-generator/src/main/resources/template/Excel.java.vm
index eee8847471..3590e88559 100644
--- a/epmet-cloud-generator/src/main/resources/template/Excel.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Excel.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
diff --git a/epmet-cloud-generator/src/main/resources/template/Redis.java.vm b/epmet-cloud-generator/src/main/resources/template/Redis.java.vm
index 22ab9f82f4..abe1ff0c2e 100644
--- a/epmet-cloud-generator/src/main/resources/template/Redis.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Redis.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.redis;
import ${main}.commons.tools.redis.RedisUtils;
diff --git a/epmet-cloud-generator/src/main/resources/template/Service.java.vm b/epmet-cloud-generator/src/main/resources/template/Service.java.vm
index 388dba62cf..59e490572d 100644
--- a/epmet-cloud-generator/src/main/resources/template/Service.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/Service.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.service;
import ${main}.commons.mybatis.service.BaseService;
diff --git a/epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm b/epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm
index e0e34c5a3a..f0bcfe2a7e 100644
--- a/epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm
+++ b/epmet-cloud-generator/src/main/resources/template/ServiceImpl.java.vm
@@ -1,20 +1,3 @@
-/**
- * Copyright 2018 人人开源 https://www.renren.io
- *
- * 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.
- *
- * 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
package ${package}.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java
index 9922a2fb6e..fe22284567 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/PageFormDTO.java
+++ b/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 {
}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/result/StaffInfoResultDTO.java
new file mode 100644
index 0000000000..c59ac45da9
--- /dev/null
+++ b/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;
+
+
+
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ResiEventReportOrgDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ResiEventReportOrgDTO.java
new file mode 100644
index 0000000000..2576c3df7e
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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的上级组织id,org_id是跟组织,此列为0
+ */
+ private String orgPid;
+
+ /**
+ * org_id的所有上级组织id,org_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;
+
+}
diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java
index 0d5b2f2707..5386febe19 100644
--- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java
+++ b/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 categoryCodes = new ArrayList<>();
//一级分类名称集合
private List 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;
//标题
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
index 1945951993..43ea091ab5 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java
+++ b/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 {
@Param("userIds") List userIds,
@Param("origin") String origin);
+ /**
+ * @Description 事件项目上报组织信息
+ * @author sun
+ */
+ List getEventOrgList(@Param("eventIds") List eventIds);
List getCategoryCount(ProjectCategoryTotalFormDTO formDTO);
}
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
index a14d90d2f7..f6eb9e071a 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java
+++ b/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 projectIds = result.getList().stream().map(CategoryProjectResultDTO.Project::getProjectId).collect(Collectors.toList());
List list = projectDao.getCategoryList(projectIds);
- //4.查询网格信息【楼院小组类项目、上报事件且上报给网格的项目才存在网格Id】
- List gridIds = result.getList().stream().map(CategoryProjectResultDTO.Project::getGridId).collect(Collectors.toList());
- gridIds = gridIds.stream().distinct().collect(Collectors.toList());
- List gridList = govOrgService.gridListByIds(gridIds);
+ //4.查询来源事件的项目上报的组织信息
+ List eventIds = result.getList().stream().filter(re -> "resi_event".equals(re.getOrigin())).map(m -> m.getOriginId()).collect(Collectors.toList());
+ List eventOrgList = projectDao.getEventOrgList(eventIds);
+ Map eventMap = eventOrgList.stream().collect(Collectors.toMap(ResiEventReportOrgDTO::getResiEventId, Function.identity()));
//5.查询来源议题、事件的项目居民端创建人userId
List eventUser = projectDao.getEventList(projectIds);
List topicUser = projectDao.getTopicUser(projectIds);
//5.封装数据
+ //组织或网格id->组织或网格名称
+ Map 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 caId = new ArrayList<>();
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
index 39a56d798d..599a5da471 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml
+++ b/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}, '%')
AND p.`STATUS` = #{projectStatus}
@@ -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
+ customer_id,
+ resi_event_id,
+ org_type,
+ org_id
+ FROM
+ resi_event_report_org
+ WHERE
+ del_flag = '0'
+
+ #{eventId}
+
+
SELECT
LEFT(c.CATEGORY_CODE,#{categoryOneLength}) CATEGORY_CODE,
diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataShibeiResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataShibeiResultDTO.java
new file mode 100644
index 0000000000..c443f78fc5
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java
index dcf083d507..1e4a67a0b9 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java
+++ b/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>().ok(indexService.advancedBranchRank(formDTO));
}
+ /**
+ * @param formDTO
+ * @Description 数字社区:数据分析-动力网格
+ * @author sun
+ */
+ @PostMapping("advancedbranchrank-shibei")
+ Result> advancedBranchRankShibei(@RequestBody AdvancedBranchRankFormDTO formDTO, @LoginUser TokenDto loginUser){
+ ValidatorUtils.validateEntity(formDTO, AdvancedBranchRankFormDTO.AddUserInternalGroup.class);
+ formDTO.setCustomerId(loginUser.getCustomerId());
+ //formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
+ return new Result>().ok(indexService.advancedBranchRankShibei(formDTO));
+ }
+
/**
* @param formDTO
* @author yinzuomei
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataShibeiDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataShibeiDao.java
new file mode 100644
index 0000000000..b6df3da088
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 selectGridRankList(AdvancedBranchRankFormDTO formDTO);
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java
index 97ad39b278..f8adab8479 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java
+++ b/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 subAgencyIndexRankPy(SubAgencyIndexRankPyFormDTO formDTO);
+
+ /**
+ * desc: 市北数字社区特供接口 网格排行
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2022/1/14 4:57 下午
+ */
+ List advancedBranchRankShibei(AdvancedBranchRankFormDTO formDTO);
}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
index b69407cc04..d362f50ef4 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
+++ b/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 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 getSubSingleIndexRank(SubSingleIndexRankFormDTO formDTO) {
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataShibeiDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataShibeiDao.xml
new file mode 100644
index 0000000000..762d9c5eb9
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataShibeiDao.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ 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}
+
+
+
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java
index 084a3ed84c..e1ae6dc1e2 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsGroupServiceImpl.java
+++ b/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 customerAgencyInfos = dimAgencyService.getAgencyInfoByCustomerId(customerId);
- List> partition = ListUtils.partition(customerAgencyInfos, NumConstant.ONE_HUNDRED);
- for (List p : partition) {
- List agencyGroupDaily = this.getAgencyGroupDaily(p, dimIdBean, customerId);
- factGroupAgencyDailyService.insertGroupAgencyDaily(agencyGroupDaily, customerId,status);
- status = false;
- }
+ List 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 网格小组 【机关-日】 数据统计处理
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
index 1cf497d14e..bacc003c5c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java
+++ b/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 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 projectDateEntityList = new ArrayList<>(mapList.values());
//三、批量保存数据,先删后增
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
index 7dd28b1519..11e6f99e26 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
+++ b/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
* @Description 查询客户项目处理进展表中是创建项目和结案两种进展的有效数据(创建日期截取yyyy-mm-dd格式字段值)
**/
List getProcessList(ProjectEntity projectEntity);
+ List getProcessAgencyList(ProjectEntity projectEntity);
/**
* 根据客户查询项目处理进展
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
index 87b377d39e..23367bfa06 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
+++ b/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 {
* @Description 根据客户Id查询客户项目业务表有效数据
**/
List getProjectList(ProjectEntity projectEntity);
+ List getProjectAgencyList(ProjectEntity projectEntity);
/**
* 已结案项目统计
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
index bb0925ca52..97df52fdbe 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
+++ b/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 getProcessList(ProjectEntity projectEntity) {
+ return baseDao.selectProcessList(projectEntity);
+ }
+ @Override
+ public List getProcessAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProcessList(projectEntity);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
index cf5da0feb9..9b409ce75f 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
+++ b/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 getProjectList(ProjectEntity projectEntity) {
+ return baseDao.selectProjectList(projectEntity);
+ }
+ @Override
+ public List getProjectAgencyList(ProjectEntity projectEntity) {
PageHelper.startPage(projectEntity.getPageNo(), projectEntity.getPageSize());
return baseDao.selectProjectList(projectEntity);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java
index 23b34b22af..812c2c73da 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactGroupAgencyDailyService.java
+++ b/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 agencyList,String customerId,Boolean status);
+ void insertGroupAgencyDaily(List agencyList,String customerId);
/**
* @param
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java
index b822dcaaa0..306849f76e 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactGroupAgencyDailyServiceImpl.java
+++ b/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 agencyList,String customerId,Boolean status) {
+ public void insertGroupAgencyDaily(List 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> partition = ListUtils.partition(agencyList, NumConstant.ONE_HUNDRED);
partition.forEach(p -> {
baseDao.insertGroupAgencyDaily(p);
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/PageListAnalysisFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/PageListAnalysisFormDTO.java
index 2eb55979b1..dea90b14ad 100644
--- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/PageListAnalysisFormDTO.java
+++ b/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;
}
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemAddFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemAddFormDTO.java
new file mode 100644
index 0000000000..6ac82ec0db
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemPageFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceItemPageFormDTO.java
new file mode 100644
index 0000000000..cb1586d413
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StatusFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StatusFormDTO.java
index 879d632cc7..2e8e95db04 100644
--- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/StatusFormDTO.java
+++ b/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;
}
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java
index a574bb3100..bfeb9203e2 100644
--- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/UserDemandPageFormDTO.java
+++ b/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;
}
diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/ServiceItemResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/ServiceItemResultDTO.java
new file mode 100644
index 0000000000..3408b5f724
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcResiDemandDictController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcResiDemandDictController.java
index 4bb3a8c969..2fb6ad864f 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcResiDemandDictController.java
+++ b/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();
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceItemDictController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceItemDictController.java
new file mode 100644
index 0000000000..d2f9f6d412
--- /dev/null
+++ b/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> page(@RequestBody ServiceItemPageFormDTO formDTO){
+ ValidatorUtils.validateEntity(formDTO,ServiceItemPageFormDTO.AddUserInternalGroup.class);
+ PageData page = icServiceItemDictService.page(formDTO);
+ return new Result>().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();
+ }
+}
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java
index 0eb686a401..e3e9cde3b8 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java
+++ b/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().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 page = icUserDemandRecService.search(loginUser.getCustomerId(), loginUserDetail.getAgencyId(), keyword, pageNo, pageSize);
+
+ return new Result().ok(page);
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java
new file mode 100644
index 0000000000..5837b45aea
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ List pageList(String customerId);
+}
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceItemDictEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcServiceItemDictEntity.java
new file mode 100644
index 0000000000..c0b34489f5
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java
new file mode 100644
index 0000000000..a93e50aaff
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * 01、列表查询
+ * @param formDTO
+ * @return
+ */
+ PageData page(ServiceItemPageFormDTO formDTO);
+
+ /**
+ * 02、添加或者修改分类
+ * @param formDTO
+ */
+ void addOrUpdate(ServiceItemAddFormDTO formDTO);
+
+ /**
+ * 03、启用或者禁用分类
+ * @param formDTO
+ * @return
+ */
+ void updateStatus(StatusFormDTO formDTO);
+}
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
index da3fd68cdf..336cd21999 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
+++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java
@@ -214,4 +214,14 @@ public interface IcUserDemandRecService extends BaseService search(String customerId, String agencyId, String keyword, Integer pageNo, Integer pageSize);
}
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java
index 0e352910c6..493004ce71 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcResiDemandDictServiceImpl.java
+++ b/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
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 implements IcServiceItemDictService {
+
+
+ /**
+ * 列表查询
+ *
+ * @param formDTO
+ * @return
+ */
+ @Override
+ public PageData page(ServiceItemPageFormDTO formDTO) {
+ //目前不分页,只是接口支持分页
+ List 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 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 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 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 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);
+ }
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
index 34f7f2070f..f7034a63ee 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
+++ b/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 implements IcUserDemandRecService {
+public class IcUserDemandRecServiceImpl extends BaseServiceImpl implements IcUserDemandRecService, ResultDataResolver {
@Autowired
private IcUserDemandOperateLogDao operateLogDao;
@Autowired
@@ -792,67 +794,76 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl gridIds=list.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList());
- Result> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
- List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
- Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
-
- //2、查询分类名称
- List categoryCodes=list.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList());
- List dictList=demandDictService.listByCodes(formDTO.getCustomerId(),categoryCodes);
- Map 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 userInfoMap=new HashMap<>();
- Set userIdList=list.stream().filter(item->null!=item.getServiceType()&&item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toSet());
- if(CollectionUtils.isNotEmpty(userIdList)){
- Result> 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 demandList, String customerId) {
+ //1、查询网格信息
+ List gridIds=demandList.stream().map(DemandRecResultDTO::getGridId).collect(Collectors.toList());
+ Result> gridInfoRes=govOrgOpenFeignClient.getGridListByGridIds(gridIds);
+ List gridInfoList = gridInfoRes.success() && !CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
+ Map gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, Function.identity()));
+
+ //2、查询分类名称
+ List categoryCodes=demandList.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList());
+ List dictList=demandDictService.listByCodes(customerId,categoryCodes);
+ Map dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName));
+
+ //3、查询志愿者
+ // 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit;
+ Map userInfoMap=new HashMap<>();
+ Set userIdList=demandList.stream().filter(item->null!=item.getServiceType()&&item.getServiceType().equals(UserDemandConstant.VOLUNTEER)).map(DemandRecResultDTO::getServerId).collect(Collectors.toSet());
+ if(CollectionUtils.isNotEmpty(userIdList)){
+ Result> 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 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 list = baseDao.pageListAnalysis(queryForm);
+
+ // 填充信息
+ fillDemandsInfo(list, customerId);
+
+ return new PageData<>(list, new PageInfo<>(list).getTotal());
+ }
}
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.8__service_item_dict.sql b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/db/migration/V0.0.8__service_item_dict.sql
new file mode 100644
index 0000000000..098a4965fb
--- /dev/null
+++ b/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'
+);
+
+
+
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml
new file mode 100644
index 0000000000..f89b3c6a83
--- /dev/null
+++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ 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
+
+
+
\ No newline at end of file
diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
index 4bb193f075..b59fa44be5 100644
--- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
+++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
@@ -325,6 +325,13 @@
and r.STATUS !=#{excludeStatus}
+
+ AND (
+ r.DEMAND_USER_NAME = #{keyword}
+ OR match(r.CONTENT) against (#{keyword} in boolean mode )
+ OR s.SERVER_NAME like CONCAT('%',#{keyword},'%')
+ )
+
order by r.WANT_SERVICE_TIME desc,r.REPORT_TIME asc
diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/IcOftenUseFunctionDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/IcOftenUseFunctionDTO.java
new file mode 100644
index 0000000000..83e458ceb6
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AddOftenUseFunctionFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AddOftenUseFunctionFormDTO.java
new file mode 100644
index 0000000000..f03b2a2cf0
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OftenUseFunctionListResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OftenUseFunctionListResultDTO.java
new file mode 100644
index 0000000000..73ff018a10
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/IcOftenUseFunctionController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/IcOftenUseFunctionController.java
new file mode 100644
index 0000000000..07f036e90a
--- /dev/null
+++ b/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> oftenUseFunctionList(@LoginUser TokenDto tokenDto){
+ return new Result>().ok(icOftenUseFunctionService.oftenUseFunctionList(tokenDto));
+ }
+
+ /**
+ * @Description 【社区查询】常用功能添加(就是修改)
+ * @param formDTOS
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 10:13 上午
+ */
+ @PostMapping("addoftenusefunction")
+ public Result addOftenUseFunction(@RequestBody List formDTOS, @LoginUser TokenDto tokenDto){
+ icOftenUseFunctionService.addOftenUseFunction(formDTOS, tokenDto);
+ return new Result();
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/IcOftenUseFunctionDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/IcOftenUseFunctionDao.java
new file mode 100644
index 0000000000..ee0cec00e9
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * @Description 【社区查询】常用功能查询
+ * @param userId
+ * @author zxc
+ * @date 2022/1/17 10:06 上午
+ */
+ List 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);
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/IcOftenUseFunctionEntity.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/IcOftenUseFunctionEntity.java
new file mode 100644
index 0000000000..9c0e1cf9f0
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/IcOftenUseFunctionService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/IcOftenUseFunctionService.java
new file mode 100644
index 0000000000..8d0c15b59c
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 {
+
+ /**
+ * @Description 【社区查询】常用功能查询
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 9:47 上午
+ */
+ List oftenUseFunctionList(TokenDto tokenDto);
+
+ /**
+ * @Description 【社区查询】常用功能添加(就是修改)
+ * @param formDTOS
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 10:13 上午
+ */
+ void addOftenUseFunction(List formDTOS, TokenDto tokenDto);
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/IcOftenUseFunctionServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/IcOftenUseFunctionServiceImpl.java
new file mode 100644
index 0000000000..f12a56feef
--- /dev/null
+++ b/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
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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 implements IcOftenUseFunctionService {
+
+ /**
+ * @Description 【社区查询】常用功能查询
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 9:47 上午
+ */
+ @Override
+ public List oftenUseFunctionList(TokenDto tokenDto) {
+ List 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 formDTOS, TokenDto tokenDto) {
+ if (CollectionUtils.isNotEmpty(formDTOS)){
+ baseDao.deleteOldData(tokenDto.getUserId(),tokenDto.getCustomerId());
+ List entities = ConvertUtils.sourceToTarget(formDTOS, IcOftenUseFunctionEntity.class);
+ entities.forEach(e -> {
+ e.setCustomerId(tokenDto.getCustomerId());
+ e.setUserId(tokenDto.getUserId());
+ });
+ insertBatch(entities);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/IcOftenUseFunctionDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/IcOftenUseFunctionDao.xml
new file mode 100644
index 0000000000..5f25af85fc
--- /dev/null
+++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/IcOftenUseFunctionDao.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ DELETE FROM ic_often_use_function WHERE USER_ID = #{userId} AND CUSTOMER_ID = #{customerId}
+
+
+
+
+ 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
+
+
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/DailyStatisticalVoteJobResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/DailyStatisticalVoteJobResultDTO.java
index 7bb45f5a4e..581f97575e 100644
--- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/DailyStatisticalVoteJobResultDTO.java
+++ b/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;
/**
* 统计日期
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
index a83bba6689..f79dfc1fc0 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
@@ -140,7 +140,7 @@ public interface IssueVoteDetailDao extends BaseDao {
* @author zxc
* @date 2021/12/29 2:02 下午
*/
- List statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId);
+ List statisticVote(@Param("customerId")String customerId,@Param("dateId")String dateId,@Param("status")Boolean status);
/**
* @Description 根据议题ID查询折线图一天的数据
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java
index d42489fb48..bace75b3df 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalDailyServiceImpl.java
+++ b/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 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 dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId);
+ List dayAdd = issueVoteDetailDao.statisticVote(customerId, dateId, true);
if (CollectionUtils.isNotEmpty(dayAdd)){
//累计
- List allDayAdd = issueVoteDetailDao.statisticVote(customerId, null);
+ List 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 needInsert = ConvertUtils.sourceToTarget(dayAdd, IssueVoteStatisticalDailyEntity.class);
- Integer delNum;
- do {
- delNum = baseDao.delHistoryData(customerId, dateId);
- } while (delNum != null && delNum > NumConstant.ZERO);
- List> 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 needInsert,String customerId,String dateId){
+ Integer delNum;
+ do {
+ delNum = baseDao.delHistoryData(customerId, dateId);
+ } while (delNum > NumConstant.ZERO);
+ List> partition = ListUtils.partition(needInsert, NumConstant.ONE_HUNDRED);
+ partition.forEach(p -> {
+ baseDao.insertBatch(p);
+ });
+ }
+
}
\ No newline at end of file
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
index def42fc563..4138ee635c 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
@@ -186,15 +186,16 @@
SELECT
vs.votable_count,
-
+
(t.oppositionCount + t.supportCount) AS totalCount,
-
+
(t.oppositionIncrement + t.supportIncrement) AS todayIncrement,
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}
-
+
AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') = #{dateId}
+
+ AND DATE_FORMAT(vd.CREATED_TIME,'%Y-%m-%d') #{dateId}
+
GROUP BY vd.ISSUE_ID)t
INNER JOIN issue_vote_statistical vs ON (vs.ISSUE_ID = t.ISSUE_ID AND vs.DEL_FLAG = '0')
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDailyDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDailyDao.xml
index bcbe6a5a4d..0340a7ea14 100644
--- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDailyDao.xml
+++ b/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},
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListIcNeighborHoodFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListIcNeighborHoodFormDTO.java
index 80b95263b6..402c86c868 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListIcNeighborHoodFormDTO.java
+++ b/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;
+
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerGridStaffResultDTO.java
new file mode 100644
index 0000000000..b325e80461
--- /dev/null
+++ b/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;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffGridResultDTO.java
new file mode 100644
index 0000000000..ece0ebfc73
--- /dev/null
+++ b/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;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
index 9bd7bfb642..8bd74a2c52 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
+++ b/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> queryListHouseInfo(@RequestBody Set houseIds);
-
-
+
+
/**
* @Description 获取组织下网格选项
* @Param formDTO
@@ -549,7 +549,7 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/agency/getsonagencyid")
Result> 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> getStaffGridList(@RequestParam("orgId")String orgId, @RequestParam("orgType")String orgType);
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
index c3ddd39202..9aeea0c92b 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
+++ b/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> getStaffGridList(String orgId, String orgType) {
+ return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getStaffGridList", orgId, orgType);
+ }
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
index 8843d646c5..ee4afd7bc8 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
+++ b/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>().ok(customerGridService.gridListByAgencyId(agencyId));
}
+ /**
+ * @Description 【事件】社区服务热线
+ * @author sun
+ **/
+ @PostMapping("getstaffgridlist")
+ Result> getStaffGridList(@LoginUser TokenDto tokenDto,
+ @RequestParam("orgId")String orgId,
+ @RequestParam("orgType")String orgType) {
+ //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
+ List staffGridList = customerGridService.getStaffGridList(tokenDto.getCustomerId(), orgId, orgType);
+ return new Result>().ok(staffGridList);
+ }
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
index 7b6c7e44c0..f593287e77 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
+++ b/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 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().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().ok(icNeighborHoodResultDTO);
+ }
+
@NoRepeatSubmit
@PostMapping("houseadd")
public Result houseAdd(@LoginUser TokenDto tokenDTO, @RequestBody IcHouseFormDTO formDTO){
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
index 3b5e8c794a..7eef403d38 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
@@ -156,8 +156,8 @@ public interface CustomerGridDao extends BaseDao {
List selectGridByIds(@Param("gridIdList") List 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 {
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 {
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 {
List selectOrgNameByType(@Param("orgIds") List orgIds);
/**
- * @Description 根据人查询所在组织
+ * @Description 根据人查询所在组织
* @Param userId
* @author zxc
* @date 2021/8/5 10:08 上午
@@ -361,7 +361,8 @@ public interface CustomerGridDao extends BaseDao {
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 getStaffGridList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgType") String orgType);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
index 1553cccc9d..93c5af18e5 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
@@ -47,7 +47,13 @@ public interface IcHouseDao extends BaseDao {
// @Param("building") IcBuildingEntity building,
// @Param("house") IcHouseEntity house);
IPage> searchHouseByPage(IPage 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 searchAllHouse(@Param("house") IcHouseEntity house);
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
index 1bc418d8fd..cac10ea123 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
@@ -362,4 +362,16 @@ public interface CustomerGridService extends BaseService {
* @Description 查询组织直属网格列表
**/
List gridListByAgencyId(String agencyId);
+
+ /**
+ * desc: 获取组织及网格下 工作人员网格关系列表
+ *
+ * @param customerId
+ * @param orgId
+ * @param orgType
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2022/1/17 3:50 下午
+ */
+ List getStaffGridList(String customerId, String orgId, String orgType);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
index 48ab8c7d1b..ac7f28dbbc 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseService.java
@@ -49,7 +49,15 @@ public interface HouseService {
List importExcel(String customerId, List list, String staffId, List 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;
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
index 115a784406..57fc7340fb 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
+++ b/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 getStaffGridList(String customerId, String orgId, String orgType) {
+ return baseDao.getStaffGridList(customerId,orgId,orgType);
+ }
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
index 69a2000d97..90a46acfc0 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
+++ b/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> resultMap = searchHouse(formDTO);
- result.setTotal(Long.valueOf(resultMap.getTotal()).intValue());
- result.setList(resultMap.getRecords());
+ //IPage> 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 page = new Page(pageNo,pageSize);
+
+ IPage> mapIPage = icHouseDao.searchHouseByPage(page, pids, buildingId, ownerName, ownerPhone, neighborHoodName, buildingName, queryScene);
+ List> 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> searchHouse(ListIcNeighborHoodFormDTO formDTO) {
- IPage page = new Page(formDTO.getPageNo(),formDTO.getPageSize());
+ /*private IPage> searchHouse(String buildingId,
+ String ownerName,
+ String ownerPhone,
+ String neighborHoodName,
+ String buildingName,
+ Integer pageNo,
+ Integer pageSize) {
+ IPage page = new Page(pageNo,pageSize);
- IcHouseEntity house = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class);
- house.setDelFlag("0");
-
- IPage> mapIPage = icHouseDao.searchHouseByPage(page, house);
+ IPage> mapIPage = icHouseDao.searchHouseByPage(page, buildingId, ownerName, ownerPhone, neighborHoodName, buildingName);
List> 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 queryListHouseInfo(Set houseIdList) {
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
index ca2e81e89b..a70cf1d9b6 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
+++ b/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}, '%' )
+
+ 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}
+
+
+
+ AND cg.ID = #{orgId}
+
+
+ AND cg.PIDS like concat('%', #{orgId},'%')
+
+
+
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
index f997a5cf3a..b5a8b72a25 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
+++ b/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'
-
-
- AND a.BUILDING_ID = #{house.buildingId}
+
+ AND c.AGENCY_PIDS like CONCAT(#{pids},'%')
-
- AND a.OWNER_NAME like concat('%',#{house.ownerName},'%')
+
+ AND a.BUILDING_ID = #{buildingId}
-
- AND a.OWNER_PHONE like concat('%',#{house.ownerPhone},'%')
+
+ AND a.OWNER_NAME like concat('%',#{ownerName},'%')
-
- AND a.DEL_FLAG = #{house.delFlag}
+
+ AND a.OWNER_PHONE like concat('%',#{ownerPhone},'%')
+
+
+ AND c.NEIGHBOR_HOOD_NAME like CONCAT('%',#{neighborHoodName},'%')
+
+
+ AND b.BUILDING_NAME like CONCAT('%',#{buildingName},'%')
-
- ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
+ /*排序规则:如果是社区查询则根据小区、楼栋、单元、房屋名字分别升序排序*/
+
+
+ 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
+
+
+ ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
+
+
+ ORDER BY CAST(d.UNIT_NUM AS SIGNED), a.DOOR_NAME
+
+
select
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.17__project_work_minutes.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.19__project_work_minutes.sql
similarity index 100%
rename from epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.17__project_work_minutes.sql
rename to epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.19__project_work_minutes.sql
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcIndividualCategoryManageDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/IcIndividualCategoryManageDTO.java
new file mode 100644
index 0000000000..372864b7f0
--- /dev/null
+++ b/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;
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIndividualCategoryFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIndividualCategoryFormDTO.java
new file mode 100644
index 0000000000..b41d1d04df
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/IndividualCategoryListResultDTO.java
new file mode 100644
index 0000000000..4089a151df
--- /dev/null
+++ b/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;
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcIndividualCategoryManageController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcIndividualCategoryManageController.java
new file mode 100644
index 0000000000..cd3122cd47
--- /dev/null
+++ b/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> individualCategoryList(@LoginUser TokenDto tokenDto){
+ return new Result>().ok(icIndividualCategoryManageService.individualCategoryList(tokenDto));
+ }
+
+ /**
+ * @Description 【人员分类管理】个人分类修改(添加修改一个接口)
+ * @param formDTOS
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 11:04 上午
+ */
+ @PostMapping("editindividualcategory")
+ public Result editIndividualCategory(@RequestBody List formDTOS,@LoginUser TokenDto tokenDto){
+ icIndividualCategoryManageService.editIndividualCategory(formDTOS,tokenDto);
+ return new Result();
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcIndividualCategoryManageDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcIndividualCategoryManageDao.java
new file mode 100644
index 0000000000..772cfc7e73
--- /dev/null
+++ b/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 {
+
+ /**
+ * @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 individualCategoryList(@Param("userId")String userId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcIndividualCategoryManageEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/IcIndividualCategoryManageEntity.java
new file mode 100644
index 0000000000..008cc40fd1
--- /dev/null
+++ b/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;
+
+}
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcIndividualCategoryManageService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcIndividualCategoryManageService.java
new file mode 100644
index 0000000000..4b15339377
--- /dev/null
+++ b/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 {
+
+ /**
+ * @Description 【人员分类管理】查询个人分类列表
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 10:55 上午
+ */
+ List individualCategoryList(TokenDto tokenDto);
+
+ /**
+ * @Description 【人员分类管理】个人分类修改(添加修改一个接口)
+ * @param formDTOS
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 11:04 上午
+ */
+ void editIndividualCategory(List formDTOS, TokenDto tokenDto);
+
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcIndividualCategoryManageServiceImpl.java
new file mode 100644
index 0000000000..c684c8c36e
--- /dev/null
+++ b/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 implements IcIndividualCategoryManageService {
+
+ /**
+ * @Description 【人员分类管理】查询个人分类列表
+ * @param tokenDto
+ * @author zxc
+ * @date 2022/1/17 10:55 上午
+ */
+ @Override
+ public List individualCategoryList(TokenDto tokenDto) {
+ List 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 formDTOS, TokenDto tokenDto) {
+ if (CollectionUtils.isNotEmpty(formDTOS)){
+ baseDao.deleteOldData(tokenDto.getUserId(),tokenDto.getCustomerId());
+ List entities = ConvertUtils.sourceToTarget(formDTOS, IcIndividualCategoryManageEntity.class);
+ entities.forEach(e -> {
+ e.setCustomerId(tokenDto.getCustomerId());
+ e.setUserId(tokenDto.getUserId());
+ });
+ insertBatch(entities);
+ }
+ }
+}
\ No newline at end of file
diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml
new file mode 100644
index 0000000000..926e0a8baf
--- /dev/null
+++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcIndividualCategoryManageDao.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+ DELETE FROM ic_individual_category_manage WHERE USER_ID = #{userId} AND CUSTOMER_ID = #{customerId}
+
+
+
+
+ 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}
+
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java
new file mode 100644
index 0000000000..2c5203eddd
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeDetailedDTO.java
@@ -0,0 +1,137 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java
new file mode 100644
index 0000000000..e9f4e3ff91
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserChangeRecordDTO.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+ /**
+ * 操作人Id【customer_staff表userId】
+ */
+ private String operatorId;
+
+ /**
+ * 被操作人Id【ic_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;
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserTransferRecordDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserTransferRecordDTO.java
new file mode 100644
index 0000000000..1b6992a53c
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcUserTransferRecordDTO.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+ /**
+ * 被调动人Id【ic_resi_user表id】
+ */
+ private String icUserId;
+
+ /**
+ * 调动(工作)人员Id【customer_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;
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GridStaffFormDTO.java
new file mode 100644
index 0000000000..43d5c8c49f
--- /dev/null
+++ b/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 roleKeyList;
+
+ /**
+ * 组织ID
+ */
+ private String orgId;
+
+ /**
+ * 组织类型 agency or grid
+ */
+ private String orgType;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
index bf75ed325f..462353b404 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java
+++ b/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;
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
index 395a5d40b9..dd6cf7ef7e 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
+++ b/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>> searchResi(@RequestBody IcResiUserPageFormDTO input, @LoginUser TokenDto loginUser) {
+ if (StringUtils.isBlank(input.getKeyword())) {
+ PageData> r = new PageData>(new ArrayList<>(), 0);
+ return new Result>>().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> r = icResiUserService.pageResiMap(input);
+ return new Result>>().ok(r);
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeDetailedController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeDetailedController.java
new file mode 100644
index 0000000000..66f3488eef
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeDetailedController.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
new file mode 100644
index 0000000000..6da9c5b6cf
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserChangeRecordController.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserTransferRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserTransferRecordController.java
new file mode 100644
index 0000000000..ead153c8cf
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcUserTransferRecordController.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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;
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
index 998c3eba7e..a0bfcb4536 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java
+++ b/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>().ok(staffRoleService.queryRoleStaffIds(formDTO));
}
+
+ /**
+ * desc: 根据角色、用户名、手机号 组织获取网格下的工作人员 精确匹配
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ * @author LiuJanJun
+ * @date 2022/1/17 2:26 下午
+ */
+ @PostMapping("getGridStaffList")
+ Result> getGridStaffList(@LoginUser TokenDto tokenDto, @RequestBody GridStaffFormDTO formDTO){
+ //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc");
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ return new Result>().ok(staffRoleService.getGridStaffList(formDTO));
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
index f1822e93f2..3a9cffbf7e 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
@@ -59,7 +59,8 @@ public interface IcResiUserDao extends BaseDao {
@Param("subTables") List subTables,
@Param("currentStaffAgencyId")String currentStaffAgencyId,
@Param("staffOrgPath") String staffOrgPath,
- @Param("resultTableName")String resultTableName);
+ @Param("resultTableName")String resultTableName,
+ @Param("keyword") String keyword);
/**
* 查询主表
*
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeDetailedDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeDetailedDao.java
new file mode 100644
index 0000000000..6ba4093056
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeDetailedDao.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcUserChangeDetailedEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 变更明细表
+[一条变更记录对应多条人员类别数据]
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Mapper
+public interface IcUserChangeDetailedDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeRecordDao.java
new file mode 100644
index 0000000000..f552d6798a
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserChangeRecordDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcUserChangeRecordEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 居民变更记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Mapper
+public interface IcUserChangeRecordDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserTransferRecordDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserTransferRecordDao.java
new file mode 100644
index 0000000000..dacd67bd6c
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcUserTransferRecordDao.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcUserTransferRecordEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 居民调动记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Mapper
+public interface IcUserTransferRecordDao extends BaseDao {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
index 31e6591d92..3cfb231881 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java
@@ -23,6 +23,7 @@ import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
+import com.epmet.dto.form.GridStaffFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity;
import org.apache.ibatis.annotations.Mapper;
@@ -169,4 +170,14 @@ public interface StaffRoleDao extends BaseDao {
* @Description 【事件】网格员服务电话
**/
List staffRoleList(@Param("staffIds") List staffIds);
+
+ /**
+ * desc: 条件获取工作人员list
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author LiuJanJun
+ * @date 2022/1/17 2:45 下午
+ */
+ List getStaffList(GridStaffFormDTO formDTO);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java
new file mode 100644
index 0000000000..e230fbfd2a
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeDetailedEntity.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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_user_change_detailed")
+public class IcUserChangeDetailedEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户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;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java
new file mode 100644
index 0000000000..eaf7226588
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserChangeRecordEntity.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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-14
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_user_change_record")
+public class IcUserChangeRecordEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 调动表Id【只有调动记录此列才有值】
+ */
+ private String icUserTransferRecordId;
+
+ /**
+ * 当前所属客户Id
+ */
+ private String customerId;
+
+ /**
+ * 操作人Id【customer_staff表userId】
+ */
+ private String operatorId;
+
+ /**
+ * 被操作人Id【ic_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;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserTransferRecordEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserTransferRecordEntity.java
new file mode 100644
index 0000000000..6c57607ff8
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcUserTransferRecordEntity.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+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-14
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_user_transfer_record")
+public class IcUserTransferRecordEntity extends BaseEpmetEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 被调动人Id【ic_resi_user表id】
+ */
+ private String icUserId;
+
+ /**
+ * 调动(工作)人员Id【customer_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;
+
+}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeDetailedService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeDetailedService.java
new file mode 100644
index 0000000000..859a324c82
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeDetailedService.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.entity.IcUserChangeDetailedEntity;
+
+/**
+ * 变更明细表
+[一条变更记录对应多条人员类别数据]
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+public interface IcUserChangeDetailedService extends BaseService {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeRecordService.java
new file mode 100644
index 0000000000..61ba776f9e
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserChangeRecordService.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.entity.IcUserChangeRecordEntity;
+
+/**
+ * 居民变更记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+public interface IcUserChangeRecordService extends BaseService {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java
new file mode 100644
index 0000000000..5ce1565dcf
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcUserTransferRecordService.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service;
+
+import com.epmet.commons.mybatis.service.BaseService;
+import com.epmet.entity.IcUserTransferRecordEntity;
+
+/**
+ * 居民调动记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+public interface IcUserTransferRecordService extends BaseService {
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
index e8737d7a0c..2458ba809d 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java
@@ -22,15 +22,11 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.StaffRoleDTO;
-import com.epmet.dto.form.CommonUserFormDTO;
-import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
-import com.epmet.dto.form.RoleStaffIdFormDTO;
-import com.epmet.dto.form.RolesUsersListFormDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity;
import java.util.List;
-import java.util.Map;
import java.util.Set;
/**
@@ -41,66 +37,6 @@ import java.util.Set;
*/
public interface StaffRoleService extends BaseService {
- /**
- * 默认分页
- *
- * @param params
- * @return PageData
- * @author generator
- * @date 2020-04-22
- */
- PageData page(Map params);
-
- /**
- * 默认查询
- *
- * @param params
- * @return java.util.List
- * @author generator
- * @date 2020-04-22
- */
- List list(Map params);
-
- /**
- * 单条查询
- *
- * @param id
- * @return StaffRoleDTO
- * @author generator
- * @date 2020-04-22
- */
- StaffRoleDTO get(String id);
-
- /**
- * 默认保存
- *
- * @param dto
- * @return void
- * @author generator
- * @date 2020-04-22
- */
- void save(StaffRoleDTO dto);
-
- /**
- * 默认更新
- *
- * @param dto
- * @return void
- * @author generator
- * @date 2020-04-22
- */
- void update(StaffRoleDTO dto);
-
- /**
- * 批量删除
- *
- * @param ids
- * @return void
- * @author generator
- * @date 2020-04-22
- */
- void delete(String[] ids);
-
/**
* 查询具有某角色的staff列表
* @param roleKey
@@ -176,4 +112,14 @@ public interface StaffRoleService extends BaseService {
* @date 2021/8/19 11:14 上午
*/
Set queryRoleStaffIds(RoleStaffIdFormDTO formDTO);
+
+ /**
+ * desc: 条件获取 网格工作人员信息
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.page.PageData
+ * @author LiuJanJun
+ * @date 2022/1/17 2:37 下午
+ */
+ PageData getGridStaffList(GridStaffFormDTO formDTO);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
index 70f34f2849..cfa57f050e 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
@@ -348,15 +348,14 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> list=baseDao.selectListResiMap(formDTO.getCustomerId(),
formDTO.getFormCode(),
formDTO.getConditions(),
resultColumns,
subTables,staffInfoCacheResult.getAgencyId(),
- staffOrgPath,null);
+ staffOrgPath,null, formDTO.getKeyword());
pageInfo.setTotal(CollectionUtils.isEmpty(list)?NumConstant.ZERO:list.size());
pageInfo.setList(list);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeDetailedServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeDetailedServiceImpl.java
new file mode 100644
index 0000000000..6bff100276
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeDetailedServiceImpl.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.dao.IcUserChangeDetailedDao;
+import com.epmet.entity.IcUserChangeDetailedEntity;
+import com.epmet.service.IcUserChangeDetailedService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 变更明细表
+[一条变更记录对应多条人员类别数据]
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Service
+public class IcUserChangeDetailedServiceImpl extends BaseServiceImpl implements IcUserChangeDetailedService {
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java
new file mode 100644
index 0000000000..92589c9bfc
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.dao.IcUserChangeRecordDao;
+import com.epmet.entity.IcUserChangeRecordEntity;
+import com.epmet.service.IcUserChangeRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 居民变更记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Service
+public class IcUserChangeRecordServiceImpl extends BaseServiceImpl implements IcUserChangeRecordService {
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java
new file mode 100644
index 0000000000..4e06314238
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2018 人人开源 https://www.renren.io
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package com.epmet.service.impl;
+
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.dao.IcUserTransferRecordDao;
+import com.epmet.entity.IcUserTransferRecordEntity;
+import com.epmet.service.IcUserTransferRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 居民调动记录表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-01-14
+ */
+@Service
+public class IcUserTransferRecordServiceImpl extends BaseServiceImpl implements IcUserTransferRecordService {
+
+
+}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
index 181b788434..700a7733a9 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java
@@ -17,30 +17,29 @@
package com.epmet.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.alibaba.fastjson.JSON;
import com.epmet.commons.mybatis.entity.DataScope;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
-import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.StaffRoleDao;
import com.epmet.dto.StaffRoleDTO;
-import com.epmet.dto.form.CommonUserFormDTO;
-import com.epmet.dto.form.CustomerStaffRoleListFormDTO;
-import com.epmet.dto.form.RoleStaffIdFormDTO;
-import com.epmet.dto.form.RolesUsersListFormDTO;
+import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.StaffRoleEntity;
+import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.StaffRoleService;
-import org.apache.commons.lang3.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
/**
* 工作人员-角色关系表
@@ -48,61 +47,12 @@ import java.util.*;
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-22
*/
+@Slf4j
@Service
public class StaffRoleServiceImpl extends BaseServiceImpl implements StaffRoleService {
- @Override
- public PageData page(Map params) {
- IPage page = baseDao.selectPage(
- getPage(params, FieldConstant.CREATED_TIME, false),
- getWrapper(params)
- );
- return getPageData(page, StaffRoleDTO.class);
- }
-
- @Override
- public List list(Map params) {
- List entityList = baseDao.selectList(getWrapper(params));
-
- return ConvertUtils.sourceToTarget(entityList, StaffRoleDTO.class);
- }
-
- private QueryWrapper getWrapper(Map params){
- String id = (String)params.get(FieldConstant.ID_HUMP);
-
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
-
- return wrapper;
- }
-
- @Override
- public StaffRoleDTO get(String id) {
- StaffRoleEntity entity = baseDao.selectById(id);
- return ConvertUtils.sourceToTarget(entity, StaffRoleDTO.class);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void save(StaffRoleDTO dto) {
- StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class);
- insert(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void update(StaffRoleDTO dto) {
- StaffRoleEntity entity = ConvertUtils.sourceToTarget(dto, StaffRoleEntity.class);
- updateById(entity);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void delete(String[] ids) {
- // 逻辑删除(@TableLogic 注解)
- baseDao.deleteBatchIds(Arrays.asList(ids));
- }
-
+ @Autowired
+ private GovOrgOpenFeignClient govOrgOpenFeignClient;
/**
* 查询具有某角色的staff列表
* @param roleKey
@@ -209,4 +159,47 @@ public class StaffRoleServiceImpl extends BaseServiceImpl getGridStaffList(GridStaffFormDTO formDTO) {
+ //有这些条件 优先查询用户信息
+ List staffList = baseDao.getStaffList(formDTO);
+
+ if (CollectionUtils.isEmpty(staffList)){
+ log.warn("getGridStaffList getStaffList return empty,param:{}", JSON.toJSONString(formDTO));
+ return new PageData<>(null,NumConstant.ZERO);
+ }
+ //继续查询 在网格里的人
+ Result> staffGridResult = govOrgOpenFeignClient.getStaffGridList(formDTO.getOrgId(),formDTO.getOrgType());
+ if (staffGridResult == null || !staffGridResult.success() || CollectionUtils.isEmpty(staffGridResult.getData())){
+ log.warn("getGridStaffList getStaffGridList return empty,param orgId:{},orgType:{}",formDTO.getOrgId(),formDTO.getOrgType());
+ return new PageData<>(null,NumConstant.ZERO);
+ }
+ Map> userGridListMap = staffGridResult.getData().stream()
+ .collect(Collectors.groupingBy(CustomerStaffGridResultDTO::getUserId));
+ List result = new ArrayList<>();
+ Integer offset = formDTO.getOffset();
+ Integer pageSize = formDTO.getPageSize();
+
+ AtomicInteger count = new AtomicInteger();
+ staffList.forEach(staff->{
+ List dtoList = userGridListMap.get(staff.getUserId());
+ if (dtoList == null){
+ return;
+ }
+
+ dtoList.forEach(grid-> {
+ CustomerGridStaffResultDTO staffNew = ConvertUtils.sourceToTarget(staff, CustomerGridStaffResultDTO.class);
+ staffNew.setGridId(grid.getGridId());
+ staffNew.setGridName(grid.getGridName());
+ staffNew.setAgencyId(grid.getAgencyId());
+ if (count.intValue() >= offset && result.size() < pageSize) {
+ result.add(staffNew);
+ }
+ count.getAndIncrement();
+ });
+
+ });
+ return new PageData<>(result,result.size());
+ }
+
}
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
index 6b07136f1c..9d07548103 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
@@ -51,6 +51,13 @@
AND ${resultTableName}.ID IS NOT NULL
+
+ AND (
+ NAME = #{keyword}
+ or MOBILE = #{keyword}
+ or ID_CARD = #{keyword}
+ )
+
and ic_resi_user.customer_id=#{customerId}
and (ic_resi_user.AGENCY_ID =#{currentStaffAgencyId} or ic_resi_user.pids like concat(#{staffOrgPath},'%'))
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeDetailedDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeDetailedDao.xml
new file mode 100644
index 0000000000..acb4aa197b
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeDetailedDao.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml
new file mode 100644
index 0000000000..6632dd653c
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserChangeRecordDao.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserTransferRecordDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserTransferRecordDao.xml
new file mode 100644
index 0000000000..be24ced9be
--- /dev/null
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcUserTransferRecordDao.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml
index edb8b4e4a4..d1c5f61d94 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml
@@ -271,5 +271,34 @@
ORDER BY sr.staff_id, gsr.role_key
+
+ SELECT
+ cs.USER_ID,
+ cs.REAL_NAME userName,
+ cs.MOBILE,
+ cs.GENDER
+ FROM
+ customer_staff cs
+ INNER JOIN staff_role sr ON sr.STAFF_ID = cs.USER_ID
+ INNER JOIN gov_staff_role gsr ON sr.role_id = gsr.id
+ WHERE 1=1
+
+ AND cs.USER_ID = #{userId}
+
+
+ AND cs.REAL_NAME = #{userName}
+
+
+ AND cs.mobile = #{mobile}
+
+ AND gsr.role_key IN
+
+ #{item}
+
+ AND cs.DEL_FLAG = '0'
+ AND sr.del_flag = '0'
+ AND gsr.del_flag = '0'
+ ORDER BY cs.CREATED_TIME DESC
+