增加外部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){
|
public void checkSearchParams(JSONObject search){
|
||||||
if(search != null) {
|
if(search != null) {
|
||||||
String parentId = search.getString("sl_d.parentid");
|
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;
|
else isJoinQuery=false;
|
||||||
}
|
}
|
||||||
@ -149,7 +151,8 @@ public class GnssCalcDataController extends BasicController implements CommonExc
|
|||||||
isJoinQuery=false;
|
isJoinQuery=false;
|
||||||
if(enu != null) {
|
if(enu != null) {
|
||||||
while (enu.hasMoreElements()) {
|
while (enu.hasMoreElements()) {
|
||||||
if(enu.nextElement().contains("d.parentid")){
|
if(enu.nextElement().contains("d.parentid") ||
|
||||||
|
enu.nextElement().contains("d.project_id")){
|
||||||
isJoinQuery = true;
|
isJoinQuery = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<label class="layui-form-label">所属项目</label>
|
<label class="layui-form-label">所属项目</label>
|
||||||
<div class="layui-input-inline">
|
<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 value="">全部</option>
|
||||||
<option th:each="item : ${project_list}" th:text="${item.project_id}" th:value="${item.project_id}"></option>
|
<option th:each="item : ${project_list}" th:text="${item.project_id}" th:value="${item.project_id}"></option>
|
||||||
</select>
|
</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.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -24,15 +25,19 @@ public class GnssDataApi {
|
|||||||
final Logger logger = LoggerFactory.getLogger(GnssDataApi.class);
|
final Logger logger = LoggerFactory.getLogger(GnssDataApi.class);
|
||||||
|
|
||||||
@GetMapping(value = "/gnss/data")
|
@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) {
|
String beginDate, String endDate, Integer pageSize, String sortType) {
|
||||||
|
Integer tenantId = (Integer) request.getAttribute("tenantId");
|
||||||
MPJQueryWrapper queryWrapper = new MPJQueryWrapper<GnssCalcData>()
|
MPJQueryWrapper queryWrapper = new MPJQueryWrapper<GnssCalcData>()
|
||||||
.selectAll(GnssCalcData.class);
|
.selectAll(GnssCalcData.class);
|
||||||
|
queryWrapper.eq("t.tenantid",tenantId);
|
||||||
if(StrUtil.isBlank(deviceId)){
|
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 {
|
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");
|
queryWrapper.isNotNull("rpose");
|
||||||
@ -42,14 +47,16 @@ public class GnssDataApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!StrUtil.isBlank(endDate)){
|
if(!StrUtil.isBlank(endDate)){
|
||||||
queryWrapper.ge("t.createtime",endDate);
|
queryWrapper.le("t.createtime",endDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean isAsc=true;
|
||||||
if(StrUtil.isBlank(sortType) || sortType.equals("asc")){
|
if(StrUtil.isBlank(sortType) || sortType.equals("asc")){
|
||||||
queryWrapper.orderByAsc("t.createtime");
|
queryWrapper.orderByAsc("t.createtime");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
queryWrapper.orderByDesc("t.createtime");
|
queryWrapper.orderByDesc("t.createtime");
|
||||||
|
isAsc=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pageSize!=null){
|
if(pageSize!=null){
|
||||||
@ -64,18 +71,37 @@ public class GnssDataApi {
|
|||||||
GnssQueryResponse gnssResponse = new GnssQueryResponse();
|
GnssQueryResponse gnssResponse = new GnssQueryResponse();
|
||||||
LocalDateTime lastRecordTime = null;
|
LocalDateTime lastRecordTime = null;
|
||||||
gnssResponse.OK();
|
gnssResponse.OK();
|
||||||
for(GnssCalcData data: dataList){
|
|
||||||
LocalDateTime recordTime = data.getCreatetime();
|
if(isAsc) {
|
||||||
if(lastRecordTime == null) lastRecordTime=recordTime;
|
for (GnssCalcData data : dataList) {
|
||||||
if(lastRecordTime.isBefore(recordTime) || lastRecordTime.isEqual(recordTime)) {
|
LocalDateTime recordTime = data.getCreatetime();
|
||||||
GnssQueryResponse.GnssData gnssData = new GnssQueryResponse.GnssData();
|
if (lastRecordTime == null) lastRecordTime = recordTime;
|
||||||
gnssData.setDeviceId(data.getDeviceid());
|
if (lastRecordTime.isBefore(recordTime) || lastRecordTime.isEqual(recordTime)) {
|
||||||
gnssData.setCreateTime(data.getCreatetime().format(formatter));
|
GnssQueryResponse.GnssData gnssData = new GnssQueryResponse.GnssData();
|
||||||
gnssData.setRpose(data.getRpose());
|
gnssData.setDeviceId(data.getDeviceid());
|
||||||
gnssData.setRposn(data.getRposn());
|
gnssData.setCreateTime(data.getCreatetime().format(formatter));
|
||||||
gnssData.setRposu(data.getRposd());
|
gnssData.setRpose(data.getRpose());
|
||||||
gnssResponse.getData().add(gnssData);
|
gnssData.setRposn(data.getRposn());
|
||||||
lastRecordTime = recordTime.plusMinutes(30);
|
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