Browse Source

同一小区内楼栋名称不允许重复

dev_shibei_match
yinzuomei 4 years ago
parent
commit
2adf5b6280
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  3. 18
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  4. 27
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

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

@ -79,7 +79,7 @@ public enum EpmetErrorCode {
GUIDE_CATEGORY_NAME_EXITS(8212,"分类已存在"),
CUSTOMER_FORM_NOT_EXITS(8213,"客户未配置表单"),
RESI_NOT_FOUND(8214,"居民信息找不到"),
BUILDING_NAME_EXITED(8215,"楼栋名称已存在"),
REQUIRE_PERMISSION(8301, "您没有足够的操作权限"),
THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"),

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

@ -17,16 +17,12 @@
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.dto.result.BaseInfoFamilyBuildingResultDTO;
import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.IcBuildingEntity;
import com.epmet.entity.IcHouseEntity;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.excel.IcBuildingExcel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -71,5 +67,5 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
*/
List<BaseInfoFamilyBuildingResultDTO> baseInfoFamilyBuilding(@Param("neighborHoodId")String neighborHoodId);
List<BuildingResultDTO> buildingListByIds(@Param("buildingIdList") List<String> buildingIdList);
Integer checkBuildName(@Param("neighborHoodId") String neighborHoodId,@Param("buildingName")String buildingName, @Param("buildingId")String buildingId);
}

18
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -13,7 +13,6 @@ import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.form.IcBulidingFormDTO;
import com.epmet.dto.form.ListIcNeighborHoodFormDTO;
import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.entity.*;
import com.epmet.enums.BuildingTypeEnums;
@ -68,6 +67,11 @@ public class BuildingServiceImpl implements BuildingService {
@Override
@Transactional(rollbackFor = Exception.class)
public void AddBuilding(String customerId, IcBulidingFormDTO formDTO) {
//同一小区下不能存在楼栋名字一样的
Integer count = icBuildingDao.checkBuildName(formDTO.getNeighborHoodId(),formDTO.getBuildingName(),null);
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(),EpmetErrorCode.BUILDING_NAME_EXITED.getMsg());
}
IcBuildingDTO icBuildingDTO= ConvertUtils.sourceToTarget(formDTO, IcBuildingDTO.class);
icBuildingDTO.setCustomerId(customerId);
IcBuildingEntity entity = ConvertUtils.sourceToTarget(icBuildingDTO, IcBuildingEntity.class);
@ -279,12 +283,6 @@ public class BuildingServiceImpl implements BuildingService {
ExcelPoiUtils.exportExcel(templatePath ,map,"楼宇信息录入表",response);
return ;
}
@Override
public List<BuildingResultDTO> buildingListByIds(List<String> buildingIdList) {
return icBuildingDao.buildingListByIds(buildingIdList);
}
private List<IcBuildingExcel> searchAllBuilding(ListIcNeighborHoodFormDTO formDTO) {
// QueryWrapper<IcNeighborHoodEntity> neighborHoodEntityQueryWrapper = new QueryWrapper<>();
@ -377,6 +375,12 @@ public class BuildingServiceImpl implements BuildingService {
@Override
@Transactional(rollbackFor = Exception.class)
public void UpdateBuilding(String customerId, IcBulidingFormDTO formDTO) {
//同一小区下不能存在楼栋名字一样的
Integer count = icBuildingDao.checkBuildName(formDTO.getNeighborHoodId(),formDTO.getBuildingName(),formDTO.getBuildingId());
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(),EpmetErrorCode.BUILDING_NAME_EXITED.getMsg());
}
IcBuildingDTO icBuilding= icBuildingService.get(formDTO.getBuildingId());
if(!icBuilding.getNeighborHoodId().equals(formDTO.getNeighborHoodId())){

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

@ -300,25 +300,14 @@
AND b.NEIGHBOR_HOOD_ID = #{neighborHoodId}
</select>
<select id="buildingListByIds" resultType="com.epmet.dto.result.BuildingResultDTO">
select
a.ID as buildingId,
a.BUILDING_NAME as buildingName,
b.NEIGHBOR_HOOD_NAME as neighborHoodName,
d.GRID_NAME as gridName
from ic_building a
LEFT JOIN ic_neighbor_hood b on a.NEIGHBOR_HOOD_ID = b.ID and b.DEL_FLAG='0'
LEFT JOIN customer_grid d on b.GRID_ID = d.ID and d.DEL_FLAG='0'
where 1=1 and a.DEL_FLAG ='0'
and a.ID in
<foreach collection="buildingIdList" open="(" separator="," close=")" item="val">
#{val}
</foreach>
<select id="checkBuildName" parameterType="map" resultType="java.lang.Integer">
select count(*) from ic_building b
where b.del_flag='0'
AND b.NEIGHBOR_HOOD_ID = #{neighborHoodId}
and b.BUILDING_NAME=#{buildingName}
<if test=" null != buildingId and buildingId.trim() != ''">
and b.id !=#{buildingId}
</if>
</select>
</mapper>
Loading…
Cancel
Save