diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java
index b72e68c723..52567226eb 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java
@@ -141,4 +141,19 @@ public class IcBuildingDTO implements Serializable {
*/
private Date updatedTime;
-}
\ No newline at end of file
+ /**
+ * 楼栋编码
+ */
+ private String coding;
+
+ /**
+ * 楼栋系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有人口数
+ */
+ private Integer realPerson;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
index f3221c4f69..e026d7cbdc 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
@@ -157,4 +157,8 @@ public class IcHouseDTO implements Serializable {
*/
private String remark;
-}
\ No newline at end of file
+ /**
+ * 房屋可编辑编码
+ */
+ private String coding;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
index 14bc28d43b..d50508c522 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
@@ -129,4 +129,19 @@ public class IcNeighborHoodDTO implements Serializable {
*/
private Date updatedTime;
+ /**
+ * 小区编码
+ */
+ private String coding;
+
+ /**
+ * 小区系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有楼栋数
+ */
+ private Integer realBuilding;
+
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcOrganizationCodeInfoDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcOrganizationCodeInfoDTO.java
new file mode 100644
index 0000000000..edeca85503
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcOrganizationCodeInfoDTO.java
@@ -0,0 +1,44 @@
+package com.epmet.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Data
+public class IcOrganizationCodeInfoDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 社区id
+ */
+ private String communityId;
+
+ /**
+ * 该社区下最大的小区编码序列号
+ */
+ private String neighborMaxNum;
+
+ /**
+ * 该社区下最大的楼栋编码序列号
+ */
+ private String buildingMaxNum;
+
+ /**
+ * 该社区下最大的房屋编码序列号
+ */
+ private String houseMaxNum;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java
new file mode 100644
index 0000000000..8fd3a8358e
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:06
+ */
+@Data
+public class HouseInformationFormDTO extends PageFormDTO implements Serializable {
+ private static final long serialVersionUID = 2348447479132364176L;
+ private String customerId;
+ private String staffId;
+ private String communityId;
+ private String gridId;
+ private String neighborHoodId;
+ private String buildingId;
+ private String unitId;
+ private String name;
+ private String sort = "1";
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java
index 58655da002..91b93b2569 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java
@@ -110,7 +110,7 @@ public class IcBulidingAddFormDTO implements Serializable {
* 坐标位置
*/
- private String location;
+ private String coordinatePosition;
/**
@@ -135,7 +135,20 @@ public class IcBulidingAddFormDTO implements Serializable {
*/
private String buildingLeaderMobile;
+ /**
+ * 楼栋编码
+ */
+ private String coding;
+ /**
+ * 楼栋系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有人口数
+ */
+ private Integer realPerson;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java
index a07f4fe886..aa4e6a999b 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java
@@ -108,4 +108,9 @@ public class IcHouseAddFormDTO implements Serializable {
private BigDecimal sort = NumConstant.ZERO_DECIMAL;
+ /**
+ * 房屋可编辑编码
+ */
+ private String coding;
+
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java
index 65708da4d3..854462c6e1 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java
@@ -99,7 +99,20 @@ public class IcNeighborHoodAddFormDTO extends PageFormDTO {
private String latitude;
+ /**
+ * 小区编码
+ */
+ private String coding;
+ /**
+ * 小区系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有楼栋数
+ */
+ private Integer realBuilding;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java
new file mode 100644
index 0000000000..c6a09dd2ab
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java
@@ -0,0 +1,23 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:49
+ */
+@NoArgsConstructor
+@Data
+public class BuildingCountResultDTO {
+ private String buildingId;
+ private String buildingName;
+ private String buildingType;
+ private Integer unitCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer unitRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java
new file mode 100644
index 0000000000..67b4642640
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java
@@ -0,0 +1,26 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:45
+ */
+@NoArgsConstructor
+@Data
+public class BuildingListResultDTO implements Serializable {
+ private static final long serialVersionUID = -1423424057500044373L;
+ private String id;
+ private String name;
+ private Integer unitCoun = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer differHouseCount = 0;
+ private Integer differPersonCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java
new file mode 100644
index 0000000000..393d6d5b2e
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:24
+ */
+@NoArgsConstructor
+@Data
+public class CommunityCountResultDTO implements Serializable {
+ private static final long serialVersionUID = -1677303397440121269L;
+ private String id;
+ private String name;
+ private Integer buildingCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer buildingRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java
new file mode 100644
index 0000000000..6863f4cf49
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:35
+ */
+@NoArgsConstructor
+@Data
+public class GridCountListResultDTO implements Serializable {
+ private static final long serialVersionUID = -7938740461257344347L;
+ private String id;
+ private String name;
+ private Integer buildingCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer differBuildingCount = 0;
+ private Integer differHouseCount = 0;
+ private Integer differPersonCount = 0;
+ private Integer buildingRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridStatisticsResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridStatisticsResultDTO.java
new file mode 100644
index 0000000000..d855740dca
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridStatisticsResultDTO.java
@@ -0,0 +1,26 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:37
+ */
+@NoArgsConstructor
+@Data
+public class GridStatisticsResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -2022337690871957027L;
+ private String gridId;
+ private String gridName;
+ private Integer buildingCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer buildingRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java
new file mode 100644
index 0000000000..9dbf8bfcac
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java
@@ -0,0 +1,22 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 17:00
+ */
+@NoArgsConstructor
+@Data
+public class HomeListResultDTO implements Serializable {
+ private static final long serialVersionUID = -1098032063828430218L;
+ private String id;
+ private String name;
+ private Integer personCount = 0;
+ private String houseType;
+ private String houseCode;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java
index e83ec67bf4..ddb4af560e 100644
--- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java
@@ -103,4 +103,9 @@ public class HouseInfoResultDTO implements Serializable {
* 备注
*/
private String remark;
+
+ /**
+ * 房屋可编辑编码
+ */
+ private String coding;
}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java
new file mode 100644
index 0000000000..910044f9cb
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java
@@ -0,0 +1,120 @@
+/**
+ * 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.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+
+@Data
+public class IcBulidingDetailDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private String buildingId;
+
+ /**
+ * 组织id
+ */
+ private String agencyId;
+
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+
+ /**
+ * 小区id
+ */
+ private String neighborHoodId;
+
+ /**
+ * 楼栋名称
+ */
+ private String buildingName;
+
+ /**
+ * 楼栋类型
+ */
+ private String type;
+
+
+ /**
+ * 排序
+ */
+ private BigDecimal sort;
+
+ /**
+ * 总单元数
+ */
+ private Integer totalUnitNum;
+
+ /**
+ * 总楼层总数
+ */
+ private Integer totalFloorNum;
+
+ /**
+ * 总户数
+ */
+ private Integer totalHouseNum;
+ /**
+ * 坐标位置
+ */
+
+ private String coordinatePosition;
+
+
+ /**
+ * 中心点位:经度
+ */
+
+ private String longitude;
+
+ /**
+ * 中心点位:纬度
+ */
+
+ private String latitude;
+
+ /**
+ * 楼长姓名
+ */
+ private String buildingLeaderName;
+
+ /**
+ * 楼长电话
+ */
+ private String buildingLeaderMobile;
+
+
+ /**
+ * 楼栋编码
+ */
+ private String coding;
+
+ /**
+ * 实有人口数
+ */
+ private Integer realPerson;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java
new file mode 100644
index 0000000000..6795bbb9f3
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:41
+ */
+@NoArgsConstructor
+@Data
+public class NeighborHoodCountResultDTO implements Serializable {
+ private static final long serialVersionUID = 4148009467129407023L;
+ private String neighborHoodId;
+ private String neighborHoodName;
+ private Integer buildingCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer buildingRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java
new file mode 100644
index 0000000000..e947b2e385
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:21
+ */
+@NoArgsConstructor
+@Data
+public class NeighborHoodListResultDTO implements Serializable {
+ private static final long serialVersionUID = -5333918463141094854L;
+ private String id;
+ private String name;
+ private Integer buildingCount = 0;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer differBuildingCount = 0;
+ private Integer differHouseCount = 0;
+ private Integer differPersonCount = 0;
+ private Integer buildingRealCount = 0;
+ private Integer houseRealCount = 0;
+ private Integer personRealCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java
new file mode 100644
index 0000000000..c370f5bbe3
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java
@@ -0,0 +1,26 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @program: epmet-cloud
+ * @description:小区-楼栋-房屋编码
+ * @author: wangtong
+ * @create: 2022-06-29 09:51
+ **/
+@Data
+public class OrganizationCodeResultDTO implements Serializable {
+
+ /**
+ * 可编辑的楼栋编码
+ */
+ private String coding;
+
+
+ /**
+ * 不可编辑的楼栋编码
+ */
+ private String sysCoding;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCommunityDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCommunityDTO.java
new file mode 100644
index 0000000000..1933aeaa66
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCommunityDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @program: epmet-cloud
+ * @description:
+ * @author: wangtong
+ * @create: 2022-06-29 10:13
+ **/
+@Data
+public class OrganizationCommunityDTO implements Serializable {
+
+ private String communityId;
+
+ private String areaCode;
+
+ private String coding;
+
+ private String sysCoding;
+
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java
new file mode 100644
index 0000000000..f9a634f59d
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java
@@ -0,0 +1,18 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:56
+ */
+@NoArgsConstructor
+@Data
+public class UnitCountResultDTO {
+ private String unitId;
+ private String unitName;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java
new file mode 100644
index 0000000000..4deeb9dd66
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java
@@ -0,0 +1,22 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:53
+ */
+@NoArgsConstructor
+@Data
+public class UnitListResultDTO implements Serializable {
+ private static final long serialVersionUID = -8750897881106004416L;
+ private String id;
+ private String name;
+ private Integer houseCount = 0;
+ private Integer personCount = 0;
+ private Integer differHouseCount = 0;
+}
diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/OrganizationTypeEnums.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/OrganizationTypeEnums.java
new file mode 100644
index 0000000000..5a35712ac7
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/OrganizationTypeEnums.java
@@ -0,0 +1,32 @@
+package com.epmet.enums;
+
+public enum OrganizationTypeEnums {
+ COMM("community","社区"),
+ NEI("neighbor","小区"),
+ BUI("building","楼栋"),
+ UNIT("unit","单元");
+
+ private String code;
+ private String name;
+
+ OrganizationTypeEnums(String code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java
new file mode 100644
index 0000000000..21ca6fb933
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java
@@ -0,0 +1,291 @@
+/**
+ * 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.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.dto.form.HouseInformationFormDTO;
+import com.epmet.dto.result.*;
+import com.epmet.entity.IcNeighborHoodEntity;
+import com.epmet.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 双实信息相关
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2021-10-25
+ */
+@RestController
+@RequestMapping("houseInformation")
+public class HouseInformationController {
+
+ @Autowired
+ private IcNeighborHoodService icNeighborHoodService;
+
+ @Autowired
+ private IcBuildingService icBuildingService;
+
+ @Autowired
+ private IcBuildingUnitService icBuildingUnitService;
+
+ @Resource
+ private HouseInformationService houseInformationService;
+
+ @Autowired
+ private IcOrganizationCodeInfoService icOrganizationCodeInfoService;
+
+ /**
+ * @describe: 【双实录入】小区详情
+ * @author wangtong
+ * @date 2022/6/28 10:48
+ * @params [neighborhoodId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("neighborhoodDetail/{neighborhoodId}")
+ public Result neighborhoodDetail(@PathVariable("neighborhoodId") String neighborhoodId){
+ return icNeighborHoodService.neighborhoodDetail(neighborhoodId);
+ }
+
+ /**
+ * @describe: 【双实录入】楼栋详情
+ * @author wangtong
+ * @date 2022/6/28 14:30
+ * @params [buildingId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getBuildingDetail/{buildingId}")
+ public Result getBuildingDetail(@PathVariable("buildingId") String buildingId){
+ return icBuildingService.getBuildingDetail(buildingId);
+ }
+
+ /**
+ * @describe: 【双实录入】单元详情
+ * @author wangtong
+ * @date 2022/6/28 15:00
+ * @params [unitId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getUnitDetail/{unitId}")
+ public Result getUnitDetail(@PathVariable("unitId") String unitId){
+ return icBuildingUnitService.getUnitDetail(unitId);
+ }
+
+ /**
+ * 【双实录入】社区录入数据统计
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:32
+ */
+ @PostMapping("getCommunityCount")
+ public Result getCommunityCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result().ok(houseInformationService.getCommunityCount(formDTO));
+ }
+
+ /**
+ * 【双实录入】社区-网格列表
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:42
+ */
+ @PostMapping("getGridList")
+ public Result> getGridList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result>().ok(houseInformationService.getGridList(formDTO));
+ }
+
+ /**
+ * 【双实录入】网格录入数据统计
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:42
+ */
+ @PostMapping("getGridCount")
+ public Result getGridCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result().ok(houseInformationService.getGridCount(formDTO));
+ }
+
+ /**
+ * 【双实录入】网格-小区列表
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:23
+ */
+ @PostMapping("getNeighborHoodList")
+ public Result> getNeighborHoodList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result>().ok(houseInformationService.getNeighborHoodList(formDTO));
+ }
+
+ /**
+ * 【双实录入】小区录入数据统计
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:44
+ */
+ @PostMapping("getNeighborHoodCount")
+ public Result getNeighborHoodCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result().ok(houseInformationService.getNeighborHoodCount(formDTO));
+ }
+
+ /**
+ * 【双实录入】小区-楼栋列表
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:47
+ */
+ @PostMapping("getBuildingList")
+ public Result> getBuildingList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result>().ok(houseInformationService.getBuildingList(formDTO));
+ }
+
+
+ /**
+ * 【双实录入】楼栋录入数据统计
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:51
+ */
+ @PostMapping("getBuildingCount")
+ public Result getBuildingCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result().ok(houseInformationService.getBuildingCount(formDTO));
+ }
+
+ /**
+ * 【双实录入】楼栋-单元列表
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:55
+ */
+ @PostMapping("getUnitList")
+ public Result> getUnitList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result>().ok(houseInformationService.getUnitList(formDTO));
+ }
+
+ /**
+ * 【双实录入】单元录入数据统计
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:57
+ */
+ @PostMapping("getUnitCount")
+ public Result getUnitCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result().ok(houseInformationService.getUnitCount(formDTO));
+ }
+
+ /**
+ * 【双实录入】单元-房屋列表
+ *
+ * @Param tokenDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 17:02
+ */
+ @PostMapping("getHouseList")
+ public Result> getHouseList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
+ formDTO.setCustomerId(tokenDTO.getCustomerId());
+ formDTO.setStaffId(tokenDTO.getUserId());
+ return new Result>().ok(houseInformationService.getHouseList(formDTO));
+ }
+
+ /**
+ * @describe: 【双实录入】获取小区编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, gridId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getNeighborHoodCoding/{gridId}")
+ public Result getNeighborHoodCoding(@LoginUser TokenDto tokenDTO, @PathVariable("gridId") String gridId) {
+ return icOrganizationCodeInfoService.getNeighborHoodCoding(tokenDTO.getCustomerId(),gridId,false);
+ }
+
+ /**
+ * @describe: 【双实录入】获取楼栋编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, neighborhoodId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getBuildingCoding/{neighborhoodId}")
+ public Result getBuildingCoding(@LoginUser TokenDto tokenDTO, @PathVariable("neighborhoodId") String neighborhoodId) {
+ return icOrganizationCodeInfoService.getBuildingCoding(tokenDTO.getCustomerId(),neighborhoodId,false);
+ }
+
+ /**
+ * @describe: 【双实录入】获取房屋编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, unitId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ @PostMapping("getHouseCoding/{unitId}")
+ public Result getHouseCoding(@LoginUser TokenDto tokenDTO, @PathVariable("unitId") String unitId) {
+ return icOrganizationCodeInfoService.getHouseCoding(tokenDTO.getCustomerId(),unitId,false);
+ }
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcOrganizationCodeInfoController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcOrganizationCodeInfoController.java
new file mode 100644
index 0000000000..5e20a16ea3
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcOrganizationCodeInfoController.java
@@ -0,0 +1,82 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.aop.NoRepeatSubmit;
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.ExcelUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.AssertUtils;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.commons.tools.validator.group.AddGroup;
+import com.epmet.commons.tools.validator.group.UpdateGroup;
+import com.epmet.commons.tools.validator.group.DefaultGroup;
+import com.epmet.dto.IcOrganizationCodeInfoDTO;
+import com.epmet.excel.IcOrganizationCodeInfoExcel;
+import com.epmet.service.IcOrganizationCodeInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@RestController
+@RequestMapping("icOrganizationCodeInfo")
+public class IcOrganizationCodeInfoController {
+
+ @Autowired
+ private IcOrganizationCodeInfoService icOrganizationCodeInfoService;
+
+ @RequestMapping("page")
+ public Result> page(@RequestParam Map params){
+ PageData page = icOrganizationCodeInfoService.page(params);
+ return new Result>().ok(page);
+ }
+
+ @RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
+ public Result get(@PathVariable("id") String id){
+ IcOrganizationCodeInfoDTO data = icOrganizationCodeInfoService.get(id);
+ return new Result().ok(data);
+ }
+
+ @NoRepeatSubmit
+ @PostMapping("save")
+ public Result save(@RequestBody IcOrganizationCodeInfoDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ icOrganizationCodeInfoService.save(dto);
+ return new Result();
+ }
+
+ @NoRepeatSubmit
+ @PostMapping("update")
+ public Result update(@RequestBody IcOrganizationCodeInfoDTO dto){
+ //效验数据
+ ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
+ icOrganizationCodeInfoService.update(dto);
+ return new Result();
+ }
+
+ @PostMapping("delete")
+ public Result delete(@RequestBody String[] ids){
+ //效验数据
+ AssertUtils.isArrayEmpty(ids, "id");
+ icOrganizationCodeInfoService.delete(ids);
+ return new Result();
+ }
+
+ @GetMapping("export")
+ public void export(@RequestParam Map params, HttpServletResponse response) throws Exception {
+ List list = icOrganizationCodeInfoService.list(params);
+ ExcelUtils.exportExcelToTarget(response, null, list, IcOrganizationCodeInfoExcel.class);
+ }
+
+
+
+}
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 737e579fa5..1fb999e0f0 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
@@ -384,4 +384,13 @@ public interface CustomerGridDao extends BaseDao {
int updateTotalUser(@Param("gridId") String gridId, @Param("incrCount") long incrCount);
List getDelGridIdList(@Param("agencyId") String agencyId);
+
+ /**
+ * @describe: 通过网格id获取社区行政编码
+ * @author wangtong
+ * @date 2022/6/29 10:16
+ * @params [gridId]
+ * @return com.epmet.dto.result.OrganizationCommunityDTO
+ */
+ OrganizationCommunityDTO selectCommunityByGridId(@Param("gridId") String gridId);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
index 3fd205a48d..8b0cd3f470 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
@@ -196,4 +196,32 @@ public interface IcBuildingDao extends BaseDao {
*/
Integer selectUnitCount(@Param("buildingId")String buildingId);
+ /**
+ * @describe: 获取楼栋详情
+ * @author wangtong
+ * @date 2022/6/28 16:16
+ * @params [buildingId]
+ * @return com.epmet.dto.result.IcBulidingDetailDTO
+ */
+ IcBulidingDetailDTO getBuildingDetail(@Param("buildingId") String buildingId);
+
+ /**
+ * @describe: 查询社区id及楼栋编码
+ * @author wangtong
+ * @date 2022/6/29 14:39
+ * @params [buildingId]
+ * @return com.epmet.dto.result.OrganizationCommunityDTO
+ */
+ OrganizationCommunityDTO selectCommunityByBuildingId(@Param("buildingId") String buildingId);
+
+ /**
+ * @describe: 通过可编辑编码查询
+ * @author wangtong
+ * @date 2022/6/29 14:57
+ * @params [coding]
+ * @return com.epmet.entity.IcBuildingEntity
+ */
+ IcBuildingEntity selectByCoding(@Param("coding") String coding,
+ @Param("id") String id);
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java
index 147f25f7d2..09c40920ed 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java
@@ -18,6 +18,8 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.result.HouseInfoResultDTO;
+import com.epmet.dto.result.OrganizationCommunityDTO;
import com.epmet.entity.IcBuildingUnitEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -50,4 +52,30 @@ public interface IcBuildingUnitDao extends BaseDao {
*/
void delUnit(@Param("ids")List ids);
-}
\ No newline at end of file
+ /**
+ * @describe: 获取单元详情
+ * @author wangtong
+ * @date 2022/6/28 17:03
+ * @params [unitId]
+ * @return com.epmet.dto.result.HouseInfoResultDTO
+ */
+ HouseInfoResultDTO getUnitDetail(@Param("unitId") String unitId);
+
+ /**
+ * @describe: 通过可编辑编码查询
+ * @author wangtong
+ * @date 2022/6/29 14:59
+ * @params [coding]
+ * @return com.epmet.entity.IcBuildingUnitEntity
+ */
+ IcBuildingUnitEntity selectByCoding(@Param("coding") String coding);
+
+ /**
+ * @describe: 查询社区id及单元编码
+ * @author wangtong
+ * @date 2022/6/29 15:15
+ * @params [buildingId]
+ * @return com.epmet.dto.result.OrganizationCommunityDTO
+ */
+ OrganizationCommunityDTO selectCommunityByUnitId(@Param("unitId") String unitId);
+}
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 a2213ed024..7635ad0ea7 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
@@ -181,4 +181,12 @@ public interface IcHouseDao extends BaseDao {
* @return
*/
int updateIcHouseResiNumber(String houseId, Integer resiNumber);
+ /**
+ * @describe: 通过可编辑的编码查询
+ * @author wangtong
+ * @date 2022/6/29 15:24
+ * @params [coding]
+ * @return com.epmet.entity.IcHouseEntity
+ */
+ IcHouseEntity selectByCoding(@Param("coding") String coding);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
index ca929081cc..a1999a0ee6 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
@@ -21,8 +21,9 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.NeighborHoodAndManagementDTO;
+import com.epmet.dto.form.HouseInformationFormDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
-import com.epmet.dto.result.IcNeighborHoodResultDTO;
+import com.epmet.dto.result.*;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.excel.IcNeighborHoodExcel;
@@ -91,4 +92,123 @@ public interface IcNeighborHoodDao extends BaseDao {
void updateOneNeighborHood(ImportGeneralDTO info);
String getAreaCode(@Param("neighborHoodId")String neighborHoodId);
+
+ /**
+ * @describe: 查询社区id及小区编码
+ * @author wangtong
+ * @date 2022/6/29 13:35
+ * @params [neighborhoodId]
+ * @return com.epmet.dto.result.OrganizationCommunityDTO
+ */
+ OrganizationCommunityDTO selectCommunityByNeiId(@Param("neighborhoodId") String neighborhoodId);
+
+ /**
+ * @describe: 通过可编辑的编码查询
+ * @author wangtong
+ * @date 2022/6/29 14:08
+ * @params [coding]
+ * @return com.epmet.entity.IcNeighborHoodEntity
+ */
+ IcNeighborHoodEntity selectByCoding(@Param("coding") String coding,
+ @Param("id") String id);
+
+ /**
+ * 社区录入数据统计
+ *
+ * @Param communityId
+ * @Return {@link CommunityCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 17:16
+ */
+ CommunityCountResultDTO getCommunityCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】社区-网格列表
+ *
+ * @Param formDTO
+ * @Return {@link List< GridCountListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 11:06
+ */
+ List getGridList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】网格录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link GridStatisticsResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 13:52
+ */
+ GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】网格-小区列表
+ *
+ * @Param formDTO
+ * @Return {@link List}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 14:11
+ */
+ List getNeighborHoodList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】小区录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link NeighborHoodCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 14:27
+ */
+ NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】小区-楼栋列表
+ *
+ * @Param formDTO
+ * @Return {@link List< BuildingListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 14:50
+ */
+ List getBuildingList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】楼栋录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link BuildingCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 15:44
+ */
+ BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】楼栋-单元列表
+ *
+ * @Param formDTO
+ * @Return {@link List}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 16:07
+ */
+ List getUnitList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】单元录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link UnitCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 16:06
+ */
+ UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】单元-房屋列表
+ *
+ * @Param formDTO
+ * @Return {@link List}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 16:48
+ */
+ List getHouseList(HouseInformationFormDTO formDTO);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcOrganizationCodeInfoDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcOrganizationCodeInfoDao.java
new file mode 100644
index 0000000000..d217c69a5a
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcOrganizationCodeInfoDao.java
@@ -0,0 +1,63 @@
+package com.epmet.dao;
+
+import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.entity.IcOrganizationCodeInfoEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Mapper
+public interface IcOrganizationCodeInfoDao extends BaseDao {
+
+ /**
+ * @describe: 通过客户id和社区id查询
+ * @author wangtong
+ * @date 2022/6/29 10:24
+ * @params [customerId, communityId]
+ * @return com.epmet.entity.IcOrganizationCodeInfoEntity
+ */
+ IcOrganizationCodeInfoEntity selectByIdAndType(@Param("customerId") String customerId,
+ @Param("sysId") String sysId,
+ @Param("sysType") String sysType);
+
+ /**
+ * @describe: 根据客户id和社区id更新小区编号
+ * @author wangtong
+ * @date 2022/6/29 10:53
+ * @params [communEntity]
+ * @return void
+ */
+ void updateMaxNumByIdAndType(IcOrganizationCodeInfoEntity communEntity);
+
+// /**
+// * @describe: 根据客户id和社区id更新楼栋编号
+// * @author wangtong
+// * @date 2022/6/29 14:51
+// * @params [buildingEntity]
+// * @return void
+// */
+// void updateBuildingByCuIdAndCoId(IcOrganizationCodeInfoEntity buildingEntity);
+//
+// /**
+// * @describe: 根据客户id和社区id更新单元编号
+// * @author wangtong
+// * @date 2022/6/29 15:01
+// * @params [unitEntity]
+// * @return void
+// */
+// void updateUnitByCuIdAndCoId(IcOrganizationCodeInfoEntity unitEntity);
+//
+// /**
+// * @describe: 根据客户id和社区id更新房屋编号
+// * @author wangtong
+// * @date 2022/6/29 15:25
+// * @params [houseEntity]
+// * @return void
+// */
+// void updateHouseByCuIdAndCoId(IcOrganizationCodeInfoEntity houseEntity);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java
index 1b0535f803..801267e2dd 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java
@@ -107,4 +107,19 @@ public class IcBuildingEntity extends BaseEpmetEntity {
*/
private String coordinatePosition;
+ /**
+ * 楼栋编码
+ */
+ private String coding;
+
+ /**
+ * 楼栋系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有人口数
+ */
+ private Integer realPerson;
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingUnitEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingUnitEntity.java
index bce611c47f..02124c90cc 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingUnitEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingUnitEntity.java
@@ -55,4 +55,14 @@ public class IcBuildingUnitEntity extends BaseEpmetEntity {
*/
private String unitName;
+ /**
+ * 楼栋编码
+ */
+ private String coding;
+
+ /**
+ * 楼栋系统编码
+ */
+ private String sysCoding;
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
index 25a02ec5fd..96e993c865 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
@@ -132,4 +132,8 @@ public class IcHouseEntity extends BaseEpmetEntity {
* 居住人数
*/
private Integer resiNumber;
+ /**
+ * 房屋可编辑编码
+ */
+ private String coding;
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
index 8f83a0aba1..f96edb70bb 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
@@ -101,4 +101,19 @@ public class IcNeighborHoodEntity extends BaseEpmetEntity {
@TableField(exist = false)
private String propertyName;
+
+ /**
+ * 小区编码
+ */
+ private String coding;
+
+ /**
+ * 小区系统编码
+ */
+ private String sysCoding;
+
+ /**
+ * 实有楼栋数
+ */
+ private Integer realBuilding;
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcOrganizationCodeInfoEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcOrganizationCodeInfoEntity.java
new file mode 100644
index 0000000000..a5d9c8e9a4
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcOrganizationCodeInfoEntity.java
@@ -0,0 +1,45 @@
+package com.epmet.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("ic_organization_code_info")
+public class IcOrganizationCodeInfoEntity{
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 社区/小区/楼栋/单元id
+ */
+ private String sysId;
+
+ /**
+ * 类型:
+ * 社区community
+ * 小区neighbor
+ * 楼栋building
+ * 单元unit
+ */
+ private String sysType;
+
+ /**
+ * 最大数
+ */
+ private String maxNum;
+
+
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcOrganizationCodeInfoExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcOrganizationCodeInfoExcel.java
new file mode 100644
index 0000000000..3402ef797a
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcOrganizationCodeInfoExcel.java
@@ -0,0 +1,33 @@
+package com.epmet.excel;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Data
+public class IcOrganizationCodeInfoExcel {
+
+ @Excel(name = "客户id")
+ private String customerId;
+
+ @Excel(name = "社区id")
+ private String communityId;
+
+ @Excel(name = "该社区下最大的小区编码序列号")
+ private String neighborMaxNum;
+
+ @Excel(name = "该社区下最大的楼栋编码序列号")
+ private String buildingMaxNum;
+
+ @Excel(name = "该社区下最大的房屋编码序列号")
+ private String houseMaxNum;
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcOrganizationCodeInfoRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcOrganizationCodeInfoRedis.java
new file mode 100644
index 0000000000..50860d27ae
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcOrganizationCodeInfoRedis.java
@@ -0,0 +1,30 @@
+package com.epmet.redis;
+
+import com.epmet.commons.tools.redis.RedisUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Component
+public class IcOrganizationCodeInfoRedis {
+ @Autowired
+ private RedisUtils redisUtils;
+
+ public void delete(Object[] ids) {
+
+ }
+
+ public void set(){
+
+ }
+
+ public String get(String id){
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseInformationService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseInformationService.java
new file mode 100644
index 0000000000..ab49566845
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseInformationService.java
@@ -0,0 +1,112 @@
+package com.epmet.service;
+
+import com.epmet.commons.tools.page.PageData;
+import com.epmet.dto.form.HouseInformationFormDTO;
+import com.epmet.dto.result.*;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:14
+ */
+public interface HouseInformationService {
+ /**
+ * 【双实录入】社区录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link CommunityCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:31
+ */
+ CommunityCountResultDTO getCommunityCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】社区-网格列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:41
+ */
+ PageData getGridList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】网格录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link GridStatisticsResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:41
+ */
+ GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】网格-小区列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:24
+ */
+ PageData getNeighborHoodList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】小区录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link NeighborHoodCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:43
+ */
+ NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】小区-楼栋列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:47
+ */
+ PageData getBuildingList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】楼栋录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link BuildingCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:50
+ */
+ BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】楼栋-单元列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:54
+ */
+ PageData getUnitList(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】单元录入数据统计
+ *
+ * @Param formDTO
+ * @Return {@link UnitCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:57
+ */
+ UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO);
+
+ /**
+ * 【双实录入】单元-房屋列表
+ *
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 17:01
+ */
+ PageData getHouseList(HouseInformationFormDTO formDTO);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
index 0822d4805b..cde64d4da0 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
@@ -20,8 +20,10 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.ImportGeneralDTO;
+import com.epmet.dto.result.IcBulidingDetailDTO;
import com.epmet.entity.IcBuildingEntity;
import java.util.List;
@@ -122,4 +124,13 @@ public interface IcBuildingService extends BaseService {
* @date 2022/4/27 13:29
*/
void updateBuilding(ImportGeneralDTO info);
-}
\ No newline at end of file
+
+ /**
+ * @describe: 【双实录入】楼栋详情
+ * @author wangtong
+ * @date 2022/6/28 14:30
+ * @params [buildingId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getBuildingDetail(String buildingId);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java
index 0d315539e6..da966fbf6e 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java
@@ -20,7 +20,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcBuildingUnitDTO;
+import com.epmet.dto.result.HouseInfoResultDTO;
import com.epmet.entity.IcBuildingUnitEntity;
import java.util.List;
@@ -112,4 +114,13 @@ public interface IcBuildingUnitService extends BaseService
* @Date 2022/2/14 15:42
*/
IcBuildingUnitDTO getUnitInfo(String buildingId, String unitName);
-}
\ No newline at end of file
+
+ /**
+ * @describe: 【双实录入】单元详情
+ * @author wangtong
+ * @date 2022/6/28 15:00
+ * @params [unitId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getUnitDetail(String unitId);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
index 087ab03441..085c363819 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
@@ -172,4 +172,13 @@ public interface IcNeighborHoodService extends BaseService
* @date 2022/4/27 10:33
*/
void neighborHoodPropertyUpdate(List updateNeighborHoodAndManagement);
+
+ /**
+ * @describe: 【双实录入】小区详情
+ * @author wangtong
+ * @date 2022/6/28 15:04
+ * @params [neighborhoodId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result neighborhoodDetail(String neighborhoodId);
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcOrganizationCodeInfoService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcOrganizationCodeInfoService.java
new file mode 100644
index 0000000000..58791b1b44
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcOrganizationCodeInfoService.java
@@ -0,0 +1,116 @@
+package com.epmet.service;
+
+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.IcOrganizationCodeInfoDTO;
+import com.epmet.dto.result.OrganizationCodeResultDTO;
+import com.epmet.entity.IcOrganizationCodeInfoEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+public interface IcOrganizationCodeInfoService extends BaseService {
+
+ /**
+ * 默认分页
+ *
+ * @param params
+ * @return PageData
+ * @author generator
+ * @date 2022-06-27
+ */
+ PageData page(Map params);
+
+ /**
+ * 默认查询
+ *
+ * @param params
+ * @return java.util.List
+ * @author generator
+ * @date 2022-06-27
+ */
+ List list(Map params);
+
+ /**
+ * 单条查询
+ *
+ * @param id
+ * @return IcOrganizationCodeInfoDTO
+ * @author generator
+ * @date 2022-06-27
+ */
+ IcOrganizationCodeInfoDTO get(String id);
+
+ /**
+ * 默认保存
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2022-06-27
+ */
+ void save(IcOrganizationCodeInfoDTO dto);
+
+ /**
+ * 默认更新
+ *
+ * @param dto
+ * @return void
+ * @author generator
+ * @date 2022-06-27
+ */
+ void update(IcOrganizationCodeInfoDTO dto);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return void
+ * @author generator
+ * @date 2022-06-27
+ */
+ void delete(String[] ids);
+
+ /**
+ * @describe: 【双实录入】获取小区编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, gridId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getNeighborHoodCoding(String customerId, String gridId,Boolean updateFlag);
+
+ /**
+ * @describe: 【双实录入】获取楼栋编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, neighborhoodId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getBuildingCoding(String customerId, String neighborhoodId,Boolean updateFlag);
+
+ /**
+ * @describe: 【双实录入】获取单元编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, neighborhoodId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getUnitCoding(String customerId, String buildingId,Boolean updateFlag);
+
+ /**
+ * @describe: 【双实录入】获取房屋编码
+ * @author wangtong
+ * @date 2022/6/29 9:59
+ * @params [tokenDTO, unitId]
+ * @return com.epmet.commons.tools.utils.Result
+ */
+ Result getHouseCoding(String customerId, String unitId,Boolean updateFlag);
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
index 6a95c20596..77fb6a3d53 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
@@ -33,15 +33,13 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.enums.BuildingTypeEnums;
+import com.epmet.enums.OrganizationTypeEnums;
import com.epmet.excel.IcBuildingExcel;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.model.BuildingInfoModel;
import com.epmet.model.ImportBuildingInfoListener;
import com.epmet.redis.IcHouseRedis;
-import com.epmet.service.BuildingService;
-import com.epmet.service.IcBuildingService;
-import com.epmet.service.IcBuildingUnitService;
-import com.epmet.service.IcNeighborHoodService;
+import com.epmet.service.*;
import com.epmet.util.ExcelPoiUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -91,6 +89,13 @@ public class BuildingServiceImpl implements BuildingService {
private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient;
@Autowired
private ExecutorService executorService;
+ @Autowired
+ private IcOrganizationCodeInfoService icOrganizationCodeInfoService;
+ @Autowired
+ private IcOrganizationCodeInfoDao icOrganizationCodeInfoDao;
+ @Autowired
+ private IcOrganizationCodeInfoServiceImpl icOrganizationCodeInfoServiceImpl;
+
@Override
@Transactional(rollbackFor = Exception.class)
@@ -100,6 +105,14 @@ public class BuildingServiceImpl implements BuildingService {
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg());
}
+ //楼栋编码不可重复
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
+ IcBuildingEntity isHaveCoding = icBuildingDao.selectByCoding(formDTO.getCoding(),null);
+ if(null != isHaveCoding){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该楼栋编码已存在,请勿重复!","该楼栋编码已存在,请勿重复!");
+ }
+ updateBuildingMaxNum(customerId,formDTO);
+ }
IcBuildingDTO icBuildingDTO = ConvertUtils.sourceToTarget(formDTO, IcBuildingDTO.class);
icBuildingDTO.setCustomerId(customerId);
IcBuildingEntity entity = ConvertUtils.sourceToTarget(icBuildingDTO, IcBuildingEntity.class);
@@ -114,12 +127,42 @@ public class BuildingServiceImpl implements BuildingService {
icBuildingUnit.setBuildingId(entity.getId());
icBuildingUnit.setUnitName((i + 1) + "单元");
icBuildingUnit.setUnitNum(String.valueOf(i + 1));
+ Result codeResult = icOrganizationCodeInfoService.getUnitCoding(customerId,entity.getId(),true);
+ if(!codeResult.success() || null == codeResult.getData()){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "生成单元编码异常,请联系管理员","生成单元编码异常,请联系管理员");
+ }
+ icBuildingUnit.setCoding(codeResult.getData().getCoding());
+ icBuildingUnit.setSysCoding(codeResult.getData().getSysCoding());
unitList.add(icBuildingUnit);
}
icBuildingUnitService.insertBatch(unitList, NumConstant.ONE_HUNDRED);
}
+ /**
+ * @describe: 如果编码未改动提交,则最大数+1
+ * @author wangtong
+ * @date 2022/7/5 10:43
+ * @params [formDTO]
+ * @return void
+ */
+ private void updateBuildingMaxNum(String customerId,IcBulidingAddFormDTO formDTO){
+ //如果是自增的,则最大数+1
+ IcOrganizationCodeInfoEntity communEntity = icOrganizationCodeInfoDao.selectByIdAndType(customerId, formDTO.getNeighborHoodId(), OrganizationTypeEnums.NEI.getCode());
+ Integer buildMaxNum = org.apache.commons.lang3.StringUtils.isBlank(communEntity.getMaxNum())?1:Integer.valueOf(communEntity.getMaxNum()) + 1;
+ Integer submitMaxNum = null;
+ try {
+ submitMaxNum = Integer.valueOf(formDTO.getCoding().substring(formDTO.getCoding().length()-3));
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "编码转换失败", "编码转换失败");
+ }
+ if(buildMaxNum.intValue() == submitMaxNum.intValue()){
+ communEntity.setMaxNum(icOrganizationCodeInfoServiceImpl.getNewMaxIndex(3, buildMaxNum));
+ icOrganizationCodeInfoDao.updateMaxNumByIdAndType(communEntity);
+ }
+ }
+
@Override
public List treeList(String customerId, String staffId) {
CustomerStaffInfoCacheResult agency = CustomerStaffRedis.getStaffInfo(customerId, staffId);
@@ -440,6 +483,15 @@ public class BuildingServiceImpl implements BuildingService {
throw new RenException(EpmetErrorCode.ORG_EDIT_FAILED.getCode(), "楼栋单元下存在房屋,无法更新");
}
}
+ //楼栋编码不可重复
+ formDTO.setSysCoding(null);
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
+ IcBuildingEntity isHaveCoding = icBuildingDao.selectByCoding(formDTO.getCoding(),formDTO.getBuildingId());
+ if(null != isHaveCoding){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该楼栋编码已存在,请勿重复!","该楼栋编码已存在,请勿重复!");
+ }
+ updateBuildingMaxNum(customerId,formDTO);
+ }
IcBuildingDTO icBuildingDTO = ConvertUtils.sourceToTarget(formDTO, IcBuildingDTO.class);
icBuildingDTO.setId(formDTO.getBuildingId());
icBuildingDTO.setCustomerId(customerId);
@@ -481,6 +533,12 @@ public class BuildingServiceImpl implements BuildingService {
icBuildingUnit.setCustomerId(customerId);
icBuildingUnit.setUnitName(unitNum + "单元");
icBuildingUnit.setUnitNum(unitNum);
+ Result codeResult = icOrganizationCodeInfoService.getUnitCoding(customerId,icBuilding.getId(),true);
+ if(!codeResult.success() || null == codeResult.getData()){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "生成单元编码异常,请联系管理员","生成单元编码异常,请联系管理员");
+ }
+ icBuildingUnit.setCoding(codeResult.getData().getCoding());
+ icBuildingUnit.setSysCoding(codeResult.getData().getSysCoding());
unitList.add(icBuildingUnit);
}
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java
new file mode 100644
index 0000000000..47faf87ea9
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java
@@ -0,0 +1,405 @@
+package com.epmet.service.impl;
+
+import com.epmet.commons.tools.constant.NumConstant;
+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.page.PageData;
+import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dao.CustomerAgencyDao;
+import com.epmet.dao.IcNeighborHoodDao;
+import com.epmet.dto.form.HouseInformationFormDTO;
+import com.epmet.dto.form.IcUserCountFormDTO;
+import com.epmet.dto.result.*;
+import com.epmet.entity.CustomerAgencyEntity;
+import com.epmet.enums.BuildingTypeEnums;
+import com.epmet.enums.HouseRentFlagEnums;
+import com.epmet.feign.EpmetUserOpenFeignClient;
+import com.epmet.service.HouseInformationService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:14
+ */
+@Slf4j
+@Service
+public class HouseInformationServiceImpl implements HouseInformationService {
+
+ @Resource
+ private IcNeighborHoodDao icNeighborHoodDao;
+ @Resource
+ private CustomerAgencyDao customerAgencyDao;
+ @Resource
+ private EpmetUserOpenFeignClient userOpenFeignClient;
+
+ /**
+ * 【双实录入】社区录入数据统计
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link CommunityCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:31
+ */
+ @Override
+ public CommunityCountResultDTO getCommunityCount(HouseInformationFormDTO formDTO) {
+ if (StringUtils.isEmpty(formDTO.getCommunityId())) {
+ //获取工作人员所属组织
+ CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
+ if(null == staffInfo) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败");
+ }
+ formDTO.setCommunityId(staffInfo.getAgencyId());
+ }
+ String orgName;
+ CustomerAgencyEntity agency = customerAgencyDao.selectById(formDTO.getCommunityId());
+ if (null == agency) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "社区不存在", "社区不存在");
+ }
+ CustomerAgencyEntity parentAgency = customerAgencyDao.selectById(agency.getPid());
+ if (null == parentAgency) {
+ orgName = agency.getOrganizationName();
+ } else {
+ orgName = parentAgency.getOrganizationName() + agency.getOrganizationName();
+ }
+ //获取工作人员信息
+ CommunityCountResultDTO result = icNeighborHoodDao.getCommunityCount(formDTO);
+ result.setId(agency.getId());
+ result.setName(orgName);
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.ZERO_STR);
+ countFormDTO.setOrgId(formDTO.getCommunityId());
+ countFormDTO.setType(NumConstant.ZERO_STR);
+ Map map = getMapResult(countFormDTO);
+ if (map.containsKey(formDTO.getCommunityId())) {
+ result.setPersonCount(map.get(formDTO.getCommunityId()));
+ }
+ return result;
+ }
+
+ /**
+ * 【双实录入】社区-网格列表
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:41
+ */
+ @Override
+ public PageData getGridList(HouseInformationFormDTO formDTO) {
+ PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
+ List list = icNeighborHoodDao.getGridList(formDTO);
+ PageInfo pageInfo = new PageInfo<>(list);
+ if (CollectionUtils.isNotEmpty(list)) {
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.ZERO_STR);
+ countFormDTO.setOrgId(formDTO.getCommunityId());
+ countFormDTO.setType(NumConstant.ONE_STR);
+ Map map = getMapResult(countFormDTO);
+
+ list.forEach(item -> {
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
+ });
+
+ }
+ return new PageData<>(list, pageInfo.getTotal());
+ }
+
+ /**
+ * 【双实录入】网格录入数据统计
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link GridStatisticsResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 15:41
+ */
+ @Override
+ public GridStatisticsResultDTO getGridCount(HouseInformationFormDTO formDTO) {
+ GridStatisticsResultDTO result = icNeighborHoodDao.getGridCount(formDTO);
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.ONE_STR);
+ countFormDTO.setOrgId(formDTO.getGridId());
+ countFormDTO.setType(NumConstant.ZERO_STR);
+ Map map = getMapResult(countFormDTO);
+ if (map.containsKey(formDTO.getGridId())) {
+ result.setPersonCount(map.get(formDTO.getGridId()));
+ }
+ return result;
+ }
+
+ /**
+ * 【双实录入】网格-小区列表
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:24
+ */
+ @Override
+ public PageData getNeighborHoodList(HouseInformationFormDTO formDTO) {
+ PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
+ List list = icNeighborHoodDao.getNeighborHoodList(formDTO);
+ PageInfo pageInfo = new PageInfo<>(list);
+ if (CollectionUtils.isNotEmpty(list)) {
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.ONE_STR);
+ countFormDTO.setOrgId(formDTO.getGridId());
+ countFormDTO.setType(NumConstant.ONE_STR);
+ Map map = getMapResult(countFormDTO);
+ list.forEach(item -> {
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
+ });
+ }
+ return new PageData<>(list, pageInfo.getTotal());
+ }
+
+ /**
+ * 【双实录入】小区录入数据统计
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link NeighborHoodCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:43
+ */
+ @Override
+ public NeighborHoodCountResultDTO getNeighborHoodCount(HouseInformationFormDTO formDTO) {
+ NeighborHoodCountResultDTO result = icNeighborHoodDao.getNeighborHoodCount(formDTO);
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.TWO_STR);
+ countFormDTO.setOrgId(formDTO.getNeighborHoodId());
+ countFormDTO.setType(NumConstant.ZERO_STR);
+ Map map = getMapResult(countFormDTO);
+ if (map.containsKey(formDTO.getNeighborHoodId())) {
+ result.setPersonCount(map.get(formDTO.getNeighborHoodId()));
+ }
+ return result;
+ }
+
+ /**
+ * 【双实录入】小区-楼栋列表
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:47
+ */
+ @Override
+ public PageData getBuildingList(HouseInformationFormDTO formDTO) {
+ List list;
+ long total = 0;
+
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.TWO_STR);
+ countFormDTO.setOrgId(formDTO.getNeighborHoodId());
+ countFormDTO.setType(NumConstant.ONE_STR);
+ Map map = getMapResult(countFormDTO);
+
+ if (!NumConstant.FIVE_STR.equals(formDTO.getSort())) {
+ PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
+ list = icNeighborHoodDao.getBuildingList(formDTO);
+ PageInfo pageInfo = new PageInfo<>(list);
+ total = pageInfo.getTotal();
+
+ if (CollectionUtils.isNotEmpty(list)) {
+ list.forEach(item -> {
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
+ });
+ }
+ } else {
+ list = icNeighborHoodDao.getBuildingList(formDTO);
+ if (CollectionUtils.isNotEmpty(list)) {
+ total = list.size();
+ list.forEach(item -> {
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ item.setDifferPersonCount(item.getPersonRealCount() - item.getPersonCount());
+ });
+
+ //排序
+ list = list.stream().sorted(Comparator.comparing(BuildingListResultDTO::getDifferPersonCount).reversed()).collect(Collectors.toList());
+ //分页
+ list = list.stream().skip((long)(formDTO.getPageNo() - 1) * formDTO.getPageSize()).limit(formDTO.getPageSize()).collect(Collectors.toList());
+ }
+ }
+
+
+ return new PageData<>(list, total);
+ }
+
+ /**
+ * 【双实录入】楼栋录入数据统计
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link BuildingCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:50
+ */
+ @Override
+ public BuildingCountResultDTO getBuildingCount(HouseInformationFormDTO formDTO) {
+ BuildingCountResultDTO result = icNeighborHoodDao.getBuildingCount(formDTO);
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.THREE_STR);
+ countFormDTO.setOrgId(formDTO.getBuildingId());
+ countFormDTO.setType(NumConstant.ZERO_STR);
+ Map map = getMapResult(countFormDTO);
+ if (map.containsKey(formDTO.getBuildingId())) {
+ result.setPersonCount(map.get(formDTO.getBuildingId()));
+ }
+ result.setBuildingType(BuildingTypeEnums.getTypeValue(result.getBuildingType()));
+ return result;
+ }
+
+ /**
+ * 【双实录入】楼栋-单元列表
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:54
+ */
+ @Override
+ public PageData getUnitList(HouseInformationFormDTO formDTO) {
+ PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
+ List list = icNeighborHoodDao.getUnitList(formDTO);
+ PageInfo pageInfo = new PageInfo<>(list);
+ if (CollectionUtils.isNotEmpty(list)) {
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.THREE_STR);
+ countFormDTO.setOrgId(formDTO.getBuildingId());
+ countFormDTO.setType(NumConstant.ONE_STR);
+ Map map = getMapResult(countFormDTO);
+ list.forEach(item -> {
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ });
+ }
+ return new PageData<>(list, pageInfo.getTotal());
+ }
+
+ /**
+ * 【双实录入】单元录入数据统计
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link UnitCountResultDTO}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 16:57
+ */
+ @Override
+ public UnitCountResultDTO getUnitCount(HouseInformationFormDTO formDTO) {
+ UnitCountResultDTO result = icNeighborHoodDao.getUnitCount(formDTO);
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.FOUR_STR);
+ countFormDTO.setOrgId(formDTO.getUnitId());
+ countFormDTO.setType(NumConstant.ZERO_STR);
+ Map map = getMapResult(countFormDTO);
+ if (map.containsKey(formDTO.getUnitId())) {
+ result.setPersonCount(map.get(formDTO.getUnitId()));
+ }
+ return result;
+ }
+
+ /**
+ * 【双实录入】单元-房屋列表
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData}
+ * @Author zhaoqifeng
+ * @Date 2022/6/28 17:01
+ */
+ @Override
+ public PageData getHouseList(HouseInformationFormDTO formDTO) {
+ List list = null;
+ long total = 0;
+ //获取录入人口数
+ IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
+ countFormDTO.setOrgType(NumConstant.FOUR_STR);
+ countFormDTO.setOrgId(formDTO.getUnitId());
+ countFormDTO.setType(NumConstant.ONE_STR);
+ Map map = getMapResult(countFormDTO);
+
+ if (!NumConstant.TWO_STR.equals(formDTO.getSort())) {
+ PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
+ list = icNeighborHoodDao.getHouseList(formDTO);
+ PageInfo pageInfo = new PageInfo<>(list);
+ total = pageInfo.getTotal();
+ if (CollectionUtils.isNotEmpty(list)) {
+ list.forEach(item -> {
+ item.setHouseType(HouseRentFlagEnums.getTypeValue(item.getHouseType()));
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ });
+ }
+ } else {
+ list = icNeighborHoodDao.getHouseList(formDTO);
+ if (CollectionUtils.isNotEmpty(list)) {
+ total = list.size();
+ list.forEach(item -> {
+ item.setHouseType(HouseRentFlagEnums.getTypeValue(item.getHouseType()));
+ if (map.containsKey(item.getId())) {
+ item.setPersonCount(map.get(item.getId()));
+ }
+ });
+ //排序
+ list = list.stream().sorted(Comparator.comparing(HomeListResultDTO::getPersonCount).reversed()).collect(Collectors.toList());
+ //分页
+ list = list.stream().skip((long)(formDTO.getPageNo() - 1) * formDTO.getPageSize()).limit(formDTO.getPageSize()).collect(Collectors.toList());
+ }
+ }
+
+ return new PageData<>(list, total);
+ }
+
+ private Map getMapResult(IcUserCountFormDTO countFormDTO) {
+ Result> result = userOpenFeignClient.getIcUserCount(countFormDTO);
+ if (!result.success()) {
+ log.warn("查询录入人数失败");
+ return Collections.emptyMap();
+ }
+ return result.getData();
+ }
+}
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 76ce9a6149..546dbc05c7 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
@@ -34,10 +34,7 @@ import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
-import com.epmet.enums.HouseChangeEnums;
-import com.epmet.enums.HousePurposeEnums;
-import com.epmet.enums.HouseRentFlagEnums;
-import com.epmet.enums.HouseTypeEnums;
+import com.epmet.enums.*;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
@@ -126,6 +123,12 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
private OssFeignClient ossFeignClient;
@Autowired
private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient;
+ @Autowired
+ private IcOrganizationCodeInfoDao icOrganizationCodeInfoDao;
+ @Autowired
+ private IcOrganizationCodeInfoServiceImpl icOrganizationCodeInfoServiceImpl;
+ @Autowired
+ private IcBuildingUnitDao icBuildingUnitDao;
@Override
@@ -136,7 +139,14 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg());
}
-
+ //房屋编码不可重复
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
+ IcHouseEntity isHaveCoding = icHouseDao.selectByCoding(formDTO.getCoding());
+ if(null != isHaveCoding){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该房屋编码已存在,请勿重复!","该房屋编码已存在,请勿重复!");
+ }
+ updateHouseMaxNum(customerId,formDTO);
+ }
IcHouseEntity icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseEntity.class);
icHouseDTO.setCustomerId(customerId);
icHouseDTO.setHouseName(getHouseName(formDTO));
@@ -168,6 +178,30 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
icHouseDao.updateById(entity);
}
+ /**
+ * @describe: 如果编码未改动提交,则最大数+1
+ * @author wangtong
+ * @date 2022/7/5 10:53
+ * @params [customerId, formDTO]
+ * @return void
+ */
+ private void updateHouseMaxNum(String customerId, IcHouseAddFormDTO formDTO){
+ //如果是自增的,则最大数+1
+ IcOrganizationCodeInfoEntity communEntity = icOrganizationCodeInfoDao.selectByIdAndType(customerId, formDTO.getBuildingUnitId(), OrganizationTypeEnums.UNIT.getCode());
+ Integer houseMaxNum = org.apache.commons.lang3.StringUtils.isBlank(communEntity.getMaxNum())?1:Integer.valueOf(communEntity.getMaxNum()) + 1;
+ Integer submitMaxNum = null;
+ try {
+ submitMaxNum = Integer.valueOf(formDTO.getCoding().substring(formDTO.getCoding().length()-4));
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "编码转换失败", "编码转换失败");
+ }
+ if(houseMaxNum.intValue() == submitMaxNum.intValue()){
+ communEntity.setMaxNum(icOrganizationCodeInfoServiceImpl.getNewMaxIndex(4, houseMaxNum));
+ icOrganizationCodeInfoDao.updateMaxNumByIdAndType(communEntity);
+ }
+ }
+
private String getHouseName(IcHouseAddFormDTO formDTO) {
//设置房间名 楼栋-单元号-门牌号
IcBuildingDTO icBuilding = icBuildingService.get(formDTO.getBuildingId());
@@ -1080,6 +1114,10 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
public Result getHomeInfoByHouseCode(HouseInfoFormDTO dto) {
HouseInfoResultDTO house = icHouseDao.selectHomeInfoByHouseCode(dto.getHouseCode());
+ if(null == house){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"未获取到房屋信息,请核对房屋编码","未获取到房屋信息,请核对房屋编码");
+ }
+
HouseInfoCache cache = CustomerIcHouseRedis.getHouseInfo(house.getCustomerId(), house.getHouseId());
BeanUtils.copyProperties(cache,house);
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
index 351fc95306..9059a84eda 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
@@ -25,9 +25,11 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.IcBuildingDao;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.ImportGeneralDTO;
+import com.epmet.dto.result.IcBulidingDetailDTO;
import com.epmet.entity.IcBuildingEntity;
import com.epmet.service.IcBuildingService;
import lombok.extern.slf4j.Slf4j;
@@ -166,4 +168,9 @@ public class IcBuildingServiceImpl extends BaseServiceImpl getBuildingDetail(String buildingId) {
+ return new Result().ok(baseDao.getBuildingDetail(buildingId));
+ }
+
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
index 2e800bbda5..6b55f20cfd 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
@@ -25,8 +25,11 @@ import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.IcBuildingUnitDao;
import com.epmet.dto.IcBuildingUnitDTO;
+import com.epmet.dto.result.HouseInfoResultDTO;
+import com.epmet.dto.result.IcBulidingDetailDTO;
import com.epmet.entity.IcBuildingUnitEntity;
import com.epmet.service.IcBuildingUnitService;
import lombok.extern.slf4j.Slf4j;
@@ -154,4 +157,9 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl getUnitDetail(String unitId) {
+ return new Result().ok(baseDao.getUnitDetail(unitId));
+ }
+
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
index c54ea3a436..7c26b4a947 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
@@ -791,4 +791,9 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl neighborhoodDetail(String neighborhoodId) {
+ return new Result().ok(baseDao.selectById(neighborhoodId));
+ }
+
}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcOrganizationCodeInfoServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcOrganizationCodeInfoServiceImpl.java
new file mode 100644
index 0000000000..abc9fbf58c
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcOrganizationCodeInfoServiceImpl.java
@@ -0,0 +1,387 @@
+package com.epmet.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.FieldConstant;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.EpmetException;
+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.*;
+import com.epmet.dto.IcOrganizationCodeInfoDTO;
+import com.epmet.dto.ImportGeneralDTO;
+import com.epmet.dto.result.HouseInfoResultDTO;
+import com.epmet.dto.result.OrganizationCodeResultDTO;
+import com.epmet.dto.result.OrganizationCommunityDTO;
+import com.epmet.entity.*;
+import com.epmet.enums.OrganizationTypeEnums;
+import com.epmet.redis.IcOrganizationCodeInfoRedis;
+import com.epmet.service.IcOrganizationCodeInfoService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 小区/楼栋/房屋编码辅助表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2022-06-27
+ */
+@Service
+public class IcOrganizationCodeInfoServiceImpl extends BaseServiceImpl implements IcOrganizationCodeInfoService {
+
+ @Autowired
+ private IcOrganizationCodeInfoRedis icOrganizationCodeInfoRedis;
+
+ @Autowired
+ private CustomerGridDao customerGridDao;
+
+ @Autowired
+ private IcNeighborHoodDao icNeighborHoodDao;
+
+ @Autowired
+ private IcBuildingDao icBuildingDao;
+
+ @Autowired
+ private IcBuildingUnitDao icBuildingUnitDao;
+
+ @Autowired
+ private IcHouseDao icHouseDao;
+
+ @Override
+ public PageData page(Map params) {
+ IPage page = baseDao.selectPage(
+ getPage(params, FieldConstant.CREATED_TIME, false),
+ getWrapper(params)
+ );
+ return getPageData(page, IcOrganizationCodeInfoDTO.class);
+ }
+
+ @Override
+ public List list(Map params) {
+ List entityList = baseDao.selectList(getWrapper(params));
+
+ return ConvertUtils.sourceToTarget(entityList, IcOrganizationCodeInfoDTO.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 IcOrganizationCodeInfoDTO get(String id) {
+ IcOrganizationCodeInfoEntity entity = baseDao.selectById(id);
+ return ConvertUtils.sourceToTarget(entity, IcOrganizationCodeInfoDTO.class);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void save(IcOrganizationCodeInfoDTO dto) {
+ IcOrganizationCodeInfoEntity entity = ConvertUtils.sourceToTarget(dto, IcOrganizationCodeInfoEntity.class);
+ insert(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void update(IcOrganizationCodeInfoDTO dto) {
+ IcOrganizationCodeInfoEntity entity = ConvertUtils.sourceToTarget(dto, IcOrganizationCodeInfoEntity.class);
+ updateById(entity);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void delete(String[] ids) {
+ // 逻辑删除(@TableLogic 注解)
+ baseDao.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result getNeighborHoodCoding(String customerId, String gridId, Boolean updateFlag) {
+ if (StringUtils.isBlank(customerId) || StringUtils.isBlank(gridId)) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所有字段不可为空", "所有字段不可为空");
+ }
+ OrganizationCodeResultDTO result = new OrganizationCodeResultDTO();
+ //获取社区id、行政编码
+ OrganizationCommunityDTO communResult = customerGridDao.selectCommunityByGridId(gridId);
+ if (null == communResult || StringUtils.isBlank(communResult.getCommunityId())) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到相关社区信息", "未查到相关社区信息");
+ }
+ //查询该社区下是否存在数据
+ IcOrganizationCodeInfoEntity communEntity = baseDao.selectByIdAndType(customerId, communResult.getCommunityId(), OrganizationTypeEnums.COMM.getCode());
+ if (null == communEntity) {
+ Integer neighborMaxNum = 1;
+ String neighborCode = getCompleteAreaCode(communResult.getAreaCode()) + getNewMaxIndex(3, neighborMaxNum);
+ //开发测试需要检测,因为包含行政编码为空的社区,会出现小区编码重复的情况
+ IcNeighborHoodEntity isHaveCoding = icNeighborHoodDao.selectByCoding(neighborCode, null);
+ while (null != isHaveCoding) {
+ neighborMaxNum++;
+ neighborCode = getCompleteAreaCode(communResult.getAreaCode()) + getNewMaxIndex(3, neighborMaxNum);
+ isHaveCoding = icNeighborHoodDao.selectByCoding(neighborCode, null);
+ }
+
+ result.setCoding(neighborCode);
+ result.setSysCoding(neighborCode);
+ //新增该社区辅助数据
+ IcOrganizationCodeInfoEntity newEntity = new IcOrganizationCodeInfoEntity();
+ newEntity.setCustomerId(customerId);
+ newEntity.setSysId(communResult.getCommunityId());
+ if (updateFlag) {
+ newEntity.setMaxNum(getNewMaxIndex(3, neighborMaxNum));
+ }
+ newEntity.setSysType(OrganizationTypeEnums.COMM.getCode());
+ baseDao.insert(newEntity);
+ } else {
+ Integer neighborMaxNum = StringUtils.isBlank(communEntity.getMaxNum()) ? 1 : Integer.valueOf(communEntity.getMaxNum()) + 1;
+ //验证可编辑的编码是否有重复
+ String neiCode = getCompleteAreaCode(communResult.getAreaCode()) + getNewMaxIndex(3, neighborMaxNum);
+ IcNeighborHoodEntity isHaveCoding = icNeighborHoodDao.selectByCoding(neiCode, null);
+ while (null != isHaveCoding) {
+ //先更新已有的最大值
+ communEntity.setMaxNum(getNewMaxIndex(3, neighborMaxNum));
+ baseDao.updateMaxNumByIdAndType(communEntity);
+ neighborMaxNum++;
+ neiCode = getCompleteAreaCode(communResult.getAreaCode()) + getNewMaxIndex(3, neighborMaxNum);
+ isHaveCoding = icNeighborHoodDao.selectByCoding(neiCode, null);
+ }
+ //更新该社区下最大的小区编号
+ if (updateFlag) {
+ communEntity.setMaxNum(getNewMaxIndex(3, neighborMaxNum));
+ baseDao.updateMaxNumByIdAndType(communEntity);
+ }
+ String neighborCode = getCompleteAreaCode(communResult.getAreaCode()) + getNewMaxIndex(3, neighborMaxNum);
+ result.setCoding(neiCode);
+ result.setSysCoding(neighborCode);
+ }
+ return new Result().ok(result);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result getBuildingCoding(String customerId, String neighborhoodId, Boolean updateFlag) {
+ if (StringUtils.isBlank(customerId) || StringUtils.isBlank(neighborhoodId)) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所有字段不可为空", "所有字段不可为空");
+ }
+ //组装返回结果
+ OrganizationCodeResultDTO result = new OrganizationCodeResultDTO();
+
+ IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(neighborhoodId);
+ if (null == neighborHood) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到相关小区信息", "未查到相关小区信息");
+ }
+ //如果小区编码为空,先生成小区编码并更新
+ if (StringUtils.isBlank(neighborHood.getSysCoding())) {
+ OrganizationCodeResultDTO org = getNeighborHoodCoding(customerId, neighborHood.getGridId(), true).getData();
+ neighborHood.setCoding(org.getCoding());
+ neighborHood.setSysCoding(org.getSysCoding());
+ icNeighborHoodDao.updateById(neighborHood);
+ }
+
+ //获取社区id、小区编码
+ OrganizationCommunityDTO communResult = icNeighborHoodDao.selectCommunityByNeiId(neighborhoodId);
+ //查询该小区下是否存在楼栋数据
+ IcOrganizationCodeInfoEntity buildingEntity = baseDao.selectByIdAndType(customerId, neighborhoodId, OrganizationTypeEnums.NEI.getCode());
+ if (null == buildingEntity) {
+ Integer maxNum = 1;
+ result.setCoding(communResult.getCoding() + getNewMaxIndex(3, maxNum));
+ result.setSysCoding(communResult.getSysCoding() + getNewMaxIndex(3, maxNum));
+ //新增该楼栋辅助数据
+ IcOrganizationCodeInfoEntity newEntity = new IcOrganizationCodeInfoEntity();
+ newEntity.setCustomerId(customerId);
+ newEntity.setSysId(neighborhoodId);
+ if (updateFlag) {
+ newEntity.setMaxNum(getNewMaxIndex(3, maxNum));
+ }
+ newEntity.setSysType(OrganizationTypeEnums.NEI.getCode());
+ baseDao.insert(newEntity);
+ } else {
+ Integer buildingMaxNum = StringUtils.isBlank(buildingEntity.getMaxNum()) ? 1 : Integer.valueOf(buildingEntity.getMaxNum()) + 1;
+ //验证可编辑的编码是否有重复
+ String buildingCode = communResult.getCoding() + getNewMaxIndex(3, buildingMaxNum);
+ IcBuildingEntity isHaveCoding = icBuildingDao.selectByCoding(buildingCode, null);
+ while (null != isHaveCoding) {
+ //先更新已有的最大值
+ buildingEntity.setMaxNum(getNewMaxIndex(3, buildingMaxNum));
+ baseDao.updateMaxNumByIdAndType(buildingEntity);
+ buildingMaxNum++;
+ buildingCode = communResult.getCoding() + getNewMaxIndex(3, buildingMaxNum);
+ isHaveCoding = icBuildingDao.selectByCoding(buildingCode, null);
+ }
+ result.setCoding(buildingCode);
+ result.setSysCoding(communResult.getSysCoding() + getNewMaxIndex(3, buildingMaxNum));
+
+ //更新该社区下最大的楼栋编号
+ if (updateFlag) {
+ buildingEntity.setMaxNum(getNewMaxIndex(3, buildingMaxNum));
+ baseDao.updateMaxNumByIdAndType(buildingEntity);
+ }
+ }
+ return new Result().ok(result);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result getUnitCoding(String customerId, String buildingId, Boolean updateFlag) {
+ if (StringUtils.isBlank(customerId) || StringUtils.isBlank(buildingId)) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所有字段不可为空", "所有字段不可为空");
+ }
+ //组装返回结果
+ OrganizationCodeResultDTO result = new OrganizationCodeResultDTO();
+
+ IcBuildingEntity buildingEntity = icBuildingDao.selectById(buildingId);
+ if (null == buildingEntity) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到相关楼栋信息", "未查到相关楼栋信息");
+ }
+ //如果楼栋编码为空,先生成楼栋编码并更新
+ if (StringUtils.isBlank(buildingEntity.getSysCoding())) {
+ ImportGeneralDTO neiInfo = icBuildingDao.selectBuildingById(buildingId);
+ OrganizationCodeResultDTO org = getBuildingCoding(customerId, neiInfo.getNeighborHoodId(), true).getData();
+ buildingEntity.setCoding(org.getCoding());
+ buildingEntity.setSysCoding(org.getSysCoding());
+ icBuildingDao.updateById(buildingEntity);
+ }
+
+ //获取社区id、楼栋编码
+ OrganizationCommunityDTO communResult = icBuildingDao.selectCommunityByBuildingId(buildingId);
+ //查询该楼栋下是否存在单元数据
+ IcOrganizationCodeInfoEntity unitEntity = baseDao.selectByIdAndType(customerId, buildingId, OrganizationTypeEnums.BUI.getCode());
+ if (null == unitEntity) {
+ Integer maxNum = 1;
+ result.setCoding(communResult.getCoding() + getNewMaxIndex(2, maxNum));
+ result.setSysCoding(communResult.getSysCoding() + getNewMaxIndex(2, maxNum));
+ //新增该单元辅助数据
+ IcOrganizationCodeInfoEntity newEntity = new IcOrganizationCodeInfoEntity();
+ newEntity.setCustomerId(customerId);
+ newEntity.setSysId(buildingId);
+ if (updateFlag) {
+ newEntity.setMaxNum(getNewMaxIndex(2, maxNum));
+ }
+ newEntity.setSysType(OrganizationTypeEnums.BUI.getCode());
+ baseDao.insert(newEntity);
+ } else {
+ Integer unitMaxNum = StringUtils.isBlank(unitEntity.getMaxNum()) ? 1 : Integer.valueOf(unitEntity.getMaxNum()) + 1;
+ //验证可编辑的编码是否有重复
+ String unitCode = communResult.getCoding() + getNewMaxIndex(2, unitMaxNum);
+ IcBuildingUnitEntity isHaveCoding = icBuildingUnitDao.selectByCoding(unitCode);
+ while (null != isHaveCoding) {
+ unitMaxNum++;
+ unitCode = communResult.getCoding() + getNewMaxIndex(2, unitMaxNum);
+ isHaveCoding = icBuildingUnitDao.selectByCoding(unitCode);
+ }
+ result.setCoding(unitCode);
+ result.setSysCoding(communResult.getSysCoding() + getNewMaxIndex(2, unitMaxNum));
+
+ //更新该社区下最大的单元编号
+ if (updateFlag) {
+ unitEntity.setMaxNum(getNewMaxIndex(2, unitMaxNum));
+ baseDao.updateMaxNumByIdAndType(unitEntity);
+ }
+ }
+ return new Result().ok(result);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Result getHouseCoding(String customerId, String unitId, Boolean updateFlag) {
+ if (StringUtils.isBlank(customerId) || StringUtils.isBlank(unitId)) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所有字段不可为空", "所有字段不可为空");
+ }
+ //组装返回结果
+ OrganizationCodeResultDTO result = new OrganizationCodeResultDTO();
+
+ IcBuildingUnitEntity unitEntity = icBuildingUnitDao.selectById(unitId);
+ if (null == unitEntity) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到相关单元信息", "未查到相关单元信息");
+ }
+ //如果单元编码为空,先生成单元编码并更新
+ if (StringUtils.isBlank(unitEntity.getSysCoding())) {
+ HouseInfoResultDTO buildingInfo = icBuildingUnitDao.getUnitDetail(unitId);
+ OrganizationCodeResultDTO org = getUnitCoding(customerId, buildingInfo.getBuildingId(), true).getData();
+ unitEntity.setCoding(org.getCoding());
+ unitEntity.setSysCoding(org.getSysCoding());
+ icBuildingUnitDao.updateById(unitEntity);
+ }
+
+ //获取社区id、单元编码
+ OrganizationCommunityDTO communResult = icBuildingUnitDao.selectCommunityByUnitId(unitId);
+ //查询该单元下是否存在房屋数据
+ IcOrganizationCodeInfoEntity houseEntity = baseDao.selectByIdAndType(customerId, unitId, OrganizationTypeEnums.UNIT.getCode());
+ if (null == houseEntity) {
+ Integer maxNum = 1;
+ result.setCoding(communResult.getCoding() + getNewMaxIndex(4, maxNum));
+ //新增该单元辅助数据
+ IcOrganizationCodeInfoEntity newEntity = new IcOrganizationCodeInfoEntity();
+ newEntity.setCustomerId(customerId);
+ newEntity.setSysId(unitId);
+ if (updateFlag) {
+ newEntity.setMaxNum(getNewMaxIndex(4, maxNum));
+ }
+ newEntity.setSysType(OrganizationTypeEnums.UNIT.getCode());
+ baseDao.insert(newEntity);
+ } else {
+ Integer houseMaxNum = StringUtils.isBlank(houseEntity.getMaxNum()) ? 1 : Integer.valueOf(houseEntity.getMaxNum()) + 1;
+ //验证可编辑的编码是否有重复
+ String houseCode = communResult.getCoding() + getNewMaxIndex(4, houseMaxNum);
+ IcHouseEntity isHaveCoding = icHouseDao.selectByCoding(houseCode);
+ while (null != isHaveCoding) {
+ //先更新已有的最大值
+ houseEntity.setMaxNum(getNewMaxIndex(4, houseMaxNum));
+ baseDao.updateMaxNumByIdAndType(houseEntity);
+ houseMaxNum++;
+ houseCode = communResult.getCoding() + getNewMaxIndex(4, houseMaxNum);
+ isHaveCoding = icHouseDao.selectByCoding(houseCode);
+ }
+ result.setCoding(houseCode);
+
+ //更新该社区下最大的房屋编号
+// houseEntity.setHouseMaxNum(getNewMaxIndex(4, houseMaxNum));
+// baseDao.updateMaxNumByIdAndType(houseEntity);
+ }
+ return new Result().ok(result);
+ }
+
+ /**
+ * @return java.lang.String
+ * @describe: 把数字转换成maxLength位的字符串,不够的前面补0
+ * @author wangtong
+ * @date 2022/6/29 10:30
+ * @params [maxLength, maxIndex]
+ */
+ public String getNewMaxIndex(Integer maxLength, Integer maxIndex) {
+ String result = maxIndex.toString();
+ while (result.length() < maxLength) {
+ result = "0" + result;
+ }
+ return result;
+ }
+
+ /**
+ * @return java.lang.String
+ * @describe: 补全行政编码,12位
+ * @author wangtong
+ * @date 2022/6/29 10:34
+ * @params [areaCode]
+ */
+ private String getCompleteAreaCode(String areaCode) {
+ if (StringUtils.isBlank(areaCode)) {
+ areaCode = "0";
+ }
+ while (areaCode.length() < 12) {
+ areaCode = areaCode + "0";
+ }
+ return areaCode;
+ }
+
+}
diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
index a053e7b183..65eb7c90e2 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
+++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
@@ -11,8 +11,10 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.NeighborhoodConstant;
+import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dao.IcNeighborHoodPropertyDao;
+import com.epmet.dao.IcOrganizationCodeInfoDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.IcNeighborHoodPropertyDTO;
@@ -21,9 +23,12 @@ import com.epmet.dto.form.IcNeighborHoodAddFormDTO;
import com.epmet.dto.form.IcNeighborHoodListFormDTO;
import com.epmet.dto.form.IcUserBelongToChangedFormDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
+import com.epmet.dto.result.OrganizationCommunityDTO;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.entity.IcNeighborHoodPropertyEntity;
+import com.epmet.entity.IcOrganizationCodeInfoEntity;
+import com.epmet.enums.OrganizationTypeEnums;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
@@ -62,6 +67,12 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl 0) {
throw new RenException(EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getCode(), EpmetErrorCode.NEIGHBOOR_NAME_EXITED.getMsg());
}
-
+ //小区编码不可重复
+ formDTO.setSysCoding(null);
+ if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
+ IcNeighborHoodEntity isHaveCoding = icNeighborHoodDao.selectByCoding(formDTO.getCoding(),formDTO.getNeighborHoodId());
+ if(null != isHaveCoding){
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该小区编码已存在,请勿重复!","该小区编码已存在,请勿重复!");
+ }
+ updateNeiMaxNum(customerId,formDTO);
+ }
IcNeighborHoodDTO icNeighborHoodDTO = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodDTO.class);
icNeighborHoodDTO.setId(formDTO.getNeighborHoodId());
icNeighborHoodDTO.setCustomerId(customerId);
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.31__add_ic_organization_code_info.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.31__add_ic_organization_code_info.sql
new file mode 100644
index 0000000000..c55fc29940
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.31__add_ic_organization_code_info.sql
@@ -0,0 +1,18 @@
+CREATE TABLE `ic_organization_code_info` (
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
+ `COMMUNITY_ID` varchar(64) NOT NULL COMMENT '社区id',
+ `NEIGHBOR_MAX_NUM` varchar(10) NOT NULL COMMENT '该社区下最大的小区编码序列号',
+ `BUILDING_MAX_NUM` varchar(10) NOT NULL COMMENT '该社区下最大的楼栋编码序列号',
+ `HOUSE_MAX_NUM` varchar(10) NOT NULL COMMENT '该社区下最大的房屋编码序列号'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小区/楼栋/房屋编码辅助表';
+
+
+alter table ic_neighbor_hood add COLUMN `CODING` varchar(64) DEFAULT NULL COMMENT '小区编码';
+alter table ic_neighbor_hood add COLUMN `SYS_CODING` varchar(64) DEFAULT NULL COMMENT '小区系统编码';
+alter table ic_neighbor_hood add COLUMN `REAL_BUILDING` int(10) DEFAULT NULL COMMENT '实有楼栋';
+
+alter table ic_building add COLUMN `CODING` varchar(64) DEFAULT NULL COMMENT '楼栋编码';
+alter table ic_building add COLUMN `SYS_CODING` varchar(64) DEFAULT NULL COMMENT '楼栋系统编码';
+alter table ic_building add COLUMN `REAL_PERSON` int(10) DEFAULT NULL COMMENT '实有人口';
+
+alter table ic_house add COLUMN `CODING` varchar(64) DEFAULT NULL COMMENT '房屋可编辑编码';
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.32__alter_ic_organization_code_info.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.32__alter_ic_organization_code_info.sql
new file mode 100644
index 0000000000..ee6e1fc7a1
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.32__alter_ic_organization_code_info.sql
@@ -0,0 +1,9 @@
+alter table ic_organization_code_info add COLUMN `UNIT_MAX_NUM` varchar(10) NOT NULL COMMENT '该社区下最大的单元编码序列号';
+
+alter table ic_building_unit add COLUMN `CODING` varchar(64) DEFAULT NULL COMMENT '单元编码';
+alter table ic_building_unit add COLUMN `SYS_CODING` varchar(64) DEFAULT NULL COMMENT '单元系统编码';
+
+ALTER TABLE ic_organization_code_info MODIFY COLUMN `NEIGHBOR_MAX_NUM` varchar(10) DEFAULT NULL COMMENT '该社区下最大的小区编码序列号';
+ALTER TABLE ic_organization_code_info MODIFY COLUMN `BUILDING_MAX_NUM` varchar(10) DEFAULT NULL COMMENT '该社区下最大的楼栋编码序列号';
+ALTER TABLE ic_organization_code_info MODIFY COLUMN `UNIT_MAX_NUM` varchar(10) DEFAULT NULL COMMENT '该社区下最大的单元编码序列号';
+ALTER TABLE ic_organization_code_info MODIFY COLUMN `HOUSE_MAX_NUM` varchar(10) DEFAULT NULL COMMENT '该社区下最大的房屋编码序列号';
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.33__alter_ic_building.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.33__alter_ic_building.sql
new file mode 100644
index 0000000000..a3a448ba14
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.33__alter_ic_building.sql
@@ -0,0 +1 @@
+alter table ic_building modify column `BUILDING_LEADER_NAME` varchar(32) DEFAULT NULL COMMENT '楼长姓名';
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.34__alter_ic_house.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.34__alter_ic_house.sql
new file mode 100644
index 0000000000..277dadd03d
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.34__alter_ic_house.sql
@@ -0,0 +1 @@
+update `ic_house` set CODING=HOUSE_CODE
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.35__alter_ic_organization_code_info.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.35__alter_ic_organization_code_info.sql
new file mode 100644
index 0000000000..e143c87c1d
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.35__alter_ic_organization_code_info.sql
@@ -0,0 +1,8 @@
+Drop Table ic_organization_code_info;
+
+CREATE TABLE `ic_organization_code_info` (
+ `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
+ `SYS_ID` varchar(64) NOT NULL COMMENT '社区/小区/楼栋/单元id',
+ `SYS_TYPE` varchar(32) DEFAULT NULL COMMENT '类型:\r\n社区community \r\n小区neighbor \r\n楼栋building \r\n单元unit',
+ `MAX_NUM` varchar(32) DEFAULT NULL COMMENT '最大数'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小区/楼栋/房屋编码辅助表';
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 94d29e08b4..bd6f04bbc8 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
@@ -863,5 +863,13 @@
UPDATE customer_grid SET total_user = total_user+#{incrCount}
where id = #{gridId} and del_flag = '0'
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
index 92c486f24a..5f825edc25 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
@@ -403,5 +403,51 @@
SELECT COUNT(ID) FROM ic_building_unit WHERE BUILDING_ID = #{buildingId} AND DEL_FLAG = '0'
+
+ SELECT
+ b.ID AS buildingId,
+ b.BUILDING_NAME,
+ b.NEIGHBOR_HOOD_ID,
+ b.sort,
+ b.TOTAL_UNIT_NUM,
+ b.TOTAL_FLOOR_NUM,
+ b.TOTAL_HOUSE_NUM,
+ h.NEIGHBOR_HOOD_NAME,
+ b.LATITUDE,
+ b.LONGITUDE,
+ b.COORDINATE_POSITION,
+ b.TYPE,
+ h.GRID_ID,
+ h.AGENCY_ID,
+ b.BUILDING_LEADER_NAME,
+ b.BUILDING_LEADER_MOBILE,
+ b.CODING,
+ b.SYS_CODING,
+ b.REAL_PERSON
+ FROM ic_building b
+ INNER JOIN ic_neighbor_hood h ON (h.id = b.NEIGHBOR_HOOD_ID AND h.DEL_FLAG = '0')
+ WHERE b.DEL_FLAG = '0'
+ AND b.ID = #{buildingId}
+
+
+
+ select *
+ from ic_building
+ where del_flag = '0'
+ and CODING=#{coding}
+
+ and id != #{id}
+
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml
index 09f334b42d..fe5a0ef73b 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml
@@ -17,6 +17,47 @@
SELECT ID FROM ic_building_unit WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId} ORDER BY UNIT_NUM+0 DESC LIMIT #{size}
+
+ SELECT bu.CUSTOMER_ID,
+ h.AGENCY_ID,
+ ca.ORGANIZATION_NAME as agencyName,
+ CONCAT(ca.ALL_PARENT_NAME,'-',ca.ORGANIZATION_NAME) as agencyPathName,
+ ca.AREA_CODE,
+ h.GRID_ID,
+ g.GRID_NAME,
+ h.id as neighborHoodId,
+ h.NEIGHBOR_HOOD_NAME,
+ b.id as buildingId,
+ b.BUILDING_NAME,
+ bu.id as buildingUnitId,
+ bu.UNIT_NAME
+
+ FROM ic_building_unit bu
+ INNER JOIN ic_building b ON (b.id = bu.BUILDING_ID AND b.DEL_FLAG = '0')
+ INNER JOIN ic_neighbor_hood h ON (h.id = b.NEIGHBOR_HOOD_ID AND h.DEL_FLAG = '0')
+ INNER JOIN customer_agency ca ON (h.AGENCY_ID = ca.id AND ca.DEL_FLAG = '0')
+ INNER JOIN customer_grid g ON (h.GRID_ID = g.id AND g.DEL_FLAG = '0')
+ WHERE bu.DEL_FLAG = '0'
+ AND bu.ID = #{unitId}
+
+
+ select *
+ from ic_building_unit
+ where del_flag = '0'
+ and CODING=#{coding}
+
+
-
\ No newline at end of file
+
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 4943a95b1c..b399fd4971 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
@@ -451,7 +451,8 @@
a.OWNER_PHONE,
a.OWNER_ID_CARD,
a.REMARK,
- c.AGENCY_PIDS
+ c.AGENCY_PIDS,
+ a.CODING
from ic_house a
LEFT JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0'
LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'
@@ -526,4 +527,11 @@
UPDATE ic_house SET RESI_NUMBER = #{resiNumber}, UPDATED_TIME = NOW() where ID = #{houseId} and RESI_NUMBER != #{resiNumber} and DEL_FLAG = '0'
+
+ select *
+ from ic_house
+ where del_flag = '0'
+ and CODING=#{coding}
+
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
index 8d6e24b5f7..ba47187e06 100644
--- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
@@ -312,4 +312,344 @@
a.del_flag = '0'
AND a.ID = #{neighborHoodId}
+
+
+ select *
+ from ic_neighbor_hood
+ where del_flag = '0'
+ and CODING=#{coding}
+
+ and id != #{id}
+
+
+
+
+
+ SELECT
+ *
+ FROM (
+ SELECT
+ grid.ID,
+ grid.GRID_NAME AS name,
+ SUM(IFNULL( buildingRealCount, 0 )) AS buildingRealCount,
+ SUM(IFNULL( houseRealCount, 0 )) AS houseRealCount,
+ SUM(IFNULL( personRealCount, 0 )) AS personRealCount,
+ SUM(IFNULL( buildingCount, 0 )) AS buildingCount,
+ SUM(IFNULL( houseCount, 0 )) AS houseCount,
+ SUM(IFNULL( buildingRealCount, 0 )) - SUM(IFNULL( buildingCount, 0 )) AS differBuildingCount,
+ SUM(IFNULL( houseRealCount, 0 )) - SUM(IFNULL( houseCount, 0 )) AS differHouseCount
+ FROM
+ customer_grid grid
+ LEFT JOIN (
+ SELECT
+ a.ID,
+ a.GRID_ID,
+ IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
+ SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
+ COUNT( DISTINCT b.ID ) AS buildingCount,
+ c.houseCount
+ FROM
+ ic_neighbor_hood a
+ LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
+ AND b.DEL_FLAG = '0'
+ LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
+ FROM ic_house WHERE DEL_FLAG = '0'
+ AND CUSTOMER_ID = #{customerId}
+ GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.AGENCY_ID = #{communityId}
+ GROUP BY
+ a.ID
+ ) t ON grid.ID = t.GRID_ID
+ WHERE
+ grid.DEL_FLAG = '0'
+ AND grid.PID = #{communityId}
+ GROUP BY
+ grid.ID
+ ) t
+ WHERE
+ 1=1
+
+ AND t.name LIKE CONCAT('%', #{name}, '%')
+
+ ORDER BY convert(name using gbk)
+
+
+ SELECT
+ GRID_ID AS gridId,
+ GRID_NAME AS gridName,
+ SUM( buildingRealCount ) AS buildingRealCount,
+ SUM( houseRealCount ) AS houseRealCount,
+ SUM( personRealCount ) AS personRealCount,
+ SUM( buildingCount ) AS buildingCount,
+ SUM( houseCount ) AS houseCount
+ FROM
+ (
+ SELECT
+ a.GRID_ID,
+ d.GRID_NAME,
+ IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
+ SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
+ COUNT( DISTINCT b.ID ) AS buildingCount,
+ c.houseCount
+ FROM
+ ic_neighbor_hood a
+ LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
+ AND b.DEL_FLAG = '0'
+ LEFT JOIN (
+ SELECT
+ NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
+ FROM
+ ic_house
+ WHERE
+ DEL_FLAG = '0'
+ AND CUSTOMER_ID = #{customerId}
+ GROUP BY
+ NEIGHBOR_HOOD_ID
+ ) c ON a.ID = c.NEIGHBOR_HOOD_ID
+ INNER JOIN customer_grid d ON a.GRID_ID = d.ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.GRID_ID = #{gridId}
+ GROUP BY
+ a.ID
+ ) t
+
+
+ SELECT
+ *
+ FROM (
+ SELECT
+ a.ID,
+ a.NEIGHBOR_HOOD_NAME AS name,
+ IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
+ SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
+ COUNT( DISTINCT b.ID ) AS buildingCount,
+ IFNULL(c.houseCount, 0) AS houseCount,
+ IFNULL( a.REAL_BUILDING, 0 ) - COUNT( DISTINCT b.ID ) AS differBuildingCount,
+ SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) - IFNULL(c.houseCount, 0) AS differHouseCount
+ FROM
+ ic_neighbor_hood a
+ LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
+ AND b.DEL_FLAG = '0'
+ LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount
+ FROM ic_house WHERE DEL_FLAG = '0'
+ AND CUSTOMER_ID = #{customerId}
+ GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.GRID_ID = #{gridId}
+ GROUP BY
+ a.ID
+ ) t
+ WHERE
+ 1 = 1
+
+ AND t.name LIKE CONCAT('%', #{name}, '%')
+
+ ORDER BY convert(name using gbk)
+
+
+
+ SELECT
+ a.ID AS neighborHoodId,
+ a.NEIGHBOR_HOOD_NAME AS neighborHoodName,
+ IFNULL( a.REAL_BUILDING, 0 ) AS buildingRealCount,
+ SUM( IFNULL( b.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( b.REAL_PERSON, 0 ) ) AS personRealCount,
+ COUNT( DISTINCT b.ID ) AS buildingCount,
+ IFNULL( c.houseCount, 0 ) AS houseCount
+ FROM
+ ic_neighbor_hood a
+ LEFT JOIN ic_building b ON a.ID = b.NEIGHBOR_HOOD_ID
+ AND b.DEL_FLAG = '0'
+ LEFT JOIN ( SELECT NEIGHBOR_HOOD_ID, COUNT( ID ) AS houseCount FROM ic_house WHERE DEL_FLAG = '0'
+ AND NEIGHBOR_HOOD_ID = #{neighborHoodId}
+ GROUP BY NEIGHBOR_HOOD_ID ) c ON a.ID = c.NEIGHBOR_HOOD_ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.ID = #{neighborHoodId}
+ GROUP BY
+ a.ID
+
+
+
+ SELECT
+ *
+ FROM (
+ SELECT
+ a.ID,
+ a.BUILDING_NAME AS name,
+ IFNULL( a.TOTAL_UNIT_NUM, 0 ) AS unitCount,
+ SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( a.REAL_PERSON, 0 ) ) AS personRealCount,
+ IFNULL(b.houseCount, 0) AS houseCount,
+ SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) )-IFNULL(b.houseCount, 0) AS differHouseCount
+ FROM
+ ic_building a
+ LEFT JOIN ( SELECT BUILDING_ID, COUNT( ID ) AS houseCount
+ FROM ic_house WHERE DEL_FLAG = '0'
+ AND NEIGHBOR_HOOD_ID = #{neighborHoodId}
+ GROUP BY BUILDING_ID ) b ON a.ID = b.BUILDING_ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.NEIGHBOR_HOOD_ID = #{neighborHoodId}
+ GROUP BY
+ a.ID
+ ) t
+ WHERE
+ 1 = 1
+
+ AND t.name LIKE CONCAT('%', #{name}, '%')
+
+ ORDER BY
+
+
+ convert(name using gbk)
+
+
+ houseRealCount desc, convert(name using gbk)
+
+
+ personRealCount desc, convert(name using gbk)
+
+
+ differHouseCount desc, convert(name using gbk)
+
+
+ convert(name using gbk)
+
+
+
+
+
+
+ SELECT
+ a.ID AS buildingId,
+ a.TYPE AS buildingType,
+ CONCAT(NEIGHBOR_HOOD_NAME,' ',BUILDING_NAME) AS buildingName,
+ IFNULL( a.TOTAL_UNIT_NUM, 0 ) AS unitCount,
+ SUM( IFNULL( a.TOTAL_HOUSE_NUM, 0 ) ) AS houseRealCount,
+ SUM( IFNULL( a.REAL_PERSON, 0 ) ) AS personRealCount,
+ IFNULL( b.houseCount, 0 ) AS houseCount,
+ 0 AS personCount
+ FROM
+ ic_building a
+ LEFT JOIN ( SELECT BUILDING_ID, COUNT( ID ) AS houseCount
+ FROM ic_house
+ WHERE DEL_FLAG = '0'
+ AND BUILDING_ID = #{buildingId}
+ GROUP BY BUILDING_ID ) b ON a.ID = b.BUILDING_ID
+ INNER JOIN ic_neighbor_hood c ON a.NEIGHBOR_HOOD_ID = c.ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.ID = #{buildingId}
+
+
+
+ SELECT
+ a.ID,
+ a.UNIT_NAME AS name,
+ IFNULL( b.houseCount, 0 ) AS houseCount,
+ 0 AS personCount
+ FROM
+ ic_building_unit a
+ LEFT JOIN ( SELECT BUILDING_UNIT_ID, COUNT( ID ) AS houseCount
+ FROM ic_house
+ WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId}
+ GROUP BY BUILDING_UNIT_ID ) b ON a.ID = b.BUILDING_UNIT_ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.BUILDING_ID = #{buildingId}
+ ORDER BY a.UNIT_NUM
+
+
+
+ SELECT
+ a.ID,
+ CONCAT(NEIGHBOR_HOOD_NAME,' ',BUILDING_NAME,' ',a.UNIT_NAME) AS unitName,
+ IFNULL( b.houseCount, 0 ) AS houseCount,
+ 0 AS personCount
+ FROM
+ ic_building_unit a
+ LEFT JOIN ( SELECT BUILDING_UNIT_ID, COUNT( ID ) AS houseCount FROM ic_house
+ WHERE DEL_FLAG = '0' AND BUILDING_UNIT_ID = #{unitId}
+ GROUP BY BUILDING_UNIT_ID ) b ON a.ID = b.BUILDING_UNIT_ID
+ INNER JOIN ic_building c ON a.BUILDING_ID = c.ID
+ INNER JOIN ic_neighbor_hood d ON c.NEIGHBOR_HOOD_ID = d.ID
+ WHERE
+ a.DEL_FLAG = '0'
+ AND a.ID = #{unitId}
+
+
+
+ SELECT
+ ID,
+ DOOR_NAME AS "name",
+ RENT_FLAG AS houseType,
+ HOUSE_CODE,
+ 0 AS personCount
+ FROM
+ ic_house
+ WHERE
+ DEL_FLAG = '0'
+ AND BUILDING_UNIT_ID = #{unitId}
+
+ AND DOOR_NAME LIKE CONCAT('%', #{name}, '%')
+
+ ORDER BY
+ DOOR_NAME
+
+
+
diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcOrganizationCodeInfoDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcOrganizationCodeInfoDao.xml
new file mode 100644
index 0000000000..7a3d8441f9
--- /dev/null
+++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcOrganizationCodeInfoDao.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ select *
+ from ic_organization_code_info
+ where CUSTOMER_ID=#{customerId}
+ and SYS_ID = #{sysId}
+ AND SYS_TYPE = #{sysType}
+
+
+ update ic_organization_code_info
+ set MAX_NUM=#{maxNum}
+ where CUSTOMER_ID = #{customerId}
+ and SYS_ID = #{sysId}
+ AND SYS_TYPE = #{sysType}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java
new file mode 100644
index 0000000000..675109ce0c
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.dto.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 17:27
+ */
+@Data
+public class IcUserCountFormDTO implements Serializable {
+ private static final long serialVersionUID = 1303693003176367290L;
+ private String orgId;
+ /**
+ * 0 组织,1 网格,2 小区,3 楼栋,4 单元,5 房屋
+ */
+ private String orgType;
+ /**
+ * 0 本级,1 下级
+ */
+ private String type;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java
new file mode 100644
index 0000000000..a1e6e6a482
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java
@@ -0,0 +1,17 @@
+package com.epmet.dto.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 17:50
+ */
+@Data
+public class IcUserCountResultDTO implements Serializable {
+ private static final long serialVersionUID = 2875016989035736971L;
+ private String id;
+ private Integer count;
+}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
index 7aa527475e..65e7b7b850 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
@@ -824,4 +824,15 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/icresiuser/getUserId/{icUserId}")
Result> getUserId(@PathVariable("icUserId") String icUserId);
+
+ /**
+ * 获取录入居民的数量
+ *
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/30 9:35
+ */
+ @PostMapping("/epmetuser/icresiuser/getIcUserCount")
+ Result> getIcUserCount(@RequestBody IcUserCountFormDTO formDTO);
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
index cf8c53d1b2..8c47cdb204 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
@@ -622,4 +622,18 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserId", icUserId);
}
+ /**
+ * 获取录入居民的数量
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/30 9:35
+ */
+ @Override
+ public Result> getIcUserCount(IcUserCountFormDTO formDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcUserCount", formDTO);
+ }
+
}
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 9eb61ac3bc..1feccb5fac 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
@@ -1238,4 +1238,17 @@ public class IcResiUserController implements ResultDataResolver {
public Result> queryVolunteerList(@LoginUser TokenDto tokenDto) {
return new Result>().ok(icResiUserService.queryVolunteerList(tokenDto.getCustomerId(), tokenDto.getUserId()));
}
+
+ /**
+ * 获取录入居民的数量
+ *
+ * @Param formDTO
+ * @Return {@link Result>}
+ * @Author zhaoqifeng
+ * @Date 2022/6/30 9:35
+ */
+ @PostMapping("getIcUserCount")
+ public Result> getIcUserCount(@RequestBody IcUserCountFormDTO formDTO) {
+ return new Result>().ok(icResiUserService.getIcUserCount(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 8a7c5feb2a..a10f7e8295 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
@@ -416,4 +416,14 @@ public interface IcResiUserDao extends BaseDao {
* @return
*/
List getUserListByCommunityId(@Param("communityId") String communityId);
+
+ /**
+ * 获取录入居民的数量
+ *
+ * @Param formDTO
+ * @Return {@link Map}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 17:37
+ */
+ List getIcUserCount(IcUserCountFormDTO formDTO);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
index 86849f1eef..447130eff5 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
@@ -482,4 +482,14 @@ public interface IcResiUserService extends BaseService {
* @return
*/
List getUserListByCommunityId(String communityId);
+
+ /**
+ * 获取录入居民的数量
+ *
+ * @Param formDTO
+ * @Return {@link Map}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 17:32
+ */
+ Map getIcUserCount(IcUserCountFormDTO 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 886b4f1356..14f489f625 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
@@ -2728,6 +2728,25 @@ public class IcResiUserServiceImpl extends BaseServiceImpl}
+ * @Author zhaoqifeng
+ * @Date 2022/6/29 17:32
+ */
+ @Override
+ public Map getIcUserCount(IcUserCountFormDTO formDTO) {
+ List list = baseDao.getIcUserCount(formDTO);
+ list = list.stream().filter(item -> null != item.getId()).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(list)) {
+ return Collections.emptyMap();
+ }
+ return list.stream().collect(Collectors.toMap(IcUserCountResultDTO::getId, IcUserCountResultDTO::getCount, (key1 , key2)-> key2));
+ }
+
/**
* 根据身份证获取居民角色(目前只有是否是志愿者)
*
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 9105d1d48b..c70fa707dd 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
@@ -1192,4 +1192,68 @@
and ru.MOBILE != ''
and ru.PIDS like CONCAT('%',#{communityId},'%')
+
+ SELECT
+
+ CASE #{orgType}
+ WHEN '0' THEN AGENCY_ID
+ WHEN '1' THEN GRID_ID
+ WHEN '2' THEN VILLAGE_ID
+ WHEN '3' THEN BUILD_ID
+ WHEN '4' THEN UNIT_ID
+ ELSE HOME_ID END AS "id",
+
+
+ CASE #{orgType}
+ WHEN '0' THEN GRID_ID
+ WHEN '1' THEN VILLAGE_ID
+ WHEN '2' THEN BUILD_ID
+ WHEN '3' THEN UNIT_ID
+ WHEN '4' THEN HOME_ID
+ ELSE HOME_ID END AS "id",
+
+ COUNT(ID) AS "count"
+ FROM
+ ic_resi_user
+ WHERE
+ DEL_FLAG = '0'
+ AND STATUS = '0'
+
+
+ AND AGENCY_ID = #{orgId}
+
+
+ AND GRID_ID = #{orgId}
+
+
+ AND VILLAGE_ID = #{orgId}
+
+
+ AND BUILD_ID = #{orgId}
+
+
+ AND UNIT_ID = #{orgId}
+
+
+
+ GROUP BY
+
+
+ GRID_ID
+
+
+ VILLAGE_ID
+
+
+ BUILD_ID
+
+
+ UNIT_ID
+
+
+ HOME_ID
+
+
+
+