Procházet zdrojové kódy

1、楼层可以多选
2、新增时,增加数据重复校验(规则:根据楼栋、楼层、寝室号进行验证重复)

dzx před 1 rokem
rodič
revize
8a65318054

+ 1 - 1
src/main/java/com/xjrsoft/module/room/dto/AddRoomDto.java

@@ -33,7 +33,7 @@ public class AddRoomDto implements Serializable {
     * 楼层
     */
     @ApiModelProperty("楼层")
-    private Integer floorNumber;
+    private String floorNumber;
     /**
     * 入住身份(xjr_dictionary_item[check_in_status])
     */

+ 34 - 22
src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java

@@ -44,29 +44,41 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
         Date createDate = new Date();
         long createUserId = StpUtil.getLoginIdAsLong();
         for (int i = 0; i < dto.getFloorRoomsCount(); i ++){
-            //先添加寝室
-            Room room = BeanUtil.toBean(dto, Room.class);
-            room.setSortCode(maxSortCode + i);
-            room.setCreateDate(createDate);
-            room.setCreateUserId(createUserId);
-            room.setDeleteMark(0);
-            room.setEnabledMark(1);
-            room.setRoomName(dto.getFloorNumber() + String.format("%02d", (i + 1)));
-            roomMapper.insert(room);
+            for (String floorNumber : dto.getFloorNumber().split(",")) {
+                String roomName = floorNumber + String.format("%02d", (i + 1));
+                Map<String, Object> param = new HashMap<>();
+                param.put("room_name", roomName);
+                param.put("floor_number", Integer.parseInt(floorNumber));
+                param.put("office_build_id", dto.getOfficeBuildId());
+                List<Room> rooms = roomMapper.selectByMap(param);
+                if(rooms != null && !rooms.isEmpty()){
+                    continue;
+                }
+                //先添加寝室
+                Room room = BeanUtil.toBean(dto, Room.class);
+                room.setSortCode(maxSortCode + i);
+                room.setFloorNumber(Integer.parseInt(floorNumber));
+                room.setCreateDate(createDate);
+                room.setCreateUserId(createUserId);
+                room.setDeleteMark(0);
+                room.setEnabledMark(1);
+                room.setRoomName(roomName);
+                roomMapper.insert(room);
 
-            Long roomId = room.getId();
-            Integer bedMaxSortCode = roomBedMapper.getMaxSortCode() + 1;
-            //生成床位数据
-            for (int j = 1; j <= dto.getBedCount(); j ++){
-                RoomBed bed = new RoomBed();
-                bed.setRoomId(roomId);
-                bed.setSortCode(bedMaxSortCode + j - 1);
-                bed.setCreateDate(createDate);
-                bed.setCreateUserId(createUserId);
-                bed.setDeleteMark(0);
-                bed.setEnabledMark(1);
-                bed.setBedNumber(j);
-                roomBedMapper.insert(bed);
+                Long roomId = room.getId();
+                Integer bedMaxSortCode = roomBedMapper.getMaxSortCode() + 1;
+                //生成床位数据
+                for (int j = 1; j <= dto.getBedCount(); j ++){
+                    RoomBed bed = new RoomBed();
+                    bed.setRoomId(roomId);
+                    bed.setSortCode(bedMaxSortCode + j - 1);
+                    bed.setCreateDate(createDate);
+                    bed.setCreateUserId(createUserId);
+                    bed.setDeleteMark(0);
+                    bed.setEnabledMark(1);
+                    bed.setBedNumber(j);
+                    roomBedMapper.insert(bed);
+                }
             }
         }
         return true;