Browse Source

楼栋单元数修改

feature/teamB_zz_wgh
zxc 3 years ago
parent
commit
1e332de4fc
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  2. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java
  3. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java
  4. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  5. 27
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingUnitDao.xml
  6. 7
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

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

@ -256,6 +256,7 @@ public enum EpmetErrorCode {
RESI_IC_NAT(8925,"已存在记录,请联系社区工作人员修改"),
IC_MOVE_IN(8926,"居民信息中房屋信息与当前选择房屋不一致,是否更新?"),
NOT_REGEIST_RESI(8927,"未注册居民"),
UNIT_EXIST_HOUSES_ERROR(8928,"单元下存在房屋,不可修改单元数"),
//通用错误码 start

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingUnitDao.java

@ -20,6 +20,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcBuildingUnitEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 楼栋单元信息
@ -29,5 +32,22 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcBuildingUnitDao extends BaseDao<IcBuildingUnitEntity> {
/**
* Desc: 根据楼栋ID获取单元IDs
* @param buildingId
* @param size
* @author zxc
* @date 2022/5/31 15:46
*/
List<String> getUnitIdByBuildingId(@Param("buildingId")String buildingId,@Param("size")Integer size);
/**
* Desc: 删除单元
* @param ids
* @author zxc
* @date 2022/5/31 16:04
*/
void delUnit(@Param("ids")List<String> ids);
}

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

@ -102,4 +102,12 @@ public interface IcHouseDao extends BaseDao<IcHouseEntity> {
*/
HouseAgencyInfoResultDTO getHouseAgencyInfo(@Param("houseId") String houseId);
/**
* Desc: 获取单元下的房屋数
* @param unitIds
* @author zxc
* @date 2022/5/31 15:53
*/
Integer getHouseCountByUnitIds(@Param("unitIds")List<String> unitIds);
}

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

@ -454,7 +454,20 @@ public class BuildingServiceImpl implements BuildingService {
Integer unit = icBuilding.getTotalUnitNum();
if (nowUnit < unit) {
//如果小于,判断是否存在房屋,如果存在就提示不能更改
throw new EpmetException(EpmetErrorCode.ORG_EDIT_FAILED.getCode(), EpmetErrorCode.ORG_EDIT_FAILED.getMsg(), "暂不支持单元号减小");
/**
* 校验规则单元号倒序校验原来的单元数 - 现在单元数个单元下是不是存在房屋存在房屋不能更新
* 2022-05-31修改逻辑可以修改变小先去校验,单元下存在房屋就报错不存在删除对应单元更新楼栋单元数
*/
Integer size = unit - nowUnit;
List<String> ids = icBuildingUnitDao.getUnitIdByBuildingId(formDTO.getBuildingId(), size);
if (!CollectionUtils.isEmpty(ids)){
Integer houseCount = icHouseDao.getHouseCountByUnitIds(ids);
if (houseCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
throw new EpmetException(EpmetErrorCode.UNIT_EXIST_HOUSES_ERROR.getCode());
}
icBuildingUnitDao.delUnit(ids);
}
// throw new EpmetException(EpmetErrorCode.ORG_EDIT_FAILED.getCode(), EpmetErrorCode.ORG_EDIT_FAILED.getMsg(), "暂不支持单元号减小");
} else {
//新增单元
List<OptionResultDTO> units = icBuildingUnitService.getUnitOptions(icBuilding.getId());

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

@ -3,19 +3,20 @@
<mapper namespace="com.epmet.dao.IcBuildingUnitDao">
<resultMap type="com.epmet.entity.IcBuildingUnitEntity" id="icBuildingUnitMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="buildingId" column="BUILDING_ID"/>
<result property="unitNum" column="UNIT_NUM"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 删除单元 -->
<update id="delUnit">
UPDATE ic_building_unit
SET DEL_FLAG = '1',
UPDATED_TIME = NOW()
WHERE ID IN (
<foreach collection="ids" item="id" separator=",">#{id}</foreach>
)
</update>
<!-- 根据楼栋ID获取单元IDs -->
<select id="getUnitIdByBuildingId" resultType="java.lang.String">
SELECT ID FROM ic_building_unit WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId} ORDER BY UNIT_NUM+0 DESC LIMIT #{size}
</select>
</mapper>

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

@ -380,4 +380,11 @@
WHERE h.ID = #{houseId}
</select>
<!-- 获取单元下的房屋数 -->
<select id="getHouseCountByUnitIds" resultType="java.lang.Integer">
SELECT COUNT(ID) FROM ic_house WHERE DEL_FLAG = '0' AND BUILDING_UNIT_ID IN (
<foreach collection="unitIds" item="id" separator=",">#{id}</foreach>
)
</select>
</mapper>

Loading…
Cancel
Save