Commit 1edfd17c authored by wangjinjing's avatar wangjinjing

定时推送取消,图片压缩

parent 11b8e2a7
......@@ -167,6 +167,26 @@
<artifactId>poi</artifactId>
<version>3.8-beta5</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
</dependencies>
<repositories>
......
package im.zhaojun.common.config;
import im.zhaojun.system.model.ResultObj;
import im.zhaojun.system.model.Traffalarmrecord;
import im.zhaojun.system.model.VideoDeviceTraffic;
import im.zhaojun.system.service.EventWriteService;
import im.zhaojun.system.service.TraffFlowService;
import im.zhaojun.system.service.TraffalarmrecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Calendar;
import java.util.List;
@Slf4j
//@Component
//@Configuration
//@EnableScheduling
public class ScheduleTaskConfig {
@Autowired
TraffFlowService traffFlowService;
@Autowired
TraffalarmrecordService traffalarmrecordService;
@Autowired
EventWriteService eventWriteService;
/***
* 每2分钟执行一次查询事件推送给广达
*/
// @Scheduled(cron = "0 */2 * * * ?")
private void sendToguangdaEvent() {
//查询所有未推送的数据
List<Traffalarmrecord> resultlist = traffalarmrecordService.getTraffalarmrecordBystatus();
for (Traffalarmrecord record : resultlist) {
try {
ResultObj obj = eventWriteService.updateAndAutoSendEvent(record);
log.error( "2 min send to guangda result"+obj.getMsg()+obj.getStatus());
} catch (Exception ex) {
log.error(record.getRecordid() + " send to guangda fail" + ex.toString());
}
}
}
/***
* 每5分钟执行一次查询车流推送给广达
*/
@Scheduled(cron = "0 */5 * * * ?")
private void sendToguangdaDevice() {
log.info("fiveflow sendto guangda" );
//查询所有未推送的数据
List<VideoDeviceTraffic> trafflist = traffFlowService.getfiveFlowByVideoid(null);
if(trafflist.size()>0) {
log.info("fiveflow" + trafflist.get(0).toString());
traffFlowService.sendMessages(trafflist);
}
}
// @Scheduled(cron = "0 30/5 6-19 * * ?")//每隔5分钟统计当天目前为止的数据
// private void statistoday() {
// //判断是否为空表
// //执行查询存在更新,不存在新增
// log.info("每隔5分钟");
// Integer result= traffFlowService.insertOrUpdatevehicleTodaystatistic();
// log.info("today"+result);
//
// }
}
......@@ -37,7 +37,7 @@ public class WebSocketConfig {
alarmMapper.insert(alarm);
}
} catch (Exception ex) {
log.info("websocket error"+ex.toString());
}
......
package im.zhaojun.common.util;
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.Months;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import java.util.Date;
/**
* ʱ���ʽת���� 2019.10.23
* @author cp
*/
public class DateUtil {
private static final DateTimeFormatter YMD_HMS = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter YMDHMS = DateTimeFormat.forPattern("yyyyMMddHHmmss");
private static final DateTimeFormatter YMD = DateTimeFormat.forPattern("yyyyMMdd");
private static final DateTimeFormatter Y_M_D = DateTimeFormat.forPattern("yyyy-MM-dd");
public static String formatCurrDate(){
return formatCurrDateByType(YMD_HMS);
}
public static String formatCurrDateNoSign(){
return formatCurrDateByType(YMDHMS);
}
public static String formatCurrDateYMD(){
return formatCurrDateByType(Y_M_D);
}
public static String formatCurrDayNoSign(){
return formatCurrDateByType(YMD);
}
public static Date parseDate(String date){
return DateTime.parse(date,YMD_HMS).toDate();
}
public static Date parseDateNoSign(String date){
return DateTime.parse(date,YMDHMS).toDate();
}
public static String getYesterday(int day){
Date date= addDay(new Date(),day);
return new DateTime(date).toString(YMD_HMS);
}
public static String getlastMonth(int month){
Date date= addMonth(new Date(),month);
return new DateTime(date).toString(YMD_HMS);
}
public static String formatDate(Date date){
return new DateTime(date).toString(YMD_HMS);
}
public static String formatDateToNoSign(Date date){
return new DateTime(date).toString(YMDHMS);
}
public static String formatDateToNoSign(String date){
return DateTime.parse(date,YMD_HMS).toString(YMDHMS);
}
private static String formatCurrDateByType(DateTimeFormatter dateTimeFormatter){
return DateTime.now().toString(dateTimeFormatter);
}
public static Date addMinutes(Date date, int minutes) {
return new DateTime(date).plusMinutes(minutes).toDate();
}
public static Date addDay(Date date, int day) {
if(day == 0){
return date;
}
return new DateTime(date).plusDays(day).toDate();
}
public static Date addMonth(Date date, int month) {
if(month == 0){
return date;
}
return new DateTime(date).plusMonths(month).toDate();
}
/**
* ����ʱ����������
* @param date1 ʱ��1
* @param date2 ʱ��2
* @return ����
*/
public static int diffMonth(Date date1, Date date2) {
if (date1 == null || date2 == null) {
return 0;
}
DateTime dt1 = new DateTime(date1);
DateTime dt2 = new DateTime(date2);
return Months.monthsBetween(dt1, dt2).getMonths();
}
/**
* ����ʱ����������
* @param date1 ʱ��1
* @param date2 ʱ��2
* @return ����
*/
public static int diffDay(Date date1, Date date2) {
if (date1 == null || date2 == null) {
return 0;
}
DateTime dt1 = new DateTime(date1);
DateTime dt2 = new DateTime(date2);
return Days.daysBetween(dt1, dt2).getDays();
}
}
......@@ -245,6 +245,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
cal.add(Calendar.DAY_OF_MONTH, day);
return sdf.format(cal.getTime());
}
public static String getlastDayTimeY_M_D(Date newDate,Integer day) {
SimpleDateFormat sdf = null;
sdf = threadLocal.get();
......@@ -265,4 +266,8 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
&& (c1.get(Calendar.MONTH) == c2.get(Calendar.MONTH))
&& (c1.get(Calendar.DAY_OF_MONTH) == c2.get(Calendar.DAY_OF_MONTH));
}
}
\ No newline at end of file
This diff is collapsed.
package im.zhaojun.common.util;
import cn.hutool.core.codec.Base64Encoder;
import net.coobird.thumbnailator.Thumbnails;
import sun.misc.BASE64Decoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class ResizeImage {
public static String resizeImageTo40K( byte[] bytes) {
InputStream stream =new ByteArrayInputStream(bytes);
BufferedImage src=null;
try {
src= ImageIO.read(stream);
if(null!=src) {
BufferedImage output = Thumbnails.of(src).size(src.getWidth() / 3, src.getHeight() / 3).asBufferedImage();
String base64 = imageToBase64(output);
if (base64.length() - base64.length() / 8 * 2 > 15000) {
output = Thumbnails.of(output).scale(1 / (base64.length() / 15000)).asBufferedImage();
base64 = imageToBase64(output);
}
return base64;
}
} catch (Exception e) {
return imageToBase64(src);
}
return imageToBase64(src);
}
public static String imageToBase64(BufferedImage bufferedImage) {
if(null==bufferedImage) return null;
Base64Encoder encoder = new Base64Encoder();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ImageIO.write(bufferedImage, "jpg", baos);
} catch (IOException e) {
}
return new String(encoder.encode((baos.toByteArray())).replaceAll("\r\n",""));
}
private static InputStream BaseToInputStream(String base64string) {
ByteArrayInputStream stream = null;
try {
BASE64Decoder decoder = new BASE64Decoder();
byte[] bytes1 = decoder.decodeBuffer(base64string);
stream = new ByteArrayInputStream(bytes1);
} catch (Exception e) {
// TODO: handle exception
}
return stream;
}
}
package im.zhaojun.common.util;
import lombok.Getter;
/**
* ͨ���ַ���ö����
* @author cp
*/
@Getter
public enum StringEnum {
/**
* �ַ�������
*/
ONE("1");
private String value;
StringEnum(String value){
this.value =value;
}
}
package im.zhaojun.common.util;
import com.alibaba.fastjson.JSONObject;
import im.zhaojun.system.model.DeviceWriteParam;
import im.zhaojun.system.model.SbtdspsrParam;
import im.zhaojun.system.model.Traffdevicewriteresult;
import org.apache.commons.lang3.StringUtils;
/**
* @author chenl
* @version 1.0
* @date 2020/3/15 22:13
*
* deviceID;
* deviceType;
* deviceName;
* regionID;
* deviceStatus;
* deviceSupplier;
* dataType;
* locationType;
* locationX;
* locationY;
* locationEndX;
* locationEndY;
*/
public class TransHelper {
public static DeviceWriteParam transDevice(SbtdspsrParam sbtdspsr, int dataType){
DeviceWriteParam param = new DeviceWriteParam();
Long sbtdbh = sbtdspsr.getTdbh();
param.setDeviceID(sbtdspsr.getSbbh() + ( sbtdbh >= 10 ? sbtdbh : "0" + sbtdbh));
param.setDeviceName(sbtdspsr.getTdmc());
param.setRegionID(sbtdspsr.getXzbh());
param.setDeviceStatus(1);
param.setDeviceSupplier(sbtdspsr.getSbcsName());
param.setDataType(dataType);
JSONObject jsonObject = JSONObject.parseObject(sbtdspsr.getDeviceconfig());
if(jsonObject.get("RoadType")!=null){
param.setRoadType(Integer.parseInt(jsonObject.get("RoadType").toString()));
}
if(jsonObject.get("DeviceType")!=null && StringUtils.isNotBlank(jsonObject.get("DeviceType").toString())){
param.setDeviceType(jsonObject.get("DeviceType").toString());
}
if(jsonObject.get("DeviceDirection")!=null){
param.setDeviceDirection(Integer.parseInt(jsonObject.get("DeviceDirection").toString()));
}
if(jsonObject.get("StartNumK")!=null){
param.setStartNumK(Integer.parseInt(jsonObject.get("StartNumK").toString()));
}
if(jsonObject.get("StartNumM")!=null){
param.setStartNumM(Integer.parseInt(jsonObject.get("StartNumM").toString()));
}
if(jsonObject.get("RoadNum")!=null && StringUtils.isNotBlank(jsonObject.get("RoadNum").toString())){
param.setRoadNum(jsonObject.get("RoadNum").toString());
}
if(jsonObject.get("LocationDesc")!=null && StringUtils.isNotBlank(jsonObject.get("LocationDesc").toString())){
param.setLocationDesc(jsonObject.get("LocationDesc").toString());
}
if(jsonObject.get("Toll")!=null){
param.setToll(Integer.parseInt(jsonObject.get("Toll").toString()));
}
if(jsonObject.get("LocationID")!=null && StringUtils.isNotBlank(jsonObject.get("LocationID").toString())){
param.setLocationID(jsonObject.get("LocationID").toString());
}
if(jsonObject.get("ServiceArea")!=null){
param.setServiceArea(Integer.parseInt(jsonObject.get("ServiceArea").toString()));
}
//�����ѵ����շ�վ������λ������
if(jsonObject.get("RampToll")!=null){
param.setRampToll(Integer.parseInt(jsonObject.get("RampToll").toString()));
}
if(jsonObject.get("RampServiceArea")!=null){
param.setRampServiceArea(Integer.parseInt(jsonObject.get("RampServiceArea").toString()));
}
if(jsonObject.get("RampHubRoad")!=null && StringUtils.isNotBlank(jsonObject.get("RampHubRoad").toString())){
param.setRampHubRoad(jsonObject.get("RampHubRoad").toString());
}
if(jsonObject.get("RampHubDirection")!=null){
param.setRampHubDirection(Integer.parseInt(jsonObject.get("RampHubDirection").toString()));
}
// param.setLocationType();
// param.setLocationX();
// param.setLocationY();
// param.setLocationEndX();
// param.setLocationEndY();
return param;
}
public static Traffdevicewriteresult transDeviceWriteResult(SbtdspsrParam sbtdspsr) {
Traffdevicewriteresult param = new Traffdevicewriteresult();
param.setSbbh(sbtdspsr.getSbbh());
param.setTdbh(sbtdspsr.getTdbh());
return param;
}
public static Traffdevicewriteresult transDeviceWriteResult(SbtdspsrParam sbtdspsr, Long pushstatus, String pushdesc) {
Traffdevicewriteresult param = new Traffdevicewriteresult();
param.setSbbh(sbtdspsr.getSbbh());
param.setTdbh(sbtdspsr.getTdbh());
param.setPushstatus(pushstatus);
param.setPushcount(1L);
param.setXzbh(sbtdspsr.getXzbh());
param.setPushdesc(pushdesc);
return param;
}
public static Traffdevicewriteresult transDeviceWriteResult(SbtdspsrParam sbtdspsr, Long pushstatus, String pushdesc, Long pushcount) {
Traffdevicewriteresult param = new Traffdevicewriteresult();
param.setSbbh(sbtdspsr.getSbbh());
param.setTdbh(sbtdspsr.getTdbh());
param.setPushstatus(pushstatus);
param.setPushdesc(pushdesc);
param.setPushdesc(pushdesc);
param.setXzbh(sbtdspsr.getXzbh());
param.setPushcount(pushcount);
return param;
}
}
......@@ -4,24 +4,14 @@ import com.github.pagehelper.PageInfo;
import im.zhaojun.common.util.PageResultBean;
import im.zhaojun.common.util.ResultBean;
import im.zhaojun.system.model.*;
import im.zhaojun.system.service.EventWriteService;
import im.zhaojun.system.service.TraffdevicewriteresultService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
@RestController
@RequestMapping("/traffresult")
......@@ -35,12 +25,16 @@ public class TraffdevicewriteresultController {
@Value("${devicesend.url}")
String devicesendurl;
@Value("${devicesend.timeout}")
private Integer timeout;
@Autowired
private RestTemplate restTemplate;
@Autowired
private EventWriteService eventWriteService;
/**
* 查询推送成功分页
*/
......@@ -64,38 +58,17 @@ public class TraffdevicewriteresultController {
/**
* 推送数据到推送平台 */
@PostMapping("/sendEvents")
public List<ResultObj> sendEvents(@RequestParam("recordid") String recordid){
List<ResultObj> resultObj =new ArrayList<>();
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("recordid", recordid);
try {
resultObj =(List<ResultObj> ) CompletableFuture.supplyAsync(() -> restTemplate.postForObject(eventsendurl, paramMap, List.class)).get(timeout, TimeUnit.SECONDS);
}catch (TimeoutException e) {
resultObj.add(ResultObj.error(ResponseEnum.E_1008.getCode(), ResponseEnum.E_1008.getMsg()));
} catch (Exception e) {
resultObj.add(ResultObj.error(ResponseEnum.E_9999.getCode(), e.toString()));
}
return resultObj;
public List<ResultObj> sendEvents(@RequestBody List<Traffalarmrecord> recordidlist){
return eventWriteService.sendAllMessage(recordidlist);
}
/**
* 推送数据到推送平台 */
@PostMapping("/sendDevices")
public List<ResultObj> sendDevices(@RequestParam("xhs") String xhs){
List<ResultObj> resultObj =new ArrayList<>();
MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();
paramMap.add("xhs", xhs);
try {
resultObj =(List<ResultObj> ) CompletableFuture.supplyAsync(() -> restTemplate.postForObject(devicesendurl, paramMap, List.class)).get(timeout, TimeUnit.SECONDS);
}catch (TimeoutException e) {
resultObj.add(ResultObj.error(ResponseEnum.E_1008.getCode(), ResponseEnum.E_1008.getMsg()));
} catch (Exception e) {
resultObj.add(ResultObj.error(ResponseEnum.E_9999.getCode(), e.toString()));
}
return resultObj;
public List<ResultObj> sendDevices(@RequestBody List<SbtdspsrParams> sbtdspsrlist){
return traffdevicewriteresultService.sendDevices(sbtdspsrlist);
}
......@@ -144,7 +117,4 @@ public class TraffdevicewriteresultController {
return ResultBean.success();
}
}
\ No newline at end of file
package im.zhaojun.system.mapper;
import im.zhaojun.system.model.Sbtdspsr;
import im.zhaojun.system.model.SbtdspsrParam;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.additional.dialect.oracle.InsertListMapper;
import tk.mybatis.mapper.common.BaseMapper;
import tk.mybatis.mapper.common.ConditionMapper;
import java.util.List;
public interface SbtdspsrMapper extends BaseMapper<Sbtdspsr>, ConditionMapper<Sbtdspsr>, InsertListMapper<Sbtdspsr> {
String getMinUpdateTime();
String getMaxUpdateTime();
/**
* ��ȡ����ʱ���ڵ��豸��Ϣ
* @param startTime ��ʼʱ��
* @param endTime ����ʱ��
* @return �豸��Ϣlist
*/
List<Sbtdspsr> getSbtdspsrList(@Param("startTime") String startTime, @Param("endTime") String endTime);
List<Sbtdspsr> selectAllSbbhAndTdbh(@Param("xzbh") String xzbh);
List<Sbtdspsr> selectBySbbh(@Param("sbbh") String sbbh, @Param("tdbh") Integer tdbh);
List<SbtdspsrParam> selectDeviceWrite();
}
\ No newline at end of file
package im.zhaojun.system.mapper;
import im.zhaojun.system.model.Vehicle;
import im.zhaojun.system.model.Vehicles;
import im.zhaojun.system.model.VideoDeviceTraffic;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TraffFlowMapper {
int add(Vehicles excelModel);
int insertlist(Vehicle vehiclesdetail);
List<Map> selectFiveAndDayFlow(String videoid);
List<Map> selectFiveAndTypeDayFlow(String videoid);
List<VideoDeviceTraffic> getfiveFlowByVideoid(String videoid);
Integer statisVehiclesByDay();
Integer deleteBeforeTwoMonthVehiclesDetails();
Integer deleteVehiclesByDay();
Integer insertOrUpdatevehicleTodaystatistic();
String selectSbtddspsrRtspByVideoid(String videoid);
List<VideoDeviceTraffic> getTraffVicleBystatus();
}
......@@ -24,4 +24,27 @@ public interface TraffalarmrecordMapper extends BaseMapper<Traffalarmrecord>, Co
@Param("userAccount") String userAccount, @Param("pushstatus") Integer pushstatus,
@Param("page") Integer page, @Param("rows") Integer rows);
int updateTraffAlarmRecordUrl(Traffalarmrecord record);
int updatePushEvent(Traffalarmrecord traffalarmrecord);
int inserTraffAlarmRecord(Traffalarmrecord traffalarmrecord);
int selectmax();
Integer statisTraffalarmrecordstatByDay();
Integer updateTraffAlarmRectificationType(Traffalarmrecord traffalarmrecord);
Integer selectExitsTraffAlarm(Traffalarmrecord traffalarmrecord);
Integer selectInChecktimeTraffAlarm(Traffalarmrecord traffalarmrecord);
Integer updateInworkRectifytimeTraffAlarm(Traffalarmrecord traffalarmrecord);
String seletManualStatus();
List<Traffalarmrecord> getTraffalarmrecordBystatus();
}
\ No newline at end of file
package im.zhaojun.system.model;
import java.util.HashMap;
import java.util.Map;
/**
* @author chenl
* @version 1.0
* @date 2020/3/15 10:47
*/
public class CodeConst {
//�豸ע��
public static final Integer device_regist = 1;
//�豸����
public static final Integer device_update = 2;
//�豸�¼�
public static final Integer device_remove = 3;
//״̬����
public static final Integer device_report = 4;
private static Map<Integer, String> eventType = new HashMap<>();
private static Map<String, Integer> eventTypeQZ = new HashMap<>();
static {
eventType.put(1, "�쳣ͣ��");
eventType.put(2, "����/�ǻ���������");
eventType.put(3, "����/����");
eventType.put(4, "ӵ��");
eventType.put(5, "��ͨ�¼�(�¹ʷ���)");
eventType.put(6, "��������-��");
eventType.put(7, "��������-ѩ");
eventType.put(8, "�̻𱨾�");
eventType.put(9, "������");
eventType.put(10, "�ܼ��ȹ���");
eventType.put(11, "�쳣��ʻ");
eventType.put(12, "·���ϰ���");
eventType.put(13, "��·ʩ��");
eventType.put(14, "ӵ�½���");
eventType.put(15, "�����");
eventType.put(16, "�����¼�");
eventType.put(17, "��ͨ�¼�(�¹������³�)");
eventType.put(18, "�����¼�");
}
static {
eventTypeQZ.put("congestion", 4);// 'congestion', '��ͨӵ�¼��'
eventTypeQZ.put("not_congestion", 14);// 'not_congestion', 'ӵ�½���'
eventTypeQZ.put("illegal_parking", 1);// 'illegal_parking', '�����쳣ͣʻ���'
eventTypeQZ.put("wrong_direction", 3);// 'wrong_direction', '����/����'
eventTypeQZ.put("no_motor_ban", 2);// 'no_motor_ban', '����/�ǻ�����������'
eventTypeQZ.put("slow_deive", 11);// 'slow_deive', '�����쳣���м��'
eventTypeQZ.put("not_slow_deive", 15);// 'not_slow_deive', '�����'
eventTypeQZ.put("single_slow_drive", 11);// 'single_slow_drive', '���ٹ�·���������쳣���м��'
eventTypeQZ.put("accident", 5);// 'accident', '���ٹ�·��ͨ�¹ʼ��'
eventTypeQZ.put("roadworks", 13);// 'roadworks', '���ٹ�·��·ʩ�����'
eventTypeQZ.put("roadworks_out_of_line", 19);// 'roadworks_out_of_line', '���ٹ�·ʩ��Υ����'
eventTypeQZ.put("severe_weather", 6);// 'severe_weather', '������������ѩ�����'
eventTypeQZ.put("low_visibility", 10);// 'low_visibility', '��ͨ������'
eventTypeQZ.put("abandoned_object", 12);// 'abandoned_object', '·���ϰ�����'
eventTypeQZ.put("tunnel_fire", 8);// 'tunnel_fire', '���ٹ�·���������'
eventTypeQZ.put("tunnel_smoke", 9);// 'tunnel_smoke', '���ٹ�·���������'
eventTypeQZ.put("outside_fire", 8);// 'outside_fire', '��ͨ���������'
eventTypeQZ.put("outside_smoke", 9);// 'outside_smoke', '��ͨ����������'
}
public static String getEventType(int type) {
if (eventType.containsKey(type)) {
return eventType.get(type);
}
return null;
}
public static Integer getEventTypeQZ(String type) {
if (eventTypeQZ.containsKey(type)) {
Integer code = eventTypeQZ.get(type);
return code == null ? 18 : code;
}
return 18;
}
}
package im.zhaojun.system.model;
import lombok.Data;
@Data
public class DeviceWriteParam {
private String deviceID;
private String DeviceType;
private String deviceName;
private String regionID;
private Integer deviceStatus;
private String deviceSupplier;
private Integer dataType;
private Integer RoadType;
private String locationType;
private String locationX;
private String locationY;
private String locationEndX;
private String locationEndY;
private Integer DeviceDirection;
private Integer StartNumK;
private Integer StartNumM;
private String RoadNum;
private String LocationDesc;
private Integer toll;
private String locationID;
private Integer serviceArea;
private Integer rampToll;
private Integer rampServiceArea;
private String rampHubRoad;
private Integer rampHubDirection;
}
package im.zhaojun.system.model;
import lombok.Data;
/**
* @author chenl
* @version 1.0
* @date 2020/3/15 22:18
*/
public class EventWriteParam {
private String eventID;
private String eventSource;
private String eventType;
private String occurTime;
private Long regionID;
private String eventDeviceID;
private String eventSupplier;
private String locationType;
private String locationX;
private String locationY;
private String locationEndX;
private String locationEndY;
private String eventProof1;
private String eventProof2;
private String eventProof3;
private String eventProof4;
private String eventProof5;
private String eventvideo1;
@Override
public String toString() {
return "EventWriteParam{" +
"eventID='" + eventID + '\'' +
", eventSource='" + eventSource + '\'' +
", eventType='" + eventType + '\'' +
", occurTime='" + occurTime + '\'' +
", regionID=" + regionID +
", eventDeviceID='" + eventDeviceID + '\'' +
", eventSupplier='" + eventSupplier + '\'' +
", locationType='" + locationType + '\'' +
", locationX='" + locationX + '\'' +
", locationY='" + locationY + '\'' +
", locationEndX='" + locationEndX + '\'' +
", locationEndY='" + locationEndY + '\'' +
", eventProof1='" + eventProof1 + '\'' +
", eventProof2='" + eventProof2 + '\'' +
", eventProof3='" + eventProof3 + '\'' +
", eventProof4='" + eventProof4 + '\'' +
", eventProof5='" + eventProof5 + '\'' +
", eventvideo1='" + eventvideo1 + '\'' +
'}';
}
public String getEventID() {
return eventID;
}
public void setEventID(String eventID) {
this.eventID = eventID;
}
public String getEventSource() {
return eventSource;
}
public void setEventSource(String eventSource) {
this.eventSource = eventSource;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public String getOccurTime() {
return occurTime;
}
public void setOccurTime(String occurTime) {
this.occurTime = occurTime;
}
public Long getRegionID() {
return regionID;
}
public void setRegionID(Long regionID) {
this.regionID = regionID;
}
public String getEventDeviceID() {
return eventDeviceID;
}
public void setEventDeviceID(String eventDeviceID) {
this.eventDeviceID = eventDeviceID;
}
public String getEventSupplier() {
return eventSupplier;
}
public void setEventSupplier(String eventSupplier) {
this.eventSupplier = eventSupplier;
}
public String getLocationType() {
return locationType;
}
public void setLocationType(String locationType) {
this.locationType = locationType;
}
public String getLocationX() {
return locationX;
}
public void setLocationX(String locationX) {
this.locationX = locationX;
}
public String getLocationY() {
return locationY;
}
public void setLocationY(String locationY) {
this.locationY = locationY;
}
public String getLocationEndX() {
return locationEndX;
}
public void setLocationEndX(String locationEndX) {
this.locationEndX = locationEndX;
}
public String getLocationEndY() {
return locationEndY;
}
public void setLocationEndY(String locationEndY) {
this.locationEndY = locationEndY;
}
public String getEventProof1() {
return eventProof1;
}
public void setEventProof1(String eventProof1) {
this.eventProof1 = eventProof1;
}
public String getEventProof2() {
return eventProof2;
}
public void setEventProof2(String eventProof2) {
this.eventProof2 = eventProof2;
}
public String getEventProof3() {
return eventProof3;
}
public void setEventProof3(String eventProof3) {
this.eventProof3 = eventProof3;
}
public String getEventProof4() {
return eventProof4;
}
public void setEventProof4(String eventProof4) {
this.eventProof4 = eventProof4;
}
public String getEventProof5() {
return eventProof5;
}
public void setEventProof5(String eventProof5) {
this.eventProof5 = eventProof5;
}
public String getEventvideo1() {
return eventvideo1;
}
public void setEventvideo1(String eventvideo1) {
this.eventvideo1 = eventvideo1;
}
}
package im.zhaojun.system.model;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Ftp {
private String ftpIp;
private Integer ftpPort;
private String ftpUsername;
private String ftpPassword;
@Override
public String toString() {
return "Ftp{" +
"ftpIp='" + ftpIp + '\'' +
", ftpPort=" + ftpPort +
", ftpUsername='" + ftpUsername + '\'' +
", ftpPassword='" + ftpPassword + '\'' +
'}';
}
}
package im.zhaojun.system.model;
import lombok.Data;
import java.io.Serializable;
@Data
public class SbtdspsrParam extends Sbtdspsr implements Serializable {
private String sbcsName;
private String deviceconfig;
}
\ No newline at end of file
......@@ -45,6 +45,7 @@ public class SbtdspsrParams extends Sbtdspsr {
private String xztreename;
private String deviceconfig;
private String devicetype;
private Integer page;
private Integer limit;
......
......@@ -5,8 +5,6 @@ import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class SbtdspsrResult extends Sbtdspsr {
/**
* ����ʱ��
......@@ -45,4 +43,69 @@ public class SbtdspsrResult extends Sbtdspsr {
private String xztreename;
private String devicetype;
public Date getCreatetime() {
return createtime;
}
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
public Long getPushstatus() {
return pushstatus;
}
public void setPushstatus(Long pushstatus) {
this.pushstatus = pushstatus;
}
public String getPushdesc() {
return pushdesc;
}
public void setPushdesc(String pushdesc) {
this.pushdesc = pushdesc;
}
public Long getPushcount() {
return pushcount;
}
public void setPushcount(Long pushcount) {
this.pushcount = pushcount;
}
@Override
public String getXzbh() {
return xzbh;
}
@Override
public void setXzbh(String xzbh) {
this.xzbh = xzbh;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getXztreename() {
return xztreename;
}
public void setXztreename(String xztreename) {
this.xztreename = xztreename;
}
public String getDevicetype() {
return devicetype;
}
public void setDevicetype(String devicetype) {
this.devicetype = devicetype;
}
}
package im.zhaojun.system.model;
import lombok.Data;
import java.util.Date;
@Data
public class Vehicle {
private String id;
private String type;
private String video_id;
private Date create_time;
private Long direction;
private Long classification_confidence;
private String ruleTag;
}
package im.zhaojun.system.model;
import java.util.Date;
public class VideoDeviceTraffic {
private String deviceId;
private String deviceName;
private Date dateTime;
private String ssjg;
private String speed;
private String flowRate;
private String fx;
private String fxmc;
private String sjly;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getDeviceName() {
return deviceName;
}
public void setDeviceName(String deviceName) {
this.deviceName = deviceName;
}
public Date getDateTime() {
return dateTime;
}
public void setDateTime(Date dateTime) {
this.dateTime = dateTime;
}
public String getSsjg() {
return ssjg;
}
public void setSsjg(String ssjg) {
this.ssjg = ssjg;
}
public String getSpeed() {
return speed;
}
public void setSpeed(String speed) {
this.speed = speed;
}
public String getFlowRate() {
return flowRate;
}
public void setFlowRate(String flowRate) {
this.flowRate = flowRate;
}
public String getFx() {
return fx;
}
public void setFx(String fx) {
this.fx = fx;
}
public String getFxmc() {
return fxmc;
}
public void setFxmc(String fxmc) {
this.fxmc = fxmc;
}
public String getSjly() {
return sjly;
}
public void setSjly(String sjly) {
this.sjly = sjly;
}
@Override
public String toString() {
return "VideoDeviceTraffic{" +
"deviceId='" + deviceId + '\'' +
", deviceName='" + deviceName + '\'' +
", dateTime=" + dateTime +
", ssjg='" + ssjg + '\'' +
", speed='" + speed + '\'' +
", flowRate='" + flowRate + '\'' +
", fx='" + fx + '\'' +
", fxmc='" + fxmc + '\'' +
", sjly='" + sjly + '\'' +
'}';
}
}
package im.zhaojun.system.model;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class WriteResultObj {
private String data;
private String message;
private Integer status;
public WriteResultObj(){}
public WriteResultObj(Integer status, String message) {
this.message = message;
this.status = status;
}
@Override
public String toString() {
return "WriteResultObj{" +
"data=" + data +
", message='" + message + '\'' +
", status=" + status +
'}';
}
}
This diff is collapsed.
package im.zhaojun.system.service;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import javax.annotation.PostConstruct;
import java.lang.reflect.Type;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
@Slf4j
public class QingZhiLoginCacheService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Value("${qingzhi.redis.token}")
private String qztoken;
@Value("${qingzhi.login.username}")
private String username;
@Value("${qingzhi.login.password}")
private String password;
@Value("${qingzhi.login.url}")
private String url;
@Value("${qingzhi.login.keepaliveurl}")
private String keepaliveurl;
@PostConstruct
public void printConfig(){
log.info("config params:"+ "redis key:" + qztoken +" ,username:"+username+ " ,password:"+password+ " ,url:"+url+ " ,keepaliveurl:"+keepaliveurl);
}
public String keepAlive() {
String token=null;
try {
String tokencache = stringRedisTemplate.opsForValue().get(qztoken);
if (tokencache != null) {
token= doKeepAlive(tokencache);
} else {
tokencache = loginServer(url, username, password);
if (tokencache != null) {
token=doKeepAlive(tokencache);
}
}
} catch (Exception e) {
System.out.println(e.toString());
log.error(e.getMessage());
}
return token;
}
private String doKeepAlive(String token) {
HttpHeaders headers = getHttpHeaders();
headers.add("token",token);
HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);
RestTemplate client = new RestTemplate();
ResponseEntity<String> request = client.exchange((keepaliveurl+"?token="+token), HttpMethod.GET, requestEntity, String.class);
String newToken = getTokenData(request);
if (newToken != null) {
// log.info("doKeepAlive response " + request.getBody());
stringRedisTemplate.opsForValue().set(qztoken, newToken, 2, TimeUnit.MINUTES);
} else {
log.error("doKeepAlive response " + "empty...");
}
return newToken;
}
private String loginServer(String url, String username, String password) {
HttpHeaders headers = getHttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
RestTemplate client = new RestTemplate();
ResponseEntity<String> response = client.getForEntity((url+"?username="+username+"&password="+password),String.class);
return getTokenData(response);
}
private HttpHeaders getHttpHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
return headers;
}
private String getTokenData(ResponseEntity<String> response){
try {
if (response != null && response.getBody() != null && response.getBody().contains("status")) {
String ret = response.getBody();
Gson gson = new Gson();
Type stringStringMap = new TypeToken<Map<String, String>>() {
}.getType();
Map<String, String> map = gson.fromJson(ret, stringStringMap);
if (map != null && map.get("data").length() > 10 && Integer.parseInt(map.get("status")) ==200) {
return map.get("data");
} else {
log.error("getTokenData error :" + response.getBody());
}
} else {
log.error("getTokenData empty...");
}
}catch (Exception e){
System.out.println(e.toString());
log.error(e.getMessage());
}
return null;
}
}
package im.zhaojun.system.service;
import im.zhaojun.system.mapper.TraffFlowMapper;
import im.zhaojun.system.model.ResultObj;
import im.zhaojun.system.model.Vehicle;
import im.zhaojun.system.model.Vehicles;
import im.zhaojun.system.model.VideoDeviceTraffic;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Slf4j
@Service
public class TraffFlowService {
@Autowired
private TraffFlowMapper traffFlowMapper;
@Autowired
private RestTemplate restTemplate;
@Value("${qingzhi.eventwrite.timeout}")
private Integer timeout;
@Value("${qingzhi.deviceTraffic.url}")
private String url;
@Autowired
QingZhiLoginCacheService qingZhiLoginCacheService;
public void saveTraffFlow(Vehicles vehicles) {
traffFlowMapper.add(vehicles);
}
public int saveTraffFlowDetail(Vehicle vehiclesdetail) {
return traffFlowMapper.insertlist(vehiclesdetail);
}
public List<Map> selectFiveAndDayFlow(String videoid) {
return traffFlowMapper.selectFiveAndDayFlow(videoid);
}
public List<Map> selectFiveAndTypeDayFlow(String videoid) {
return traffFlowMapper.selectFiveAndTypeDayFlow(videoid);
}
public Integer statisVehiclesByDay() {
return traffFlowMapper.statisVehiclesByDay();
}
public void deleteBeforeTwoMonthVehicles() {
traffFlowMapper.deleteBeforeTwoMonthVehiclesDetails();
}
public void deleteVehiclesByDay() {
traffFlowMapper.deleteVehiclesByDay();
}
public Integer insertOrUpdatevehicleTodaystatistic() {
return traffFlowMapper.insertOrUpdatevehicleTodaystatistic();
}
public String selectSbtddspsrRtspByVideoid(String videoid) {
return traffFlowMapper.selectSbtddspsrRtspByVideoid(videoid);
}
public List<VideoDeviceTraffic> getfiveFlowByVideoid(String videoid) {
return traffFlowMapper.getfiveFlowByVideoid(videoid);
}
public List<VideoDeviceTraffic> getTraffVicleBystatus() {
return traffFlowMapper.getTraffVicleBystatus();
}
public void sendMessage(VideoDeviceTraffic videoDeviceTraffic){
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//判断token
String token= qingZhiLoginCacheService.keepAlive();
headers.add("token", token);
HttpEntity<VideoDeviceTraffic> requestEntity = new HttpEntity<>(videoDeviceTraffic, headers);
try{
ResultObj obj= CompletableFuture.supplyAsync(() -> restTemplate.postForObject(url, requestEntity, ResultObj.class)).get(timeout,TimeUnit.SECONDS);
log.info("send device result "+obj.getMsg());
}catch (Exception ex){
log.error(videoDeviceTraffic.getDeviceId()+videoDeviceTraffic.getDateTime()+":"+ex.toString());
}
}
public void sendMessages(List<VideoDeviceTraffic> list){
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//判断token
String token= qingZhiLoginCacheService.keepAlive();
headers.add("token", token);
HttpEntity<List<VideoDeviceTraffic>> requestEntity = new HttpEntity<>(list, headers);
try{
ResultObj obj= CompletableFuture.supplyAsync(() -> restTemplate.postForObject(url, requestEntity, ResultObj.class)).get(timeout,TimeUnit.SECONDS);
log.info("send devicelist to guangda result "+obj.getMsg());
}catch (Exception ex){
log.error("send devicelist to guangda error:"+ex.toString());
}
}
}
\ No newline at end of file
package im.zhaojun.system.service;
import im.zhaojun.system.mapper.TraffalarmrecordMapper;
import im.zhaojun.system.model.Traffalarmrecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TraffalarmrecordService {
@Autowired
private TraffalarmrecordMapper traffalarmrecordMapper;
public Integer statisTraffalarmrecordstatByDay() {
return traffalarmrecordMapper.statisTraffalarmrecordstatByDay();
}
public List<Traffalarmrecord> getTraffalarmrecordBystatus() {
return traffalarmrecordMapper.getTraffalarmrecordBystatus();
}
}
\ No newline at end of file
......@@ -63,4 +63,8 @@ spring.devtools.restart.exclude=static/**,public/**
spring.profiles.path= D:/hzjt_service/imp/config/im/hzjt.properties
exportcolumn=\u8BBE\u5907\u7F16\u53F7,\u901A\u9053\u7F16\u53F7,\u8BBE\u5907\u540D\u79F0,\u533A\u57DF\u7F16\u53F7,\u533A\u57DF\u540D\u79F0,\u544A\u8B66\u65F6\u95F4,\u544A\u8B66\u7B49\u7EA7,\u544A\u8B66\u540D\u79F0
enexportcolumn=sbbh,tdbh,tdmc,xzbh,xzmc,recordtime,recordlevel,recordname
\ No newline at end of file
enexportcolumn=sbbh,tdbh,tdmc,xzbh,xzmc,recordtime,recordlevel,recordname
alarmrecord.check.push.enable=1
alarmrecord.check.push.recordtype=1
qingzhi.devicewritesupplier.name=zksy
qingzhi.deviceTraffic.url=http://33.50.1.213:38080/api/jtldpt/impld/videoDeviceTraffic
\ No newline at end of file
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="im.zhaojun.system.mapper.SbtdspsrMapper">
<resultMap id="BaseResultMap" type="im.zhaojun.system.model.Sbtdspsr">
<!--
WARNING - @mbg.generated
-->
<result column="XH" jdbcType="VARCHAR" property="xh"/>
<result column="SBBH" jdbcType="VARCHAR" property="sbbh"/>
<result column="TDBH" jdbcType="DECIMAL" property="tdbh"/>
<result column="TDLX" jdbcType="DECIMAL" property="tdlx"/>
<result column="WBBH" jdbcType="VARCHAR" property="wbbh"/>
<result column="TDMC" jdbcType="VARCHAR" property="tdmc"/>
<result column="TDMCPY" jdbcType="VARCHAR" property="tdmcpy"/>
<result column="TDZT" jdbcType="DECIMAL" property="tdzt"/>
<result column="TDAZWZ" jdbcType="VARCHAR" property="tdazwz"/>
<result column="JD" jdbcType="VARCHAR" property="jd"/>
<result column="WD" jdbcType="VARCHAR" property="wd"/>
<result column="TPWZX" jdbcType="DECIMAL" property="tpwzx"/>
<result column="TPWZY" jdbcType="DECIMAL" property="tpwzy"/>
<result column="SPBMGS" jdbcType="DECIMAL" property="spbmgs"/>
<result column="SPXSGS" jdbcType="DECIMAL" property="spxsgs"/>
<result column="SSSPSFZZF" jdbcType="DECIMAL" property="ssspsfzzf"/>
<result column="SPZT" jdbcType="DECIMAL" property="spzt"/>
<result column="LXZT" jdbcType="DECIMAL" property="lxzt"/>
<result column="LXSFZZF" jdbcType="DECIMAL" property="lxsfzzf"/>
<result column="SPZL" jdbcType="DECIMAL" property="spzl"/>
<result column="GJZJG" jdbcType="DECIMAL" property="gjzjg"/>
<result column="ML" jdbcType="DECIMAL" property="ml"/>
<result column="SPMLYXGS" jdbcType="DECIMAL" property="spmlyxgs"/>
<result column="SFZCPTZKZ" jdbcType="DECIMAL" property="sfzcptzkz"/>
<result column="ZXCCZBH" jdbcType="VARCHAR" property="zxcczbh"/>
<result column="ZXCCXE" jdbcType="DECIMAL" property="zxccxe"/>
<result column="ZXCCYYRL" jdbcType="DECIMAL" property="zxccyyrl"/>
<result column="ZXCCSYRL" jdbcType="DECIMAL" property="zxccsyrl"/>
<result column="LXBLTS" jdbcType="DECIMAL" property="lxblts"/>
<result column="SFQY" jdbcType="DECIMAL" property="sfqy"/>
<result column="JLBH" jdbcType="VARCHAR" property="jlbh"/>
<result column="FXMS" jdbcType="VARCHAR" property="fxms"/>
<result column="JBMS" jdbcType="VARCHAR" property="jbms"/>
<result column="XZBH" jdbcType="VARCHAR" property="xzbh"/>
<result column="GGBH" jdbcType="VARCHAR" property="ggbh"/>
<result column="ZNBH" jdbcType="VARCHAR" property="znbh"/>
<result column="LXFS" jdbcType="DECIMAL" property="lxfs"/>
<result column="JPKZDH" jdbcType="VARCHAR" property="jpkzdh"/>
<result column="JDPX" jdbcType="DECIMAL" property="jdpx"/>
<result column="SFZNFXJD" jdbcType="DECIMAL" property="sfznfxjd"/>
<result column="ZNFXLX" jdbcType="VARCHAR" property="znfxlx"/>
<result column="SQMS" jdbcType="DECIMAL" property="sqms"/>
<result column="SQURLLJ" jdbcType="VARCHAR" property="squrllj"/>
<result column="SSMLXZ" jdbcType="DECIMAL" property="ssmlxz"/>
<result column="LXMLXZ" jdbcType="DECIMAL" property="lxmlxz"/>
<result column="ZBURLLJ" jdbcType="VARCHAR" property="zburllj"/>
<result column="ZBDK" jdbcType="DECIMAL" property="zbdk"/>
<result column="DQX" jdbcType="DECIMAL" property="dqx"/>
<result column="XQX" jdbcType="DECIMAL" property="xqx"/>
<result column="KQX" jdbcType="DECIMAL" property="kqx"/>
<result column="PQX" jdbcType="DECIMAL" property="pqx"/>
<result column="LXHFQX" jdbcType="DECIMAL" property="lxhfqx"/>
<result column="LXXZQX" jdbcType="DECIMAL" property="lxxzqx"/>
<result column="LXDJQX" jdbcType="DECIMAL" property="lxdjqx"/>
<result column="SFZLX" jdbcType="DECIMAL" property="sfzlx"/>
<result column="SFZX" jdbcType="DECIMAL" property="sfzx"/>
<result column="HB" jdbcType="VARCHAR" property="hb"/>
<result column="JMCJ" jdbcType="VARCHAR" property="jmcj"/>
<result column="SJ" jdbcType="VARCHAR" property="sj"/>
<result column="LXLRCYFS" jdbcType="DECIMAL" property="lxlrcyfs"/>
<result column="KHDOSDXSNR" jdbcType="VARCHAR" property="khdosdxsnr"/>
<result column="KHDOSDXSWZ" jdbcType="VARCHAR" property="khdosdxswz"/>
<result column="CJRY" jdbcType="VARCHAR" property="cjry"/>
<result column="CJRQ" jdbcType="VARCHAR" property="cjrq"/>
<result column="XGRY" jdbcType="VARCHAR" property="xgry"/>
<result column="XGRQ" jdbcType="VARCHAR" property="xgrq"/>
<result column="BZ" jdbcType="VARCHAR" property="bz"/>
<result column="KZ1" jdbcType="DECIMAL" property="kz1"/>
<result column="KZ2" jdbcType="DECIMAL" property="kz2"/>
<result column="KZ3" jdbcType="VARCHAR" property="kz3"/>
<result column="KZ4" jdbcType="VARCHAR" property="kz4"/>
</resultMap>
<select id="selectAllSbbhAndTdbh" resultType="im.zhaojun.system.model.Sbtdspsr">
SELECT XH,SBBH,TDBH FROM SBTDSPSR WHERE XZBH like #{xzbh} || '%'
</select>
<select id="selectBySbbh" resultType="im.zhaojun.system.model.Sbtdspsr">
SELECT A.* FROM SBTDSPSR A where sbbh=#{sbbh} and tdbh=#{tdbh}
</select>
<select id="selectDeviceWrite" resultType="im.zhaojun.system.model.SbtdspsrParam">
SELECT A.*,C.remark1 AS deviceconfig FROM SBTDSPSR A
LEFT JOIN TRAFFDEVICEWRITERESULT B ON A.SBBH = B.SBBH AND A.TDBH = B.TDBH
LEFT JOIN TRAFFDEVICECONFIG C ON C.FDID = A.SBBH AND C.CHANNELID = A.TDBH
WHERE B.PUSHSTATUS != 0 OR B.PUSHDESC IS NULL
</select>
</mapper>
\ No newline at end of file
This diff is collapsed.
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="im.zhaojun.system.mapper.TraffdevicewriteresultMapper">
<select id="querySbtdspsrResultByPage" resultType="im.zhaojun.system.model.SbtdspsrResult">
<select id="querySbtdspsrResultByPage" resultType="im.zhaojun.system.model.SbtdspsrParams">
select ta.*,
a.createtime,
a.pushstatus,
......@@ -10,7 +10,8 @@
a.remark,
a.pushdesc,
p.dept_name as xztreename,
b.devicechecktype devicetype
b.devicechecktype devicetype,
b.remark1 deviceconfig
from sbtdspsr ta
inner join traffdevicewriteresult a
on a.sbbh = ta.sbbh
......
......@@ -192,7 +192,7 @@ let vue_sjcx = new Vue({
construction: '2',
objlabel: objlabels,
processstatus: processstatus,
rectificationtype:'',
rectificationtype:vue_sjcx.clzt_select1=='2'?'':vue_sjcx.clzt_select1,
};
if(exportornot==0){
$.ajax({
......@@ -228,7 +228,7 @@ let vue_sjcx = new Vue({
}
}, onPageClicked: function (event, originalEvent, type, page) { //异步换页
//请求加载数据
vue_sjcx.query(page, false);
vue_sjcx.query(page, false,0);
}
});
}
......
......@@ -145,9 +145,8 @@ let vue_ts = new Vue({
url: "/traffresult/sendDevices",
dataType: "json",
type: "POST",
data: {
xhs: arrs,
},
contentType: 'application/json',
data: JSON.stringify(vue_ts.data_table_ts),
success: function (result) {
if (result.length > 0) {
result.forEach((item, index)=> {
......
......@@ -211,13 +211,17 @@ let vue_ts = new Vue({
vue_sjcx.state_arr.forEach((item, index)=> {
arrs = arrs + item + ',';
});
$.ajax({
url: "/traffresult/sendEvents",
headers: {
'Content-Type': 'application/json'
},
dataType: "json",
type: "POST",
data: {
recordid: arrs,
},
data:JSON.stringify(vue_ts.data_table_ts),
success: function (result) {
if (result.length > 0) {
result.forEach((item, index)=> {
......
......@@ -47,7 +47,7 @@
<option value="2">重复事件</option>
</select>
<span class="pub-span" style="margin-left: 10px;">自动刷新</span>
<input type="checkbox" id="push" @click="zdsx" style="width: 17px;height: 17px;margin-top: 16px;"/>
<input type="checkbox" id="push" @click="zdsx" checked style="width: 17px;height: 17px;margin-top: 16px;"/>
<span class="glyphicon glyphicon-th-list table-class"
:style="{'color':!show?'#368ff3 !important':''}" @click="qh_tab(1)"></span>
<span class="glyphicon glyphicon-th table-class"
......
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