Commit bf136da7 authored by zhuangzhuang's avatar zhuangzhuang

6.13--优化数据查询,修改车辆bug,优化线路查询,增加首页仓库位置返回

parent 5c662b43
package com.example.tdl.domain.vo;
public class AddCarVo {
private String carNo;
private String type;
private String img;
private String companyNo;
private String remark;
public String getCarNo() {
return carNo;
}
public void setCarNo(String carNo) {
this.carNo = carNo;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public String getCompanyNo() {
return companyNo;
}
public void setCompanyNo(String companyNo) {
this.companyNo = companyNo;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
...@@ -19,6 +19,8 @@ public class HomePageDataVo { ...@@ -19,6 +19,8 @@ public class HomePageDataVo {
private List<CircuitVo> circuitList; private List<CircuitVo> circuitList;
private List<ResultWarehouseVo> warehouseVoList;
private List<HistogramData> histogramDataList; private List<HistogramData> histogramDataList;
public Integer getSum() { public Integer getSum() {
...@@ -77,6 +79,14 @@ public class HomePageDataVo { ...@@ -77,6 +79,14 @@ public class HomePageDataVo {
this.circuitList = circuitList; this.circuitList = circuitList;
} }
public List<ResultWarehouseVo> getWarehouseVoList() {
return warehouseVoList;
}
public void setWarehouseVoList(List<ResultWarehouseVo> warehouseVoList) {
this.warehouseVoList = warehouseVoList;
}
public List<HistogramData> getHistogramDataList() { public List<HistogramData> getHistogramDataList() {
return histogramDataList; return histogramDataList;
} }
......
package com.example.tdl.domain.vo;
public class TruckNo {
private String carNo;
public String getCarNo() {
return carNo;
}
public void setCarNo(String carNo) {
this.carNo = carNo;
}
}
...@@ -3,6 +3,9 @@ package com.example.tdl.domain.vo; ...@@ -3,6 +3,9 @@ package com.example.tdl.domain.vo;
import java.util.List; import java.util.List;
public class WarehouseDetailVo { public class WarehouseDetailVo {
private String img;
private String warehouseNo; private String warehouseNo;
private String warehouseName; private String warehouseName;
...@@ -27,6 +30,14 @@ public class WarehouseDetailVo { ...@@ -27,6 +30,14 @@ public class WarehouseDetailVo {
private List<GatewayOnLineVo> gatewayOnLineVos; private List<GatewayOnLineVo> gatewayOnLineVos;
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public List<GatewayOnLineVo> getGatewayOnLineVos() { public List<GatewayOnLineVo> getGatewayOnLineVos() {
return gatewayOnLineVos; return gatewayOnLineVos;
} }
......
...@@ -9,13 +9,13 @@ import java.util.List; ...@@ -9,13 +9,13 @@ import java.util.List;
@Mapper @Mapper
public interface CarMapper { public interface CarMapper {
List<ResultCarVo> getAll(String companyName); List<ResultCarVo> getAll(String companyNo);
ResultCarVo getByCarNo(@Param("companyName") String companyName, @Param("carNo") String carNo); ResultCarVo getByCarNo(@Param("companyNo") String companyNo, @Param("carNo") String carNo);
List<ResultCarVo> getByCarNoForLike(@Param("companyName") String companyName, @Param("carNo") String carNo); List<ResultCarVo> getByCarNoForLike(@Param("companyNo") String companyNo, @Param("carNo") String carNo);
int addCar(ResultCarVo resultCarVo); int addCar(AddCarVo resultCarVo);
int updateCar(UpdateCarVo updateAlarmVo); int updateCar(UpdateCarVo updateAlarmVo);
...@@ -23,4 +23,6 @@ public interface CarMapper { ...@@ -23,4 +23,6 @@ public interface CarMapper {
int updateImg(@Param("img") String img,@Param("carNo") String carNo); int updateImg(@Param("img") String img,@Param("carNo") String carNo);
List<TruckNo> getTruckNo(@Param("companyNo") String companyNo, @Param("carNo") String carNo);
} }
...@@ -15,19 +15,19 @@ public class CarService { ...@@ -15,19 +15,19 @@ public class CarService {
@Autowired @Autowired
private CarMapper carMapper; private CarMapper carMapper;
public List<ResultCarVo> getAll(String companyName){ public List<ResultCarVo> getAll(String companyNo){
return carMapper.getAll(companyName); return carMapper.getAll(companyNo);
} }
public ResultCarVo getByCarNo(String companyName,String carNo){ public ResultCarVo getByCarNo(String companyNo,String carNo){
return carMapper.getByCarNo(companyName,carNo); return carMapper.getByCarNo(companyNo,carNo);
} }
public List<ResultCarVo> getByCarNoForLike(String companyName,String carNo){ public List<ResultCarVo> getByCarNoForLike(String companyNo,String carNo){
return carMapper.getByCarNoForLike(companyName,carNo); return carMapper.getByCarNoForLike(companyNo,carNo);
} }
public int addCar(ResultCarVo resultCarVo){ public int addCar(AddCarVo resultCarVo){
return carMapper.addCar(resultCarVo); return carMapper.addCar(resultCarVo);
} }
...@@ -43,5 +43,9 @@ public class CarService { ...@@ -43,5 +43,9 @@ public class CarService {
return carMapper.updateImg(img,carNo); return carMapper.updateImg(img,carNo);
} }
public List<TruckNo> getTruckNo(String companyNo,String carNo){
return carMapper.getTruckNo(companyNo,carNo);
}
} }
package com.example.tdl.util;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.*;
import com.example.tdl.service.CircuitService;
import com.example.tdl.service.InfluxDBService;
import com.example.tdl.service.TDLLogService;
import com.example.tdl.web.I18nController;
import com.google.gson.Gson;
import org.influxdb.dto.Query;
import org.influxdb.dto.QueryResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.influxdb.InfluxDBTemplate;
import retrofit2.http.POST;
import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class DataUtil {
private static Logger logger = LoggerFactory.getLogger(DataUtil.class);
private static Gson gson = new Gson();
private static CommFeedback fb = new CommFeedback();
public static String getData(String transportationNo, HttpServletRequest request,I18nController i18n,String companyNo,CircuitService circuitService,TDLLogService tdlLogService,InfluxDBTemplate influxDBTemplate,String database,String field){
Long t1 = System.currentTimeMillis();
logger.info(t1+"---------t1");
ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo, companyNo);
if (resultCircuitVo == null) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
if (resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "notStarted"));
return gson.toJson(fb);
}
Long startTime = resultCircuitVo.getStartTime() * 1000000l;
TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
if (gatewayVo == null) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
String device = gatewayVo.getgType() + "_" + gatewayVo.getgSN();
//获取tdl信息
List<String> devList = tdlLogService.getTdlSN(transportationNo);
if (devList.size() == 0) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
Long t2 = System.currentTimeMillis();
List<HistoryDataVo> historyDataVoList = new ArrayList<>();
for (int i = 0; i < devList.size(); i++) {
HistoryDataVo historyDataVo = new HistoryDataVo();
String TDLSN = devList.get(i).replace("TDL-", "").trim();
historyDataVo.setTDLSN(TDLSN);
if("\"T\"".equals(field) || "\"h\"".equals(field)){
ResultAlarmVo resultAlarmVo = tdlLogService.getByTdl(transportationNo, TDLSN);
//根据tdl货物报警信息
historyDataVo.setMax(resultAlarmVo.getTemMax().toString());
historyDataVo.setMin(resultAlarmVo.getTemMin().toString());
}
List<HistoryData> historyData = new ArrayList<>();
String sqls = "";
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
sqls = "SELECT count("+field+") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + resultCircuitVo.getEndTime() * 1000000l;
} else {
sqls = "SELECT count("+field+") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + System.currentTimeMillis() * 1000000l;
}
QueryResult queryResults = influxDBTemplate.query(new Query(sqls, database));
Integer count;
if (queryResults.getResults().get(0).getSeries() != null) {
count = Double.valueOf(queryResults.getResults().get(0).getSeries().get(0).getValues().get(0).get(1).toString()).intValue();
} else {
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
continue;
}
logger.info(count+"------");
String sql = "";
if (count > 500) {
long times = ( resultCircuitVo.getEndTime() * 1000000l - startTime) / 500;
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
sql = getSQL( field, device, devList.get(i), startTime, resultCircuitVo.getEndTime() * 1000000l);
} else {
sql = getSQL( field, device, devList.get(i), startTime, System.currentTimeMillis() * 1000000l);
}
QueryResult queryResult = influxDBTemplate.query(new Query(sql, database,false));
if (queryResult.getResults() != null) {
historyData = getHistoryDatas(queryResult, field);
}
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
} else {
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
sql = "SELECT "+field+" FROM \"tdl_policy\".\"" + device + "\" where \"data_type\" = 'data' AND \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " and time<=" + resultCircuitVo.getEndTime() * 1000000l + " ORDER BY time ";
} else {
sql = "SELECT "+field+" FROM \"tdl_policy\".\"" + device + "\" where \"data_type\" = 'data' AND \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " ORDER BY time";
}
QueryResult queryResult = influxDBTemplate.query(new Query(sql, database, true));
if (queryResult.getResults().get(0).getSeries() != null) {
//解析数据
historyData = getHistoryData(queryResult, field);
}
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
}
}
logger.info(System.currentTimeMillis()-t1+"_______");
return gson.toJson(historyDataVoList);
}
public static String getHistoryData(String transportationNo, HttpServletRequest request, I18nController i18n, String companyNo, CircuitService circuitService, TDLLogService tdlLogService, InfluxDBService influxDBService, String field){
Long t1 = System.currentTimeMillis();
logger.info(t1+"---------t1");
ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo, companyNo);
if (resultCircuitVo == null) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
if (resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "notStarted"));
return gson.toJson(fb);
}
Long startTime = resultCircuitVo.getStartTime() * 1000000l;
TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
if (gatewayVo == null) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
String device = gatewayVo.getgType() + "_" + gatewayVo.getgSN();
//获取tdl信息
List<String> devList = tdlLogService.getTdlSN(transportationNo);
if (devList.size() == 0) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb);
}
Long t2 = System.currentTimeMillis();
logger.info(t2-t1+"--------------t2-t1");
List<HistoryDataVo> historyDataVoList = new ArrayList<>();
for (int i = 0; i < devList.size(); i++) {
HistoryDataVo historyDataVo = new HistoryDataVo();
String TDLSN = devList.get(i).replace("TDL-", "").trim();
historyDataVo.setTDLSN(TDLSN);
if("\"T\"".equals(field) || "\"h\"".equals(field)){
ResultAlarmVo resultAlarmVo = tdlLogService.getByTdl(transportationNo, TDLSN);
//根据tdl货物报警信息
historyDataVo.setMax(resultAlarmVo.getTemMax().toString());
historyDataVo.setMin(resultAlarmVo.getTemMin().toString());
}
List<HistoryData> historyData = new ArrayList<>();
String sqls = "";
Long t3 = System.currentTimeMillis();
logger.info(t3-t2+"------t3");
QueryResult queryResults = null;
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
queryResults = influxDBService.getData(device,devList.get(i),field,startTime,resultCircuitVo.getEndTime() * 1000000l);
} else {
queryResults = influxDBService.getData(device,devList.get(i),field,startTime,System.currentTimeMillis() * 1000000l);
}
Long t4 = System.currentTimeMillis();
logger.info(t4-t3+"------t4");
Integer count;
if (queryResults.getResults().get(0).getSeries() != null) {
count = Double.valueOf(queryResults.getResults().get(0).getSeries().get(0).getValues().get(0).get(1).toString()).intValue();
} else {
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
continue;
}
Long t5 = System.currentTimeMillis();
logger.info(t5-t4+"------t5-----"+ count);
String sql = "";
if (count > 500) {
Long t6 = System.currentTimeMillis();
logger.info(t6 - t5 + "------t6");
QueryResult queryResult = null;
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
queryResult = influxDBService.getHistoryData(device, devList.get(i), field, startTime, resultCircuitVo.getEndTime() * 1000000l);
} else {
queryResult = influxDBService.getHistoryData(device, devList.get(i), field, startTime, resultCircuitVo.getEndTime() * 1000000l);
}
Long t7 = System.currentTimeMillis();
logger.info(t7 - t6 + "------t7-------" + t7);
if (queryResult.getResults() != null) {
historyData = getHistoryDatas(queryResult, field);
}
Long t8 = System.currentTimeMillis();
logger.info(t8 - t7 + "------t8-------" + t8);
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
logger.info(System.currentTimeMillis() + "");
}
// } else {
// if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
// sql = "SELECT "+field+" FROM \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " and time<=" + resultCircuitVo.getEndTime() * 1000000l + " ORDER BY time ";
// } else {
// sql = "SELECT "+field+" FROM \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " ORDER BY time";
// }
// QueryResult queryResult = influxDBTemplate.query(new Query(sql, database));
// if (queryResult.getResults().get(0).getSeries() != null) {
// //解析数据
// historyData = getHistoryData(queryResult, field);
// }
// historyDataVo.setDataList(historyData);
// historyDataVoList.add(historyDataVo);
// }
}
logger.info(System.currentTimeMillis()-t1+"____________");
return gson.toJson(historyDataVoList);
}
public static String getSQL(String field, String device, String tdl, Long startTime, Long endTime) {
String sql = "";
long times = (endTime - startTime) / 500;
for (int i = 0; i < 499; i++) {
Long maxTime = startTime + times;
sql = sql + "Select " + field + " From \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + tdl + "' AND \"topic\" = 'Data' AND \"data_type\" = 'data' AND \"topic\" = 'Data' AND \"event\" = 'Regular measurement' AND \"data_id\" = '2' and time >= "+startTime +" and time <= " + maxTime + " order by time limit 1;";
startTime = maxTime;
}
sql = sql + "Select " + field + " From \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + tdl + "' AND \"topic\" = 'Data' AND \"data_type\" = 'data' AND \"topic\" = 'Data' AND \"event\" = 'Regular measurement' AND \"data_id\" = '2' and time >="+startTime+" and time <= " + endTime + " order by time desc limit 1;";
return sql;
}
public static List<HistoryData> getHistoryData(QueryResult queryResult, String alias) {
List<List<Object>> values = getValues(queryResult);
List<HistoryData> historyDataList = new ArrayList<>();
for (List<Object> value : values) {
HistoryData historyData = new HistoryData();
historyData.setTime(parseTime(value.get(0).toString()));
if (alias.contains("a0")) {
if (value.get(1) != null && Double.valueOf(value.get(1).toString()) > 0 && Double.valueOf(value.get(1).toString()) < 588897) {
historyData.setValue(value.get(1) == null ? "" : value.get(1).toString());
} else {
continue;
}
} else {
historyData.setValue(value.get(1) == null ? "" : value.get(1).toString());
}
historyDataList.add(historyData);
}
return historyDataList;
}
public static List<List<Object>> getValues(QueryResult queryResult) {
List<List<Object>> values = new ArrayList<>();
for (QueryResult.Result result : queryResult.getResults()) {
if (result.getSeries() != null) {
for (QueryResult.Series series : result.getSeries()) {
if (series != null) {
values = series.getValues();
}
}
}
}
return values;
}
public static String parseTime(String time) {
String dateResult = null;
try {
dateResult = dateToStamp(time);
} catch (ParseException e) {
e.printStackTrace();
fb.setCode(0);
fb.setMessage("解析时间异常");
}
return dateResult;
}
public static String dateToStamp(String s) throws ParseException {
Date date = null;
if (s.length() != 20) {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(s);
} else {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(s);
}
return String.valueOf(date.getTime());
}
public static List<HistoryData> getHistoryDatas(QueryResult queryResult, String alias) {
String dateResult = null;
List<List<Object>> value = new ArrayList<>();
Long t0 = System.currentTimeMillis();
logger.info(t0 +"-------t0");
for (QueryResult.Result result : queryResult.getResults()) {
if (result.getSeries() != null) {
for (QueryResult.Series series : result.getSeries()) {
if (series != null) {
value.add(series.getValues().get(0));
} else {
continue;
}
}
} else {
continue;
}
}
Long tm = System.currentTimeMillis();
logger.info(System.currentTimeMillis()-t0 +"-------tm");
List<HistoryData> historyDataList = new ArrayList<>();
for (int i = 0; i < value.size(); i++) {
HistoryData historyData = new HistoryData();
historyData.setTime(parseTime(value.get(i).get(0).toString()));
historyData.setValue(value.get(i).get(1).toString());
historyDataList.add(historyData);
}
logger.info(System.currentTimeMillis()-tm +"-------tn");
return historyDataList;
}
}
...@@ -151,7 +151,6 @@ public class AlarmLogController { ...@@ -151,7 +151,6 @@ public class AlarmLogController {
} }
//新增报警消息 //新增报警消息
@ApiOperation(value = "增加报警",notes = "增加报警") @ApiOperation(value = "增加报警",notes = "增加报警")
@RequestMapping(value = "/addAlarmLog",method = RequestMethod.POST) @RequestMapping(value = "/addAlarmLog",method = RequestMethod.POST)
...@@ -198,7 +197,7 @@ public class AlarmLogController { ...@@ -198,7 +197,7 @@ public class AlarmLogController {
} else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("h")){ } else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("h")){
desp = "湿度" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno()); desp = "湿度" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "2"; classify = "2";
} else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("a0")){ } else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("a1")){
desp = "震动" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno()); desp = "震动" +map.get(addAlarmLogVo.getAlarm().get(i).getAlarmno());
classify = "3"; classify = "3";
} else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("ta")) { } else if(addAlarmLogVo.getAlarm().get(i).getAlias().contains("ta")) {
...@@ -252,7 +251,9 @@ public class AlarmLogController { ...@@ -252,7 +251,9 @@ public class AlarmLogController {
return gson.toJson(fb); return gson.toJson(fb);
} }
if(StringUtils.isEmpty(alarmMessageVo.getTDLSN())){ if(StringUtils.isEmpty(alarmMessageVo.getTDLSN())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"TDL"));
return gson.toJson(fb);
} }
if(alarmMessageVo.getAlarmTime() == null){ if(alarmMessageVo.getAlarmTime() == null){
fb.setCode(0); fb.setCode(0);
...@@ -394,7 +395,6 @@ public class AlarmLogController { ...@@ -394,7 +395,6 @@ public class AlarmLogController {
} }
public static String dateToStamp(String s) throws ParseException { public static String dateToStamp(String s) throws ParseException {
Date date =null ; Date date =null ;
if(s.length() !=20 ) { if(s.length() !=20 ) {
......
...@@ -59,7 +59,7 @@ public class CarController { ...@@ -59,7 +59,7 @@ public class CarController {
String token = request.getHeader("Account_token"); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token); String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class); UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
return carService.getAll(user.getCompanyName()); return carService.getAll(user.getCompanyNo());
} }
//根据车牌号模糊查询 //根据车牌号模糊查询
...@@ -77,9 +77,14 @@ public class CarController { ...@@ -77,9 +77,14 @@ public class CarController {
String token = request.getHeader("Account_token"); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token); String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class); UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if(StringUtils.isEmpty(carNo)){
fb.setMessage(i18n.getMessage(request,"carNo"));
fb.setCode(0);
return gson.toJson(fb);
}
JSONObject jsonObject= JSON.parseObject(carNo); JSONObject jsonObject= JSON.parseObject(carNo);
carNo=(String)jsonObject.get("carNo"); carNo=(String)jsonObject.get("carNo");
return carService.getByCarNoForLike(user.getCompanyName(),carNo); return carService.getByCarNoForLike(user.getCompanyNo(),carNo);
} }
//添加车辆信息 //添加车辆信息
...@@ -93,7 +98,7 @@ public class CarController { ...@@ -93,7 +98,7 @@ public class CarController {
@ApiImplicitParam(paramType="header", name = "AccountLanguage", value = "language", required = false, dataType = "String"), @ApiImplicitParam(paramType="header", name = "AccountLanguage", value = "language", required = false, dataType = "String"),
}) })
@RequestMapping(value="/addCar",method = RequestMethod.POST) @RequestMapping(value="/addCar",method = RequestMethod.POST)
public Object addCar(@RequestBody ResultCarVo resultCarVo, HttpServletRequest request){ public Object addCar(@RequestBody AddCarVo resultCarVo, HttpServletRequest request){
String port =request.getHeader("AccountLanguage"); String port =request.getHeader("AccountLanguage");
String token = request.getHeader("Account_token"); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token); String datum = tokenRedisService.get("TOKEN_" +token);
...@@ -108,12 +113,12 @@ public class CarController { ...@@ -108,12 +113,12 @@ public class CarController {
fb.setMessage(i18n.getMessage(request,"type")); fb.setMessage(i18n.getMessage(request,"type"));
return gson.toJson(fb); return gson.toJson(fb);
} }
if (carService.getByCarNo(user.getCompanyName(),resultCarVo.getCarNo())!=null){ if (carService.getByCarNo(user.getCompanyNo(),resultCarVo.getCarNo())!=null){
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repetitionCarNo")); fb.setMessage(i18n.getMessage(request,"repetitionCarNo"));
return gson.toJson(fb); return gson.toJson(fb);
} }
resultCarVo.setCompanyName(user.getCompanyName()); resultCarVo.setCompanyNo(user.getCompanyNo());
int a=carService.addCar(resultCarVo); int a=carService.addCar(resultCarVo);
if (a>0){ if (a>0){
fb.setCode(1); fb.setCode(1);
...@@ -194,4 +199,27 @@ public class CarController { ...@@ -194,4 +199,27 @@ public class CarController {
return gson.toJson(fb); return gson.toJson(fb);
} }
//获取所有的车牌号
@ApiOperation(value = "获取所有的车牌号",notes = "获取所有的车牌号,需要传递参数:" +
" carNo:车牌号")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
@ApiImplicitParam(paramType="header", name = "AccountLanguage", value = "language", required = false, dataType = "String"),
})
@RequestMapping(value="/getTruckNo",method = RequestMethod.POST)
public Object getTruckNo(@RequestBody String carNo,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if(StringUtils.isEmpty(carNo)){
fb.setMessage(i18n.getMessage(request,"carNo"));
fb.setCode(0);
return gson.toJson(fb);
}
JSONObject jsonObject= JSON.parseObject(carNo);
carNo=(String)jsonObject.get("carNo");
return carService.getTruckNo(user.getCompanyNo(),carNo);
}
} }
...@@ -888,7 +888,7 @@ public class CircuitController { ...@@ -888,7 +888,7 @@ public class CircuitController {
return gson.toJson(fb); return gson.toJson(fb);
} }
//判断当前车牌是否已存在 //判断当前车牌是否已存在
if(carService.getByCarNo(user.getCompanyName(),addCircuitVo.getCargoNo()) == null){ if(carService.getByCarNo(user.getCompanyNo(),addCircuitVo.getPlateNo()) == null){
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"nonexistentTruck")); fb.setMessage(i18n.getMessage(request,"nonexistentTruck"));
return gson.toJson(fb); return gson.toJson(fb);
......
...@@ -10,6 +10,7 @@ import com.example.tdl.service.redis.InfoRedisService; ...@@ -10,6 +10,7 @@ import com.example.tdl.service.redis.InfoRedisService;
import com.example.tdl.service.redis.RealRedisService; import com.example.tdl.service.redis.RealRedisService;
import com.example.tdl.service.redis.TokenRedisService; import com.example.tdl.service.redis.TokenRedisService;
import com.example.tdl.util.DataUtil;
import com.google.gson.Gson; import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -67,11 +68,14 @@ public class DataController { ...@@ -67,11 +68,14 @@ public class DataController {
private ProbesService probesService; private ProbesService probesService;
@Autowired @Autowired
private I18nController i18n; private InfluxDBService influxDBService;
private final static String database ="original"; @Autowired
private I18nController i18n;
private final static String database = "original";
private List<String> list = new ArrayList<String>(){{ private List<String> list = new ArrayList<String>() {{
add("\"T\""); add("\"T\"");
add("\"h\""); add("\"h\"");
add("\"p\""); add("\"p\"");
...@@ -80,116 +84,116 @@ public class DataController { ...@@ -80,116 +84,116 @@ public class DataController {
}}; }};
//获取坐标数据数据 //获取坐标数据数据
@ApiOperation(value = "获取坐标数据数据",notes = "获取坐标数据数据:" + @ApiOperation(value = "获取坐标数据数据", notes = "获取坐标数据数据:" +
" time:时间," + " time:时间," +
" lng:经度," + " lng:经度," +
" lat: 纬度.") " lat: 纬度.")
@PostMapping("/getLocation") @PostMapping("/getLocation")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"), @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
@ApiImplicitParam(paramType="header", name = "AccountLanguage", value = "language", required = false, dataType = "String"), @ApiImplicitParam(paramType = "header", name = "AccountLanguage", value = "language", required = false, dataType = "String"),
}) })
public Object getLocation(@RequestBody SearchLocationVo searchLocationVo,HttpServletRequest request){ public Object getLocation(@RequestBody SearchLocationVo searchLocationVo, HttpServletRequest request) {
String token = request.getHeader("Account_token"); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token); String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class); UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
if(StringUtils.isEmpty(searchLocationVo.getTransportationNo())){ if (StringUtils.isEmpty(searchLocationVo.getTransportationNo())) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"transportationNo")); fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb); return gson.toJson(fb);
} }
//根据运输编号获取线路信息 //根据运输编号获取线路信息
ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(searchLocationVo.getTransportationNo(),user.getCompanyNo()); ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(searchLocationVo.getTransportationNo(), user.getCompanyNo());
List<LocationDataVo> locationDataVoList =new ArrayList<>(); List<LocationDataVo> locationDataVoList = new ArrayList<>();
if(resultCircuitVo == null){ if (resultCircuitVo == null) {
return gson.toJson(locationDataVoList); return gson.toJson(locationDataVoList);
} }
if(resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0){ if (resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0) {
return gson.toJson(locationDataVoList); return gson.toJson(locationDataVoList);
} }
Long startTime = resultCircuitVo.getStartTime() *1000000l; Long startTime = resultCircuitVo.getStartTime() * 1000000l;
// if(resultCircuitVo.getEndTime() !=null && infoRedisService.hasHashKey("TransportConfig",searchLocationVo.getTransportationNo())){ // if(resultCircuitVo.getEndTime() !=null && infoRedisService.hasHashKey("TransportConfig",searchLocationVo.getTransportationNo())){
// Object ret = infoRedisService.getHash("TransportConfig",searchLocationVo.getTransportationNo()); // Object ret = infoRedisService.getHash("TransportConfig",searchLocationVo.getTransportationNo());
// return ret; // return ret;
// } // }
//获取gateway的信息 //获取gateway的信息
TDLLogVo tdlLogVo = tdlLogService.getByTransportationNo(searchLocationVo.getTransportationNo()); TDLLogVo tdlLogVo = tdlLogService.getByTransportationNo(searchLocationVo.getTransportationNo());
if(tdlLogVo==null){ if (tdlLogVo == null) {
return gson.toJson(locationDataVoList); return gson.toJson(locationDataVoList);
} }
String device = tdlLogVo.getgType() +"_" +tdlLogVo.getgSN(); String device = tdlLogVo.getgType() + "_" + tdlLogVo.getgSN();
String sql =""; String sql = "";
if(resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0){ if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
Long time = resultCircuitVo.getEndTime()*1000000l; Long time = resultCircuitVo.getEndTime() * 1000000l;
if("baidu".equals(searchLocationVo.getType())){ if ("baidu".equals(searchLocationVo.getType())) {
sql = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\""+device+"\"where time >= "+startTime +" and time<= "+time+" ORDER BY time "; sql = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " and time<= " + time + " ORDER BY time ";
}else{ } else {
sql = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\""+device+"\"where time >= "+startTime +" and time<= "+time+" ORDER BY time "; sql = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " and time<= " + time + " ORDER BY time ";
} }
}else{ } else {
if("baidu".equals(searchLocationVo.getType())){ if ("baidu".equals(searchLocationVo.getType())) {
sql = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " ORDER BY time "; sql = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " ORDER BY time ";
}else { } else {
sql = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " ORDER BY time "; sql = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " ORDER BY time ";
} }
} }
//获取tdl信息 //获取tdl信息
QueryResult queryResult = influxDBTemplate.query(new Query(sql,database)); QueryResult queryResult = influxDBTemplate.query(new Query(sql, database));
//解析经纬度数据 //解析经纬度数据
List<LocationDataVo> locationDataVos = new ArrayList<>(); List<LocationDataVo> locationDataVos = new ArrayList<>();
if(queryResult.getResults().get(0).getSeries() != null){ if (queryResult.getResults().get(0).getSeries() != null) {
locationDataVos=getLocation(queryResult); locationDataVos = getLocation(queryResult);
} }
//获取震动的数据 //获取震动的数据
String sql2 =""; String sql2 = "";
if(resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0){ if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
Long time = resultCircuitVo.getEndTime()*1000000l; Long time = resultCircuitVo.getEndTime() * 1000000l;
sql2 = "SELECT \"a0\" FROM \"tdl_policy\".\""+device+"\"where time >= "+startTime +" and time<=" +time+ " ORDER BY time"; sql2 = "SELECT \"a0\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " and time<=" + time + " ORDER BY time";
}else{ } else {
sql2 = "SELECT \"a0\" FROM \"tdl_policy\".\""+device+"\"where time >= "+startTime +" ORDER BY time"; sql2 = "SELECT \"a0\" FROM \"tdl_policy\".\"" + device + "\"where time >= " + startTime + " ORDER BY time";
} }
QueryResult queryResult2 = influxDBTemplate.query(new Query(sql2,database)); QueryResult queryResult2 = influxDBTemplate.query(new Query(sql2, database));
List<String> timeList = new ArrayList<>(); List<String> timeList = new ArrayList<>();
if(queryResult2.getResults().get(0).getSeries() != null){ if (queryResult2.getResults().get(0).getSeries() != null) {
//获取震动的时间戳 //获取震动的时间戳
timeList = getTime(queryResult2); timeList = getTime(queryResult2);
} }
if(timeList.size()>0){ if (timeList.size() > 0) {
//获取震动数据的坐标 //获取震动数据的坐标
String sql3 =""; String sql3 = "";
for(String time : timeList){ for (String time : timeList) {
Long t = Long.valueOf(time) *1000000l; Long t = Long.valueOf(time) * 1000000l;
if("baidu".equals(searchLocationVo.getType())){ if ("baidu".equals(searchLocationVo.getType())) {
sql3 = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\""+device+"\" where time >= "+startTime +" and time<="+ t +" ORDER BY time desc limit 1;" +sql3; sql3 = "SELECT \"bdlng\",\"bdlat\" FROM \"tdl_policy\".\"" + device + "\" where time >= " + startTime + " and time<=" + t + " ORDER BY time desc limit 1;" + sql3;
}else{ } else {
sql3 = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\""+device+"\" where time >= "+startTime +" and time<="+ t +" ORDER BY time desc limit 1;" +sql3; sql3 = "SELECT \"lng\",\"lat\" FROM \"tdl_policy\".\"" + device + "\" where time >= " + startTime + " and time<=" + t + " ORDER BY time desc limit 1;" + sql3;
} }
} }
QueryResult queryResult3 = influxDBTemplate.query(new Query(sql3,database)); QueryResult queryResult3 = influxDBTemplate.query(new Query(sql3, database));
List<String> time= new ArrayList<>(); List<String> time = new ArrayList<>();
if(queryResult3.getResults() !=null){ if (queryResult3.getResults() != null) {
time = getShockLocation(queryResult3); time = getShockLocation(queryResult3);
} }
for(LocationDataVo locationDataVo :locationDataVos){ for (LocationDataVo locationDataVo : locationDataVos) {
if(time.contains(locationDataVo.getTime())){ if (time.contains(locationDataVo.getTime())) {
locationDataVo.setError(1); locationDataVo.setError(1);
locationDataVoList.add(locationDataVo); locationDataVoList.add(locationDataVo);
}else{ } else {
locationDataVo.setError(0); locationDataVo.setError(0);
locationDataVoList.add(locationDataVo); locationDataVoList.add(locationDataVo);
} }
} }
//如果是已经完结保存到redis中 //如果是已经完结保存到redis中
if(resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0){ if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
Map<Object,Object> map=new HashMap<>(); Map<Object, Object> map = new HashMap<>();
map.put(searchLocationVo.getTransportationNo(),locationDataVoList.toString()); map.put(searchLocationVo.getTransportationNo(), locationDataVoList.toString());
infoRedisService.setHash("TransportConfig",map,System.currentTimeMillis()); infoRedisService.setHash("TransportConfig", map, System.currentTimeMillis());
} }
return gson.toJson(locationDataVoList); return gson.toJson(locationDataVoList);
}else{ } else {
// //如果是已经完结保存到redis中 // //如果是已经完结保存到redis中
// if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) { // if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
// Map<Object, Object> map = new HashMap<>(); // Map<Object, Object> map = new HashMap<>();
...@@ -202,258 +206,293 @@ public class DataController { ...@@ -202,258 +206,293 @@ public class DataController {
//获取历史数据 //获取历史数据
@ApiOperation(value = "获取历史数据",notes = "获取历史数据:") @ApiOperation(value = "获取历史数据", notes = "获取历史数据:")
@PostMapping("/getHistoryData") @PostMapping("/getHistoryData")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"), @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
@ApiImplicitParam(paramType="header", name = "AccountLanguage", value = "language", required = false, dataType = "String"), @ApiImplicitParam(paramType = "header", name = "AccountLanguage", value = "language", required = false, dataType = "String"),
}) })
public Object getHistoryData(@RequestBody String transportationNo,HttpServletRequest request){ public Object getHistoryData(@RequestBody String transportationNo, HttpServletRequest request) {
long time = System.currentTimeMillis();
String token = request.getHeader("Account_token"); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token); String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class); UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
String port = request.getHeader("AccountLanguage"); String port = request.getHeader("AccountLanguage");
JSONObject jsonObject= JSON.parseObject(transportationNo); JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo=jsonObject.getString("transportationNo"); transportationNo = jsonObject.getString("transportationNo");
List<DataVo> dataVoList = new ArrayList<>(); List<DataVo> dataVoList = new ArrayList<>();
if(StringUtils.isEmpty(transportationNo)){ if (StringUtils.isEmpty(transportationNo)) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"transportationNo")); fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb); return gson.toJson(fb);
} }
ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo,user.getCompanyNo()); ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo, user.getCompanyNo());
if(resultCircuitVo ==null){ if (resultCircuitVo == null) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"noCircuit")); fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb); return gson.toJson(fb);
} }
if(resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0){ if (resultCircuitVo.getStartTime() == null || resultCircuitVo.getStartTime() == 0) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"notStarted")); fb.setMessage(i18n.getMessage(request, "notStarted"));
return gson.toJson(fb); return gson.toJson(fb);
} }
Long startTime = resultCircuitVo.getStartTime() *1000000l; Long startTime = resultCircuitVo.getStartTime() * 1000000l;
TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo); TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
if(gatewayVo == null){ if (gatewayVo == null) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"noCircuit")); fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb); return gson.toJson(fb);
} }
String device = gatewayVo.getgType() +"_" +gatewayVo.getgSN(); String device = gatewayVo.getgType() + "_" + gatewayVo.getgSN();
//获取tdl信息 //获取tdl信息
List<String> devList= tdlLogService.getTdlSN(transportationNo); List<String> devList = tdlLogService.getTdlSN(transportationNo);
if(devList.size() == 0){ if (devList.size() == 0) {
fb.setCode(0); fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"noCircuit")); fb.setMessage(i18n.getMessage(request, "noCircuit"));
return gson.toJson(fb); return gson.toJson(fb);
} }
Map<String,String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("\"T\"","temp"); map.put("\"T\"", "temp");
map.put("\"h\"","humidity"); map.put("\"h\"", "humidity");
map.put("\"p\"","pressure"); map.put("\"p\"", "pressure");
map.put("\"a0\"","shockEnergy"); map.put("\"a0\"", "shockEnergy");
map.put("\"a1\"","shock"); map.put("\"a1\"", "shock");
map.put("\"ta\"","tilt"); map.put("\"ta\"", "tilt");
for(int j = 0;j< list.size();j++){ for (int j = 0; j < list.size(); j++) {
DataVo dataVo = new DataVo(); DataVo dataVo = new DataVo();
dataVo.setDescription(map.get(list.get(j))); dataVo.setDescription(map.get(list.get(j)));
List<HistoryDataVo> historyDataVoList = new ArrayList<>(); List<HistoryDataVo> historyDataVoList = new ArrayList<>();
for( int i =0;i<devList.size();i++){ for (int i = 0; i < devList.size(); i++) {
HistoryDataVo historyDataVo = new HistoryDataVo(); HistoryDataVo historyDataVo = new HistoryDataVo();
String TDLSN=devList.get(i).replace("TDL-","").trim(); String TDLSN = devList.get(i).replace("TDL-", "").trim();
historyDataVo.setTDLSN(TDLSN); historyDataVo.setTDLSN(TDLSN);
ResultAlarmVo resultAlarmVo = tdlLogService.getByTdl(transportationNo,TDLSN); ResultAlarmVo resultAlarmVo = tdlLogService.getByTdl(transportationNo, TDLSN);
if(list.get(j).equals("\"T\"") ){ if (list.get(j).equals("\"T\"")) {
//根据tdl货物报警信息 //根据tdl货物报警信息
historyDataVo.setMax(resultAlarmVo.getTemMax().toString()); historyDataVo.setMax(resultAlarmVo.getTemMax().toString());
historyDataVo.setMin(resultAlarmVo.getTemMin().toString()); historyDataVo.setMin(resultAlarmVo.getTemMin().toString());
}else if(list.get(j).equals("\"h\"")){ } else if (list.get(j).equals("\"h\"")) {
historyDataVo.setMax(resultAlarmVo.getHumidityMax().toString()); historyDataVo.setMax(resultAlarmVo.getHumidityMax().toString());
historyDataVo.setMin(resultAlarmVo.getHumidityMin().toString()); historyDataVo.setMin(resultAlarmVo.getHumidityMin().toString());
}
List<HistoryData> historyData = new ArrayList<>();
String sqls = "";
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
sqls = "SELECT count(" + list.get(j) + ") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + resultCircuitVo.getEndTime() * 1000000l;
} else {
sqls = "SELECT count(" + list.get(j) + ") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + System.currentTimeMillis() * 1000000l;
}
QueryResult queryResults = influxDBTemplate.query(new Query(sqls, database));
Integer count;
if (queryResults.getResults().get(0).getSeries() != null) {
count = Double.valueOf(queryResults.getResults().get(0).getSeries().get(0).getValues().get(0).get(1).toString()).intValue();
} else {
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
continue;
}
String sql = "";
if (count > 500) {
if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
sql = DataUtil.getSQL(list.get(j), device, devList.get(i), startTime, resultCircuitVo.getEndTime() * 1000000l);
// sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " and time<="+resultCircuitVo.getEndTime() *1000000l+" ORDER BY time ";
} else {
sql = DataUtil.getSQL(list.get(j), device, devList.get(i), startTime, System.currentTimeMillis() * 1000000l);
// sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " ORDER BY time";
} }
List<HistoryData> historyData = new ArrayList<>(); QueryResult queryResult = influxDBTemplate.query(new Query(sql, database));
String sqls = ""; if (queryResult.getResults() != null) {
if(resultCircuitVo.getEndTime() !=null && resultCircuitVo.getEndTime() !=0){ historyData =DataUtil.getHistoryDatas(queryResult, list.get(j));
sqls = "SELECT count(" + list.get(j) + ") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + resultCircuitVo.getEndTime() * 1000000l;
}else {
sqls = "SELECT count(" + list.get(j) + ") FROM \"tdl_policy\".\"" + device + "\" WHERE \"tdl\"='" + devList.get(i) + "' and time>=" + startTime + " and time <=" + System.currentTimeMillis() * 1000000l;
} }
QueryResult queryResults = influxDBTemplate.query(new Query(sqls,database)); historyDataVo.setDataList(historyData);
Integer count; historyDataVoList.add(historyDataVo);
if(queryResults.getResults().get(0).getSeries() != null){ } else {
count = Double.valueOf(queryResults.getResults().get(0).getSeries().get(0).getValues().get(0).get(1).toString()).intValue(); if (resultCircuitVo.getEndTime() != null && resultCircuitVo.getEndTime() != 0) {
}else{ sql = "SELECT " + list.get(j) + " FROM \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " and time<=" + resultCircuitVo.getEndTime() * 1000000l + " ORDER BY time ";
historyDataVo.setDataList(historyData); } else {
historyDataVoList.add(historyDataVo); sql = "SELECT " + list.get(j) + " FROM \"tdl_policy\".\"" + device + "\" where \"tdl\"='" + devList.get(i) + "' and time >=" + startTime + " ORDER BY time";
continue;
} }
String sql=""; QueryResult queryResult = influxDBTemplate.query(new Query(sql, database));
if(count >500){ if (queryResult.getResults().get(0).getSeries() != null) {
if(resultCircuitVo.getEndTime() !=null && resultCircuitVo.getEndTime() !=0){ //解析数据
sql = getSQL(list.get(j),device,devList.get(i),startTime,resultCircuitVo.getEndTime() *1000000l); historyData = DataUtil.getHistoryData(queryResult, list.get(j));
// sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " and time<="+resultCircuitVo.getEndTime() *1000000l+" ORDER BY time ";
}else{
sql = getSQL(list.get(j),device,devList.get(i),startTime,System.currentTimeMillis()*1000000l);
// sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " ORDER BY time";
}
QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
if(queryResult.getResults()!=null){
historyData = getHistoryDatas(queryResult,list.get(j));
}
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
}else{
if(resultCircuitVo.getEndTime() !=null && resultCircuitVo.getEndTime() !=0){
sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " and time<="+resultCircuitVo.getEndTime() *1000000l+" ORDER BY time ";
}else{
sql = "SELECT "+list.get(j)+" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"='"+devList.get(i)+"' and time >="+startTime + " ORDER BY time";
}
QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
if(queryResult.getResults().get(0).getSeries() != null){
//解析数据
historyData = getHistoryData(queryResult,list.get(j));
}
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
} }
historyDataVo.setDataList(historyData);
historyDataVoList.add(historyDataVo);
} }
dataVo.setDataList(historyDataVoList);
dataVoList.add(dataVo);
} }
dataVo.setDataList(historyDataVoList);
dataVoList.add(dataVo);
}
// if(resultCircuitVo.getEndTime()!=null && resultCircuitVo.getEndTime()!=0){ // if(resultCircuitVo.getEndTime()!=null && resultCircuitVo.getEndTime()!=0){
// Map<Object,Object> m = new HashMap<>(); // Map<Object,Object> m = new HashMap<>();
// map.put(transportationNo,dataVoList.toString()); // map.put(transportationNo,dataVoList.toString());
// infoRedisService.setHash("HistoryData",m,System.currentTimeMillis()); // infoRedisService.setHash("HistoryData",m,System.currentTimeMillis());
// } // }
return gson.toJson(dataVoList); logger.info(System.currentTimeMillis()-time+"-----time");
return gson.toJson(dataVoList);
} }
public List<HistoryData> getHistoryDatas(QueryResult queryResult,String alias){ @ApiOperation(value = "获取温度数据", notes = "获取温度数据:" +
String dateResult =null; " TDLSN:tdl编号," +
List<Object> values = new ArrayList<>(); " temperatureDataVos:," +
List<List<Object>> value = new ArrayList<>(); " time:时间," +
for(QueryResult.Result result : queryResult.getResults()){ " value:温度数据.")
if(result.getSeries() !=null){ @PostMapping("/getTemperature")
for (QueryResult.Series series : result.getSeries()) { @ApiImplicitParams({
if(series !=null){ @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
values = series.getValues().get(0); })
value.add(values); public Object getTemperature(@RequestBody String transportationNo, HttpServletRequest request) {
}else{ String token = request.getHeader("Account_token");
continue; String datum = tokenRedisService.get("TOKEN_" + token);
} UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
} if (StringUtils.isEmpty(transportationNo)) {
}else{ fb.setCode(0);
continue; fb.setMessage(i18n.getMessage(request, "transportationNo"));
} return gson.toJson(fb);
}
List<HistoryData> historyDataList = new ArrayList<>();
for(int i =0;i<value.size(); i++){
HistoryData historyData = new HistoryData();
historyData.setTime(parseTime(value.get(i).get(0).toString()));
historyData.setValue(value.get(i).get(1).toString());
historyDataList.add(historyData);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"T\"");
} }
//解析数据
public List<LocationDataVo> getLocation(QueryResult queryResult){
List<List<Object>> values = getValues(queryResult);
List<LocationDataVo> historyDataList = new ArrayList<>();
for(List<Object> value:values){
LocationDataVo historyData = new LocationDataVo();
if(value.get(1).toString().equals("0.0")){
continue;
}else{
historyData.setTime(parseTime(value.get(0).toString()));
historyData.setLng(Double.parseDouble(value.get(1).toString()));
historyData.setLat(Double.parseDouble(value.get(2).toString()));
historyData.setError(0);
}
historyDataList.add(historyData);
@ApiOperation(value = "获取温度数据", notes = "获取温度数据:" +
" TDLSN:tdl编号," +
" temperatureDataVos:," +
" time:时间," +
" value:温度数据.")
@PostMapping("/getHumidity")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
public Object getHumidity(@RequestBody String transportationNo, HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
if (StringUtils.isEmpty(transportationNo)) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"h\"");
} }
public List<HistoryData> getHistoryData(QueryResult queryResult,String alias){ //获取倾斜度数据
List<List<Object>> values = getValues(queryResult); @ApiOperation(value = "获取倾斜度数据", notes = "获取倾斜度数据")
List<HistoryData> historyDataList = new ArrayList<>(); @PostMapping("/getTiltAngle")
for(List<Object> value:values){ @ApiImplicitParams({
HistoryData historyData = new HistoryData(); @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
historyData.setTime(parseTime(value.get(0).toString())); })
if(alias.contains("a0")){ public Object getTiltAngle(@RequestBody String transportationNo, HttpServletRequest request) {
if(value.get(1)!=null && Double.valueOf(value.get(1).toString()) >0 && Double.valueOf(value.get(1).toString())<588897){ String token = request.getHeader("Account_token");
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); String datum = tokenRedisService.get("TOKEN_" + token);
}else{ UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
continue; if (StringUtils.isEmpty(transportationNo)) {
} fb.setCode(0);
}else{ fb.setMessage(i18n.getMessage(request, "transportationNo"));
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); return gson.toJson(fb);
}
historyDataList.add(historyData);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"ta\"");
} }
public List<TemperatureDataVo> getTemperature(QueryResult queryResult){ //获取震动能量
List<List<Object>> values = getValues(queryResult); @ApiOperation(value = "获取震动能量", notes = "获取震动能量")
List<TemperatureDataVo> historyDataList = new ArrayList<>(); @PostMapping("/getShockEnergy")
for(List<Object> value:values){ @ApiImplicitParams({
TemperatureDataVo historyData = new TemperatureDataVo(); @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
historyData.setTime(parseTime(value.get(0).toString())); })
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); public Object getShockEnergy(@RequestBody String transportationNo, HttpServletRequest request) {
historyDataList.add(historyData); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
if (StringUtils.isEmpty(transportationNo)) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"a0\"");
} }
public List<TiltAngleVo> getTiltAngle(QueryResult queryResult){
List<List<Object>> values = getValues(queryResult); @ApiOperation(value = "获取震动能量", notes = "获取震动能量")
List<TiltAngleVo> historyDataList = new ArrayList<>(); @PostMapping("/getShock")
for(List<Object> value:values){ @ApiImplicitParams({
TiltAngleVo historyData = new TiltAngleVo(); @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
historyData.setTime(parseTime(value.get(0).toString())); })
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); public Object getShock(@RequestBody String transportationNo, HttpServletRequest request) {
historyDataList.add(historyData); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
if (StringUtils.isEmpty(transportationNo)) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"a1\"");
} }
public List<ShockEnergyVo> getShockEnergy(QueryResult queryResult){
List<List<Object>> values = getValues(queryResult); @ApiOperation(value = "获取震动能量", notes = "获取震动能量")
List<ShockEnergyVo> historyDataList = new ArrayList<>(); @PostMapping("/getPressure")
for(List<Object> value:values){ @ApiImplicitParams({
ShockEnergyVo historyData = new ShockEnergyVo(); @ApiImplicitParam(paramType = "header", name = "Account_token", value = "token", required = true, dataType = "String"),
historyData.setTime(parseTime(value.get(0).toString())); })
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); public Object getPressure(@RequestBody String transportationNo, HttpServletRequest request) {
historyDataList.add(historyData); String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" + token);
UserRedisVo user = gson.fromJson(datum, UserRedisVo.class);
if (StringUtils.isEmpty(transportationNo)) {
fb.setCode(0);
fb.setMessage(i18n.getMessage(request, "transportationNo"));
return gson.toJson(fb);
} }
return historyDataList; JSONObject jsonObject = JSON.parseObject(transportationNo);
transportationNo = jsonObject.getString("transportationNo");
return DataUtil.getData(transportationNo,request,i18n,user.getCompanyNo(),circuitService,tdlLogService,influxDBTemplate,database,"\"p\"");
} }
public List<HumidityDataVo> getHumidity(QueryResult queryResult){
//解析数据
public List<LocationDataVo> getLocation(QueryResult queryResult) {
List<List<Object>> values = getValues(queryResult); List<List<Object>> values = getValues(queryResult);
List<HumidityDataVo> historyDataList = new ArrayList<>(); List<LocationDataVo> historyDataList = new ArrayList<>();
for(List<Object> value:values){ for (List<Object> value : values) {
HumidityDataVo historyData = new HumidityDataVo(); LocationDataVo historyData = new LocationDataVo();
historyData.setTime(parseTime(value.get(0).toString())); if (value.get(1).toString().equals("0.0")) {
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString()); continue;
} else {
historyData.setTime(parseTime(value.get(0).toString()));
historyData.setLng(Double.parseDouble(value.get(1).toString()));
historyData.setLat(Double.parseDouble(value.get(2).toString()));
historyData.setError(0);
}
historyDataList.add(historyData); historyDataList.add(historyData);
} }
return historyDataList; return historyDataList;
} }
//解析数据格式 //解析数据格式
public List<List<Object>> getValues( QueryResult queryResult){ public List<List<Object>> getValues(QueryResult queryResult) {
List<List<Object>> values = new ArrayList<>(); List<List<Object>> values = new ArrayList<>();
for(QueryResult.Result result : queryResult.getResults()){ for (QueryResult.Result result : queryResult.getResults()) {
if(result.getSeries() !=null){ if (result.getSeries() != null) {
for (QueryResult.Series series : result.getSeries()) { for (QueryResult.Series series : result.getSeries()) {
if(series !=null){ if (series != null) {
values= series.getValues(); values = series.getValues();
} }
} }
} }
...@@ -463,18 +502,18 @@ public class DataController { ...@@ -463,18 +502,18 @@ public class DataController {
//将utc时间转换成时间戳 //将utc时间转换成时间戳
public static String dateToStamp(String s) throws ParseException { public static String dateToStamp(String s) throws ParseException {
Date date =null ; Date date = null;
if(s.length() !=20 ) { if (s.length() != 20) {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(s); date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(s);
}else{ } else {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(s); date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(s);
} }
return String.valueOf(date.getTime()); return String.valueOf(date.getTime());
} }
//解析时间 //解析时间
public String parseTime(String time){ public String parseTime(String time) {
String dateResult =null; String dateResult = null;
try { try {
dateResult = dateToStamp(time); dateResult = dateToStamp(time);
} catch (ParseException e) { } catch (ParseException e) {
...@@ -491,37 +530,37 @@ public class DataController { ...@@ -491,37 +530,37 @@ public class DataController {
//获取当前时区,将时间戳转化成日期时间格式 //获取当前时区,将时间戳转化成日期时间格式
Date t1 = new Date(time1); Date t1 = new Date(time1);
Date t2 = new Date(time2); Date t2 = new Date(time2);
int days = differentDays(t1,t2); int days = differentDays(t1, t2);
if(days>0){ if (days > 0) {
return days +"天"; return days + "天";
}else{ } else {
return "a little minute"; return "a little minute";
} }
} }
public static int differentDays(Date date1,Date date2) { public static int differentDays(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance(); Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1); cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2); cal2.setTime(date2);
int day1= cal1.get(Calendar.DAY_OF_YEAR); int day1 = cal1.get(Calendar.DAY_OF_YEAR);
int day2 = cal2.get(Calendar.DAY_OF_YEAR); int day2 = cal2.get(Calendar.DAY_OF_YEAR);
int year1 = cal1.get(Calendar.YEAR); int year1 = cal1.get(Calendar.YEAR);
int year2 = cal2.get(Calendar.YEAR); int year2 = cal2.get(Calendar.YEAR);
if(year1 != year2) { //不同年 if (year1 != year2) { //不同年
int timeDistance = 0 ; int timeDistance = 0;
for(int i = year1 ; i < year2 ; i ++) { for (int i = year1; i < year2; i++) {
if(i%4==0 && i%100!=0 || i%400==0) { //闰年 if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { //闰年
timeDistance += 366; timeDistance += 366;
} else{ //不是闰年 } else { //不是闰年
timeDistance += 365; timeDistance += 365;
} }
} }
return timeDistance + (day2-day1) ; return timeDistance + (day2 - day1);
} else{ } else {
return day2-day1; return day2 - day1;
} }
} }
...@@ -532,13 +571,13 @@ public class DataController { ...@@ -532,13 +571,13 @@ public class DataController {
} }
//解析震动时间 //解析震动时间
public List<String> getTime(QueryResult queryResult){ public List<String> getTime(QueryResult queryResult) {
List<List<Object>> values = getValues(queryResult); List<List<Object>> values = getValues(queryResult);
List<String> time = new ArrayList<>(); List<String> time = new ArrayList<>();
for(List<Object> value:values){ for (List<Object> value : values) {
try { try {
time.add(UTCToCST(value.get(0).toString())); time.add(UTCToCST(value.get(0).toString()));
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.info(e.toString()); logger.info(e.toString());
} }
...@@ -546,15 +585,16 @@ public class DataController { ...@@ -546,15 +585,16 @@ public class DataController {
return time; return time;
} }
public String UTCToCST(String UTCStr) {
Date date =null ; public String UTCToCST(String UTCStr) {
Date date = null;
try { try {
if (UTCStr.length() != 20) { if (UTCStr.length() != 20) {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(UTCStr); date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(UTCStr);
} else { } else {
date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(UTCStr); date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(UTCStr);
} }
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.info(e.toString()); logger.info(e.toString());
} }
...@@ -566,246 +606,45 @@ public class DataController { ...@@ -566,246 +606,45 @@ public class DataController {
return String.valueOf(calendar.getTimeInMillis()); return String.valueOf(calendar.getTimeInMillis());
} }
public List<String> getShockLocation(QueryResult queryResult){
public List<String> getShockLocation(QueryResult queryResult) {
List<List<Object>> values = new ArrayList<>(); List<List<Object>> values = new ArrayList<>();
for(QueryResult.Result result : queryResult.getResults()){ for (QueryResult.Result result : queryResult.getResults()) {
if(result.getSeries() !=null){ if (result.getSeries() != null) {
for (QueryResult.Series series : result.getSeries()) { for (QueryResult.Series series : result.getSeries()) {
if(series !=null){ if (series != null) {
values.add(series.getValues().get(0)); values.add(series.getValues().get(0));
} }
} }
} }
} }
List<String> timeList = new ArrayList<>(); List<String> timeList = new ArrayList<>();
for(List<Object> value:values){ for (List<Object> value : values) {
timeList.add(parseTime(value.get(0).toString())); timeList.add(parseTime(value.get(0).toString()));
} }
return timeList; return timeList;
} }
public List<DeviceDataVo> getDeviceData(QueryResult queryResult){
public List<DeviceDataVo> getDeviceData(QueryResult queryResult) {
List<List<Object>> values = getValues(queryResult); List<List<Object>> values = getValues(queryResult);
List<DeviceDataVo> historyDataList = new ArrayList<>(); List<DeviceDataVo> historyDataList = new ArrayList<>();
for(List<Object> value:values){ for (List<Object> value : values) {
DeviceDataVo historyData = new DeviceDataVo(); DeviceDataVo historyData = new DeviceDataVo();
historyData.setTime(parseTime(value.get(0).toString())); historyData.setTime(parseTime(value.get(0).toString()));
historyData.setTemperature(value.get(1)==null ? "" :value.get(1).toString()); historyData.setTemperature(value.get(1) == null ? "" : value.get(1).toString());
historyData.setHumidity(value.get(2)==null ? "" :value.get(2).toString()); historyData.setHumidity(value.get(2) == null ? "" : value.get(2).toString());
historyData.setPressure(value.get(3)==null ? "" :value.get(3).toString()); historyData.setPressure(value.get(3) == null ? "" : value.get(3).toString());
historyData.setShockEnergy(value.get(4)==null ? "" :value.get(4).toString()); historyData.setShockEnergy(value.get(4) == null ? "" : value.get(4).toString());
historyData.setTiltAngle(value.get(5)==null ? "" :value.get(5).toString()); historyData.setTiltAngle(value.get(5) == null ? "" : value.get(5).toString());
historyDataList.add(historyData); historyDataList.add(historyData);
} }
return historyDataList; return historyDataList;
} }
public String getSQL(String field,String device,String tdl,Long startTime,Long endTime){ }
String sql="";
long times = (endTime - startTime) / 500;
for (int i = 0;i<500;i++){
Long maxTime = startTime + times;
sql = sql +String.format("Select %s From \"tdl_policy\".\"%s\" where \"tdl\"='%s' and time >= %d and time <= %d order by time limit 1;", field, device,tdl, startTime, maxTime);
startTime = maxTime;
}
sql = sql +"";
return sql;
}
//获取温度数据
// @ApiOperation(value = "获取温度数据",notes = "获取温度数据:" +
// " TDLSN:tdl编号," +
// " temperatureDataVos:," +
// " time:时间," +
// " value:温度数据.")
// @PostMapping("/getTemperature")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
// })
// public Object getTemperature(@RequestBody String transportationNo,HttpServletRequest request){
// String token = request.getHeader("Account_token");
// String datum = tokenRedisService.get("TOKEN_" +token);
// UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
// JSONObject jsonObject= JSON.parseObject(transportationNo);
// transportationNo=jsonObject.getString("transportationNo");
// ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo,user.getCompanyName());
// TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
// if(gatewayVo == null){
// fb.setCode(0);
// fb.setMessage("该线路未绑定gateway和tdl");
// return gson.toJson(fb);
// }
// String device = gatewayVo.getgType() +"_" +gatewayVo.getgSN();
// //获取tdl信息
// List<String> devList = tdlLogService.getTdlSN(transportationNo);
// Long startTime = resultCircuitVo.getStartTime() *1000000l;
// //SELECT "h" FROM "tdl_policy"."WTD93LG_20180314" WHERE "tdl" = 'tdl-0A0B0C0D0F' ORDER BY time DESC
// if(devList.size() == 0){
// fb.setCode(0);
// fb.setMessage("该线路未绑定gateway和tdl");
// return gson.toJson(fb);
// }
// List<Temperature> temperatures = new ArrayList<>();
// for( int i =0;i<devList.size();i++){
// Temperature temperature = new Temperature();
// temperature.setTDLSN(devList.get(i));
// String sql = "SELECT \"T\" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"=\'"+devList.get(i)+"\' and time >="+startTime+" ORDER BY time ";
// QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
// List<TemperatureDataVo> temperatureDataVos = new ArrayList<>();
// if(queryResult.getResults().get(0).getSeries() != null){
// //解析数据
// temperatureDataVos = getTemperature(queryResult);
// }
// temperature.setTemperatureDataVos(temperatureDataVos);
// temperatures.add(temperature);
// }
// return gson.toJson(temperatures);
// }
//
//
// //获取湿度数据
// @ApiOperation(value = "获取湿度数据",notes = "获取湿度数据:")
// @PostMapping("/getHumidity")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
// })
// public Object getHumidity(@RequestBody String transportationNo,HttpServletRequest request){
// String token = request.getHeader("Account_token");
// String datum = tokenRedisService.get("TOKEN_" +token);
// UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
// JSONObject jsonObject= JSON.parseObject(transportationNo);
// transportationNo=jsonObject.getString("transportationNo");
// ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo,user.getCompanyName());
// TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
// if(gatewayVo == null){
// fb.setCode(0);
// fb.setMessage("该线路未绑定gateway和tdl");
// return gson.toJson(fb);
// }
// String device = gatewayVo.getgType() +"_" +gatewayVo.getgSN();
// //获取tdl信息
// List<String> devList = tdlLogService.getTdlSN(transportationNo);
// //获取tdl信息
// if(devList.size() == 0){
// fb.setCode(0);
// fb.setMessage("没有数据");
// return gson.toJson(fb);
// }
// Long startTime = resultCircuitVo.getStartTime() *1000000l;
// List<Humidity> humidities = new ArrayList<>();
// for( int i =0;i<devList.size();i++){
// Humidity humidity = new Humidity();
// humidity.setTDLSN(devList.get(i));
// String sql = "SELECT \"h\" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"=\'"+devList.get(i)+"\' and time >="+startTime+" ORDER BY time ";
// QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
// List<HumidityDataVo> humidityDataVos = new ArrayList<>();
// if(queryResult.getResults().get(0).getSeries() != null){
// //解析数据
// humidityDataVos = getHumidity(queryResult);
// }
// humidity.setHumidityDataVoList(humidityDataVos);
// humidities.add(humidity);
// }
// return gson.toJson(humidities);
// }
//
//
// //获取倾斜度数据
// @ApiOperation(value = "获取倾斜度数据",notes = "获取倾斜度数据")
// @PostMapping("/getTiltAngle")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
// })
// public Object getTiltAngle(@RequestBody String transportationNo,HttpServletRequest request){
// String token = request.getHeader("Account_token");
// String datum = tokenRedisService.get("TOKEN_" +token);
// UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
// JSONObject jsonObject= JSON.parseObject(transportationNo);
// transportationNo=jsonObject.getString("transportationNo");
// ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo,user.getCompanyName());
// Long startTime = resultCircuitVo.getStartTime() *1000000l;
// TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
// if(gatewayVo == null){
// fb.setCode(0);
// fb.setMessage("该线路未绑定gateway和tdl");
// return gson.toJson(fb);
// }
// String device = gatewayVo.getgType() +"_" +gatewayVo.getgSN();
// //获取tdl信息
// List<String> devList = tdlLogService.getTdlSN(transportationNo);
// if(devList.size() == 0){
// fb.setCode(0);
// fb.setMessage("没有数据");
// return gson.toJson(fb);
// }
// List<TiltAngle> tiltAngles = new ArrayList<>();
// for( int i =0;i<devList.size();i++){
// TiltAngle tiltAngle = new TiltAngle();
// tiltAngle.setTDLSN(devList.get(i));
// String sql = "SELECT \"ta\" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"=\'"+devList.get(i)+"\' and time >="+startTime+" ORDER BY time ";
// QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
// List<TiltAngleVo> tiltAngleVos = new ArrayList<>();
// if(queryResult.getResults().get(0).getSeries() != null){
// //解析数据
// tiltAngleVos = getTiltAngle(queryResult);
// }
// tiltAngle.setShockEnergyVoList(tiltAngleVos);
// tiltAngles.add(tiltAngle);
// }
// return gson.toJson(tiltAngles);
// }
//
//
//
// //获取震动能量
// @ApiOperation(value = "获取震动能量",notes = "获取震动能量")
// @PostMapping("/getShockEnergy")
// @ApiImplicitParams({
// @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
// })
// public Object getShockEnergy(@RequestBody String transportationNo,HttpServletRequest request){
// String token = request.getHeader("Account_token");
// String datum = tokenRedisService.get("TOKEN_" +token);
// UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
// JSONObject jsonObject= JSON.parseObject(transportationNo);
// transportationNo=jsonObject.getString("transportationNo");
// ResultCircuitVo resultCircuitVo = circuitService.getByTransportationNo(transportationNo,user.getCompanyName());
// TDLLogVo gatewayVo = tdlLogService.getByTransportationNo(transportationNo);
// if(gatewayVo == null){
// fb.setCode(0);
// fb.setMessage("该线路未绑定gateway和tdl");
// return gson.toJson(fb);
// }
// String device = gatewayVo.getgType() +"_" +gatewayVo.getgSN();
// //获取tdl信息
// List<String> devList = tdlLogService.getTdlSN(transportationNo);
// Long startTime = resultCircuitVo.getStartTime() *1000000l;
// //获取tdl信息
// if(devList.size() == 0){
// fb.setCode(0);
// fb.setMessage("没有数据");
// return gson.toJson(fb);
// }
// List<ShockEnergy> shockEnergies = new ArrayList<>();
// for( int i =0;i<devList.size();i++){
// ShockEnergy shockEnergy = new ShockEnergy();
// shockEnergy.setTDLSN(devList.get(i));
// String sql = "SELECT \"a0\" FROM \"tdl_policy\".\""+device+"\" where \"tdl\"=\'"+devList.get(i)+"\' and time >="+startTime+" ORDER BY time ";
// QueryResult queryResult = influxDBTemplate.query(new Query(sql,database));
// List<ShockEnergyVo> shockEnergyVos = new ArrayList<>();
// if(queryResult.getResults().get(0).getSeries() != null){
// //解析数据
// shockEnergyVos = getShockEnergy(queryResult);
// }
// shockEnergy.setShockEnergyVoList(shockEnergyVos);
// shockEnergies.add(shockEnergy);
// }
// return gson.toJson(shockEnergies);
// }
//获取历史数据 // 获取历史数据
// @ApiOperation(value = "获取历史数据",notes = "获取历史数据:") // @ApiOperation(value = "获取历史数据",notes = "获取历史数据:")
// @PostMapping("/getHistoryData") // @PostMapping("/getHistoryData")
// @ApiImplicitParams({ // @ApiImplicitParams({
...@@ -989,9 +828,9 @@ public class DataController { ...@@ -989,9 +828,9 @@ public class DataController {
// resultCircuit.setCircuitState(resultCircuitVo.getCircuitState()); // resultCircuit.setCircuitState(resultCircuitVo.getCircuitState());
// return gson.toJson(resultCircuit); // return gson.toJson(resultCircuit);
// } // }
//
//
//// 根据时间获取经纬度信息 // 根据时间获取经纬度信息
// @ApiOperation(value = "根据时间获取经纬度信息",notes = "根据时间获取经纬度信息" + // @ApiOperation(value = "根据时间获取经纬度信息",notes = "根据时间获取经纬度信息" +
// "transportationNo:运输编号" + // "transportationNo:运输编号" +
// "TDLSN:tdl编号" + // "TDLSN:tdl编号" +
...@@ -1086,7 +925,9 @@ public class DataController { ...@@ -1086,7 +925,9 @@ public class DataController {
// } // }
// return gson.toJson(deviceDataVos); // return gson.toJson(deviceDataVos);
// } // }
//// 获取实时数据 //
//
// // 获取实时数据
// @ApiOperation(value = "获取实时数据",notes = "获取实时数据") // @ApiOperation(value = "获取实时数据",notes = "获取实时数据")
// @ApiImplicitParams({ // @ApiImplicitParams({
// @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"), // @ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
...@@ -1138,4 +979,4 @@ public class DataController { ...@@ -1138,4 +979,4 @@ public class DataController {
// } // }
// return gson.toJson(liveDataVos); // return gson.toJson(liveDataVos);
// } // }
} //}
\ No newline at end of file \ No newline at end of file
...@@ -8,6 +8,7 @@ import com.example.tdl.service.AlarmLogService; ...@@ -8,6 +8,7 @@ import com.example.tdl.service.AlarmLogService;
import com.example.tdl.service.CircuitService; import com.example.tdl.service.CircuitService;
import com.example.tdl.service.TDLLogService; import com.example.tdl.service.TDLLogService;
import com.example.tdl.service.WarehouseService;
import com.example.tdl.service.redis.InfoRedisService; import com.example.tdl.service.redis.InfoRedisService;
import com.example.tdl.service.redis.TokenRedisService; import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -56,6 +57,9 @@ public class HomePageController { ...@@ -56,6 +57,9 @@ public class HomePageController {
@Autowired @Autowired
private InfoRedisService infoRedisService; private InfoRedisService infoRedisService;
@Autowired
private WarehouseService warehouseService;
private final static String database ="original"; private final static String database ="original";
@Autowired @Autowired
...@@ -110,8 +114,10 @@ public class HomePageController { ...@@ -110,8 +114,10 @@ public class HomePageController {
dataVo.setDelay(delay);//延误数量 dataVo.setDelay(delay);//延误数量
dataVo.setAlarmed( alarmLogServcie.getCount(time,user.getCompanyNo()));//报警数量 dataVo.setAlarmed( alarmLogServcie.getCount(time,user.getCompanyNo()));//报警数量
dataVo.setBump(alarmLogServcie.getBumpCount(time,user.getCompanyNo())); //获取颠簸数量 dataVo.setBump(alarmLogServcie.getBumpCount(time,user.getCompanyNo())); //获取颠簸数量
dataVo.setAlarmLogVoList(alarmLogServcie.getAlarmLog(time,user.getCompanyNo()));//报警列表 // dataVo.setAlarmLogVoList(alarmLogServcie.getAlarmLog(time,user.getCompanyNo()));//报警列表
dataVo.setWarehouseVoList(warehouseService.getAll(user.getCompanyNo()));
List<HistogramData> list = alarmLogServcie.getByCount(time,user.getCompanyNo());//获取报警柱状图 List<HistogramData> list = alarmLogServcie.getByCount(time,user.getCompanyNo());//获取报警柱状图
//获取所有的仓库数据
for(int j = 0,length = list.size();j<length;j++){ for(int j = 0,length = list.size();j<length;j++){
if(list.get(j).getClassify().equals("5")){ if(list.get(j).getClassify().equals("5")){
Integer count = list.get(j).getCount() +delay; Integer count = list.get(j).getCount() +delay;
......
...@@ -74,34 +74,34 @@ public class PicUploadController { ...@@ -74,34 +74,34 @@ public class PicUploadController {
return gson.toJson(fb); return gson.toJson(fb);
}else{ }else{
if("truck".equals(imageType)){ if("truck".equals(imageType)){
if(sourceImg.getHeight()>90){ if(sourceImg.getWidth()>90){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>60){ if(sourceImg.getHeight()>60){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
}else if("warehouse".equals(imageType)){ }else if("warehouse".equals(imageType)){
if(sourceImg.getHeight()>150){ if(sourceImg.getWidth()>150){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>120){ if(sourceImg.getHeight()>120){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
}else if("company".equals(imageType)){ }else if("company".equals(imageType)){
if(sourceImg.getHeight()>24){ if(sourceImg.getWidth()>24){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>24){ if(sourceImg.getHeight()>24){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
...@@ -186,34 +186,34 @@ public class PicUploadController { ...@@ -186,34 +186,34 @@ public class PicUploadController {
return gson.toJson(fb); return gson.toJson(fb);
} }
if("truck".equals(imageType)){ if("truck".equals(imageType)){
if(sourceImg.getHeight()>90){ if(sourceImg.getWidth()>90){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>60){ if(sourceImg.getHeight()>60){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
}else if("warehouse".equals(imageType)){ }else if("warehouse".equals(imageType)){
if(sourceImg.getHeight()>150){ if(sourceImg.getWidth()>150){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>120){ if(sourceImg.getHeight()>120){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
}else if("company".equals(imageType)){ }else if("company".equals(imageType)){
if(sourceImg.getHeight()>24){ if(sourceImg.getWidth()>24){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
} }
if(sourceImg.getWidth()>24){ if(sourceImg.getHeight()>24){
fb.setCode(0); fb.setCode(0);
fb.setMessage("上传图片尺寸不正确"); fb.setMessage("上传图片尺寸不正确");
return gson.toJson(fb); return gson.toJson(fb);
...@@ -279,5 +279,4 @@ public class PicUploadController { ...@@ -279,5 +279,4 @@ public class PicUploadController {
return gson.toJson(fb); return gson.toJson(fb);
} }
} }
...@@ -162,10 +162,6 @@ resetPasswordSuccess = \u91CD\u7F6E\u5BC6\u7801\u6210\u529F ...@@ -162,10 +162,6 @@ resetPasswordSuccess = \u91CD\u7F6E\u5BC6\u7801\u6210\u529F
resetPasswordFailure = \u91CD\u7F6E\u5BC6\u7801\u5931\u8D25 resetPasswordFailure = \u91CD\u7F6E\u5BC6\u7801\u5931\u8D25
modifiedPasswordSuccess = \u4FEE\u6539\u5BC6\u7801\u6210\u529F modifiedPasswordSuccess = \u4FEE\u6539\u5BC6\u7801\u6210\u529F
modifiedPasswordFailure = \u4FEE\u6539\u5BC6\u7801\u5931\u8D25 modifiedPasswordFailure = \u4FEE\u6539\u5BC6\u7801\u5931\u8D25
systemManage = \u7CFB\u7EDF\u7BA1\u7406\u5458
superManage = \u8D85\u7EA7\u7BA1\u7406\u5458
warehouse = \u4ED3\u5E93\u7BA1\u7406\u5458
transportManage = \u8FD0\u8F93\u7BA1\u7406\u5458
null = \u53D1\u751F\u7A7A\u6307\u9488\u5F02\u5E38 null = \u53D1\u751F\u7A7A\u6307\u9488\u5F02\u5E38
illegal = \u8BF7\u6C42\u53C2\u6570\u7C7B\u578B\u4E0D\u5339\u914D illegal = \u8BF7\u6C42\u53C2\u6570\u7C7B\u578B\u4E0D\u5339\u914D
sql = \u6570\u636E\u5E93\u8BBF\u95EE\u5F02\u5E38 sql = \u6570\u636E\u5E93\u8BBF\u95EE\u5F02\u5E38
...@@ -259,3 +255,5 @@ deleteFailure=\u5220\u9664\u89D2\u8272\u5931\u8D25 ...@@ -259,3 +255,5 @@ deleteFailure=\u5220\u9664\u89D2\u8272\u5931\u8D25
#\u4ED3\u5E93\u6570\u636E\u4E0B\u8F7D #\u4ED3\u5E93\u6570\u636E\u4E0B\u8F7D
downloadStartTime=\u67E5\u8BE2\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A downloadStartTime=\u67E5\u8BE2\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A
downloadEndTime=\u67E5\u8BE2\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A downloadEndTime=\u67E5\u8BE2\u7ED3\u675F\u65F6\u95F4\u4E0D\u80FD\u4E3A\u7A7A
#\u4F20\u611F\u5668
TDL =\u4F20\u611F\u5668\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
<select id="getAll" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String"> <select id="getAll" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String">
SELECT carNo,type,a.img,companyName,remark SELECT carNo,type,a.img,companyName,remark
from car a INNER JOIN company c ON a.company_id=c.id from car a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR} WHERE c.companyNo=#{companyNo,jdbcType=VARCHAR}
</select> </select>
<!--根据车牌号查询--> <!--根据车牌号查询-->
<select id="getByCarNo" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String"> <select id="getByCarNo" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String">
SELECT carNo,type,a.img,companyName,remark SELECT carNo,type,a.img,companyName,remark
from car a INNER JOIN company c ON a.company_id=c.id from car a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR} WHERE c.companyNo=#{companyNo,jdbcType=VARCHAR}
AND carNo=#{carNo,jdbcType=VARCHAR} AND carNo=#{carNo,jdbcType=VARCHAR}
</select> </select>
...@@ -20,18 +20,18 @@ ...@@ -20,18 +20,18 @@
<select id="getByCarNoForLike" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String"> <select id="getByCarNoForLike" resultType="com.example.tdl.domain.vo.ResultCarVo" parameterType="String">
SELECT carNo,type,a.img,companyName,remark SELECT carNo,type,a.img,companyName,remark
from car a INNER JOIN company c ON a.company_id=c.id from car a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyName=#{companyName,jdbcType=VARCHAR} WHERE c.companyNo=#{companyNo,jdbcType=VARCHAR}
AND carNo LIKE CONCAT(CONCAT('%',#{carNo,jdbcType=VARCHAR}), '%') AND carNo LIKE CONCAT(CONCAT('%',#{carNo,jdbcType=VARCHAR}), '%')
</select> </select>
<!--添加车辆信息--> <!--添加车辆信息-->
<insert id="addCar" parameterType="com.example.tdl.domain.vo.ResultCarVo"> <insert id="addCar" parameterType="com.example.tdl.domain.vo.AddCarVo">
INSERT INTO car VALUES ( INSERT INTO car VALUES (
NULL , NULL ,
#{carNo,jdbcType=VARCHAR}, #{carNo,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{img,jdbcType=VARCHAR}, #{img,jdbcType=VARCHAR},
(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR}), (SELECT id from company where companyNo=#{companyNo,jdbcType=VARCHAR}),
#{remark,jdbcType=VARCHAR} #{remark,jdbcType=VARCHAR}
) )
</insert> </insert>
...@@ -54,4 +54,11 @@ ...@@ -54,4 +54,11 @@
update car set img=#{img,jdbcType=VARCHAR} WHERE carNo=#{carNo,jdbcType=VARCHAR} update car set img=#{img,jdbcType=VARCHAR} WHERE carNo=#{carNo,jdbcType=VARCHAR}
</update> </update>
<select id="getTruckNo" resultType="com.example.tdl.domain.vo.TruckNo" parameterType="String">
SELECT carNo
from car a INNER JOIN company c ON a.company_id=c.id
WHERE c.companyNo=#{companyNo,jdbcType=VARCHAR}
AND carNo LIKE CONCAT(CONCAT('%',#{carNo,jdbcType=VARCHAR}), '%')
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -89,8 +89,8 @@ ...@@ -89,8 +89,8 @@
</update> </update>
<select id="getTransportationNo" parameterType="String" resultType="String"> <select id="getTransportationNo" parameterType="String" resultType="String">
select transportationNo from circuit select DISTINCT transportationNo from circuit
where id = (select circuit_id from tdldevice where id in (select circuit_id from tdldevice
where gateway_id =(SELECT id from gateway where SN=#{SN,jdbcType=VARCHAR} where gateway_id =(SELECT id from gateway where SN=#{SN,jdbcType=VARCHAR}
AND type=#{type,jdbcType=VARCHAR})) AND type=#{type,jdbcType=VARCHAR}))
</select> </select>
......
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
</select> </select>
<select id="getWarehouseDetailByNo" parameterType="String" resultType="com.example.tdl.domain.vo.WarehouseDetailVo"> <select id="getWarehouseDetailByNo" parameterType="String" resultType="com.example.tdl.domain.vo.WarehouseDetailVo">
SELECT warehouseNo,warehouseName,c.country,c.city,addressDetail,(SELECT COUNT(DISTINCT gatewaySN) from tdl_gateway_log WHERE warehouseNo=w.warehouseNo and ISNULL(endTime)) gatewayCounts, SELECT img,warehouseNo,warehouseName,c.country,c.city,addressDetail,(SELECT COUNT(DISTINCT gatewaySN) from tdl_gateway_log WHERE warehouseNo=w.warehouseNo and ISNULL(endTime)) gatewayCounts,
(SELECT COUNT(TDLSN) from tdl_gateway_log WHERE warehouseNo=w.warehouseNo and ISNULL(endTime)) tdlCounts,property,type,hardwareLevel,areaPlanIndoor (SELECT COUNT(TDLSN) from tdl_gateway_log WHERE warehouseNo=w.warehouseNo and ISNULL(endTime)) tdlCounts,property,type,hardwareLevel,areaPlanIndoor
from warehouse w INNER JOIN city c ON w.city_id=c.id from warehouse w INNER JOIN city c ON w.city_id=c.id
where warehouseNo=#{warehouseNo,jdbcType=VARCHAR} where warehouseNo=#{warehouseNo,jdbcType=VARCHAR}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment