Browse Source

小区名和门牌号唯一

dev_shibei_match
yinzuomei 4 years ago
parent
commit
c7a1d433ab
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  3. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java
  4. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  5. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java
  6. 13
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml
  7. 12
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -80,6 +80,8 @@ public enum EpmetErrorCode {
CUSTOMER_FORM_NOT_EXITS(8213,"客户未配置表单"),
RESI_NOT_FOUND(8214,"居民信息找不到"),
BUILDING_NAME_EXITED(8215,"楼栋名称已存在"),
DOOR_NAME_EXITED(8216,"门牌号已存在"),
NEIGHBOOR_NAME_EXITED(8217,"小区名称已存在"),
REQUIRE_PERMISSION(8301, "您没有足够的操作权限"),
THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"),

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

@ -61,4 +61,9 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
*/
List<String> selectHouseInfoByIdCard(@Param("idCard") String idCard);
Integer checkDoorNameUq(@Param("neighborHoodId") String neighborHoodId,
@Param("buildingId")String buildingId,
@Param("buildingUnitId")String buildingUnitId,
@Param("doorName")String doorName,
@Param("houseId")String houseId);
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcNeighborHoodDao.java

@ -17,9 +17,7 @@
package com.epmet.dao;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
@ -29,7 +27,6 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 小区表
@ -49,4 +46,8 @@ public interface IcNeighborHoodDao extends BaseDao<IcNeighborHoodEntity> {
List<IcNeighborHoodEntity> selectListByName(@Param("neighborNameList")List<String> neighborNameList,
@Param("agencyNameList") List<String> agencyNameList,
@Param("gridNameList") List<String> gridNameList);
Integer checkNameUq(@Param("customerId") String customerId,
@Param("neighborHoodName")String neighborHoodName,
@Param("neighborId")String neighborId);
}

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

@ -3,7 +3,8 @@ package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.tools.enums.HouseTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dao.IcBuildingUnitDao;
@ -63,6 +64,11 @@ public class HouseServiceImpl implements HouseService {
@Override
@Transactional(rollbackFor = Exception.class)
public void addHouse(String customerId, IcHouseFormDTO formDTO) {
//同一楼栋,单元内,房屋名称唯一
Integer count = icHouseDao.checkDoorNameUq(formDTO.getNeighborHoodId(), formDTO.getBuildingId(), formDTO.getBuildingUnitId(), formDTO.getDoorName(),null);
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg());
}
IcHouseDTO icHouseDTO= ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class);
icHouseDTO.setCustomerId(customerId);
// icHouseDTO.setRentFlag(formDTO.getRentFlag());
@ -89,6 +95,11 @@ public class HouseServiceImpl implements HouseService {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateHouse(String customerId, IcHouseFormDTO formDTO) {
//同一楼栋,单元内,房屋名称唯一
Integer count = icHouseDao.checkDoorNameUq(formDTO.getNeighborHoodId(), formDTO.getBuildingId(), formDTO.getBuildingUnitId(),formDTO.getDoorName(), formDTO.getHouseId());
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg());
}
IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(formDTO, IcHouseDTO.class);
icHouseDTO.setId(formDTO.getHouseId());
icHouseDTO.setCustomerId(customerId);

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java

@ -69,6 +69,11 @@ public class NeighborHoodServiceImpl implements NeighborHoodService {
@Override
@Transactional(rollbackFor = Exception.class)
public void AddNeighborhood(String customerId, IcNeighborHoodFormDTO formDTO) {
//同一客户下,小区名称唯一
Integer count = icNeighborHoodDao.checkNameUq(customerId,formDTO.getNeighborHoodName(),null);
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg());
}
IcNeighborHoodDTO icNeighborHoodDTO = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodDTO.class);
icNeighborHoodDTO.setCustomerId(customerId);
Result<CustomerAgencyDTO> customerAgencyResult = govOrgOpenFeignClient.getAgencyById(icNeighborHoodDTO.getAgencyId());
@ -153,6 +158,12 @@ public class NeighborHoodServiceImpl implements NeighborHoodService {
@Override
@Transactional(rollbackFor = Exception.class)
public void UpdateNeighborhood(String customerId, IcNeighborHoodFormDTO formDTO) {
//同一客户下,小区名称唯一
Integer count = icNeighborHoodDao.checkNameUq(customerId,formDTO.getNeighborHoodName(),formDTO.getNeighborHoodId());
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.DOOR_NAME_EXITED.getCode(), EpmetErrorCode.DOOR_NAME_EXITED.getMsg());
}
IcNeighborHoodDTO icNeighborHoodDTO = ConvertUtils.sourceToTarget(formDTO, IcNeighborHoodDTO.class);
icNeighborHoodDTO.setId(formDTO.getNeighborHoodId());
icNeighborHoodDTO.setCustomerId(customerId);

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

@ -264,4 +264,17 @@
WHERE ih.DEL_FLAG = '0'
AND ih.OWNER_ID_CARD = #{idCard}
</select>
<select id="checkDoorNameUq" parameterType="map" resultType="java.lang.Integer">
select count(*)
from ic_house ih
where ih.del_flag='0'
and ih.NEIGHBOR_HOOD_ID=#{neighborHoodId}
and ih.BUILDING_ID=#{buildingId}
and ih.BUILDING_UNIT_ID=#{buildingUnitId}
and ih.DOOR_NAME=#{doorName}
<if test=" null != houseId and houseId.trim() != ''">
and ih.id !=#{houseId}
</if>
</select>
</mapper>

12
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml

@ -200,5 +200,15 @@
</select>
<select id="checkNameUq" parameterType="map" resultType="java.lang.Integer">
select
count(a.*)
from ic_neighbor_hood a
where a.del_flag='0'
and a.customer_id=#{customerId}
and a.NEIGHBOR_HOOD_NAME=#{neighborHoodName}
<if test=" null != neighborId and neighborId.trim() != ''">
and a.id !=#{neighborId}
</if>
</select>
</mapper>
Loading…
Cancel
Save