29 changed files with 819 additions and 76 deletions
			
			
		@ -0,0 +1,31 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.task.dto; | 
				
			||||
 | 
				
			||||
import lombok.Data; | 
				
			||||
import lombok.EqualsAndHashCode; | 
				
			||||
 | 
				
			||||
import javax.validation.constraints.NotNull; | 
				
			||||
import java.io.Serializable; | 
				
			||||
 | 
				
			||||
@Data | 
				
			||||
@EqualsAndHashCode | 
				
			||||
public class RobotTaskVideoDTO implements Serializable { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 巡检任务ID | 
				
			||||
     */ | 
				
			||||
    @NotNull | 
				
			||||
    private Long taskId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 巡检机器人ID | 
				
			||||
     */ | 
				
			||||
    @NotNull | 
				
			||||
    private Long userId; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 视频记录类型 1为开始 2为结束 | 
				
			||||
     */ | 
				
			||||
    @NotNull | 
				
			||||
    private Integer recordType; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,21 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.constants; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
public interface HikApiConstants { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 开始手动录像 89ca6c11cc0f40bd89b9653bb4398bc1 | 
				
			||||
     */ | 
				
			||||
    String MANUAL_RECORD_START = "/api/video/v1/manualRecord/start"; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 停止手动录像 | 
				
			||||
     */ | 
				
			||||
    String MANUAL_RECORD_STOP = "/api/video/v1/manualRecord/stop"; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 获取监控点回放取流URL | 
				
			||||
     */ | 
				
			||||
    String PLAY_BACK_URLS = "/api/video/v2/cameras/playbackURLs"; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,23 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.controller; | 
				
			||||
 | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.service.IHikApiService; | 
				
			||||
import lombok.AllArgsConstructor; | 
				
			||||
import org.springblade.core.tool.api.R; | 
				
			||||
import org.springframework.web.bind.annotation.GetMapping; | 
				
			||||
import org.springframework.web.bind.annotation.RequestMapping; | 
				
			||||
import org.springframework.web.bind.annotation.RequestParam; | 
				
			||||
import org.springframework.web.bind.annotation.RestController; | 
				
			||||
 | 
				
			||||
@RestController | 
				
			||||
@AllArgsConstructor | 
				
			||||
@RequestMapping("/hik/api") | 
				
			||||
public class HikVideoController { | 
				
			||||
 | 
				
			||||
    private final IHikApiService hikApiService; | 
				
			||||
 | 
				
			||||
    @GetMapping("/manualCapture") | 
				
			||||
    public R<String> manualCapture(@RequestParam String pointCode) { | 
				
			||||
        return R.data(hikApiService.manualCapture(pointCode)); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1 @@
					 | 
				
			||||
## 海康威视Api调用 | 
				
			||||
@ -0,0 +1,62 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.request; | 
				
			||||
 | 
				
			||||
import lombok.Data; | 
				
			||||
import lombok.EqualsAndHashCode; | 
				
			||||
 | 
				
			||||
import java.io.Serializable; | 
				
			||||
 | 
				
			||||
@Data | 
				
			||||
@EqualsAndHashCode | 
				
			||||
public class PlaybackRequest implements Serializable { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 监控点唯一标识,[分页获取监控点资源]@[软件产品-综合安防管理平台-API列表-视频应用服务-视频资源#分页获取监控点资源]接口获取返回参数cameraIndexCode | 
				
			||||
     */ | 
				
			||||
    private String cameraIndexCode; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 存储类型,0:中心存储 1:设备存储 默认为中心存储 | 
				
			||||
     */ | 
				
			||||
    private String recordLocation = "1"; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 取流协议(应用层协议), “hik”:HIK私有协议,使用视频SDK进行播放时, | 
				
			||||
     * 传入此类型; “rtsp”:RTSP协议;“rtmp”:RTMP协议;“hls”:HLS协议“hls”:HLS协议(HLS协议只支持海康SDK协议、EHOME协议、ONVIF协议接入的设备;只支持H264视频编码和AAC音频编码;云存储版本要求v2.2.4及以上的2.x版本,或v3.0.5及以上的3.x版本;ISC版本要求v1.2.0版本及以上,需在运管中心-视频联网共享中切换成启动平台外置VOD)。 | 
				
			||||
     * 参数不填,默认为HIK协议 | 
				
			||||
     */ | 
				
			||||
    private String protocol = "httpflv"; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 传输协议(传输层协议)0:UDP 1:TCP 默认为tcp,在protocol设置为rtsp或者rtmp时有效 注:EHOME设备回放只支持TCP传输 GB28181 2011及以前版本只支持UDP传输 | 
				
			||||
     */ | 
				
			||||
    private Integer transmode = 1; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 开始查询时间(IOS8601格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX) 例如北京时间: 2017-06-14T00:00:00.000+08:00,参考[附录BISO8601时间格式说明]@[软件产品-综合安防管理平台-附录#附录BISO8601时间格式说明] | 
				
			||||
     */ | 
				
			||||
    private String beginTime; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 结束查询时间,开始时间和结束时间相差不超过三天; (IOS8601格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX)例如北京时间: 2017-06-15T00:00:00.000+08:00,参考[附录BISO8601时间格式说明]@[软件产品-综合安防管理平台-附录#附录BISO8601时间格式说明] | 
				
			||||
     */ | 
				
			||||
    private String endTime; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 分页查询id,上一次查询返回的uuid,用于继续查询剩余片段,默认为空字符串。当存储类型为设备存储时,该字段生效,中心存储会一次性返回全部片段。 | 
				
			||||
     */ | 
				
			||||
    private String uuid; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 扩展内容,格式:key=value, 调用方根据其播放控件支持的解码格式选择相应的封装类型; 支持的内容详见[附录F expand扩展内容说明]@[软件产品-综合安防管理平台-附录-附录F expand扩展内容说明] | 
				
			||||
     */ | 
				
			||||
    private String expand; | 
				
			||||
    /** | 
				
			||||
     * 输出码流转封装格式,“ps”:PS封装格式、“rtp”:RTP封装协议。当protocol=rtsp时生效,且不传值时默认为RTP封装协议 | 
				
			||||
     */ | 
				
			||||
    private String streamform; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 查询录像的锁定类型,0-查询全部录像;1-查询未锁定录像;2-查询已锁定录像,不传默认值为0。通过[录像锁定与解锁]@[软件产品-综合安防管理平台-API列表-视频应用服务-视频能力#查询预置点信息#录像锁定与解锁]接口来进行录像锁定与解锁。 | 
				
			||||
     */ | 
				
			||||
    private Integer lockType; | 
				
			||||
} | 
				
			||||
@ -0,0 +1,32 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.request; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
import lombok.Data; | 
				
			||||
import lombok.EqualsAndHashCode; | 
				
			||||
 | 
				
			||||
import java.io.Serializable; | 
				
			||||
 | 
				
			||||
@Data | 
				
			||||
@EqualsAndHashCode | 
				
			||||
public class RecordStartRequest implements Serializable { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 监控点唯一标识, | 
				
			||||
     * [分页获取监控点资源]@[软件产品-综合安防管理平台-API列表-视频应用服务-视频资源#分页获取监控点资源] | 
				
			||||
     * 接口获取返回参数cameraIndexCode | 
				
			||||
     */ | 
				
			||||
    private String cameraIndexCode; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 录像类型: 范围:0-65535, | 
				
			||||
     * 参考[附录A.31 录像类型]@[软件产品-综合安防管理平台-附录-附录A 数据字典#附录A.31 录像类型], | 
				
			||||
     * 中心存储必填,设备存储不填 | 
				
			||||
     */ | 
				
			||||
    private Integer recordType; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 下发的存储类型。0-中心存储 1-设备存储。如果不传入,默认为0-中心存储 | 
				
			||||
     */ | 
				
			||||
    private Integer type = 1; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,32 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.request; | 
				
			||||
 | 
				
			||||
import lombok.Data; | 
				
			||||
import lombok.EqualsAndHashCode; | 
				
			||||
 | 
				
			||||
import java.io.Serializable; | 
				
			||||
 | 
				
			||||
@Data | 
				
			||||
@EqualsAndHashCode | 
				
			||||
public class RecordStopRequest implements Serializable { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 监控点唯一标识, | 
				
			||||
     * [分页获取监控点资源]@[软件产品-综合安防管理平台-API列表-视频应用服务-视频资源#分页获取监控点资源]接口 | 
				
			||||
     * 获取返回参数cameraIndexCode | 
				
			||||
     */ | 
				
			||||
    private String cameraIndexCode; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 手动录像编号, | 
				
			||||
     * 从[开始手动录像]@[软件产品-综合安防管理平台-API列表-视频应用服务-视频能力#开始手动录像]接口 | 
				
			||||
     * 获取返回参数taskID,由于一个监控点同种存储类型同一时间只能进行一个手动录像任务, | 
				
			||||
     * taskID不传入时,根据监控点编号和存储类型停止手动录像。 | 
				
			||||
     */ | 
				
			||||
    private String taskID; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 下发的存储类型,0-中心存储 1-设备存储 如果不传入,默认为0-中心存储 | 
				
			||||
     */ | 
				
			||||
    private Integer type = 1; | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,8 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.service; | 
				
			||||
 | 
				
			||||
 | 
				
			||||
public interface IHikApiService { | 
				
			||||
 | 
				
			||||
    String manualCapture(String pointCode); | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,25 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.hikVideo.service.impl; | 
				
			||||
 | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.service.IHikApiService; | 
				
			||||
import com.hnac.hzinfo.inspect.utils.HiKUtil; | 
				
			||||
import lombok.AllArgsConstructor; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springframework.stereotype.Service; | 
				
			||||
 | 
				
			||||
@Service | 
				
			||||
@Slf4j | 
				
			||||
@AllArgsConstructor | 
				
			||||
public class HikApiServiceImpl implements IHikApiService { | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * 从摄像头截图 | 
				
			||||
     * @param pointCode  cameraIndexCode | 
				
			||||
     * @return 视频云图片minio地址 | 
				
			||||
     */ | 
				
			||||
    @Override | 
				
			||||
    public String manualCapture(String pointCode) { | 
				
			||||
        String picUrl = HiKUtil.manualCapture(pointCode); | 
				
			||||
        log.info("摄像头截图地址为:{}",picUrl); | 
				
			||||
        return picUrl; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,11 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.task.service; | 
				
			||||
 | 
				
			||||
import com.hnac.hzinfo.inspect.task.dto.RobotTaskVideoDTO; | 
				
			||||
 | 
				
			||||
public interface IRobotTaskVideoService { | 
				
			||||
 | 
				
			||||
    void recordVideo(RobotTaskVideoDTO req); | 
				
			||||
 | 
				
			||||
    String recordVideoByPointCode(String pointCode); | 
				
			||||
 | 
				
			||||
} | 
				
			||||
@ -0,0 +1,136 @@
					 | 
				
			||||
package com.hnac.hzinfo.inspect.task.service.impl; | 
				
			||||
 | 
				
			||||
import com.alibaba.fastjson.JSON; | 
				
			||||
import com.alibaba.fastjson.JSONObject; | 
				
			||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; | 
				
			||||
import com.hnac.hzinfo.inspect.ai.entity.CameraInfoEntity; | 
				
			||||
import com.hnac.hzinfo.inspect.ai.entity.RobotEntity; | 
				
			||||
import com.hnac.hzinfo.inspect.ai.service.ICameraInfoService; | 
				
			||||
import com.hnac.hzinfo.inspect.ai.service.IRobotService; | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.constants.HikApiConstants; | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.request.PlaybackRequest; | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.request.RecordStartRequest; | 
				
			||||
import com.hnac.hzinfo.inspect.hikVideo.request.RecordStopRequest; | 
				
			||||
import com.hnac.hzinfo.inspect.task.dto.RobotTaskVideoDTO; | 
				
			||||
import com.hnac.hzinfo.inspect.task.entity.TaskEntity; | 
				
			||||
import com.hnac.hzinfo.inspect.task.service.IRobotTaskVideoService; | 
				
			||||
import com.hnac.hzinfo.inspect.task.service.ITaskService; | 
				
			||||
import com.hnac.hzinfo.inspect.utils.HiKUtil; | 
				
			||||
import lombok.AllArgsConstructor; | 
				
			||||
import lombok.extern.slf4j.Slf4j; | 
				
			||||
import org.springblade.core.log.exception.ServiceException; | 
				
			||||
import org.springblade.core.log.logger.BladeLogger; | 
				
			||||
import org.springblade.core.tool.utils.Func; | 
				
			||||
import org.springblade.core.tool.utils.StringUtil; | 
				
			||||
import org.springframework.stereotype.Service; | 
				
			||||
 | 
				
			||||
import java.time.LocalDateTime; | 
				
			||||
import java.time.ZoneOffset; | 
				
			||||
import java.time.format.DateTimeFormatter; | 
				
			||||
import java.util.Optional; | 
				
			||||
 | 
				
			||||
@AllArgsConstructor | 
				
			||||
@Service | 
				
			||||
@Slf4j | 
				
			||||
public class RobotTaskVideoServiceImpl implements IRobotTaskVideoService { | 
				
			||||
 | 
				
			||||
    private final IRobotService robotService; | 
				
			||||
    private final ICameraInfoService cameraInfoService; | 
				
			||||
    private final ITaskService taskService; | 
				
			||||
    private final BladeLogger bladeLogger; | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public void recordVideo(RobotTaskVideoDTO req) { | 
				
			||||
        RobotEntity robot = robotService.getOne(Wrappers.<RobotEntity>lambdaQuery().eq(RobotEntity::getUserId, req.getUserId())); | 
				
			||||
        TaskEntity task = taskService.getById(req.getTaskId()); | 
				
			||||
        Func.toLongList(",",robot.getCameraId()).forEach(cameraId -> { | 
				
			||||
            CameraInfoEntity cameraInfo = cameraInfoService.getById(cameraId); | 
				
			||||
            // cameraInfo.setPointCode("ceea3ef00de54062aa23583bc6112e98");
 | 
				
			||||
            if(Func.isNotEmpty(cameraInfo) && Func.isNotEmpty(cameraInfo.getPointCode())) { | 
				
			||||
                if(req.getRecordType() == 1) { | 
				
			||||
                    // 调用海康接口开启录制视频
 | 
				
			||||
                    RecordStartRequest startRequest = new RecordStartRequest(); | 
				
			||||
                    startRequest.setCameraIndexCode(cameraInfo.getPointCode()); | 
				
			||||
                    try { | 
				
			||||
                        bladeLogger.info("recordVideo:manualRecord:start:param", JSON.toJSONString(startRequest)); | 
				
			||||
                        String startResult = HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_START, startRequest); | 
				
			||||
                        bladeLogger.info("recordVideo:manualRecord:start:result", startResult); | 
				
			||||
                        task.setHikVideoTaskId(JSONObject.parseObject(startResult).getString("taskID")); | 
				
			||||
                    } | 
				
			||||
                    catch(ServiceException e) { | 
				
			||||
                        log.info("摄像头手动任务已开启需先结束再开启视频录制任务"); | 
				
			||||
                        RecordStopRequest stopRequest = new RecordStopRequest(); | 
				
			||||
                        stopRequest.setCameraIndexCode(cameraInfo.getPointCode()); | 
				
			||||
                        HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_STOP, stopRequest); | 
				
			||||
                        String startResult = HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_START, startRequest); | 
				
			||||
                        task.setHikVideoTaskId(JSONObject.parseObject(startResult).getString("taskID")); | 
				
			||||
                    } | 
				
			||||
                    // 设置巡检任务视频录制开始时间
 | 
				
			||||
                    if(Func.isEmpty(task.getVideoStartTime())) { | 
				
			||||
                        task.setVideoStartTime(LocalDateTime.now()); | 
				
			||||
                    } | 
				
			||||
                } | 
				
			||||
                else if(req.getRecordType() == 2) { | 
				
			||||
                    // 调用海康接口结束录制视频
 | 
				
			||||
                    RecordStopRequest stopRequest = new RecordStopRequest(); | 
				
			||||
                    stopRequest.setCameraIndexCode(cameraInfo.getPointCode()); | 
				
			||||
                    //request.setTaskID(task.getHikVideoTaskId());
 | 
				
			||||
                    bladeLogger.info("recordVideo:manualRecord:stop:param", JSON.toJSONString(stopRequest)); | 
				
			||||
                    String stopResult = HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_STOP, stopRequest); | 
				
			||||
                    bladeLogger.info("recordVideo:manualRecord:stop:result", stopResult); | 
				
			||||
                    task.setVideoEndTime(LocalDateTime.now()); | 
				
			||||
                    // 调用视频回放接口获取URL地址
 | 
				
			||||
                    PlaybackRequest playbackRequest = new PlaybackRequest(); | 
				
			||||
                    playbackRequest.setCameraIndexCode(cameraInfo.getPointCode()); | 
				
			||||
                    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); | 
				
			||||
                    playbackRequest.setBeginTime(task.getVideoStartTime().atZone(ZoneOffset.ofHours(8)).format(dtf)); | 
				
			||||
                    playbackRequest.setEndTime(task.getVideoEndTime().atZone(ZoneOffset.ofHours(8)).format(dtf)); | 
				
			||||
                    bladeLogger.info("recordVideo:manualRecord:playBack:param", JSON.toJSONString(playbackRequest)); | 
				
			||||
                    String playBackResult = HiKUtil.sendApi(HikApiConstants.PLAY_BACK_URLS, playbackRequest); | 
				
			||||
                    bladeLogger.info("recordVideo:manualRecord:playBack:result", playBackResult); | 
				
			||||
                    String url = JSONObject.parseObject(playBackResult).getString("url"); | 
				
			||||
                    if(StringUtil.isNotBlank(url)) { | 
				
			||||
                        task.setVideoUrl(Optional.ofNullable(task.getVideoUrl()).filter(StringUtil::isNotBlank).map(u -> url).orElse(url)); | 
				
			||||
                    } | 
				
			||||
                } | 
				
			||||
                taskService.updateById(task); | 
				
			||||
            } | 
				
			||||
        }); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    @Override | 
				
			||||
    public String recordVideoByPointCode(String pointCode) { | 
				
			||||
        // 调用海康接口开启录制视频
 | 
				
			||||
        RecordStartRequest request = new RecordStartRequest(); | 
				
			||||
        request.setCameraIndexCode(pointCode); | 
				
			||||
        try { | 
				
			||||
            HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_START, request); | 
				
			||||
        } | 
				
			||||
        catch(ServiceException e) { | 
				
			||||
            RecordStopRequest stopRequest = new RecordStopRequest(); | 
				
			||||
            stopRequest.setCameraIndexCode(pointCode); | 
				
			||||
            HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_STOP, stopRequest); | 
				
			||||
            HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_START, request); | 
				
			||||
        } | 
				
			||||
        // 设置巡检任务视频录制开始时间
 | 
				
			||||
        LocalDateTime beginTime = LocalDateTime.now(); | 
				
			||||
        try { | 
				
			||||
            Thread.sleep(3*60*1000); | 
				
			||||
        } catch (InterruptedException e) { | 
				
			||||
            throw new RuntimeException(e); | 
				
			||||
        } | 
				
			||||
        // 调用海康接口结束录制视频
 | 
				
			||||
        RecordStopRequest stopRequest = new RecordStopRequest(); | 
				
			||||
        stopRequest.setCameraIndexCode(pointCode); | 
				
			||||
        HiKUtil.sendApi(HikApiConstants.MANUAL_RECORD_STOP, stopRequest); | 
				
			||||
        LocalDateTime EndTime = LocalDateTime.now(); | 
				
			||||
        // 调用视频回放接口获取URL地址
 | 
				
			||||
        PlaybackRequest playbackRequest = new PlaybackRequest(); | 
				
			||||
        playbackRequest.setCameraIndexCode(pointCode); | 
				
			||||
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); | 
				
			||||
        playbackRequest.setBeginTime(beginTime.atZone(ZoneOffset.ofHours(8)).format(dtf)); | 
				
			||||
        playbackRequest.setEndTime(EndTime.atZone(ZoneOffset.ofHours(8)).format(dtf)); | 
				
			||||
        String result = HiKUtil.sendApi(HikApiConstants.PLAY_BACK_URLS, playbackRequest); | 
				
			||||
        return JSONObject.parseObject(result).getString("url"); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,228 @@
					 | 
				
			||||
-- 巡检摄像头管理添加设备编号 | 
				
			||||
alter table `hz_st_camera_info` add column `em_code` varchar(50) default null comment '设备编号'; | 
				
			||||
-- 巡检情况对象记录异常告警 | 
				
			||||
alter table `hz_st_ex_event_record` add column `abnormal_condition` varchar(255) default null comment '异常告警'; | 
				
			||||
 | 
				
			||||
alter table `hz_st_ex_task` add column `video_start_time` datetime default null comment '视频录制开始时间'; | 
				
			||||
alter table `hz_st_ex_task` add column `video_end_time` datetime default null comment '视频录制开始时间'; | 
				
			||||
alter table `hz_st_ex_task` add column `video_url` varchar(255) default null comment '手动录制视频地址'; | 
				
			||||
alter table `hz_st_ex_task` add column `hik_video_task_id` varchar(50) default null comment '海康录制视频任务ID'; | 
				
			||||
 | 
				
			||||
-- 巡检计划模板表 | 
				
			||||
CREATE TABLE `hz_st_re_plan_template` ( | 
				
			||||
    `ID` bigint(64) NOT NULL COMMENT 'ID', | 
				
			||||
    `CODE` varchar(18) DEFAULT NULL COMMENT '计划编码', | 
				
			||||
    `NAME` varchar(128) DEFAULT NULL COMMENT '计划名称', | 
				
			||||
    `START_TIME` date DEFAULT NULL COMMENT '计划开始时间', | 
				
			||||
    `END_TIME` date DEFAULT NULL COMMENT '计划结束时间', | 
				
			||||
    `TYPE` char(1) DEFAULT NULL COMMENT '计划模式 0 人员 1岗位  2机构 3自由模式 4 自由人模式', | 
				
			||||
    `METHOD` char(1) DEFAULT '0' COMMENT '派发方式:0 抢占模式  1 并发模式', | 
				
			||||
    `CYCLE` char(1) DEFAULT NULL COMMENT '计划周期 0: 从不 1:每天 2:每月  3:每季度 5:每年 4:每周', | 
				
			||||
    `APPROVER` bigint(20) DEFAULT NULL COMMENT '审批人', | 
				
			||||
    `APPROVE_TIME` datetime DEFAULT NULL COMMENT '审批时间 ', | 
				
			||||
    `FROM_SOURCE` char(2) DEFAULT NULL COMMENT '计划来源 1巡检 2点检', | 
				
			||||
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
    `STATUS` int(2) DEFAULT '6' COMMENT '计划状态  0:待审核-->1:已审核-->2:派发中-->3:暂停-->4:结束-->5审核不通过-->6待提交', | 
				
			||||
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
    `TASK_FLG` tinyint(4) DEFAULT '0' COMMENT '是否立即生产任务 1-是 0-否', | 
				
			||||
    `ROUTE_DATA` text COMMENT '巡检路线数据', | 
				
			||||
    `ROUTE_ID` bigint(20) DEFAULT NULL COMMENT '巡检路线ID字段', | 
				
			||||
    `ROUTE_NAME` varchar(255) DEFAULT NULL COMMENT '路线名称', | 
				
			||||
    `START_REMIND` int(11) DEFAULT NULL COMMENT '开始前提醒(分钟)', | 
				
			||||
    `END_REMIND` int(11) DEFAULT NULL COMMENT '结束前提醒(分钟)', | 
				
			||||
    `TASK_TIMES_A_DAY` int(11) DEFAULT NULL COMMENT '一天任务次数', | 
				
			||||
    `EXEC_TIME_JSON` text COMMENT '任务执行时间json数据', | 
				
			||||
    `AI_CHECK_ITEMS` varchar(255) DEFAULT NULL COMMENT '开始任务时AI检测项 来自数据字段表: beginCheckType  多个检测项直接通过隔开', | 
				
			||||
    `AUTO_VIDEO` varchar(255) DEFAULT '0' COMMENT '巡检类型标识: 0普通巡检  1视频自动巡检  2机器人巡检', | 
				
			||||
    `PLAN_TYPE` varchar(20) DEFAULT 'common' COMMENT '计划类型 common常规任务 temporary临时任务', | 
				
			||||
    `TASK_CONTENT` text COMMENT '临时任务的巡检任务内容', | 
				
			||||
    `message_template_id` bigint(20) DEFAULT NULL COMMENT '消息模板ID', | 
				
			||||
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
    PRIMARY KEY (`ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检计划模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
-- 巡检任务模板表 | 
				
			||||
CREATE TABLE `hz_st_ex_task_template` ( | 
				
			||||
    `ID` bigint(20) NOT NULL COMMENT 'ID', | 
				
			||||
    `PLAN_ID` bigint(20) DEFAULT NULL COMMENT '计划ID', | 
				
			||||
    `TYPE` char(1) DEFAULT NULL COMMENT '计划模式 0 人员 1岗位  2机构 3自由模式 4 自由人模式', | 
				
			||||
    `PLAN_NAME` varchar(128) DEFAULT NULL COMMENT '计划名称', | 
				
			||||
    `BATCH_NUMBER` varchar(20) DEFAULT NULL COMMENT '任务批次号', | 
				
			||||
    `CYCLE` char(1) DEFAULT NULL COMMENT '计划周期 0: 从不 1:每天 2:每月  3:每季度 5:每年 4:每周', | 
				
			||||
    `METHOD` char(1) DEFAULT '0' COMMENT '派发方式:0 抢占模式  1 并发模式', | 
				
			||||
    `PLAN_START_TIME` datetime DEFAULT NULL COMMENT '任务计划开始时间', | 
				
			||||
    `PLAN_END_TIME` datetime DEFAULT NULL COMMENT '任务计划结束时间', | 
				
			||||
    `START_TIME` datetime DEFAULT NULL COMMENT '任务实际开始时间', | 
				
			||||
    `END_TIME` datetime DEFAULT NULL COMMENT '任务实际结束时间', | 
				
			||||
    `KEEP_ON_RECORD` char(1) DEFAULT '0' COMMENT '巡检报备 0 未报备 1已报备', | 
				
			||||
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
    `STATUS` int(2) DEFAULT '0' COMMENT '任务状态 0未开始 1进行中 2暂停 3已完成 4未完成', | 
				
			||||
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
    `AUTO_VIDEO` varchar(255) DEFAULT '0' COMMENT '巡检类型标识: 0普通巡检 1 视频自动巡检 2机器人巡检', | 
				
			||||
    `TASK_CONTENT` text COMMENT '临时任务的巡检任务内容', | 
				
			||||
    `PLAN_TYPE` varchar(20) DEFAULT 'common' COMMENT '计划类型common常规任务temporary临时任务', | 
				
			||||
    `START_REMIND_FLAG` tinyint(1) DEFAULT '0' COMMENT '任务开始前 是否发送提醒短信 标识', | 
				
			||||
    `END_REMIND_FLAG` tinyint(1) DEFAULT '0' COMMENT '任务结束前 是否发送提醒短信 标识', | 
				
			||||
    `START_REMIND_TIME` datetime DEFAULT NULL COMMENT '开始前提醒时间', | 
				
			||||
    `END_REMIND_TIME` datetime DEFAULT NULL COMMENT '结束前提醒时间', | 
				
			||||
    `DUTY_ID` bigint(20) DEFAULT NULL COMMENT '值班ID', | 
				
			||||
    `message_template_id` bigint(20) DEFAULT NULL COMMENT '消息模板ID', | 
				
			||||
    `push_status` bigint(1) DEFAULT NULL COMMENT '推送状态', | 
				
			||||
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
    PRIMARY KEY (`ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
-- 巡检任务对象模板表 | 
				
			||||
CREATE TABLE `hz_st_ex_object_template` ( | 
				
			||||
    `ID` bigint(64) NOT NULL, | 
				
			||||
    `TASK_ID` bigint(20) NOT NULL COMMENT '任务ID', | 
				
			||||
    `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID', | 
				
			||||
    `CODE` varchar(18) DEFAULT NULL COMMENT '对象编码', | 
				
			||||
    `NAME` varchar(128) DEFAULT NULL COMMENT '对象名称', | 
				
			||||
    `ADDRESS` varchar(128) DEFAULT NULL COMMENT '地理位置', | 
				
			||||
    `LGTD` decimal(13,10) DEFAULT NULL COMMENT '经度(东经)', | 
				
			||||
    `LTTD` decimal(12,10) DEFAULT NULL COMMENT '纬度(北纬)', | 
				
			||||
    `DUPLICATE_RECORD` char(1) DEFAULT '0' COMMENT '是否重复记录 0 不允许 1允许', | 
				
			||||
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
    `STATUS` int(2) DEFAULT '0' COMMENT '状态', | 
				
			||||
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
    PRIMARY KEY (`ID`) USING BTREE, | 
				
			||||
    KEY `idx_task_id` (`TASK_ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
-- 巡检任务对象项目模板表 | 
				
			||||
CREATE TABLE `hz_st_ex_object_project_template` ( | 
				
			||||
    `ID` bigint(64) NOT NULL, | 
				
			||||
    `TASK_ID` bigint(64) NOT NULL COMMENT '任务ID', | 
				
			||||
    `OBJECT_ID` bigint(64) NOT NULL COMMENT '对象ID', | 
				
			||||
    `PROJECT_ID` bigint(64) NOT NULL COMMENT '项目ID', | 
				
			||||
    `CODE` varchar(18) DEFAULT NULL COMMENT '目标编码', | 
				
			||||
    `NAME` varchar(128) DEFAULT NULL COMMENT '目标名称', | 
				
			||||
    `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '目标描述', | 
				
			||||
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
    `STATUS` int(2) DEFAULT '0' COMMENT '状态', | 
				
			||||
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
    PRIMARY KEY (`ID`) USING BTREE, | 
				
			||||
    KEY `idx_task_id` (`TASK_ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象项目模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
CREATE TABLE `hz_st_ex_object_project_content_template` ( | 
				
			||||
    `ID` bigint(64) NOT NULL, | 
				
			||||
    `TASK_ID` bigint(20) NOT NULL COMMENT '任务ID', | 
				
			||||
    `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID', | 
				
			||||
    `PROJECT_ID` bigint(20) NOT NULL COMMENT '项目ID', | 
				
			||||
    `CONTENT_ID` bigint(20) NOT NULL COMMENT '内容ID', | 
				
			||||
    `CODE` varchar(18) DEFAULT NULL COMMENT '内容编码 由系统自动生成自动生成', | 
				
			||||
    `NAME` varchar(128) DEFAULT NULL COMMENT '内容名称', | 
				
			||||
    `AVAILABLE` char(1) DEFAULT '1' COMMENT '完成标识 0 不可用 1 可用', | 
				
			||||
    `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '内容描述', | 
				
			||||
    `CHECK_TYPE` char(2) DEFAULT NULL COMMENT '检测类型', | 
				
			||||
    `RECORD_TYPE` char(1) DEFAULT NULL COMMENT '记录类型', | 
				
			||||
    `CHECK_TYPE_SON` varchar(256) DEFAULT NULL COMMENT '存字典表key 检测类型子类  子类的子类通过-隔开例如:1-12', | 
				
			||||
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
    `STATUS` int(2) DEFAULT '0' COMMENT '状态', | 
				
			||||
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
    `CLOCK_ID` bigint(20) DEFAULT NULL COMMENT '表针识别 表盘ID', | 
				
			||||
    `CAMERA_ID` bigint(20) DEFAULT NULL COMMENT '视频巡检摄像机ID', | 
				
			||||
    `CAMERA_ADDR` varchar(128) DEFAULT NULL COMMENT '开关/灯/表盘在摄像机可视面二维坐标位置 例如:2 1   表示第三行第二列 行列均从0开始记录 默认 0 0 如果有多张图则:0 0 1( 最后一位表示所在图片 最后一位1表示第二张图) 默认0 0 0', | 
				
			||||
    `OTHER_PARAM` varchar(1024) DEFAULT NULL COMMENT '其他参数 例如多联断路器内断路器的个数', | 
				
			||||
    `CHECK_VAL` varchar(512) DEFAULT NULL COMMENT '校验值 用来判断当前值是否正确:枚举数据通过 “    ”隔开  区间通过~隔开', | 
				
			||||
    `DICT_TYPE` varchar(255) DEFAULT NULL COMMENT '记值方式为选择时选择值', | 
				
			||||
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
    PRIMARY KEY (`ID`) USING BTREE, | 
				
			||||
    KEY `idx_task_id` (`TASK_ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象项目内容模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
-- 巡检情况列模板表 | 
				
			||||
CREATE TABLE `hz_st_ex_event_template` ( | 
				
			||||
   `ID` bigint(20) NOT NULL COMMENT 'ID', | 
				
			||||
   `TASK_ID` bigint(20) DEFAULT NULL COMMENT '任务ID', | 
				
			||||
   `OBJECT_ID` bigint(20) DEFAULT NULL COMMENT '对象ID', | 
				
			||||
   `PROJECT_ID` bigint(20) DEFAULT NULL COMMENT '项目ID', | 
				
			||||
   `USER_ID` bigint(20) DEFAULT NULL COMMENT '事件登记人', | 
				
			||||
   `CODE` varchar(18) DEFAULT NULL COMMENT '事件编号', | 
				
			||||
   `TITLE` varchar(128) DEFAULT NULL COMMENT '事件标题', | 
				
			||||
   `DESCRIPTION` varchar(1024) DEFAULT NULL COMMENT '事件描述', | 
				
			||||
   `IS_PROBLEM` char(1) DEFAULT '0' COMMENT '是否问题 0:否 1 是  默认0', | 
				
			||||
   `TYPE_BIG` char(10) DEFAULT NULL COMMENT '问题类型(大)', | 
				
			||||
   `TYPE_SMALL` char(10) DEFAULT NULL COMMENT '问题类型(小)', | 
				
			||||
   `LGTD` decimal(13,10) DEFAULT NULL COMMENT '经度(东经)', | 
				
			||||
   `LTTD` decimal(12,10) DEFAULT NULL COMMENT '纬度(北纬)', | 
				
			||||
   `ADDRESS` varchar(256) DEFAULT NULL COMMENT '事件地点', | 
				
			||||
   `PROCESS_DEFINITION_ID` varchar(64) DEFAULT NULL COMMENT '流程定义id', | 
				
			||||
   `PROCESS_INSTANCE_ID` varchar(64) DEFAULT NULL COMMENT '流程实例id', | 
				
			||||
   `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
   `CREATE_USER` bigint(64) DEFAULT NULL, | 
				
			||||
   `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
   `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
   `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
   `STATUS` int(2) DEFAULT '0' COMMENT '状态', | 
				
			||||
   `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
   `TENANT_ID` varchar(12) DEFAULT NULL COMMENT '租户', | 
				
			||||
   `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
   PRIMARY KEY (`ID`) USING BTREE, | 
				
			||||
   KEY `idx_task_id` (`TASK_ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检情况列模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
-- 巡检情况记录模板表 | 
				
			||||
CREATE TABLE `hz_st_ex_event_record_template` ( | 
				
			||||
  `ID` bigint(64) NOT NULL, | 
				
			||||
  `EVENT_ID` bigint(20) NOT NULL COMMENT '事件ID', | 
				
			||||
  `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID', | 
				
			||||
  `PROJECT_ID` bigint(20) NOT NULL COMMENT '项目ID', | 
				
			||||
  `CONTENT_ID` bigint(20) NOT NULL COMMENT '内容ID', | 
				
			||||
  `CURRENT_STATUS` char(1) DEFAULT '1' COMMENT '内容当前状态 0 异常 1 正常 ', | 
				
			||||
  `CURRENT_VALUE` varchar(512) DEFAULT NULL COMMENT '内容当前值', | 
				
			||||
  `CURRENT_DESC` varchar(512) DEFAULT NULL COMMENT '内容当前描述', | 
				
			||||
  `CODE` varchar(18) DEFAULT NULL COMMENT '内容编码:由系统自动生成自动生成', | 
				
			||||
  `NAME` varchar(128) DEFAULT NULL COMMENT '内容名称', | 
				
			||||
  `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '内容描述', | 
				
			||||
  `RECORD_TYPE` char(1) DEFAULT NULL COMMENT '记录类型  0 不记录  1仅选择 2仅记值 3选择并记值', | 
				
			||||
  `CHECK_TYPE` char(2) DEFAULT NULL COMMENT '检测类型 原来数据字典 暂时设计只支持99个类型', | 
				
			||||
  `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人', | 
				
			||||
  `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门', | 
				
			||||
  `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间', | 
				
			||||
  `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人', | 
				
			||||
  `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间', | 
				
			||||
  `STATUS` int(2) DEFAULT NULL COMMENT '状态', | 
				
			||||
  `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除', | 
				
			||||
  `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户', | 
				
			||||
  `CHECK_TYPE_SON` varchar(256) DEFAULT NULL COMMENT '存字典表key 检测类型子类 子类的子类通过-隔开例如:1-12', | 
				
			||||
  `FILE_URL` varchar(512) DEFAULT NULL COMMENT '文件地址', | 
				
			||||
  `CAMERA_ADDR` varchar(256) DEFAULT NULL COMMENT '开关/灯/表盘在摄像机可视面二维坐标位置 例如:2 1   表示第三行第二列 行列均从0开始记录 默认 0 0  如果有多张图则:0 0 1( 最后一位表示所在图片 最后一位1表示第二张图) 默认0 0 0', | 
				
			||||
  `OTHER_PARAM` varchar(1024) DEFAULT NULL COMMENT '其他参数 例如多联断路器内断路器的', | 
				
			||||
  `CHECK_VAL` varchar(512) DEFAULT NULL COMMENT '校验值 用来判断当前值是否正确:枚举数据通过 隔开 区间通过 隔开', | 
				
			||||
  `DICT_TYPE` varchar(255) DEFAULT NULL COMMENT '记值方式为选择时选择值', | 
				
			||||
  `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用', | 
				
			||||
  PRIMARY KEY (`ID`) USING BTREE, | 
				
			||||
  KEY `idx_event_id` (`EVENT_ID`) USING BTREE, | 
				
			||||
  KEY `idx_is_deleted_tenant_id` (`IS_DELETED`,`TENANT_ID`) USING BTREE | 
				
			||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检情况记录模板表(专供演示数据使用)'; | 
				
			||||
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue