AirPortCar.java
4.0 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.air.model;
import com.air.model.base.BaseAirPortCar;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Page;
@SuppressWarnings("serial")
public class AirPortCar extends BaseAirPortCar<AirPortCar> {
public static final AirPortCar dao = new AirPortCar();
public String table() {
return "WDS_"+getClass().getSimpleName();
}
/**
* 查询
*
* @param page
* 页码
* @param pageNum
* 每页数量
* @param key
* 关键字
* @param isApi
* 是否用于api
*/
public Page<AirPortCar> searchPre(int page, int pageNum, String key, int sysUserId) {
String orderBy = " order by updateTime desc";
StringBuilder sb = new StringBuilder();
String table = table();
sb.append(" from " + table);
sb.append(" where id>0");
if (!StrKit.isBlank(key)) {
// 搜索
sb.append(" and (agentName like '%" + key + "%'");
sb.append(" or driverName like '%" + key + "%'");
sb.append(" or phone like '%" + key + "%'");
sb.append(" or carNo like '%" + key + "%')");
}
sb.append(" and sysUserId=" + sysUserId);
String listSql = sb.toString();
Page<AirPortCar> dataList = AirPortCar.dao.paginate(page, pageNum, "select *", listSql + orderBy);
return dataList;
}
/**
* 查询
*
* @param page
* 页码
* @param pageNum
* 每页数量
* @param key
* 关键字
* @param status
* 车辆进出场状态
* @param stationArea
* 货站区域标识
*/
public Page<AirPortCar> search(int page, int pageNum, String key, AirPortCarStatus status, String stationArea) {
String orderBy = " order by updateTime desc";
if (status != null) {
switch (status) {
case APPLY:
orderBy = " order by applyTime desc";
break;
case ENTER:
orderBy = " order by enterTime desc";
break;
case LEFT:
orderBy = " order by leaveTime desc";
break;
default:
break;
}
}
String listSql = buildListSql(key, status, stationArea);
Page<AirPortCar> dataList = AirPortCar.dao.paginate(page, pageNum, "select *", listSql + orderBy);
return dataList;
}
private String buildListSql(String key, AirPortCarStatus status, String stationArea) {
StringBuilder sb = new StringBuilder();
String table = table();
sb.append(" from " + table);
sb.append(" where id>0");
if (!StrKit.isBlank(key)) {
// 搜索
sb.append(" and (agentName like '%" + key + "%'");
sb.append(" or driverName like '%" + key + "%'");
sb.append(" or phone like '%" + key + "%'");
sb.append(" or carNo like '%" + key + "%')");
}
if (status != null) {
sb.append(" and status=" + status.ordinal());
}
if (stationArea != null) {
sb.append(" and stationArea='" + stationArea + "'");
}
return sb.toString();
}
/**
*
* @param page
* 页码
* @param pageNum
* 每页请求数量
* @param key
* 搜索关键字
* @param portNo
* 码头编号
* @param stationArea
* 货站区域标识
* @param isPickup
* 是否为提货(是否为进港码头)
* @return
*/
public Page<AirPortCar> search(int page, int pageNum, String key, int portNo, String stationArea,
boolean isPickup) {
String orderBy = " order by isStick desc";
StringBuilder sb = new StringBuilder();
String table = table();
sb.append(" from " + table);
sb.append(" where id>0");
if (!StrKit.isBlank(key)) {
// 搜索
sb.append(" and (agentName like '%" + key + "%'");
sb.append(" or driverName like '%" + key + "%'");
sb.append(" or phone like '%" + key + "%'");
sb.append(" or carNo like '%" + key + "%')");
}
sb.append(" and status=" + AirPortCarStatus.ENTER.ordinal());
if (stationArea != null) {
sb.append(" and stationArea='" + stationArea + "'");
}
if (portNo > 0) {
sb.append(" and portNo=" + portNo);
}
sb.append(" and isPickup=" + isPickup);
String listSql = sb.toString();
Page<AirPortCar> dataList = AirPortCar.dao.paginate(page, pageNum, "select *", listSql + orderBy);
return dataList;
}
}