Browse Source

Merge branch 'feature/dev_sunjiatan' into master_shibei

feature/teamB_zz_wgh
YUJT 3 years ago
parent
commit
ce52c11e62
  1. 17
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcBuildingDTO.java
  2. 6
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcHouseDTO.java
  3. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcNeighborHoodDTO.java
  4. 44
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcOrganizationCodeInfoDTO.java
  5. 25
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/HouseInformationFormDTO.java
  6. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcBulidingAddFormDTO.java
  7. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcHouseAddFormDTO.java
  8. 13
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcNeighborHoodAddFormDTO.java
  9. 23
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingCountResultDTO.java
  10. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingListResultDTO.java
  11. 25
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommunityCountResultDTO.java
  12. 28
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridCountListResultDTO.java
  13. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridStatisticsResultDTO.java
  14. 22
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HomeListResultDTO.java
  15. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/HouseInfoResultDTO.java
  16. 120
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcBulidingDetailDTO.java
  17. 25
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodCountResultDTO.java
  18. 28
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/NeighborHoodListResultDTO.java
  19. 26
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCodeResultDTO.java
  20. 24
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrganizationCommunityDTO.java
  21. 18
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitCountResultDTO.java
  22. 22
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/UnitListResultDTO.java
  23. 32
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/OrganizationTypeEnums.java
  24. 291
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseInformationController.java
  25. 82
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/IcOrganizationCodeInfoController.java
  26. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  27. 28
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  28. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java
  29. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  30. 122
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
  31. 63
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcOrganizationCodeInfoDao.java
  32. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingEntity.java
  33. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcBuildingUnitEntity.java
  34. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcHouseEntity.java
  35. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcNeighborHoodEntity.java
  36. 45
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcOrganizationCodeInfoEntity.java
  37. 33
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcOrganizationCodeInfoExcel.java
  38. 30
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcOrganizationCodeInfoRedis.java
  39. 112
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/HouseInformationService.java
  40. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
  41. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java
  42. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
  43. 116
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcOrganizationCodeInfoService.java
  44. 66
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  45. 405
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseInformationServiceImpl.java
  46. 48
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  47. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
  48. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
  49. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  50. 387
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcOrganizationCodeInfoServiceImpl.java
  51. 58
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
  52. 18
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.31__add_ic_organization_code_info.sql
  53. 9
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.32__alter_ic_organization_code_info.sql
  54. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.33__alter_ic_building.sql
  55. 1
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.34__alter_ic_house.sql
  56. 8
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.35__alter_ic_organization_code_info.sql
  57. 8
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  58. 46
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  59. 43
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml
  60. 10
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  61. 340
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml
  62. 46
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcOrganizationCodeInfoDao.xml
  63. 24
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserCountFormDTO.java
  64. 17
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcUserCountResultDTO.java
  65. 11
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  66. 14
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  67. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  68. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java
  69. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java
  70. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java
  71. 64
      epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml

17
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;
}
/**
* 楼栋编码
*/
private String coding;
/**
* 楼栋系统编码
*/
private String sysCoding;
/**
* 实有人口数
*/
private Integer realPerson;
}

6
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;
}
/**
* 房屋可编辑编码
*/
private String coding;
}

15
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;
}

44
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;
}

25
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";
}

15
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;
}

5
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;
}

13
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;
}

23
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;
}

26
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;
}

25
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;
}

28
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;
}

26
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;
}

22
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;
}

5
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;
}

120
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
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto.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;
}

25
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;
}

28
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;
}

26
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;
}

24
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;
}

18
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;
}

22
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;
}

32
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;
}
}

291
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
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.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<com.epmet.dto.IcNeighborHoodDTO>
*/
@PostMapping("neighborhoodDetail/{neighborhoodId}")
public Result<IcNeighborHoodEntity> 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<com.epmet.dto.IcBuildingDTO>
*/
@PostMapping("getBuildingDetail/{buildingId}")
public Result<IcBulidingDetailDTO> 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<com.epmet.dto.IcBuildingUnitDTO>
*/
@PostMapping("getUnitDetail/{unitId}")
public Result<HouseInfoResultDTO> getUnitDetail(@PathVariable("unitId") String unitId){
return icBuildingUnitService.getUnitDetail(unitId);
}
/**
* 双实录入社区录入数据统计
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<CommunityCountResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:32
*/
@PostMapping("getCommunityCount")
public Result<CommunityCountResultDTO> getCommunityCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<CommunityCountResultDTO>().ok(houseInformationService.getCommunityCount(formDTO));
}
/**
* 双实录入社区-网格列表
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<PageData<GridCountListResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:42
*/
@PostMapping("getGridList")
public Result<PageData<GridCountListResultDTO>> getGridList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<GridCountListResultDTO>>().ok(houseInformationService.getGridList(formDTO));
}
/**
* 双实录入网格录入数据统计
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<GridStatisticsResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:42
*/
@PostMapping("getGridCount")
public Result<GridStatisticsResultDTO> getGridCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<GridStatisticsResultDTO>().ok(houseInformationService.getGridCount(formDTO));
}
/**
* 双实录入网格-小区列表
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<PageData<NeighborHoodListResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:23
*/
@PostMapping("getNeighborHoodList")
public Result<PageData<NeighborHoodListResultDTO>> getNeighborHoodList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<NeighborHoodListResultDTO>>().ok(houseInformationService.getNeighborHoodList(formDTO));
}
/**
* 双实录入小区录入数据统计
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<NeighborHoodCountResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:44
*/
@PostMapping("getNeighborHoodCount")
public Result<NeighborHoodCountResultDTO> getNeighborHoodCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<NeighborHoodCountResultDTO>().ok(houseInformationService.getNeighborHoodCount(formDTO));
}
/**
* 双实录入小区-楼栋列表
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<PageData<BuildingListResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:47
*/
@PostMapping("getBuildingList")
public Result<PageData<BuildingListResultDTO>> getBuildingList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<BuildingListResultDTO>>().ok(houseInformationService.getBuildingList(formDTO));
}
/**
* 双实录入楼栋录入数据统计
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<BuildingCountResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:51
*/
@PostMapping("getBuildingCount")
public Result<BuildingCountResultDTO> getBuildingCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<BuildingCountResultDTO>().ok(houseInformationService.getBuildingCount(formDTO));
}
/**
* 双实录入楼栋-单元列表
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<PageData<UnitListResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:55
*/
@PostMapping("getUnitList")
public Result<PageData<UnitListResultDTO>> getUnitList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<UnitListResultDTO>>().ok(houseInformationService.getUnitList(formDTO));
}
/**
* 双实录入单元录入数据统计
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<UnitCountResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:57
*/
@PostMapping("getUnitCount")
public Result<UnitCountResultDTO> getUnitCount(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<UnitCountResultDTO>().ok(houseInformationService.getUnitCount(formDTO));
}
/**
* 双实录入单元-房屋列表
*
* @Param tokenDTO
* @Param formDTO
* @Return {@link Result<PageData<HomeListResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/6/28 17:02
*/
@PostMapping("getHouseList")
public Result<PageData<HomeListResultDTO>> getHouseList(@LoginUser TokenDto tokenDTO, @RequestBody HouseInformationFormDTO formDTO) {
formDTO.setCustomerId(tokenDTO.getCustomerId());
formDTO.setStaffId(tokenDTO.getUserId());
return new Result<PageData<HomeListResultDTO>>().ok(houseInformationService.getHouseList(formDTO));
}
/**
* @describe: 双实录入获取小区编码
* @author wangtong
* @date 2022/6/29 9:59
* @params [tokenDTO, gridId]
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
@PostMapping("getNeighborHoodCoding/{gridId}")
public Result<OrganizationCodeResultDTO> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
@PostMapping("getBuildingCoding/{neighborhoodId}")
public Result<OrganizationCodeResultDTO> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
@PostMapping("getHouseCoding/{unitId}")
public Result<OrganizationCodeResultDTO> getHouseCoding(@LoginUser TokenDto tokenDTO, @PathVariable("unitId") String unitId) {
return icOrganizationCodeInfoService.getHouseCoding(tokenDTO.getCustomerId(),unitId,false);
}
}

82
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<PageData<IcOrganizationCodeInfoDTO>> page(@RequestParam Map<String, Object> params){
PageData<IcOrganizationCodeInfoDTO> page = icOrganizationCodeInfoService.page(params);
return new Result<PageData<IcOrganizationCodeInfoDTO>>().ok(page);
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcOrganizationCodeInfoDTO> get(@PathVariable("id") String id){
IcOrganizationCodeInfoDTO data = icOrganizationCodeInfoService.get(id);
return new Result<IcOrganizationCodeInfoDTO>().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<String, Object> params, HttpServletResponse response) throws Exception {
List<IcOrganizationCodeInfoDTO> list = icOrganizationCodeInfoService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, IcOrganizationCodeInfoExcel.class);
}
}

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

@ -384,4 +384,13 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
int updateTotalUser(@Param("gridId") String gridId, @Param("incrCount") long incrCount);
List<String> 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);
}

28
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -196,4 +196,32 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
*/
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);
}

30
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<IcBuildingUnitEntity> {
*/
void delUnit(@Param("ids")List<String> ids);
}
/**
* @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);
}

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

@ -181,4 +181,12 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
* @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);
}

122
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<IcNeighborHoodEntity> {
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<GridCountListResultDTO> 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<NeighborHoodListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 14:11
*/
List<NeighborHoodListResultDTO> 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<BuildingListResultDTO> 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<UnitListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 16:07
*/
List<UnitListResultDTO> 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<HomeListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/29 16:48
*/
List<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO);
}

63
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<IcOrganizationCodeInfoEntity> {
/**
* @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);
}

15
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;
}

10
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;
}

4
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;
}

15
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;
}

45
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;
}

33
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;
}

30
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;
}
}

112
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<GridCountListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:41
*/
PageData<GridCountListResultDTO> 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<NeighborHoodListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:24
*/
PageData<NeighborHoodListResultDTO> 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<BuildingListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:47
*/
PageData<BuildingListResultDTO> 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<UnitListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:54
*/
PageData<UnitListResultDTO> 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<HomeListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 17:01
*/
PageData<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO);
}

13
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<IcBuildingEntity> {
* @date 2022/4/27 13:29
*/
void updateBuilding(ImportGeneralDTO info);
}
/**
* @describe: 双实录入楼栋详情
* @author wangtong
* @date 2022/6/28 14:30
* @params [buildingId]
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.IcBuildingDTO>
*/
Result<IcBulidingDetailDTO> getBuildingDetail(String buildingId);
}

13
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<IcBuildingUnitEntity>
* @Date 2022/2/14 15:42
*/
IcBuildingUnitDTO getUnitInfo(String buildingId, String unitName);
}
/**
* @describe: 双实录入单元详情
* @author wangtong
* @date 2022/6/28 15:00
* @params [unitId]
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.IcBuildingUnitDTO>
*/
Result<HouseInfoResultDTO> getUnitDetail(String unitId);
}

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

@ -172,4 +172,13 @@ public interface IcNeighborHoodService extends BaseService<IcNeighborHoodEntity>
* @date 2022/4/27 10:33
*/
void neighborHoodPropertyUpdate(List<NeighborHoodAndManagementDTO> updateNeighborHoodAndManagement);
/**
* @describe: 双实录入小区详情
* @author wangtong
* @date 2022/6/28 15:04
* @params [neighborhoodId]
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.IcNeighborHoodDTO>
*/
Result<IcNeighborHoodEntity> neighborhoodDetail(String neighborhoodId);
}

116
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<IcOrganizationCodeInfoEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IcOrganizationCodeInfoDTO>
* @author generator
* @date 2022-06-27
*/
PageData<IcOrganizationCodeInfoDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IcOrganizationCodeInfoDTO>
* @author generator
* @date 2022-06-27
*/
List<IcOrganizationCodeInfoDTO> list(Map<String, Object> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
Result<OrganizationCodeResultDTO> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
Result<OrganizationCodeResultDTO> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
Result<OrganizationCodeResultDTO> 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<com.epmet.dto.result.OrganizationCodeResultDTO>
*/
Result<OrganizationCodeResultDTO> getHouseCoding(String customerId, String unitId,Boolean updateFlag);
}

66
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<OrganizationCodeResultDTO> 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<BuildingTreeLevelDTO> 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<OrganizationCodeResultDTO> 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);
}
}

405
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<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getCommunityId())) {
result.setPersonCount(map.get(formDTO.getCommunityId()));
}
return result;
}
/**
* 双实录入社区-网格列表
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData<GridCountListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 15:41
*/
@Override
public PageData<GridCountListResultDTO> getGridList(HouseInformationFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<GridCountListResultDTO> list = icNeighborHoodDao.getGridList(formDTO);
PageInfo<GridCountListResultDTO> 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<String, Integer> 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<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getGridId())) {
result.setPersonCount(map.get(formDTO.getGridId()));
}
return result;
}
/**
* 双实录入网格-小区列表
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData<NeighborHoodListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:24
*/
@Override
public PageData<NeighborHoodListResultDTO> getNeighborHoodList(HouseInformationFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<NeighborHoodListResultDTO> list = icNeighborHoodDao.getNeighborHoodList(formDTO);
PageInfo<NeighborHoodListResultDTO> 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<String, Integer> 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<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getNeighborHoodId())) {
result.setPersonCount(map.get(formDTO.getNeighborHoodId()));
}
return result;
}
/**
* 双实录入小区-楼栋列表
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData<BuildingListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:47
*/
@Override
public PageData<BuildingListResultDTO> getBuildingList(HouseInformationFormDTO formDTO) {
List<BuildingListResultDTO> list;
long total = 0;
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.TWO_STR);
countFormDTO.setOrgId(formDTO.getNeighborHoodId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (!NumConstant.FIVE_STR.equals(formDTO.getSort())) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
list = icNeighborHoodDao.getBuildingList(formDTO);
PageInfo<BuildingListResultDTO> 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<String, Integer> 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<UnitListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 16:54
*/
@Override
public PageData<UnitListResultDTO> getUnitList(HouseInformationFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<UnitListResultDTO> list = icNeighborHoodDao.getUnitList(formDTO);
PageInfo<UnitListResultDTO> 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<String, Integer> 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<String, Integer> map = getMapResult(countFormDTO);
if (map.containsKey(formDTO.getUnitId())) {
result.setPersonCount(map.get(formDTO.getUnitId()));
}
return result;
}
/**
* 双实录入单元-房屋列表
*
* @param formDTO
* @Param formDTO
* @Return {@link PageData<HomeListResultDTO>}
* @Author zhaoqifeng
* @Date 2022/6/28 17:01
*/
@Override
public PageData<HomeListResultDTO> getHouseList(HouseInformationFormDTO formDTO) {
List<HomeListResultDTO> list = null;
long total = 0;
//获取录入人口数
IcUserCountFormDTO countFormDTO = new IcUserCountFormDTO();
countFormDTO.setOrgType(NumConstant.FOUR_STR);
countFormDTO.setOrgId(formDTO.getUnitId());
countFormDTO.setType(NumConstant.ONE_STR);
Map<String, Integer> map = getMapResult(countFormDTO);
if (!NumConstant.TWO_STR.equals(formDTO.getSort())) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
list = icNeighborHoodDao.getHouseList(formDTO);
PageInfo<HomeListResultDTO> 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<String, Integer> getMapResult(IcUserCountFormDTO countFormDTO) {
Result<Map<String, Integer>> result = userOpenFeignClient.getIcUserCount(countFormDTO);
if (!result.success()) {
log.warn("查询录入人数失败");
return Collections.emptyMap();
}
return result.getData();
}
}

48
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);

9
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<IcBuildingDao, IcBuil
baseDao.updateBuilding(info);
}
}
@Override
public Result<IcBulidingDetailDTO> getBuildingDetail(String buildingId) {
return new Result<IcBulidingDetailDTO>().ok(baseDao.getBuildingDetail(buildingId));
}
}

10
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<IcBuildingUnitDao
return ConvertUtils.sourceToTarget(entity, IcBuildingUnitDTO.class);
}
}
@Override
public Result<HouseInfoResultDTO> getUnitDetail(String unitId) {
return new Result<HouseInfoResultDTO>().ok(baseDao.getUnitDetail(unitId));
}
}

5
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<IcNeighborHoodDao
}
}
@Override
public Result<IcNeighborHoodEntity> neighborhoodDetail(String neighborhoodId) {
return new Result<IcNeighborHoodEntity>().ok(baseDao.selectById(neighborhoodId));
}
}

387
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<IcOrganizationCodeInfoDao, IcOrganizationCodeInfoEntity> 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<IcOrganizationCodeInfoDTO> page(Map<String, Object> params) {
IPage<IcOrganizationCodeInfoEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IcOrganizationCodeInfoDTO.class);
}
@Override
public List<IcOrganizationCodeInfoDTO> list(Map<String, Object> params) {
List<IcOrganizationCodeInfoEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IcOrganizationCodeInfoDTO.class);
}
private QueryWrapper<IcOrganizationCodeInfoEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcOrganizationCodeInfoEntity> 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<OrganizationCodeResultDTO> 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<OrganizationCodeResultDTO>().ok(result);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<OrganizationCodeResultDTO> 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<OrganizationCodeResultDTO>().ok(result);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<OrganizationCodeResultDTO> 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<OrganizationCodeResultDTO>().ok(result);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<OrganizationCodeResultDTO> 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<OrganizationCodeResultDTO>().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;
}
}

58
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<IcNeighborHoodDao,I
private IcNeighborHoodDao icNeighborHoodDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private CustomerGridDao customerGridDao;
@Autowired
private IcOrganizationCodeInfoDao icOrganizationCodeInfoDao;
@Autowired
private IcOrganizationCodeInfoServiceImpl icOrganizationCodeInfoServiceImpl;
@Override
@ -79,6 +90,14 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
if (!customerAgencyResult.success()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
}
//小区编码不可重复,自增最大数+1
if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
IcNeighborHoodEntity isHaveCoding = icNeighborHoodDao.selectByCoding(formDTO.getCoding(),null);
if(null != isHaveCoding){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该小区编码已存在,请勿重复!","该小区编码已存在,请勿重复!");
}
updateNeiMaxNum(customerId,formDTO);
}
CustomerAgencyDTO customerAgencyDTO = Optional.ofNullable(customerAgencyResult.getData()).orElse(new CustomerAgencyDTO());
icNeighborHoodDTO.setParentAgencyId(customerAgencyDTO.getPid());
icNeighborHoodDTO.setAgencyPids(customerAgencyDTO.getPids());
@ -96,6 +115,35 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
}
}
/**
* @describe: 如果编码未改动提交则最大数+1
* @author wangtong
* @date 2022/7/5 10:47
* @params [customerId, formDTO]
* @return void
*/
private void updateNeiMaxNum(String customerId, IcNeighborHoodAddFormDTO formDTO){
//获取社区id、行政编码
OrganizationCommunityDTO communResult = customerGridDao.selectCommunityByGridId(formDTO.getGridId());
if (null == communResult || org.apache.commons.lang3.StringUtils.isBlank(communResult.getCommunityId())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未查到相关社区信息", "未查到相关社区信息");
}
//如果是自增的,则最大数+1
IcOrganizationCodeInfoEntity communEntity = icOrganizationCodeInfoDao.selectByIdAndType(customerId, communResult.getCommunityId(), OrganizationTypeEnums.COMM.getCode());
Integer neighborMaxNum = 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(neighborMaxNum.intValue() == submitMaxNum.intValue()){
communEntity.setMaxNum(icOrganizationCodeInfoServiceImpl.getNewMaxIndex(3, neighborMaxNum));
icOrganizationCodeInfoDao.updateMaxNumByIdAndType(communEntity);
}
}
/**
* 查询
* @param formDTO
@ -128,7 +176,15 @@ public class NeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao,I
if (null != count && count > 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);

18
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 '房屋可编辑编码';

9
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 '该社区下最大的房屋编码序列号';

1
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 '楼长姓名';

1
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

8
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='小区/楼栋/房屋编码辅助表';

8
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'
</update>
<select id="selectCommunityByGridId" resultType="com.epmet.dto.result.OrganizationCommunityDTO">
select a.id as communityId,
a.AREA_CODE
from customer_grid g
INNER JOIN customer_agency a ON (a.ID = g.PID AND a.DEL_FLAG = '0')
where g.del_flag = 0
and g.id=#{gridId}
</select>
</mapper>

46
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -403,5 +403,51 @@
<select id="selectUnitCount" resultType="java.lang.Integer">
SELECT COUNT(ID) FROM ic_building_unit WHERE BUILDING_ID = #{buildingId} AND DEL_FLAG = '0'
</select>
<select id="getBuildingDetail" resultType="com.epmet.dto.result.IcBulidingDetailDTO">
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>
<select id="selectCommunityByBuildingId" resultType="com.epmet.dto.result.OrganizationCommunityDTO">
select a.id as communityId,
b.CODING,
b.SYS_CODING
from ic_building b
INNER JOIN ic_neighbor_hood h ON (h.ID = b.NEIGHBOR_HOOD_ID AND h.DEL_FLAG = '0')
INNER JOIN customer_grid g ON (g.ID = h.GRID_ID AND g.DEL_FLAG = '0')
INNER JOIN customer_agency a ON (a.ID = g.PID AND a.DEL_FLAG = '0')
where b.del_flag = '0'
and b.id=#{buildingId}
</select>
<select id="selectByCoding" resultType="com.epmet.entity.IcBuildingEntity">
select *
from ic_building
where del_flag = '0'
and CODING=#{coding}
<if test=" null != id and id != ''">
and id != #{id}
</if>
</select>
</mapper>

43
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml

@ -17,6 +17,47 @@
<select id="getUnitIdByBuildingId" resultType="java.lang.String">
SELECT ID FROM ic_building_unit WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId} ORDER BY UNIT_NUM+0 DESC LIMIT #{size}
</select>
<select id="getUnitDetail" resultType="com.epmet.dto.result.HouseInfoResultDTO">
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>
<select id="selectByCoding" resultType="com.epmet.entity.IcBuildingUnitEntity">
select *
from ic_building_unit
where del_flag = '0'
and CODING=#{coding}
</select>
<select id="selectCommunityByUnitId" resultType="com.epmet.dto.result.OrganizationCommunityDTO">
select a.id as communityId,
u.CODING,
u.SYS_CODING
from ic_building_unit u
INNER JOIN ic_building b ON (b.ID = u.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_grid g ON (g.ID = h.GRID_ID AND g.DEL_FLAG = '0')
INNER JOIN customer_agency a ON (a.ID = g.PID AND a.DEL_FLAG = '0')
where u.del_flag = '0'
and u.id=#{unitId}
</select>
</mapper>
</mapper>

10
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'
</update>
<select id="selectByCoding" resultType="com.epmet.entity.IcHouseEntity">
select *
from ic_house
where del_flag = '0'
and CODING=#{coding}
</select>
</mapper>

340
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>
<select id="selectCommunityByNeiId" resultType="com.epmet.dto.result.OrganizationCommunityDTO">
select a.id as communityId,
h.CODING,
h.SYS_CODING
from ic_neighbor_hood h
INNER JOIN customer_grid g ON (g.ID = h.GRID_ID AND g.DEL_FLAG = '0')
INNER JOIN customer_agency a ON (a.ID = g.PID AND a.DEL_FLAG = '0')
where h.del_flag = '0'
and h.id=#{neighborhoodId}
</select>
<select id="selectByCoding" resultType="com.epmet.entity.IcNeighborHoodEntity">
select *
from ic_neighbor_hood
where del_flag = '0'
and CODING=#{coding}
<if test=" null != id and id != ''">
and id != #{id}
</if>
</select>
<select id="getCommunityCount" resultType="com.epmet.dto.result.CommunityCountResultDTO" parameterType="com.epmet.dto.form.HouseInformationFormDTO">
SELECT
SUM( buildingRealCount ) AS buildingRealCount,
SUM( houseRealCount ) AS houseRealCount,
SUM( personRealCount ) AS personRealCount,
SUM( buildingCount ) AS buildingCount,
SUM( houseCount ) AS houseCount
FROM
(
SELECT
a.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
</select>
<select id="getGridList" resultType="com.epmet.dto.result.GridCountListResultDTO">
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
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY convert(name using gbk)
</select>
<select id="getGridCount" resultType="com.epmet.dto.result.GridStatisticsResultDTO">
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>
<select id="getNeighborHoodList" resultType="com.epmet.dto.result.NeighborHoodListResultDTO">
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
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY convert(name using gbk)
</select>
<select id="getNeighborHoodCount" resultType="com.epmet.dto.result.NeighborHoodCountResultDTO">
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>
<select id="getBuildingList" resultType="com.epmet.dto.result.BuildingListResultDTO">
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
<if test=" null != name and name != ''">
AND t.name LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY
<choose>
<when test='sort == "1"'>
convert(name using gbk)
</when>
<when test='sort == "2"'>
houseRealCount desc, convert(name using gbk)
</when>
<when test='sort == "3"'>
personRealCount desc, convert(name using gbk)
</when>
<when test='sort == "4"'>
differHouseCount desc, convert(name using gbk)
</when>
<when test='sort == "5"'>
convert(name using gbk)
</when>
</choose>
</select>
<select id="getBuildingCount" resultType="com.epmet.dto.result.BuildingCountResultDTO">
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>
<select id="getUnitList" resultType="com.epmet.dto.result.UnitListResultDTO">
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>
<select id="getUnitCount" resultType="com.epmet.dto.result.UnitCountResultDTO">
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>
<select id="getHouseList" resultType="com.epmet.dto.result.HomeListResultDTO">
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}
<if test=" null != name and name != ''">
AND DOOR_NAME LIKE CONCAT('%', #{name}, '%')
</if>
ORDER BY
DOOR_NAME
</select>
</mapper>

46
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcOrganizationCodeInfoDao.xml

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcOrganizationCodeInfoDao">
<resultMap type="com.epmet.entity.IcOrganizationCodeInfoEntity" id="icOrganizationCodeInfoMap">
<result property="customerId" column="CUSTOMER_ID"/>
<result property="sysId" column="SYS_ID"/>
<result property="sysType" column="SYS_TYPE"/>
<result property="maxNum" column="MAX_NUM"/>
</resultMap>
<select id="selectByIdAndType" resultType="com.epmet.entity.IcOrganizationCodeInfoEntity">
select *
from ic_organization_code_info
where CUSTOMER_ID=#{customerId}
and SYS_ID = #{sysId}
AND SYS_TYPE = #{sysType}
</select>
<update id="updateMaxNumByIdAndType">
update ic_organization_code_info
set MAX_NUM=#{maxNum}
where CUSTOMER_ID = #{customerId}
and SYS_ID = #{sysId}
AND SYS_TYPE = #{sysType}
</update>
<!-- <update id="updateBuildingByCuIdAndCoId">-->
<!-- update ic_organization_code_info-->
<!-- set BUILDING_MAX_NUM=#{buildingMaxNum}-->
<!-- where CUSTOMER_ID = #{customerId}-->
<!-- and COMMUNITY_ID = #{communityId}-->
<!-- </update>-->
<!-- <update id="updateUnitByCuIdAndCoId">-->
<!-- update ic_organization_code_info-->
<!-- set UNIT_MAX_NUM=#{unitMaxNum}-->
<!-- where CUSTOMER_ID = #{customerId}-->
<!-- and COMMUNITY_ID = #{communityId}-->
<!-- </update>-->
<!-- <update id="updateHouseByCuIdAndCoId">-->
<!-- update ic_organization_code_info-->
<!-- set HOUSE_MAX_NUM=#{houseMaxNum}-->
<!-- where CUSTOMER_ID = #{customerId}-->
<!-- and COMMUNITY_ID = #{communityId}-->
<!-- </update>-->
</mapper>

24
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;
}

17
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;
}

11
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<List<String>> getUserId(@PathVariable("icUserId") String icUserId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Result<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@PostMapping("/epmetuser/icresiuser/getIcUserCount")
Result<Map<String, Integer>> getIcUserCount(@RequestBody IcUserCountFormDTO formDTO);
}

14
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<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@Override
public Result<Map<String, Integer>> getIcUserCount(IcUserCountFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcUserCount", formDTO);
}
}

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

@ -1238,4 +1238,17 @@ public class IcResiUserController implements ResultDataResolver {
public Result<List<ResiVolunteerSelectDTO>> queryVolunteerList(@LoginUser TokenDto tokenDto) {
return new Result<List<ResiVolunteerSelectDTO>>().ok(icResiUserService.queryVolunteerList(tokenDto.getCustomerId(), tokenDto.getUserId()));
}
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Result<Map<String, Integer>>}
* @Author zhaoqifeng
* @Date 2022/6/30 9:35
*/
@PostMapping("getIcUserCount")
public Result<Map<String, Integer>> getIcUserCount(@RequestBody IcUserCountFormDTO formDTO) {
return new Result<Map<String, Integer>>().ok(icResiUserService.getIcUserCount(formDTO));
}
}

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

@ -416,4 +416,14 @@ public interface IcResiUserDao extends BaseDao<IcResiUserEntity> {
* @return
*/
List<SendPointNoticeResultDTO> getUserListByCommunityId(@Param("communityId") String communityId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:37
*/
List<IcUserCountResultDTO> getIcUserCount(IcUserCountFormDTO formDTO);
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java

@ -482,4 +482,14 @@ public interface IcResiUserService extends BaseService<IcResiUserEntity> {
* @return
*/
List<SendPointNoticeFormDTO.UserListBean> getUserListByCommunityId(String communityId);
/**
* 获取录入居民的数量
*
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:32
*/
Map<String, Integer> getIcUserCount(IcUserCountFormDTO formDTO);
}

19
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -2728,6 +2728,25 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
return baseDao.getListIcResiUserDTO(icResiUserIdList);
}
/**
* 获取录入居民的数量
*
* @param formDTO
* @Param formDTO
* @Return {@link Map<String, Integer>}
* @Author zhaoqifeng
* @Date 2022/6/29 17:32
*/
@Override
public Map<String, Integer> getIcUserCount(IcUserCountFormDTO formDTO) {
List<IcUserCountResultDTO> 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));
}
/**
* 根据身份证获取居民角色目前只有是否是志愿者
*

64
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>
<select id="getIcUserCount" resultType="com.epmet.dto.result.IcUserCountResultDTO">
SELECT
<if test='type == "0"'>
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",
</if>
<if test='type == "1"'>
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",
</if>
COUNT(ID) AS "count"
FROM
ic_resi_user
WHERE
DEL_FLAG = '0'
AND STATUS = '0'
<choose>
<when test='orgType == "0"'>
AND AGENCY_ID = #{orgId}
</when>
<when test='orgType == "1"'>
AND GRID_ID = #{orgId}
</when>
<when test='orgType == "2"'>
AND VILLAGE_ID = #{orgId}
</when>
<when test='orgType == "3"'>
AND BUILD_ID = #{orgId}
</when>
<when test='orgType == "4"'>
AND UNIT_ID = #{orgId}
</when>
</choose>
<if test='type == "1"'>
GROUP BY
<choose>
<when test='orgType == "0"'>
GRID_ID
</when>
<when test='orgType == "1"'>
VILLAGE_ID
</when>
<when test='orgType == "2"'>
BUILD_ID
</when>
<when test='orgType == "3"'>
UNIT_ID
</when>
<when test='orgType == "4"'>
HOME_ID
</when>
</choose>
</if>
</select>
</mapper>

Loading…
Cancel
Save