ParkingRunningStatisticDaoImpl.java
5.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.zteits.park.dao.impl;
import java.util.Date;
import java.util.List;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.clouds.dto.TurnoverRatioDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.apache.commons.collections4.CollectionUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.park.dto.ParkingRunningStatisticDTO;
import com.zteits.clouds.api.dto.park.dto.TodayVehicleFlowOccupyRateAndTurnOverDTO;
import com.zteits.clouds.api.dto.park.param.ParkingRunningStatisticForPageRequest;
import com.zteits.park.dao.ParkingRunningStatisticDao;
import com.zteits.park.domain.ParkingRunningStatistic;
import com.zteits.park.domain.ParkingRunningStatisticExample;
import com.zteits.park.domain.ParkingRunningStatisticExample.Criteria;
import com.zteits.park.mapper.ParkingRunningStatisticMapper;
import com.zteits.park.mapper.smapper.ParkingRunningStatisticSMapper;
/**
* Copyright: Copyright (c) 2018 zteits
*
* @ClassName: com.zteits.park.dao.impl
* @Description:
* @version: v1.0.0
* @author: atao
* @date: 2018/3/13 下午3:45
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2018/3/13 atao v1.0.0 创建
*/
@Component
public class ParkingRunningStatisticDaoImpl implements ParkingRunningStatisticDao {
@Autowired
private ParkingRunningStatisticSMapper parkingRunningStatisticSMapper;
@Autowired
private ParkingRunningStatisticMapper parkingRunningStatisticMapper;
@Override
public ParkingRunningStatistic queryRecentParkingStatisticData(String plNo, Integer timeCycle, Integer dataSource) {
return parkingRunningStatisticSMapper.queryRecentParkingStatisticData(plNo, timeCycle, dataSource);
}
@Override
public Integer saveParkingRunningStatistic(ParkingRunningStatistic parkingRunningStatistic) {
int num = parkingRunningStatisticMapper.insertSelective(parkingRunningStatistic);
return num;
}
@Override
public List<ParkingRunningStatisticDTO> queryCarFlowChartByDayOrMonth(ParkingRunningStatisticForPageRequest request) {
return parkingRunningStatisticSMapper.queryCarFlowChartByDayOrMonth(request);
}
@Override
public PageInfo<ParkingRunningStatisticDTO> queryCarFlowByTimeTypeForList(ParkingRunningStatisticForPageRequest request) {
// 1.设置分页信息
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<ParkingRunningStatisticDTO> list = parkingRunningStatisticSMapper.queryCarFlowByTimeTypeForList(request);
return new PageInfo<>(list);
}
@Override
public PageInfo<TurnoverRatioDTO> queryTurnoverRatioForTable(ParkingRunningStatisticForPageRequest request) {
// 1.设置分页信息
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<TurnoverRatioDTO> list = parkingRunningStatisticSMapper.queryTurnoverRatioForTable(request);
return new PageInfo<>(list);
}
@Override
public PageInfo<TurnoverRatioDTO> queryTurnoverRatioChart(ParkingRunningStatisticForPageRequest request) {
// 1.设置分页信息
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<TurnoverRatioDTO> list = parkingRunningStatisticSMapper.queryTurnoverRatioChart(request);
return new PageInfo<>(list);
}
@Override
public List<TodayVehicleFlowOccupyRateAndTurnOverDTO> queryTodayVehicleFlowOccupyRateAndTurnOver(Date beginTime,
Date endTime, Integer timeCycle, List<String> plNos) {
return parkingRunningStatisticSMapper.queryTodayVehicleFlowOccupyRateAndTurnOver(beginTime, endTime,
timeCycle, plNos);
}
@Override
public List<TodayVehicleFlowOccupyRateAndTurnOverDTO> queryCurrentOccupyRateAndTurnOver(Date beginTime,
Date endTime, Integer timeCycle, List<String> plNos) {
return parkingRunningStatisticSMapper.queryCurrentOccupyRateAndTurnOver(beginTime, endTime,
timeCycle, plNos);
}
@Override
public PageInfo<ParkingRunningStatistic> queryParkingLotUseStatisticForPage(Date beginTime, Date endTime,
Integer timeCycleType, List<String> plNos, int pageNum, int pageSize) {
// 1.设置分页信息
PageHelper.startPage(pageNum, pageSize);
//2.查询数据
ParkingRunningStatisticExample example = new ParkingRunningStatisticExample();
Criteria sql = example.createCriteria();
sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
if (!CollectionUtils.isEmpty(plNos)) {
sql.andPlNoIn(plNos);
}
if (null != timeCycleType) {
sql.andTimeCycleEqualTo(timeCycleType);
}
sql.andDataSourceEqualTo(10);
if (null != beginTime && null != endTime) {
sql.andStatisticEndTimeBetween(beginTime, endTime);
} else if (null != beginTime) {
sql.andStatisticEndTimeGreaterThanOrEqualTo(beginTime);
} else if (null != endTime) {
sql.andStatisticEndTimeLessThanOrEqualTo(endTime);
}
example.setOrderByClause("statistic_begin_time desc,pl_no asc");
List<ParkingRunningStatistic> list = parkingRunningStatisticMapper.selectByExample(example);
return new PageInfo<>(list);
}
@Override
public Double queryAvgOccUpyRatio(String plNo, Integer timeCycle, Date startTime, Date endTime) {
return parkingRunningStatisticSMapper.queryAvgOccUpyRatio(plNo,timeCycle,startTime,endTime);
}
}