From 573d547728164c0de8b043eaa350f10697b32a0a Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 25 九月 2023 22:11:53 +0800
Subject: [PATCH] 油烟

---
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmRecordServiceImpl.java   |   20 
 ycl-platform/src/main/resources/mapper/smoke/OdsAlarmMsgMapper.xml                     |   20 
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsDetectorDailyService.java         |   16 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java                   |   16 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmMsgMapper.java                 |   16 
 ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml                       |   46 +
 ycl-platform/src/main/resources/mapper/smoke/OdsAlarmRecordMapper.xml                  |   33 
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java                |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCurAlarmServiceImpl.java      |   20 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmRecord.java                    |  162 +++
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocale.java                         |  433 +++++++++
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleMapper.java                   |   16 
 ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java               |   22 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsTenMinData.java                     |  106 ++
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCurAlarmMapper.java                 |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCurAlarmService.java              |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleService.java                |   16 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsDetectorDailyMapper.java            |   16 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsDetectorDaily.java                  |  274 ++++++
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java      |   20 
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsDetectorDailyServiceImpl.java |   20 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmMsg.java                       |   73 +
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleServiceImpl.java        |   20 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsInTime.java                         |  247 +++++
 ycl-platform/src/main/resources/mapper/smoke/OdsCustomerMapper.xml                     |   35 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmRecordMapper.java              |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmRecordService.java           |   16 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCurAlarm.java                       |  270 ++++++
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java              |   16 
 ycl-platform/src/main/resources/mapper/smoke/OdsTenMinDataMapper.xml                   |   25 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCustomerMapper.java                 |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCustomerServiceImpl.java      |   20 
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java        |   20 
 ycl-platform/src/main/resources/mapper/smoke/OdsCurAlarmMapper.xml                     |   49 +
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleCustomer.java                 |   57 +
 ycl-platform/src/main/resources/mapper/smoke/OdsDetectorDailyMapper.xml                |   49 +
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsTenMinDataService.java            |   16 
 ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsTenMinDataServiceImpl.java    |   20 
 ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsTenMinDataMapper.java               |   16 
 ycl-platform/src/main/resources/mapper/smoke/OdsLocaleMapper.xml                       |   74 +
 ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCustomerService.java              |   16 
 ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCustomer.java                       |  190 ++++
 42 files changed, 2,581 insertions(+), 0 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java
new file mode 100644
index 0000000..114bc27
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/controller/smoke/SmokeController.java
@@ -0,0 +1,22 @@
+package com.ycl.controller.smoke;
+
+import com.ycl.controller.BaseController;
+import com.ycl.service.smoke.IOdsInTimeService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/smoker")
+@Api(tags = "瑙嗛璧勬簮绠$悊")
+public class SmokeController extends BaseController {
+
+    IOdsInTimeService inTimeService;
+
+    @Autowired
+
+    public void setInTimeService(IOdsInTimeService inTimeService) {
+        this.inTimeService = inTimeService;
+    }
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmMsg.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmMsg.java
new file mode 100644
index 0000000..734fb0d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmMsg.java
@@ -0,0 +1,73 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 鎶ヨ娑堟伅
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_alarm_msg")
+public class OdsAlarmMsg implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 璁惧鐨刴n鏁版嵁
+     */
+    @TableField("mn")
+    @JsonProperty("MN")
+    private String mn;
+
+    /**
+     * 鏁版嵁鏀堕泦鏃堕棿
+     */
+    @TableField("acquit_at")
+    @JsonProperty("AcquitAt")
+    private Long acquitAt;
+
+    /**
+     * 鎸佹湁浜�
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 鍐呭
+     */
+    @TableField("content")
+    @JsonProperty("Content")
+    private String content;
+
+    /**
+     * 娑堟伅绫诲瀷
+     */
+    @TableField("msg_type")
+    @JsonProperty("MsgType")
+    private String msgType;
+
+    @JsonProperty("Addr")
+    @TableField("addr")
+    private String addr;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmRecord.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmRecord.java
new file mode 100644
index 0000000..4c74b9b
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsAlarmRecord.java
@@ -0,0 +1,162 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 鎶ヨ璁板綍
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_alarm_record")
+public class OdsAlarmRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("id")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 鐩戞祴鐐笽D
+     */
+    @TableField("local_id")
+    @JsonProperty("LocaleId")
+    private String localId;
+
+    /**
+     * 璁惧缂栧彿
+     */
+    @TableField("mn")
+    @JsonProperty("MN")
+    private String mn;
+
+    /**
+     * 鏁版嵁绫诲瀷1锛氳秴鏍�2锛氬紓甯�
+     */
+    @TableField("typ")
+    @JsonProperty("Typ")
+    private Integer typ;
+
+    /**
+     * 鎶ヨ鏃堕棿
+     */
+    @TableField("alarm_date")
+    @JsonProperty("AlarmDate")
+    private String alarmDate;
+
+    /**
+     * 璁惧绫诲瀷
+     */
+    @TableField("device_type")
+    @JsonProperty("DeviceType")
+    private Integer deviceType;
+
+    /**
+     * 閲囬泦鏃堕棿
+     */
+    @TableField("acquit_at")
+    @JsonProperty("AcquitAt")
+    private Long acquitAt;
+
+    /**
+     * 澶勭悊鏃堕棿
+     */
+    @TableField("process_at")
+    @JsonProperty("ProcessAt")
+    private Long processAt;
+
+    /**
+     * 鎵�灞炲崟浣�
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 瑙e喅鏂规
+     */
+    @TableField("solution")
+    @JsonProperty("Solution")
+    private String solution;
+
+    /**
+     * 澶勭悊鍦板潃
+     */
+    @TableField("processing_address")
+    @JsonProperty("ProcessingAddress")
+    private String processingAddress;
+
+    /**
+     * 鐐逛綅鍦板潃
+     */
+    @TableField("addr")
+    @JsonProperty("Addr")
+    private String addr;
+
+    /**
+     * 澶勭悊浜篒D
+     */
+    @TableField("process_user_id")
+    @JsonProperty("ProcessUserId")
+    private String processUserId;
+
+    /**
+     * 澶勭悊浜哄悕绉�
+     */
+    @TableField("process_user_name")
+    @JsonProperty("ProcessUserName")
+    private String processUserName;
+
+    /**
+     * 澶勭悊鍘熷洜
+     */
+    @TableField("process_reason")
+    @JsonProperty("Processor")
+    private String processReason;
+
+    /**
+     * 鍏宠仈鍦板潃
+     */
+    @TableField("created_at")
+    @JsonProperty("CreatedAt")
+    private String createdAt;
+
+    /**
+     * 鍦板潃搴忓垪
+     */
+    @TableField("update_at")
+    @JsonProperty("UpdatedAt")
+    private String updateAt;
+
+    /**
+     * 鏌ヨ缁撴灉鎬绘暟
+     */
+    @TableField("total")
+    @JsonProperty("")
+    private Integer total;
+
+    /**
+     * 鎶ヨ鍥剧墖
+     */
+    @TableField(exist = false)
+    @JsonProperty("AlarmRecordPicS")
+    private String[] alarmRecordPics;
+
+    /**
+     * 鎶ヨ鍥剧墖
+     */
+    @TableField("alarm_record_pics")
+    private String alarmRecordPicsString;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCurAlarm.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCurAlarm.java
new file mode 100644
index 0000000..8399842
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCurAlarm.java
@@ -0,0 +1,270 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 鐩戞祴鐐圭粺璁�&鍋ュ悍鐮佺鐞�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_cur_alarm")
+public class OdsCurAlarm implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("id")
+    @JsonProperty("")
+    private Integer id;
+
+    /**
+     * 寮傚父绂荤嚎澶╂暟
+     */
+    @TableField("abnormal_off_line_days")
+    @JsonProperty("AbnormalOfflineDays")
+    private Integer abnormalOffLineDays;
+
+    /**
+     * 澶勭悊鐜�
+     */
+    @TableField("abnormal_off_line_process_ratio")
+    @JsonProperty("AbnormalOfflineProcessRatio")
+    private Integer abnormalOffLineProcessRatio;
+
+    /**
+     * 寮傚父绂荤嚎寰呭鐞嗗ぉ鏁�
+     */
+    @TableField("abnormal_off_line_to_process_days")
+    @JsonProperty("AbnormalOfflineToProcessDays")
+    private Integer abnormalOffLineToProcessDays;
+
+    /**
+     * 鍦板潃
+     */
+    @TableField("addr")
+    @JsonProperty("Addr")
+    private String addr;
+
+    /**
+     * 鎺掓斁鐗╂祿搴︽姌绠�(鏄ㄦ棩)
+     */
+    @TableField("c_emissions")
+    @JsonProperty("CEmissions")
+    private BigDecimal cEmissions;
+
+    /**
+     * 鍦ㄧ嚎鏃ュ钩鍧囨帓鏀炬祿搴�
+     */
+    @TableField("c_emissions_avg_online")
+    @JsonProperty("CEmissionsAvgOnline")
+    private BigDecimal cEmissionsAvgOnline;
+
+    /**
+     * 鏃ユ渶楂樻帓鏀炬祿搴�
+     */
+    @TableField("c_emissions_max")
+    @JsonProperty("CEmissionsMax")
+    private BigDecimal cEmissionsMax;
+
+    /**
+     * 鏃ユ渶楂樻帓鏀炬祿搴︽棩鏈�
+     */
+    @TableField("c_emissions_max_date")
+    @JsonProperty("CEmissionsMaxDate")
+    private LocalDateTime cEmissionsMaxDate;
+
+    /**
+     * 棰楃矑鐗╂祿搴︽姌绠�(鏄ㄦ棩)
+     */
+    @TableField("c_granule")
+    @JsonProperty("CGranule")
+    private BigDecimal cGranule;
+
+    /**
+     * 闈炵敳鐑锋�荤儍娴撳害鎶樼畻	(鏄ㄦ棩)
+     */
+    @TableField("c_hydrocarbon")
+    @JsonProperty("CHydrocarbon")
+    private BigDecimal cHydrocarbon;
+
+    /**
+     * 鑿滅郴鍚�
+     */
+    @TableField("cuisine_name")
+    @JsonProperty("CuisineName")
+    private String cuisineName;
+
+    /**
+     * 钀ヤ笟鎵х収
+     */
+    @TableField("customer_bl_no")
+    @JsonProperty("CustomerBlNo")
+    private String customerBlNo;
+
+    /**
+     * 鑱旂郴浜�
+     */
+    @TableField("customer_contact")
+    @JsonProperty("CustomerContact")
+    private String customerContact;
+
+    /**
+     * 鐢佃瘽
+     */
+    @TableField("customer_mobile")
+    @JsonProperty("CustomerMobile")
+    private String customerMobile;
+
+    /**
+     * 搴楀悕绉�
+     */
+    @TableField("customer_name")
+    @JsonProperty("CustomerName")
+    private String customerName;
+
+    /**
+     * 鐩戞祴浠晠闅滃ぉ鏁�
+     */
+    @TableField("detector_failure_days")
+    @JsonProperty("DetectorFailureDays")
+    private Integer detectorFailureDays;
+
+    /**
+     * 瓒呮爣闃堝��
+     */
+    @TableField("emissions_sill")
+    @JsonProperty("EmissionsSill")
+    private Double emissionsSill;
+
+    /**
+     * 瓒呮爣鏁�
+     */
+    @TableField("excess_num")
+    @JsonProperty("ExcessNum")
+    private Integer excessNum;
+
+    /**
+     * 瓒呮爣寰呭鐞嗗ぉ鏁�
+     */
+    @TableField("excess_to_process_days")
+    @JsonProperty("ExcessToProcessDays")
+    private Integer excessToProcessDays;
+
+    /**
+     * 鍑�鍖栧櫒涓嶆甯镐娇鐢ㄥぉ鏁�
+     */
+    @TableField("filter_abnormally_used_days")
+    @JsonProperty("FilterAbnormallyUsedDays")
+    private Integer filterAbnormallyUsedDays;
+
+    /**
+     * 鍑�鍖栧櫒娓呮礂娆℃暟
+     */
+    @TableField("filter_wash_times")
+    @JsonProperty("FilterWashTimes")
+    private Integer filterWashTimes;
+
+    /**
+     * 鍋ュ悍鐮侀鑹�
+     */
+    @TableField("health_code_color")
+    @JsonProperty("HealthCodeColor")
+    private String healthCodeColor;
+
+    /**
+     * 闈炵敳鐑锋�荤儍瓒呮爣闃堝��
+     */
+    @TableField("hydrocarbon_sill")
+    @JsonProperty("HydrocarbonSill")
+    private Double hydrocarbonSill;
+    /**
+     * 闈炵敳鐑锋�荤儍瓒呮爣闃堝��
+     */
+    @TableField("granule_sill")
+    @JsonProperty("GranuleSill")
+    private Double granuleSill;
+    /**
+     * 鐩戞祴鐐笽d
+     */
+    @TableField("locale_id")
+    @JsonProperty("LocaleId")
+    private String localeId;
+
+    /**
+     * 绾害
+     */
+    @TableField("local_lat")
+    @JsonProperty("LocaleLat")
+    private String localLat;
+
+    /**
+     * 缁忓害
+     */
+    @TableField("local_lng")
+    @JsonProperty("LocaleLng")
+    private String localLng;
+
+    /**
+     * 璁惧鐨刴n鏁版嵁
+     */
+    @TableField("mn")
+    @JsonProperty("MN")
+    private String mn;
+
+    /**
+     * 鍚嶇О
+     */
+    @TableField("name")
+    @JsonProperty("Name")
+    private String name;
+
+    /**
+     * 搴楀鍘熷洜瀵艰嚧绂荤嚎澶╂暟
+     */
+    @TableField("off_line_cause_by_shop_days")
+    @JsonProperty("OfflineCausedByShopDays")
+    private Integer offLineCauseByShopDays;
+
+    /**
+     * 鎵�灞炲崟浣�
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 姝囦笟澶╂暟
+     */
+    @TableField("shop_close_days")
+    @JsonProperty("ShopClosedDays")
+    private Integer shopCloseDays;
+
+    /**
+     * 鐘舵�乕1:涓�鑸洃娴嬬偣,2:鐗规畩鐩戞祴鐐�,99:搴熷純鐩戞祴鐐筣
+     */
+    @TableField("status")
+    @JsonProperty("Status")
+    private Integer status;
+
+    /**
+     * 鐘舵�佹弿杩�
+     */
+    @TableField("status_desc")
+    @JsonProperty("StatusDesc")
+    private String statusDesc;
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCustomer.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCustomer.java
new file mode 100644
index 0000000..26410c3
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsCustomer.java
@@ -0,0 +1,190 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 缁勭粐鏋舵瀯
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_customer")
+public class OdsCustomer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private Long id;
+
+    /**
+     * 鐖惰妭鐐�
+     */
+    @TableField("pid")
+    @JsonProperty("Pid")
+    private String pid;
+
+    /**
+     * 钀ヤ笟鎵х収缂栧彿
+     */
+    @TableField("bl_no")
+    @JsonProperty("BlNo")
+    private String blNo;
+
+    /**
+     * 钀ヤ笟鎵х収鍚嶇О
+     */
+    @TableField("bl_name")
+    @JsonProperty("BlName")
+    private String blName;
+
+    /**
+     * 缁勭粐鍚嶇О
+     */
+    @TableField("org")
+    @JsonProperty("Org")
+    private String org;
+
+    /**
+     * 鍚嶇О
+     */
+    @TableField("name")
+    @JsonProperty("Name")
+    private String name;
+
+    /**
+     * 鑱旂郴浜�
+     */
+    @TableField("contact")
+    @JsonProperty("Contact")
+    private String contact;
+
+    /**
+     * 鎵嬫満鍙�
+     */
+    @TableField("mobile")
+    @JsonProperty("Mobile")
+    private String mobile;
+
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
+    @TableField("telephone")
+    @JsonProperty("Telephone")
+    private String telephone;
+
+    /**
+     * 绫诲瀷锛�1:绯荤粺鐢ㄦ埛2:缁忛攢鍗曚綅3:琛屾斂鍗曚綅4:椁愰ギ鍗曚綅锛�
+     */
+    @TableField("typ")
+    @JsonProperty("Typ")
+    private Integer typ;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField("creator")
+    @JsonProperty("Creator")
+    private String creator;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField("create_at")
+    @JsonProperty("CreateAt")
+    private Long createAt;
+
+    /**
+     * 鐘舵��
+     */
+    @TableField("status")
+    @JsonProperty("Status")
+    private Integer status;
+
+    /**
+     * 鍦板潃
+     */
+    @TableField("address")
+    @JsonProperty("Address")
+    private String address;
+
+    /**
+     * 鏍囧織
+     */
+    @TableField("logo")
+    @JsonProperty("Logo")
+    private String logo;
+
+    /**
+     * 钀ヤ笟鏃堕棿
+     */
+    @TableField("business_hour")
+    @JsonProperty("BusinessHour")
+    private String businessHour;
+
+    /**
+     * 杩愮淮浜哄憳ID
+     */
+    @TableField("maintainer_id")
+    @JsonProperty("MaintainerId")
+    private String maintainerId;
+
+    /**
+     * 鍏宠仈鍦板潃
+     */
+    @TableField("area_ids")
+    private String areaIdsString;
+
+    /**
+     * 鍦板潃搴忓垪
+     */
+    @TableField("area_id_cascads")
+    private String areaIdCascadsString;
+
+    /**
+     * 鍦板潃璇︾粏淇℃伅
+     */
+    @TableField("areas")
+    private String areasString;
+
+    @TableField(exist = false)
+    @JsonProperty("AreaIds")
+    private String[] areaIds;
+
+    /**
+     * 鍦板潃搴忓垪
+     */
+    @TableField(exist = false)
+    @JsonProperty("AreaIdCascades")
+    private String[] areaIdCascads;
+
+    /**
+     * 鍦板潃璇︾粏淇℃伅
+     */
+    @TableField(exist = false)
+    @JsonProperty("Areas")
+    private String[] areas;
+
+    /**
+     * 浠嬬粛
+     */
+    @TableField("desc1")
+    @JsonProperty("Desc")
+    private String desc;
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsDetectorDaily.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsDetectorDaily.java
new file mode 100644
index 0000000..cf0d282
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsDetectorDaily.java
@@ -0,0 +1,274 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 鐩戞祴
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_detector_daily")
+public class OdsDetectorDaily implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 璁惧mn
+     */
+    @TableField("mn")
+    @JsonProperty("MN")
+    private String mn;
+
+    /**
+     * 鎸佹湁鑰�
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 鏁版嵁閲囬泦鏃堕棿
+     */
+    @TableField("acquit_at")
+    @JsonProperty("AcquitAt")
+    private Long acquitAt;
+
+    /**
+     * 鏁版嵁閲囬泦鏃�
+     */
+    @TableField("acquit_date")
+    @JsonProperty("AcquitDate")
+    private String acquitDate;
+
+    /**
+     * 鍒涘缓鏃ユ湡
+     */
+    @TableField("create_at")
+    @JsonProperty("CreateAt")
+    private Long createAt;
+
+    /**
+     * 鎺掓斁鐗╂祿搴︽姌绠�
+     */
+    @TableField("c_emissions")
+    @JsonProperty("CEmissions")
+    private BigDecimal cEmissions;
+
+    /**
+     * 棰楃矑鐗╂祿搴︽姌绠�
+     */
+    @TableField("c_granule")
+    @JsonProperty("CGranule")
+    private BigDecimal cGranule;
+
+    /**
+     * 闈炵敳鐑锋�荤儍娴撳害鎶樼畻	
+     */
+    @TableField("c_hydrocarbon")
+    @JsonProperty("CHydrocarbon")
+    private BigDecimal cHydrocarbon;
+
+    /**
+     * 寮冪敤
+     */
+    @TableField("e_missions")
+    @JsonProperty("Emissions")
+    private BigDecimal eMissions;
+
+    /**
+     * 寮冪敤
+     */
+    @TableField("granule")
+    @JsonProperty("Granule")
+    private BigDecimal granule;
+
+    /**
+     * 寮冪敤
+     */
+    @TableField("hydrocarbon")
+    @JsonProperty("Hydrocarbon")
+    private BigDecimal hydrocarbon;
+
+    /**
+     * 杞��
+     */
+    @TableField("velocity")
+    @JsonProperty("Velocity")
+    private BigDecimal velocity;
+
+    /**
+     * 娓╁害
+     */
+    @TableField("temperature")
+    @JsonProperty("Temperature")
+    private BigDecimal temperature;
+
+    /**
+     * 婀垮害
+     */
+    @TableField("moisture")
+    @JsonProperty("Moisture")
+    private BigDecimal moisture;
+
+    /**
+     * Pm2.5鍑忔帓閲�
+     */
+    @TableField("red_pm25")
+    @JsonProperty("RedPm25")
+    private BigDecimal redPm25;
+
+    /**
+     * pm10鍑忔帓閲�
+     */
+    @TableField("red_pm10")
+    @JsonProperty("RedPm10")
+    private BigDecimal redPm10;
+
+    /**
+     * 鎺掓斁鐗╁噺鎺掗噺
+     */
+    @TableField("red_emissions")
+    @JsonProperty("RedEmissions")
+    private BigDecimal redEmissions;
+
+    /**
+     * vocs鍑忔帓閲�
+     */
+    @TableField("red_vocs")
+    @JsonProperty("RedVocs")
+    private BigDecimal redVocs;
+
+    /**
+     * 璁惧鏁�
+     */
+    @TableField("device_num")
+    @JsonProperty("DeviceNum")
+    private Integer deviceNum;
+
+    /**
+     * 鐘舵�乕1:姝e父,2:瓒呮爣,3:姝e父绂荤嚎,4寮傚父绂籡
+     */
+    @TableField("status")
+    @JsonProperty("Status")
+    private Integer status;
+
+    /**
+     * 鍑�鍖栧櫒椋庢満鑱斿姩姣�=鍑�鍖栧櫒寮�骞朵笖椋庢満寮�鐨勬潯鏁�/椋庢満寮�鐨勬暟鎹�绘潯鏁�*100%锛�
+     */
+    @TableField("filter_fan_link_ratio")
+    @JsonProperty("FilterFanLinkRatio")
+    private BigDecimal filterFanLinkRatio;
+
+    /**
+     * 鍑�鍖栧櫒鏄惁闈炴甯镐娇鐢�
+     */
+    @TableField("filter_abnormally_used")
+    @JsonProperty("FilterAbnormallyUsed")
+    private Boolean filterAbnormallyUsed;
+
+    /**
+     * 鎺掓斁鐗╄秴鏍�
+     */
+    @TableField("c_emissions_exceed_standard")
+    @JsonProperty("CEmissionsExceedStandard")
+    private Boolean cEmissionsExceedStandard;
+
+    /**
+     * 棰楃矑鐗╄秴鏍�
+     */
+    @TableField("c_granule_exceed_standard")
+    @JsonProperty("CGranuleExceedStandard")
+    private Boolean cGranuleExceedStandard;
+
+    /**
+     * 闈炵敳鐑锋�荤儍瓒呮爣
+     */
+    @TableField("c_hydrocarbon_exceed_standard")
+    @JsonProperty("CHydrocarbonExceedStandard")
+    private Boolean cHydrocarbonExceedStandard;
+
+    /**
+     * 鍦板尯id
+     */
+    @TableField("locale_id")
+    @JsonProperty("LocaleId")
+    private String localeId;
+
+    /**
+     * 鎵�灞炲崟浣峣d
+     */
+    @TableField("customer_id")
+    @JsonProperty("CustomerId")
+    private Integer customerId;
+
+    /**
+     * 鐢ㄦ埛
+     */
+    @TableField("customer")
+    @JsonProperty("Customer")
+    private String customer;
+
+    /**
+     * 鎺掓斁鐗╅槇鍊�
+     */
+    @TableField("locale_emissions_sill")
+    @JsonProperty("LocaleEmissionsSill")
+    private BigDecimal localeEmissionsSill;
+
+    /**
+     * 棰楃矑鐗╅槇鍊�
+     */
+    @TableField("locale_granule_sill")
+    @JsonProperty("LocaleGranuleSill")
+    private BigDecimal localeGranuleSill;
+
+    /**
+     * 闈炵敳鐑锋�荤儍闃堝��
+     */
+    @TableField("locale_hydrocarbon_sill")
+    @JsonProperty("LocaleHydrocarbonSill")
+    private BigDecimal localeHydrocarbonSill;
+
+    /**
+     * 鐩戞祴鐐瑰悕
+     */
+    @TableField("locale_name")
+    @JsonProperty("LocaleName")
+    private String localeName;
+
+    /**
+     * 鐩戞祴鐐�
+     */
+    @TableField("locale_addr")
+    @JsonProperty("LocaleAddr")
+    private String localeAddr;
+
+    /**
+     * 寮傚父绂荤嚎
+     */
+    @TableField("abnormal_off_line")
+    @JsonProperty("AbnormalOffline")
+    private Boolean abnormalOffLine;
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsInTime.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsInTime.java
new file mode 100644
index 0000000..812a907
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsInTime.java
@@ -0,0 +1,247 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_in_time")
+public class OdsInTime implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 瀹炴椂鏁版嵁鐨勮澶囩紪鍙凤紙涓棿鏈夆��-鈥濊繛鎺ヤ唬琛ㄨ鐩戞祴鐐规湁澶氫釜璁惧缁戝畾锛�
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 閲囬泦鏃堕棿
+     */
+    @TableField("acquit_at")
+    @JsonProperty("AcquitAt")
+    private Long acquitAt;
+
+    /**
+     * 鏈�鍚庣‘璁ゆ椂闂�
+     */
+    @TableField("last_at")
+    @JsonProperty("LastAt")
+    private Long lastAt;
+
+    /**
+     * 鎺掓斁鐗╂姌绠楁祿搴�
+     */
+    @TableField("c_emissions")
+    @JsonProperty("CEmissions")
+    private String cEmissions;
+
+    /**
+     * 棰楃矑鐗╂姌绠楁祿搴�
+     */
+    @TableField("c_granule")
+    @JsonProperty("CGranule")
+    private String cGranule;
+
+    /**
+     * 闈炵敳鐑锋�荤儍鎶樼畻娴撳害
+     */
+    @TableField("c_hydrocarbon")
+    @JsonProperty("CHydrocarbon")
+    private BigDecimal cHydrocarbon;
+
+    /**
+     * 瀹炴椂鎺掓斁閲�
+     */
+    @TableField("emissions_conc")
+    @JsonProperty("EmissionsConc")
+    private BigDecimal emissionsConc;
+
+    /**
+     * 棰楃矑鐗╁惈閲�
+     */
+    @TableField("granule_conc")
+    @JsonProperty("GranuleConc")
+    private BigDecimal granuleConc;
+
+    /**
+     * 闈炵敳鐑锋�荤儍鍚噺
+     */
+    @TableField("hydrocarbon_conc")
+    @JsonProperty("HydrocarbonConc")
+    private BigDecimal hydrocarbonConc;
+
+    /**
+     * 椋庢満鐘舵�侊紙1:寮�2:鍏�3锛氬紓甯革級
+     */
+    @TableField("fan_status")
+    @JsonProperty("FanStatus")
+    private Integer fanStatus;
+
+    /**
+     * 鍑�鍖栧櫒鐘舵�侊紙1:寮�2:鍏�3锛氬紓甯革級
+     */
+    @TableField("filter_status")
+    @JsonProperty("FilterStatus")
+    private Integer filterStatus;
+
+    /**
+     * 绫诲瀷[1锛氱洃鎺�:2锛氱洃娴媇
+     */
+    @TableField("typ")
+    @JsonProperty("Typ")
+    private Integer typ;
+
+    /**
+     * 鐘舵��
+            锛圢ORMAL姝e父銆丄LARM棰勮銆丒XCESS瓒呮爣銆丏OWN绂荤嚎銆丱FF寮傚父绂荤嚎锛�
+            
+     */
+    @TableField("status")
+    @JsonProperty("Status")
+    private String status;
+
+    /**
+     * 娴侀��
+     */
+    @TableField("velocity")
+    @JsonProperty("Velocity")
+    private Double velocity;
+
+    /**
+     * 娓╁害
+     */
+    @TableField("temperature")
+    @JsonProperty("Temperature")
+    private Double temperature;
+
+    /**
+     * 婀垮害
+     */
+    @TableField("moisture")
+    @JsonProperty("Moisture")
+    private Double moisture;
+
+    /**
+     * 鐩戞祴鐐瑰悕绉�
+     */
+    @TableField("locale")
+    @JsonProperty("Locale")
+    private String locale;
+
+    /**
+     * 鐩戞祴鐐笽D
+     */
+    @TableField("lid")
+    @JsonProperty("Lid")
+    private String lid;
+
+    /**
+     * 鎵�灞炲崟浣�
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 瀹夎鍦板潃
+     */
+    @TableField("addr")
+    @JsonProperty("Addr")
+    private String addr;
+
+    /**
+     * 瓒呮爣闃堝��
+     */
+    @TableField("emissions_sill")
+    @JsonProperty("EmissionsSill")
+    private Double emissionsSill;
+
+    /**
+     * 棰楃矑鐗╄秴鏍囬槇鍊�
+     */
+    @TableField("granule_sill")
+    @JsonProperty("GranuleSill")
+    private Double granuleSill;
+
+    /**
+     * 闈炵敳鐑锋�荤儍瓒呮爣闃堝��
+     */
+    @TableField("hydrocarbon_sill")
+    @JsonProperty("HydrocarbonSill")
+    private Double hydrocarbonSill;
+
+    /**
+     * 鏄惁鑱斿姩(0:鍚�1:鏄�)
+     */
+    @TableField("link_status")
+    @JsonProperty("LinkStatus")
+    private Integer linkStatus;
+
+    /**
+     * 鑱旂郴鐢佃瘽
+     */
+    @TableField("customer_mobile")
+    @JsonProperty("CustomerMobile")
+    private String customerMobile;
+
+    /**
+     * 缁忓害
+     */
+    @TableField("locale_lng")
+    @JsonProperty("LocaleLng")
+    private String localeLng;
+
+    /**
+     * 绾害
+     */
+    @TableField("localelat")
+    @JsonProperty("LocaleLat")
+    private String localelat;
+
+    /**
+     * 椋庢満鐢垫祦鍊�
+     */
+    @TableField("fan_current")
+    @JsonProperty("fan_current")
+    private Double fanCurrent;
+
+    /**
+     * 鍑�鍖栧櫒鐢垫祦鍊�
+     */
+    @TableField("pur_current")
+    @JsonProperty("pur_current")
+    private Double purCurrent;
+
+    /**
+     * 鏁翠綋鐘舵�侊紙1:鍦ㄧ嚎2:绂荤嚎3:寮傚父绂荤嚎锛�
+     */
+    @TableField("online_status")
+    @JsonProperty("OnlineStatus")
+    private Integer onlineStatus;
+
+    /**
+     * 锛圢ORMAL:姝e父銆丱FFLINE:涓嬬嚎銆丄BANDONED:搴熷純锛�
+     */
+    @TableField("status_of_record")
+    @JsonProperty("StatusOfRecord")
+    private String statusOfRecord;
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocale.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocale.java
new file mode 100644
index 0000000..23793b5
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocale.java
@@ -0,0 +1,433 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_locale")
+public class OdsLocale implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * Id
+     */
+    @TableId("id")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 鐑熼亾鍚嶇О
+     */
+    @TableField("n_name")
+    @JsonProperty("Name")
+    private String nName;
+
+    /**
+     * 鍗曚綅[绾ц仈]
+     */
+    @TableField("owner")
+    @JsonProperty("Owner")
+    private String owner;
+
+    /**
+     * 鑿滅郴
+     */
+    @TableField("cuisine")
+    @JsonProperty("Cuisine")
+    private Integer cuisine;
+
+    /**
+     * 缁勭粐ID
+     */
+    @TableField("customer_id")
+    @JsonProperty("CustomerId")
+    private String customerId;
+
+    /**
+     * 椋庨��
+     */
+    @TableField("fan_speed")
+    @JsonProperty("FanSpeed")
+    private BigDecimal fanSpeed;
+
+    /**
+     * 椋庨噺
+     */
+    @TableField("fan_quantity")
+    @JsonProperty("FanQuantity")
+    private BigDecimal fanQuantity;
+
+    /**
+     * 绠¢亾鎴潰闈㈢Н
+     */
+    @TableField("pipe_area")
+    @JsonProperty("PipeArea")
+    private BigDecimal pipeArea;
+
+    /**
+     * 鐏跺ご鏁伴噺
+     */
+    @TableField("stove_num")
+    @JsonProperty("StoveNum")
+    private Integer stoveNum;
+
+    /**
+     * 绂荤嚎鍒ゅ畾[灏忔椂]
+     */
+    @TableField("offline_judge")
+    @JsonProperty("OfflineJudge")
+    private Integer offlineJudge;
+
+    /**
+     * 椋庢満鐘舵��
+     */
+    @TableField("fan_status")
+    @JsonProperty("FanStatus")
+    private Integer fanStatus;
+
+    /**
+     * 鍑�鍖栧櫒淇℃伅
+     */
+    @TableField("filter_info")
+    @JsonProperty("FilterInfo")
+    private String filterInfo;
+
+    /**
+     * 鍑�鍖栧櫒鐘舵��
+     */
+    @TableField("filter_status")
+    @JsonProperty("FilterStatus")
+    private Integer filterStatus;
+
+    /**
+     * 鎶芥牱娆℃暟
+     */
+    @TableField("samplings")
+    @JsonProperty("Samplings")
+    private Integer samplings;
+
+    /**
+     * 鏄惁鑱斿姩
+     */
+    @TableField("link_status")
+    @JsonProperty("LinkStatus")
+    private Boolean linkStatus;
+
+    /**
+     * 瓒呮爣闃堝��
+     */
+    @TableField("emissions_sill")
+    @JsonProperty("EmissionsSill")
+    private BigDecimal emissionsSill;
+
+    /**
+     * 闆嗘皵鐏堕潰绉痆璋冪爺]
+     */
+    @TableField("stove_area")
+    @JsonProperty("StoveArea")
+    private BigDecimal stoveArea;
+
+    /**
+     * 鏃ュ潎鎺掔儫鏃堕棿[璋冪爺]
+     */
+    @TableField("exhaust_time")
+    @JsonProperty("ExhaustTime")
+    private String exhaustTime;
+
+    /**
+     * 澶囨敞[璋冪爺]
+     */
+    @TableField("remark")
+    @JsonProperty("Remark")
+    private String remark;
+
+    /**
+     * 鍦板潃
+     */
+    @TableField("addr")
+    @JsonProperty("Addr")
+    private String addr;
+
+    /**
+     * 鍦板尯[绾ц仈]
+     */
+    @TableField("area_id")
+    @JsonProperty("AreaId")
+    private String areaId;
+
+    /**
+     * 缁忓害
+     */
+    @TableField("lng")
+    @JsonProperty("Lng")
+    private String lng;
+
+    /**
+     * 绾害
+     */
+    @TableField("lat")
+    @JsonProperty("Lat")
+    private String lat;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField("creator")
+    @JsonProperty("Creator")
+    private String creator;
+
+    /**
+     * 鍒涘缓鏃ユ湡
+     */
+    @TableField("create_at")
+    @JsonProperty("CreateAt")
+    private String createAt;
+
+    /**
+     * 鐘舵�乕1:涓�鑸洃娴嬬偣,2:鐗规畩鐩戞祴鐐�,99:搴熷純鐩戞祴鐐筣
+     */
+    @TableField("status")
+    @JsonProperty("Status")
+    private Integer status;
+
+    /**
+     * 棰楃矑鐗╁惈閲忚秴鏍囬槇鍊�
+     */
+    @TableField("granule_sill")
+    @JsonProperty("GranuleSill")
+    private BigDecimal granuleSill;
+
+    /**
+     * 闈炵敳鐑锋�荤儍瓒呮爣闃堝��
+     */
+    @TableField("hydrocarbon_sill")
+    @JsonProperty("HydrocarbonSill")
+    private BigDecimal hydrocarbonSill;
+
+    /**
+     * 鍋ュ悍鐮侀鑹�
+     */
+    @TableField("health_code_color")
+    @JsonProperty("HealthCodeColor")
+    private String healthCodeColor;
+
+    /**
+     * 鏈�鍚庣粦瀹氳澶噈n
+     */
+    @TableField("mn_last")
+    @JsonProperty("MnLast")
+    private String mnLast;
+
+    /**
+     * 鐩戞祴鐐瑰浘鐗�
+     */
+    @TableField("locale_pics")
+    @JsonProperty("LocalePics")
+    private String localePics;
+
+    /**
+     * 璁惧绫诲瀷 鏈�鍚庝竴娆$粦瀹�
+     */
+    @TableField("mn_typ_last")
+    @JsonProperty("MnTypLast")
+    private Integer mnTypLast;
+
+    /**
+     * 椋庢満淇℃伅
+     */
+    @TableField("fan_info")
+    @JsonProperty("FanInfo")
+    private String fanInfo;
+
+    /**
+     * 鍙栫數鏂瑰紡
+     */
+    @TableField("power_supply_mode")
+    @JsonProperty("PowerSupplyMode")
+    private String powerSupplyMode;
+
+    /**
+     * 鍑�鍖栧櫒椋庢満鑱斿姩姣旈槇鍊�
+     */
+    @TableField("link_ratio_sill")
+    @JsonProperty("LinkRatioSill")
+    private BigDecimal linkRatioSill;
+
+    /**
+     * 杩愮淮浜哄憳ID
+     */
+    @TableField("maintainer_id")
+    @JsonProperty("MaintainerId")
+    private String maintainerId;
+
+    /**
+     * 缁跨爜锛氭渶杩慩澶╁唴锛岃搴楀瓒呮爣娆℃暟灏忕瓑浜嶸alue1锛堥粯璁�3锛夋鐨勶紝涓斿噣鍖栧櫒涓嶆甯镐娇鐢ㄥぉ鏁板皬绛変簬Value2锛堥粯璁�3锛夊ぉ鐨勶紝涓旂绾垮ぉ鏁皗闈炴瓏涓氥�侀潪鐩戞祴浠晠闅溿�愭暟鎹潵婧愯繍缁翠汉鍛樺~鍐欑殑鈥濆紓甯稿鐞嗏�溿�憓灏忕瓑浜嶸alue3锛堥粯璁�3锛夈��
+     */
+    @TableField("health_code_x")
+    @JsonProperty("HealthCodeX")
+    private Integer healthCodeX;
+
+    @TableField("health_code_value1")
+    @JsonProperty("HealthCodeValue1")
+    private Integer healthCodeValue1;
+
+    @TableField("health_code_value2")
+    @JsonProperty("HealthCodeValue2")
+    private Integer healthCodeValue2;
+
+    @TableField("health_code_value3")
+    @JsonProperty("HealthCodeValue3")
+    private Integer healthCodeValue3;
+
+    /**
+     * 绾㈢爜锛氭渶杩慩澶╁唴锛岃搴楀瓒呮爣娆℃暟澶т簬Value4锛堥粯璁�5锛夋鐨勶紝鎴栬�呭噣鍖栧櫒涓嶆甯镐娇鐢ㄥぉ鏁板ぇ浜嶸alue5锛堥粯璁�5锛夊ぉ鐨勶紝涓旂绾垮ぉ鏁板皬浜嶸alue6锛堥粯璁�5锛夈��
+     */
+    @TableField("health_code_value4")
+    @JsonProperty("HealthCodeValue4")
+    private Integer healthCodeValue4;
+
+    @TableField("health_code_value5")
+    @JsonProperty("HealthCodeValue5")
+    private Integer healthCodeValue5;
+
+    @TableField("health_code_value6")
+    @JsonProperty("HealthCodeValue6")
+    private Integer healthCodeValue6;
+
+    /**
+     * 0~24鐐归棿娌圭儫娴撳害锛堥绮掔墿銆侀潪鐢茬兎鎬荤儍锛変笁涓�间腑鐨勪竴椤瑰�间竴鐩村皬浜嶸alue7(榛樿0.05锛塵g/M3鐨勶紝瑙嗕负鏁版嵁寮傚父鍋忓皬锛�
+     */
+    @TableField("abnormal_value7")
+    @JsonProperty("AbnormalValue7")
+    private BigDecimal abnormalValue7;
+
+    /**
+     * 0~24鐐归棿娌圭儫娴撳害锛堥绮掔墿銆侀潪鐢茬兎鎬荤儍锛変笁涓�间腑鐨勪竴椤瑰�间竴鐩村ぇ浜嶸alue8(榛樿30锛塵g/M3鐨勶紝瑙嗕负鏁版嵁寮傚父鍋忓ぇ锛�
+     */
+    @TableField("abnormal_value8")
+    @JsonProperty("AbnormalValue8")
+    private BigDecimal abnormalValue8;
+
+    /**
+     * 0~24鐐归棿娌圭儫娴撳害锛堥绮掔墿銆侀潪鐢茬兎鎬荤儍锛変笁涓�间腑鐨勪竴椤瑰�间竴鐩撮潪Value9(榛樿0锛塵g/M3鐨勶紝瑙嗕负鏁版嵁婕傜Щ寮傚父
+     */
+    @TableField("abnormal_value9")
+    @JsonProperty("AbnormalValue9")
+    private BigDecimal abnormalValue9;
+
+    /**
+     * 0~24鐐归棿涓婄嚎鏃堕棿灏忎簬Value10(榛樿60锛夊垎閽熺殑锛岃涓轰笂绾挎椂闂磋繃鐭紓甯革紱
+     */
+    @TableField("abnormal_value10")
+    @JsonProperty("AbnormalValue10")
+    private BigDecimal abnormalValue10;
+
+    /**
+     * Ali璁惧鍚嶇О
+     */
+    @TableField("ali_iot_device_name")
+    @JsonProperty("AliIotDeviceName")
+    private String aliIotDeviceName;
+
+    /**
+     * Ali璁惧
+     */
+    @TableField("ali_iot")
+    @JsonProperty("AliIot")
+    private String aliIot;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField("created_at")
+    @JsonProperty("CreatedAt")
+    private String createdAt;
+
+    /**
+     * 鏇存柊鏃堕棿
+     */
+    @TableField("updated_at")
+    @JsonProperty("UpdatedAt")
+    private String updatedAt;
+
+    @TableField("health_code_value11")
+    @JsonProperty("HealthCodeValue11")
+    private Integer healthCodeValue11;
+
+    @TableField("health_code_value12")
+    @JsonProperty("HealthCodeValue12")
+    private Integer healthCodeValue12;
+
+    /**
+     * 鐩戞祴鏂瑰紡銆�1:鍚堝苟浼犺緭 2:鐙珛浼犺緭銆�
+     */
+    @TableField("send_mode")
+    @JsonProperty("SendMode")
+    private Integer sendMode;
+
+    /**
+     * 瓒呮爣璁$畻鏂瑰紡銆�1锛氭娊鏍疯绠� 2锛氭粦鍔ㄨ绠椼��
+     */
+    @TableField("surpass_calc_method")
+    @JsonProperty("SurpassCalcMethod")
+    private Integer surpassCalcMethod;
+
+    /**
+     * 椋庢満姝e父鐢垫祦鍊�
+     */
+    @TableField("fan_standard_current")
+    @JsonProperty("FanStandardCurrent")
+    private Integer fanStandardCurrent;
+
+    /**
+     * 鍑�鍖栧櫒姝e父鐢垫祦鍊�
+     */
+    @TableField("filter_standard_current")
+    @JsonProperty("FilterStandardCurrent")
+    private Integer filterStandardCurrent;
+
+    /**
+     * 璁惧鐘舵�乕姝e父NORMAL銆佷笅绾縊FFLINE銆佸簾寮傾BANDON]
+     */
+    @TableField("status_of_record")
+    @JsonProperty("StatusOfRecord")
+    private String statusOfRecord;
+
+    /**
+     * 瀹℃牳澶囨敞
+     */
+    @TableField("remark_of_record")
+    @JsonProperty("RemarkOfRecord")
+    private String remarkOfRecord;
+
+    /**
+     * 瀹℃牳鍘熷洜
+     */
+    @TableField("cause")
+    @JsonProperty("Cause")
+    private String cause;
+
+    @TableField("customer")
+    private String customerString;
+
+    @JsonProperty("Customer")
+    @TableField(exist = false)
+    private OdsLocaleCustomer customer;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleCustomer.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleCustomer.java
new file mode 100644
index 0000000..9b5dafc
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsLocaleCustomer.java
@@ -0,0 +1,57 @@
+package com.ycl.entity.smoke;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OdsLocaleCustomer {
+
+    @JsonProperty("Id")
+    private int id;
+    @JsonProperty("Pid")
+    private String pid;
+    @JsonProperty("BlNo")
+    private String blNo;
+    @JsonProperty("BlName")
+    private String blName;
+    @JsonProperty("Org")
+    private String org;
+    @JsonProperty("Name")
+    private String name;
+    @JsonProperty("Contact")
+    private String contact;
+    @JsonProperty("Mobile")
+    private String mobile;
+    @JsonProperty("Telephone")
+    private String telephone;
+    @JsonProperty("Typ")
+    private int typ;
+    @JsonProperty("Creator")
+    private String creator;
+    @JsonProperty("CreateAt")
+    private long createAt;
+    @JsonProperty("Status")
+    private int status;
+    @JsonProperty("Address")
+    private String address;
+    @JsonProperty("Logo")
+    private String logo;
+    @JsonProperty("BusinessHour")
+    private String businessHour;
+    @JsonProperty("Desc")
+    private String desc;
+    @JsonProperty("MaintainerId")
+    private String maintainerId;
+    @JsonProperty("AreaIds")
+    private String areaIds;
+    @JsonProperty("AreaIdCascades")
+    private String areaIdCascades;
+    @JsonProperty("Areas")
+    private String areas;
+    @JsonProperty("PerPage")
+    private int perPage;
+    @JsonProperty("Page")
+    private int page;
+}
diff --git a/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsTenMinData.java b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsTenMinData.java
new file mode 100644
index 0000000..eace7db
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/entity/smoke/OdsTenMinData.java
@@ -0,0 +1,106 @@
+package com.ycl.entity.smoke;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("ums_ods_ten_min_data")
+public class OdsTenMinData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鏁版嵁id
+     */
+    @TableId("id")
+    @JsonProperty("id")
+    private String id;
+
+    /**
+     * 璁惧缂栧彿
+     */
+    @TableField("mn")
+    @JsonProperty("mn")
+    private String mn;
+
+    /**
+     * 璁惧閲囬泦鏃堕棿鎴�/600
+     */
+    @TableField("acquit_at")
+    @JsonProperty("acquit_at")
+    private Long acquitAt;
+
+    /**
+     * 璁惧鍗佸垎閽熷唴鍙戦�佹暟鎹殑娆℃暟
+     */
+    @TableField("counter")
+    @JsonProperty("counter")
+    private Integer counter;
+
+    /**
+     * 鍒涘缓鏃堕棿鐨勬椂闂存埑
+     */
+    @TableField("create_at")
+    @JsonProperty("create_at")
+    private Long createAt;
+
+    /**
+     * 瀹炴椂鎺掓斁閲�,杩欎釜鏄�10鍒嗛挓鍐呯殑绱Н閲�
+     */
+    @TableField("emissions_conc")
+    @JsonProperty("emissions_conc")
+    private Double emissionsConc;
+
+    /**
+     * 棰楃矑鐗╁惈閲�
+     */
+    @TableField("granule_conc")
+    @JsonProperty("granule_conc")
+    private Double granuleConc;
+
+    /**
+     * 闈炵敳鐑锋�荤儍
+     */
+    @TableField("hydrocarbon_conc")
+    @JsonProperty("hydrocarbon_conc")
+    private Double hydrocarbonConc;
+
+    /**
+     * 娴侀��
+     */
+    @TableField("velocity")
+    @JsonProperty("velocity")
+    private BigDecimal velocity;
+
+    /**
+     * 娓╁害
+     */
+    @TableField("temperature")
+    @JsonProperty("temperature")
+    private BigDecimal temperature;
+
+    /**
+     * 婀垮害
+     */
+    @TableField("moisture")
+    @JsonProperty("moisture")
+    private BigDecimal moisture;
+
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmMsgMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmMsgMapper.java
new file mode 100644
index 0000000..c744ff2
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmMsgMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsAlarmMsg;
+
+/**
+ * <p>
+ * 鎶ヨ娑堟伅 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsAlarmMsgMapper extends BaseMapper<OdsAlarmMsg> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmRecordMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmRecordMapper.java
new file mode 100644
index 0000000..84e74ea
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsAlarmRecordMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsAlarmRecord;
+
+/**
+ * <p>
+ * 鎶ヨ璁板綍 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsAlarmRecordMapper extends BaseMapper<OdsAlarmRecord> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCurAlarmMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCurAlarmMapper.java
new file mode 100644
index 0000000..f64c7eb
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCurAlarmMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsCurAlarm;
+
+/**
+ * <p>
+ * 鐩戞祴鐐圭粺璁�&鍋ュ悍鐮佺鐞� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsCurAlarmMapper extends BaseMapper<OdsCurAlarm> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCustomerMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCustomerMapper.java
new file mode 100644
index 0000000..310795f
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsCustomerMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsCustomer;
+
+/**
+ * <p>
+ * 缁勭粐鏋舵瀯 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsCustomerMapper extends BaseMapper<OdsCustomer> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsDetectorDailyMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsDetectorDailyMapper.java
new file mode 100644
index 0000000..8c545f9
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsDetectorDailyMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsDetectorDaily;
+
+/**
+ * <p>
+ * 鐩戞祴 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsDetectorDailyMapper extends BaseMapper<OdsDetectorDaily> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java
new file mode 100644
index 0000000..769fc11
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsInTimeMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsInTime;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsInTimeMapper extends BaseMapper<OdsInTime> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleMapper.java
new file mode 100644
index 0000000..a67a81e
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsLocaleMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsLocale;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsLocaleMapper extends BaseMapper<OdsLocale> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsTenMinDataMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsTenMinDataMapper.java
new file mode 100644
index 0000000..33d3bcf
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/mapper/smoke/OdsTenMinDataMapper.java
@@ -0,0 +1,16 @@
+package com.ycl.mapper.smoke;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.entity.smoke.OdsTenMinData;
+
+/**
+ * <p>
+ *  Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface OdsTenMinDataMapper extends BaseMapper<OdsTenMinData> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java
new file mode 100644
index 0000000..013b82a
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmMsgService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsAlarmMsg;
+
+/**
+ * <p>
+ * 鎶ヨ娑堟伅 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsAlarmMsgService extends IService<OdsAlarmMsg> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmRecordService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmRecordService.java
new file mode 100644
index 0000000..ea2356a
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsAlarmRecordService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsAlarmRecord;
+
+/**
+ * <p>
+ * 鎶ヨ璁板綍 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsAlarmRecordService extends IService<OdsAlarmRecord> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCurAlarmService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCurAlarmService.java
new file mode 100644
index 0000000..120beef
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCurAlarmService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsCurAlarm;
+
+/**
+ * <p>
+ * 鐩戞祴鐐圭粺璁�&鍋ュ悍鐮佺鐞� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsCurAlarmService extends IService<OdsCurAlarm> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCustomerService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCustomerService.java
new file mode 100644
index 0000000..0ac3ec0
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsCustomerService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsCustomer;
+
+/**
+ * <p>
+ * 缁勭粐鏋舵瀯 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsCustomerService extends IService<OdsCustomer> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsDetectorDailyService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsDetectorDailyService.java
new file mode 100644
index 0000000..9beefe3
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsDetectorDailyService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsDetectorDaily;
+
+/**
+ * <p>
+ * 鐩戞祴 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsDetectorDailyService extends IService<OdsDetectorDaily> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java
new file mode 100644
index 0000000..0752322
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsInTimeService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsInTime;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsInTimeService extends IService<OdsInTime> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleService.java
new file mode 100644
index 0000000..d99fba2
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsLocaleService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsLocale;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsLocaleService extends IService<OdsLocale> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsTenMinDataService.java b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsTenMinDataService.java
new file mode 100644
index 0000000..a9beeac
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/IOdsTenMinDataService.java
@@ -0,0 +1,16 @@
+package com.ycl.service.smoke;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.entity.smoke.OdsTenMinData;
+
+/**
+ * <p>
+ *  鏈嶅姟绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+public interface IOdsTenMinDataService extends IService<OdsTenMinData> {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java
new file mode 100644
index 0000000..16da8f8
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmMsgServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsAlarmMsg;
+import com.ycl.mapper.smoke.OdsAlarmMsgMapper;
+import com.ycl.service.smoke.IOdsAlarmMsgService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鎶ヨ娑堟伅 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsAlarmMsgServiceImpl extends ServiceImpl<OdsAlarmMsgMapper, OdsAlarmMsg> implements IOdsAlarmMsgService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmRecordServiceImpl.java
new file mode 100644
index 0000000..b7a238d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsAlarmRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsAlarmRecord;
+import com.ycl.mapper.smoke.OdsAlarmRecordMapper;
+import com.ycl.service.smoke.IOdsAlarmRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鎶ヨ璁板綍 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsAlarmRecordServiceImpl extends ServiceImpl<OdsAlarmRecordMapper, OdsAlarmRecord> implements IOdsAlarmRecordService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCurAlarmServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCurAlarmServiceImpl.java
new file mode 100644
index 0000000..f182d36
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCurAlarmServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsCurAlarm;
+import com.ycl.mapper.smoke.OdsCurAlarmMapper;
+import com.ycl.service.smoke.IOdsCurAlarmService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鐩戞祴鐐圭粺璁�&鍋ュ悍鐮佺鐞� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsCurAlarmServiceImpl extends ServiceImpl<OdsCurAlarmMapper, OdsCurAlarm> implements IOdsCurAlarmService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCustomerServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCustomerServiceImpl.java
new file mode 100644
index 0000000..131b768
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsCustomerServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsCustomer;
+import com.ycl.mapper.smoke.OdsCustomerMapper;
+import com.ycl.service.smoke.IOdsCustomerService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 缁勭粐鏋舵瀯 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsCustomerServiceImpl extends ServiceImpl<OdsCustomerMapper, OdsCustomer> implements IOdsCustomerService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsDetectorDailyServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsDetectorDailyServiceImpl.java
new file mode 100644
index 0000000..13a921b
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsDetectorDailyServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsDetectorDaily;
+import com.ycl.mapper.smoke.OdsDetectorDailyMapper;
+import com.ycl.service.smoke.IOdsDetectorDailyService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鐩戞祴 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsDetectorDailyServiceImpl extends ServiceImpl<OdsDetectorDailyMapper, OdsDetectorDaily> implements IOdsDetectorDailyService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
new file mode 100644
index 0000000..d83e11f
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsInTimeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsInTime;
+import com.ycl.mapper.smoke.OdsInTimeMapper;
+import com.ycl.service.smoke.IOdsInTimeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 杩斿洖瀹炴椂鐨勮澶囨暟鎹� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsInTimeServiceImpl extends ServiceImpl<OdsInTimeMapper, OdsInTime> implements IOdsInTimeService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleServiceImpl.java
new file mode 100644
index 0000000..b70e6b6
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsLocaleServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsLocale;
+import com.ycl.mapper.smoke.OdsLocaleMapper;
+import com.ycl.service.smoke.IOdsLocaleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 鐩戞祴鐐逛俊鎭� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsLocaleServiceImpl extends ServiceImpl<OdsLocaleMapper, OdsLocale> implements IOdsLocaleService {
+
+}
diff --git a/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsTenMinDataServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsTenMinDataServiceImpl.java
new file mode 100644
index 0000000..5d04ac5
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/service/smoke/impl/OdsTenMinDataServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ycl.service.smoke.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.entity.smoke.OdsTenMinData;
+import com.ycl.mapper.smoke.OdsTenMinDataMapper;
+import com.ycl.service.smoke.IOdsTenMinDataService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author lyq
+ * @since 2023-02-28
+ */
+@Service
+public class OdsTenMinDataServiceImpl extends ServiceImpl<OdsTenMinDataMapper, OdsTenMinData> implements IOdsTenMinDataService {
+
+}
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmMsgMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmMsgMapper.xml
new file mode 100644
index 0000000..73af30b
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmMsgMapper.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.OdsAlarmMsgMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsAlarmMsg">
+        <id column="id" property="id" />
+        <result column="mn" property="mn" />
+        <result column="acquit_at" property="acquitAt" />
+        <result column="owner" property="owner" />
+        <result column="content" property="content" />
+        <result column="msg_type" property="msgType" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, mn, acquit_at, owner, content, msg_type
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmRecordMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmRecordMapper.xml
new file mode 100644
index 0000000..01a3323
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsAlarmRecordMapper.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsAlarmRecordMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsAlarmRecord">
+        <id column="id" property="id" />
+        <result column="local_id" property="localId" />
+        <result column="mn" property="mn" />
+        <result column="typ" property="typ" />
+        <result column="alarm_date" property="alarmDate" />
+        <result column="device_type" property="deviceType" />
+        <result column="acquit_at" property="acquitAt" />
+        <result column="process_at" property="processAt" />
+        <result column="owner" property="owner" />
+        <result column="solution" property="solution" />
+        <result column="processing_address" property="processingAddress" />
+        <result column="addr" property="addr" />
+        <result column="process_user_id" property="processUserId" />
+        <result column="process_user_name" property="processUserName" />
+        <result column="process_reason" property="processReason" />
+        <result column="created_at" property="createdAt" />
+        <result column="update_at" property="updateAt" />
+        <result column="total" property="total" />
+        <result column="alarm_record_pics" property="alarmRecordPicsString" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, local_id, mn, typ, alarm_date, device_type, acquit_at, process_at, owner, solution, processing_address, addr, process_user_id, process_user_name, process_reason, created_at, update_at, total, alarm_record_pics
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsCurAlarmMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsCurAlarmMapper.xml
new file mode 100644
index 0000000..395a654
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsCurAlarmMapper.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsCurAlarmMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsCurAlarm">
+        <id column="id" property="id" />
+        <result column="abnormal_off_line_days" property="abnormalOffLineDays" />
+        <result column="abnormal_off_line_process_ratio" property="abnormalOffLineProcessRatio" />
+        <result column="abnormal_off_line_to_process_days" property="abnormalOffLineToProcessDays" />
+        <result column="addr" property="addr" />
+        <result column="c_emissions" property="cEmissions" />
+        <result column="c_emissions_avg_online" property="cEmissionsAvgOnline" />
+        <result column="c_emissions_max" property="cEmissionsMax" />
+        <result column="c_emissions_max_date" property="cEmissionsMaxDate" />
+        <result column="c_granule" property="cGranule" />
+        <result column="c_hydrocarbon" property="cHydrocarbon" />
+        <result column="cuisine_name" property="cuisineName" />
+        <result column="customer_bl_no" property="customerBlNo" />
+        <result column="customer_contact" property="customerContact" />
+        <result column="customer_mobile" property="customerMobile" />
+        <result column="customer_name" property="customerName" />
+        <result column="detector_failure_days" property="detectorFailureDays" />
+        <result column="emissions_sill" property="emissionsSill" />
+        <result column="excess_num" property="excessNum" />
+        <result column="excess_to_process_days" property="excessToProcessDays" />
+        <result column="filter_abnormally_used_days" property="filterAbnormallyUsedDays" />
+        <result column="filter_wash_times" property="filterWashTimes" />
+        <result column="granuli_sill" property="granuliSill" />
+        <result column="health_code_color" property="healthCodeColor" />
+        <result column="hydrocarbon_sill" property="hydrocarbonSill" />
+        <result column="locale_id" property="localeId" />
+        <result column="local_lat" property="localLat" />
+        <result column="local_lng" property="localLng" />
+        <result column="mn" property="mn" />
+        <result column="name" property="name" />
+        <result column="off_line_cause_by_shop_days" property="offLineCauseByShopDays" />
+        <result column="owner" property="owner" />
+        <result column="shop_close_days" property="shopCloseDays" />
+        <result column="status" property="status" />
+        <result column="status_desc" property="statusDesc" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, abnormal_off_line_days, abnormal_off_line_process_ratio, abnormal_off_line_to_process_days, addr, c_emissions, c_emissions_avg_online, c_emissions_max, c_emissions_max_date, c_granule, c_hydrocarbon, cuisine_name, customer_bl_no, customer_contact, customer_mobile, customer_name, detector_failure_days, emissions_sill, excess_num, excess_to_process_days, filter_abnormally_used_days, filter_wash_times, granuli_sill, health_code_color, hydrocarbon_sill, locale_id, local_lat, local_lng, mn, name, off_line_cause_by_shop_days, owner, shop_close_days, status, status_desc
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsCustomerMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsCustomerMapper.xml
new file mode 100644
index 0000000..ad08464
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsCustomerMapper.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsCustomerMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsCustomer">
+        <id column="id" property="id" />
+        <result column="pid" property="pid" />
+        <result column="bl_no" property="blNo" />
+        <result column="bl_name" property="blName" />
+        <result column="org" property="org" />
+        <result column="name" property="name" />
+        <result column="contact" property="contact" />
+        <result column="mobile" property="mobile" />
+        <result column="telephone" property="telephone" />
+        <result column="typ" property="typ" />
+        <result column="creator" property="creator" />
+        <result column="create_at" property="createAt" />
+        <result column="status" property="status" />
+        <result column="address" property="address" />
+        <result column="logo" property="logo" />
+        <result column="business_hour" property="businessHour" />
+        <result column="maintainer_id" property="maintainerId" />
+        <result column="area_ids" property="areaIdsString" />
+        <result column="area_id_cascads" property="areaIdCascadsString" />
+        <result column="areas" property="areasString" />
+        <result column="desc1" property="desc" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, pid, bl_no, bl_name, org, name, contact, mobile, telephone, typ, creator, create_at, status, address, logo, business_hour, maintainer_id, area_ids, area_id_cascads, areas, desc1
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsDetectorDailyMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsDetectorDailyMapper.xml
new file mode 100644
index 0000000..1939d86
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsDetectorDailyMapper.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsDetectorDailyMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsDetectorDaily">
+        <id column="id" property="id" />
+        <result column="mn" property="mn" />
+        <result column="owner" property="owner" />
+        <result column="acquit_at" property="acquitAt" />
+        <result column="acquit_date" property="acquitDate" />
+        <result column="create_at" property="createAt" />
+        <result column="c_emissions" property="cEmissions" />
+        <result column="c_granule" property="cGranule" />
+        <result column="c_hydrocarbon" property="cHydrocarbon" />
+        <result column="e_missions" property="eMissions" />
+        <result column="granule" property="granule" />
+        <result column="hydrocarbon" property="hydrocarbon" />
+        <result column="velocity" property="velocity" />
+        <result column="temperature" property="temperature" />
+        <result column="moisture" property="moisture" />
+        <result column="red_pm25" property="redPm25" />
+        <result column="red_pm10" property="redPm10" />
+        <result column="red_emissions" property="redEmissions" />
+        <result column="red_vocs" property="redVocs" />
+        <result column="device_num" property="deviceNum" />
+        <result column="status" property="status" />
+        <result column="filter_fan_link_ratio" property="filterFanLinkRatio" />
+        <result column="filter_abnormally_used" property="filterAbnormallyUsed" />
+        <result column="c_emissions_exceed_standard" property="cEmissionsExceedStandard" />
+        <result column="c_granule_exceed_standard" property="cGranuleExceedStandard" />
+        <result column="c_hydrocarbon_exceed_standard" property="cHydrocarbonExceedStandard" />
+        <result column="locale_id" property="localeId" />
+        <result column="customer_id" property="customerId" />
+        <result column="customer" property="customer" />
+        <result column="locale_emissions_sill" property="localeEmissionsSill" />
+        <result column="locale_granule_sill" property="localeGranuleSill" />
+        <result column="locale_hydrocarbon_sill" property="localeHydrocarbonSill" />
+        <result column="locale_name" property="localeName" />
+        <result column="locale_addr" property="localeAddr" />
+        <result column="abnormal_off_line" property="abnormalOffLine" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, mn, owner, acquit_at, acquit_date, create_at, c_emissions, c_granule, c_hydrocarbon, e_missions, granule, hydrocarbon, velocity, temperature, moisture, red_pm25, red_pm10, red_emissions, red_vocs, device_num, status, filter_fan_link_ratio, filter_abnormally_used, c_emissions_exceed_standard, c_granule_exceed_standard, c_hydrocarbon_exceed_standard, locale_id, customer_id, customer, locale_emissions_sill, locale_granule_sill, locale_hydrocarbon_sill, locale_name, locale_addr, abnormal_off_line
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml
new file mode 100644
index 0000000..191248e
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsInTimeMapper.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsInTimeMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsInTime">
+        <id column="id" property="id" />
+        <result column="string" property="string" />
+        <result column="acquit_at" property="acquitAt" />
+        <result column="last_at" property="lastAt" />
+        <result column="c_emissions" property="cEmissions" />
+        <result column="c_granule" property="cGranule" />
+        <result column="c_hydrocarbon" property="cHydrocarbon" />
+        <result column="emissions_conc" property="emissionsConc" />
+        <result column="granule_conc" property="granuleConc" />
+        <result column="hydrocarbon_conc" property="hydrocarbonConc" />
+        <result column="fan_status" property="fanStatus" />
+        <result column="filter_status" property="filterStatus" />
+        <result column="typ" property="typ" />
+        <result column="status" property="status" />
+        <result column="velocity" property="velocity" />
+        <result column="temperature" property="temperature" />
+        <result column="moisture" property="moisture" />
+        <result column="locale" property="locale" />
+        <result column="lid" property="lid" />
+        <result column="owner" property="owner" />
+        <result column="addr" property="addr" />
+        <result column="emissions_sill" property="emissionsSill" />
+        <result column="granule_sill" property="granuleSill" />
+        <result column="hydrocarbon_sill" property="hydrocarbonSill" />
+        <result column="link_status" property="linkStatus" />
+        <result column="customer_mobile" property="customerMobile" />
+        <result column="locale_lng" property="localeLng" />
+        <result column="localelat" property="localelat" />
+        <result column="fan_current" property="fanCurrent" />
+        <result column="pur_current" property="purCurrent" />
+        <result column="online_status" property="onlineStatus" />
+        <result column="status_of_record" property="statusOfRecord" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, string, acquit_at, last_at, c_emissions, c_granule, c_hydrocarbon, emissions_conc, granule_conc, hydrocarbon_conc, fan_status, filter_status, typ, status, velocity, temperature, moisture, locale, lid, owner, addr, emissions_sill, granule_sill, hydrocarbon_sill, link_status, customer_mobile, locale_lng, localelat, fan_current, pur_current, online_status, status_of_record
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleMapper.xml
new file mode 100644
index 0000000..c707ab0
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsLocaleMapper.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsLocaleMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsLocale">
+        <id column="id" property="id" />
+        <result column="n_name" property="nName" />
+        <result column="owner" property="owner" />
+        <result column="cuisine" property="cuisine" />
+        <result column="customer_id" property="customerId" />
+        <result column="fan_speed" property="fanSpeed" />
+        <result column="fan_quantity" property="fanQuantity" />
+        <result column="pipe_area" property="pipeArea" />
+        <result column="stove_num" property="stoveNum" />
+        <result column="offline_judge" property="offlineJudge" />
+        <result column="fan_status" property="fanStatus" />
+        <result column="filter_info" property="filterInfo" />
+        <result column="filter_status" property="filterStatus" />
+        <result column="samplings" property="samplings" />
+        <result column="link_status" property="linkStatus" />
+        <result column="emissions_sill" property="emissionsSill" />
+        <result column="stove_area" property="stoveArea" />
+        <result column="exhaust_time" property="exhaustTime" />
+        <result column="remark" property="remark" />
+        <result column="addr" property="addr" />
+        <result column="area_id" property="areaId" />
+        <result column="lng" property="lng" />
+        <result column="lat" property="lat" />
+        <result column="creator" property="creator" />
+        <result column="create_at" property="createAt" />
+        <result column="status" property="status" />
+        <result column="granule_sill" property="granuleSill" />
+        <result column="hydrocarbon_sill" property="hydrocarbonSill" />
+        <result column="health_code_color" property="healthCodeColor" />
+        <result column="mn_last" property="mnLast" />
+        <result column="locale_pics" property="localePics" />
+        <result column="mn_typ_last" property="mnTypLast" />
+        <result column="fan_info" property="fanInfo" />
+        <result column="power_supply_mode" property="powerSupplyMode" />
+        <result column="link_ratio_sill" property="linkRatioSill" />
+        <result column="maintainer_id" property="maintainerId" />
+        <result column="health_code_x" property="healthCodeX" />
+        <result column="health_code_value1" property="healthCodeValue1" />
+        <result column="health_code_value2" property="healthCodeValue2" />
+        <result column="health_code_value3" property="healthCodeValue3" />
+        <result column="health_code_value4" property="healthCodeValue4" />
+        <result column="health_code_value5" property="healthCodeValue5" />
+        <result column="health_code_value6" property="healthCodeValue6" />
+        <result column="abnormal_value7" property="abnormalValue7" />
+        <result column="abnormal_value78" property="abnormalValue8" />
+        <result column="abnormal_value79" property="abnormalValue9" />
+        <result column="abnormal_value710" property="abnormalValue10" />
+        <result column="ali_iot_device_name" property="aliIotDeviceName" />
+        <result column="aliIot" property="aliIot" />
+        <result column="created_at" property="createdAt" />
+        <result column="updated_at" property="updatedAt" />
+        <result column="health_code_value11" property="healthCodeValue11" />
+        <result column="health_code_value12" property="healthCodeValue12" />
+        <result column="send_mode" property="sendMode" />
+        <result column="surpass_calc_method" property="surpassCalcMethod" />
+        <result column="fan_standard_current" property="fanStandardCurrent" />
+        <result column="filter_standard_current" property="filterStandardCurrent" />
+        <result column="status_of_record" property="statusOfRecord" />
+        <result column="remark_of_record" property="remarkOfRecord" />
+        <result column="cause" property="cause" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, n_name, owner, cuisine, customer_id, customer, fan_speed, fan_quantity, pipe_area, stove_num, offline_judge, fan_status, filter_info, filter_status, samplings, link_status, emissions_sill, stove_area, exhaust_time, remark, addr, area_id, lng, lat, creator, create_at, status, granule_sill, hydrocarbon_sill, health_code_color, mn_last, locale_pics, mn_typ_last, fan_info, power_supply_mode, link_ratio_sill, maintainer_id, health_code_x, health_code_value1, health_code_value2, health_code_value3, health_code_value4, health_code_value5, health_code_valuee6, abnormal_value7, abnormal_value78, abnormal_value79, abnormal_value710, aliIot_device_name, aliIot, created_at, updated_at, health_code_value11, health_code_value12, send_mode, surpass_calc_method, fan_standardurrent, filter_standard_current, status_of_record, remark_of_record, cause
+    </sql>
+
+</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/smoke/OdsTenMinDataMapper.xml b/ycl-platform/src/main/resources/mapper/smoke/OdsTenMinDataMapper.xml
new file mode 100644
index 0000000..f38df91
--- /dev/null
+++ b/ycl-platform/src/main/resources/mapper/smoke/OdsTenMinDataMapper.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.mapper.smoke.OdsTenMinDataMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.entity.smoke.OdsTenMinData">
+        <id column="id" property="id" />
+        <result column="mn" property="mn" />
+        <result column="acquit_at" property="acquitAt" />
+        <result column="counter" property="counter" />
+        <result column="create_at" property="createAt" />
+        <result column="emissions_conc" property="emissionsConc" />
+        <result column="granule_conc" property="granuleConc" />
+        <result column="hydrocarbon_conc" property="hydrocarbonConc" />
+        <result column="velocity" property="velocity" />
+        <result column="temperature" property="temperature" />
+        <result column="moisture" property="moisture" />
+    </resultMap>
+
+    <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
+    <sql id="Base_Column_List">
+        id, mn, acquit_at, counter, create_at, emissions_conc, granule_conc, hydrocarbon_conc, velocity, temperature, moisture
+    </sql>
+
+</mapper>

--
Gitblit v1.8.0