Commit fa694a53 authored by zhuangzhuang's avatar zhuangzhuang

4.19-增加获取报警信息的接口

parent 5341dd21
-----BEGIN CERTIFICATE-----
MIIDpzCCAo+gAwIBAgIJAPSf0joIQuzvMA0GCSqGSIb3DQEBDQUAMGoxFzAVBgNV
MIIDpzCCAo+gAwIBAgIJAKFUJxy8GWeRMA0GCSqGSIb3DQEBDQUAMGoxFzAVBgNV
BAMMDkFuIE1RVFQgYnJva2VyMRYwFAYDVQQKDA1Pd25UcmFja3Mub3JnMRQwEgYD
VQQLDAtnZW5lcmF0ZS1DQTEhMB8GCSqGSIb3DQEJARYSbm9ib2R5QGV4YW1wbGUu
bmV0MB4XDTE3MTIxODA1NTQyN1oXDTMyMTIxNDA1NTQyN1owajEXMBUGA1UEAwwO
bmV0MB4XDTE4MDQxNjAzNDQ1MVoXDTMyMDQxMjAzNDQ1MVowajEXMBUGA1UEAwwO
QW4gTVFUVCBicm9rZXIxFjAUBgNVBAoMDU93blRyYWNrcy5vcmcxFDASBgNVBAsM
C2dlbmVyYXRlLUNBMSEwHwYJKoZIhvcNAQkBFhJub2JvZHlAZXhhbXBsZS5uZXQw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD7xqyFWDSb+6nGAE5O++oR
/fRsMoWRI13qUqy1RHQ/P2y+D2jj41m0XKEvoqPwbMKwiOPQXz5CJ9fSc6j2YUuE
r2FVEb78MprvusFpYWHYk9ammBK4AQ2sW+Y6PgsXBmq9uejhlayF9frBZCqvz/Fl
It60ZEKxv5/hHi5T9cIrphbSsJAzXPXL0qhqeaHLcgBzJVZ7/pMxAQYE0XzgHMma
qbUFV4UK8HSilkv5q4OaEkd6vyLPcMRsqx77oksJjXcn2cdJGcbLKKM2y96p/s2I
jxkeSx+Z7mRLMB5mis+ucVWrtLNEjFO1Vry0nJDtX8m6/mubqqo5PZ+NL0puQ8Y1
AgMBAAGjUDBOMB0GA1UdDgQWBBSJeQbZY2YHxfORj42yZLfU6Ehn0TAfBgNVHSME
GDAWgBSJeQbZY2YHxfORj42yZLfU6Ehn0TAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBDQUAA4IBAQDVQUa2E4DUz3sV4l+PoDd+/pHFpDTfhc0jgwaDZ3Bveu0Bhhhq
5wKQN3CXHZDPkhKeKAeqbLDcqyUccU7pMstpWS/fNNbKkYrMLvRG2aBg51zBa6Nl
h5lHLYwgwL9MBJMKaWyZMXjmOleuw6Sktj2GeJcUoQwjp07CfwoO+sTlZoRSzyfq
B8qzC9oXVAvftwHxr6OI7WzuSm0R3F35SiO+CEdnVdRnyF3GudERCaCkhUdra5ea
uPlJ7jaVG659m0/S14w5qkIserNrIZp2xTNlFET9+AZJwUXO9LvlVy0tdDNqKc5P
Xr1Tewwl0zBr5V19x7MF9kTF24xJMLJj+bEO
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSfnuPAC7X7PCdesjFUAnA
V0/x745iDaAyzpMFoNhubCumswHXglItU5MuVXbtXGcix2aKfw7DndTA92lRxn9z
llbrrfzniVxyH+4F1/fFNqCzFY38eVGCD1mCYLyd7ekHHJCYRw17rLfmJIU6VKSU
YrX2zdRVe7Dk9EktjWZh7YRDvR7aNMAF4UTPv/KS8E+jTUx6Rutiy/HYGxo+Cj1p
xkSewWaqAvEIl8yhbEhsUqbgrO25jbPXIUrtSG6LMTIpHrg2RwR0HC4MQ3xH1ixu
lkmSJVkibRTAEN2ZI8O3FmPg4SUPxq5ROu2u+1uP9sbQFKICEBKGY0ug8I6oa5Kv
AgMBAAGjUDBOMB0GA1UdDgQWBBRLl4XcCNJGkjncNvX/qRnm+PnCTjAfBgNVHSME
GDAWgBRLl4XcCNJGkjncNvX/qRnm+PnCTjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBDQUAA4IBAQBXJPoo7vQTqvuoE7W8zfyN5xSfdIaU+LdXTXrpSt0f3Zkrwo3n
aq9nsU89KWhmBzISDXjpa/Bd3jsCu/iiibsnOK7WsrjWeulai/9rh4cIK+r8q1CF
VEf/PkL6JoTU7lMKDdEIZbata6Tp/Oo5CFggqS4s4W0uM6H1pgiQzue8QLUyMwyi
2V8AOxa6RKFT4Lyp1BoBHE1FRq/zHarsuqKRlomCULAGwxS2UbxuX80py0vBEg6d
Kj6Rmb/0aSYENq99SHiwRn2N52M6YTXBsJ0ftqL7XFwH52nHvPy0kULvmNw57fr3
40EaqX1vgXPFBBmj9/JvWtilDl1AmMuXq7Mj
-----END CERTIFICATE-----
......@@ -173,9 +173,7 @@ public class GWConfigWorker implements Callable<String>, MqttCallback {
//解析Message消息
RespVo respVo = new Gson().fromJson(Message,RespVo.class);
if(respVo.getResponse().equals("config")){
// logger.info(SN);
// logger.info(Type);
// logger.info(""+respVo.getStatus());
System.out.print(gson.toJson(respVo));
//配置回复
configService.bindiSuccess(SN,Type,respVo.getStatus());
}else{
......@@ -189,12 +187,15 @@ public class GWConfigWorker implements Callable<String>, MqttCallback {
}
mqttAsyncClient.disconnect();
} catch (JsonSyntaxException e){
mqttAsyncClient.disconnect();
e.printStackTrace();
System.out.println("mqttAsyncClient: message " + Message + " received syntax error.");
} catch (IllegalStateException e){
mqttAsyncClient.disconnect();
e.printStackTrace();
System.out.println("mqttAsyncClient: " + e);
} catch (Exception e){
mqttAsyncClient.disconnect();
e.printStackTrace();
logger.info(e.toString());
}
......
package com.example.tdl.domain.vo;
public class AlarmTermVo {
private String transportationNo;
private String description;
private String startCity;
private String endCity;
private Long startTime;
private Long endTime;
public String getTransportationNo() {
return transportationNo;
}
public void setTransportationNo(String transportationNo) {
this.transportationNo = transportationNo;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getStartCity() {
return startCity;
}
public void setStartCity(String startCity) {
this.startCity = startCity;
}
public String getEndCity() {
return endCity;
}
public void setEndCity(String endCity) {
this.endCity = endCity;
}
public Long getStartTime() {
return startTime;
}
public void setStartTime(Long startTime) {
this.startTime = startTime;
}
public Long getEndTime() {
return endTime;
}
public void setEndTime(Long endTime) {
this.endTime = endTime;
}
}
......@@ -3,6 +3,8 @@ package com.example.tdl.domain.vo;
public class CircuitTransferVo {
private String city;
private String address;
private Long startTime;
private Long arrivalTime;
......@@ -17,6 +19,14 @@ public class CircuitTransferVo {
this.city = city;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Long getStartTime() {
return startTime;
}
......
package com.example.tdl.domain.vo;
public class ResultAlarmLogVo {
private String transportationNo;
private String cargoNo;
private String startCity;
private String endCity;
private String description;
private Long alarmTime;
public String getTransportationNo() {
return transportationNo;
}
public void setTransportationNo(String transportationNo) {
this.transportationNo = transportationNo;
}
public String getCargoNo() {
return cargoNo;
}
public void setCargoNo(String cargoNo) {
this.cargoNo = cargoNo;
}
public String getStartCity() {
return startCity;
}
public void setStartCity(String startCity) {
this.startCity = startCity;
}
public String getEndCity() {
return endCity;
}
public void setEndCity(String endCity) {
this.endCity = endCity;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Long getAlarmTime() {
return alarmTime;
}
public void setAlarmTime(Long alarmTime) {
this.alarmTime = alarmTime;
}
}
......@@ -4,6 +4,8 @@ public class ResultCityVo {
private String city;
private String address;
private Long time;
private String last;
......@@ -20,6 +22,14 @@ public class ResultCityVo {
this.city = city;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Long getTime() {
return time;
}
......
......@@ -6,6 +6,10 @@ public class AlarmLog {
private String transportationNo;
private String startCity;
private String endCity;
private String TDLSN;
private String description;
......@@ -16,8 +20,10 @@ public class AlarmLog {
private String classify;
public AlarmLog(String transportationNo, String TDLSN, String description, Float data, Long alarmTime, String classify) {
public AlarmLog( String transportationNo, String startCity, String endCity, String TDLSN, String description, Float data, Long alarmTime, String classify) {
this.transportationNo = transportationNo;
this.startCity = startCity;
this.endCity = endCity;
this.TDLSN = TDLSN;
this.description = description;
this.data = data;
......@@ -41,6 +47,22 @@ public class AlarmLog {
this.transportationNo = transportationNo;
}
public String getStartCity() {
return startCity;
}
public void setStartCity(String startCity) {
this.startCity = startCity;
}
public String getEndCity() {
return endCity;
}
public void setEndCity(String endCity) {
this.endCity = endCity;
}
public String getTDLSN() {
return TDLSN;
}
......
package com.example.tdl.mapper;
import com.example.tdl.domain.vo.AddAlarmLogVo;
import com.example.tdl.domain.vo.AlarmLogVo;
import com.example.tdl.domain.vo.HistogramData;
import com.example.tdl.domain.vo.ResultAlarmLog;
import com.example.tdl.domain.vo.*;
import com.example.tdl.entity.AlarmLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -30,4 +27,6 @@ public interface AlarmLogMapper {
List<HistogramData> getByCount(String time);
Integer getByTime(@Param("transportationNo") String transportationNo,@Param("startTime") Long startTime, @Param("endTime") Long endTime);
List<ResultAlarmLogVo> getAlarm(AlarmTermVo alarmTermVo);
}
......@@ -17,6 +17,8 @@ public interface CircuitMapper {
int add(Map<Object,Object> map);
int endCircuit(Map<Object,Object> map);
int updateCircuit(Map<Object,Object> map);
int updateEndTime(UpdateCircuitVo updateCircuitVo);
......@@ -25,6 +27,8 @@ public interface CircuitMapper {
int delCircuit(String transportationNo);
int deleteCircuit(Map<Object,Object> map);
ResultCircuitVo getByTransportationNo(@Param("transportationNo") String transportationNo,@Param("companyName") String companyName);
Integer getOnRoute(@Param("time") String time,@Param("companyName") String companyName);
......@@ -37,6 +41,8 @@ public interface CircuitMapper {
ResultCircuitForAppVo getByTransportationNoForApp(@Param("transportationNo") String transportationNo,@Param("companyName") String companyName);
ResultCircuitVo getCircuit(String transportationNo);
List<ResultCircuitVo> getByCircuitState(@Param("circuitState") Integer circuitState,@Param("companyName") String companyName);
int updateEvaluate(UpdateEvaluateVo updateEvaluateVo);
......
......@@ -123,6 +123,7 @@ public class MqttListener implements MqttCallback {
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
String Message = mqttMessage.toString();
System.out.print(Message);
Long timestamp = System.currentTimeMillis();
String[] tmparray = topic.split("/");
String Type = tmparray[1];
......@@ -130,7 +131,7 @@ public class MqttListener implements MqttCallback {
if(SN.matches("^[0-9]*$")){
try {
Integer flag = parseData(Message,SN,Type);
// String ConfigData ="{\"action\":\"config\"}";
System.out.print(System.currentTimeMillis()+"------"+flag +"------");
String ConfigData;
Future<String> result = null;
GWConfigWorker gcconfig = null;
......@@ -154,7 +155,6 @@ public class MqttListener implements MqttCallback {
mqttconfig.getUsername(), mqttconfig.getPassword(),mqttconfig.getQos(),
mqttconfig.getCacrt(),mqttconfig.getClientkey(), mqttconfig.getClientcrt(),mqttconfig.getClientpwd());
result = configthreadPool.submit(gcconfig);
// while (result.isDone())
// {
// String respcmd = result.get();
......@@ -186,11 +186,11 @@ public class MqttListener implements MqttCallback {
}
// 有设备信息
ConfigVo configVo = configService.getConfig(SN,Type);
ConfigCMDVo configCMDVo = new Gson().fromJson(configVo.getMessage(),ConfigCMDVo.class);
if(configVo.getUntie()){
if(StringUtils.isEmpty(configVo.getMessage())){
//解绑状态
return 2;//解绑
}
ConfigCMDVo configCMDVo = new Gson().fromJson(configVo.getMessage(),ConfigCMDVo.class);
//判断两者的devList是否一致
if (configCMDVo.getDevList().containsAll(checkInVo.getDevList())
&& checkInVo.getDevList().containsAll(configCMDVo.getDevList())
......
package com.example.tdl.service;
import com.example.tdl.domain.vo.AddAlarmLogVo;
import com.example.tdl.domain.vo.AlarmLogVo;
import com.example.tdl.domain.vo.HistogramData;
import com.example.tdl.domain.vo.ResultAlarmLog;
import com.example.tdl.domain.vo.*;
import com.example.tdl.entity.AlarmLog;
import com.example.tdl.mapper.AlarmLogMapper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -50,5 +47,9 @@ public class AlarmLogService {
return alarmLogMapper.getByTime(transportationNo,startTime,endTime);
}
public List<ResultAlarmLogVo> getAlarm(AlarmTermVo alarmTermVo){
return alarmLogMapper.getAlarm(alarmTermVo);
}
}
......@@ -30,6 +30,10 @@ public class CircuitService {
return circuitMapper.add(map);
}
public int endCircuit(Map<Object,Object> map){
return circuitMapper.endCircuit(map);
}
public int updateCircuit(Map<Object,Object> map){
return circuitMapper.updateCircuit(map);
}
......@@ -47,6 +51,11 @@ public class CircuitService {
return circuitMapper.delCircuit(transportationNo);
}
public int deleteCircuit(Map<Object,Object> map){
return circuitMapper.deleteCircuit(map);
}
public ResultCircuitVo getByTransportationNo(String transportationNo,String companyName){
return circuitMapper.getByTransportationNo(transportationNo,companyName);
}
......@@ -55,6 +64,9 @@ public class CircuitService {
return circuitMapper.getByTransportationNoForApp(transportationNo,companyName);
}
public ResultCircuitVo getCircuit(String transportationNo){
return circuitMapper.getCircuit(transportationNo);
}
public Integer getOnRoute(String time,String comapnyName){
return circuitMapper.getOnRoute(time,comapnyName);
}
......
......@@ -2,12 +2,17 @@ package com.example.tdl.web;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.AddAlarmLogVo;
import com.example.tdl.domain.vo.AlarmTermVo;
import com.example.tdl.domain.vo.ResultCircuit;
import com.example.tdl.domain.vo.ResultCircuitVo;
import com.example.tdl.entity.AlarmLog;
import com.example.tdl.service.AlarmLogService;
import com.example.tdl.service.CircuitService;
import com.example.tdl.service.GatewayService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -33,9 +38,12 @@ public class AlarmLogController {
@Autowired
private GatewayService gatewayService;
@Autowired
private CircuitService circuitService;
//新增报警消息
@ApiOperation(value = "增加报警",notes = "增加报警")
@RequestMapping(value = "/addAlarmLog",method = RequestMethod.POST)
public String addAlarmLog(@RequestBody String addAlarmLog){
logger.info(addAlarmLog);
......@@ -65,6 +73,8 @@ public class AlarmLogController {
map.put(5,"未知");
//根据gateway的信息获取线路信息
String transportationNo = gatewayService.getTransportationNo(addAlarmLogVo.getGsn(),addAlarmLogVo.getGtype());
//获取终点,起点
ResultCircuitVo resultCircuitVo = circuitService.getCircuit(transportationNo);
for(int i = 0;i<addAlarmLogVo.getAlarm().size();i++){
String classify="";
String desp = "";
......@@ -89,7 +99,7 @@ public class AlarmLogController {
desp = addAlarmLogVo.getAlarm().get(i).getTdlsn()+"离线";
classify = "6";
}
AlarmLog alarmLog = new AlarmLog(transportationNo,addAlarmLogVo.getAlarm().get(i).getTdlsn().replace("TDL-","").trim(),desp,addAlarmLogVo.getAlarm().get(i).getValue(),addAlarmLogVo.getAlarm().get(i).getTs()*1000,classify);
AlarmLog alarmLog = new AlarmLog(transportationNo,resultCircuitVo.getStartCity(),resultCircuitVo.getEndCity(),addAlarmLogVo.getAlarm().get(i).getTdlsn().replace("TDL-","").trim(),desp,addAlarmLogVo.getAlarm().get(i).getValue(),addAlarmLogVo.getAlarm().get(i).getTs()*1000,classify);
int a = alarmLogServcie.addAlarmLog(alarmLog);
if(a == 0){
fb.setCode(0);
......@@ -101,4 +111,44 @@ public class AlarmLogController {
}
return gson.toJson(fb);
}
//获取报警信息
@ApiOperation(value = "获取报警信息",notes = "获取报警信息" +
"transportationNo:运输编号" +
"description:报警内容" +
"startCity:启运城市" +
"endCity:目的城市" +
"startTime:出发时间(时间戳)" +
"endTime:结束时间(时间戳)" +
"返回值: transportationNo:运输编号" +
"cargoNo:货号" +
"startCity:启运城市" +
"endCity:目的城市" +
"description:报警内容" +
"alarmTime:报警时间" )
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@PostMapping("/getAlarm")
public Object getAlarm(@RequestBody AlarmTermVo alarmTermVo ){
if(StringUtils.isEmpty(alarmTermVo.getTransportationNo())){
alarmTermVo.setTransportationNo(null);
}
if(StringUtils.isEmpty(alarmTermVo.getDescription())){
alarmTermVo.setDescription(null);
}
if(StringUtils.isEmpty(alarmTermVo.getEndCity())){
alarmTermVo.setEndCity(null);
}
if(StringUtils.isEmpty(alarmTermVo.getStartCity())){
alarmTermVo.setStartCity(null);
}
if(alarmTermVo.getStartTime()==null){
alarmTermVo.setStartTime(null);
}
if(alarmTermVo.getDescription()==null){
alarmTermVo.setEndTime(null);
}
return alarmLogServcie.getAlarm(alarmTermVo);
}
}
......@@ -477,7 +477,7 @@ public class DataController {
List<HistoryData> historyDataList = new ArrayList<>();
for(List<Object> value:values){
HistoryData historyData = new HistoryData();
historyData.setTime(UTCToCST(value.get(0).toString()));
historyData.setTime(parseTime(value.get(0).toString()));
historyData.setValue(value.get(1)==null ? "" :value.get(1).toString());
historyDataList.add(historyData);
}
......@@ -686,7 +686,6 @@ public class DataController {
return historyDataList;
}
// 根据运输编号获取路线以及设备信息
// @ApiOperation(value = "获取路线以及设备信息",notes = "获取路线以及设备信息" +
// "transportationNo:运输编号" +
......
......@@ -186,7 +186,7 @@ public class EquipmentBindingController {
map.put("gSN",resultTDLDeviceVo.getGatewaySN());
map.put("gType",resultTDLDeviceVo.getGatewayType());
map.put("message",gson.toJson(configCMDVo));
map.put("untie",true);
map.put("untie",false);
map.put("TDLSN",TDLSN);
map.put("endTime",System.currentTimeMillis());
configService.updateConfig(map);
......
......@@ -91,6 +91,7 @@ public class HomePageController {
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
JSONObject jsonObject= JSON.parseObject(time);
time=(String) jsonObject.get("time");
time = time.replace("天","").trim();
//获取数量
HomePageDataVo dataVo = new HomePageDataVo();
//获取所有的线路数量
......
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tdlCloud?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.url=jdbc:mysql://192.168.1.16:3306/tdlCloud?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.password=37774020
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
threadpool.corepoolsize = 30
......
......@@ -24,6 +24,9 @@
values(
null,
#{transportationNo,jdbcType=VARCHAR},
#{startCity,jdbcType=VARCHAR},
#{endCity,jdbcType=VARCHAR},
#{transportationNo,jdbcType=VARCHAR},
#{TDLSN,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR},
#{data,jdbcType=FLOAT},
......@@ -68,4 +71,27 @@
where transportationNo= #{transportationNo,jdbcType=VARCHAR}
and alarmTime between #{startTime,jdbcType=BIGINT} and #{endTime,jdbcType=BIGINT}
</select>
<select id="getAlarm" parameterType="com.example.tdl.domain.vo.AlarmTermVo" resultType="com.example.tdl.domain.vo.ResultAlarmLogVo">
select c.transportationNo,al.startCity,al.endCity,c.cargoNo,al.description,al.alarmTime from alarm_log al,circuit c
where al.transportationNo =c.transportationNo
<if test="transportationNo!=null">
AND c.transportationNo = #{transportationNo,jdbcType=VARCHAR}
</if>
<if test="description!=null">
AND al.description = #{description,jdbcType=VARCHAR}
</if>
<if test="startCity!=null">
AND al.startCity = #{startCity,jdbcType=VARCHAR}
</if>
<if test="endCity!=null">
AND al.endCity = #{endCity,jdbcType=VARCHAR}
</if>
<if test="startTime!=null">
AND c.startTime &gt;= #{startTime,jdbcType=INTEGER}
</if>
<if test="endTime!=null">
AND c.endTime &lt;= #{endTime,jdbcType=INTEGER}
</if>
</select>
</mapper>
\ No newline at end of file
......@@ -196,10 +196,10 @@
<!--延误数量-->
<select id="getDelayCount" resultType="java.lang.Integer" >
select GROUP_CONCAT(id),count(id) from circuit where state =1
select count(id) from circuit where state =1
AND DATE_SUB(CURDATE(), INTERVAL #{time,jdbcType=VARCHAR} DAY) &lt;= date(FROM_UNIXTIME(createTime/1000,'%Y-%m-%d %H:%i:%s'))
AND company_id=(SELECT id from company where companyName="上海辉度")
AND endtime > compTime or compTime &lt; #{compTime,jdbcType=BIGINT}
AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
AND ifnull(endtime,#{compTime,jdbcType=BIGINT}) > compTime
</select>
<!--总数量-->
......@@ -259,6 +259,36 @@
AND DATE_SUB(CURDATE(), INTERVAL #{time,jdbcType=VARCHAR} DAY) &lt;= date(FROM_UNIXTIME(createTime/1000,'%Y-%m-%d %H:%i:%s'))
</select>
<update id="endCircuit" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_endCircuit(
#{transportationNo,mode=IN,jdbcType=VARCHAR},
#{gSN,mode=IN,jdbcType=VARCHAR},
#{gType,mode=IN,jdbcType=VARCHAR},
#{message,mode=IN,jdbcType=VARCHAR},
#{endTime,mode=IN,jdbcType=BIGINT},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</update>
<delete id="deleteCircuit" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_delCircuit(
#{transportationNo,mode=IN,jdbcType=VARCHAR},
#{gSN,mode=IN,jdbcType=VARCHAR},
#{gType,mode=IN,jdbcType=VARCHAR},
#{message,mode=IN,jdbcType=VARCHAR},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</delete>
<!--
<select id="getDistinct" resultType="com.example.tdl.domain.vo.CircuitVo">
SELECT transportationNo,routeName,startLongitude,startLatitude,(select city from city_config where id=r.start_id) startCity,startTime,endLongitude,endLatitude,
......
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.tdl.mapper.CircuitTransferMapper">
<select id="getCity" resultType="com.example.tdl.domain.vo.CircuitTransferVo" parameterType="String">
select c.city,ct.arrivalTime,ct.startTime,ct.sequence from circuit_transfer ct,city c,circuit cr
select c.city,CONCAT(c.country,c.city,ct.addressDetail) address,ct.arrivalTime,ct.startTime,ct.sequence from circuit_transfer ct,city c,circuit cr
where c.id=ct.city_id
and ct.circuit_id =cr.id
and cr.transportationNo = #{transportationNo,jdbcType=VARCHAR}
......
-----BEGIN CERTIFICATE-----
MIIGSTCCBTGgAwIBAgIJAPP+hRKC88uwMA0GCSqGSIb3DQEBDQUAMGoxFzAVBgNV
MIIESzCCAzOgAwIBAgIJAPMXBQpqtSoZMA0GCSqGSIb3DQEBDQUAMGoxFzAVBgNV
BAMMDkFuIE1RVFQgYnJva2VyMRYwFAYDVQQKDA1Pd25UcmFja3Mub3JnMRQwEgYD
VQQLDAtnZW5lcmF0ZS1DQTEhMB8GCSqGSIb3DQEJARYSbm9ib2R5QGV4YW1wbGUu
bmV0MB4XDTE3MTIxODA1NTQyN1oXDTMyMTIxNDA1NTQyN1owajEXMBUGA1UEAwwO
d2l0aXVtLWNlbnRvczcxFjAUBgNVBAoMDU93blRyYWNrcy5vcmcxFDASBgNVBAsM
C2dlbmVyYXRlLUNBMSEwHwYJKoZIhvcNAQkBFhJub2JvZHlAZXhhbXBsZS5uZXQw
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAc33VO+dY4YB1UGwOGHk4
lNQYYmU8OrSgz/Dc4Nf1NBAFCHWmew2b0/73iIVzaVfI08KGVHlVYf+BsKFXiwAM
JFeKfrkBSWdt6JcdxIxY/njVwaqzdwtFELFhGLHHsFVmMul54lkrlIAQM5uYMAEK
E3ddvKhHYdK+ngfQ+RFt3fxgiUlyUyQ3jAqf8O+w3MpPD7W1jSyyhiFyARK26WKI
CC24Ap0Fic+OW1MBvuU9NRwzqejdYSnFCyWew4a6X5f9nYDTBCY+C0/fP3AQlSpy
LPpYJQg9cAPMtegJshmPlKPKW3+P4GjM/ue0HdEjeiBU4HQz5uZ7vCWV3a3vIAL7
AgMBAAGjggLwMIIC7DAMBgNVHRMBAf8EAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAL
BgNVHQ8EBAMCBeAwIQYJYIZIAYb4QgENBBQWEkJyb2tlciBDZXJ0aWZpY2F0ZTAd
BgNVHQ4EFgQUy9xYX8wztckkL1Fw8szen8pAVfswgZwGA1UdIwSBlDCBkYAUiXkG
2WNmB8XzkY+NsmS31OhIZ9GhbqRsMGoxFzAVBgNVBAMMDkFuIE1RVFQgYnJva2Vy
MRYwFAYDVQQKDA1Pd25UcmFja3Mub3JnMRQwEgYDVQQLDAtnZW5lcmF0ZS1DQTEh
MB8GCSqGSIb3DQEJARYSbm9ib2R5QGV4YW1wbGUubmV0ggkA9J/SOghC7O8wggFQ
BgNVHREEggFHMIIBQ4cErBIAAYcQ/oAAAAAAAAAAQpv//q1FrocErBEAAYcQ/oAA
AAAAAAAAQg7//kQFD4cEwKgBC4cQ/oAAAAAAAAD6562tA4vHX4cQ/oAAAAAAAADE
65D//hNZoIcQ/oAAAAAAAACgNSb//roFHocQ/oAAAAAAAACkPLD//ldR+IcQ/oAA
AAAAAADAuP///tEsvocQ/oAAAAAAAAD097v//uTa/4cQ/oAAAAAAAAAIIFL//jGX
+IcQ/oAAAAAAAABkZo7//m6XZocQ/oAAAAAAAAAI02f//uilgYcQ/oAAAAAAAADM
OWz//pABv4cQ/oAAAAAAAABUINf//j3Wk4cQ/oAAAAAAAAC0Yf7//i6taYcQ/oAA
AAAAAACsmJv//pfBxocEfwAAAYcQAAAAAAAAAAAAAAAAAAAAAYIJbG9jYWxob3N0
MIGGBgNVHSAEfzB9MHsGAysFCDB0MBwGCCsGAQUFBwIBFhBodHRwOi8vbG9jYWxo
b3N0MFQGCCsGAQUFBwICMEgwEBYJT3duVHJhY2tzMAMCAQEaNFRoaXMgQ0EgaXMg
Zm9yIGEgbG9jYWwgTVFUVCBicm9rZXIgaW5zdGFsbGF0aW9uIG9ubHkwDQYJKoZI
hvcNAQENBQADggEBAJAn2SYRfnyJnCiO6gqhQrvBrdhUun85DG7prfa+8pI4+XXi
OGPjwonzKgpnkPWG1JSQJbgeVEnlFoGhDgUrw8NT1aDBrs0KAOiuQqpuJ8aYmIpn
j64tvM5vS8NB4ZfJLk5BCGIQdbtfqBDhAFbNZxVRA7XLDzCfEp7idSL3Wv7fe4q3
lZotb9t0g9tRM2hy+1MBcWwUe4j/H9+JDkn4ijVE8amJraAUPXC+6Gwc+HSoRc8X
BLIt+EwSbZ02UD2EnWaxXh0VdhNe1iNmIgDm62sulcNv0g6RERb2hZarvhbOvw8f
45HTKazDxHgnaw365fk2FxlwpoDUmN+k82/0xr8=
bmV0MB4XDTE4MDQxNjAzNDU1M1oXDTMyMDQxMjAzNDU1M1owGDEWMBQGA1UEAwwN
d2l0aXVtLWNsaWVudDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOiC
56L1L6Z7oJYPiVPw2iKWIsEIRzXSjGOy0Q+ZtqW3aI6WcoFmWVvVrZ7Njcf7nIM2
MCYA3XRMQf4ps/pPVeu6GjU0zLxMhArsRyHqbidZf12G/FavWKHbLeRQiq3+DLsc
NAqDjDhcysp21QcK4EGeuiDF+qra5eJr1f53PNlH6s9GqFF4Hl1XGju4mNGVgWOp
LHzIu39H3K+e3U/BrD3qq6B6p4JRPEggusXTvFjAev2aq9XGz9kpxDQjJFzTP7j6
Wq6o5CiSjJCMgHMSyTcJtZaPHM8mzhJ5R3O2ocXyR3a5Z6mSb0VUNlXZ8l8/1m3r
4ju/sFmWsRqflXh/SHUCAwEAAaOCAUQwggFAMAwGA1UdEwEB/wQCMAAwCQYDVR0R
BAIwADARBglghkgBhvhCAQEEBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
AQUFBwMEMAsGA1UdDwQEAwIDqDAoBglghkgBhvhCAQ0EGxYZQ2xpZW50IEJyb2tl
ciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU6Bvas60Q/gytLOCw3V9y4BlfmbgwgZwG
A1UdIwSBlDCBkYAUS5eF3AjSRpI53Db1/6kZ5vj5wk6hbqRsMGoxFzAVBgNVBAMM
DkFuIE1RVFQgYnJva2VyMRYwFAYDVQQKDA1Pd25UcmFja3Mub3JnMRQwEgYDVQQL
DAtnZW5lcmF0ZS1DQTEhMB8GCSqGSIb3DQEJARYSbm9ib2R5QGV4YW1wbGUubmV0
ggkAoVQnHLwZZ5EwDQYJKoZIhvcNAQENBQADggEBAHa1C75lJ49IWUIvQbItg6ji
lXKVfyJzy/KVqB4cWulnSCGcQb/oOYwo3uDsgcsA9xXSK/7rjOTC2nfC2iAVFCwo
rFJ0725PHiaNjt4IXPm6II1YR3yV1QXqg9aWS741RBgxnrp4q6LCGfNR6u1TIHcy
MoL0eg17P1zwyahXPW43DeoeKjDuPXyZXzS1RMpkYdiFVfQeLLfeq296n5mHWcEs
9mJ4+ZK87qvsjp5LVYlDdVgUoHJjzlKanb1oBRCr6lyzaPRLvb58D6Mna5qI4ehP
frzTsWUtuqPWzkHa5Z6uDPpIFNDwmB80GdpEvsTW2FzIq/tFz2dOuy1BkAmElS8=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDAc33VO+dY4YB1
UGwOGHk4lNQYYmU8OrSgz/Dc4Nf1NBAFCHWmew2b0/73iIVzaVfI08KGVHlVYf+B
sKFXiwAMJFeKfrkBSWdt6JcdxIxY/njVwaqzdwtFELFhGLHHsFVmMul54lkrlIAQ
M5uYMAEKE3ddvKhHYdK+ngfQ+RFt3fxgiUlyUyQ3jAqf8O+w3MpPD7W1jSyyhiFy
ARK26WKICC24Ap0Fic+OW1MBvuU9NRwzqejdYSnFCyWew4a6X5f9nYDTBCY+C0/f
P3AQlSpyLPpYJQg9cAPMtegJshmPlKPKW3+P4GjM/ue0HdEjeiBU4HQz5uZ7vCWV
3a3vIAL7AgMBAAECggEBAI/+2gwOQk+Sipc8kV0KmsjnMrr8BFtIYZZhgAsEgRGK
3uGlLsJeGBScTo3PrGpqS7CMIWR5GD/2j0LucgoaivKKzqVlo+9+iNEH0uoHAiwk
Wy01NxAI5nnKv62y2HJdUciiF2eHIMkm15tHwgfhAyYS4qFUY2TloNXXUGnfslbN
EbkoB1LBnsue6YlI34q8jAv2/zZxz68yfA8Rdy63gQa9HVrCz85nf+MoGFnFeeGo
sYV7bfXYuTszYJ/6B748Eub5bTHaUpZwrbLpdTGXyUr6cDh2EagtGhnHiFEpBF+I
rzIJTeGUjByingsWm+aU+e1aheDLFzB/a2u4R8ljJAECgYEA3+mGR4uJ/ekUhUnS
Uer2YGBBZ0v/wepj6Zy5H0HGh2/Zl6RVcE8KKiU9d1iCzTz76RDtqlzNYScSAuGg
1SlSD0mjwRBZ7NHGPa6wMz7fBh8zLrzKSDAjaHtl1xYj8h2NXfSfGmjQFrvp9xb5
tMVmSArVgk5v6NP6V5pVIVfTcHsCgYEA3AfIIwcWErZOpcQd3DbP2JZPct2nh7hF
vknG99zjSl3AbhEAq7xJZup8Co2+Ydioh313ICc04IHXU+EE1TuUzj9Cy6rRy2jJ
RzZ5RL0YYSlhBbVCA53K5JRma6lvmEV1mi+8xX1r7HzNDEY+vc4GT27rSnaNWzDR
IgTJNE+9b4ECgYAnvrrwHiu7X1EeK7FiixN6nfteC5Z1ZFah1AjkLHfB+K+mBCyK
R+1k98FGWva02ZtZjoCxWdG26gl/a29yBuijAA5KKc3chIvszQJHxmQuIQGjzS0W
zTyrwiOcnzh4NJiwUcigFnTBZE+uZWyjktqJ9Spa+/NPX7kzLZjo1z8X2wKBgDJf
pbY/PRJzonXY/G0aL2OKpg3KKTytN2plQaQlcfPomtGYGus2ZCenr1ZLNTb5fzvl
wYwe7cAoeb++WHjo9xxw5z3xka5cAxjGo+TU1ewIqSnBYaeqTHUgdIJZfC8EV/RA
0Zr1J+wwdlFFE8AoltFAt6WIlrw15OtA5T+QsfIBAoGBAKhkaUbYDCU53KhtetAY
aSdHjuM77tHMDs9eDmwZRUzENBzf30AZTJUrQ8CbYTGCveSm++sRD4Yz8RzOJyGc
CkV/NjysEj8AYwHeDQdYtbA0eZRiB/FjNvcN8dGeGxX/phPP8Z3Zkq2TtWO5inyR
WojHNWuI139lTdbVE/r5BkGT
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDoguei9S+me6CW
D4lT8NoiliLBCEc10oxjstEPmbalt2iOlnKBZllb1a2ezY3H+5yDNjAmAN10TEH+
KbP6T1Xruho1NMy8TIQK7Ech6m4nWX9dhvxWr1ih2y3kUIqt/gy7HDQKg4w4XMrK
dtUHCuBBnrogxfqq2uXia9X+dzzZR+rPRqhReB5dVxo7uJjRlYFjqSx8yLt/R9yv
nt1Pwaw96qugeqeCUTxIILrF07xYwHr9mqvVxs/ZKcQ0IyRc0z+4+lquqOQokoyQ
jIBzEsk3CbWWjxzPJs4SeUdztqHF8kd2uWepkm9FVDZV2fJfP9Zt6+I7v7BZlrEa
n5V4f0h1AgMBAAECggEBAIBnssbTA1K82Y2l3OBnlgAdy+mwyarWsUNqAHzOFglk
xbBhM7F0tYq68dxOhqtXsDLiXSrPtX1Bk/xqSYPGBpxdNZYGp76hvxZNMGdxkQ3Y
JjefkYHJ6nfQlIKPXFcEg0FeLPtVdL23uSKhB7qQ7hIvN3lb/LgYlXY6uX6DmS4g
tMPADHDDrT0rY0k4MpfODSl7owSxb3NkTX4ZLSAgRsvWGwbCzRFGEbwkIYxJ4HCe
xMkArWcROgs0ppr0qOsnrnVSJISSRSRFwrZU988CCRZM7HrT5WcZuyVpepvJ3hh2
4a9jUYCg5iok91GuiqmRdHNmQ1JQHUnlGQGlK0HqYQECgYEA/dpNutEYf0Wj6Veg
zAUeyjVaJAJGaEZ6fKFpwvgLzP2ZRo7h0N3f6ANrHZ397f9yzpzkmVDMzYH3AVnG
PrP+TrGFOmLZ5+1LoRB1gdPPBLbBE00zQzB6i/WXxPGi6/1brupcwuMtWZAXyS2X
STL3ISl0WJWkw+hwZcoX8wbAdjUCgYEA6npjYo6YzRVjwX2ysncV9Fw3FGpvgma6
76x+X1xVXbKoImI2Hn+VVOdLdF5d0X/+Br8ZhL8HZd1LQ5Z8lf0G3ekIDwaBxO/D
q36QdFdm9o5CoV5pu63UbNdIiaoO8Y6GTFb+oKikZf0FW7s+BoRhOT9FKhYBzW0N
LZEJPMCg0UECgYBlWiGqsw0q020sHvZuPqUaas7Ajb/6phkFZZTKaSqc/6uQxj9W
mx9ojOTZgFkACvuVjoKey+nZK0ipW2SRaF/in3Hn68vAk7ecaOvhl+WRpj3ULQCI
lPR4qOedlDROMGvInH3IuddDaQp2IiPC7/xHWzu+mpCcP1OQ8G07dLim+QKBgHEq
bHkOtXSVlDW4gtxbWT88mmDCFdtr1WEDcWJ438J/DWK637/Md7gogWRCfykzitia
tqg4wktJiJ+wK6UAH6ZOZ9NIoqz3wwor5XAhFtJ8SnAzbvhjpxh4tsuqRdgTn4GM
owvLGL0YZtOlBQSEM6A7hxgO0wPgU/HgBANMPNGBAoGBAJJDwEw22EXWAaRTGu8b
kHx3nb8DCNMGSaAIi9JRGrhIkNVwolrGiKGq5D2cwQq/7J8t2hIWcHntXonTTqKF
TGq9CTDIVKKJX9XUJBUgN3bbOoP3vV5ipmDnHRp0j0E5eqJ+f5PGbBNJZqIKELdK
KFgvglTLdoSo+WseOJoRXxF4
-----END PRIVATE KEY-----
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