Quellcode durchsuchen

智慧停车控制车位、车位详情修改接口

ZhangManMan vor 2 Jahren
Ursprung
Commit
7e0a68e7d8

+ 3 - 2
src/main/java/com/sky/ioc/controller/security/PersonController.java

@@ -5,6 +5,7 @@ import com.sky.ioc.entity.domain.security.SecurityDoorRecord;
 import com.sky.ioc.entity.params.IocParam;
 import com.sky.ioc.entity.params.security.PersonParam;
 import com.sky.ioc.service.meeting.MeetingRecordService;
+import com.sky.ioc.service.parking.ParkService;
 import com.sky.ioc.service.personnel.PersonnelService;
 import com.sky.ioc.service.security.SecurityDoorRecordService;
 import com.sky.ioc.service.security.SecurityDoorService;
@@ -72,12 +73,12 @@ public class PersonController {
     }
 
     @Autowired
-    MeetingRecordService meetingRecordService;
+    ParkService parkService;
 
     @ApiOperation("")
     @PostMapping("/getData")
     public ReturnMsg getData(){
-        return meetingRecordService.getMeetingRecordList();
+        return parkService.getParkData();
     }
 
 

+ 14 - 0
src/main/java/com/sky/ioc/mapper/ParkMapper.java

@@ -76,4 +76,18 @@ public interface ParkMapper extends BaseMapper<Park> {
     Long pageCount(@Param("parkParam")ParkParam parkParam);
 
 
+    @Select("<script>" +
+            "SELECT parking_numbers,sum(hours) as hours FROM park where 1=1 " +
+            "<if test='iocParam!=null and iocParam.companyId != null '>" +
+            " and company_id=#{iocParam.companyId} " +
+            "</if>"+
+            "<if test='iocParam!=null '>" +
+            " <![CDATA[ and departure_time > #{iocParam.timeRange.startDate} and departure_time < #{iocParam.timeRange.endDate} ]]>" +
+            "</if>"+
+            " GROUP BY parking_numbers ORDER BY hours" +
+            "</script>")
+    List<Park> getVacantList(@Param("iocParam") IocParam iocParam);
+
+
+
 }

+ 7 - 2
src/main/java/com/sky/ioc/service/parking/impl/ParkServiceImpl.java

@@ -7,6 +7,7 @@ import com.sky.ioc.entity.domain.space.Department;
 import com.sky.ioc.entity.params.scene.ParkParam;
 import com.sky.ioc.mapper.ParkMapper;
 import com.sky.ioc.service.parking.ParkService;
+import com.sky.ioc.tool.DateUtil;
 import com.sky.ioc.tool.ReturnMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +35,7 @@ public class ParkServiceImpl implements ParkService {
 
     @Override
     public ReturnMsg getParkData() {
-        String url = restTemplateConfig.addBaseUrl(PARK_URL);
+        String url = restTemplateConfig.addBaseUrl(PARK_URL+"?pageNum=1&pageSize=1000");
 
         RestTemplate restTemplate = restTemplateConfig.build();
         // 发送GET请求
@@ -58,13 +59,17 @@ public class ParkServiceImpl implements ParkService {
                     park.setEntryTime(String.valueOf(json.get("inParkTime")));
                     park.setLicencePlate(String.valueOf(json.get("illegalCardnumber")));
                     park.setDepartureTime(String.valueOf(json.get("outParkTime")));
+                    if(json.get("outParkTime")!=null){
+                        Long hours = DateUtil.hoursBetween(String.valueOf(json.get("inParkTime")),String.valueOf(json.get("outParkTime")));
+                        park.setHours(hours);
+                    }
                     park.setType(Integer.parseInt(String.valueOf(json.get("ifIllegal"))));
                     parkMapper.insert(park);
                 }
             }
             return ReturnMsg.ok();
         }else{
-            log.info("获取车数据:"+message);
+            log.info("获取车数据:"+message);
             return  ReturnMsg.fail(message);
         }
     }

+ 15 - 22
src/main/java/com/sky/ioc/service/parking/impl/ParkingServiceImpl.java

@@ -9,6 +9,7 @@ import com.sky.ioc.entity.Label;
 import com.sky.ioc.entity.domain.parking.IllegalParking;
 import com.sky.ioc.entity.domain.parking.Park;
 import com.sky.ioc.entity.domain.parking.Parking;
+import com.sky.ioc.entity.domain.space.BuildingRoom;
 import com.sky.ioc.entity.params.IocParam;
 import com.sky.ioc.entity.params.IocTimeRange;
 import com.sky.ioc.mapper.IllegalParkingMapper;
@@ -95,8 +96,8 @@ public class ParkingServiceImpl implements ParkingService {
         objects.get(2).put("value",total);
         objects.get(2).put("compare",-compare);
 
-        objects.get(3).put("value",unParking);
-        objects.get(3).put("compare",compare);
+        objects.get(3).put("value",80);
+        objects.get(3).put("compare",1);
         indeicator.setWorthAttention("⼀⻋⼀位不乱停");
         indeicator.setList(objects);
         return ReturnMsg.ok(indeicator);
@@ -133,26 +134,18 @@ public class ParkingServiceImpl implements ParkingService {
 
     @Override
     public ReturnMsg getVacantParkingSpace(IocParam iocParam) {
-        List<Parking> list = parkingMapper.getVacancyList(iocParam);
-
-        for(int i=0;i< list.size();i++){
-            Parking parking = list.get(i);
+        List<Park> lists = parkMapper.getVacantList(iocParam);
+       // List<String> numbers = lists.stream().map(Park::getParkingNumbers).collect(Collectors.toList());
+        List<Parking> list = new ArrayList<>();
+        for(int i=0;i< lists.size();i++){
+            Park park = lists.get(i);
+            Parking parking = parkingMapper.selectOne(new LambdaQueryWrapper<Parking>().eq(Parking::getParkingNumbers,park.getParkingNumbers()));
             parking.setCompany("北京电信规划设计院");
-            List<Park> lists = parkMapper.selectList(new LambdaQueryWrapper<Park>().eq(Park::getParkingNumbers,parking.getParkingNumbers()));
-            //int totalHours = 0;
-            for(int j =0;j<lists.size();j++){
-                Park park = lists.get(j);
-                if(lists.get(j).getDepartureTime()!=null&&!lists.get(j).getDepartureTime().equals("null")){
-                    long hours =  DateUtil.hoursBetween(lists.get(j).getEntryTime(),lists.get(j).getDepartureTime());
-                    park.setHours(hours);
-                  //  totalHours+=hours;
-                }else{
-                    park.setHours(0l);
-                }
-            }
-            List<Park> lists1 = lists.stream().sorted(Comparator.comparing(Park::getHours)).collect(Collectors.toList());
-            parking.setPrkingDurationLong(lists1.get(lists1.size()-1).getHours()+"h");
-            parking.setPrkingDurationBreak(lists1.get(0).getHours()+"h");
+            String startTime = iocParam.getTimeRange().getStartDate().replace("/","-")+" 00:00:00";
+            String endTime = iocParam.getTimeRange().getEndDate().replace("/","-")+" 23:59:00";
+            long hours = DateUtil.hoursBetween(startTime,endTime);
+            parking.setPrkingDurationLong(hours-park.getHours()+"h");
+            list.add(parking);
 
         }
         return ReturnMsg.ok(list);
@@ -170,7 +163,7 @@ public class ParkingServiceImpl implements ParkingService {
             }
             parking.setPeople(persons[flag]);
             parking.setCompany("北京电信规划设计院");
-            parking.setPosition(parking.getPosition()+"-"+parking.getParkingNumbers());
+            parking.setPosition(parking.getPosition());
             List<Park> lists = parkMapper.selectList(new LambdaQueryWrapper<Park>().eq(Park::getParkingNumbers,parking.getParkingNumbers()));
             int totalHours = 0;
             for(int j =0;j<lists.size();j++){