71 changed files with 3323 additions and 22 deletions
@ -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; |
||||
|
|
||||
|
} |
@ -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"; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -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);
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
||||
|
|
||||
|
} |
@ -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); |
||||
|
} |
@ -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); |
||||
|
} |
@ -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(); |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
|
||||
|
} |
@ -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 '房屋可编辑编码'; |
@ -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 '该社区下最大的房屋编码序列号'; |
@ -0,0 +1 @@ |
|||||
|
alter table ic_building modify column `BUILDING_LEADER_NAME` varchar(32) DEFAULT NULL COMMENT '楼长姓名'; |
@ -0,0 +1 @@ |
|||||
|
update `ic_house` set CODING=HOUSE_CODE |
@ -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='小区/楼栋/房屋编码辅助表'; |
@ -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> |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
Loading…
Reference in new issue