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

20
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.commons.mybatis.dao.BaseDao;
import com.epmet.entity.IcBuildingUnitEntity; import com.epmet.entity.IcBuildingUnitEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 楼栋单元信息 * 楼栋单元信息
@ -30,4 +33,21 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface IcBuildingUnitDao extends BaseDao<IcBuildingUnitEntity> { 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); 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(); Integer unit = icBuilding.getTotalUnitNum();
if (nowUnit < unit) { 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 { } else {
//新增单元 //新增单元
List<OptionResultDTO> units = icBuildingUnitService.getUnitOptions(icBuilding.getId()); 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"> <mapper namespace="com.epmet.dao.IcBuildingUnitDao">
<resultMap type="com.epmet.entity.IcBuildingUnitEntity" id="icBuildingUnitMap"> <!-- 删除单元 -->
<result property="id" column="ID"/> <update id="delUnit">
<result property="customerId" column="CUSTOMER_ID"/> UPDATE ic_building_unit
<result property="buildingId" column="BUILDING_ID"/> SET DEL_FLAG = '1',
<result property="unitNum" column="UNIT_NUM"/> UPDATED_TIME = NOW()
<result property="unitName" column="UNIT_NAME"/> WHERE ID IN (
<result property="delFlag" column="DEL_FLAG"/> <foreach collection="ids" item="id" separator=",">#{id}</foreach>
<result property="revision" column="REVISION"/> )
<result property="createdBy" column="CREATED_BY"/> </update>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/> <!-- 根据楼栋ID获取单元IDs -->
<result property="updatedTime" column="UPDATED_TIME"/> <select id="getUnitIdByBuildingId" resultType="java.lang.String">
</resultMap> SELECT ID FROM ic_building_unit WHERE DEL_FLAG = '0' AND BUILDING_ID = #{buildingId} ORDER BY UNIT_NUM+0 DESC LIMIT #{size}
</select>
</mapper> </mapper>

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

@ -380,4 +380,11 @@
WHERE h.ID = #{houseId} WHERE h.ID = #{houseId}
</select> </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> </mapper>

Loading…
Cancel
Save