Browse Source

添加批量开电,关电接口,批量关电下拉框,开电下拉框

liu 1 year ago
parent
commit
a05df0270c

+ 15 - 7
src/main/java/com/template/api/HouseNumberStateAPI.java

@@ -112,13 +112,21 @@ public interface HouseNumberStateAPI {
     @ApiOperation(value = "房态管理-取消维修", notes = "房态管理-取消维修", httpMethod = "POST")
     CommonResult cancelMaintain(@RequestBody CancelMaintainDto cancelMaintainDto);
 
-//    @GetMapping("/dirtyDropDownShow")
-//    @ApiOperation(value = "房态管理-脏房下拉框", notes = "房态管理-入住回显", httpMethod = "GET")
-//    CommonResult dirtyDropDownShow();
-//
-//    @GetMapping("/lockDropDownShow")
-//    @ApiOperation(value = "房态管理-锁房下拉框", notes = "房态管理-入住回显", httpMethod = "GET")
-//    CommonResult lockDropDownShow();
+    @GetMapping("/shutDropDownShow")
+    @ApiOperation(value = "房态管理-关电下拉框", notes = "房态管理-关电下拉框", httpMethod = "GET")
+    CommonResult shutDropDownShow();
 
+    @GetMapping("/openDropDownShow")
+    @ApiOperation(value = "房态管理-开电下拉框", notes = "房态管理-开电下拉框", httpMethod = "GET")
+    CommonResult openDropDownShow();
+
+
+    @PostMapping("/shutRooms")
+    @ApiOperation(value = "房态管理-批量关电", notes = "房批量关电", httpMethod = "POST")
+    CommonResult shutRooms(@RequestBody LockRoomDtos dtos);
+
+    @PostMapping("/openERooms")
+    @ApiOperation(value = "房态管理-批量开电", notes = "房态管理-批量开电", httpMethod = "POST")
+    CommonResult openERooms(@RequestBody OpenRoomsDto openRoomsDto);
 
 }

+ 152 - 5
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -878,9 +878,9 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
             HouseLock houseLock = houseLockService.getOne(wrapperHl);
             if (ObjectUtils.isEmpty(houseLock)) {
-                return CommonResult.fail("请先绑定设备");
+                return CommonResult.fail("请先绑定门锁设备");
             }
-            String equipmentState = houseLock.getEquipmentState();
+            String equipmentState = houseLock.getEquipmentType();
 
             //      修改房间状态
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
@@ -1169,7 +1169,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
             wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
             HouseLock houseLock = houseLockService.getOne(wrapperHl);
-            String equipmentState = houseLock.getEquipmentState();
+            String equipmentState = houseLock.getEquipmentType();
 
 //            入住人id
             String liveUsersId = houseOrder.getLiveUsersId();
@@ -1725,14 +1725,26 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         LocalDateTime start = LocalDateTime.parse(startTime, dateTimeFormatter1);
+
+        start=start.withSecond(0).withMinute(0);
         LocalDateTime end = start.plusHours(liveTime);
         String endTime = end.format(dateTimeFormatter1);
         String[] split = hourTime.split(",");
         ArrayList<ReserveDayVo> reserveDayVos = new ArrayList<>();
         for (int i = 0; i < 13; i++) {
+            LocalDateTime localDateTime=null;
+            LocalDateTime localDateTime2 =null;
+            if (i==0) {
+                localDateTime=LocalDateTime.now();
+                localDateTime2 = localDateTime.plusHours(liveTime);
+            }else {
+                localDateTime = start.plusDays(i);
+                localDateTime2 = end.plusHours(i);
+            }
+
             ReserveDayVo reserveDayVo = new ReserveDayVo();
-            LocalDateTime localDateTime = start.plusHours(i);
-            LocalDateTime localDateTime2 = end.plusHours(i);
+//            LocalDateTime localDateTime = start.plusHours(i);
+//            LocalDateTime localDateTime2 = end.plusHours(i);
             String format = localDateTime.format(dateTimeFormatter1);
             String format2 = localDateTime2.format(dateTimeFormatter1);
             reserveDayVo.setDate(format + "至" + format2);
@@ -1950,6 +1962,141 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         return CommonResult.ok();
     }
 
+    @Override
+    public CommonResult shutDropDownShow() {
+        List<House> houses = houseService.list(new LambdaQueryWrapper<>());
+        Date date = new Date();
+//        获取已被订阅的房间
+        List<Integer> ids = houseNumberService.getNumberState(date);
+//        查询所有房间
+        List<HouseNumber> houseNumberList = houseNumberService.list(new LambdaQueryWrapper<>());
+
+        //        重新组合没有使用过的房间
+        ArrayList<HouseNumber> list = new ArrayList<>();
+        for (HouseNumber houseNumber : houseNumberList) {
+            Integer houseNumberId = houseNumber.getId();
+            if (!ids.stream().anyMatch(id -> id.equals(houseNumberId))) {
+                list.add(houseNumber);
+            }
+        }
+
+        String houseNumberIds = "";
+        for (int i = 0; i < list.size(); i++) {
+            HouseNumber number = list.get(i);
+
+            String id = number.getId() + "";
+            if (i == 0) {
+                houseNumberIds = id;
+            } else {
+                houseNumberIds = houseNumberIds + "," + id;
+            }
+        }
+
+
+        List<FreeVo> freeVos = houseNumberService.shutDropDownShow(houseNumberIds);
+
+        ArrayList<FreeDropDownShowVo> vos = new ArrayList<>();
+        for (int i = 0; i < houses.size(); i++) {
+            House house = houses.get(i);
+            Integer id = house.getId();
+            FreeDropDownShowVo vo = new FreeDropDownShowVo();
+            vo.setId(id+1000000);
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<FreeVo> ownerClasses = freeVos.stream().filter(e -> e.getHouseId().equals(id+ "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
+        return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult openDropDownShow() {
+        List<House> houses = houseService.list(new LambdaQueryWrapper<>());
+        Date date = new Date();
+//        获取已被订阅的房间
+        List<Integer> ids = houseNumberService.getNumberState(date);
+//        查询所有房间
+        List<HouseNumber> houseNumberList = houseNumberService.list(new LambdaQueryWrapper<>());
+
+        //        重新组合没有使用过的房间
+        ArrayList<HouseNumber> list = new ArrayList<>();
+        for (HouseNumber houseNumber : houseNumberList) {
+            Integer houseNumberId = houseNumber.getId();
+            if (!ids.stream().anyMatch(id -> id.equals(houseNumberId))) {
+                list.add(houseNumber);
+            }
+        }
+
+        String houseNumberIds = "";
+        for (int i = 0; i < list.size(); i++) {
+            HouseNumber number = list.get(i);
+
+            String id = number.getId() + "";
+            if (i == 0) {
+                houseNumberIds = id;
+            } else {
+                houseNumberIds = houseNumberIds + "," + id;
+            }
+        }
+
+
+        List<FreeVo> freeVos = houseNumberService.opneDropDownShow(houseNumberIds);
+
+        ArrayList<FreeDropDownShowVo> vos = new ArrayList<>();
+        for (int i = 0; i < houses.size(); i++) {
+            House house = houses.get(i);
+            Integer id = house.getId();
+            FreeDropDownShowVo vo = new FreeDropDownShowVo();
+            vo.setId(id+1000000);
+            vo.setName(house.getRoomName());
+            vo.setRoomType(house.getRoomType());
+            List<FreeVo> ownerClasses = freeVos.stream().filter(e -> e.getHouseId().equals(id+ "")).collect(Collectors.toList());
+            if (ownerClasses != null && ownerClasses.size() > 0) {
+                vo.setVos(ownerClasses);
+            }
+            vos.add(vo);
+        }
+        return CommonResult.ok(vos);
+    }
+
+    @Override
+    public CommonResult shutRooms(LockRoomDtos dtos) {
+        List<String> houseNumberIds = dtos.getHouseNumberIds();
+
+        ArrayList<HouseNumber> list = new ArrayList<>();
+        for (String houseNumberId : houseNumberIds) {
+            HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
+//        关电
+            houseNumber.setElectricType("2");
+//        关电
+            electricEquipmentService.closeMeterControl(houseNumber.getElectricEquipmentId());
+            list.add(houseNumber);
+        }
+        houseNumberService.updateBatchById(list);
+
+        return CommonResult.ok();
+
+    }
+
+    @Override
+    public CommonResult openERooms(OpenRoomsDto openRoomsDto) {
+        List<String> houseNumberIds = openRoomsDto.getHouseNumberIds();
+        ArrayList<HouseNumber> list = new ArrayList<>();
+        for (String houseNumberId : houseNumberIds) {
+            HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
+//            开电
+            electricEquipmentService.openMeterControl(houseNumber.getElectricEquipmentId());
+            houseNumber.setElectricType("1");
+            list.add(houseNumber);
+        }
+        houseNumberService.updateBatchById(list);
+
+        return CommonResult.ok();
+    }
+
 
 }
 

+ 4 - 4
src/main/java/com/template/controller/HouseOrderController.java

@@ -787,7 +787,7 @@ public class HouseOrderController implements HouseOrderAPI {
             LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
             wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
             HouseLock houseLock = houseLockService.getOne(wrapperHl);
-            String equipmentState = houseLock.getEquipmentState();
+            String equipmentState = houseLock.getEquipmentType();
 
             //      修改房间状态
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
@@ -1158,7 +1158,7 @@ public class HouseOrderController implements HouseOrderAPI {
             LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
             wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
             HouseLock houseLock = houseLockService.getOne(wrapperHl);
-            String equipmentState = houseLock.getEquipmentState();
+            String equipment = houseLock.getEquipmentType();
 
 //            入住人id
             String liveUsersId = houseOrder.getLiveUsersId();
@@ -1201,7 +1201,7 @@ public class HouseOrderController implements HouseOrderAPI {
             } else if ("2".equals(lockStatus)) {
                 CardInfoDto cid = new CardInfoDto();
                 cid.setCard(users.getIdCardInformation());
-                cid.setLuid(equipmentState);
+                cid.setLuid(equipment);
                 cid.setCardType(1);
                 cid.setStartTime(String.valueOf(liveTime.getTime()));
                 //            结束时间
@@ -1217,7 +1217,7 @@ public class HouseOrderController implements HouseOrderAPI {
                 operatingRecord.setType("添加卡片钥匙");
             } else if ("3".equals(lockStatus)) {
                 FingerprintDataDto fd = new FingerprintDataDto();
-                fd.setLuid(equipmentState);
+                fd.setLuid(equipment);
                 fd.setHouseNumberId(houseNumberId);
                 fd.setOrderNumber(houseOrder.getOrderNumber());
                 fd.setStartTime(String.valueOf(liveTime.getTime()));

+ 5 - 9
src/main/java/com/template/controller/PasswordIssController.java

@@ -3,7 +3,6 @@ package com.template.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.template.api.UnlockingAdminControllerAPI;
 import com.template.common.utils.AesUtils;
 import com.template.common.utils.HttpClientHelper;
 import com.template.common.utils.MD5;
@@ -12,11 +11,8 @@ import com.template.model.dto.*;
 import com.template.model.enumModel.PasswordUrlEnum;
 import com.template.model.pojo.Unlocking;
 import com.template.model.pojo.UnlockingAdmin;
-import org.apache.ibatis.annotations.Param;
-import org.apache.poi.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
@@ -34,7 +30,7 @@ public class PasswordIssController {
     DoorLockConfig doorLockConfig;
 
 
-    //    @Scheduled(cron = "0 0/1 * * * ?")
+//        @Scheduled(cron = "0 0/1 * * * ?")
     public void test() {
 //        密码下发,后续需通过luid(设备id)通过aes解码
         HashMap<String, Object> map = new HashMap<>();
@@ -177,7 +173,7 @@ public class PasswordIssController {
             String start = sdf.format(Long.valueOf(ciq.getStartTime()));
             String end = sdf.format(Long.valueOf(ciq.getEndTime()));
             unlocking.setStartTime(start);
-            unlocking.setStartTime(end);
+            unlocking.setEndTime(end);
             unlocking.setTyep("4");
 
 
@@ -219,7 +215,7 @@ public class PasswordIssController {
             String start = sdf.format(Long.valueOf(fd.getStartTime()));
             String end = sdf.format(Long.valueOf(fd.getEndTime()));
             unlocking.setStartTime(start);
-            unlocking.setStartTime(end);
+            unlocking.setEndTime(end);
             unlocking.setTyep("4");
 
 
@@ -265,7 +261,7 @@ public class PasswordIssController {
             String start = sdf.format(Long.valueOf(pr.getStartTime()));
             String end = sdf.format(Long.valueOf(pr.getEndTime()));
             unlocking.setStartTime(start);
-            unlocking.setStartTime(end);
+            unlocking.setEndTime(end);
             unlocking.setTyep("4");
 
             return unlocking;

+ 5 - 0
src/main/java/com/template/mapper/HouseNumberMapper.java

@@ -40,4 +40,9 @@ public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
     List<FreeVo> dirtyDropDownShow();
 
     List<FreeVo> lockDropDownShow(@Param("date") Date date);
+
+    List<FreeVo> shutDropDownShow(String houseNumberIds);
+
+    List<FreeVo> openDropDownShow(String houseNumberIds);
+
 }

+ 4 - 0
src/main/java/com/template/services/HouseNumberService.java

@@ -35,4 +35,8 @@ public interface HouseNumberService extends IService<HouseNumber> {
     List<FreeVo> dirtyDropDownShow();
 
     List<FreeVo> lockDropDownShow(Date date);
+
+    List<FreeVo> shutDropDownShow(String houseNumberIds);
+
+    List<FreeVo> opneDropDownShow(String houseNumberIds);
 }

+ 10 - 0
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -73,5 +73,15 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
         return houseNumberMapper.lockDropDownShow(date);
     }
 
+    @Override
+    public List<FreeVo> shutDropDownShow(String houseNumberIds) {
+        return houseNumberMapper.shutDropDownShow(houseNumberIds);
+    }
+
+    @Override
+    public List<FreeVo> opneDropDownShow(String houseNumberIds) {
+        return houseNumberMapper.openDropDownShow(houseNumberIds);
+    }
+
 
 }

+ 34 - 0
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -166,5 +166,39 @@
 
     </select>
 
+    <select id="shutDropDownShow" resultType="com.template.model.vo.FreeVo">
+        SELECT
+            hn.id ,
+            hn.house_id as houseId,
+            hn.room_number as roomNumber,
+            hn.house_status as houseStatus,
+            h.room_type as roomType
+        FROM
+            `house_number` hn
+                LEFT JOIN house h ON h.id = hn.house_id
+                AND h.deleted = 0
+        WHERE hn.deleted=0
+          AND FIND_IN_SET(hn.id,#{houseNumberIds})
+          AND hn.house_status=1
+          AND hn.electric_type=1
+
+    </select>
+    <select id="openDropDownShow" resultType="com.template.model.vo.FreeVo">
+        SELECT
+            hn.id ,
+            hn.house_id as houseId,
+            hn.room_number as roomNumber,
+            hn.house_status as houseStatus,
+            h.room_type as roomType
+        FROM
+            `house_number` hn
+                LEFT JOIN house h ON h.id = hn.house_id
+                AND h.deleted = 0
+        WHERE hn.deleted=0
+          AND FIND_IN_SET(hn.id,#{houseNumberIds})
+          AND hn.house_status=1
+          AND hn.electric_type=2
+    </select>
+
 
 </mapper>