增加外部API接口
This commit is contained in:
parent
9f1554da93
commit
aeb9b1a933
@ -140,7 +140,9 @@ public class GnssCalcDataController extends BasicController implements CommonExc
|
||||
public void checkSearchParams(JSONObject search){
|
||||
if(search != null) {
|
||||
String parentId = search.getString("sl_d.parentid");
|
||||
isJoinQuery = (parentId != null && StringUtils.hasText(parentId));
|
||||
String projectId = search.getString("sl_d.project_id");
|
||||
isJoinQuery = (parentId != null && StringUtils.hasText(parentId)) ||
|
||||
(projectId != null && StringUtils.hasText(projectId));
|
||||
}
|
||||
else isJoinQuery=false;
|
||||
}
|
||||
@ -149,7 +151,8 @@ public class GnssCalcDataController extends BasicController implements CommonExc
|
||||
isJoinQuery=false;
|
||||
if(enu != null) {
|
||||
while (enu.hasMoreElements()) {
|
||||
if(enu.nextElement().contains("d.parentid")){
|
||||
if(enu.nextElement().contains("d.parentid") ||
|
||||
enu.nextElement().contains("d.project_id")){
|
||||
isJoinQuery = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">所属项目</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="project_id" id="projectid" lay-search="" lay-filter="project">
|
||||
<select name="sl_d.project_id" id="projectid" lay-search="" lay-filter="project">
|
||||
<option value="">全部</option>
|
||||
<option th:each="item : ${project_list}" th:text="${item.project_id}" th:value="${item.project_id}"></option>
|
||||
</select>
|
||||
|
||||
@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
@ -24,15 +25,19 @@ public class GnssDataApi {
|
||||
final Logger logger = LoggerFactory.getLogger(GnssDataApi.class);
|
||||
|
||||
@GetMapping(value = "/gnss/data")
|
||||
public String query(String projectName, String deviceId,
|
||||
public String query(HttpServletRequest request, String projectName, String deviceId,
|
||||
String beginDate, String endDate, Integer pageSize, String sortType) {
|
||||
Integer tenantId = (Integer) request.getAttribute("tenantId");
|
||||
MPJQueryWrapper queryWrapper = new MPJQueryWrapper<GnssCalcData>()
|
||||
.selectAll(GnssCalcData.class);
|
||||
queryWrapper.eq("t.tenantid",tenantId);
|
||||
if(StrUtil.isBlank(deviceId)){
|
||||
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid AND d.project_id="+projectName);
|
||||
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid");
|
||||
queryWrapper.eq("d.project_id",projectName);
|
||||
}
|
||||
else {
|
||||
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid AND t.deviceid="+deviceId);
|
||||
queryWrapper.leftJoin("gnssdevices d on t.deviceid=d.deviceid");
|
||||
queryWrapper.eq("t.deviceid",deviceId);
|
||||
}
|
||||
|
||||
queryWrapper.isNotNull("rpose");
|
||||
@ -42,14 +47,16 @@ public class GnssDataApi {
|
||||
}
|
||||
|
||||
if(!StrUtil.isBlank(endDate)){
|
||||
queryWrapper.ge("t.createtime",endDate);
|
||||
queryWrapper.le("t.createtime",endDate);
|
||||
}
|
||||
|
||||
boolean isAsc=true;
|
||||
if(StrUtil.isBlank(sortType) || sortType.equals("asc")){
|
||||
queryWrapper.orderByAsc("t.createtime");
|
||||
}
|
||||
else{
|
||||
queryWrapper.orderByDesc("t.createtime");
|
||||
isAsc=false;
|
||||
}
|
||||
|
||||
if(pageSize!=null){
|
||||
@ -64,18 +71,37 @@ public class GnssDataApi {
|
||||
GnssQueryResponse gnssResponse = new GnssQueryResponse();
|
||||
LocalDateTime lastRecordTime = null;
|
||||
gnssResponse.OK();
|
||||
for(GnssCalcData data: dataList){
|
||||
LocalDateTime recordTime = data.getCreatetime();
|
||||
if(lastRecordTime == null) lastRecordTime=recordTime;
|
||||
if(lastRecordTime.isBefore(recordTime) || lastRecordTime.isEqual(recordTime)) {
|
||||
GnssQueryResponse.GnssData gnssData = new GnssQueryResponse.GnssData();
|
||||
gnssData.setDeviceId(data.getDeviceid());
|
||||
gnssData.setCreateTime(data.getCreatetime().format(formatter));
|
||||
gnssData.setRpose(data.getRpose());
|
||||
gnssData.setRposn(data.getRposn());
|
||||
gnssData.setRposu(data.getRposd());
|
||||
gnssResponse.getData().add(gnssData);
|
||||
lastRecordTime = recordTime.plusMinutes(30);
|
||||
|
||||
if(isAsc) {
|
||||
for (GnssCalcData data : dataList) {
|
||||
LocalDateTime recordTime = data.getCreatetime();
|
||||
if (lastRecordTime == null) lastRecordTime = recordTime;
|
||||
if (lastRecordTime.isBefore(recordTime) || lastRecordTime.isEqual(recordTime)) {
|
||||
GnssQueryResponse.GnssData gnssData = new GnssQueryResponse.GnssData();
|
||||
gnssData.setDeviceId(data.getDeviceid());
|
||||
gnssData.setCreateTime(data.getCreatetime().format(formatter));
|
||||
gnssData.setRpose(data.getRpose());
|
||||
gnssData.setRposn(data.getRposn());
|
||||
gnssData.setRposu(data.getRposd());
|
||||
gnssResponse.getData().add(gnssData);
|
||||
lastRecordTime = recordTime.plusMinutes(30);
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
for (GnssCalcData data : dataList) {
|
||||
LocalDateTime recordTime = data.getCreatetime();
|
||||
if (lastRecordTime == null) lastRecordTime = recordTime;
|
||||
if (lastRecordTime.isAfter(recordTime) || lastRecordTime.isEqual(recordTime)) {
|
||||
GnssQueryResponse.GnssData gnssData = new GnssQueryResponse.GnssData();
|
||||
gnssData.setDeviceId(data.getDeviceid());
|
||||
gnssData.setCreateTime(data.getCreatetime().format(formatter));
|
||||
gnssData.setRpose(data.getRpose());
|
||||
gnssData.setRposn(data.getRposn());
|
||||
gnssData.setRposu(data.getRposd());
|
||||
gnssResponse.getData().add(gnssData);
|
||||
lastRecordTime = recordTime.minusMinutes(30);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user