VehicleInoutStopServiceImpl.java
3.53 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
package com.bsth.service.traffic.impl;
import com.bsth.entity.traffic.VehicleInoutStop;
import com.bsth.service.impl.BaseServiceImpl;
import com.bsth.service.impl.TrafficManageServiceImpl;
import com.bsth.service.traffic.VehicleInoutStopService;
import com.bsth.util.DateUtils;
import com.bsth.util.db.DBUtils_MS;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
*
* @ClassName: TrafficManageServiceImpl(运管处接口service业务层实现类)
*
* @Extends : BaseService
*
* @Description:
*
* @Author bsth@zq
*
* @Date 2016年10月28日 上午9:21:17
*
* @Version 公交调度系统BS版 0.1
*
*/
@Service
public class VehicleInoutStopServiceImpl extends BaseServiceImpl<VehicleInoutStop,Integer> implements VehicleInoutStopService {
Logger logger = LoggerFactory.getLogger(TrafficManageServiceImpl.class);
/**
* 拼装sql
* @param map
* @param flag
* @return
*/
private String packageParam(Map<String,Object> map,String flag){
StringBuffer sql = new StringBuffer(" where 1 = 1 ");
String lineId = map.get("lineId")+"";
String insideCode = map.get("insideCode")+"";
String carPlate = map.get("carPlate")+"";
String reportDate_start = map.get("reportDate_start")+"";
String reportDate_end = map.get("reportDate_end")+"";
int page = Integer.valueOf(map.get("page")+"");
int size = Integer.valueOf(map.get("size")+"");
String order = " order by report_date asc"+ " LIMIT "+page*size+","+size;
int dayNum = DateUtils.calcDaynumberInYear(reportDate_start.substring(0,8)) -1;
if(!lineId.equals("")){
sql.append(" and line_id = ").append(lineId);
}
if(!insideCode.equals("")){
sql.append(" and inside_code = ").append("'").append(insideCode.toUpperCase()).append("'");
}
if(!carPlate.equals("")){
sql.append(" and car_plate = ").append("'").append(carPlate).append("'");
}
sql.append(" and FROM_UNIXTIME(REPORT_DATE/1000,'%Y%m%d%H') between '").append(reportDate_start).
append("' and '").append(reportDate_end).append("'").append(" and day_year = ").append(dayNum);
if(flag.equals("count")){
return sql.toString();
}else{
return sql + order;
}
}
/**
* 给定条件查车载上报停靠站
* @param map
* @return
*/
public List<Map<String, Object>> getVehicleInoutStopByParam(Map<String,Object> map){
JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource());
String sql = "SELECT branche_company,company,name,shanghai_linecode,inside_code,equipment_code,car_plate," +
"if( service_state= 0,'营运','停运') as service_state ," +
"if( up_down= 0,'上行','下行') as up_down ," +
"if( in_out_stop= 0,'站内','站外') as in_out_stop , " +
"stop,report_date FROM bsth_c_shreal " + packageParam(map,"") ;
logger.info("车载上报停靠站查询sql:",sql);
List<Map<String, Object>> result = jdbcTemp.queryForList(sql);
return result;
}
/**
* 给定条件查车载上报停靠站的记录数
* @param map
* @return
*/
public long getVehicleInoutStopCountByParam(Map<String,Object> map){
JdbcTemplate jdbcTemp = new JdbcTemplate(DBUtils_MS.getDataSource());
String sql = "SELECT count(1) COUNT FROM bsth_c_shreal" + packageParam(map,"count");
long result = Long.valueOf(jdbcTemp.queryForMap(sql).get("COUNT")+"");
return result;
}
}