Sfoglia il codice sorgente

支持 删除 楼栋时校验单元是否存在

java110 3 anni fa
parent
commit
4f379c9df8

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/UnitDto.java

@@ -13,6 +13,7 @@ import java.util.Date;
  **/
 public class UnitDto extends PageDto implements Serializable {
 
+    public static final String ROOM_UNIT_Y = "Y";//房屋单元
 
     /**
      * unitId
@@ -47,6 +48,7 @@ public class UnitDto extends PageDto implements Serializable {
     private Date createTime;
 
     private String statusCd = "0";
+    private String roomUnit;
 
 
     public String getUnitId() {
@@ -160,4 +162,12 @@ public class UnitDto extends PageDto implements Serializable {
     public void setFloorNum(String floorNum) {
         this.floorNum = floorNum;
     }
+
+    public String getRoomUnit() {
+        return roomUnit;
+    }
+
+    public void setRoomUnit(String roomUnit) {
+        this.roomUnit = roomUnit;
+    }
 }

+ 6 - 6
java110-db/src/main/resources/mapper/community/UnitV1ServiceDaoImplMapper.xml

@@ -37,6 +37,9 @@
         <if test="unitNum !=null and unitNum != ''">
             and t.unit_num= #{unitNum}
         </if>
+        <if test="roomUnit == 'Y'">
+            and t.unit_num != '0'
+        </if>
         <if test="lift !=null and lift != ''">
             and t.lift= #{lift}
         </if>
@@ -46,9 +49,6 @@
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
-        <if test="userId !=null and userId != ''">
-            and t.user_id= #{userId}
-        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -111,6 +111,9 @@
         <if test="unitNum !=null and unitNum != ''">
             and t.unit_num= #{unitNum}
         </if>
+        <if test="roomUnit == 'Y'">
+            and t.unit_num != '0'
+        </if>
         <if test="lift !=null and lift != ''">
             and t.lift= #{lift}
         </if>
@@ -120,9 +123,6 @@
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
-        <if test="userId !=null and userId != ''">
-            and t.user_id= #{userId}
-        </if>
 
 
     </select>

+ 14 - 0
service-community/src/main/java/com/java110/community/cmd/floor/DeleteFloorCmd.java

@@ -6,8 +6,10 @@ import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.UnitDto;
 import com.java110.intf.community.IFloorInnerServiceSMO;
 import com.java110.intf.community.IFloorV1InnerServiceSMO;
+import com.java110.intf.community.IUnitV1InnerServiceSMO;
 import com.java110.po.floor.FloorPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -23,10 +25,22 @@ public class DeleteFloorCmd extends Cmd {
     @Autowired
     private IFloorV1InnerServiceSMO floorV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUnitV1InnerServiceSMO unitV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.jsonObjectHaveKey(reqJson, "floorId", "请求报文中未包含floorId");
         Assert.jsonObjectHaveKey(reqJson, "communityId", "请求报文中未包含communityId");
+
+        UnitDto unitDto = new UnitDto();
+        unitDto.setFloorId(reqJson.getString("floorId"));
+        unitDto.setCommunityId(reqJson.getString("communityId"));
+        unitDto.setRoomUnit(UnitDto.ROOM_UNIT_Y);
+        int count = unitV1InnerServiceSMOImpl.queryUnitsCount(unitDto);
+        if (count > 0) {
+            throw new IllegalArgumentException("请先删除单元 再删除楼栋");
+        }
     }
 
     @Override